chart.js 3.14 KB
Newer Older
1 2 3 4 5
import moment from 'moment';

// mock data
const visitData = [];
const beginDay = new Date().getTime();
afc163's avatar
afc163 committed
6 7 8

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) {
9
  visitData.push({
jim's avatar
jim committed
10
    x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'),
afc163's avatar
afc163 committed
11 12 13 14 15 16 17 18
    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({
jim's avatar
jim committed
19
    x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'),
afc163's avatar
afc163 committed
20
    y: fakeY2[i],
21 22
  });
}
afc163's avatar
afc163 committed
23

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
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 = [
  {
陈帅's avatar
陈帅 committed
43
    x: 'House appliances',
44 45 46
    y: 4544,
  },
  {
陈帅's avatar
陈帅 committed
47
    x: 'Drink & wine',
48 49 50
    y: 3321,
  },
  {
陈帅's avatar
陈帅 committed
51
    x: 'Health & care',
52 53 54
    y: 3113,
  },
  {
陈帅's avatar
陈帅 committed
55
    x: 'Clothing & bags',
56 57 58
    y: 2341,
  },
  {
陈帅's avatar
陈帅 committed
59
    x: 'Mother-baby',
60 61 62
    y: 1231,
  },
  {
陈帅's avatar
陈帅 committed
63
    x: 'Other',
64 65 66 67 68 69
    y: 1231,
  },
];

const salesTypeDataOnline = [
  {
陈帅's avatar
陈帅 committed
70
    x: 'House appliances',
71 72 73
    y: 244,
  },
  {
陈帅's avatar
陈帅 committed
74
    x: 'Drink & wine',
75 76 77
    y: 321,
  },
  {
陈帅's avatar
陈帅 committed
78
    x: 'Health & care',
79 80 81
    y: 311,
  },
  {
陈帅's avatar
陈帅 committed
82
    x: 'Clothing & bags',
83 84 85
    y: 41,
  },
  {
陈帅's avatar
陈帅 committed
86
    x: 'Mother-baby',
87 88 89
    y: 121,
  },
  {
陈帅's avatar
陈帅 committed
90
    x: 'Other',
91 92 93 94 95 96
    y: 111,
  },
];

const salesTypeDataOffline = [
  {
陈帅's avatar
陈帅 committed
97
    x: 'House appliances',
98 99 100
    y: 99,
  },
  {
陈帅's avatar
陈帅 committed
101
    x: 'Drink & wine',
102 103 104
    y: 188,
  },
  {
陈帅's avatar
陈帅 committed
105
    x: 'Health & care',
106 107 108
    y: 344,
  },
  {
陈帅's avatar
陈帅 committed
109
    x: 'Clothing & bags',
110 111 112
    y: 255,
  },
  {
陈帅's avatar
陈帅 committed
113
    x: 'Other',
114 115 116 117 118 119 120
    y: 65,
  },
];

const offlineData = [];
for (let i = 0; i < 10; i += 1) {
  offlineData.push({
陈帅's avatar
陈帅 committed
121
    name: `Stores ${i}`,
122 123 124 125 126 127
    cvr: Math.ceil(Math.random() * 9) / 10,
  });
}
const offlineChartData = [];
for (let i = 0; i < 20; i += 1) {
  offlineChartData.push({
jim's avatar
jim committed
128
    x: new Date().getTime() + 1000 * 60 * 30 * i,
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
    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: '热度',
};
jim's avatar
jim committed
170 171
radarOriginData.forEach(item => {
  Object.keys(item).forEach(key => {
172 173 174 175 176 177 178 179 180 181 182 183
    if (key !== 'name') {
      radarData.push({
        name: item.name,
        label: radarTitleMap[key],
        value: item[key],
      });
    }
  });
});

export const getFakeChartData = {
  visitData,
afc163's avatar
afc163 committed
184
  visitData2,
185 186 187 188 189 190 191 192 193 194 195 196 197
  salesData,
  searchData,
  offlineData,
  offlineChartData,
  salesTypeData,
  salesTypeDataOnline,
  salesTypeDataOffline,
  radarData,
};

export default {
  getFakeChartData,
};