From 93b9d0c00b87079f97e56a63a2e38a7ea5bac4d3 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Fri, 15 Dec 2017 15:40:51 +0800
Subject: [PATCH] updates

---
 _mock/profile.service.ts |  164 +++++++++++++
 /dev/null                |   11 
 _mock/rule.service.ts    |   66 +++++
 _mock/api.service.ts     |  260 +++++++++++++++++++++
 _mock/chart.service.ts   |  203 ++++++++++++++++
 5 files changed, 693 insertions(+), 11 deletions(-)

diff --git a/_mock/api.service.ts b/_mock/api.service.ts
new file mode 100644
index 0000000..10933a9
--- /dev/null
+++ b/_mock/api.service.ts
@@ -0,0 +1,260 @@
+const titles = [
+    'Alipay',
+    'Angular',
+    'Ant Design',
+    'Ant Design Pro',
+    'Bootstrap',
+    'React',
+    'Vue',
+    'Webpack'
+];
+
+const avatars = [
+    'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', // Alipay
+    'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', // Angular
+    'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', // Ant Design
+    'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', // Ant Design Pro
+    'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', // Bootstrap
+    'https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png', // React
+    'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', // Vue
+    'https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png'  // Webpack
+];
+const covers = [
+    'https://gw.alipayobjects.com/zos/rmsportal/HrxcVbrKnCJOZvtzSqjN.png',
+    'https://gw.alipayobjects.com/zos/rmsportal/alaPpKWajEbIYEUvvVNf.png',
+    'https://gw.alipayobjects.com/zos/rmsportal/RLwlKSYGSXGHuWSojyvp.png',
+    'https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png'
+];
+const desc = [
+    '������������������������������ ���������������������������������������',
+    '���������������������������������������������������������������������������',
+    '������������������������������������������������������',
+    '������������������������������������������������������������������',
+    '���������������������������������������������������������������������'
+];
+
+const user = [
+    '������',
+    'cipchk',
+    '���������',
+    '���������',
+    '���������',
+    '���������',
+    '���������',
+    '���������',
+    '������',
+    '������',
+    '���������',
+    '������'
+];
+
+export function getFakeList(count: number = 20): any[] {
+    const list = [];
+    for (let i = 0; i < count; i += 1) {
+        list.push({
+        id: `fake-list-${i}`,
+        owner: user[i % 10],
+        title: titles[i % 8],
+        avatar: avatars[i % 8],
+        cover: parseInt((i / 4).toString(), 10) % 2 === 0 ? covers[i % 4] : covers[3 - (i % 4)],
+        status: ['active', 'exception', 'normal'][i % 3],
+        percent: Math.ceil(Math.random() * 50) + 50,
+        logo: avatars[i % 8],
+        href: 'https://ant.design',
+        updatedAt: new Date(new Date().getTime() - (1000 * 60 * 60 * 2 * i)),
+        createdAt: new Date(new Date().getTime() - (1000 * 60 * 60 * 2 * i)),
+        subDescription: desc[i % 5],
+        description: '���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������',
+        activeUser: Math.ceil(Math.random() * 100000) + 100000,
+        newUser: Math.ceil(Math.random() * 1000) + 1000,
+        star: Math.ceil(Math.random() * 100) + 100,
+        like: Math.ceil(Math.random() * 100) + 100,
+        message: Math.ceil(Math.random() * 10) + 10,
+        content: '��������������������������������������� ant.design��������������������������������������������������������������������������������������������������������������������������������������� ant.design���������������������������������������������������������������������������������������������������������������',
+        members: [
+                {
+                    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png',
+                    name: '���������',
+                },
+                {
+                    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png',
+                    name: '���������',
+                },
+                {
+                    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png',
+                    name: '���������',
+                },
+            ]
+        });
+    }
+
+    return list;
+}
+
+export function getNotice(): any[] {
+    return [
+        {
+          id: 'xxx1',
+          title: titles[0],
+          logo: avatars[0],
+          description: '������������������������������ ���������������������������������������',
+          updatedAt: new Date(),
+          member: '���������������',
+          href: '',
+          memberLink: '',
+        },
+        {
+          id: 'xxx2',
+          title: titles[1],
+          logo: avatars[1],
+          description: '���������������������������������������������������������������������������',
+          updatedAt: new Date('2017-07-24'),
+          member: '���������������������',
+          href: '',
+          memberLink: '',
+        },
+        {
+          id: 'xxx3',
+          title: titles[2],
+          logo: avatars[2],
+          description: '������������������������������������������������������������������',
+          updatedAt: new Date(),
+          member: '���������������',
+          href: '',
+          memberLink: '',
+        },
+        {
+          id: 'xxx4',
+          title: titles[3],
+          logo: avatars[3],
+          description: '���������������������������������������������������������������������',
+          updatedAt: new Date('2017-07-23'),
+          member: '���������������',
+          href: '',
+          memberLink: '',
+        },
+        {
+          id: 'xxx5',
+          title: titles[4],
+          logo: avatars[4],
+          description: '������������',
+          updatedAt: new Date('2017-07-23'),
+          member: '���������������������',
+          href: '',
+          memberLink: '',
+        },
+        {
+          id: 'xxx6',
+          title: titles[5],
+          logo: avatars[5],
+          description: '������������������������������������������������������',
+          updatedAt: new Date('2017-07-23'),
+          member: '���������������������',
+          href: '',
+          memberLink: '',
+        },
+      ];
+}
+
+export function getActivities(): any[] {
+    return  [
+        {
+          id: 'trend-1',
+          updatedAt: new Date(),
+          user: {
+            name: '���������',
+            avatar: avatars[0],
+          },
+          group: {
+            name: '���������������������',
+            link: 'http://github.com/',
+          },
+          project: {
+            name: '������������',
+            link: 'http://github.com/',
+          },
+          template: '��� @{group} ������������ @{project}',
+        },
+        {
+          id: 'trend-2',
+          updatedAt: new Date(),
+          user: {
+            name: '���������',
+            avatar: avatars[1],
+          },
+          group: {
+            name: '���������������������',
+            link: 'http://github.com/',
+          },
+          project: {
+            name: '������������',
+            link: 'http://github.com/',
+          },
+          template: '��� @{group} ������������ @{project}',
+        },
+        {
+          id: 'trend-3',
+          updatedAt: new Date(),
+          user: {
+            name: '���������',
+            avatar: avatars[2],
+          },
+          group: {
+            name: '���������������',
+            link: 'http://github.com/',
+          },
+          project: {
+            name: '������������',
+            link: 'http://github.com/',
+          },
+          template: '��� @{group} ������������ @{project}',
+        },
+        {
+          id: 'trend-4',
+          updatedAt: new Date(),
+          user: {
+            name: '���������',
+            avatar: avatars[3],
+          },
+          project: {
+            name: '5 ���������������',
+            link: 'http://github.com/',
+          },
+          template: '��� @{project} ������������������������',
+        },
+        {
+          id: 'trend-5',
+          updatedAt: new Date(),
+          user: {
+            name: '���������',
+            avatar: avatars[4],
+          },
+          project: {
+            name: '������������',
+            link: 'http://github.com/',
+          },
+          comment: {
+            name: '������',
+            link: 'http://github.com/',
+          },
+          template: '��� @{project} ��������� @{comment}',
+        },
+        {
+          id: 'trend-6',
+          updatedAt: new Date(),
+          user: {
+            name: '������',
+            avatar: avatars[5],
+          },
+          group: {
+            name: '���������������',
+            link: 'http://github.com/',
+          },
+          project: {
+            name: '������������',
+            link: 'http://github.com/',
+          },
+          template: '��� @{group} ������������ @{project}',
+        },
+      ];
+}
diff --git a/_mock/chart.service.ts b/_mock/chart.service.ts
new file mode 100644
index 0000000..6d2c804
--- /dev/null
+++ b/_mock/chart.service.ts
@@ -0,0 +1,203 @@
+// tslint:disable
+
+import * as moment from "moment";
+
+// mock data
+const visitData = [];
+const beginDay = new Date().getTime();
+
+const fakeY = [7, 5, 4, 2, 4, 7, 5, 6, 5, 9, 6, 3, 1, 5, 3, 6, 5];
+for (let i = 0; i < fakeY.length; i += 1) {
+	visitData.push({
+		x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format(
+			"YYYY-MM-DD"
+		),
+		y: fakeY[i]
+	});
+}
+
+const visitData2 = [];
+const fakeY2 = [1, 6, 4, 8, 3, 7, 2];
+for (let i = 0; i < fakeY2.length; i += 1) {
+	visitData2.push({
+		x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format(
+			"YYYY-MM-DD"
+		),
+		y: fakeY2[i]
+	});
+}
+
+const salesData = [];
+for (let i = 0; i < 12; i += 1) {
+	salesData.push({
+		x: `${i + 1}���`,
+		y: Math.floor(Math.random() * 1000) + 200
+	});
+}
+const searchData = [];
+for (let i = 0; i < 50; i += 1) {
+	searchData.push({
+		index: i + 1,
+		keyword: `���������������-${i}`,
+		count: Math.floor(Math.random() * 1000),
+		range: Math.floor(Math.random() * 100),
+		status: Math.floor((Math.random() * 10) % 2)
+	});
+}
+const salesTypeData = [
+	{
+		x: "������������",
+		y: 4544
+	},
+	{
+		x: "������������",
+		y: 3321
+	},
+	{
+		x: "������������",
+		y: 3113
+	},
+	{
+		x: "������������",
+		y: 2341
+	},
+	{
+		x: "������������",
+		y: 1231
+	},
+	{
+		x: "������",
+		y: 1231
+	}
+];
+
+const salesTypeDataOnline = [
+	{
+		x: "������������",
+		y: 244
+	},
+	{
+		x: "������������",
+		y: 321
+	},
+	{
+		x: "������������",
+		y: 311
+	},
+	{
+		x: "������������",
+		y: 41
+	},
+	{
+		x: "������������",
+		y: 121
+	},
+	{
+		x: '������',
+		y: 111
+	}
+];
+
+const salesTypeDataOffline = [
+	{
+		x: '������������',
+		y: 99
+	},
+	{
+		x: '������������',
+		y: 188
+	},
+	{
+		x: '������������',
+		y: 344
+	},
+	{
+		x: '������������',
+		y: 255
+	},
+	{
+		x: '������',
+		y: 65
+	}
+];
+
+const offlineData = [];
+for (let i = 0; i < 10; i += 1) {
+	offlineData.push({
+		name: `������${i}`,
+		cvr: Math.ceil(Math.random() * 9) / 10
+	});
+}
+const offlineChartData = [];
+for (let i = 0; i < 20; i += 1) {
+	offlineChartData.push({
+		x: new Date().getTime() + 1000 * 60 * 30 * i,
+		y1: Math.floor(Math.random() * 100) + 10,
+		y2: Math.floor(Math.random() * 100) + 10
+	});
+}
+
+const radarOriginData = [
+	{
+		name: '������',
+		ref: 10,
+		koubei: 8,
+		output: 4,
+		contribute: 5,
+		hot: 7
+	},
+	{
+		name: '������',
+		ref: 3,
+		koubei: 9,
+		output: 6,
+		contribute: 3,
+		hot: 1
+	},
+	{
+		name: '������',
+		ref: 4,
+		koubei: 1,
+		output: 6,
+		contribute: 5,
+		hot: 7
+	}
+];
+
+//
+const radarData = [];
+const radarTitleMap = {
+	ref: '������',
+	koubei: '������',
+	output: '������',
+	contribute: '������',
+	hot: '������'
+};
+radarOriginData.forEach(item => {
+	Object.keys(item).forEach(key => {
+		if (key !== 'name') {
+			radarData.push({
+				name: item.name,
+				label: radarTitleMap[key],
+				value: item[key]
+			});
+		}
+	});
+});
+
+export const getFakeChartData = {
+	visitData,
+	visitData2,
+	salesData,
+	searchData,
+	offlineData,
+	offlineChartData,
+	salesTypeData,
+	salesTypeDataOnline,
+	salesTypeDataOffline,
+	radarData
+};
+
+export default {
+	getFakeChartData
+};
diff --git a/_mock/profile.service.ts b/_mock/profile.service.ts
new file mode 100644
index 0000000..252475b
--- /dev/null
+++ b/_mock/profile.service.ts
@@ -0,0 +1,164 @@
+const basicGoods = [
+    {
+        id: '1234561',
+        name: '��������� 550ml',
+        barcode: '12421432143214321',
+        price: '2.00',
+        num: '1',
+        amount: '2.00',
+    },
+    {
+        id: '1234562',
+        name: '������ 300ml',
+        barcode: '12421432143214322',
+        price: '3.00',
+        num: '2',
+        amount: '6.00',
+    },
+    {
+        id: '1234563',
+        name: '���������������',
+        barcode: '12421432143214323',
+        price: '7.00',
+        num: '4',
+        amount: '28.00',
+    },
+    {
+        id: '1234564',
+        name: '���������������������',
+        barcode: '12421432143214324',
+        price: '8.50',
+        num: '3',
+        amount: '25.50',
+    },
+];
+
+const basicProgress = [
+    {
+        key: '1',
+        time: '2017-10-01 14:10',
+        rate: '������������',
+        status: 'processing',
+        operator: '��������� ID1234',
+        cost: '5mins',
+    },
+    {
+        key: '2',
+        time: '2017-10-01 14:05',
+        rate: '���������������',
+        status: 'success',
+        operator: '��������� ID1234',
+        cost: '1h',
+    },
+    {
+        key: '3',
+        time: '2017-10-01 13:05',
+        rate: '���������������',
+        status: 'success',
+        operator: '��������� ID1234',
+        cost: '5mins',
+    },
+    {
+        key: '4',
+        time: '2017-10-01 13:00',
+        rate: '������������������',
+        status: 'success',
+        operator: '������',
+        cost: '1h',
+    },
+    {
+        key: '5',
+        time: '2017-10-01 12:00',
+        rate: '������������������',
+        status: 'success',
+        operator: '������',
+        cost: '5mins',
+    },
+];
+
+const advancedOperation1 = [
+    {
+        key: 'op1',
+        type: '������������������',
+        name: '���������',
+        status: 'agree',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '-',
+    },
+    {
+        key: 'op2',
+        type: '������������',
+        name: '���������',
+        status: 'reject',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '���������������',
+    },
+    {
+        key: 'op3',
+        type: '������������',
+        name: '���������',
+        status: 'agree',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '-',
+    },
+    {
+        key: 'op4',
+        type: '������������',
+        name: '���������',
+        status: 'agree',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '������',
+    },
+    {
+        key: 'op5',
+        type: '������������',
+        name: '���������',
+        status: 'agree',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '-',
+    },
+];
+
+const advancedOperation2 = [
+    {
+        key: 'op1',
+        type: '������������������',
+        name: '���������',
+        status: 'agree',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '-',
+    },
+];
+
+const advancedOperation3 = [
+    {
+        key: 'op1',
+        type: '������������',
+        name: '���������',
+        status: 'agree',
+        updatedAt: '2017-10-03  19:23:12',
+        memo: '-',
+    },
+];
+
+export function getProfileBasicData() {
+    return {
+        basicGoods: basicGoods,
+        basicProgress: basicProgress
+    };
+}
+
+export function getProfileAdvancedData() {
+    return {
+        advancedOperation1: advancedOperation1,
+        advancedOperation2: advancedOperation2,
+        advancedOperation3: advancedOperation3
+    };
+}
+
+export function getProfileDefault() {
+    return {
+        getProfileBasicData: getProfileBasicData,
+        getProfileAdvancedData: getProfileAdvancedData
+    };
+}
diff --git a/_mock/rule.service.ts b/_mock/rule.service.ts
new file mode 100644
index 0000000..927c546
--- /dev/null
+++ b/_mock/rule.service.ts
@@ -0,0 +1,66 @@
+const list = [];
+
+for (let i = 0; i < 46; i += 1) {
+    list.push({
+        key: i,
+        disabled: ((i % 6) === 0),
+        href: 'https://ant.design',
+        avatar: ['https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png'][i % 2],
+        no: `TradeCode ${i}`,
+        title: `������������������ ${i}`,
+        owner: '���������',
+        description: '������������������',
+        callNo: Math.floor(Math.random() * 1000),
+        status: Math.floor(Math.random() * 10) % 4,
+        updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`),
+        createdAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`),
+        progress: Math.ceil(Math.random() * 100),
+    });
+}
+
+export function getRule(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.statusList && params.statusList.length > 0) {
+        ret = ret.filter(data => params.statusList.indexOf(data.status) > -1);
+    }
+    if (params.no) {
+        ret = ret.filter(data => data.no.indexOf(params.no) > -1);
+    }
+    return ret;
+}
+
+export function removeRule(no: string): boolean {
+    const idx = list.findIndex(w => w.no === no);
+    if (idx !== -1) {
+        list.splice(idx, 1);
+        return true;
+    }
+    return false;
+}
+
+export function saveRule(description: string) {
+    const i = Math.ceil(Math.random() * 10000);
+    list.unshift({
+      key: i,
+      href: 'https://ant.design',
+      avatar: ['https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png'][i % 2],
+      no: `TradeCode ${i}`,
+      title: `������������������ ${i}`,
+      owner: '���������',
+      description,
+      callNo: Math.floor(Math.random() * 1000),
+      status: Math.floor(Math.random() * 10) % 2,
+      updatedAt: new Date(),
+      createdAt: new Date(),
+      progress: Math.ceil(Math.random() * 100),
+    });
+}
diff --git a/src/assets/environments/environment.chore.ts b/src/assets/environments/environment.chore.ts
deleted file mode 100644
index bb3034e..0000000
--- a/src/assets/environments/environment.chore.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export const environment = {
-    SERVER_URL: `./`,
-    production: true,
-    hmr: false,
-    useHash: false
-};
diff --git a/src/assets/environments/environment.hmr.ts b/src/assets/environments/environment.hmr.ts
deleted file mode 100644
index 687d0b9..0000000
--- a/src/assets/environments/environment.hmr.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export const environment = {
-    SERVER_URL: `./`,
-    production: true,
-    hmr: true,
-    useHash: true
-};
diff --git a/src/assets/environments/environment.prod.ts b/src/assets/environments/environment.prod.ts
deleted file mode 100644
index 3f794b3..0000000
--- a/src/assets/environments/environment.prod.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export const environment = {
-    SERVER_URL: `./`,
-    production: true,
-    hmr: false,
-    useHash: true
-};
diff --git a/src/assets/environments/environment.ts b/src/assets/environments/environment.ts
deleted file mode 100644
index 45c90c7..0000000
--- a/src/assets/environments/environment.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// The file contents for the current environment will overwrite these during build.
-// The build system defaults to the dev environment which uses `environment.ts`, but if you do
-// `ng build --env=prod` then `environment.prod.ts` will be used instead.
-// The list of which env maps to which file can be found in `.angular-cli.json`.
-
-export const environment = {
-    SERVER_URL: `./`,
-    production: false,
-    hmr: false,
-    useHash: true
-};

--
Gitblit v1.8.0