You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dashboard/src/libs/ht.js

104 lines
4.0 KiB
JavaScript

/**
* 事业部
*/
export const biz = [
{ key: '0', label: '公共开支', code: '' },
{ key: '1', label: 'GH事业部', code: '' },
{ key: '2', label: '国际事业部', code: '' },
{ key: '4', label: '孵化学院', code: '' },
];
/**
* 小组
*/
export const groups = [
{ key: '1,2,28,7,33', label: 'GH事业部', code: 'GH', children: [] },
{ key: '8,9,11,12,20,21', label: '国际事业部', code: 'INT', children: [] },
{ key: '10,18,16,30', label: '孵化学院', code: '', children: [] },
{ key: '1', label: 'CH直销', code: '', children: [] },
{ key: '2', label: 'CH大客户', code: '', children: [] },
{ key: '28', label: 'AH亚洲项目组', code: 'AH', children: [] },
{ key: '33', label: 'GH项目组', code: '', children: [] },
{ key: '7', label: '市场推广', code: '', children: [] },
{ key: '8', label: '德语', code: '', children: [] },
{ key: '9', label: '日语', code: '', children: [] },
{ key: '11', label: '法语', code: '', children: [] },
{ key: '12', label: '西语', code: '', children: [] },
{ key: '20', label: '俄语', code: '', children: [] },
{ key: '21', label: '意语', code: '', children: [] },
{ key: '10', label: '商旅', code: '', children: [] },
{ key: '18', label: 'CT', code: 'CT', children: [] },
{ key: '16', label: 'APP', code: 'APP', children: [] },
{ key: '30', label: 'Trippest', code: 'TP', children: [] },
{ key: '31', label: '花梨鹰', code: '', children: [] },
];
export const groupsMappedByCode = groups.reduce((a, c) => ({ ...a, [String(c.code || c.key)]: c }), {});
/**
* 来源
*/
export const sites = [
{ key: '2', label: 'CHT', code: 'CHT' },
{ key: '8', label: 'AH', code: 'AH' },
{ key: '163', label: 'GH', code: 'GH' },
{ key: '28', label: '客运中国', code: 'GHKYZG' },
{ key: '7', label: '客运海外', code: 'GHKYHW' },
{ key: '172', label: 'B业务', code: 'GHTOB' },
{ key: '11,12,20,21,10,18', label: '国际(入境)', code: 'JP,VAC,IT,GM,RU,VC' },
{ key: '122,200,211,100,188', label: '国际(海外)', code: 'VACHW,ITHW,GMHW,RUHW,VCHW' },
{ key: '11', label: '日语', code: 'JP' },
{ key: '12', label: '西语', code: 'VAC' },
{ key: '122', label: '西语海外', code: 'VACHW' },
{ key: '20', label: '意大利', code: 'IT' },
{ key: '200', label: '意大利海外', code: 'ITHW' },
{ key: '21', label: '德语', code: 'GM' },
{ key: '211', label: '德语海外', code: 'GMHW' },
{ key: '10', label: '俄语', code: 'RU' },
{ key: '100', label: '俄语海外', code: 'RUHW' },
{ key: '18', label: '法语', code: 'VC' },
{ key: '188', label: '法语海外', code: 'VCHW' },
{ key: '16', label: 'CT', code: 'CT' },
{ key: '30', label: 'TP', code: 'trippest' },
{ key: '31', label: '花梨鹰', code: 'HLY' },
];
export const dateTypes = [
{ key: 'applyDate', label: '提交日期' },
{ key: 'ConfirmDate', label: '确认日期' },
{ key: 'startDate', label: '走团日期' },
];
/**
* 结果字段
*/
export const dataFieldOptions = [
{ label: '毛利', value: 'SumML', formatter: (v) => `${v / 1000} K` },
{ label: '订单数', value: 'OrderCount', formatter: (v) => v },
{ label: '成交数', value: 'CJCount', formatter: (v) => v },
// { label: '成交人数', value: 'CJPersonNum', formatter: (v) => v },
{ label: '成交率', value: 'CJrate', formatter: (v) => v },
// todo: more...
];
/**
* 结果字段alias
*/
export const dataFieldAlias = dataFieldOptions.reduce(
(a, c) => ({
...a,
[c.value]: { alias: c.label, formatter: (v) => c.formatter(v) },
[`${c.value}KPI`]: { alias: `${c.label}目标`, formatter: (v) => c.formatter(v) },
}),
{}
);
/**
* KPI对象
*/
export const KPIObjects = [
{ value: 'overview', label: '总额' },
{ value: 'bu', label: '事业部' },
{ value: 'dept', label: '小组' },
{ value: 'du', label: '顾问小组' },
{ value: 'operator', label: '顾问' },
{ value: 'destination', label: '目的地' },
{ value: 'country', label: '国籍' },
];