| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 | /* * Copyright [2022] [MaxKey of copyright http://www.maxkey.top] *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *     http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { format } from 'date-fns';import * as Mock from 'mockjs';// region: mock dataconst visitData: any[] = [];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: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'),    y: fakeY[i]  });}const visitData2: any[] = [];const fakeY2 = [1, 6, 4, 8, 3, 7, 2];for (let i = 0; i < fakeY2.length; i += 1) {  visitData2.push({    x: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'),    y: fakeY2[i]  });}const salesData: any[] = [];for (let i = 0; i < 12; i += 1) {  salesData.push({    x: `${i + 1}月`,    y: Math.floor(Math.random() * 1000) + 200  });}const searchData: any[] = [];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: any[] = [];for (let i = 0; i < 10; i += 1) {  offlineData.push({    name: `门店${i}`,    cvr: Math.ceil(Math.random() * 9) / 10  });}const offlineChartData: any[] = [];for (let i = 0; i < 20; i += 1) {  offlineChartData.push({    time: 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: any[] = [];const radarTitleMap: any = {  ref: '引用',  koubei: '口碑',  output: '产量',  contribute: '贡献',  hot: '热度'};radarOriginData.forEach((item: any) => {  Object.keys(item).forEach(key => {    if (key !== 'name') {      radarData.push({        name: item.name,        label: radarTitleMap[key],        value: item[key]      });    }  });});// endregionexport const CHARTS = {  '/chart': JSON.parse(    JSON.stringify({      visitData,      visitData2,      salesData,      searchData,      offlineData,      offlineChartData,      salesTypeData,      salesTypeDataOnline,      salesTypeDataOffline,      radarData    })  ),  '/chart/visit': JSON.parse(JSON.stringify(visitData)),  '/chart/tags': Mock.mock({    'list|100': [{ name: '@city', 'value|1-100': 150 }]  })};
 |