@ecan-bi/indicator-library 1.1.31 → 1.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index-34dcaff5.mjs","sources":["../src/utils/withInstall.ts","../src/utils/constant.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/bar/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/line/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/pie/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/custom-graph/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/combo-graph/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/index.ts","../src/indicator/indicator-library/data-config/style-config-group/table-props/props.ts","../src/utils/loadAsyncComponent.ts","../node_modules/@ecan-bi/tools/lib/index.es.js","../src/utils/util.ts","../src/indicator/indicator-library/IndicatorLibrary.vue","../src/indicator/indicator-library/IndicatorLibrary.vue","../src/indicator/indicator-library/index.ts","../src/hooks/useIndicatorData.ts","../src/indicator/chart-graph/ChartGraph.vue","../src/indicator/chart-graph/ChartGraph.vue","../src/indicator/chart-graph/index.ts","../src/index.ts"],"sourcesContent":["// import { NOOP } from '@vue/shared'\n// import { Plugin } from 'vue'\n\n// export type SFCWithInstall<T> = T & Plugin\n\n// export const withInstall = <T, E extends Record<string, any>>(\n// main: T,\n// extra?: E\n// ) => {\n// (main as SFCWithInstall<T>).install = (app): void => {\n// for (const comp of [main, ...Object.values(extra ?? {})]) {\n// app.component(comp.name, comp)\n// }\n// }\n\n// if (extra) {\n// for (const [key, comp] of Object.entries(extra)) {\n// (main as any)[key] = comp\n// }\n// }\n// return main as SFCWithInstall<T> & E\n// }\n\n// export const withInstallFunction = <T>(fn: T, name: string) => {\n// (fn as SFCWithInstall<T>).install = (app) => {\n// app.config.globalProperties[name] = fn\n// }\n\n// return fn as SFCWithInstall<T>\n// }\n\n// export const withNoopInstall = <T>(component: T) => {\n// (component as SFCWithInstall<T>).install = NOOP\n\n// return component as SFCWithInstall<T>\n// }\nexport const withInstall = (comp) => {\n comp.install = (app) => {\n // 注册组件\n app.component(comp.name, comp)\n }\n return comp\n}\n","export const REQUEST = '$request'\n// @ts-ignore\nexport const INDICATOR_URL = window?.config?.indicatorURL || ''\n\nexport const INDICATOR_TOKEN = 'INDICATOR_TOKEN'\n\nexport const CONTAINER_TYPES = ['tabs', 'border']\n\nexport const CACHE_STEP = 'CACHE_STEP'\n\nexport const UPDATE_SNAPSHOT_LIST = 'UPDATE_SNAPSHOT_LIST'\n\nexport const REQUEST_MODEL = 'REQUEST_MODEL'\n\nexport const DATA_LIST = 'DATA_LIST'\n\nexport const SELECTED_COMPONENT = 'SELECTED_COMPONENT'\n\nexport const GRAPHIC_CONFIG = 'GRAPHIC_CONFIG'\n\nexport const UPDATE_GRAPHIC_CONFIG = 'UPDATE_GRAPHIC_CONFIG'\n\nexport const SHOW_STYLE_CONFIG = 'SHOW_STYLE_CONFIG'\n\nexport const REFRESH_DATA = 'REFRESH_DATA'\n\nexport const CHARTS_OPTIONS = 'CHARTS_OPTIONS'\n\nexport const TABLE_OPTIONS = 'TABLE_OPTIONS'\n\nexport const ZOOM_FONT_SIZE = 18\n\nexport const UPDATE_CHARTS_OPTIONS = 'UPDATE_CHARTS_OPTIONS'\n\nexport const UPDATE_TABLE_OPTIONS = 'UPDATE_TABLE_OPTIONS'\n\nexport const SOURCE_TYPE = 'SOURCE_TYPE'\n\nexport const CHANGE_CONDITION = 'CHANGE_CONDITION'\n\nexport const DATA_VIEW_COLUMNS = 'DATA_VIEW_COLUMNS'\n\nexport const RENDER_USED_COMPONENTS = 'RENDER_USED_COMPONENTS'\n\nexport const UPDATE_USED_COMPONENT = 'UPDATE_USED_COMPONENT'\n\nexport const UPDATE_COMPONENTS_CONFIG = 'UPDATE_COMPONENTS_CONFIG'\n\nexport const MAP_ATTRIBUTE_PROPS = 'MAP_ATTRIBUTE_PROPS'\n\nexport const PAGE_CONFIG = 'PAGE_CONFIG'\n\nexport const IS_PIVOT_TABLE = 'IS_PIVOT_TABLE'\n\nexport const IS_IFRAME_MODE = 'IS_IFRAME_MODE'\n","export interface BarProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n titleText: string\n titleSubtext: string\n titleFontSize: string\n titleColor: string\n fontWeight: number\n textAlign: 'left' | 'right' | 'center'\n colors: string []\n legendShow: boolean\n legendTextStyleColor: string\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n xAxisLabelInterval: number\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisSplitAreaShow: boolean // x轴展示分割区域\n xAxisSplitLineInterval: number // x轴分割线间隔\n xAxisLabelColor: string // x轴名称颜色\n xAxisLabelWidth: number | undefined // x轴名称宽度\n xAxisLabelOverflow: 'none' | 'truncate' | 'break' | 'breakAll' // x轴名称溢出操作\n xAxisLabelRotate: number // x轴名称旋转\n xAxisLineShow: boolean // x轴线显示\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisTickShow: boolean // 展示刻度\n xAxisLabelFormatter: string\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n xAxisInverse: boolean\n xAxisMinInterval: number\n yAxisMinInterval: number\n yAxisInverse: boolean\n yAxisLabelWidth: number | undefined // y轴名称宽度\n yAxisLabelOverflow: 'none' | 'truncate' | 'break' | 'breakAll' // y轴名称溢出操作\n yAxisLabelRotate: number // y轴名称旋转\n yAxisSplitLineShow: boolean // y轴展示分割线\n yAxisSplitAreaShow: boolean // y轴展示分割区域\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLabelFormatter: string\n yAxisLineAlwaysDisplay: boolean // 总是显示y轴\n valueTypeDataFieldNames: any\n keyTypeDataFieldNames: any\n dataFieldConfigType: 'key' | 'value'\n tooltipShow: boolean\n tooltipTextStyleColor: string\n tooltipFormatter: string,\n tooltipPosition: string\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n barWidth: string\n graphicConfig: { [key:string]: any }\n toolboxShow: boolean\n toolboxLocation: boolean\n toolboxDownloadShow:boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top'| 'middle'| 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n isUseHorizontalAxis: boolean\n axisInverse: boolean\n isStack: boolean\n stackColumns: string[],\n labelShow: boolean\n labelFontSize: string\n labelPosition: 'inside' | 'top' | 'bottom' | 'right' | 'left'\n labelColor: string\n labelWidth: number\n labelOverflow: 'none' | 'truncate' | 'break'\n labelFormatter: string\n gradientShow: boolean // 柱状图渐变设置\n gradientColors: string []\n gradientOffset: number\n barBorderRadius: string // 柱状图圆角设置\n yAxisLabelShow: boolean // 是否显示y轴坐标轴刻度标签\n yAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n xAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n legendItemGap: number\n legendItemWidth: number\n legendItemHeight: number\n showBarBackground: boolean\n legendType: string\n legendFontSize: string\n xAxisLabelFontSize: string\n yAxisLabelFontSize: string\n graphicType: string\n isShowMarkLine: boolean\n markLineType: 'min' | 'max' | 'average' | 'median'\n legendFormatter: string\n legendWidth: number | null\n legendHeight: number | null\n legendTextWidth: number | null\n legendScroll: boolean\n yAxisName: string\n xAxisName: string\n defaultRangeValue: boolean\n startValue: string\n endValue: string\n xAxisMaxValue: number\n yAxisMaxValue: number\n colorsType: string\n}\n\nexport const barProps: BarProps = {\n name: '柱状图',\n type: 'bar',\n width: '400px',\n height: '400px',\n xAxisLabelFormatter: '{value}',\n yAxisLabelFormatter: '{value}',\n yAxisLineAlwaysDisplay: false,\n titleText: '',\n titleSubtext: '',\n titleFontSize: '12px',\n titleColor: '#333',\n fontWeight: 400,\n textAlign: 'left',\n colors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n legendShow: true,\n legendTextStyleColor: '#333',\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipFormatter: '{marker} {a} {c}',\n xAxisSplitLineShow: true,\n xAxisSplitLineInterval: 0,\n xAxisSplitAreaShow: false,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelInterval: 0,\n xAxisLabelColor: '#333',\n xAxisLabelWidth: undefined,\n xAxisLabelRotate: 0,\n xAxisLabelOverflow: 'none',\n xAxisLineShow: true,\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisMinInterval: 0,\n yAxisMinInterval: 0,\n yAxisLabelWidth: undefined,\n yAxisLabelRotate: 0,\n yAxisLabelOverflow: 'none',\n yAxisSplitLineShow: true,\n yAxisSplitAreaShow: false,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n valueTypeDataFieldNames: { name: 'name', value: 'value', type: 'type' },\n keyTypeDataFieldNames: { name: 'name', types: [] },\n dataFieldConfigType: 'value',\n barWidth: '40%',\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n graphicConfig: {},\n toolboxShow: false,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n isUseHorizontalAxis: false,\n axisInverse: false,\n xAxisInverse: false,\n yAxisInverse: false,\n isStack: false,\n stackColumns: [],\n labelShow: false,\n labelFontSize: '12px',\n labelPosition: 'inside',\n labelColor: '',\n labelWidth: 100,\n labelOverflow: 'none',\n labelFormatter: '{c}',\n toolboxLocation: false,\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n gradientShow: false,\n gradientColors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n gradientOffset: 1,\n barBorderRadius: '',\n yAxisLabelShow: true,\n yAxisSplitLineType: 'solid',\n xAxisSplitLineType: 'solid',\n legendItemGap: 10,\n legendItemWidth: 25,\n legendItemHeight: 14,\n showBarBackground: false,\n legendType: '',\n legendFontSize: '12px',\n xAxisLabelFontSize: '12px',\n yAxisLabelFontSize: '12px',\n graphicType: 'ecanBar',\n tooltipPosition: '',\n isShowMarkLine: false,\n markLineType: 'average',\n legendFormatter: '{name}',\n legendWidth: null,\n legendHeight: null,\n legendTextWidth: null,\n legendScroll: false,\n yAxisName: '',\n xAxisName: '',\n defaultRangeValue: false,\n startValue: '',\n endValue: '',\n xAxisMaxValue: null,\n yAxisMaxValue: null,\n colorsType: '默认'\n}\n","export interface LineProps {\n name: String\n type: String\n width: string // 图表宽度\n height: string // 图表高度\n colors: string[]\n colorsType: string\n titleText: string\n titleSubtext: string\n legendShow: boolean\n legendLeft: 'left' | 'center' | 'right'\n legendCustomPosition: boolean\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal' // 标记点大小\n legendTextStyleColor: string\n legendTextStyleFontSize: number\n legendTextItemGap: number\n symbolSize: number // 线宽度\n lineStyleWidth: number // 线宽\n smooth: boolean // 光滑\n xAxisName: string\n xAxisShow: boolean\n xAxisLabelInterval: number\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisLabelColor: string // x轴名称颜色\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n xAxisTickShow: boolean // 展示刻度\n xAxisLabelFormatter: string // 格式化\n xAxisInverse: boolean\n xAxisMinInterval: number\n xAxisLabelWidth: number | undefined // x轴名称宽度\n xAxisLabelOverflow: 'none' | 'truncate' | 'break' | 'breakAll' // x轴名称溢出操作\n xAxisLabelRotate: number // x轴名称旋转\n xAxisType: 'value' | 'category' | 'time' | 'log'\n yAxisName: string\n yAxisMinInterval: number\n yAxisInverse: boolean\n yAxisSplitLineShow: boolean // y轴展示分割线\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLineAlwaysDisplay: boolean // 总是显示y轴\n yAxisLabelFormatter: string // 格式化\n yAxisLabelShow: boolean\n yAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n xAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n tooltipShow: boolean\n tooltipTextStyleColor: string\n tooltipFormatter: string\n tooltipBorderColor: string\n tooltipBackgroundColor: string\n toolboxShow: boolean\n toolboxDownloadShow: boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top' | 'middle' | 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n areaStyleOpacity: number\n // 新加属性\n titleFontSize: string\n titleColor: string\n fontWeight: number\n textAlign: 'left' | 'right' | 'center'\n titleLeft: string\n xAxisSplitAreaShow: boolean // x轴展示分割区域\n xAxisSplitLineInterval: number // x轴分割间隔\n xAxisLineShow: boolean // 显示轴线\n valueTypeDataFieldNames: any\n keyTypeDataFieldNames: any\n dataFieldConfigType: 'key' | 'value'\n graphicConfig: { [key:string]: any }\n areaGradientShow: boolean // 分隔区域渐变\n areaGradientColor: string // 分隔区域渐变颜色\n isBoundaryGap: boolean // 是否两边留白\n legendItemGap: number\n legendItemWidth: number\n legendItemHeight: number\n legendType: string // 图例类型\n shadowColor: string // 阴影颜色\n shadowBlur: number // 阴影模糊度\n shadowOffsetY: number // 阴影偏移量-Y\n shadowOffsetX: number // 阴影偏移量-X\n legendFontSize: string\n xAxisLabelFontSize: string\n yAxisLabelFontSize: string\n graphicType: string\n tooltipPosition: string\n isShowMarkLine: boolean\n markLineType: 'min' | 'max' | 'average' | 'median'\n legendFormatter: string\n legendWidth: number | null\n legendHeight: number | null\n legendTextWidth: number | null\n legendScroll: boolean\n xAxisMaxValue: number\n yAxisMaxValue: number\n}\n\nexport const lineProps = {\n name: '折线图',\n type: 'line',\n width: '400px',\n height: '400px',\n\n colors: ['#FFBF53', '#04B1C2', '#F07474', '#C55784', '#9A5FB3', '#CF62D7', '#5E78EA', '#51B3F0', '#69D4DC', '#49B788', '#9CCC66', '#C18C00'],\n colorsType: '默认',\n\n legendShow: true,\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n legendCustomPosition: false,\n legendTextStyleColor: '#333',\n legendTextStyleFontSize: '12px',\n legendTextItemGap: 10,\n legendTopPadding: 10,\n legendBottomPadding: 10,\n legendLeftPadding: 10,\n legendRightPadding: 10,\n titleText: '',\n titleSubtext: '',\n symbolSize: 4,\n lineStyleWidth: 2,\n smooth: false,\n xAxisName: '',\n xAxisType: 'category',\n xAxisShow: true,\n xAxisLabelWidth: undefined,\n xAxisLabelRotate: 0,\n xAxisLabelOverflow: 'none',\n xAxisLabelInterval: 0,\n xAxisSplitLineShow: true,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelColor: '#333',\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisLabelFormatter: '{value}', // 格式化\n xAxisMinInterval: 0,\n yAxisName: '',\n yAxisMinInterval: 0,\n yAxisSplitLineShow: true,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n yAxisLineAlwaysDisplay: false,\n yAxisLabelShow: true,\n yAxisLabelFormatter: '{value}',\n yAxisSplitLineType: 'solid',\n xAxisSplitLineType: 'solid',\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipFormatter: '{marker} {a} {c}',\n tooltipBorderColor: '#333',\n tooltipBackgroundColor: '#fff',\n toolboxShow: false,\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n areaStyleOpacity: 0,\n\n // 新加属性\n titleFontSize: '12px',\n titleColor: '#333',\n fontWeight: 400,\n textAlign: 'left',\n titleLeft: '',\n xAxisSplitAreaShow: false,\n xAxisSplitLineInterval: 0,\n xAxisLineShow: true,\n yAxisSplitAreaShow: false,\n valueTypeDataFieldNames: { name: 'name', value: 'value', type: 'type' },\n keyTypeDataFieldNames: { name: 'name', types: [] },\n dataFieldConfigType: 'value',\n graphicConfig: {},\n areaGradientShow: false,\n areaGradientColor: '',\n isBoundaryGap: true,\n legendItemGap: 10,\n legendItemWidth: 25,\n legendItemHeight: 14,\n legendType: '',\n shadowColor: '',\n shadowBlur: 0,\n shadowOffsetY: 0,\n shadowOffsetX: 0,\n legendFontSize: '12px',\n xAxisLabelFontSize: '12px',\n yAxisLabelFontSize: '12px',\n graphicType: 'ecanLine',\n tooltipPosition: '',\n isShowMarkLine: false,\n markLineType: 'average',\n legendFormatter: '{name}',\n legendWidth: null,\n legendHeight: null,\n legendTextWidth: null,\n legendScroll: false,\n xAxisMaxValue: null,\n yAxisMaxValue: null\n}\n","\nexport interface PieProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n colors: string[]\n colorsType: string\n titleText: string\n titleSubtext: string\n backgroundColor: string\n toolboxDownloadShow: boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n tooltipShow: boolean\n tooltipTrigger: 'item' | 'axis' | 'none'\n tooltipTextStyleColor: string\n tooltipFormatter: string\n tooltipBorderColor: string\n tooltipBackgroundColor: string\n legendShow: boolean\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n legendTextStyleColor: string\n innerRadius: string\n outerRadius: string\n centerLeft: string\n centerTop: string\n minAngle: number\n labelShow: boolean\n labelFormatter: string\n labelFontSize: number\n labelPosition: 'outside' | 'inside' | 'center'\n labelLineShow: boolean\n labelColor: string\n isUseLabelColors: boolean\n labelLineLength: number\n labelLineLength2: number\n roseType: '' | 'radius' | 'area'\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n toolboxShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top' | 'middle' | 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n\n titleFontSize: string\n titleColor: string\n fontWeight: number\n textAlign: 'left' | 'right' | 'center'\n titleLeft: string\n labelWidth: number\n labelOverflow: 'none' | 'truncate' | 'break'\n valueTypeDataFieldNames: any,\n dataFieldConfigType: 'key' | 'value',\n graphicConfig: { [key:string]: any }\n legendItemGap: number\n legendItemWidth: number\n legendItemHeight: number\n legendFormatter: string\n legendFontSize: string\n graphicType: string\n legendWidth: number | null\n legendHeight: number | null\n legendTextWidth: number | null\n legendScroll: boolean\n}\n\nexport const pieProps: PieProps = {\n name: '饼图',\n type: 'pie',\n width: '400px',\n height: '400px',\n titleText: '',\n titleSubtext: '',\n\n colors: ['#FFBF53', '#04B1C2', '#F07474', '#C55784', '#9A5FB3', '#CF62D7', '#5E78EA', '#51B3F0', '#69D4DC', '#49B788', '#9CCC66', '#C18C00'],\n colorsType: '默认',\n\n backgroundColor: '',\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipTrigger: 'item',\n tooltipFormatter: '{marker} {b} {c} ({d}%)',\n tooltipBorderColor: '#333',\n tooltipBackgroundColor: '#fff',\n\n legendShow: true,\n legendTextStyleColor: '#333',\n legendOrient: 'vertical',\n legendTop: 'top',\n legendLeft: 'left',\n innerRadius: '0%',\n outerRadius: '60%',\n centerLeft: '50%',\n centerTop: '50%',\n minAngle: 0,\n labelShow: true,\n labelColor: '#333',\n isUseLabelColors: false,\n labelFontSize: 12,\n labelPosition: 'outside',\n labelFormatter: '{b}\\\\n{d}%',\n labelLineShow: true,\n labelLineLength: 10,\n labelLineLength2: 15,\n roseType: '',\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n toolboxShow: false,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n\n titleFontSize: '12px',\n titleColor: '#333',\n fontWeight: 400,\n textAlign: 'left',\n titleLeft: '',\n labelWidth: 100,\n labelOverflow: 'none',\n valueTypeDataFieldNames: { name: 'name', value: 'value', type: 'type' },\n dataFieldConfigType: 'value',\n graphicConfig: {},\n legendItemGap: 10,\n legendItemWidth: 25,\n legendItemHeight: 14,\n legendFormatter: '{name}',\n legendFontSize: '12px',\n graphicType: 'ecanPie',\n legendWidth: null,\n legendHeight: null,\n legendTextWidth: null,\n legendScroll: false\n}\n","export interface CustomGraphProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n option: { [key: string]: any }\n optionCode: string\n}\n\nexport const customGraphProps: CustomGraphProps = {\n name: '自定义图表',\n type: 'customGraph',\n width: '400px',\n height: '400px',\n option: {},\n optionCode: ''\n}\n","\nexport interface ComboGraphProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n colors: string[]\n colorsType: string\n titleText: string\n titleSubtext: string\n legendShow: boolean\n legendTextStyleColor: string\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n xAxisLabelInterval: number\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisMinInterval: number // 最小间距\n xAxisLabelColor: string // x轴名称颜色\n xAxisLabelRotate: number\n xAxisLabelOverflow: string\n xAxisLabelWidth: number | undefined // x轴名称宽度\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisTickShow: boolean // 展示刻度\n yAxisSplitLineShow: boolean // y轴展示分割线\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLineAlwaysDisplay: boolean // 总是显示y轴\n yAxisLabelShow: boolean\n\n tooltipShow: boolean\n tooltipTextStyleColor: string\n tooltipFormatter: string\n tooltipBorderColor: string\n tooltipBackgroundColor: string\n tooltipTrigger: 'item' | 'axis' | 'none'\n\n seriesTypes: { [key: string]: any }[]\n yAxis: { [key: string]: any }[]\n yAxisMinInterval: number\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n toolboxShow: boolean\n toolboxLocation: boolean\n toolboxDownloadShow: boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top' | 'middle' | 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n symbolSize: number // 线宽度\n lineStyleWidth: number // 线宽\n smooth: boolean // 光滑\n areaStyleOpacity: number\n barWidth: string\n}\n\nexport const comboGraphProps: ComboGraphProps = {\n name: '组合图表',\n type: 'comboGraph',\n width: '400px',\n height: '400px',\n titleText: '',\n titleSubtext: '',\n colors: ['#FFBF53', '#04B1C2', '#F07474', '#C55784', '#9A5FB3', '#CF62D7', '#5E78EA', '#51B3F0', '#69D4DC', '#49B788', '#9CCC66', '#C18C00'],\n colorsType: '默认',\n legendShow: true,\n legendTextStyleColor: '#333',\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipTrigger: 'item',\n tooltipFormatter: '{marker} {a} {c}',\n tooltipBorderColor: '#333',\n tooltipBackgroundColor: '#fff',\n\n xAxisLabelInterval: 0,\n xAxisSplitLineShow: true,\n xAxisLabelRotate: 0,\n xAxisLabelOverflow: 'none',\n xAxisLabelWidth: undefined,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelColor: '#333',\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisMinInterval: 0,\n yAxisMinInterval: 0,\n yAxisSplitLineShow: true,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n yAxisLineAlwaysDisplay: false,\n yAxisLabelShow: true,\n seriesTypes: [\n {\n type: 'bar',\n axisIndex: 0\n },\n {\n type: 'line',\n axisIndex: 0\n }\n ],\n yAxis: [\n {\n axisLabelFormatter: '{value}'\n },\n {\n axisLabelFormatter: '{value}'\n }\n ],\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n toolboxShow: false,\n toolboxLocation: false,\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n areaStyleOpacity: 0,\n symbolSize: 4,\n lineStyleWidth: 2,\n smooth: false,\n barWidth: '40%'\n}\n","import { barProps } from './bar'\nimport { lineProps } from './line'\nimport { pieProps } from './pie'\nimport { customGraphProps } from './custom-graph'\nimport { comboGraphProps } from './combo-graph'\n\nexport default {\n bar: barProps,\n line: lineProps,\n pie: pieProps,\n customGraph: customGraphProps,\n comboGraph: comboGraphProps\n}\n","\r\nexport interface TableProps {\r\n name: String\r\n type: String\r\n size: String // 尺寸\r\n allOverflow: String // 内容超出\r\n hoverRow: Boolean // 点击行高亮\r\n hoverColor: String // hover行颜色\r\n headerCellStyleMethod: String // 表头单元格样式\r\n rowStyleMethod: String // 行样式\r\n boderList: Array<String> // 边框不显示\r\n columnDropEnable: Boolean // 列拖拽\r\n showTotalBool: Boolean // 显示汇总行\r\n totalName: String // 汇总行名\r\n expandAll: Boolean // 展开所有节点\r\n}\r\n\r\nexport const tableProps: TableProps = {\r\n name: '表格',\r\n type: 'table',\r\n size: 'medium',\r\n allOverflow: 'title',\r\n hoverRow: true,\r\n hoverColor: '#f5f7fa',\r\n headerCellStyleMethod: '',\r\n rowStyleMethod: '',\r\n boderList: [],\r\n columnDropEnable: true,\r\n showTotalBool: false,\r\n totalName: '',\r\n expandAll: false\r\n}\r\n","import { defineAsyncComponent, AsyncComponentLoader } from 'vue'\nconst loadAsyncComponent = (loader: AsyncComponentLoader<any>) => defineAsyncComponent({\n loader,\n delay: 200\n})\n\nexport default loadAsyncComponent\n","function e(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function t(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function l(e){try{s(o.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,l)}s((o=o.apply(e,t||[])).next())}))}const n=()=>{},o=Object.assign,r=Array.isArray,i=e=>\"function\"==typeof e,a=e=>\"symbol\"==typeof e;let l;const s=()=>l||(l=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{});const c=e=>{const t=new Set(e);return t.w=0,t.n=0,t},u=e=>(e.w&p)>0,d=e=>(e.n&p)>0;let f=0,p=1;let h;class y{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,function(e,t){t&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();let e=h,t=b;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=h,h=this,b=!0,p=1<<++f,f<=30?(({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=p})(this):m(this),this.fn()}finally{f<=30&&(e=>{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o<t.length;o++){const r=t[o];u(r)&&!d(r)?r.delete(e):t[n++]=r,r.w&=~p,r.n&=~p}t.length=n}})(this),p=1<<--f,h=this.parent,b=t,this.parent=void 0,this.deferStop&&this.stop()}}stop(){h===this?this.deferStop=!0:this.active&&(m(this),this.onStop&&this.onStop(),this.active=!1)}}function m(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let b=!0;const g=[];function v(e,t){let n=!1;f<=30?d(e)||(e.n|=p,n=!u(e)):n=!e.has(h),n&&(e.add(h),h.deps.push(e),\"production\"!==process.env.NODE_ENV&&h.onTrack&&h.onTrack(o({effect:h},t)))}function x(e,t){const n=r(e)?e:[...e];for(const e of n)e.computed&&w(e,t);for(const e of n)e.computed||w(e,t)}function w(e,t){(e!==h||e.allowRecurse)&&(\"production\"!==process.env.NODE_ENV&&e.onTrigger&&e.onTrigger(o({effect:e},t)),e.scheduler?e.scheduler():e.run())}function S(e){const t=e&&e.__v_raw;return t?S(t):e}function A(e){return!(!e||!0!==e.__v_isRef)}function _(e){return A(e)?e.value:e}new Set(Object.getOwnPropertyNames(Symbol).filter((e=>\"arguments\"!==e&&\"caller\"!==e)).map((e=>Symbol[e])).filter(a));class j{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new y(e,(()=>{this._dirty||(this._dirty=!0,function(e,t){const n=(e=S(e)).dep;n&&(\"production\"!==process.env.NODE_ENV?x(n,{target:e,type:\"set\",key:\"value\",newValue:t}):x(n))}(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=S(this);var t;return t=e,b&&h&&(t=S(t),\"production\"!==process.env.NODE_ENV?v(t.dep||(t.dep=c()),{target:t,type:\"get\",key:\"value\"}):v(t.dep||(t.dep=c()))),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}const O=[];function C(e,...t){if(\"production\"===process.env.NODE_ENV)return;g.push(b),b=!1;const n=O.length?O[O.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=function(){let e=O[O.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}();if(o)$(o,n,11,[e+t.join(\"\"),n&&n.proxy,r.map((({vnode:e})=>`at <${oe(n,e.type)}>`)).join(\"\\n\"),r]);else{const n=[`[Vue warn]: ${e}`,...t];r.length&&n.push(\"\\n\",...function(e){const t=[];return e.forEach(((e,n)=>{t.push(...0===n?[]:[\"\\n\"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:\"\",o=!!e.component&&null==e.component.parent,r=` at <${oe(e.component,e.type,o)}`,i=\">\"+n;return e.props?[r,...L(e.props),i]:[r+i]}(e))})),t}(r)),console.warn(...n)}!function(){const e=g.pop();b=void 0===e||e}()}function L(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach((n=>{t.push(...T(n,e[n]))})),n.length>3&&t.push(\" ...\"),t}function T(e,t,n){return\"string\"==typeof t?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):\"number\"==typeof t||\"boolean\"==typeof t||null==t?n?t:[`${e}=${t}`]:A(t)?(t=T(e,S(t.value),!0),n?t:[`${e}=Ref<`,t,\">\"]):i(t)?[`${e}=fn${t.name?`<${t.name}>`:\"\"}`]:(t=S(t),n?t:[`${e}=`,t])}const N={sp:\"serverPrefetch hook\",bc:\"beforeCreate hook\",c:\"created hook\",bm:\"beforeMount hook\",m:\"mounted hook\",bu:\"beforeUpdate hook\",u:\"updated\",bum:\"beforeUnmount hook\",um:\"unmounted hook\",a:\"activated hook\",da:\"deactivated hook\",ec:\"errorCaptured hook\",rtc:\"renderTracked hook\",rtg:\"renderTriggered hook\",0:\"setup function\",1:\"render function\",2:\"watcher getter\",3:\"watcher callback\",4:\"watcher cleanup function\",5:\"native event handler\",6:\"component event handler\",7:\"vnode hook\",8:\"directive hook\",9:\"transition hook\",10:\"app errorHandler\",11:\"app warnHandler\",12:\"ref function\",13:\"async component loader\",14:\"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"};function $(e,t,n,o){let r;try{r=o?e(...o):e()}catch(e){!function(e,t,n,o=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const r=t.proxy,i=\"production\"!==process.env.NODE_ENV?N[n]:n;for(;o;){const t=o.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,r,i))return;o=o.parent}const a=t.appContext.config.errorHandler;if(a)return void $(a,null,10,[e,r,i])}!function(e,t,n,o=!0){if(\"production\"!==process.env.NODE_ENV){const i=N[t];if(n&&(r=n,O.push(r)),C(\"Unhandled error\"+(i?` during execution of ${i}`:\"\")),n&&O.pop(),o)throw e;console.error(e)}else console.error(e);var r}(e,n,r,o)}(e,t,n)}return r}let k=!1,D=!1;const M=[];let E=0;const I=[];let F=null,V=0;const z=Promise.resolve();function R(e){M.length&&M.includes(e,k&&e.allowRecurse?E+1:E)||(null==e.id?M.push(e):M.splice(function(e){let t=E+1,n=M.length;for(;t<n;){const o=t+n>>>1,r=M[o],i=P(r);i<e||i===e&&r.pre?t=o+1:n=o}return t}(e.id),0,e),U())}function U(){k||D||(D=!0,z.then(Y))}const P=e=>null==e.id?1/0:e.id,G=(e,t)=>{const n=P(e)-P(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Y(e){D=!1,k=!0,\"production\"!==process.env.NODE_ENV&&(e=e||new Map),M.sort(G);const t=\"production\"!==process.env.NODE_ENV?t=>W(e,t):n;try{for(E=0;E<M.length;E++){const e=M[E];if(e&&!1!==e.active){if(\"production\"!==process.env.NODE_ENV&&t(e))continue;$(e,null,14)}}}finally{E=0,M.length=0,function(e){if(I.length){const t=[...new Set(I)];if(I.length=0,F)return void F.push(...t);for(F=t,\"production\"!==process.env.NODE_ENV&&(e=e||new Map),F.sort(((e,t)=>P(e)-P(t))),V=0;V<F.length;V++)\"production\"!==process.env.NODE_ENV&&W(e,F[V])||F[V]();F=null,V=0}}(e),k=!1,(M.length||I.length)&&Y(e)}}function W(e,t){if(e.has(t)){const n=e.get(t);if(n>100){const e=t.ownerInstance,n=e&&ne(e.type);return C(`Maximum recursive updates exceeded${n?` in component <${n}>`:\"\"}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`),!0}e.set(t,n+1)}else e.set(t,1)}const H=new Set;\"production\"!==process.env.NODE_ENV&&(s().__VUE_HMR_RUNTIME__={createRecord:Q((function(e,t){if(B.has(e))return!1;return B.set(e,{initialDef:K(t),instances:new Set}),!0})),rerender:Q((function(e,t){const n=B.get(e);if(!n)return;n.initialDef.render=t,[...n.instances].forEach((e=>{t&&(e.render=t,K(e.type).render=t),e.renderCache=[],e.update()}))})),reload:Q((function(e,t){const n=B.get(e);if(!n)return;t=K(t),q(n.initialDef,t);const o=[...n.instances];for(const e of o){const o=K(e.type);H.has(o)||(o!==n.initialDef&&q(o,t),H.add(o)),e.appContext.propsCache.delete(e.type),e.appContext.emitsCache.delete(e.type),e.appContext.optionsCache.delete(e.type),e.ceReload?(H.add(o),e.ceReload(t.styles),H.delete(o)):e.parent?R(e.parent.update):e.appContext.reload?e.appContext.reload():\"undefined\"!=typeof window?window.location.reload():console.warn(\"[HMR] Root or manually mounted instance modified. Full reload required.\")}i=()=>{for(const e of o)H.delete(K(e.type))},r(i)?I.push(...i):F&&F.includes(i,i.allowRecurse?V+1:V)||I.push(i),U();var i}))});const B=new Map;function K(e){return i(t=e)&&\"__vccOpts\"in t?e.__vccOpts:e;var t}function q(e,t){o(e,t);for(const n in e)\"__file\"===n||n in t||delete e[n]}function Q(e){return(t,n)=>{try{return e(t,n)}catch(e){console.error(e),console.warn(\"[HMR] Something went wrong during Vue component hot-reload. Full reload required.\")}}}const J={};let X;\"production\"!==process.env.NODE_ENV&&(J.ownKeys=e=>(C(\"Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.\"),Reflect.ownKeys(e)));let Z=\"__VUE_INSTANCE_SETTERS__\";(X=s()[Z])||(X=s()[Z]=[]),X.push((e=>e));const ee=/(?:^|[-_])(\\w)/g,te=e=>e.replace(ee,(e=>e.toUpperCase())).replace(/[-_]/g,\"\");function ne(e,t=!0){return i(e)?e.displayName||e.name:e.name||t&&e.__name}function oe(e,t,n=!1){let o=ne(t);if(!o&&t.__file){const e=t.__file.match(/([^/\\\\]+)\\.\\w+$/);e&&(o=e[1])}if(!o&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};o=n(e.components||e.parent.type.components)||n(e.appContext.components)}return o?te(o):n?\"App\":\"Anonymous\"}const re=(e,t)=>function(e,t,o=!1){let r,a;const l=i(e);return l?(r=e,a=\"production\"!==process.env.NODE_ENV?()=>{console.warn(\"Write operation failed: computed value is readonly\")}:n):(r=e.get,a=e.set),new j(r,a,l||!a,o)}(e,0,false);function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var ae,le={exports:{}};function se(){return ae||(ae=1,le.exports=function(){var e=1e3,t=6e4,n=36e5,o=\"millisecond\",r=\"second\",i=\"minute\",a=\"hour\",l=\"day\",s=\"week\",c=\"month\",u=\"quarter\",d=\"year\",f=\"date\",p=\"Invalid Date\",h=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var t=[\"th\",\"st\",\"nd\",\"rd\"],n=e%100;return\"[\"+e+(t[(n-20)%10]||t[n]||t[0])+\"]\"}},b=function(e,t,n){var o=String(e);return!o||o.length>=t?e:\"\"+Array(t+1-o.length).join(n)+e},g={s:b,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),o=Math.floor(n/60),r=n%60;return(t<=0?\"+\":\"-\")+b(o,2,\"0\")+\":\"+b(r,2,\"0\")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var o=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(o,c),i=n-r<0,a=t.clone().add(o+(i?-1:1),c);return+(-(o+(n-r)/(i?r-a:a-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:d,w:s,d:l,D:f,h:a,m:i,s:r,ms:o,Q:u}[e]||String(e||\"\").toLowerCase().replace(/s$/,\"\")},u:function(e){return void 0===e}},v=\"en\",x={};x[v]=m;var w=\"$isDayjsObject\",S=function(e){return e instanceof O||!(!e||!e[w])},A=function e(t,n,o){var r;if(!t)return v;if(\"string\"==typeof t){var i=t.toLowerCase();x[i]&&(r=i),n&&(x[i]=n,r=i);var a=t.split(\"-\");if(!r&&a.length>1)return e(a[0])}else{var l=t.name;x[l]=t,r=l}return!o&&r&&(v=r),r||!o&&v},_=function(e,t){if(S(e))return e.clone();var n=\"object\"==typeof t?t:{};return n.date=e,n.args=arguments,new O(n)},j=g;j.l=A,j.i=S,j.w=function(e,t){return _(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var O=function(){function m(e){this.$L=A(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var b=m.prototype;return b.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(j.u(t))return new Date;if(t instanceof Date)return new Date(t);if(\"string\"==typeof t&&!/Z$/i.test(t)){var o=t.match(h);if(o){var r=o[2]-1||0,i=(o[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(o[1],r,o[3]||1,o[4]||0,o[5]||0,o[6]||0,i)):new Date(o[1],r,o[3]||1,o[4]||0,o[5]||0,o[6]||0,i)}}return new Date(t)}(e),this.init()},b.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},b.$utils=function(){return j},b.isValid=function(){return!(this.$d.toString()===p)},b.isSame=function(e,t){var n=_(e);return this.startOf(t)<=n&&n<=this.endOf(t)},b.isAfter=function(e,t){return _(e)<this.startOf(t)},b.isBefore=function(e,t){return this.endOf(t)<_(e)},b.$g=function(e,t,n){return j.u(e)?this[t]:this.set(n,e)},b.unix=function(){return Math.floor(this.valueOf()/1e3)},b.valueOf=function(){return this.$d.getTime()},b.startOf=function(e,t){var n=this,o=!!j.u(t)||t,u=j.p(e),p=function(e,t){var r=j.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return o?r:r.endOf(l)},h=function(e,t){return j.w(n.toDate()[e].apply(n.toDate(\"s\"),(o?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},y=this.$W,m=this.$M,b=this.$D,g=\"set\"+(this.$u?\"UTC\":\"\");switch(u){case d:return o?p(1,0):p(31,11);case c:return o?p(1,m):p(0,m+1);case s:var v=this.$locale().weekStart||0,x=(y<v?y+7:y)-v;return p(o?b-x:b+(6-x),m);case l:case f:return h(g+\"Hours\",0);case a:return h(g+\"Minutes\",1);case i:return h(g+\"Seconds\",2);case r:return h(g+\"Milliseconds\",3);default:return this.clone()}},b.endOf=function(e){return this.startOf(e,!1)},b.$set=function(e,t){var n,s=j.p(e),u=\"set\"+(this.$u?\"UTC\":\"\"),p=(n={},n[l]=u+\"Date\",n[f]=u+\"Date\",n[c]=u+\"Month\",n[d]=u+\"FullYear\",n[a]=u+\"Hours\",n[i]=u+\"Minutes\",n[r]=u+\"Seconds\",n[o]=u+\"Milliseconds\",n)[s],h=s===l?this.$D+(t-this.$W):t;if(s===c||s===d){var y=this.clone().set(f,1);y.$d[p](h),y.init(),this.$d=y.set(f,Math.min(this.$D,y.daysInMonth())).$d}else p&&this.$d[p](h);return this.init(),this},b.set=function(e,t){return this.clone().$set(e,t)},b.get=function(e){return this[j.p(e)]()},b.add=function(o,u){var f,p=this;o=Number(o);var h=j.p(u),y=function(e){var t=_(p);return j.w(t.date(t.date()+Math.round(e*o)),p)};if(h===c)return this.set(c,this.$M+o);if(h===d)return this.set(d,this.$y+o);if(h===l)return y(1);if(h===s)return y(7);var m=(f={},f[i]=t,f[a]=n,f[r]=e,f)[h]||1,b=this.$d.getTime()+o*m;return j.w(b,this)},b.subtract=function(e,t){return this.add(-1*e,t)},b.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var o=e||\"YYYY-MM-DDTHH:mm:ssZ\",r=j.z(this),i=this.$H,a=this.$m,l=this.$M,s=n.weekdays,c=n.months,u=n.meridiem,d=function(e,n,r,i){return e&&(e[n]||e(t,o))||r[n].slice(0,i)},f=function(e){return j.s(i%12||12,e,\"0\")},h=u||function(e,t,n){var o=e<12?\"AM\":\"PM\";return n?o.toLowerCase():o};return o.replace(y,(function(e,o){return o||function(e){switch(e){case\"YY\":return String(t.$y).slice(-2);case\"YYYY\":return j.s(t.$y,4,\"0\");case\"M\":return l+1;case\"MM\":return j.s(l+1,2,\"0\");case\"MMM\":return d(n.monthsShort,l,c,3);case\"MMMM\":return d(c,l);case\"D\":return t.$D;case\"DD\":return j.s(t.$D,2,\"0\");case\"d\":return String(t.$W);case\"dd\":return d(n.weekdaysMin,t.$W,s,2);case\"ddd\":return d(n.weekdaysShort,t.$W,s,3);case\"dddd\":return s[t.$W];case\"H\":return String(i);case\"HH\":return j.s(i,2,\"0\");case\"h\":return f(1);case\"hh\":return f(2);case\"a\":return h(i,a,!0);case\"A\":return h(i,a,!1);case\"m\":return String(a);case\"mm\":return j.s(a,2,\"0\");case\"s\":return String(t.$s);case\"ss\":return j.s(t.$s,2,\"0\");case\"SSS\":return j.s(t.$ms,3,\"0\");case\"Z\":return r}return null}(e)||r.replace(\":\",\"\")}))},b.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},b.diff=function(o,f,p){var h,y=this,m=j.p(f),b=_(o),g=(b.utcOffset()-this.utcOffset())*t,v=this-b,x=function(){return j.m(y,b)};switch(m){case d:h=x()/12;break;case c:h=x();break;case u:h=x()/3;break;case s:h=(v-g)/6048e5;break;case l:h=(v-g)/864e5;break;case a:h=v/n;break;case i:h=v/t;break;case r:h=v/e;break;default:h=v}return p?h:j.a(h)},b.daysInMonth=function(){return this.endOf(c).$D},b.$locale=function(){return x[this.$L]},b.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),o=A(e,t,!0);return o&&(n.$L=o),n},b.clone=function(){return j.w(this.$d,this)},b.toDate=function(){return new Date(this.valueOf())},b.toJSON=function(){return this.isValid()?this.toISOString():null},b.toISOString=function(){return this.$d.toISOString()},b.toString=function(){return this.$d.toUTCString()},m}(),C=O.prototype;return _.prototype=C,[[\"$ms\",o],[\"$s\",r],[\"$m\",i],[\"$H\",a],[\"$W\",l],[\"$M\",c],[\"$y\",d],[\"$D\",f]].forEach((function(e){C[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),_.extend=function(e,t){return e.$i||(e(t,O,_),e.$i=!0),_},_.locale=A,_.isDayjs=S,_.unix=function(e){return _(1e3*e)},_.en=x[v],_.Ls=x,_.p={},_}()),le.exports}var ce=ie(se()),ue=\"object\"==typeof global&&global&&global.Object===Object&&global,de=\"object\"==typeof self&&self&&self.Object===Object&&self,fe=ue||de||Function(\"return this\")(),pe=fe.Symbol,he=Object.prototype,ye=he.hasOwnProperty,me=he.toString,be=pe?pe.toStringTag:void 0;var ge=Object.prototype.toString;var ve=pe?pe.toStringTag:void 0;function xe(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":ve&&ve in Object(e)?function(e){var t=ye.call(e,be),n=e[be];try{e[be]=void 0;var o=!0}catch(e){}var r=me.call(e);return o&&(t?e[be]=n:delete e[be]),r}(e):function(e){return ge.call(e)}(e)}function we(e){return null!=e&&\"object\"==typeof e}var Se=Array.isArray;function Ae(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function _e(e){if(!Ae(e))return!1;var t=xe(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}var je,Oe=fe[\"__core-js_shared__\"],Ce=(je=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+je:\"\";var Le=Function.prototype.toString;function Te(e){if(null!=e){try{return Le.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var Ne=/^\\[object .+?Constructor\\]$/,$e=Function.prototype,ke=Object.prototype,De=$e.toString,Me=ke.hasOwnProperty,Ee=RegExp(\"^\"+De.call(Me).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function Ie(e){return!(!Ae(e)||(t=e,Ce&&Ce in t))&&(_e(e)?Ee:Ne).test(Te(e));var t}function Fe(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ie(n)?n:void 0}var Ve=Fe(fe,\"WeakMap\"),ze=Object.create,Re=function(){function e(){}return function(t){if(!Ae(t))return{};if(ze)return ze(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),Ue=function(){try{var e=Fe(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();var Pe=/^(?:0|[1-9]\\d*)$/;function Ge(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&Pe.test(e))&&e>-1&&e%1==0&&e<t}function Ye(e,t){return e===t||e!=e&&t!=t}var We=Object.prototype.hasOwnProperty;function He(e,t,n){var o=e[t];We.call(e,t)&&Ye(o,n)&&(void 0!==n||t in e)||function(e,t,n){\"__proto__\"==t&&Ue?Ue(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}(e,t,n)}function Be(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var Ke=Object.prototype;function qe(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||Ke)}function Qe(e){return we(e)&&\"[object Arguments]\"==xe(e)}var Je=Object.prototype,Xe=Je.hasOwnProperty,Ze=Je.propertyIsEnumerable,et=Qe(function(){return arguments}())?Qe:function(e){return we(e)&&Xe.call(e,\"callee\")&&!Ze.call(e,\"callee\")};var tt=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,nt=tt&&\"object\"==typeof module&&module&&!module.nodeType&&module,ot=nt&&nt.exports===tt?fe.Buffer:void 0,rt=(ot?ot.isBuffer:void 0)||function(){return!1},it={};function at(e){return function(t){return e(t)}}it[\"[object Float32Array]\"]=it[\"[object Float64Array]\"]=it[\"[object Int8Array]\"]=it[\"[object Int16Array]\"]=it[\"[object Int32Array]\"]=it[\"[object Uint8Array]\"]=it[\"[object Uint8ClampedArray]\"]=it[\"[object Uint16Array]\"]=it[\"[object Uint32Array]\"]=!0,it[\"[object Arguments]\"]=it[\"[object Array]\"]=it[\"[object ArrayBuffer]\"]=it[\"[object Boolean]\"]=it[\"[object DataView]\"]=it[\"[object Date]\"]=it[\"[object Error]\"]=it[\"[object Function]\"]=it[\"[object Map]\"]=it[\"[object Number]\"]=it[\"[object Object]\"]=it[\"[object RegExp]\"]=it[\"[object Set]\"]=it[\"[object String]\"]=it[\"[object WeakMap]\"]=!1;var lt=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,st=lt&&\"object\"==typeof module&&module&&!module.nodeType&&module,ct=st&&st.exports===lt&&ue.process,ut=function(){try{var e=st&&st.require&&st.require(\"util\").types;return e||ct&&ct.binding&&ct.binding(\"util\")}catch(e){}}(),dt=ut&&ut.isTypedArray,ft=dt?at(dt):function(e){return we(e)&&Be(e.length)&&!!it[xe(e)]},pt=Object.prototype.hasOwnProperty;function ht(e,t){var n=Se(e),o=!n&&et(e),r=!n&&!o&&rt(e),i=!n&&!o&&!r&&ft(e),a=n||o||r||i,l=a?function(e,t){for(var n=-1,o=Array(e);++n<e;)o[n]=t(n);return o}(e.length,String):[],s=l.length;for(var c in e)!pt.call(e,c)||a&&(\"length\"==c||r&&(\"offset\"==c||\"parent\"==c)||i&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||Ge(c,s))||l.push(c);return l}function yt(e,t){return function(n){return e(t(n))}}var mt=yt(Object.keys,Object),bt=Object.prototype.hasOwnProperty;function gt(e){return null!=(t=e)&&Be(t.length)&&!_e(t)?ht(e):function(e){if(!qe(e))return mt(e);var t=[];for(var n in Object(e))bt.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}(e);var t}var vt=Fe(Object,\"create\");var xt=Object.prototype.hasOwnProperty;var wt=Object.prototype.hasOwnProperty;function St(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function At(e,t){for(var n=e.length;n--;)if(Ye(e[n][0],t))return n;return-1}St.prototype.clear=function(){this.__data__=vt?vt(null):{},this.size=0},St.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},St.prototype.get=function(e){var t=this.__data__;if(vt){var n=t[e];return\"__lodash_hash_undefined__\"===n?void 0:n}return xt.call(t,e)?t[e]:void 0},St.prototype.has=function(e){var t=this.__data__;return vt?void 0!==t[e]:wt.call(t,e)},St.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=vt&&void 0===t?\"__lodash_hash_undefined__\":t,this};var _t=Array.prototype.splice;function jt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}jt.prototype.clear=function(){this.__data__=[],this.size=0},jt.prototype.delete=function(e){var t=this.__data__,n=At(t,e);return!(n<0)&&(n==t.length-1?t.pop():_t.call(t,n,1),--this.size,!0)},jt.prototype.get=function(e){var t=this.__data__,n=At(t,e);return n<0?void 0:t[n][1]},jt.prototype.has=function(e){return At(this.__data__,e)>-1},jt.prototype.set=function(e,t){var n=this.__data__,o=At(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this};var Ot=Fe(fe,\"Map\");function Ct(e,t){var n,o,r=e.__data__;return(\"string\"==(o=typeof(n=t))||\"number\"==o||\"symbol\"==o||\"boolean\"==o?\"__proto__\"!==n:null===n)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}function Lt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}Lt.prototype.clear=function(){this.size=0,this.__data__={hash:new St,map:new(Ot||jt),string:new St}},Lt.prototype.delete=function(e){var t=Ct(this,e).delete(e);return this.size-=t?1:0,t},Lt.prototype.get=function(e){return Ct(this,e).get(e)},Lt.prototype.has=function(e){return Ct(this,e).has(e)},Lt.prototype.set=function(e,t){var n=Ct(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this};var Tt=yt(Object.getPrototypeOf,Object);function Nt(e){var t=this.__data__=new jt(e);this.size=t.size}Nt.prototype.clear=function(){this.__data__=new jt,this.size=0},Nt.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Nt.prototype.get=function(e){return this.__data__.get(e)},Nt.prototype.has=function(e){return this.__data__.has(e)},Nt.prototype.set=function(e,t){var n=this.__data__;if(n instanceof jt){var o=n.__data__;if(!Ot||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new Lt(o)}return n.set(e,t),this.size=n.size,this};var $t=Object.prototype.propertyIsEnumerable,kt=Object.getOwnPropertySymbols,Dt=kt?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,o=null==e?0:e.length,r=0,i=[];++n<o;){var a=e[n];t(a,n,e)&&(i[r++]=a)}return i}(kt(e),(function(t){return $t.call(e,t)})))}:function(){return[]};function Mt(e){return function(e,t,n){var o=t(e);return Se(e)?o:function(e,t){for(var n=-1,o=t.length,r=e.length;++n<o;)e[r+n]=t[n];return e}(o,n(e))}(e,gt,Dt)}var Et=Fe(fe,\"DataView\"),It=Fe(fe,\"Promise\"),Ft=Fe(fe,\"Set\"),Vt=\"[object Map]\",zt=\"[object Promise]\",Rt=\"[object Set]\",Ut=\"[object WeakMap]\",Pt=\"[object DataView]\",Gt=Te(Et),Yt=Te(Ot),Wt=Te(It),Ht=Te(Ft),Bt=Te(Ve),Kt=xe;(Et&&Kt(new Et(new ArrayBuffer(1)))!=Pt||Ot&&Kt(new Ot)!=Vt||It&&Kt(It.resolve())!=zt||Ft&&Kt(new Ft)!=Rt||Ve&&Kt(new Ve)!=Ut)&&(Kt=function(e){var t=xe(e),n=\"[object Object]\"==t?e.constructor:void 0,o=n?Te(n):\"\";if(o)switch(o){case Gt:return Pt;case Yt:return Vt;case Wt:return zt;case Ht:return Rt;case Bt:return Ut}return t});var qt=Object.prototype.hasOwnProperty;var Qt=fe.Uint8Array;function Jt(e){var t=new e.constructor(e.byteLength);return new Qt(t).set(new Qt(e)),t}var Xt=/\\w*$/;var Zt=pe?pe.prototype:void 0,en=Zt?Zt.valueOf:void 0;function tn(e,t,n){var o,r,i,a,l,s=e.constructor;switch(t){case\"[object ArrayBuffer]\":return Jt(e);case\"[object Boolean]\":case\"[object Date]\":return new s(+e);case\"[object DataView]\":return l=Jt((a=e).buffer),new a.constructor(l,a.byteOffset,a.byteLength);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return function(e){var t=Jt(e.buffer);return new e.constructor(t,e.byteOffset,e.length)}(e);case\"[object Map]\":case\"[object Set]\":return new s;case\"[object Number]\":case\"[object String]\":return new s(e);case\"[object RegExp]\":return(i=new(r=e).constructor(r.source,Xt.exec(r))).lastIndex=r.lastIndex,i;case\"[object Symbol]\":return o=e,en?Object(en.call(o)):{}}}var nn=ut&&ut.isMap,on=nn?at(nn):function(e){return we(e)&&\"[object Map]\"==Kt(e)};var rn=ut&&ut.isSet,an=rn?at(rn):function(e){return we(e)&&\"[object Set]\"==Kt(e)},ln=\"[object Arguments]\",sn=\"[object Function]\",cn=\"[object Object]\",un={};function dn(e,t,n,o,r,i){var a;if(void 0!==a)return a;if(!Ae(e))return e;var l=Se(e);if(l)a=function(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&qt.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}(e);else{var s=Kt(e),c=s==sn||\"[object GeneratorFunction]\"==s;if(rt(e))return e.slice();if(s==cn||s==ln||c&&!r)a=c?{}:function(e){return\"function\"!=typeof e.constructor||qe(e)?{}:Re(Tt(e))}(e);else{if(!un[s])return r?e:{};a=tn(e,s)}}i||(i=new Nt);var u=i.get(e);if(u)return u;i.set(e,a),an(e)?e.forEach((function(o){a.add(dn(o,t,n,o,e,i))})):on(e)&&e.forEach((function(o,r){a.set(r,dn(o,t,n,r,e,i))}));var d=l?void 0:Mt(e);return function(e,t){for(var n=-1,o=null==e?0:e.length;++n<o&&!1!==t(e[n],n,e););}(d||e,(function(o,r){d&&(o=e[r=o]),He(a,r,dn(o,t,n,r,e,i))})),a}un[ln]=un[\"[object Array]\"]=un[\"[object ArrayBuffer]\"]=un[\"[object DataView]\"]=un[\"[object Boolean]\"]=un[\"[object Date]\"]=un[\"[object Float32Array]\"]=un[\"[object Float64Array]\"]=un[\"[object Int8Array]\"]=un[\"[object Int16Array]\"]=un[\"[object Int32Array]\"]=un[\"[object Map]\"]=un[\"[object Number]\"]=un[cn]=un[\"[object RegExp]\"]=un[\"[object Set]\"]=un[\"[object String]\"]=un[\"[object Symbol]\"]=un[\"[object Uint8Array]\"]=un[\"[object Uint8ClampedArray]\"]=un[\"[object Uint16Array]\"]=un[\"[object Uint32Array]\"]=!0,un[\"[object Error]\"]=un[sn]=un[\"[object WeakMap]\"]=!1;function fn(e){return dn(e,5)}const pn=(e,t)=>{const n=Object.assign({dayjs:ce},t);let o=\"\";const r=[];for(const e in n)o+=`${e},`,r.push(n[e]);o=o.replace(/,$/,\"\");const i=`function (${o}){return ${e}}`;let a;try{a=Function(`\"use strict\";return (${i})`)()(...r)}catch(t){return e}return a},hn=(e=\"\",{textData:t,codeData:n}={},{useNewline:o=!1,useSpace:r=!1}={})=>{const i=window.config||{},a=Object.assign(Object.assign({},i),t),l=String(e||\"\").match(/\\{(.+?)\\}/g);if(null==l||0===l.length)return e;for(let t=0;t<l.length;t++){const o=l[t];let r=o.slice(1,-1).trim();const i=/[\\u4e00-\\u9fa5a-z-_A-Z0-9]*/g,s=r.match(i);for(let e=0;e<s.length;e++){const t=s[e],n=a[t];null!=n&&\"function\"!=typeof n&&(r=r.replace(t,n))}(/\\(.*\\)/g.test(r)||/[+/\\\\*]/g.test(r))&&(r=pn(r,n)),e=e.replace(o,r)}return o&&(e=null==e?void 0:e.replace(/\\n|\\\\n/g,\"<br/>\")),r&&(e=null==e?void 0:e.replace(/\\s{2,}?/g,\"&nbsp;&nbsp;\")),e=e.replace(/Qfw\\((.*?)\\)/,((e,n)=>(null==t?void 0:t.Qfw)?null==t?void 0:t.Qfw(n):n))},yn=(e,t)=>{if(\"string\"==typeof e&&\"string\"==typeof t)return e.toLocaleLowerCase().includes(t.toLocaleLowerCase());if(\"string\"==typeof e&&Array.isArray(t)){const n=t.length;for(let o=0;o<n;o++){const n=t[o];if(\"string\"==typeof n&&e.toLocaleLowerCase().includes(n.toLocaleLowerCase()))return!0}}return!1},mn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),bn=e=>{const t=[];for(const n of e)n.conditions?t.push(...bn(n.conditions)):\"component\"===(null==n?void 0:n.dataType)&&t.push(n);return t};function gn(e){let t=\"\",n=\"\",o=\"\",r=\"\";e.indexOf(\".\")>-1?(n=e.split(\".\")[0],o=e.split(\".\")[1]):n=e;let i=0,a=0;for(a=n.length-1;a>=0;)i%3==0&&0!==i?\"-\"===n[a]?t+=n[a]:t+=\",\"+n[a]:t+=n[a],a--,i++;return t=t.split(\"\").reverse().join(\"\"),r=e.indexOf(\".\")>-1?t+\".\"+o:t,r}function vn(e){return t(this,arguments,void 0,(function*({graphicConfig:e,request:t,INDICATOR_URL:n=\"\",PAGE_ID:o,dataSourceId:r}){var i;try{const{leftAxisList:a=[],rightAxisList:l=[],queryColumnList:s=[],indicators:c=[]}=_(e),u=[...a,...l,...s,...c],d={};for(const e of u){const{indexCode:t=\"\",parentId:n=\"\"}=e;!n||mn(e,\"calcType\")||d[n]||(d[n]=t)}if(null===(i=Object.keys(d))||void 0===i?void 0:i.length){const e=[];for(const i in d)e.push(new Promise(((e,a)=>{t.post(`${n}/diagram/hrpIndexWithComplex`,{pageId:o,indexGuid:i,indexCode:d[i],dataSourceId:r}).then((t=>{var n;const{success:o,data:r=[]}=t.data;o&&(null===(n=null==r?void 0:r.dataViewColumns)||void 0===n?void 0:n.length)?e(r.dataViewColumns):a(r)})).catch((e=>{console.error(e),a(e)}))})));const i=yield Promise.all(e);return i.reduce(((e,t)=>e.filter((e=>t.find((t=>t.typeGuid===e.typeGuid)))))).filter((e=>e.typeGuid))}}catch(e){console.error(e)}return[]}))}const xn=[\"table\",\"bar\",\"combograph\",\"line\",\"pie\",\"radar\",\"scatter\",\"list\",\"circulate\"];let wn=new Map,Sn=[];const An=[\"keyValue\",\"conditionKey\",\"conditionLabel\",\"conditionName\",\"conditionValueType\",\"customValue\",\"id\",\"keyName\"],_n=e=>wn.get(e),jn=(e,t)=>{if(t)mn(e,\"indexCode\")&&(e.hrpIndexCode=e.indexCode,delete e.indexCode),mn(e,\"indexCodeNum\")&&(e.hrpIndexCodeNum=e.indexCodeNum,delete e.indexCodeNum),mn(e,\"dataType\")&&delete e.dataType,e.fieldValue||delete e.fieldValue;else{const{calcWays:t=[],dateCalcTypes:n=[],activeKey:o,componentId:r=\"\"}=e;if(5===o&&(null==t?void 0:t.length)&&(null==n?void 0:n.length)&&r){const o=t[0].split(\"-\");(null==o?void 0:o.length)>1&&\"rangeValue\"===o[0]&&(e.calcWays=((e,t={})=>{const{around:n,unit:o,id:r}=e;let i=\"\";const{pageMode:a=\"\",componentList:l=[]}=(null==t?void 0:t.graphicConfig)||{};let s=null,c=null;if(\"design\"===a){const e=null==l?void 0:l.find((e=>e.id===r));if(!e)return[];const{interval:t,intervalUnit:n,startTime:o,endTime:i,operate:a,useCurrentTime:u}=e||{};if(u&&(s=ce().subtract(t,n),c=ce()),o&&(s=ce(o)),i&&(c=ce(i)),a){const{type:e,value:t,mode:n}=a;switch(e){case\"add\":s=s?s.add(t,n):s,c=c?c.add(t,n):c;break;case\"minus\":s=s?s.subtract(t,n):s,c=c?c.subtract(t,n):c}}}else{const e=_n(r)||{};_(e.startTime)&&(s=ce(_(e.startTime))),_(e.endTime)&&(c=ce(_(e.endTime)))}s&&c&&(i=`${\"before\"===n?\"-\":\"\"}${c.diff(s,o.toLowerCase())+1}`);return i?[i]:[]})({around:o[1],unit:n[0],id:r})),delete e.radioValue}if(mn(e,\"dataType\")){if(\"DATE\"===e.fieldType&&(e.label=e.fieldName),\"component\"===e.dataType)if(\"PARENT\"===e.fieldValue){let t=e.modelKey;t&&e.prop&&(t+=`-${e.prop}`),e.fieldValue=\"${\"+t+\"}\"}else e.fieldValue=\"${\"+Ln(e.componentId,e.fieldValue)+\"}\";delete e.dataType}mn(e,\"activeKey\")&&delete e.activeKey,mn(e,\"radioValue\")&&delete e.radioValue,mn(e,\"indexCode\")&&(e.hrpIndexCode=e.indexCode,delete e.indexCode),mn(e,\"indexCodeNum\")&&(e.hrpIndexCodeNum=e.indexCodeNum,delete e.indexCodeNum),\"component\"!==e.dataType&&e.useCurrentTime&&(e.fieldValue=ce().format(e.dateFormat)),mn(e,\"modelKey\")&&delete e.modelKey,mn(e,\"prop\")&&delete e.prop,delete e.useCurrentTime}},On=(e,t)=>{const n=[];return(null==e?void 0:e.length)&&fn(e).forEach((e=>{if(e.join&&e.conditions){const o=!e.conditions.some((e=>e.join&&e.conditions));e.conditions.forEach(((r,i)=>{jn(r,t);const a={};if(i<e.conditions.length-1&&(a.join=e.join),o)n.push(Object.assign(Object.assign({},a),r));else if(r.join&&r.conditions){const e=t?\"sqlConditions\":\"conditions\";n.push(Object.assign({[e]:On([r],t)},a))}else n.push(Object.assign(Object.assign({},a),r))}))}else jn(e,t),n.push(e)})),n},Cn=(e={},t)=>{if((null==e?void 0:e.sortCpnts)&&t){const n=Mn(e);n&&(t.sort=n)}const{label:n,name:o,location:r,show:i,indexCode:a,indexCodeNum:l,calcType:s=\"COLUMN\",builtInFormula:c,builtInValueSource:u,builtInCalcWay:d,formula:f,conditions:p,aggregate:h,distinct:y,dimByCount:m,dataTo:b,sort:g}=e;let v;if(p&&(v=On(p)),\"COMPONENT\"===s){const e={};return kn(e,u),{label:n.trim(),columnName:o,show:i,calcType:s,componentAlias:d,componentValue:e.fieldValue||null}}const x={label:n.trim(),columnName:o,location:r,show:i,calcType:\"1\"===b?\"VIEW\":s,hrpIndexCode:a,hrpIndexCodeNum:l,aggregate:h,builtInFormula:c,builtInValueSource:u,formula:f,conditions:v};if(g&&(x.sort={columnName:o,label:x.label,order:g,type:\"NORMAL\"}),\"DATE_OFFSET\"!==c)return\"the_count\"===o&&(x.calcType=\"AGGREGATE\",x.distinct=!!y,x.typeGuid=m),Object.assign(Object.assign({},x),{builtInCalcWay:d});{const e=d.split(\"-\");if(3===(null==e?void 0:e.length)){let t=e[0];return\"before\"===e[2]&&\"0\"!==e[0]&&(t=`-${e[0]}`),Object.assign(Object.assign({},x),{calcWays:[t],dateCalcTypes:[e[1]]})}}},Ln=(e,t)=>{const n=Sn.find((t=>t.id===e)),{keyName:o}=n||{};if(o){const e=/-(startTime|endTime)/g,n=t.match(e);return(null==n?void 0:n.length)?`${o}${n[0]}`:o}return t||\"\"},Tn=e=>{if(!e)return[];const t=fn((null==e?void 0:e.controlList)||[]).filter((e=>\"parentCode\"!==e.conditionKey)),{classificationList:n=[],rowHeaderList:o=[],dimensionList:r=[],seriesList:i=[],leftAxisList:a=[],rightAxisList:l=[],queryColumnList:s=[],indexLibColumns:c=[],indicators:u=[],specialIndicators:d=[]}=e;$n(t);const f=[...n,...o,...r,...i,...a,...l,...s,...c,...u,...d],p=[];for(const e of f){const t=bn((null==e?void 0:e.conditions)||[]);if(null==t?void 0:t.length){const e=t.filter((e=>\"component\"===(null==e?void 0:e.dataType))).map((e=>{const t={};return(null==e?void 0:e.dateFormat)&&(t.format=e.dateFormat),\"PARENT\"===e.fieldValue&&(t.id=\"PARENT\",t.keyName=e.modelKey,t.modelKey=e.modelKey,t.prop=e.prop),Object.assign({conditionKey:e.fieldName,conditionLabel:e.fieldName,conditionName:e.fieldName,conditionValueType:e.fieldType,id:e.componentId,keyName:e.fieldValue,rule:e.rule,notGlobal:!0,indexCode:e.indexCode,typeGuid:e.typeGuid,indexCodeNum:e.indexCodeNum},t)}));if(null==e?void 0:e.length)for(const t of e)p.find((e=>e.keyName===t.keyName))||p.push(t)}}const h=p.length,y=t;for(let e=0;e<h;e++){const t=p[e];if(\"parentCode\"===(null==t?void 0:t.conditionKey))continue;const{id:n,keyName:o,prop:r,format:i,modelKey:a,dataType:l=\"component\",customValue:s}=t,c=Ln(n,o),u=Nn(t);kn(u,n,{prop:r,dateFormat:i,modelKey:a,keyName:c}),\"\"===l&&(u.fieldValue=s||\"\"),y.push(u)}for(let e=y.length-1;e>=0;e--){const t=y[e];if(!t.globalCondition){bn(y).find((e=>e.alias===t.alias&&e.globalCondition))&&y.splice(e,1)}}return y};function Nn(e){const{id:t,keyName:n,conditionLabel:o,conditionKey:r,conditionValueType:i,prop:a,rule:l=\"NONE\",notGlobal:s=!1,indexCode:c,typeGuid:u,indexCodeNum:d,dataType:f=\"component\"}=e,p=Ln(t,n);let h=p||t;h&&a&&(h+=`-${a}`);let y=l;return\"NONE\"===y&&(y=[\"startTime\",\"endTime\"].includes(a)?\"startTime\"===a?\"GREATER_EQUAL\":\"LESS_EQUAL\":(null==p?void 0:p.includes(\"startTime\"))?\"GREATER_EQUAL\"===a:(null==p?void 0:p.includes(\"endTime\"))?\"LESS_EQUAL\"===a:\"EQUAL\"),\"PARENT\"===t&&(h=e.modelKey,h&&a&&(h+=`-${a}`),y=l),{rule:y,label:o,fieldName:r,fieldValue:\"\",valueType:i,alias:h,globalCondition:!s,indexCode:c,typeGuid:u,indexCodeNum:d,dataType:f}}function $n(e){if(null==e?void 0:e.length)for(const t of e)if(null==t?void 0:t.conditions)$n(t.conditions);else{const{id:e,keyName:n,prop:o,modelKey:r,format:i,dataType:a=\"component\",customValue:l}=t,s=Ln(e,n),c=Nn(t);kn(c,e,{prop:o,dateFormat:i,modelKey:r,keyName:s}),\"\"===a&&(c.fieldValue=l||\"\");for(const e in c)t[e]=c[e];for(const e of An)delete t[e]}}function kn(e,t,n){const{prop:o=\"\",dateFormat:r=\"\",modelKey:i=\"\",keyName:a=\"\",operateValue:l,operateMode:s,operateType:c}=n||{},u=i||a;if(\"PARENT\"===t&&u&&o){const t=window.config.record;let n=o,i=r;const a=o.match(/\\{(.+?)\\}/g);if(null==a?void 0:a.length){const t=a[0].slice(1,-1).trim();n=o.replace(a[0],\"\"),i=t,e.dateFormat=i}if(t&&t[u]){const o=_(t[u][n]);ce.isDayjs(o)?e.fieldValue=o.format(i||\"YYYY-MM-DD\"):e.fieldValue=o}return}const d=_n(t)||{},{value:f,format:p=\"YYYY-MM-DD\",type:h=\"\",useCurrentTime:y,RECORD:m}=d||{},b=r||p;if(yn(h,\"date\")){let t;if(t=y?f?_(f):ce():_(f),\"string\"==typeof t&&(t=ce(t)),l&&s&&c)switch(c){case\"add\":t=t.add(l,s);break;case\"minus\":t=t.subtract(l,s)}e.fieldValue=null==t?void 0:t.format(b),e.dateFormat=b}else if(yn(h,\"rangepicker\")){let t=o;if(!o){const e=a&&a.split(\"-\");(null==e?void 0:e.length)&&(t=e[e.length-1])}if(!t)return;let n=null;if(_(d[t])&&(n=ce(_(d[t]))),l&&s&&c)if(\"rangeValue\"===l){if(d.startTime&&d.endTime){const e=_(d.endTime).diff(_(d.startTime),s)+1;switch(c){case\"add\":n=n?n.add(e,s):n;break;case\"minus\":n=n?n.subtract(e,s):n}}}else if(!isNaN(+l))switch(c){case\"add\":n=n?n.add(l,s):n;break;case\"minus\":n=n?n.subtract(l,s):n}if(n&&(e.fieldValue=null==n?void 0:n.format(b)),\"rangeValue\"===t&&d.startTime&&d.endTime){const t=function(e){const t=e.split(\"-\");let n=\"\";if(null==t?void 0:t.length)switch(t[t.length-1]){case\"YYYY\":n=\"year\";break;case\"MM\":n=\"month\";break;case\"DD\":n=\"day\"}return n}(b);t&&(e.fieldValue=_(d.endTime).diff(_(d.startTime),t)+1)}e.dateFormat=b}else yn(h,xn)?e.fieldValue=i&&m?m[i]:!i&&m?m.value:_(f):yn(h,\"select\")&&Array.isArray(_(f))?e.fieldValue=_(f).join(\",\"):e.fieldValue=_(f)}const Dn=e=>{var t;if(e){const n=Array.isArray(e)?fn(e):[fn(e)];let o=\"\",r=[];const i=[],a=[],l=[];for(const e of n){if(e.defaultCode&&(e.label=e.columnName,delete e.defaultCode),\"CUSTOM\"===e.type&&(r=e.customOrderColumns),o=e.type,i.push(e.label),null===(t=e.columnName)||void 0===t?void 0:t.includes(\"_ecanrepeat_\")){const t=e.columnName.split(\"_ecanrepeat_\");a.push(t[0])}else a.push(e.columnName);l.push(e.order)}return\"CUSTOM\"!==o&&(null==i?void 0:i.length)>1&&(o=\"COMBINATION\"),\"CUSTOM\"===o?{label:i.join(\",\"),columnName:a.join(\",\"),type:o,customOrderColumns:r}:{label:i.join(\",\"),columnName:a.join(\",\"),order:l.join(\",\"),type:o}}return e},Mn=e=>{const{sortCpnts:t=[]}=e;let n,o=\"\";for(const e of t){const t=_n(e)||{},{type:n,RECORD:r}=t;if(yn(n,\"image\")&&yn(null==r?void 0:r.value,[\"asc\",\"desc\"])){o=r.value.toUpperCase();break}}return o&&(n={label:e.label,columnName:e.name,order:o,type:\"NORMAL\"}),n},En=(t,n={})=>{var o,r,i,a,l,s,c,u;const{graphicConfig:d,type:f,globalModel:p,isGroupTable:h=!1,allComponentList:y}=t;p&&(wn=p),(null==y?void 0:y.length)&&(Sn=y);const m=yn(f,\"pivottable\");let b,{source:g,dataViewId:v,plugin:x=\"1\",layer:w,chartType:S,classificationList:A=[],rowHeaderList:_=[],dimensionList:j=[],seriesList:O=[],leftAxisList:C=[],rightAxisList:L=[],queryColumnList:T=[],indexLibColumns:N=[],indicators:$=[],specialIndicators:k=[],controlList:D=[],formFields:M={},variableList:E=[],variableConditions:I=[],dataSourceId:F=\"\",idxLibMode:V,preview:z=!1,edvDataSetId:R,compositeIndicator:U}=d||{},P=[];if(\"design\"===(null==d?void 0:d.pageMode)?(P=(null!==(o=d.sqlConditions)&&void 0!==o?o:[]).map((e=>{const t={};if(mn(e,\"globalCondition\")||e.join||(t.globalCondition=!0),!e.join){const n=e.rule||\"EQUAL\";t.rule=\"NONE\"===n?\"EQUAL\":n}return Object.assign(Object.assign({},e),t)})),(null==I?void 0:I.length)&&(P=P.concat(I))):(P=Tn(d),(null==E?void 0:E.length)&&(P=P.concat(function(e){const t=[];if(null==e?void 0:e.length)for(const n of e)if(n.variableName){const e=Ln(n.id,n.keyName),o={variateName:n.variableName,globalCondition:!1,valueType:n.variableType,alias:e||\"\"};kn(o,n.id,{dateFormat:n.format,prop:n.dateTypeValue,keyName:e,operateType:n.operateType,operateMode:n.operateMode,operateValue:n.operateValue}),\"\"===n.dataType&&(o.fieldValue=n.variableValue),n.format&&(o.dateFormat=n.format),n.label&&(o.label=n.label),t.push(o)}return t}(E)))),null==P?void 0:P.length){const e=P.filter((e=>e.globalCondition)),t=P.filter((e=>!e.globalCondition));(null==e?void 0:e.length)>1&&(P=[{join:\"&&\",conditions:e},...t])}(null==P?void 0:P.length)&&(P=On(P,\"1\")),null==w&&(w=yn(f,[\"table\",\"card\"])||yn(f,[\"list\",\"circulate\"])&&(null==A?void 0:A.length)>1?\"1\":yn(f,[\"select\",\"checkbox\",\"radio\",\"treeSelect\"])?\"3\":yn(f,[\"indexPanel\"])?\"4\":\"2\"),yn(f,[\"indexPanel\"])&&(x=\"3\");const G=[];let Y,W=\"\";if(Array.isArray(A)&&A.length>0&&(![\"ecanList\",\"ecanCirculate\"].includes(f)||1===(null==A?void 0:A.length))){const e=A.length;for(let t=0;t<e;t++){const n=A[t]||{},{label:o=\"\",name:i=\"\",show:a=!1,sort:l,customGroup:s,conditions:c,dateFormat:u,typeGuid:d=\"\",truncations:p=[]}=n;if(a||1===e){W=d,b={label:o.trim(),columnName:i,show:a,sort:Mn(n)||Dn(l)||l,customGroup:s,conditions:On(c),typeGuid:d},u&&(b.dateFormat=u),\"the_date\"!==i||b.dateFormat||(b.dateFormat=\"YYYY-MM-DD\");const e={};if(Array.isArray(p)&&p.length>0){const t=p.length;for(let n=0;n<t;n++){const t=p[n]||{},{rule:o=\"\",num:r=0,name:i=\"\"}=t;o&&r&&(e.num=r,e.rule=o,i&&(e.otherGroupName=i))}}if((null===(r=Object.keys(e))||void 0===r?void 0:r.length)&&(b.truncation=e),!yn(f,[\"scatter\",\"valueline\"]))break;G.push(b)}}}if(Array.isArray(O)&&O.length>0){const e=O.length;for(let t=0;t<e;t++){const n=O[t]||{},{label:o=\"\",name:r=\"\",show:i=!1,sort:a,customGroup:l,conditions:s,typeGuid:c,dateFormat:u=\"\"}=n;if(i||1===e){Y={label:o.trim(),columnName:r,show:i,sort:Dn(a),customGroup:l,conditions:On(s),typeGuid:c},u?Y.dateFormat=u:\"the_date\"===r&&(Y.dateFormat=\"YYYY-MM-DD\");break}}}const H=[];null==C||C.forEach((e=>{e.location=\"LEFT\",H.push(Cn(e,b))})),null==L||L.forEach((e=>{e.location=\"RIGHT\",H.push(Cn(e,b))}));let B=$;(null==n?void 0:n.pivotTableCal)&&(B=(null===(i=n.pivotTableCal)||void 0===i?void 0:i.indicators)||[]),null==B||B.forEach((e=>{e.location=\"LEFT\",H.push(Cn(e,b))}));const K=[];null==k||k.forEach((e=>{e.location=\"LEFT\",K.push(Cn(e,b))}));const q=[];[\"ecanList\",\"ecanCirculate\"].includes(f)&&(null==A?void 0:A.length)>1&&(T=A),(null==n?void 0:n.pivotTableCal)&&(T=(null===(a=n.pivotTableCal)||void 0===a?void 0:a.dimensions)||[]),null==T||T.forEach((e=>{const{label:t,name:o,location:r,show:i,indexCode:a,sort:l,typeGuid:s,indexCodeNum:c,dateFormat:u,conditions:d}=e;let f=Dn(l);if(n.sort){const{field:o,order:r}=n.sort;let i=H.find((e=>e.label===o));i||t!==o||(i=e),i&&(f={columnName:i.columnName,label:n.sort.field,order:r.toUpperCase(),type:\"NORMAL\"})}const p={label:t,columnName:o,location:r,show:i,sort:f,calcType:\"COLUMN\",hrpIndexCode:a,hrpIndexCodeNum:c,conditions:On(d),typeGuid:s};u&&(p.dateFormat=u),\"the_date\"!==o||p.dateFormat||(p.dateFormat=\"YYYY-MM-DD\"),q.push(p)}));const Q=[];[\"ecanTable\"].includes(f)&&d.isIndexSet&&N.forEach((e=>{const t={label:e.label,calcType:e.calcType,show:e.show};e.formula&&(t.formula=e.formula),Q.push(t)}));let J=[],X=[];if(Array.isArray(_)&&_.length>0?X=_:Array.isArray(j)&&j.length>0&&(X=j),null==X?void 0:X.length){const e=X.length;for(let t=0;t<e;t++){const e=X[t]||{},{label:o=\"\",name:r=\"\",show:i=!1,sort:a,customGroup:s,conditions:c,truncations:u,typeGuid:d=\"\",dateFormat:f}=e;let p=Dn(a);if(n.sort){const{field:t,order:o}=n.sort;let r=H.find((e=>e.label===t));r||e.label!==t||(r=e),r&&(p={columnName:r.columnName,label:n.sort.field,order:o.toUpperCase(),type:\"NORMAL\"})}const h={label:o.trim(),columnName:r,show:i,sort:p,customGroup:s,conditions:On(c),typeGuid:d};f&&(h.dateFormat=f),\"the_date\"!==r||h.dateFormat||(h.dateFormat=\"YYYY-MM-DD\");const y={};if(Array.isArray(u)&&u.length>0){const e=u.length;for(let t=0;t<e;t++){const e=u[t]||{},{rule:n=\"\",num:o=0,name:r=\"\"}=e;n&&o&&(y.num=o,y.rule=n,r&&(y.otherGroupName=r))}}(null===(l=Object.keys(y))||void 0===l?void 0:l.length)&&(h.truncation=y),J.push(h)}}let Z,ee=[];const te=[];if(null==n?void 0:n.pivotTableCal){let t=[];const{calc:o=[],filter:r=[],truncations:i=[],sorts:a=[],aggregateMethod:l=[],rowDimensionKeys:u=[],colDimensionKeys:d=[]}=n.pivotTableCal;if(H.push(...o),null==r?void 0:r.length){const n=function e(t){const n=[];for(const o of t)o.conditions?n.push(...e(o.conditions)):\"the_date\"===o.conditionKey&&n.push(o);return n}(D);for(const o of r){const{type:r}=o,i=e(o,[\"type\"]);\"indicators\"===r?t=H:\"dimension\"===r&&(t=q);const a=t.find((e=>e.columnName===o.fieldName&&e.label===o.label));if(a)if(\"indicators\"===r)a.filter={rule:i.rule,fieldValue:i.fieldValue};else if(\"dimension\"===r){let e=!0;\"the_date\"===i.fieldName&&2===(null==n?void 0:n.length)&&(e=!1,te.push(i)),e&&(a.conditions||(a.conditions=[]),a.conditions.push(i))}}}if(null==i?void 0:i.length)for(const e of i){const t=q.find((t=>t.label===e.key));t&&(t.truncation={num:e.num,rule:e.rule})}if(null==a?void 0:a.length)for(const n of a){const{fieldType:o,columnData:r}=n,i=e(n,[\"fieldType\",\"columnData\"]);\"indicators\"===o?(t=H,Z=r):\"dimension\"===o&&(t=q);const a=t.find((e=>e.label===i.label));a&&(a.sort=Object.assign(Object.assign({},i),{columnName:a.columnName}))}if(null===(s=Object.keys(l))||void 0===s?void 0:s.length)for(const e in l){const t=q.find((t=>t.label===e));t&&(null===(c=l[e])||void 0===c?void 0:c.length)&&(t.aggregateMethod=l[e])}J=[],ee=[];for(const e of q)u.includes(e.columnName)?J.push(e):d.includes(e.columnName)&&ee.push(e)}if(yn(f,[\"text\",\"proportion\",\"counter\",\"gauge\"])?S=\"zb\":yn(f,[\"valueline\"])?S=\"valueline\":yn(f,[\"indexPanel\"])?S=\"indexPanel\":yn(f,[\"boxplot\"])?S=\"boxplot\":yn(f,[\"budget\"])&&(S=\"budget\"),h||\"card\"===f){if(0===J.length||0===H.length)return;S=\"grouptable\"}else{if(\"1\"===w&&!q.length&&!Q.length)return;if([\"2\",\"4\"].includes(w)&&0===H.length)return;if(!(\"3\"!==w||(W||\"EDV_DATA_SET\"===g)&&M.labelField&&M.valueField))return;if(\"3\"===w&&\"ecanDataSelect\"===f&&0===H.length)return}let ne;if((null==j?void 0:j.length)&&(w=\"1\",S=\"grouptable\"),m||yn(f,[\"scatter\",\"valueline\"])||!(null===(u=Object.keys(M))||void 0===u?void 0:u.length)){let e={};e=yn(f,[\"scatter\",\"valueline\"])?{classifications:G}:{classification:b},(null==Q?void 0:Q.length)&&(e.indexLibColumns=Q,e.isIndexSet=!0),(null==K?void 0:K.length)&&(e.specialIndicatorList=K),yn(f,\"table\")&&d.isIndexSet&&(e.compositeIndicator=U);const n=P.map((e=>{const{fieldValue:t}=e,n={};return t&&Array.isArray(t)&&(n.fieldValue=JSON.stringify(t)),Object.assign(Object.assign({},e),n)}));(null==te?void 0:te.length)&&function e(t){for(const n of t)if(n.sqlConditions)e(n.sqlConditions);else if(\"the_date\"===n.fieldName){const e=te.find((e=>e.prop===n.prop));e&&(n.fieldValue=e.fieldValue)}}(n),ne=Object.assign({url:\"/diagram\",source:g,dataViewId:v,plugin:m?\"5\":x,layer:w,chartType:m?\"pivot-table\":S,series:Y,indicatorList:H,queryColumns:h?[]:q,pageFlag:!0,edvDataSetId:R||\"\",sqlConditions:n,idxLibMode:V,dataSourceId:F,preview:z,rowHeaders:J,keyName:t.keyName,columnData:Z,columnHeaders:ee},e)}else{const e=bn(D).find((e=>\"parentCode\"===e.conditionKey)),n={};if(e){const t=_n(e.id)||{};if(!(null==t?void 0:t.itemCodes))return;n.parentItemCodes=t.itemCodes}\"ecanDataSelect\"===f&&(n.indicatorList=H.filter((e=>e.show))),\"EDV_DATA_SET\"===g&&(n.edvDataSetId=R),(null==b?void 0:b.sort)&&(n.sort=b.sort);let o=\"normalSelect\";\"ecanDataSelect\"===f?o=\"normalSelectData\":\"ecanTreeSelect\"===f&&(o=\"treeSelect\"),ne=Object.assign({url:\"/diagram/formData\",source:g,dataViewId:v,plugin:\"4\",layer:w,chartType:\"ecanTreeSelect\"===f?\"treeSelect\":\"normalSelect\",rangeIndexTypeGuid:W,type:o,labelField:M.labelField,valueField:M.valueField,parentField:M.parentField,sqlConditions:P,idxLibMode:\"WITH_DATE_DIM_TABLE\",dataSourceId:F,keyName:t.keyName},n)}return ne},In=(e=[],t,n=!1)=>{let{name:o=\"name\",types:r=[]}=t||{};o=(null==o?void 0:o.trim())||o;const i=new Set,a=new Map,l=e.length,s=r.length;if(1!==l||n)for(let t=0;t<l;t++){const n=e[t],l=n[o];i.add(l);for(let e=0;e<s;e++){const t=r[e],{label:o,value:i}=t,l=Object.assign(Object.assign({},n),{value:n[i]});if(a.has(o)){const e=a.get(o);e.push(l),a.set(o,e)}else a.set(o,[l])}}else{const t=[];for(let n=0;n<s;n++){const o=r[n],{label:a,value:l}=o,s=Object.assign(Object.assign({},e[0]),{value:e[0][l]});i.add(a),t.push(s)}const n=e[0][o]||\"\";a.set(n,t)}const c=Array.from(i),u=[];for(const[e,t]of a)u.push({name:e,data:t});return{dimensions:c,dataset:u}},Fn=(e,t)=>{let{name:n=\"name\",value:o=\"value\",type:r=\"type\"}=t||{};n=null==n?void 0:n.trim(),o=null==o?void 0:o.trim(),r=null==r?void 0:r.trim();const i=new Map,a=e.length;for(let t=0;t<a;t++){const a=e[t],l=a[n]||\"\",s=a[o]||\"\",c=a[r]||\"\";if(i.has(c)){const e=i.get(c);e.push(Object.assign({name:l,value:s},a)),i.set(c,e)}else i.set(c,[Object.assign({name:l,value:s},a)])}const l=[],s=[];for(const[e,t]of i)if(s.push({name:e,data:t}),null==t?void 0:t.length)if(l.length)for(const e of t)l.includes(e.name)||l.push(e.name);else l.push(...t.map((e=>e.name)));return{dimensions:l,dataset:s}},Vn=(e,t)=>{var n;if(null==e)return t;const o=e.match(/\\{.*\\}/g);if(null==o||0===o.length)return t;const r=o.length;for(let i=0;i<r;i++){const r=o[i];if(null==r||\"\"===r)break;let a=null===(n=r.slice(1,-1))||void 0===n?void 0:n.trim();a=null==a?void 0:a.replace(/value/g,t);try{let t=a;(/\\(.*\\)/g.test(a)||/[+/\\\\*]/g.test(a))&&(t=pn(a)),e=e.replace(r,t)}catch(t){e=e.replace(r,a)}}return e};function zn(e){return e.isShowMarkLine?{markLine:{data:[{type:e.markLineType}]}}:{}}const Rn=(e,t,n)=>{const o=e.yAxisLabelFormatter,r=e.xAxisLabelFormatter,{dimensions:i=[],dataset:a=[]}=t,l=re((()=>{const{gradientShow:t,gradientColors:n,gradientOffset:o,barBorderRadius:r}=e,i=a,l=i.length,s=[];for(let a=0;a<l;a++){const l=Object.assign(Object.assign({},i[a]),{type:\"bar\",barWidth:e.barWidth,showBackground:e.showBarBackground}),{isStack:c,stackColumns:u}=e;if(c&&u.includes(i[a].name||!u)&&(l.stack=\"stack\"),l.label={show:e.labelShow,fontSize:e.labelFontSize,position:e.labelPosition,color:e.labelColor,width:e.labelWidth,overflow:e.labelOverflow,formatter:t=>{let n=\"\",o=e.labelFormatter;\"\"===o&&(o=\"{c}\");const{seriesName:r,name:i,value:a,data:l}=t||{};return n+=hn(o,{textData:Object.assign({name:i,value:a,a:r,b:i,c:a||0},l)},{useNewline:!0,useSpace:!0}),n}},l.itemStyle={},t&&(l.itemStyle={color:{x:e.isUseHorizontalAxis?1:0,y:0,x2:0,y2:e.isUseHorizontalAxis?0:1,colorStops:[{offset:0,color:e.colors[a]},{offset:o,color:n[a]},{offset:1,color:n[a]}]}}),r){const e=r.split(\",\");if(null==e?void 0:e.length){const t=[];for(const n of e){const e=parseFloat(n);isNaN(e)||t.push(e)}l.itemStyle.barBorderRadius=t}}e.isShowMarkLine&&(l.markLine={data:[{type:e.markLineType}]}),s.push(l)}return s})),s=re((()=>i.map((e=>{let t={};return t=e&&\"object\"==typeof e?Object.assign(Object.assign({},e),{textStyle:{fontSize:n}}):{value:e,textStyle:{fontSize:n}},t}))));return{tooltip:{trigger:\"axis\",show:e.tooltipShow,formatter:t=>{const n=t.length;let o=\"\",i=e.tooltipFormatter;\"\"===i&&(i=\"{marker} {a} {c}\");for(let e=0;e<n;e++){const{marker:n,seriesName:a,name:l,value:s,data:c}=t[e]||{};if(0===e){let e=l;\"string\"!=typeof l||\"0\"!==l[0]||isNaN(+l)||(e=(+l).toString()),o+=`${Vn(r,e)}<br/>`}o+=hn(i,{textData:Object.assign({marker:n,name:l,value:s,Qfw:gn,a:a,b:l,c:s||0},c)},{useNewline:!0,useSpace:!0}),o+=\"<br/>\"}return o},textStyle:{color:e.tooltipTextStyleColor,fontSize:n},position:e.tooltipPosition||void 0,backgroundColor:e.tooltipBackgroundColor||\"#fff\"},legend:{type:e.legendScroll?\"scroll\":\"plain\",width:e.legendWidth,height:e.legendHeight,show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{rich:{text:{width:e.legendTextWidth,color:e.legendTextStyleColor,fontSize:e.legendFontSize}}},itemHeight:e.legendItemHeight,itemWidth:e.legendItemWidth,itemGap:e.legendItemGap,data:a.map(((t,n)=>({name:t.name,itemStyle:{color:e.colors[n]},icon:e.legendType}))),formatter:t=>((e=\"\",t)=>{var n;const o=e.match(/\\{(.+?)\\}/g),r=(null===(n=e.split(\"\\n\"))||void 0===n?void 0:n.length)-1;let i=\"\";if(r)for(let e=0;e<r;e++)i+=\"\\n\";let a=e;if(null==o?void 0:o.length){for(const e of o){const n=hn(e,{textData:t},{useNewline:!1,useSpace:!1});n&&(a=a.replace(e,n))}return`${i}{text|${a}}`}return e})(e.legendFormatter,{name:t})},xAxis:{type:e.isUseHorizontalAxis?\"value\":\"category\",data:e.isUseHorizontalAxis?null:_(s),inverse:e.isUseHorizontalAxis?e.xAxisInverse:e.axisInverse,minInterval:e.xAxisMinInterval,splitLine:{show:e.xAxisSplitLineShow,lineStyle:{color:e.xAxisSplitLineStyleColor,type:e.xAxisSplitLineType},interval:e.xAxisSplitLineInterval},splitArea:{show:e.xAxisSplitAreaShow},axisLabel:{color:e.xAxisLabelColor,interval:e.xAxisLabelInterval||0,rotate:e.xAxisLabelRotate,width:e.xAxisLabelWidth,overflow:e.xAxisLabelOverflow,fontSize:e.xAxisLabelFontSize,formatter:e=>(\"string\"!=typeof e||\"0\"!==e[0]||isNaN(+e)||(e=(+e).toString()),Vn(r,e))},axisLine:{show:e.xAxisLineShow,lineStyle:{color:e.xAxisLineStyleColor}},axisTick:{show:e.xAxisTickShow},name:e.xAxisName,nameTextStyle:{fontSize:e.xAxisLabelFontSize,color:e.xAxisLabelColor,align:\"left\"},max:e.xAxisMaxValue||null},yAxis:{type:e.isUseHorizontalAxis?\"category\":\"value\",data:e.isUseHorizontalAxis?_(i):null,inverse:e.isUseHorizontalAxis?e.axisInverse:e.yAxisInverse,minInterval:e.yAxisMinInterval,splitLine:{show:e.yAxisSplitLineShow,lineStyle:{color:e.yAxisSplitLineStyleColor,type:e.yAxisSplitLineType}},splitArea:{show:e.yAxisSplitAreaShow},axisLabel:{show:e.yAxisLabelShow,fontSize:e.yAxisLabelFontSize,color:e.yAxisLabelColor,rotate:e.yAxisLabelRotate,width:e.yAxisLabelWidth,overflow:e.yAxisLabelOverflow,formatter:e=>Vn(o,e)},axisLine:{show:e.yAxisLineAlwaysDisplay,lineStyle:{color:e.yAxisLineStyleColor}},name:e.yAxisName,nameTextStyle:{fontSize:e.yAxisLabelFontSize,color:e.yAxisLabelColor,align:\"right\"},max:e.yAxisMaxValue||null},series:_(l)}},Un=(e,t,n)=>{const o=e.yAxisLabelFormatter,r=e.xAxisLabelFormatter,{dimensions:i=[],dataset:a=[]}=t,l=re((()=>i.map((e=>{let t={};return t=e&&\"object\"==typeof e?Object.assign(Object.assign({},e),{textStyle:{fontSize:n}}):{value:e,textStyle:{fontSize:n}},t})))),s=re((()=>{const t=[],n=a.length;for(let o=0;o<n;o++){const n={};e.shadowColor&&(n.shadowColor=e.shadowColor,n.shadowBlur=e.shadowBlur,n.shadowOffsetY=e.shadowOffsetY,n.shadowOffsetX=e.shadowOffsetX),t.push(Object.assign(Object.assign(Object.assign({type:\"line\"},a[o]),{symbolSize:e.symbolSize,smooth:e.smooth,areaStyle:{color:e.areaGradientShow?{type:\"linear\",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.colors[o]},{offset:1,color:e.areaGradientColor||\"transparent\"}],global:!1}:e.colors[o],opacity:e.areaStyleOpacity},lineStyle:Object.assign({width:e.lineStyleWidth},n)}),zn(e)))}return t}));return{tooltip:{trigger:\"axis\",show:e.tooltipShow,formatter:t=>{const n=t.length;let o=\"\",r=e.tooltipFormatter;\"\"===r&&(r=\"{marker} {a} {c}\");for(let e=0;e<n;e++){const{marker:n,seriesName:i,name:a,value:l,data:s}=t[e]||{};0===e&&(o+=`${a}<br/>`),o+=hn(r,{textData:Object.assign({marker:n,name:a,value:l,a:i,b:a,c:l},s)},{useNewline:!0,useSpace:!0}),o+=\"<br/>\"}return o},textStyle:{color:e.tooltipTextStyleColor,fontSize:n.value},position:e.tooltipPosition||void 0,backgroundColor:e.tooltipBackgroundColor||\"#fff\"},xAxis:{name:e.xAxisName,type:\"category\",data:_(l),minInterval:e.xAxisMinInterval,splitLine:{show:e.xAxisSplitLineShow,lineStyle:{color:e.xAxisSplitLineStyleColor}},axisLabel:{color:e.xAxisLabelColor,interval:e.xAxisLabelInterval||0,rotate:e.xAxisLabelRotate,width:e.xAxisLabelWidth,overflow:e.xAxisLabelOverflow,formatter:e=>Vn(r,e)},axisLine:{lineStyle:{color:e.xAxisLineStyleColor}},axisTick:{show:e.xAxisTickShow}},yAxis:{type:\"value\",name:e.yAxisName,minInterval:e.yAxisMinInterval,splitLine:{show:e.yAxisSplitLineShow,lineStyle:{color:e.yAxisSplitLineStyleColor}},axisLabel:{fontSize:n,color:e.yAxisLabelColor,formatter:e=>Vn(o,e)},axisLine:{show:e.yAxisLineAlwaysDisplay,lineStyle:{color:e.yAxisLineStyleColor}}},legend:{show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{fontSize:n}},series:_(s)}},Pn=(e,t,n)=>{const{dataset:o=[]}=t;let{data:r=[]}=o[0]||{};if(Array.isArray(e.colors)){const t=e.isUseLabelColors,n=e.colors;r=r.map(((e,o)=>Object.assign({label:t?{color:n[o]}:{}},e)))}return{title:{text:e.titleText,subtext:e.titleSubtext,textStyle:{fontSize:e.titleFontSize,fontWeight:e.fontWeight,color:e.titleColor},left:e.textAlign||\"center\"},tooltip:{show:e.tooltipShow,trigger:e.tooltipTrigger,formatter:t=>{const{marker:n,seriesName:o,name:r,value:i,percent:a,data:l}=t||{};return hn(e.tooltipFormatter,{textData:Object.assign({marker:n,name:r,value:i,percent:a,a:o,b:r,c:i,d:a},l)},{useNewline:!0,useSpace:!0})},textStyle:{color:e.tooltipTextStyleColor||\"#333\"},backgroundColor:e.tooltipBackgroundColor||\"#fff\",borderColor:e.tooltipBorderColor||\"#eee\"},legend:{show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{color:e.legendTextStyleColor,fontSize:18===n?n:e.labelFontSize}},series:[{data:r,type:\"pie\",radius:[e.innerRadius,e.outerRadius],center:[e.centerLeft,e.centerTop],roseType:e.roseType,avoidLabelOverlap:!1,minAngle:e.minAngle,label:{show:\"center\"!==e.labelPosition&&e.labelShow,color:e.labelColor,fontSize:18===n?n:e.labelFontSize,position:e.labelPosition,formatter:(i=e.labelFormatter,i.replace(/\\\\n/g,\"\\n\"))},labelLine:{show:e.labelLineShow,length:e.labelLineLength,length2:e.labelLineLength2},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:\"rgba(0, 0, 0, 0.5)\"},label:{}}}]};var i},Gn=(e,t,n)=>{const{dimensions:o=[],dataset:r=[]}=t,i=re((()=>o.map((e=>{let t={};return t=e&&\"object\"==typeof e?Object.assign(Object.assign({},e),{textStyle:{fontSize:n}}):{value:e,textStyle:{fontSize:n}},t})))),a=re((()=>{const t=[],n=r.length,o=e.seriesTypes;for(let i=0;i<n;i++){const n=o[i],{type:a,axisIndex:l}=n||{};let s=Object.assign({type:a,yAxisIndex:l},r[i]);if(\"line\"===a){const t={};e.shadowColor&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowBlur,t.shadowOffsetY=e.shadowOffsetY,t.shadowOffsetX=e.shadowOffsetX),s=Object.assign(Object.assign({},s),{symbolSize:e.symbolSize,smooth:e.smooth,itemStyle:{color:e.colors[i]},areaStyle:{color:e.areaGradientShow?{type:\"linear\",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.colors[i]},{offset:1,color:e.areaGradientColor||\"transparent\"}],global:!1}:e.colors[i],opacity:e.areaStyleOpacity},lineStyle:Object.assign({width:e.lineStyleWidth},t)})}if(\"bar\"===a){const{gradientShow:t,gradientColors:n,gradientOffset:o}=e,r={};if(e.barBorderRadius){const t=e.barBorderRadius.split(\",\");if(null==t?void 0:t.length){const e=[];for(const n of t){const t=parseFloat(n);isNaN(t)||e.push(t)}r.borderRadius=e}}t&&(r.color={x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.colors[i]},{offset:o,color:n[i]},{offset:1,color:n[i]}]}),s=Object.assign(Object.assign({},s),{barWidth:e.barWidth,itemStyle:r})}e.isShowMarkLine&&(s.markLine={data:[{type:e.markLineType}]}),t.push(s)}return t})),l=re((()=>{const t=e.yAxis;return null==t?void 0:t.map(((t,o)=>({type:\"value\",minInterval:e.yAxisMinInterval,splitLine:{show:0===o?e.yAxisLeftSplitLineShow:e.yAxisRightSplitLineShow,lineStyle:{color:e.yAxisSplitLineStyleColor,type:0===o?e.yAxisLeftSplitLineType:e.yAxisRightSplitLineType}},splitArea:{show:e.yAxisSplitAreaShow},axisLabel:{fontSize:n,show:e.yAxisLabelShow,color:e.yAxisLabelColor,formatter:e=>Vn(t.axisLabelFormatter,e)},axisLine:{show:e.yAxisLineAlwaysDisplay,lineStyle:{color:e.yAxisLineStyleColor}},name:0===o?e.yAxisLeftName:e.yAxisRightName,nameTextStyle:{fontSize:e.yAxisLabelFontSize,color:e.yAxisLabelColor,align:0===o?\"right\":\"left\"},max:e.yAxisMaxValue||null})))}));return{legend:{show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{color:e.legendTextStyleColor,fontSize:n}},tooltip:{trigger:\"axis\",show:e.tooltipShow,formatter:t=>{const n=t.length;let o=\"\",r=e.tooltipFormatter;\"\"===r&&(r=\"{marker} {a} {c}\");const i=e.seriesTypes;for(let e=0;e<n;e++){const n=i[e],{tooltipFormatter:a}=n||{},{marker:l,seriesName:s,name:c,value:u,data:d}=t[e]||{};0===e&&(o+=`${c}<br/>`),o+=hn(a||r,{textData:Object.assign({marker:l,name:c,value:u,seriesName:s,a:s,b:c,c:u},d)},{useNewline:!0,useSpace:!0}),o+=\"<br/>\"}return o},textStyle:{color:e.tooltipTextStyleColor||\"#333\",fontSize:n},backgroundColor:e.tooltipBackgroundColor||\"#fff\",borderColor:e.tooltipBorderColor||\"#eee\"},xAxis:{name:e.xAxisName,minInterval:e.xAxisMinInterval,type:\"category\",data:_(i),splitLine:{show:e.xAxisSplitLineShow,lineStyle:{color:e.xAxisSplitLineStyleColor}},axisLabel:{color:e.xAxisLabelColor,interval:e.xAxisLabelInterval||0,rotate:e.xAxisLabelRotate,width:e.xAxisLabelWidth,overflow:e.xAxisLabelOverflow},axisLine:{lineStyle:{color:e.xAxisLineStyleColor}},axisTick:{show:e.xAxisTickShow}},yAxis:_(l),series:_(a)}},Yn=(e,t,n=12)=>Object.assign(Object.assign({},(e=>({title:{text:e.titleText,subtext:e.titleSubtext,textStyle:{fontSize:e.titleFontSize,fontWeight:e.fontWeight,color:e.titleColor},left:e.textAlign||\"center\"},grid:{top:e.gridTop,bottom:e.gridBottom,left:e.gridLeft,right:e.gridRight,containLabel:e.gridContainLabel},color:e.colors}))(e)),((e,t,n)=>{switch(e.type){case\"bar\":return Rn(e,t,n);case\"line\":return Un(e,t,n);case\"pie\":return Pn(e,t,n);case\"comboGraph\":return Gn(e,t,n);default:return{}}})(e,t,n));export{En as formatIndicatorParams,vn as getIndicatorParams,mn as hasOwn,yn as lowerCaseIncludes,pn as runCode,Yn as transformProps,In as useTransformChartDataByAttrKey,Fn as useTransformChartDataByAttrValue,Vn as useValueFormatter,hn as useVariablesInText};\n","import dayjs from 'dayjs'\r\nimport { cloneDeep } from 'lodash-es'\r\nimport { useVariablesInText, lowerCaseIncludes, hasOwn } from '@ecan-bi/tools'\r\n// import { Big } from 'big.js'\r\nimport { unref } from 'vue'\r\n\r\nexport const handleFormatter = (formatter: string) => {\r\n return formatter.replace(/\\\\n/g, '\\n')\r\n}\r\n\r\nexport const getConditions = (conditions: { [key: string]: any }[]) => {\r\n const result = []\r\n if (conditions?.length) {\r\n for (const item of conditions) {\r\n if (item.conditions) {\r\n result.push(...getConditions(item.conditions))\r\n } else if (item?.dataType === 'component') {\r\n result.push(item)\r\n }\r\n }\r\n }\r\n return result\r\n}\r\nexport const getSqlConditions = (graphicConfig: { [key: string]: any }, renderUsedComponents: { [key: string]: any }[]) => {\r\n const controlList = cloneDeep(graphicConfig?.controlList || [])\r\n const {\r\n classificationList = [],\r\n rowHeaderList = [],\r\n dimensionList = [],\r\n seriesList = [],\r\n leftAxisList = [],\r\n rightAxisList = [],\r\n queryColumnList = [],\r\n indicators = []\r\n } = graphicConfig\r\n handleControlList(controlList, renderUsedComponents)\r\n const sqlConditions = controlList\r\n // console.log('controlList', controlList)\r\n const otherList = [\r\n ...classificationList,\r\n ...rowHeaderList,\r\n ...dimensionList,\r\n ...seriesList,\r\n ...leftAxisList,\r\n ...rightAxisList,\r\n ...queryColumnList,\r\n ...indicators\r\n ]\r\n const conditionList = []\r\n for (const ol of otherList) {\r\n const conditions = getConditions(ol?.conditions || [])\r\n if (conditions?.length) {\r\n const list = conditions\r\n .filter((v: any) => {\r\n const target = getComponent(v, renderUsedComponents)\r\n if (target) {\r\n return v?.dataType === 'component'\r\n }\r\n return false\r\n })\r\n .map((item: any) => {\r\n const target = getComponent(item, renderUsedComponents)\r\n const params: any = {}\r\n if (item?.dateFormat) {\r\n params.format = item.dateFormat\r\n }\r\n return {\r\n conditionKey: item.fieldName,\r\n conditionLabel: item.fieldName,\r\n conditionName: item.fieldName,\r\n conditionValueType: item.fieldType,\r\n id: target.id,\r\n keyName: item.fieldValue,\r\n rule: item.rule,\r\n notGlobal: true,\r\n indexCode: item.indexCode,\r\n typeGuid: item.typeGuid,\r\n indexCodeNum: item.indexCodeNum,\r\n ...params\r\n }\r\n })\r\n if (list?.length) {\r\n for (const l of list) {\r\n if (!conditionList.find(cItem => cItem.keyName === l.keyName)) {\r\n conditionList.push(l)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const len = conditionList.length\r\n for (let i = 0; i < len; i++) {\r\n const control = conditionList[i]\r\n if (control && !Object.keys(control)?.length) {\r\n continue\r\n }\r\n if (control?.conditionKey === 'parentCode') {\r\n continue\r\n }\r\n const {\r\n id,\r\n keyName,\r\n prop,\r\n format: dateFormat,\r\n dataType = 'component',\r\n customValue\r\n } = control\r\n let alias = keyName || id\r\n if (alias && prop) {\r\n alias += `-${prop}`\r\n }\r\n const sqlCondition: { [key: string]: any } = getConditionItem(control)\r\n setFieldValue({\r\n sqlCondition,\r\n renderUsedComponents,\r\n id,\r\n dateFormat,\r\n prop,\r\n keyName,\r\n dataType,\r\n customValue\r\n })\r\n sqlConditions.push(sqlCondition)\r\n }\r\n // globalCondition=false时,如果全局过滤里面已经配置了该组件的信息,则不用再传globalCondition=false的组件信息\r\n for (let j = sqlConditions.length - 1; j >= 0; j--) {\r\n const item = sqlConditions[j]\r\n if (!item.globalCondition) {\r\n const cond = getConditions(sqlConditions).find(v => v.alias === item.alias && v.globalCondition)\r\n if (cond) {\r\n sqlConditions.splice(j, 1)\r\n }\r\n }\r\n }\r\n return sqlConditions\r\n}\r\n\r\nexport const handleVariableList = (variableList: { [key: string]: any }[], renderUsedComponents: { [key:string]: any }[]) => {\r\n const handleVarList = []\r\n if (variableList?.length) {\r\n for (const item of variableList) {\r\n if (item.variableName) {\r\n const variableItem: any = {\r\n variateName: item.variableName,\r\n globalCondition: false,\r\n valueType: item.variableType,\r\n alias: item.keyName || ''\r\n }\r\n setFieldValue({\r\n sqlCondition: variableItem,\r\n renderUsedComponents,\r\n id: item.id,\r\n dateFormat: item.format,\r\n prop: item.dateTypeValue,\r\n keyName: item.keyName,\r\n dataType: item.dataType,\r\n customValue: item.variableValue,\r\n operateType: item.operateType,\r\n operateMode: item.operateMode,\r\n operateValue: item.operateValue\r\n })\r\n if (item.format) {\r\n // 日期格式化\r\n variableItem.dateFormat = item.format\r\n }\r\n if (item.label) {\r\n variableItem.label = item.label\r\n }\r\n handleVarList.push(variableItem)\r\n }\r\n }\r\n }\r\n return handleVarList\r\n}\r\n\r\nfunction getConditionItem (control: { [key:string]:any }) {\r\n const {\r\n id,\r\n keyName,\r\n conditionLabel,\r\n conditionKey,\r\n conditionValueType,\r\n prop,\r\n rule = 'NONE',\r\n notGlobal = false,\r\n indexCode,\r\n indexCodeNum,\r\n typeGuid,\r\n dataType = 'component'\r\n } = control\r\n let alias = keyName || id\r\n if (alias && prop) {\r\n alias += `-${prop}`\r\n }\r\n return {\r\n rule,\r\n label: conditionLabel,\r\n fieldName: conditionKey,\r\n fieldValue: '', // 在关联控件中取\r\n valueType: conditionValueType,\r\n alias,\r\n globalCondition: !notGlobal,\r\n indexCode,\r\n indexCodeNum,\r\n typeGuid,\r\n dataType\r\n }\r\n}\r\n\r\nconst excludeAttr = [\r\n 'keyValue',\r\n 'conditionKey',\r\n 'conditionLabel',\r\n 'conditionName',\r\n 'conditionValueType',\r\n 'customValue',\r\n 'id',\r\n 'keyName'\r\n]\r\nfunction handleControlList (controlList: { [key: string]: any }[], renderUsedComponents: { [key: string]: any }[]) {\r\n if (controlList?.length) {\r\n for (const control of controlList) {\r\n if (control?.conditions) {\r\n handleControlList(control.conditions, renderUsedComponents)\r\n } else {\r\n const {\r\n id,\r\n keyName,\r\n prop,\r\n format: dateFormat,\r\n dataType = 'component',\r\n customValue\r\n } = control\r\n let alias = keyName || id\r\n if (alias && prop) {\r\n alias += `-${prop}`\r\n }\r\n const sqlCondition: { [key: string]: any } = getConditionItem(control)\r\n setFieldValue({\r\n sqlCondition,\r\n renderUsedComponents,\r\n id,\r\n dateFormat,\r\n prop,\r\n keyName,\r\n dataType,\r\n customValue\r\n })\r\n for (const key in sqlCondition) {\r\n control[key] = sqlCondition[key]\r\n }\r\n for (const attr of excludeAttr) {\r\n delete control[attr]\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setFieldValue (data: any) {\r\n const {\r\n sqlCondition,\r\n renderUsedComponents,\r\n id,\r\n dateFormat,\r\n prop,\r\n keyName,\r\n dataType,\r\n customValue,\r\n operateValue,\r\n operateMode,\r\n operateType\r\n } = data\r\n const component: any = unref(renderUsedComponents).find((v: { [key: string]: any }) => v.id === id)\r\n // 获取组件属性\r\n const { value, format = 'YYYY-MM-DD', operate, type = '', useCurrentTime } = component || {}\r\n const customFormat = dateFormat || format\r\n if (lowerCaseIncludes(type, 'date')) {\r\n let dateValue\r\n if (useCurrentTime) {\r\n dateValue = dayjs()\r\n } else {\r\n dateValue = dayjs(value)\r\n }\r\n if (operate && value) {\r\n const { mode, type: opType, value: opValue } = operate\r\n if (opValue) {\r\n switch (opType) {\r\n case 'add':\r\n dateValue = dateValue.add(opValue, mode)\r\n break\r\n case 'minus':\r\n dateValue = dateValue.subtract(opValue, mode)\r\n break\r\n }\r\n }\r\n }\r\n if (operateValue && operateMode && operateType) {\r\n switch (operateType) {\r\n case 'add':\r\n dateValue = dateValue.add(operateValue, operateMode)\r\n break\r\n case 'minus':\r\n dateValue = dateValue.subtract(operateValue, operateMode)\r\n break\r\n }\r\n }\r\n sqlCondition.fieldValue = dateValue?.format(customFormat) || ''\r\n sqlCondition.dateFormat = customFormat\r\n } else if (type === 'ecanRangePicker') {\r\n const { interval, intervalUnit, startTime, endTime } = component || {}\r\n let propValue = prop\r\n if (!prop) {\r\n const knList = keyName?.split('-')\r\n if (knList?.length) {\r\n propValue = knList[knList.length - 1]\r\n }\r\n }\r\n if (!propValue) {\r\n return\r\n }\r\n let _time = null\r\n if (useCurrentTime) {\r\n if (propValue === 'startTime') {\r\n _time = dayjs().subtract(interval, intervalUnit)\r\n } else if (propValue === 'endTime') {\r\n _time = dayjs()\r\n }\r\n }\r\n if (component[propValue]) {\r\n _time = dayjs(component[propValue])\r\n }\r\n if (operate) {\r\n const { type, value, mode } = operate\r\n switch (type) {\r\n case 'add':\r\n _time = _time ? _time.add(value, mode) : _time\r\n break\r\n case 'minus':\r\n _time = _time ? _time.subtract(value, mode) : _time\r\n }\r\n }\r\n if (operateValue && operateMode && operateType) {\r\n if (operateValue === 'rangeValue') {\r\n // 自定义偏移,目前只有范围差\r\n if (startTime && endTime) {\r\n const interval = dayjs(endTime).diff(dayjs(startTime), operateMode) + 1\r\n switch (operateType) {\r\n case 'add':\r\n _time = _time ? _time.add(interval, operateMode) : _time\r\n break\r\n case 'minus':\r\n _time = _time ? _time.subtract(interval, operateMode) : _time\r\n }\r\n }\r\n } else if (!isNaN(+operateValue)) {\r\n switch (operateType) {\r\n case 'add':\r\n _time = _time ? _time.add(operateValue, operateMode) : _time\r\n break\r\n case 'minus':\r\n _time = _time ? _time.subtract(operateValue, operateMode) : _time\r\n }\r\n }\r\n }\r\n if (_time) {\r\n sqlCondition.fieldValue = _time?.format(customFormat)\r\n }\r\n\r\n if (propValue === 'rangeValue') {\r\n // 全局变量的日期范围间隔值计算\r\n if (startTime && endTime) {\r\n const step: any = getFormatStep(customFormat)\r\n if (step) {\r\n sqlCondition.fieldValue = dayjs(endTime).diff(dayjs(startTime), step) + 1\r\n }\r\n }\r\n }\r\n sqlCondition.dateFormat = customFormat\r\n } else {\r\n const variables = value && (value).match(/\\{(.+?)\\}/g)\r\n if (variables?.length) {\r\n // 使用了表达式\r\n sqlCondition.fieldValue = ''\r\n } else {\r\n sqlCondition.fieldValue = value\r\n }\r\n }\r\n if (dataType === '') {\r\n sqlCondition.fieldValue = customValue || ''\r\n }\r\n}\r\n\r\nexport const getEventName = (type: string) => {\r\n let event = ''\r\n switch (type) {\r\n case 'ecanDatePicker':\r\n case 'ecanRangePicker':\r\n event = 'dateChange'\r\n break\r\n case 'ecanTimeDisplay':\r\n event = 'timeChange'\r\n break\r\n case 'ecanSelect':\r\n case 'ecanTreeSelect':\r\n event = 'selectChange'\r\n break\r\n case 'ecanTabs':\r\n event = 'tabChange'\r\n break\r\n case 'ecanInput':\r\n event = 'inputChange'\r\n break\r\n case 'ecanCheckbox':\r\n case 'ecanRadio':\r\n event = 'checkboxChange'\r\n break\r\n case 'ecanText':\r\n event = 'valueChange'\r\n break\r\n case 'ecanImage':\r\n event = 'click'\r\n break\r\n default:\r\n break\r\n }\r\n return event\r\n}\r\n\r\nfunction getComponent (data: any, componentList: any) {\r\n if (data.componentId) {\r\n return componentList.find((f: any) => f.id === data.componentId)\r\n } else {\r\n if (data.dataType === 'component') {\r\n if (data.fieldType === 'DATE') {\r\n const dateList = data.fieldValue?.split('-')\r\n if (dateList?.length) {\r\n return dateList[0]\r\n } else {\r\n return null\r\n }\r\n } else {\r\n return componentList.find((f: any) => f.keyName === data.fieldValue)\r\n }\r\n } else {\r\n return null\r\n }\r\n }\r\n}\r\n\r\nexport function getFormatStep (format: string) {\r\n const value = format.split('-')\r\n let formatStep = ''\r\n if (value?.length) {\r\n switch (value[value.length - 1]) {\r\n case 'YYYY':\r\n formatStep = 'year'\r\n break\r\n case 'MM':\r\n formatStep = 'month'\r\n break\r\n case 'DD':\r\n formatStep = 'day'\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n return formatStep\r\n}\r\n// 格式化\r\nexport function handleFormat (row: any, item: any) {\r\n let value = row[item.label]\r\n if ((value || value === 0) && value !== '') {\r\n // 值不为空\r\n if (item.dataFormat && item.dataFormat.length !== 0) {\r\n // 保留两位小数需得提前执行\r\n if (item.dataFormat.includes('#.00')) {\r\n // 先执行保留小数\r\n if (typeof value !== 'number') {\r\n value = value.replace(/,/g, '')\r\n }\r\n // 排除输入为 字符类型 ,保留不转化\r\n if (Number(value) || Number(value) === 0) {\r\n const retentiondigit = item.retentiondigit ? item.retentiondigit - 0 : item.retentiondigit\r\n value = Number(value).toFixed(retentiondigit)\r\n }\r\n }\r\n if (item.dataFormat.includes('#,000')) {\r\n // 千分位处理部分\r\n const str = value.toString()\r\n if (!str.includes(',')) {\r\n value = formatQfw(str)\r\n }\r\n }\r\n }\r\n }\r\n return value\r\n}\r\n// 千分位转换\r\nexport function formatQfw (str: string) {\r\n let result = ''\r\n let str1 = ''\r\n let str2 = ''\r\n let value = ''\r\n if (str.indexOf('.') > -1) {\r\n str1 = str.split('.')[0] // 千分位处理部分\r\n str2 = str.split('.')[1] // 小数值\r\n } else {\r\n str1 = str\r\n }\r\n let index = 0\r\n let len = 0\r\n len = str1.length - 1\r\n while (len >= 0) {\r\n index % 3 === 0 && index !== 0\r\n ? str1[len] === '-'\r\n ? (result += str1[len])\r\n : (result += ',' + str1[len])\r\n : (result += str1[len])\r\n len--\r\n index++\r\n }\r\n result = result\r\n .split('')\r\n .reverse()\r\n .join('')\r\n if (str.indexOf('.') > -1) {\r\n value = result + '.' + str2\r\n } else {\r\n value = result\r\n }\r\n return value\r\n}\r\n// 根据指标获取其他参数-用于条件查询\r\nexport async function getIndicatorParams ({ graphicConfig, request, INDICATOR_URL = '', PAGE_ID, dataSourceId }) {\r\n try {\r\n const { leftAxisList = [], rightAxisList = [], queryColumnList = [], indicators = [] } = unref(graphicConfig)\r\n const otherList = [...leftAxisList, ...rightAxisList, ...queryColumnList, ...indicators]\r\n const idMap: any = {}\r\n for (const item of otherList) {\r\n const { indexCode = '', parentId = '' } = item\r\n if (parentId && !hasOwn(item, 'calcType') && !idMap[parentId]) {\r\n idMap[parentId] = indexCode\r\n }\r\n }\r\n if (Object.keys(idMap)?.length) {\r\n const promiseList = []\r\n for (const id in idMap) {\r\n promiseList.push(\r\n new Promise((resolve, reject) => {\r\n request\r\n .post(\r\n `${INDICATOR_URL}/diagram/hrpIndexWithComplex`,\r\n {\r\n pageId: PAGE_ID,\r\n indexGuid: id,\r\n indexCode: idMap[id],\r\n dataSourceId\r\n }\r\n )\r\n .then((res: any) => {\r\n const { success, data = [] } = res.data\r\n if (success && data?.dataViewColumns?.length) {\r\n resolve(data.dataViewColumns)\r\n } else {\r\n reject(data)\r\n }\r\n })\r\n .catch((e) => {\r\n reject(e)\r\n })\r\n })\r\n )\r\n }\r\n const res = await Promise.all(promiseList)\r\n const resultList = res.reduce((a: any, b: any) =>\r\n a.filter((c: any) => b.find((v: any) => v.typeGuid === c.typeGuid))\r\n )\r\n return resultList.filter((v: any) => v.typeGuid)\r\n }\r\n } catch (err) { }\r\n return ([])\r\n}\r\n/**\r\n * 图表的图例格式化\r\n * @param format 表达式\r\n * @param textData 传入参数\r\n * @returns 显示的图例文本\r\n */\r\nexport const getLegendFormat = (format: string = '', textData: any) => {\r\n const variables = format.match(/\\{(.+?)\\}/g)\r\n // 换行符个数\r\n const lineBreakCount = format.split('\\n')?.length - 1\r\n let lineBreakStr = ''\r\n if (lineBreakCount) {\r\n for (let i = 0; i < lineBreakCount; i++) {\r\n lineBreakStr += '\\n'\r\n }\r\n }\r\n let text = format\r\n if (variables?.length) {\r\n for (const item of variables) {\r\n const str = useVariablesInText(\r\n item,\r\n {\r\n textData\r\n },\r\n {\r\n useNewline: false,\r\n useSpace: false\r\n }\r\n )\r\n if (str) {\r\n text = text.replace(item, str)\r\n }\r\n }\r\n return `${lineBreakStr}{text|${text}}`\r\n } else {\r\n return format\r\n }\r\n}\r\nexport const mapScope = (scope: 'DIM' | 'IDX' | 'BUILT_IN_DIM') => {\r\n const map = {\r\n DIM: '维度',\r\n BUILT_IN_DIM: '维度',\r\n IDX: '指标',\r\n BUILT_IN_IDX: '指标',\r\n FIELD: '数据集'\r\n }\r\n return map[scope]\r\n}\r\nexport const mapDataSetScope = (scope: '0' | '1' | '2') => {\r\n const map = {\r\n 0: '文本',\r\n 1: '数值',\r\n 2: '日期'\r\n\r\n }\r\n return map[scope]\r\n}\r\n\r\nexport const getLoadType = (type: string) => {\r\n if (!type) {\r\n return ''\r\n }\r\n const list = type.split(',')\r\n const result = []\r\n for (const item of list) {\r\n if (item === '0') {\r\n result.push('手工录入')\r\n } else if (item === '1') {\r\n result.push('系统取数')\r\n } else if (item === '2') {\r\n result.push('运算加工')\r\n }\r\n }\r\n return result.join('、')\r\n}\r\n\r\nexport const getUseType = (type: string) => {\r\n if (!type) {\r\n return ''\r\n }\r\n const list = type.split(',')\r\n const result = []\r\n for (const item of list) {\r\n switch (item) {\r\n case '1':\r\n result.push('人力系统')\r\n break\r\n case '2':\r\n result.push('绩效系统')\r\n break\r\n case '3':\r\n result.push('预算系统')\r\n break\r\n case '4':\r\n result.push('财务系统')\r\n break\r\n case '5':\r\n result.push('成本系统')\r\n break\r\n case '6':\r\n result.push('物流系统')\r\n break\r\n case '7':\r\n result.push('固定资产系统')\r\n break\r\n case '8':\r\n result.push('OA办公系统')\r\n break\r\n case '9':\r\n result.push('电子档案系统')\r\n break\r\n case '10':\r\n result.push('个人收入系统')\r\n break\r\n case '11':\r\n result.push('奖金二次分配系统')\r\n break\r\n case '12':\r\n result.push('财务管理系统')\r\n break\r\n case '13':\r\n result.push('报销系统')\r\n break\r\n case '14':\r\n result.push('科研管理系统')\r\n break\r\n case '15':\r\n result.push('审计系统')\r\n break\r\n case '16':\r\n result.push('分组器系统')\r\n break\r\n case '17':\r\n result.push('消毒供应系统')\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n return result.join('、')\r\n}\r\n\r\nexport const getSourceType = (dataTo: string) => {\r\n if (dataTo === '0') {\r\n return '指标库'\r\n } else if (dataTo === '1') {\r\n return '视图'\r\n } else if (dataTo === '2') {\r\n return '数据集'\r\n } else {\r\n return '其他'\r\n }\r\n}\r\n","<template>\n <div class=\"config-modal\" v-if=\"!isUpdate\">\n <div class=\"config-modal-left\" v-if=\"!isPivotTable\">\n <data-list />\n </div>\n <div class=\"config-modal-right\" :class=\"isPivotTable ? 'full' : ''\">\n <data-config ref=\"dataConfigRef\" :sqlConditions=\"sqlConditions\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, provide, nextTick, PropType } from 'vue'\nimport { cloneDeep } from 'lodash-es'\nimport {\n DATA_LIST,\n INDICATOR_TOKEN,\n GRAPHIC_CONFIG,\n CHARTS_OPTIONS,\n TABLE_OPTIONS,\n SOURCE_TYPE,\n SHOW_STYLE_CONFIG,\n UPDATE_GRAPHIC_CONFIG,\n UPDATE_CHARTS_OPTIONS,\n UPDATE_TABLE_OPTIONS,\n SELECTED_COMPONENT,\n REQUEST,\n RENDER_USED_COMPONENTS,\n UPDATE_USED_COMPONENT,\n UPDATE_COMPONENTS_CONFIG,\n MAP_ATTRIBUTE_PROPS,\n PAGE_CONFIG,\n IS_PIVOT_TABLE,\n IS_IFRAME_MODE\n} from '@/utils/constant'\nimport propsMap from './data-config/style-config-group/chart-props'\nimport tableProps from './data-config/style-config-group/table-props'\nimport loadAsyncComponent from '@/utils/loadAsyncComponent'\nimport { getSqlConditions } from '@/utils/util'\nexport default defineComponent({\n name: 'IndicatorLibrary',\n components: {\n DataList: loadAsyncComponent(() => import('./data-list')),\n DataConfig: loadAsyncComponent(() => import('./data-config'))\n },\n props: {\n isShowStyleConfig: {\n // 是否显示样式配置\n type: Boolean,\n default: false\n },\n sourceType: {\n // 数据源类型\n type: String,\n default: ''\n },\n indicatorToken: {\n // 指标库token\n type: String,\n default: ''\n },\n selectedComponent: {\n // 当前组件\n type: Object,\n default: () => {}\n },\n request: {\n // 外部请求方法\n default: null\n },\n renderUsedComponentList: {\n // 当前画布上渲染的组件\n type: Array as PropType<any[]>,\n default: () => []\n },\n mapAttributeProps: {\n type: Object,\n default: () => ({\n startTime: {\n label: '开始时间值',\n component: 'time-pick'\n },\n endTime: {\n label: '结束时间值',\n component: 'time-pick'\n }\n })\n },\n pageConfig: {\n type: Object,\n default: () => {}\n },\n isIframeMode: {\n type: Boolean,\n default: false\n }\n },\n setup (props, { expose, emit }) {\n const dataConfigRef = ref()\n const isUpdate = ref(false)\n const sourceType = computed(() => props.sourceType)\n const indicatorToken = computed(() => props.indicatorToken || '')\n const component = computed(() => props.selectedComponent)\n const usedComponentList = computed(() => props.renderUsedComponentList)\n const tableColumns = computed(\n () => unref(component)?.tableColumns || []\n )\n const isShowStyleConfig = computed(() => props.isShowStyleConfig)\n const isPivotTable = computed(() => unref(component)?.type?.includes('PivotTable'))\n // 图形化配置\n let graphicConfig = unref(component).graphicConfig\n ? cloneDeep(unref(component).graphicConfig)\n : ref({})\n graphicConfig = ref(graphicConfig)\n // 图表样式配置\n let chartsOptions = unref(component).chartsOptions\n ? cloneDeep(unref(component).chartsOptions)\n : ref(cloneDeep(propsMap.line))\n chartsOptions = ref(chartsOptions)\n let tableOptions = unref(component).tableOptions\n ? cloneDeep(unref(component).tableOptions)\n : ref(cloneDeep(tableProps))\n tableOptions = ref(tableOptions)\n // 设置数据列表\n const dataList = ref<{ [key: string]: any }[]>([])\n const setDataList = (list: { [key: string]: any }[]) => {\n dataList.value = list\n }\n const updateGraphicConfig = (config: { [key: string]: any }) => {\n graphicConfig.value = {\n ...unref(graphicConfig),\n ...unref(config)\n }\n }\n const updateChartsOptions = (\n options: { [key: string]: any },\n isMerge: Boolean = true\n ) => {\n if (isMerge) {\n chartsOptions.value = {\n ...unref(chartsOptions),\n ...unref(options)\n }\n } else {\n chartsOptions.value = {\n ...unref(options)\n }\n }\n }\n const updateTableOptions = (options: { [key: string]: any }) => {\n tableOptions.value = {\n ...unref(tableOptions),\n ...unref(options)\n }\n }\n const getDataList = () => dataList\n const updateIndicatorData = () => {\n isUpdate.value = true\n if (unref(component).graphicConfig) {\n graphicConfig.value = cloneDeep(unref(component).graphicConfig)\n }\n if (unref(component).chartsOptions) {\n chartsOptions.value = cloneDeep(unref(component).chartsOptions || propsMap.line)\n }\n nextTick(() => {\n isUpdate.value = false\n })\n }\n const getIndicatorData = () => {\n return {\n graphicConfig: unref(graphicConfig),\n chartsOptions: unref(chartsOptions),\n tableOptions: unref(tableOptions),\n tableColumns: unref(tableColumns),\n columnsConfigMap: unref(component).columnsConfigMap\n }\n }\n const getPivotGraphicData = () => {\n const pivotTableData = unref(dataConfigRef).getSaveData()\n return {\n ...pivotTableData,\n graphicConfig: unref(graphicConfig)\n }\n }\n (window as any).getIndicatorData = getIndicatorData;\n (window as any).getPivotGraphicData = getPivotGraphicData\n if (props.request) {\n provide(REQUEST, props.request)\n }\n provide(DATA_LIST, {\n setDataList,\n getDataList\n })\n\n const updateUsedComponent = (data: any) => {\n emit('updateUsedComponent', data)\n }\n const updateComponentsConfig = (ids: string[], controlList: any[]) => {\n emit('updateComponentsConfig', ids, { controlList })\n }\n\n const sqlConditions = computed(() => getSqlConditions(graphicConfig.value, usedComponentList.value))\n\n provide(IS_PIVOT_TABLE, isPivotTable)\n provide(IS_IFRAME_MODE, props.isIframeMode)\n provide(SELECTED_COMPONENT, component)\n provide(GRAPHIC_CONFIG, graphicConfig)\n provide(CHARTS_OPTIONS, chartsOptions)\n provide(TABLE_OPTIONS, tableOptions)\n provide(SOURCE_TYPE, sourceType)\n provide(SHOW_STYLE_CONFIG, isShowStyleConfig)\n provide(INDICATOR_TOKEN, indicatorToken)\n provide(UPDATE_GRAPHIC_CONFIG, updateGraphicConfig)\n provide(UPDATE_CHARTS_OPTIONS, updateChartsOptions)\n provide(UPDATE_TABLE_OPTIONS, updateTableOptions)\n provide(RENDER_USED_COMPONENTS, usedComponentList)\n provide(UPDATE_USED_COMPONENT, updateUsedComponent)\n provide(UPDATE_COMPONENTS_CONFIG, updateComponentsConfig)\n provide(MAP_ATTRIBUTE_PROPS, props.mapAttributeProps)\n provide(PAGE_CONFIG, props.pageConfig)\n expose({\n graphicConfig,\n chartsOptions,\n updateIndicatorData\n })\n return {\n sqlConditions,\n isUpdate,\n isPivotTable,\n dataConfigRef\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.config-modal {\n width: 100%;\n height: 100%;\n display: flex;\n padding: 10px;\n}\n\n.config-modal-left {\n width: 300px;\n height: 100%;\n margin-right: 10px;\n padding: 10px;\n}\n\n.config-modal-right {\n width: calc(100% - 310px);\n &.full {\n width: 100%;\n }\n}\n</style>\n","<template>\n <div class=\"config-modal\" v-if=\"!isUpdate\">\n <div class=\"config-modal-left\" v-if=\"!isPivotTable\">\n <data-list />\n </div>\n <div class=\"config-modal-right\" :class=\"isPivotTable ? 'full' : ''\">\n <data-config ref=\"dataConfigRef\" :sqlConditions=\"sqlConditions\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, provide, nextTick, PropType } from 'vue'\nimport { cloneDeep } from 'lodash-es'\nimport {\n DATA_LIST,\n INDICATOR_TOKEN,\n GRAPHIC_CONFIG,\n CHARTS_OPTIONS,\n TABLE_OPTIONS,\n SOURCE_TYPE,\n SHOW_STYLE_CONFIG,\n UPDATE_GRAPHIC_CONFIG,\n UPDATE_CHARTS_OPTIONS,\n UPDATE_TABLE_OPTIONS,\n SELECTED_COMPONENT,\n REQUEST,\n RENDER_USED_COMPONENTS,\n UPDATE_USED_COMPONENT,\n UPDATE_COMPONENTS_CONFIG,\n MAP_ATTRIBUTE_PROPS,\n PAGE_CONFIG,\n IS_PIVOT_TABLE,\n IS_IFRAME_MODE\n} from '@/utils/constant'\nimport propsMap from './data-config/style-config-group/chart-props'\nimport tableProps from './data-config/style-config-group/table-props'\nimport loadAsyncComponent from '@/utils/loadAsyncComponent'\nimport { getSqlConditions } from '@/utils/util'\nexport default defineComponent({\n name: 'IndicatorLibrary',\n components: {\n DataList: loadAsyncComponent(() => import('./data-list')),\n DataConfig: loadAsyncComponent(() => import('./data-config'))\n },\n props: {\n isShowStyleConfig: {\n // 是否显示样式配置\n type: Boolean,\n default: false\n },\n sourceType: {\n // 数据源类型\n type: String,\n default: ''\n },\n indicatorToken: {\n // 指标库token\n type: String,\n default: ''\n },\n selectedComponent: {\n // 当前组件\n type: Object,\n default: () => {}\n },\n request: {\n // 外部请求方法\n default: null\n },\n renderUsedComponentList: {\n // 当前画布上渲染的组件\n type: Array as PropType<any[]>,\n default: () => []\n },\n mapAttributeProps: {\n type: Object,\n default: () => ({\n startTime: {\n label: '开始时间值',\n component: 'time-pick'\n },\n endTime: {\n label: '结束时间值',\n component: 'time-pick'\n }\n })\n },\n pageConfig: {\n type: Object,\n default: () => {}\n },\n isIframeMode: {\n type: Boolean,\n default: false\n }\n },\n setup (props, { expose, emit }) {\n const dataConfigRef = ref()\n const isUpdate = ref(false)\n const sourceType = computed(() => props.sourceType)\n const indicatorToken = computed(() => props.indicatorToken || '')\n const component = computed(() => props.selectedComponent)\n const usedComponentList = computed(() => props.renderUsedComponentList)\n const tableColumns = computed(\n () => unref(component)?.tableColumns || []\n )\n const isShowStyleConfig = computed(() => props.isShowStyleConfig)\n const isPivotTable = computed(() => unref(component)?.type?.includes('PivotTable'))\n // 图形化配置\n let graphicConfig = unref(component).graphicConfig\n ? cloneDeep(unref(component).graphicConfig)\n : ref({})\n graphicConfig = ref(graphicConfig)\n // 图表样式配置\n let chartsOptions = unref(component).chartsOptions\n ? cloneDeep(unref(component).chartsOptions)\n : ref(cloneDeep(propsMap.line))\n chartsOptions = ref(chartsOptions)\n let tableOptions = unref(component).tableOptions\n ? cloneDeep(unref(component).tableOptions)\n : ref(cloneDeep(tableProps))\n tableOptions = ref(tableOptions)\n // 设置数据列表\n const dataList = ref<{ [key: string]: any }[]>([])\n const setDataList = (list: { [key: string]: any }[]) => {\n dataList.value = list\n }\n const updateGraphicConfig = (config: { [key: string]: any }) => {\n graphicConfig.value = {\n ...unref(graphicConfig),\n ...unref(config)\n }\n }\n const updateChartsOptions = (\n options: { [key: string]: any },\n isMerge: Boolean = true\n ) => {\n if (isMerge) {\n chartsOptions.value = {\n ...unref(chartsOptions),\n ...unref(options)\n }\n } else {\n chartsOptions.value = {\n ...unref(options)\n }\n }\n }\n const updateTableOptions = (options: { [key: string]: any }) => {\n tableOptions.value = {\n ...unref(tableOptions),\n ...unref(options)\n }\n }\n const getDataList = () => dataList\n const updateIndicatorData = () => {\n isUpdate.value = true\n if (unref(component).graphicConfig) {\n graphicConfig.value = cloneDeep(unref(component).graphicConfig)\n }\n if (unref(component).chartsOptions) {\n chartsOptions.value = cloneDeep(unref(component).chartsOptions || propsMap.line)\n }\n nextTick(() => {\n isUpdate.value = false\n })\n }\n const getIndicatorData = () => {\n return {\n graphicConfig: unref(graphicConfig),\n chartsOptions: unref(chartsOptions),\n tableOptions: unref(tableOptions),\n tableColumns: unref(tableColumns),\n columnsConfigMap: unref(component).columnsConfigMap\n }\n }\n const getPivotGraphicData = () => {\n const pivotTableData = unref(dataConfigRef).getSaveData()\n return {\n ...pivotTableData,\n graphicConfig: unref(graphicConfig)\n }\n }\n (window as any).getIndicatorData = getIndicatorData;\n (window as any).getPivotGraphicData = getPivotGraphicData\n if (props.request) {\n provide(REQUEST, props.request)\n }\n provide(DATA_LIST, {\n setDataList,\n getDataList\n })\n\n const updateUsedComponent = (data: any) => {\n emit('updateUsedComponent', data)\n }\n const updateComponentsConfig = (ids: string[], controlList: any[]) => {\n emit('updateComponentsConfig', ids, { controlList })\n }\n\n const sqlConditions = computed(() => getSqlConditions(graphicConfig.value, usedComponentList.value))\n\n provide(IS_PIVOT_TABLE, isPivotTable)\n provide(IS_IFRAME_MODE, props.isIframeMode)\n provide(SELECTED_COMPONENT, component)\n provide(GRAPHIC_CONFIG, graphicConfig)\n provide(CHARTS_OPTIONS, chartsOptions)\n provide(TABLE_OPTIONS, tableOptions)\n provide(SOURCE_TYPE, sourceType)\n provide(SHOW_STYLE_CONFIG, isShowStyleConfig)\n provide(INDICATOR_TOKEN, indicatorToken)\n provide(UPDATE_GRAPHIC_CONFIG, updateGraphicConfig)\n provide(UPDATE_CHARTS_OPTIONS, updateChartsOptions)\n provide(UPDATE_TABLE_OPTIONS, updateTableOptions)\n provide(RENDER_USED_COMPONENTS, usedComponentList)\n provide(UPDATE_USED_COMPONENT, updateUsedComponent)\n provide(UPDATE_COMPONENTS_CONFIG, updateComponentsConfig)\n provide(MAP_ATTRIBUTE_PROPS, props.mapAttributeProps)\n provide(PAGE_CONFIG, props.pageConfig)\n expose({\n graphicConfig,\n chartsOptions,\n updateIndicatorData\n })\n return {\n sqlConditions,\n isUpdate,\n isPivotTable,\n dataConfigRef\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.config-modal {\n width: 100%;\n height: 100%;\n display: flex;\n padding: 10px;\n}\n\n.config-modal-left {\n width: 300px;\n height: 100%;\n margin-right: 10px;\n padding: 10px;\n}\n\n.config-modal-right {\n width: calc(100% - 310px);\n &.full {\n width: 100%;\n }\n}\n</style>\n","import { withInstall } from '@/utils/withInstall'\r\nimport IndicatorLibrary from './IndicatorLibrary.vue'\r\nexport const EcanIndicatorLibrary = withInstall(IndicatorLibrary)\r\nexport default EcanIndicatorLibrary\r\n","import { lowerCaseIncludes, hasOwn } from '@ecan-bi/tools'\r\nimport {\r\n INDICATOR_URL\r\n} from '@/utils/constant'\r\n\r\nexport const useIndicatorData = (props: { [key:string]: any } = {}) => {\r\n const handleQueryColumn = (queryColumn: { [key:string]: any } = {}) => {\r\n const { label, name, location, show, indexCode, typeGuid } = queryColumn\r\n return {\r\n label,\r\n columnName: name,\r\n location,\r\n show,\r\n calcType: 'COLUMN',\r\n hrpIndexCode: indexCode,\r\n typeGuid\r\n }\r\n }\r\n\r\n const handleParams = (params: any) => {\r\n if (hasOwn(params, 'dataType')) {\r\n if (params.fieldType === 'DATE') {\r\n params.label = params.fieldName\r\n if (params.dataType === 'component') {\r\n params.fieldValue = '${' + params.fieldValue + '}'\r\n }\r\n }\r\n delete params.dataType\r\n }\r\n if (hasOwn(params, 'activeKey')) {\r\n delete params.activeKey\r\n }\r\n if (hasOwn(params, 'radioValue')) {\r\n delete params.radioValue\r\n }\r\n }\r\n // 递归格式化conditions的数据\r\n const handleConditions = (list: { [key: string]: any } []) => {\r\n const result = []\r\n if (list?.length) {\r\n list.forEach((item) => {\r\n if (item.join && item.conditions) {\r\n const isSameLevel = !item.conditions.some((v: any) => v.join && v.conditions)\r\n item.conditions.forEach((cs: any, index: number) => {\r\n handleParams(cs)\r\n if (isSameLevel) {\r\n if (index < item.conditions.length - 1) {\r\n result.push({\r\n join: item.join,\r\n ...cs\r\n })\r\n } else {\r\n result.push(cs)\r\n }\r\n } else {\r\n if (cs.join && cs.conditions) {\r\n result.push({\r\n conditions: handleConditions([cs]),\r\n join: item.join\r\n })\r\n } else {\r\n result.push(cs)\r\n }\r\n }\r\n })\r\n } else {\r\n handleParams(item)\r\n result.push(item)\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n\r\n const handleIndicator = (indicator: { [key:string]: any } = {}) => {\r\n const {\r\n label,\r\n name,\r\n location,\r\n show,\r\n indexCode,\r\n calcType = 'COLUMN',\r\n builtInFormula,\r\n builtInValueSource,\r\n builtInCalcWay,\r\n formula,\r\n conditions,\r\n aggregate\r\n } = indicator\r\n let conditionData\r\n if (conditions) {\r\n conditionData = handleConditions(conditions)\r\n }\r\n return {\r\n label: label.trim(),\r\n columnName: name,\r\n location,\r\n show,\r\n calcType,\r\n hrpIndexCode: indexCode,\r\n aggregate,\r\n builtInFormula,\r\n builtInValueSource,\r\n builtInCalcWay,\r\n formula,\r\n conditions: conditionData\r\n }\r\n }\r\n\r\n return async () => {\r\n const { graphicConfig, type, request, isGroupTable } = props\r\n // 全部属性, 为了属性可拓展,所以在设计器中自由添加\r\n let {\r\n source,\r\n dataViewId,\r\n plugin = '1', // 插件类型\r\n layer, // 后台图表类型,值分0,1\r\n chartType, // 前端图表类型,实测没用\r\n classificationList = [],\r\n seriesList = [],\r\n leftAxisList = [],\r\n rightAxisList = [],\r\n queryColumnList = [],\r\n indicators = [],\r\n // controlList = [],\r\n dataSourceId, // 所属数据源ID\r\n idxLibMode, // 指标库模式, source= INDICATOR_LIB时候必填, NORMAL_YEAR_TABLE = 普通年表, WITH_DATE_DIM_TABLE = 带有时间维度表\r\n preview = false, // 预览开关\r\n sqlConditions = [],\r\n rowHeaderList = []\r\n } = graphicConfig || {}\r\n // 图类型,1=表 2=图\r\n if (layer == null) {\r\n if (lowerCaseIncludes(type, ['table', 'card'])) {\r\n layer = '1'\r\n } else {\r\n layer = '2'\r\n }\r\n }\r\n // console.log('classificationList', classificationList)\r\n // console.log('seriesList', seriesList)\r\n // console.log('leftAxisList', leftAxisList)\r\n // console.log('rightAxisList', rightAxisList)\r\n // console.log('indicators', indicators)\r\n // console.log('controlList', controlList)\r\n // 重点处理 classificationList、seriesList、leftAxisList、rightAxisList、indicators\r\n // classificationList (取第一项) => classification\r\n let classification: Object\r\n if (Array.isArray(classificationList) && classificationList.length > 0) {\r\n const len = classificationList.length\r\n for (let i = 0; i < len; i++) {\r\n const item = classificationList[i] || {}\r\n const { label = '', name = '', show = false, sort, customGroup, conditions, typeGuid } = item\r\n // 如果是 show 直接提取 classification,停止遍历\r\n if (show || len === 1) {\r\n classification = {\r\n label: label.trim(),\r\n columnName: name,\r\n show,\r\n sort,\r\n customGroup,\r\n typeGuid,\r\n conditions: handleConditions(conditions)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n // seriesList (取第一项) => series\r\n let series: Object\r\n if (Array.isArray(seriesList) && seriesList.length > 0) {\r\n const len = seriesList.length\r\n for (let i = 0; i < len; i++) {\r\n const item = seriesList[i] || {}\r\n const { label = '', name = '', show = false, sort, customGroup, conditions, typeGuid } = item\r\n // 如果是 show 直接提取 seriesList,停止遍历\r\n if (show || len === 1) {\r\n series = {\r\n label: label.trim(),\r\n columnName: name,\r\n show,\r\n sort,\r\n customGroup,\r\n conditions: handleConditions(conditions),\r\n typeGuid\r\n }\r\n break\r\n }\r\n }\r\n }\r\n // 行表头\r\n const rowHeaders = []\r\n if (Array.isArray(rowHeaderList) && rowHeaderList.length > 0) {\r\n const len = rowHeaderList.length\r\n for (let i = 0; i < len; i++) {\r\n const item = rowHeaderList[i] || {}\r\n const { label = '', name = '', show = false, sort, customGroup, conditions, typeGuid } = item\r\n rowHeaders.push({\r\n typeGuid,\r\n label: label.trim(),\r\n columnName: name,\r\n show,\r\n sort,\r\n customGroup,\r\n conditions: handleConditions(conditions)\r\n })\r\n }\r\n }\r\n // queryColumnList => queryColumns\r\n const queryColumns = []\r\n queryColumnList?.forEach((queryColumn: { [key:string]: any }) => {\r\n queryColumns.push(handleQueryColumn(queryColumn))\r\n })\r\n\r\n // leftAxisList + rightAxisList + indicators => indicatorList\r\n const indicatorList = []\r\n leftAxisList?.forEach((leftAxis: { [key:string]: any }) => {\r\n leftAxis.location = 'LEFT'\r\n indicatorList.push(handleIndicator(leftAxis))\r\n })\r\n rightAxisList?.forEach((rightAxis: { [key:string]: any }) => {\r\n rightAxis.location = 'RIGHT'\r\n indicatorList.push(handleIndicator(rightAxis))\r\n })\r\n indicators?.forEach((indicator: { [key:string]: any }) => {\r\n indicator.location = 'LEFT'\r\n indicatorList.push(handleIndicator(indicator))\r\n })\r\n\r\n if (isGroupTable || type === 'card') {\r\n // 分组表和指标卡片\r\n chartType = 'grouptable'\r\n if (indicatorList.length === 0 || rowHeaders.length === 0) {\r\n return\r\n }\r\n // queryColumns 表格配置为空返回\r\n } else if (layer === '1' && queryColumns.length === 0) {\r\n return\r\n // queryColumns 图表配置为空返回\r\n } else if (layer === '2' && indicatorList.length === 0) {\r\n return\r\n }\r\n try {\r\n // @ts-ignore\r\n const res = await request.post(`${INDICATOR_URL}/diagram`, {\r\n source,\r\n dataViewId,\r\n plugin,\r\n layer,\r\n chartType,\r\n classification,\r\n series,\r\n indicatorList,\r\n queryColumns,\r\n pageFlag: true,\r\n sqlConditions,\r\n rowHeaders,\r\n dataSourceId,\r\n idxLibMode,\r\n preview\r\n })\r\n return res\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n}\r\n\r\nexport default useIndicatorData\r\n","<template>\r\n <div class=\"ecan-chart-graph\" ref=\"chartWrapRef\">\r\n <a-spin :spinning=\"loading\" wrapperClassName=\"chart-spin\" tip=\"数据加载中...\">\r\n <div style=\"width: 100%; height: 100%\" ref=\"echartRef\"></div>\r\n </a-spin>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport * as echarts from 'echarts'\r\nimport { defineComponent, onMounted, onBeforeUnmount, computed, ref, inject, unref, watch } from 'vue'\r\nimport { Spin as ASpin } from 'ant-design-vue'\r\nimport useIndicatorData from '@/hooks/useIndicatorData'\r\nimport * as generalTools from '@ecan-bi/tools'\r\nimport { CHARTS_OPTIONS, GRAPHIC_CONFIG, ZOOM_FONT_SIZE, REQUEST, INDICATOR_TOKEN } from '@/utils/constant'\r\nexport default defineComponent({\r\n name: 'ChartGraph',\r\n components: {\r\n ASpin\r\n },\r\n props: {\r\n graphicConfig: {\r\n // 指标库配置\r\n type: Object,\r\n default: () => {}\r\n },\r\n chartsOptions: {\r\n // 图表配置\r\n type: Object,\r\n default: () => {}\r\n }\r\n },\r\n setup (props, { expose }) {\r\n interface KeyTypeDataFieldNames {\r\n name: string\r\n types: {\r\n label: string\r\n value: string\r\n } []\r\n }\r\n\r\n interface ValueTypeDataFieldNames {\r\n name: string\r\n value: string\r\n type: string\r\n }\r\n\r\n const chartsOptions = computed(() => {\r\n if (props.chartsOptions) {\r\n return unref(props.chartsOptions)\r\n } else {\r\n return chartGraphicOptions as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const graphicConfig = computed(() => {\r\n if (props.graphicConfig) {\r\n return unref(props.graphicConfig)\r\n } else {\r\n return chartGraphicConfig as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const request = inject(REQUEST)\r\n let observer: ResizeObserver | null = null\r\n const indicatorToken = inject(INDICATOR_TOKEN) || ''\r\n const chartGraphicConfig = inject(GRAPHIC_CONFIG) || {}\r\n const chartGraphicOptions = inject(CHARTS_OPTIONS) || {}\r\n const echartRef = ref<HTMLElement>(null)\r\n const chartWrapRef = ref<HTMLElement>(null)\r\n const myChart = ref<any>()\r\n const loading = ref(false)\r\n const visible = ref(false)\r\n const fontSize = computed(() => (visible.value ? ZOOM_FONT_SIZE : 12))\r\n const chartData = ref<any>({})\r\n const myOption = ref()\r\n const chartOption = computed(() => {\r\n // 这样写为了触发响应式\r\n const chartsOptionsValue = unref(chartsOptions.value)\r\n if (chartsOptionsValue?.type === 'customGraph') {\r\n return myOption.value\r\n }\r\n return generalTools.transformProps(chartsOptionsValue, unref(chartData), fontSize.value)\r\n })\r\n const handleIndicatorDataset = (\r\n data: any = [],\r\n keyTypeDataFieldNames: KeyTypeDataFieldNames,\r\n useDataFieldNames: boolean = false\r\n ) => {\r\n const dataFieldNames = useDataFieldNames ? keyTypeDataFieldNames : null\r\n chartData.value = generalTools.useTransformChartDataByAttrKey(data, dataFieldNames)\r\n }\r\n const handleIndicatorPieDataset = (data: any = [], dataFieldNames?: ValueTypeDataFieldNames) => {\r\n chartData.value = generalTools.useTransformChartDataByAttrValue(data, dataFieldNames)\r\n }\r\n const handleIndicatorData = async () => {\r\n try {\r\n const indicatorData = useIndicatorData({\r\n graphicConfig: unref(graphicConfig.value),\r\n type: unref(chartsOptions.value)?.type,\r\n request,\r\n indicatorToken\r\n })\r\n loading.value = true\r\n const res = await indicatorData()\r\n const { columns = [], rows = [] } = res?.data?.data ?? {}\r\n if (unref(chartsOptions.value)?.type === 'pie') {\r\n let arr = []\r\n if (columns.length > 0) {\r\n const name = columns[0]\r\n const value = columns[1]\r\n arr = rows.map((item) => {\r\n return {\r\n name: item[name],\r\n value: item[value]\r\n }\r\n })\r\n }\r\n handleIndicatorPieDataset(arr)\r\n } else {\r\n let fieldNames\r\n if (columns.length > 0) {\r\n fieldNames = {\r\n name: columns[0],\r\n types: columns.slice(1).map((column) => {\r\n return {\r\n label: column,\r\n value: column\r\n }\r\n })\r\n }\r\n }\r\n handleIndicatorDataset(rows, fieldNames, true)\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false\r\n }\r\n }\r\n const emptyOption = {\r\n title: {\r\n text: '暂无数据',\r\n x: 'center',\r\n y: 'center',\r\n textStyle: {\r\n fontSize: 14,\r\n fontWeight: 'normal'\r\n }\r\n }\r\n }\r\n const setChartOption = () => {\r\n const isEmpty = unref(chartData).dataset.length === 0\r\n if (isEmpty) {\r\n myChart.value.setOption(emptyOption, true)\r\n } else {\r\n myChart.value.setOption(chartOption.value, true)\r\n }\r\n }\r\n const refreshData = () => {\r\n if (unref(chartsOptions.value).type !== 'customGraph') {\r\n handleIndicatorData()\r\n }\r\n }\r\n const handleResize = () => {\r\n myChart.value?.resize()\r\n }\r\n watch(\r\n chartOption,\r\n () => {\r\n setChartOption()\r\n },\r\n {\r\n deep: true\r\n }\r\n )\r\n watch(\r\n () => unref(chartsOptions.value).optionCode,\r\n (optionCode: string) => {\r\n try {\r\n // eslint-disable-next-line\r\n const evalCopy = eval\r\n myOption.value = evalCopy(optionCode)\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n )\r\n onMounted(() => {\r\n if (chartWrapRef.value) {\r\n observer = new ResizeObserver(handleResize)\r\n observer.observe(chartWrapRef.value)\r\n }\r\n myChart.value = echarts.init(echartRef.value)\r\n })\r\n onBeforeUnmount(() => {\r\n myChart.value.dispose()\r\n if (observer) {\r\n observer.disconnect()\r\n observer = null\r\n }\r\n })\r\n expose({\r\n refreshData\r\n })\r\n return {\r\n echartRef,\r\n loading\r\n }\r\n }\r\n})\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.ecan-chart-graph {\r\n width: 100%;\r\n height: 100%;\r\n .chart-spin {\r\n width: 100%;\r\n height: 100%;\r\n :deep(.ant-spin-container) {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"ecan-chart-graph\" ref=\"chartWrapRef\">\r\n <a-spin :spinning=\"loading\" wrapperClassName=\"chart-spin\" tip=\"数据加载中...\">\r\n <div style=\"width: 100%; height: 100%\" ref=\"echartRef\"></div>\r\n </a-spin>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport * as echarts from 'echarts'\r\nimport { defineComponent, onMounted, onBeforeUnmount, computed, ref, inject, unref, watch } from 'vue'\r\nimport { Spin as ASpin } from 'ant-design-vue'\r\nimport useIndicatorData from '@/hooks/useIndicatorData'\r\nimport * as generalTools from '@ecan-bi/tools'\r\nimport { CHARTS_OPTIONS, GRAPHIC_CONFIG, ZOOM_FONT_SIZE, REQUEST, INDICATOR_TOKEN } from '@/utils/constant'\r\nexport default defineComponent({\r\n name: 'ChartGraph',\r\n components: {\r\n ASpin\r\n },\r\n props: {\r\n graphicConfig: {\r\n // 指标库配置\r\n type: Object,\r\n default: () => {}\r\n },\r\n chartsOptions: {\r\n // 图表配置\r\n type: Object,\r\n default: () => {}\r\n }\r\n },\r\n setup (props, { expose }) {\r\n interface KeyTypeDataFieldNames {\r\n name: string\r\n types: {\r\n label: string\r\n value: string\r\n } []\r\n }\r\n\r\n interface ValueTypeDataFieldNames {\r\n name: string\r\n value: string\r\n type: string\r\n }\r\n\r\n const chartsOptions = computed(() => {\r\n if (props.chartsOptions) {\r\n return unref(props.chartsOptions)\r\n } else {\r\n return chartGraphicOptions as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const graphicConfig = computed(() => {\r\n if (props.graphicConfig) {\r\n return unref(props.graphicConfig)\r\n } else {\r\n return chartGraphicConfig as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const request = inject(REQUEST)\r\n let observer: ResizeObserver | null = null\r\n const indicatorToken = inject(INDICATOR_TOKEN) || ''\r\n const chartGraphicConfig = inject(GRAPHIC_CONFIG) || {}\r\n const chartGraphicOptions = inject(CHARTS_OPTIONS) || {}\r\n const echartRef = ref<HTMLElement>(null)\r\n const chartWrapRef = ref<HTMLElement>(null)\r\n const myChart = ref<any>()\r\n const loading = ref(false)\r\n const visible = ref(false)\r\n const fontSize = computed(() => (visible.value ? ZOOM_FONT_SIZE : 12))\r\n const chartData = ref<any>({})\r\n const myOption = ref()\r\n const chartOption = computed(() => {\r\n // 这样写为了触发响应式\r\n const chartsOptionsValue = unref(chartsOptions.value)\r\n if (chartsOptionsValue?.type === 'customGraph') {\r\n return myOption.value\r\n }\r\n return generalTools.transformProps(chartsOptionsValue, unref(chartData), fontSize.value)\r\n })\r\n const handleIndicatorDataset = (\r\n data: any = [],\r\n keyTypeDataFieldNames: KeyTypeDataFieldNames,\r\n useDataFieldNames: boolean = false\r\n ) => {\r\n const dataFieldNames = useDataFieldNames ? keyTypeDataFieldNames : null\r\n chartData.value = generalTools.useTransformChartDataByAttrKey(data, dataFieldNames)\r\n }\r\n const handleIndicatorPieDataset = (data: any = [], dataFieldNames?: ValueTypeDataFieldNames) => {\r\n chartData.value = generalTools.useTransformChartDataByAttrValue(data, dataFieldNames)\r\n }\r\n const handleIndicatorData = async () => {\r\n try {\r\n const indicatorData = useIndicatorData({\r\n graphicConfig: unref(graphicConfig.value),\r\n type: unref(chartsOptions.value)?.type,\r\n request,\r\n indicatorToken\r\n })\r\n loading.value = true\r\n const res = await indicatorData()\r\n const { columns = [], rows = [] } = res?.data?.data ?? {}\r\n if (unref(chartsOptions.value)?.type === 'pie') {\r\n let arr = []\r\n if (columns.length > 0) {\r\n const name = columns[0]\r\n const value = columns[1]\r\n arr = rows.map((item) => {\r\n return {\r\n name: item[name],\r\n value: item[value]\r\n }\r\n })\r\n }\r\n handleIndicatorPieDataset(arr)\r\n } else {\r\n let fieldNames\r\n if (columns.length > 0) {\r\n fieldNames = {\r\n name: columns[0],\r\n types: columns.slice(1).map((column) => {\r\n return {\r\n label: column,\r\n value: column\r\n }\r\n })\r\n }\r\n }\r\n handleIndicatorDataset(rows, fieldNames, true)\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false\r\n }\r\n }\r\n const emptyOption = {\r\n title: {\r\n text: '暂无数据',\r\n x: 'center',\r\n y: 'center',\r\n textStyle: {\r\n fontSize: 14,\r\n fontWeight: 'normal'\r\n }\r\n }\r\n }\r\n const setChartOption = () => {\r\n const isEmpty = unref(chartData).dataset.length === 0\r\n if (isEmpty) {\r\n myChart.value.setOption(emptyOption, true)\r\n } else {\r\n myChart.value.setOption(chartOption.value, true)\r\n }\r\n }\r\n const refreshData = () => {\r\n if (unref(chartsOptions.value).type !== 'customGraph') {\r\n handleIndicatorData()\r\n }\r\n }\r\n const handleResize = () => {\r\n myChart.value?.resize()\r\n }\r\n watch(\r\n chartOption,\r\n () => {\r\n setChartOption()\r\n },\r\n {\r\n deep: true\r\n }\r\n )\r\n watch(\r\n () => unref(chartsOptions.value).optionCode,\r\n (optionCode: string) => {\r\n try {\r\n // eslint-disable-next-line\r\n const evalCopy = eval\r\n myOption.value = evalCopy(optionCode)\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n )\r\n onMounted(() => {\r\n if (chartWrapRef.value) {\r\n observer = new ResizeObserver(handleResize)\r\n observer.observe(chartWrapRef.value)\r\n }\r\n myChart.value = echarts.init(echartRef.value)\r\n })\r\n onBeforeUnmount(() => {\r\n myChart.value.dispose()\r\n if (observer) {\r\n observer.disconnect()\r\n observer = null\r\n }\r\n })\r\n expose({\r\n refreshData\r\n })\r\n return {\r\n echartRef,\r\n loading\r\n }\r\n }\r\n})\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.ecan-chart-graph {\r\n width: 100%;\r\n height: 100%;\r\n .chart-spin {\r\n width: 100%;\r\n height: 100%;\r\n :deep(.ant-spin-container) {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n</style>\r\n","import { withInstall } from '@/utils/withInstall'\r\nimport ChartGraph from './ChartGraph.vue'\r\nexport const EcanChartGraph = withInstall(ChartGraph)\r\nexport default EcanChartGraph\r\n","import { App } from 'vue'\nimport * as components from './components'\nconst install = (app: App, options: any) => {\n const { request } = options\n app.provide('$request', request)\n Object.keys(components).forEach((key) => {\n const component = components[key]\n if (component.install) {\n app.use(component)\n }\n })\n}\n\n// 部分导出\nexport * from './components'\n// 全局安装\nexport default {\n install\n}\n"],"names":["withInstall","comp","app","REQUEST","INDICATOR_URL","_a","INDICATOR_TOKEN","DATA_LIST","SELECTED_COMPONENT","GRAPHIC_CONFIG","UPDATE_GRAPHIC_CONFIG","SHOW_STYLE_CONFIG","REFRESH_DATA","CHARTS_OPTIONS","TABLE_OPTIONS","ZOOM_FONT_SIZE","UPDATE_CHARTS_OPTIONS","UPDATE_TABLE_OPTIONS","SOURCE_TYPE","CHANGE_CONDITION","DATA_VIEW_COLUMNS","RENDER_USED_COMPONENTS","UPDATE_USED_COMPONENT","UPDATE_COMPONENTS_CONFIG","MAP_ATTRIBUTE_PROPS","PAGE_CONFIG","IS_PIVOT_TABLE","IS_IFRAME_MODE","barProps","lineProps","pieProps","customGraphProps","comboGraphProps","propsMap","tableProps","loadAsyncComponent","loader","defineAsyncComponent","e","n","o","r","i","a","l","s","c","u","p","d","f","h","y","t","b","m","g","v","x","w","S","A","_","j","O","C","$","oe","L","T","N","k","D","M","E","I","F","V","z","R","P","U","Y","G","W","ne","H","Q","B","K","q","X","Z","ee","te","re","ie","ae","le","se","ce","ue","de","fe","pe","he","ye","me","be","ge","ve","xe","we","Se","Ae","_e","je","Oe","Ce","Le","Te","Ne","$e","ke","De","Me","Ee","Ie","Fe","Ve","ze","Re","Ue","Pe","Ge","Ye","We","He","Be","Ke","qe","Qe","Je","Xe","Ze","et","tt","nt","ot","rt","it","at","lt","st","ct","ut","dt","ft","pt","ht","yt","mt","bt","gt","vt","xt","wt","St","At","_t","jt","Ot","Ct","Lt","Tt","Nt","$t","kt","Dt","Mt","Et","It","Ft","Vt","zt","Rt","Ut","Pt","Gt","Yt","Wt","Ht","Bt","Kt","qt","Qt","Jt","Xt","Zt","en","tn","nn","on","rn","an","ln","sn","cn","un","dn","fn","pn","hn","yn","mn","bn","gn","xn","wn","An","_n","jn","Ln","On","Cn","Mn","kn","Tn","$n","Nn","Dn","En","J","In","Fn","Vn","zn","Rn","Un","Pn","Gn","Yn","getConditions","conditions","result","item","getSqlConditions","graphicConfig","renderUsedComponents","controlList","cloneDeep","classificationList","rowHeaderList","dimensionList","seriesList","leftAxisList","rightAxisList","queryColumnList","indicators","handleControlList","sqlConditions","otherList","conditionList","ol","list","getComponent","target","params","cItem","len","control","id","keyName","prop","dateFormat","dataType","customValue","sqlCondition","getConditionItem","setFieldValue","handleVariableList","variableList","handleVarList","variableItem","conditionLabel","conditionKey","conditionValueType","rule","notGlobal","indexCode","indexCodeNum","typeGuid","alias","excludeAttr","key","attr","data","operateValue","operateMode","operateType","component","unref","value","format","operate","type","useCurrentTime","customFormat","lowerCaseIncludes","dateValue","dayjs","mode","opType","opValue","interval","intervalUnit","startTime","endTime","propValue","knList","_time","step","getFormatStep","variables","getEventName","event","componentList","dateList","formatStep","handleFormat","row","retentiondigit","str","formatQfw","str1","str2","index","mapScope","scope","mapDataSetScope","getLoadType","getUseType","getSourceType","dataTo","_sfc_main$1","defineComponent","props","expose","emit","dataConfigRef","ref","isUpdate","sourceType","computed","indicatorToken","usedComponentList","tableColumns","isShowStyleConfig","isPivotTable","_b","chartsOptions","tableOptions","dataList","setDataList","updateGraphicConfig","config","updateChartsOptions","options","isMerge","updateTableOptions","getDataList","updateIndicatorData","nextTick","getIndicatorData","getPivotGraphicData","provide","updateUsedComponent","updateComponentsConfig","ids","_hoisted_1","_hoisted_2","_component_data_config","_resolveComponent","_ctx","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_normalizeClass","EcanIndicatorLibrary","IndicatorLibrary","useIndicatorData","handleQueryColumn","queryColumn","label","name","location","show","handleParams","hasOwn","handleConditions","isSameLevel","cs","handleIndicator","indicator","calcType","builtInFormula","builtInValueSource","builtInCalcWay","formula","aggregate","conditionData","request","isGroupTable","source","dataViewId","plugin","layer","chartType","dataSourceId","idxLibMode","preview","classification","sort","customGroup","series","rowHeaders","queryColumns","indicatorList","leftAxis","rightAxis","_sfc_main","ASpin","chartGraphicOptions","chartGraphicConfig","inject","observer","echartRef","chartWrapRef","myChart","loading","visible","fontSize","chartData","myOption","chartOption","chartsOptionsValue","generalTools.transformProps","handleIndicatorDataset","keyTypeDataFieldNames","useDataFieldNames","dataFieldNames","generalTools.useTransformChartDataByAttrKey","handleIndicatorPieDataset","generalTools.useTransformChartDataByAttrValue","handleIndicatorData","indicatorData","res","columns","rows","_c","arr","fieldNames","column","emptyOption","setChartOption","refreshData","handleResize","watch","optionCode","evalCopy","onMounted","echarts","onBeforeUnmount","_component_a_spin","_createVNode","EcanChartGraph","ChartGraph","install","components"],"mappings":"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","x_google_ignoreList":[10]}
1
+ {"version":3,"file":"index-8d692872.mjs","sources":["../src/utils/withInstall.ts","../src/utils/constant.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/bar/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/line/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/pie/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/custom-graph/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/combo-graph/props.ts","../src/indicator/indicator-library/data-config/style-config-group/chart-props/index.ts","../src/indicator/indicator-library/data-config/style-config-group/table-props/props.ts","../src/utils/loadAsyncComponent.ts","../node_modules/@ecan-bi/tools/lib/index.es.js","../src/utils/util.ts","../src/indicator/indicator-library/IndicatorLibrary.vue","../src/indicator/indicator-library/IndicatorLibrary.vue","../src/indicator/indicator-library/index.ts","../src/hooks/useIndicatorData.ts","../src/indicator/chart-graph/ChartGraph.vue","../src/indicator/chart-graph/ChartGraph.vue","../src/indicator/chart-graph/index.ts","../src/index.ts"],"sourcesContent":["// import { NOOP } from '@vue/shared'\n// import { Plugin } from 'vue'\n\n// export type SFCWithInstall<T> = T & Plugin\n\n// export const withInstall = <T, E extends Record<string, any>>(\n// main: T,\n// extra?: E\n// ) => {\n// (main as SFCWithInstall<T>).install = (app): void => {\n// for (const comp of [main, ...Object.values(extra ?? {})]) {\n// app.component(comp.name, comp)\n// }\n// }\n\n// if (extra) {\n// for (const [key, comp] of Object.entries(extra)) {\n// (main as any)[key] = comp\n// }\n// }\n// return main as SFCWithInstall<T> & E\n// }\n\n// export const withInstallFunction = <T>(fn: T, name: string) => {\n// (fn as SFCWithInstall<T>).install = (app) => {\n// app.config.globalProperties[name] = fn\n// }\n\n// return fn as SFCWithInstall<T>\n// }\n\n// export const withNoopInstall = <T>(component: T) => {\n// (component as SFCWithInstall<T>).install = NOOP\n\n// return component as SFCWithInstall<T>\n// }\nexport const withInstall = (comp) => {\n comp.install = (app) => {\n // 注册组件\n app.component(comp.name, comp)\n }\n return comp\n}\n","export const REQUEST = '$request'\n// @ts-ignore\nexport const INDICATOR_URL = window?.config?.indicatorURL || ''\n\nexport const INDICATOR_TOKEN = 'INDICATOR_TOKEN'\n\nexport const CONTAINER_TYPES = ['tabs', 'border']\n\nexport const CACHE_STEP = 'CACHE_STEP'\n\nexport const UPDATE_SNAPSHOT_LIST = 'UPDATE_SNAPSHOT_LIST'\n\nexport const REQUEST_MODEL = 'REQUEST_MODEL'\n\nexport const DATA_LIST = 'DATA_LIST'\n\nexport const SELECTED_COMPONENT = 'SELECTED_COMPONENT'\n\nexport const GRAPHIC_CONFIG = 'GRAPHIC_CONFIG'\n\nexport const UPDATE_GRAPHIC_CONFIG = 'UPDATE_GRAPHIC_CONFIG'\n\nexport const SHOW_STYLE_CONFIG = 'SHOW_STYLE_CONFIG'\n\nexport const REFRESH_DATA = 'REFRESH_DATA'\n\nexport const CHARTS_OPTIONS = 'CHARTS_OPTIONS'\n\nexport const TABLE_OPTIONS = 'TABLE_OPTIONS'\n\nexport const ZOOM_FONT_SIZE = 18\n\nexport const UPDATE_CHARTS_OPTIONS = 'UPDATE_CHARTS_OPTIONS'\n\nexport const UPDATE_TABLE_OPTIONS = 'UPDATE_TABLE_OPTIONS'\n\nexport const SOURCE_TYPE = 'SOURCE_TYPE'\n\nexport const CHANGE_CONDITION = 'CHANGE_CONDITION'\n\nexport const DATA_VIEW_COLUMNS = 'DATA_VIEW_COLUMNS'\n\nexport const RENDER_USED_COMPONENTS = 'RENDER_USED_COMPONENTS'\n\nexport const UPDATE_USED_COMPONENT = 'UPDATE_USED_COMPONENT'\n\nexport const UPDATE_COMPONENTS_CONFIG = 'UPDATE_COMPONENTS_CONFIG'\n\nexport const MAP_ATTRIBUTE_PROPS = 'MAP_ATTRIBUTE_PROPS'\n\nexport const PAGE_CONFIG = 'PAGE_CONFIG'\n\nexport const IS_PIVOT_TABLE = 'IS_PIVOT_TABLE'\n\nexport const IS_IFRAME_MODE = 'IS_IFRAME_MODE'\n","export interface BarProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n titleText: string\n titleSubtext: string\n titleFontSize: string\n titleColor: string\n fontWeight: number\n textAlign: 'left' | 'right' | 'center'\n colors: string []\n legendShow: boolean\n legendTextStyleColor: string\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n xAxisLabelInterval: number\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisSplitAreaShow: boolean // x轴展示分割区域\n xAxisSplitLineInterval: number // x轴分割线间隔\n xAxisLabelColor: string // x轴名称颜色\n xAxisLabelWidth: number | undefined // x轴名称宽度\n xAxisLabelOverflow: 'none' | 'truncate' | 'break' | 'breakAll' // x轴名称溢出操作\n xAxisLabelRotate: number // x轴名称旋转\n xAxisLineShow: boolean // x轴线显示\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisTickShow: boolean // 展示刻度\n xAxisLabelFormatter: string\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n xAxisInverse: boolean\n xAxisMinInterval: number\n yAxisMinInterval: number\n yAxisInverse: boolean\n yAxisLabelWidth: number | undefined // y轴名称宽度\n yAxisLabelOverflow: 'none' | 'truncate' | 'break' | 'breakAll' // y轴名称溢出操作\n yAxisLabelRotate: number // y轴名称旋转\n yAxisSplitLineShow: boolean // y轴展示分割线\n yAxisSplitAreaShow: boolean // y轴展示分割区域\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLabelFormatter: string\n yAxisLineAlwaysDisplay: boolean // 总是显示y轴\n valueTypeDataFieldNames: any\n keyTypeDataFieldNames: any\n dataFieldConfigType: 'key' | 'value'\n tooltipShow: boolean\n tooltipTextStyleColor: string\n tooltipFormatter: string,\n tooltipPosition: string\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n barWidth: string\n graphicConfig: { [key:string]: any }\n toolboxShow: boolean\n toolboxLocation: boolean\n toolboxDownloadShow:boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top'| 'middle'| 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n isUseHorizontalAxis: boolean\n axisInverse: boolean\n isStack: boolean\n stackColumns: string[],\n labelShow: boolean\n labelFontSize: string\n labelPosition: 'inside' | 'top' | 'bottom' | 'right' | 'left'\n labelColor: string\n labelWidth: number\n labelOverflow: 'none' | 'truncate' | 'break'\n labelFormatter: string\n gradientShow: boolean // 柱状图渐变设置\n gradientColors: string []\n gradientOffset: number\n barBorderRadius: string // 柱状图圆角设置\n yAxisLabelShow: boolean // 是否显示y轴坐标轴刻度标签\n yAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n xAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n legendItemGap: number\n legendItemWidth: number\n legendItemHeight: number\n showBarBackground: boolean\n legendType: string\n legendFontSize: string\n xAxisLabelFontSize: string\n yAxisLabelFontSize: string\n graphicType: string\n isShowMarkLine: boolean\n markLineType: 'min' | 'max' | 'average' | 'median'\n legendFormatter: string\n legendWidth: number | null\n legendHeight: number | null\n legendTextWidth: number | null\n legendScroll: boolean\n yAxisName: string\n xAxisName: string\n defaultRangeValue: boolean\n startValue: string\n endValue: string\n xAxisMaxValue: number\n yAxisMaxValue: number\n colorsType: string\n}\n\nexport const barProps: BarProps = {\n name: '柱状图',\n type: 'bar',\n width: '400px',\n height: '400px',\n xAxisLabelFormatter: '{value}',\n yAxisLabelFormatter: '{value}',\n yAxisLineAlwaysDisplay: false,\n titleText: '',\n titleSubtext: '',\n titleFontSize: '12px',\n titleColor: '#333',\n fontWeight: 400,\n textAlign: 'left',\n colors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n legendShow: true,\n legendTextStyleColor: '#333',\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipFormatter: '{marker} {a} {c}',\n xAxisSplitLineShow: true,\n xAxisSplitLineInterval: 0,\n xAxisSplitAreaShow: false,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelInterval: 0,\n xAxisLabelColor: '#333',\n xAxisLabelWidth: undefined,\n xAxisLabelRotate: 0,\n xAxisLabelOverflow: 'none',\n xAxisLineShow: true,\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisMinInterval: 0,\n yAxisMinInterval: 0,\n yAxisLabelWidth: undefined,\n yAxisLabelRotate: 0,\n yAxisLabelOverflow: 'none',\n yAxisSplitLineShow: true,\n yAxisSplitAreaShow: false,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n valueTypeDataFieldNames: { name: 'name', value: 'value', type: 'type' },\n keyTypeDataFieldNames: { name: 'name', types: [] },\n dataFieldConfigType: 'value',\n barWidth: '40%',\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n graphicConfig: {},\n toolboxShow: false,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n isUseHorizontalAxis: false,\n axisInverse: false,\n xAxisInverse: false,\n yAxisInverse: false,\n isStack: false,\n stackColumns: [],\n labelShow: false,\n labelFontSize: '12px',\n labelPosition: 'inside',\n labelColor: '',\n labelWidth: 100,\n labelOverflow: 'none',\n labelFormatter: '{c}',\n toolboxLocation: false,\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n gradientShow: false,\n gradientColors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n gradientOffset: 1,\n barBorderRadius: '',\n yAxisLabelShow: true,\n yAxisSplitLineType: 'solid',\n xAxisSplitLineType: 'solid',\n legendItemGap: 10,\n legendItemWidth: 25,\n legendItemHeight: 14,\n showBarBackground: false,\n legendType: '',\n legendFontSize: '12px',\n xAxisLabelFontSize: '12px',\n yAxisLabelFontSize: '12px',\n graphicType: 'ecanBar',\n tooltipPosition: '',\n isShowMarkLine: false,\n markLineType: 'average',\n legendFormatter: '{name}',\n legendWidth: null,\n legendHeight: null,\n legendTextWidth: null,\n legendScroll: false,\n yAxisName: '',\n xAxisName: '',\n defaultRangeValue: false,\n startValue: '',\n endValue: '',\n xAxisMaxValue: null,\n yAxisMaxValue: null,\n colorsType: '默认'\n}\n","export interface LineProps {\n name: String\n type: String\n width: string // 图表宽度\n height: string // 图表高度\n colors: string[]\n colorsType: string\n titleText: string\n titleSubtext: string\n legendShow: boolean\n legendLeft: 'left' | 'center' | 'right'\n legendCustomPosition: boolean\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal' // 标记点大小\n legendTextStyleColor: string\n legendTextStyleFontSize: number\n legendTextItemGap: number\n symbolSize: number // 线宽度\n lineStyleWidth: number // 线宽\n smooth: boolean // 光滑\n xAxisName: string\n xAxisShow: boolean\n xAxisLabelInterval: number\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisLabelColor: string // x轴名称颜色\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n xAxisTickShow: boolean // 展示刻度\n xAxisLabelFormatter: string // 格式化\n xAxisInverse: boolean\n xAxisMinInterval: number\n xAxisLabelWidth: number | undefined // x轴名称宽度\n xAxisLabelOverflow: 'none' | 'truncate' | 'break' | 'breakAll' // x轴名称溢出操作\n xAxisLabelRotate: number // x轴名称旋转\n xAxisType: 'value' | 'category' | 'time' | 'log'\n yAxisName: string\n yAxisMinInterval: number\n yAxisInverse: boolean\n yAxisSplitLineShow: boolean // y轴展示分割线\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLineAlwaysDisplay: boolean // 总是显示y轴\n yAxisLabelFormatter: string // 格式化\n yAxisLabelShow: boolean\n yAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n xAxisSplitLineType: 'solid' | 'dashed' | 'dotted' // 分割线类型\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n tooltipShow: boolean\n tooltipTextStyleColor: string\n tooltipFormatter: string\n tooltipBorderColor: string\n tooltipBackgroundColor: string\n toolboxShow: boolean\n toolboxDownloadShow: boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top' | 'middle' | 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n areaStyleOpacity: number\n // 新加属性\n titleFontSize: string\n titleColor: string\n fontWeight: number\n textAlign: 'left' | 'right' | 'center'\n titleLeft: string\n xAxisSplitAreaShow: boolean // x轴展示分割区域\n xAxisSplitLineInterval: number // x轴分割间隔\n xAxisLineShow: boolean // 显示轴线\n valueTypeDataFieldNames: any\n keyTypeDataFieldNames: any\n dataFieldConfigType: 'key' | 'value'\n graphicConfig: { [key:string]: any }\n areaGradientShow: boolean // 分隔区域渐变\n areaGradientColor: string // 分隔区域渐变颜色\n isBoundaryGap: boolean // 是否两边留白\n legendItemGap: number\n legendItemWidth: number\n legendItemHeight: number\n legendType: string // 图例类型\n shadowColor: string // 阴影颜色\n shadowBlur: number // 阴影模糊度\n shadowOffsetY: number // 阴影偏移量-Y\n shadowOffsetX: number // 阴影偏移量-X\n legendFontSize: string\n xAxisLabelFontSize: string\n yAxisLabelFontSize: string\n graphicType: string\n tooltipPosition: string\n isShowMarkLine: boolean\n markLineType: 'min' | 'max' | 'average' | 'median'\n legendFormatter: string\n legendWidth: number | null\n legendHeight: number | null\n legendTextWidth: number | null\n legendScroll: boolean\n xAxisMaxValue: number\n yAxisMaxValue: number\n}\n\nexport const lineProps = {\n name: '折线图',\n type: 'line',\n width: '400px',\n height: '400px',\n\n colors: ['#FFBF53', '#04B1C2', '#F07474', '#C55784', '#9A5FB3', '#CF62D7', '#5E78EA', '#51B3F0', '#69D4DC', '#49B788', '#9CCC66', '#C18C00'],\n colorsType: '默认',\n\n legendShow: true,\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n legendCustomPosition: false,\n legendTextStyleColor: '#333',\n legendTextStyleFontSize: '12px',\n legendTextItemGap: 10,\n legendTopPadding: 10,\n legendBottomPadding: 10,\n legendLeftPadding: 10,\n legendRightPadding: 10,\n titleText: '',\n titleSubtext: '',\n symbolSize: 4,\n lineStyleWidth: 2,\n smooth: false,\n xAxisName: '',\n xAxisType: 'category',\n xAxisShow: true,\n xAxisLabelWidth: undefined,\n xAxisLabelRotate: 0,\n xAxisLabelOverflow: 'none',\n xAxisLabelInterval: 0,\n xAxisSplitLineShow: true,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelColor: '#333',\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisLabelFormatter: '{value}', // 格式化\n xAxisMinInterval: 0,\n yAxisName: '',\n yAxisMinInterval: 0,\n yAxisSplitLineShow: true,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n yAxisLineAlwaysDisplay: false,\n yAxisLabelShow: true,\n yAxisLabelFormatter: '{value}',\n yAxisSplitLineType: 'solid',\n xAxisSplitLineType: 'solid',\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipFormatter: '{marker} {a} {c}',\n tooltipBorderColor: '#333',\n tooltipBackgroundColor: '#fff',\n toolboxShow: false,\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n areaStyleOpacity: 0,\n\n // 新加属性\n titleFontSize: '12px',\n titleColor: '#333',\n fontWeight: 400,\n textAlign: 'left',\n titleLeft: '',\n xAxisSplitAreaShow: false,\n xAxisSplitLineInterval: 0,\n xAxisLineShow: true,\n yAxisSplitAreaShow: false,\n valueTypeDataFieldNames: { name: 'name', value: 'value', type: 'type' },\n keyTypeDataFieldNames: { name: 'name', types: [] },\n dataFieldConfigType: 'value',\n graphicConfig: {},\n areaGradientShow: false,\n areaGradientColor: '',\n isBoundaryGap: true,\n legendItemGap: 10,\n legendItemWidth: 25,\n legendItemHeight: 14,\n legendType: '',\n shadowColor: '',\n shadowBlur: 0,\n shadowOffsetY: 0,\n shadowOffsetX: 0,\n legendFontSize: '12px',\n xAxisLabelFontSize: '12px',\n yAxisLabelFontSize: '12px',\n graphicType: 'ecanLine',\n tooltipPosition: '',\n isShowMarkLine: false,\n markLineType: 'average',\n legendFormatter: '{name}',\n legendWidth: null,\n legendHeight: null,\n legendTextWidth: null,\n legendScroll: false,\n xAxisMaxValue: null,\n yAxisMaxValue: null\n}\n","\nexport interface PieProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n colors: string[]\n colorsType: string\n titleText: string\n titleSubtext: string\n backgroundColor: string\n toolboxDownloadShow: boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n tooltipShow: boolean\n tooltipTrigger: 'item' | 'axis' | 'none'\n tooltipTextStyleColor: string\n tooltipFormatter: string\n tooltipBorderColor: string\n tooltipBackgroundColor: string\n legendShow: boolean\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n legendTextStyleColor: string\n innerRadius: string\n outerRadius: string\n centerLeft: string\n centerTop: string\n minAngle: number\n labelShow: boolean\n labelFormatter: string\n labelFontSize: number\n labelPosition: 'outside' | 'inside' | 'center'\n labelLineShow: boolean\n labelColor: string\n isUseLabelColors: boolean\n labelLineLength: number\n labelLineLength2: number\n roseType: '' | 'radius' | 'area'\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n toolboxShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top' | 'middle' | 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n\n titleFontSize: string\n titleColor: string\n fontWeight: number\n textAlign: 'left' | 'right' | 'center'\n titleLeft: string\n labelWidth: number\n labelOverflow: 'none' | 'truncate' | 'break'\n valueTypeDataFieldNames: any,\n dataFieldConfigType: 'key' | 'value',\n graphicConfig: { [key:string]: any }\n legendItemGap: number\n legendItemWidth: number\n legendItemHeight: number\n legendFormatter: string\n legendFontSize: string\n graphicType: string\n legendWidth: number | null\n legendHeight: number | null\n legendTextWidth: number | null\n legendScroll: boolean\n}\n\nexport const pieProps: PieProps = {\n name: '饼图',\n type: 'pie',\n width: '400px',\n height: '400px',\n titleText: '',\n titleSubtext: '',\n\n colors: ['#FFBF53', '#04B1C2', '#F07474', '#C55784', '#9A5FB3', '#CF62D7', '#5E78EA', '#51B3F0', '#69D4DC', '#49B788', '#9CCC66', '#C18C00'],\n colorsType: '默认',\n\n backgroundColor: '',\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipTrigger: 'item',\n tooltipFormatter: '{marker} {b} {c} ({d}%)',\n tooltipBorderColor: '#333',\n tooltipBackgroundColor: '#fff',\n\n legendShow: true,\n legendTextStyleColor: '#333',\n legendOrient: 'vertical',\n legendTop: 'top',\n legendLeft: 'left',\n innerRadius: '0%',\n outerRadius: '60%',\n centerLeft: '50%',\n centerTop: '50%',\n minAngle: 0,\n labelShow: true,\n labelColor: '#333',\n isUseLabelColors: false,\n labelFontSize: 12,\n labelPosition: 'outside',\n labelFormatter: '{b}\\\\n{d}%',\n labelLineShow: true,\n labelLineLength: 10,\n labelLineLength2: 15,\n roseType: '',\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n toolboxShow: false,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n\n titleFontSize: '12px',\n titleColor: '#333',\n fontWeight: 400,\n textAlign: 'left',\n titleLeft: '',\n labelWidth: 100,\n labelOverflow: 'none',\n valueTypeDataFieldNames: { name: 'name', value: 'value', type: 'type' },\n dataFieldConfigType: 'value',\n graphicConfig: {},\n legendItemGap: 10,\n legendItemWidth: 25,\n legendItemHeight: 14,\n legendFormatter: '{name}',\n legendFontSize: '12px',\n graphicType: 'ecanPie',\n legendWidth: null,\n legendHeight: null,\n legendTextWidth: null,\n legendScroll: false\n}\n","export interface CustomGraphProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n option: { [key: string]: any }\n optionCode: string\n}\n\nexport const customGraphProps: CustomGraphProps = {\n name: '自定义图表',\n type: 'customGraph',\n width: '400px',\n height: '400px',\n option: {},\n optionCode: ''\n}\n","\nexport interface ComboGraphProps {\n name: String,\n type: String,\n width: string // 图表宽度\n height: string // 图表高度\n colors: string[]\n colorsType: string\n titleText: string\n titleSubtext: string\n legendShow: boolean\n legendTextStyleColor: string\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n xAxisLabelInterval: number\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisMinInterval: number // 最小间距\n xAxisLabelColor: string // x轴名称颜色\n xAxisLabelRotate: number\n xAxisLabelOverflow: string\n xAxisLabelWidth: number | undefined // x轴名称宽度\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisTickShow: boolean // 展示刻度\n yAxisSplitLineShow: boolean // y轴展示分割线\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLineAlwaysDisplay: boolean // 总是显示y轴\n yAxisLabelShow: boolean\n\n tooltipShow: boolean\n tooltipTextStyleColor: string\n tooltipFormatter: string\n tooltipBorderColor: string\n tooltipBackgroundColor: string\n tooltipTrigger: 'item' | 'axis' | 'none'\n\n seriesTypes: { [key: string]: any }[]\n yAxis: { [key: string]: any }[]\n yAxisMinInterval: number\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n toolboxShow: boolean\n toolboxLocation: boolean\n toolboxDownloadShow: boolean\n toolboxDataZoomShow: boolean\n toolboxInfoShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top' | 'middle' | 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n symbolSize: number // 线宽度\n lineStyleWidth: number // 线宽\n smooth: boolean // 光滑\n areaStyleOpacity: number\n barWidth: string\n}\n\nexport const comboGraphProps: ComboGraphProps = {\n name: '组合图表',\n type: 'comboGraph',\n width: '400px',\n height: '400px',\n titleText: '',\n titleSubtext: '',\n colors: ['#FFBF53', '#04B1C2', '#F07474', '#C55784', '#9A5FB3', '#CF62D7', '#5E78EA', '#51B3F0', '#69D4DC', '#49B788', '#9CCC66', '#C18C00'],\n colorsType: '默认',\n legendShow: true,\n legendTextStyleColor: '#333',\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n\n tooltipShow: true,\n tooltipTextStyleColor: '',\n tooltipTrigger: 'item',\n tooltipFormatter: '{marker} {a} {c}',\n tooltipBorderColor: '#333',\n tooltipBackgroundColor: '#fff',\n\n xAxisLabelInterval: 0,\n xAxisSplitLineShow: true,\n xAxisLabelRotate: 0,\n xAxisLabelOverflow: 'none',\n xAxisLabelWidth: undefined,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelColor: '#333',\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisMinInterval: 0,\n yAxisMinInterval: 0,\n yAxisSplitLineShow: true,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n yAxisLineAlwaysDisplay: false,\n yAxisLabelShow: true,\n seriesTypes: [\n {\n type: 'bar',\n axisIndex: 0\n },\n {\n type: 'line',\n axisIndex: 0\n }\n ],\n yAxis: [\n {\n axisLabelFormatter: '{value}'\n },\n {\n axisLabelFormatter: '{value}'\n }\n ],\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n toolboxShow: false,\n toolboxLocation: false,\n toolboxDownloadShow: true,\n toolboxDataZoomShow: true,\n toolboxInfoShow: true,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息',\n areaStyleOpacity: 0,\n symbolSize: 4,\n lineStyleWidth: 2,\n smooth: false,\n barWidth: '40%'\n}\n","import { barProps } from './bar'\nimport { lineProps } from './line'\nimport { pieProps } from './pie'\nimport { customGraphProps } from './custom-graph'\nimport { comboGraphProps } from './combo-graph'\n\nexport default {\n bar: barProps,\n line: lineProps,\n pie: pieProps,\n customGraph: customGraphProps,\n comboGraph: comboGraphProps\n}\n","\r\nexport interface TableProps {\r\n name: String\r\n type: String\r\n size: String // 尺寸\r\n allOverflow: String // 内容超出\r\n hoverRow: Boolean // 点击行高亮\r\n hoverColor: String // hover行颜色\r\n headerCellStyleMethod: String // 表头单元格样式\r\n rowStyleMethod: String // 行样式\r\n boderList: Array<String> // 边框不显示\r\n columnDropEnable: Boolean // 列拖拽\r\n showTotalBool: Boolean // 显示汇总行\r\n totalName: String // 汇总行名\r\n expandAll: Boolean // 展开所有节点\r\n}\r\n\r\nexport const tableProps: TableProps = {\r\n name: '表格',\r\n type: 'table',\r\n size: 'medium',\r\n allOverflow: 'title',\r\n hoverRow: true,\r\n hoverColor: '#f5f7fa',\r\n headerCellStyleMethod: '',\r\n rowStyleMethod: '',\r\n boderList: [],\r\n columnDropEnable: true,\r\n showTotalBool: false,\r\n totalName: '',\r\n expandAll: false\r\n}\r\n","import { defineAsyncComponent, AsyncComponentLoader } from 'vue'\nconst loadAsyncComponent = (loader: AsyncComponentLoader<any>) => defineAsyncComponent({\n loader,\n delay: 200\n})\n\nexport default loadAsyncComponent\n","function e(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function t(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function l(e){try{s(o.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,l)}s((o=o.apply(e,t||[])).next())}))}const n=()=>{},o=Object.assign,r=Array.isArray,i=e=>\"function\"==typeof e,a=e=>\"symbol\"==typeof e;let l;const s=()=>l||(l=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{});const c=e=>{const t=new Set(e);return t.w=0,t.n=0,t},u=e=>(e.w&p)>0,d=e=>(e.n&p)>0;let f=0,p=1;let h;class y{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,function(e,t){t&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();let e=h,t=b;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=h,h=this,b=!0,p=1<<++f,f<=30?(({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=p})(this):m(this),this.fn()}finally{f<=30&&(e=>{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o<t.length;o++){const r=t[o];u(r)&&!d(r)?r.delete(e):t[n++]=r,r.w&=~p,r.n&=~p}t.length=n}})(this),p=1<<--f,h=this.parent,b=t,this.parent=void 0,this.deferStop&&this.stop()}}stop(){h===this?this.deferStop=!0:this.active&&(m(this),this.onStop&&this.onStop(),this.active=!1)}}function m(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let b=!0;const g=[];function v(e,t){let n=!1;f<=30?d(e)||(e.n|=p,n=!u(e)):n=!e.has(h),n&&(e.add(h),h.deps.push(e),\"production\"!==process.env.NODE_ENV&&h.onTrack&&h.onTrack(o({effect:h},t)))}function x(e,t){const n=r(e)?e:[...e];for(const e of n)e.computed&&w(e,t);for(const e of n)e.computed||w(e,t)}function w(e,t){(e!==h||e.allowRecurse)&&(\"production\"!==process.env.NODE_ENV&&e.onTrigger&&e.onTrigger(o({effect:e},t)),e.scheduler?e.scheduler():e.run())}function S(e){const t=e&&e.__v_raw;return t?S(t):e}function A(e){return!(!e||!0!==e.__v_isRef)}function _(e){return A(e)?e.value:e}new Set(Object.getOwnPropertyNames(Symbol).filter((e=>\"arguments\"!==e&&\"caller\"!==e)).map((e=>Symbol[e])).filter(a));class j{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new y(e,(()=>{this._dirty||(this._dirty=!0,function(e,t){const n=(e=S(e)).dep;n&&(\"production\"!==process.env.NODE_ENV?x(n,{target:e,type:\"set\",key:\"value\",newValue:t}):x(n))}(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=S(this);var t;return t=e,b&&h&&(t=S(t),\"production\"!==process.env.NODE_ENV?v(t.dep||(t.dep=c()),{target:t,type:\"get\",key:\"value\"}):v(t.dep||(t.dep=c()))),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}const O=[];function C(e,...t){if(\"production\"===process.env.NODE_ENV)return;g.push(b),b=!1;const n=O.length?O[O.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=function(){let e=O[O.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}();if(o)$(o,n,11,[e+t.join(\"\"),n&&n.proxy,r.map((({vnode:e})=>`at <${oe(n,e.type)}>`)).join(\"\\n\"),r]);else{const n=[`[Vue warn]: ${e}`,...t];r.length&&n.push(\"\\n\",...function(e){const t=[];return e.forEach(((e,n)=>{t.push(...0===n?[]:[\"\\n\"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:\"\",o=!!e.component&&null==e.component.parent,r=` at <${oe(e.component,e.type,o)}`,i=\">\"+n;return e.props?[r,...L(e.props),i]:[r+i]}(e))})),t}(r)),console.warn(...n)}!function(){const e=g.pop();b=void 0===e||e}()}function L(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach((n=>{t.push(...T(n,e[n]))})),n.length>3&&t.push(\" ...\"),t}function T(e,t,n){return\"string\"==typeof t?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):\"number\"==typeof t||\"boolean\"==typeof t||null==t?n?t:[`${e}=${t}`]:A(t)?(t=T(e,S(t.value),!0),n?t:[`${e}=Ref<`,t,\">\"]):i(t)?[`${e}=fn${t.name?`<${t.name}>`:\"\"}`]:(t=S(t),n?t:[`${e}=`,t])}const N={sp:\"serverPrefetch hook\",bc:\"beforeCreate hook\",c:\"created hook\",bm:\"beforeMount hook\",m:\"mounted hook\",bu:\"beforeUpdate hook\",u:\"updated\",bum:\"beforeUnmount hook\",um:\"unmounted hook\",a:\"activated hook\",da:\"deactivated hook\",ec:\"errorCaptured hook\",rtc:\"renderTracked hook\",rtg:\"renderTriggered hook\",0:\"setup function\",1:\"render function\",2:\"watcher getter\",3:\"watcher callback\",4:\"watcher cleanup function\",5:\"native event handler\",6:\"component event handler\",7:\"vnode hook\",8:\"directive hook\",9:\"transition hook\",10:\"app errorHandler\",11:\"app warnHandler\",12:\"ref function\",13:\"async component loader\",14:\"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"};function $(e,t,n,o){let r;try{r=o?e(...o):e()}catch(e){!function(e,t,n,o=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const r=t.proxy,i=\"production\"!==process.env.NODE_ENV?N[n]:n;for(;o;){const t=o.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,r,i))return;o=o.parent}const a=t.appContext.config.errorHandler;if(a)return void $(a,null,10,[e,r,i])}!function(e,t,n,o=!0){if(\"production\"!==process.env.NODE_ENV){const i=N[t];if(n&&(r=n,O.push(r)),C(\"Unhandled error\"+(i?` during execution of ${i}`:\"\")),n&&O.pop(),o)throw e;console.error(e)}else console.error(e);var r}(e,n,r,o)}(e,t,n)}return r}let k=!1,D=!1;const M=[];let E=0;const I=[];let F=null,V=0;const z=Promise.resolve();function R(e){M.length&&M.includes(e,k&&e.allowRecurse?E+1:E)||(null==e.id?M.push(e):M.splice(function(e){let t=E+1,n=M.length;for(;t<n;){const o=t+n>>>1,r=M[o],i=P(r);i<e||i===e&&r.pre?t=o+1:n=o}return t}(e.id),0,e),U())}function U(){k||D||(D=!0,z.then(Y))}const P=e=>null==e.id?1/0:e.id,G=(e,t)=>{const n=P(e)-P(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Y(e){D=!1,k=!0,\"production\"!==process.env.NODE_ENV&&(e=e||new Map),M.sort(G);const t=\"production\"!==process.env.NODE_ENV?t=>W(e,t):n;try{for(E=0;E<M.length;E++){const e=M[E];if(e&&!1!==e.active){if(\"production\"!==process.env.NODE_ENV&&t(e))continue;$(e,null,14)}}}finally{E=0,M.length=0,function(e){if(I.length){const t=[...new Set(I)];if(I.length=0,F)return void F.push(...t);for(F=t,\"production\"!==process.env.NODE_ENV&&(e=e||new Map),F.sort(((e,t)=>P(e)-P(t))),V=0;V<F.length;V++)\"production\"!==process.env.NODE_ENV&&W(e,F[V])||F[V]();F=null,V=0}}(e),k=!1,(M.length||I.length)&&Y(e)}}function W(e,t){if(e.has(t)){const n=e.get(t);if(n>100){const e=t.ownerInstance,n=e&&ne(e.type);return C(`Maximum recursive updates exceeded${n?` in component <${n}>`:\"\"}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`),!0}e.set(t,n+1)}else e.set(t,1)}const H=new Set;\"production\"!==process.env.NODE_ENV&&(s().__VUE_HMR_RUNTIME__={createRecord:Q((function(e,t){if(B.has(e))return!1;return B.set(e,{initialDef:K(t),instances:new Set}),!0})),rerender:Q((function(e,t){const n=B.get(e);if(!n)return;n.initialDef.render=t,[...n.instances].forEach((e=>{t&&(e.render=t,K(e.type).render=t),e.renderCache=[],e.update()}))})),reload:Q((function(e,t){const n=B.get(e);if(!n)return;t=K(t),q(n.initialDef,t);const o=[...n.instances];for(const e of o){const o=K(e.type);H.has(o)||(o!==n.initialDef&&q(o,t),H.add(o)),e.appContext.propsCache.delete(e.type),e.appContext.emitsCache.delete(e.type),e.appContext.optionsCache.delete(e.type),e.ceReload?(H.add(o),e.ceReload(t.styles),H.delete(o)):e.parent?R(e.parent.update):e.appContext.reload?e.appContext.reload():\"undefined\"!=typeof window?window.location.reload():console.warn(\"[HMR] Root or manually mounted instance modified. Full reload required.\")}i=()=>{for(const e of o)H.delete(K(e.type))},r(i)?I.push(...i):F&&F.includes(i,i.allowRecurse?V+1:V)||I.push(i),U();var i}))});const B=new Map;function K(e){return i(t=e)&&\"__vccOpts\"in t?e.__vccOpts:e;var t}function q(e,t){o(e,t);for(const n in e)\"__file\"===n||n in t||delete e[n]}function Q(e){return(t,n)=>{try{return e(t,n)}catch(e){console.error(e),console.warn(\"[HMR] Something went wrong during Vue component hot-reload. Full reload required.\")}}}const J={};let X;\"production\"!==process.env.NODE_ENV&&(J.ownKeys=e=>(C(\"Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.\"),Reflect.ownKeys(e)));let Z=\"__VUE_INSTANCE_SETTERS__\";(X=s()[Z])||(X=s()[Z]=[]),X.push((e=>e));const ee=/(?:^|[-_])(\\w)/g,te=e=>e.replace(ee,(e=>e.toUpperCase())).replace(/[-_]/g,\"\");function ne(e,t=!0){return i(e)?e.displayName||e.name:e.name||t&&e.__name}function oe(e,t,n=!1){let o=ne(t);if(!o&&t.__file){const e=t.__file.match(/([^/\\\\]+)\\.\\w+$/);e&&(o=e[1])}if(!o&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};o=n(e.components||e.parent.type.components)||n(e.appContext.components)}return o?te(o):n?\"App\":\"Anonymous\"}const re=(e,t)=>function(e,t,o=!1){let r,a;const l=i(e);return l?(r=e,a=\"production\"!==process.env.NODE_ENV?()=>{console.warn(\"Write operation failed: computed value is readonly\")}:n):(r=e.get,a=e.set),new j(r,a,l||!a,o)}(e,0,false);function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var ae,le={exports:{}};function se(){return ae||(ae=1,le.exports=function(){var e=1e3,t=6e4,n=36e5,o=\"millisecond\",r=\"second\",i=\"minute\",a=\"hour\",l=\"day\",s=\"week\",c=\"month\",u=\"quarter\",d=\"year\",f=\"date\",p=\"Invalid Date\",h=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var t=[\"th\",\"st\",\"nd\",\"rd\"],n=e%100;return\"[\"+e+(t[(n-20)%10]||t[n]||t[0])+\"]\"}},b=function(e,t,n){var o=String(e);return!o||o.length>=t?e:\"\"+Array(t+1-o.length).join(n)+e},g={s:b,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),o=Math.floor(n/60),r=n%60;return(t<=0?\"+\":\"-\")+b(o,2,\"0\")+\":\"+b(r,2,\"0\")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var o=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(o,c),i=n-r<0,a=t.clone().add(o+(i?-1:1),c);return+(-(o+(n-r)/(i?r-a:a-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:d,w:s,d:l,D:f,h:a,m:i,s:r,ms:o,Q:u}[e]||String(e||\"\").toLowerCase().replace(/s$/,\"\")},u:function(e){return void 0===e}},v=\"en\",x={};x[v]=m;var w=\"$isDayjsObject\",S=function(e){return e instanceof O||!(!e||!e[w])},A=function e(t,n,o){var r;if(!t)return v;if(\"string\"==typeof t){var i=t.toLowerCase();x[i]&&(r=i),n&&(x[i]=n,r=i);var a=t.split(\"-\");if(!r&&a.length>1)return e(a[0])}else{var l=t.name;x[l]=t,r=l}return!o&&r&&(v=r),r||!o&&v},_=function(e,t){if(S(e))return e.clone();var n=\"object\"==typeof t?t:{};return n.date=e,n.args=arguments,new O(n)},j=g;j.l=A,j.i=S,j.w=function(e,t){return _(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var O=function(){function m(e){this.$L=A(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var b=m.prototype;return b.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(j.u(t))return new Date;if(t instanceof Date)return new Date(t);if(\"string\"==typeof t&&!/Z$/i.test(t)){var o=t.match(h);if(o){var r=o[2]-1||0,i=(o[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(o[1],r,o[3]||1,o[4]||0,o[5]||0,o[6]||0,i)):new Date(o[1],r,o[3]||1,o[4]||0,o[5]||0,o[6]||0,i)}}return new Date(t)}(e),this.init()},b.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},b.$utils=function(){return j},b.isValid=function(){return!(this.$d.toString()===p)},b.isSame=function(e,t){var n=_(e);return this.startOf(t)<=n&&n<=this.endOf(t)},b.isAfter=function(e,t){return _(e)<this.startOf(t)},b.isBefore=function(e,t){return this.endOf(t)<_(e)},b.$g=function(e,t,n){return j.u(e)?this[t]:this.set(n,e)},b.unix=function(){return Math.floor(this.valueOf()/1e3)},b.valueOf=function(){return this.$d.getTime()},b.startOf=function(e,t){var n=this,o=!!j.u(t)||t,u=j.p(e),p=function(e,t){var r=j.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return o?r:r.endOf(l)},h=function(e,t){return j.w(n.toDate()[e].apply(n.toDate(\"s\"),(o?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},y=this.$W,m=this.$M,b=this.$D,g=\"set\"+(this.$u?\"UTC\":\"\");switch(u){case d:return o?p(1,0):p(31,11);case c:return o?p(1,m):p(0,m+1);case s:var v=this.$locale().weekStart||0,x=(y<v?y+7:y)-v;return p(o?b-x:b+(6-x),m);case l:case f:return h(g+\"Hours\",0);case a:return h(g+\"Minutes\",1);case i:return h(g+\"Seconds\",2);case r:return h(g+\"Milliseconds\",3);default:return this.clone()}},b.endOf=function(e){return this.startOf(e,!1)},b.$set=function(e,t){var n,s=j.p(e),u=\"set\"+(this.$u?\"UTC\":\"\"),p=(n={},n[l]=u+\"Date\",n[f]=u+\"Date\",n[c]=u+\"Month\",n[d]=u+\"FullYear\",n[a]=u+\"Hours\",n[i]=u+\"Minutes\",n[r]=u+\"Seconds\",n[o]=u+\"Milliseconds\",n)[s],h=s===l?this.$D+(t-this.$W):t;if(s===c||s===d){var y=this.clone().set(f,1);y.$d[p](h),y.init(),this.$d=y.set(f,Math.min(this.$D,y.daysInMonth())).$d}else p&&this.$d[p](h);return this.init(),this},b.set=function(e,t){return this.clone().$set(e,t)},b.get=function(e){return this[j.p(e)]()},b.add=function(o,u){var f,p=this;o=Number(o);var h=j.p(u),y=function(e){var t=_(p);return j.w(t.date(t.date()+Math.round(e*o)),p)};if(h===c)return this.set(c,this.$M+o);if(h===d)return this.set(d,this.$y+o);if(h===l)return y(1);if(h===s)return y(7);var m=(f={},f[i]=t,f[a]=n,f[r]=e,f)[h]||1,b=this.$d.getTime()+o*m;return j.w(b,this)},b.subtract=function(e,t){return this.add(-1*e,t)},b.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var o=e||\"YYYY-MM-DDTHH:mm:ssZ\",r=j.z(this),i=this.$H,a=this.$m,l=this.$M,s=n.weekdays,c=n.months,u=n.meridiem,d=function(e,n,r,i){return e&&(e[n]||e(t,o))||r[n].slice(0,i)},f=function(e){return j.s(i%12||12,e,\"0\")},h=u||function(e,t,n){var o=e<12?\"AM\":\"PM\";return n?o.toLowerCase():o};return o.replace(y,(function(e,o){return o||function(e){switch(e){case\"YY\":return String(t.$y).slice(-2);case\"YYYY\":return j.s(t.$y,4,\"0\");case\"M\":return l+1;case\"MM\":return j.s(l+1,2,\"0\");case\"MMM\":return d(n.monthsShort,l,c,3);case\"MMMM\":return d(c,l);case\"D\":return t.$D;case\"DD\":return j.s(t.$D,2,\"0\");case\"d\":return String(t.$W);case\"dd\":return d(n.weekdaysMin,t.$W,s,2);case\"ddd\":return d(n.weekdaysShort,t.$W,s,3);case\"dddd\":return s[t.$W];case\"H\":return String(i);case\"HH\":return j.s(i,2,\"0\");case\"h\":return f(1);case\"hh\":return f(2);case\"a\":return h(i,a,!0);case\"A\":return h(i,a,!1);case\"m\":return String(a);case\"mm\":return j.s(a,2,\"0\");case\"s\":return String(t.$s);case\"ss\":return j.s(t.$s,2,\"0\");case\"SSS\":return j.s(t.$ms,3,\"0\");case\"Z\":return r}return null}(e)||r.replace(\":\",\"\")}))},b.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},b.diff=function(o,f,p){var h,y=this,m=j.p(f),b=_(o),g=(b.utcOffset()-this.utcOffset())*t,v=this-b,x=function(){return j.m(y,b)};switch(m){case d:h=x()/12;break;case c:h=x();break;case u:h=x()/3;break;case s:h=(v-g)/6048e5;break;case l:h=(v-g)/864e5;break;case a:h=v/n;break;case i:h=v/t;break;case r:h=v/e;break;default:h=v}return p?h:j.a(h)},b.daysInMonth=function(){return this.endOf(c).$D},b.$locale=function(){return x[this.$L]},b.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),o=A(e,t,!0);return o&&(n.$L=o),n},b.clone=function(){return j.w(this.$d,this)},b.toDate=function(){return new Date(this.valueOf())},b.toJSON=function(){return this.isValid()?this.toISOString():null},b.toISOString=function(){return this.$d.toISOString()},b.toString=function(){return this.$d.toUTCString()},m}(),C=O.prototype;return _.prototype=C,[[\"$ms\",o],[\"$s\",r],[\"$m\",i],[\"$H\",a],[\"$W\",l],[\"$M\",c],[\"$y\",d],[\"$D\",f]].forEach((function(e){C[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),_.extend=function(e,t){return e.$i||(e(t,O,_),e.$i=!0),_},_.locale=A,_.isDayjs=S,_.unix=function(e){return _(1e3*e)},_.en=x[v],_.Ls=x,_.p={},_}()),le.exports}var ce=ie(se()),ue=\"object\"==typeof global&&global&&global.Object===Object&&global,de=\"object\"==typeof self&&self&&self.Object===Object&&self,fe=ue||de||Function(\"return this\")(),pe=fe.Symbol,he=Object.prototype,ye=he.hasOwnProperty,me=he.toString,be=pe?pe.toStringTag:void 0;var ge=Object.prototype.toString;var ve=pe?pe.toStringTag:void 0;function xe(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":ve&&ve in Object(e)?function(e){var t=ye.call(e,be),n=e[be];try{e[be]=void 0;var o=!0}catch(e){}var r=me.call(e);return o&&(t?e[be]=n:delete e[be]),r}(e):function(e){return ge.call(e)}(e)}function we(e){return null!=e&&\"object\"==typeof e}var Se=Array.isArray;function Ae(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function _e(e){if(!Ae(e))return!1;var t=xe(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}var je,Oe=fe[\"__core-js_shared__\"],Ce=(je=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+je:\"\";var Le=Function.prototype.toString;function Te(e){if(null!=e){try{return Le.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var Ne=/^\\[object .+?Constructor\\]$/,$e=Function.prototype,ke=Object.prototype,De=$e.toString,Me=ke.hasOwnProperty,Ee=RegExp(\"^\"+De.call(Me).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function Ie(e){return!(!Ae(e)||(t=e,Ce&&Ce in t))&&(_e(e)?Ee:Ne).test(Te(e));var t}function Fe(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ie(n)?n:void 0}var Ve=Fe(fe,\"WeakMap\"),ze=Object.create,Re=function(){function e(){}return function(t){if(!Ae(t))return{};if(ze)return ze(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),Ue=function(){try{var e=Fe(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();var Pe=/^(?:0|[1-9]\\d*)$/;function Ge(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&Pe.test(e))&&e>-1&&e%1==0&&e<t}function Ye(e,t){return e===t||e!=e&&t!=t}var We=Object.prototype.hasOwnProperty;function He(e,t,n){var o=e[t];We.call(e,t)&&Ye(o,n)&&(void 0!==n||t in e)||function(e,t,n){\"__proto__\"==t&&Ue?Ue(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}(e,t,n)}function Be(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var Ke=Object.prototype;function qe(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||Ke)}function Qe(e){return we(e)&&\"[object Arguments]\"==xe(e)}var Je=Object.prototype,Xe=Je.hasOwnProperty,Ze=Je.propertyIsEnumerable,et=Qe(function(){return arguments}())?Qe:function(e){return we(e)&&Xe.call(e,\"callee\")&&!Ze.call(e,\"callee\")};var tt=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,nt=tt&&\"object\"==typeof module&&module&&!module.nodeType&&module,ot=nt&&nt.exports===tt?fe.Buffer:void 0,rt=(ot?ot.isBuffer:void 0)||function(){return!1},it={};function at(e){return function(t){return e(t)}}it[\"[object Float32Array]\"]=it[\"[object Float64Array]\"]=it[\"[object Int8Array]\"]=it[\"[object Int16Array]\"]=it[\"[object Int32Array]\"]=it[\"[object Uint8Array]\"]=it[\"[object Uint8ClampedArray]\"]=it[\"[object Uint16Array]\"]=it[\"[object Uint32Array]\"]=!0,it[\"[object Arguments]\"]=it[\"[object Array]\"]=it[\"[object ArrayBuffer]\"]=it[\"[object Boolean]\"]=it[\"[object DataView]\"]=it[\"[object Date]\"]=it[\"[object Error]\"]=it[\"[object Function]\"]=it[\"[object Map]\"]=it[\"[object Number]\"]=it[\"[object Object]\"]=it[\"[object RegExp]\"]=it[\"[object Set]\"]=it[\"[object String]\"]=it[\"[object WeakMap]\"]=!1;var lt=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,st=lt&&\"object\"==typeof module&&module&&!module.nodeType&&module,ct=st&&st.exports===lt&&ue.process,ut=function(){try{var e=st&&st.require&&st.require(\"util\").types;return e||ct&&ct.binding&&ct.binding(\"util\")}catch(e){}}(),dt=ut&&ut.isTypedArray,ft=dt?at(dt):function(e){return we(e)&&Be(e.length)&&!!it[xe(e)]},pt=Object.prototype.hasOwnProperty;function ht(e,t){var n=Se(e),o=!n&&et(e),r=!n&&!o&&rt(e),i=!n&&!o&&!r&&ft(e),a=n||o||r||i,l=a?function(e,t){for(var n=-1,o=Array(e);++n<e;)o[n]=t(n);return o}(e.length,String):[],s=l.length;for(var c in e)!pt.call(e,c)||a&&(\"length\"==c||r&&(\"offset\"==c||\"parent\"==c)||i&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||Ge(c,s))||l.push(c);return l}function yt(e,t){return function(n){return e(t(n))}}var mt=yt(Object.keys,Object),bt=Object.prototype.hasOwnProperty;function gt(e){return null!=(t=e)&&Be(t.length)&&!_e(t)?ht(e):function(e){if(!qe(e))return mt(e);var t=[];for(var n in Object(e))bt.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}(e);var t}var vt=Fe(Object,\"create\");var xt=Object.prototype.hasOwnProperty;var wt=Object.prototype.hasOwnProperty;function St(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function At(e,t){for(var n=e.length;n--;)if(Ye(e[n][0],t))return n;return-1}St.prototype.clear=function(){this.__data__=vt?vt(null):{},this.size=0},St.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},St.prototype.get=function(e){var t=this.__data__;if(vt){var n=t[e];return\"__lodash_hash_undefined__\"===n?void 0:n}return xt.call(t,e)?t[e]:void 0},St.prototype.has=function(e){var t=this.__data__;return vt?void 0!==t[e]:wt.call(t,e)},St.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=vt&&void 0===t?\"__lodash_hash_undefined__\":t,this};var _t=Array.prototype.splice;function jt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}jt.prototype.clear=function(){this.__data__=[],this.size=0},jt.prototype.delete=function(e){var t=this.__data__,n=At(t,e);return!(n<0)&&(n==t.length-1?t.pop():_t.call(t,n,1),--this.size,!0)},jt.prototype.get=function(e){var t=this.__data__,n=At(t,e);return n<0?void 0:t[n][1]},jt.prototype.has=function(e){return At(this.__data__,e)>-1},jt.prototype.set=function(e,t){var n=this.__data__,o=At(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this};var Ot=Fe(fe,\"Map\");function Ct(e,t){var n,o,r=e.__data__;return(\"string\"==(o=typeof(n=t))||\"number\"==o||\"symbol\"==o||\"boolean\"==o?\"__proto__\"!==n:null===n)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}function Lt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}Lt.prototype.clear=function(){this.size=0,this.__data__={hash:new St,map:new(Ot||jt),string:new St}},Lt.prototype.delete=function(e){var t=Ct(this,e).delete(e);return this.size-=t?1:0,t},Lt.prototype.get=function(e){return Ct(this,e).get(e)},Lt.prototype.has=function(e){return Ct(this,e).has(e)},Lt.prototype.set=function(e,t){var n=Ct(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this};var Tt=yt(Object.getPrototypeOf,Object);function Nt(e){var t=this.__data__=new jt(e);this.size=t.size}Nt.prototype.clear=function(){this.__data__=new jt,this.size=0},Nt.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Nt.prototype.get=function(e){return this.__data__.get(e)},Nt.prototype.has=function(e){return this.__data__.has(e)},Nt.prototype.set=function(e,t){var n=this.__data__;if(n instanceof jt){var o=n.__data__;if(!Ot||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new Lt(o)}return n.set(e,t),this.size=n.size,this};var $t=Object.prototype.propertyIsEnumerable,kt=Object.getOwnPropertySymbols,Dt=kt?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,o=null==e?0:e.length,r=0,i=[];++n<o;){var a=e[n];t(a,n,e)&&(i[r++]=a)}return i}(kt(e),(function(t){return $t.call(e,t)})))}:function(){return[]};function Mt(e){return function(e,t,n){var o=t(e);return Se(e)?o:function(e,t){for(var n=-1,o=t.length,r=e.length;++n<o;)e[r+n]=t[n];return e}(o,n(e))}(e,gt,Dt)}var Et=Fe(fe,\"DataView\"),It=Fe(fe,\"Promise\"),Ft=Fe(fe,\"Set\"),Vt=\"[object Map]\",zt=\"[object Promise]\",Rt=\"[object Set]\",Ut=\"[object WeakMap]\",Pt=\"[object DataView]\",Gt=Te(Et),Yt=Te(Ot),Wt=Te(It),Ht=Te(Ft),Bt=Te(Ve),Kt=xe;(Et&&Kt(new Et(new ArrayBuffer(1)))!=Pt||Ot&&Kt(new Ot)!=Vt||It&&Kt(It.resolve())!=zt||Ft&&Kt(new Ft)!=Rt||Ve&&Kt(new Ve)!=Ut)&&(Kt=function(e){var t=xe(e),n=\"[object Object]\"==t?e.constructor:void 0,o=n?Te(n):\"\";if(o)switch(o){case Gt:return Pt;case Yt:return Vt;case Wt:return zt;case Ht:return Rt;case Bt:return Ut}return t});var qt=Object.prototype.hasOwnProperty;var Qt=fe.Uint8Array;function Jt(e){var t=new e.constructor(e.byteLength);return new Qt(t).set(new Qt(e)),t}var Xt=/\\w*$/;var Zt=pe?pe.prototype:void 0,en=Zt?Zt.valueOf:void 0;function tn(e,t,n){var o,r,i,a,l,s=e.constructor;switch(t){case\"[object ArrayBuffer]\":return Jt(e);case\"[object Boolean]\":case\"[object Date]\":return new s(+e);case\"[object DataView]\":return l=Jt((a=e).buffer),new a.constructor(l,a.byteOffset,a.byteLength);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return function(e){var t=Jt(e.buffer);return new e.constructor(t,e.byteOffset,e.length)}(e);case\"[object Map]\":case\"[object Set]\":return new s;case\"[object Number]\":case\"[object String]\":return new s(e);case\"[object RegExp]\":return(i=new(r=e).constructor(r.source,Xt.exec(r))).lastIndex=r.lastIndex,i;case\"[object Symbol]\":return o=e,en?Object(en.call(o)):{}}}var nn=ut&&ut.isMap,on=nn?at(nn):function(e){return we(e)&&\"[object Map]\"==Kt(e)};var rn=ut&&ut.isSet,an=rn?at(rn):function(e){return we(e)&&\"[object Set]\"==Kt(e)},ln=\"[object Arguments]\",sn=\"[object Function]\",cn=\"[object Object]\",un={};function dn(e,t,n,o,r,i){var a;if(void 0!==a)return a;if(!Ae(e))return e;var l=Se(e);if(l)a=function(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&qt.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}(e);else{var s=Kt(e),c=s==sn||\"[object GeneratorFunction]\"==s;if(rt(e))return e.slice();if(s==cn||s==ln||c&&!r)a=c?{}:function(e){return\"function\"!=typeof e.constructor||qe(e)?{}:Re(Tt(e))}(e);else{if(!un[s])return r?e:{};a=tn(e,s)}}i||(i=new Nt);var u=i.get(e);if(u)return u;i.set(e,a),an(e)?e.forEach((function(o){a.add(dn(o,t,n,o,e,i))})):on(e)&&e.forEach((function(o,r){a.set(r,dn(o,t,n,r,e,i))}));var d=l?void 0:Mt(e);return function(e,t){for(var n=-1,o=null==e?0:e.length;++n<o&&!1!==t(e[n],n,e););}(d||e,(function(o,r){d&&(o=e[r=o]),He(a,r,dn(o,t,n,r,e,i))})),a}un[ln]=un[\"[object Array]\"]=un[\"[object ArrayBuffer]\"]=un[\"[object DataView]\"]=un[\"[object Boolean]\"]=un[\"[object Date]\"]=un[\"[object Float32Array]\"]=un[\"[object Float64Array]\"]=un[\"[object Int8Array]\"]=un[\"[object Int16Array]\"]=un[\"[object Int32Array]\"]=un[\"[object Map]\"]=un[\"[object Number]\"]=un[cn]=un[\"[object RegExp]\"]=un[\"[object Set]\"]=un[\"[object String]\"]=un[\"[object Symbol]\"]=un[\"[object Uint8Array]\"]=un[\"[object Uint8ClampedArray]\"]=un[\"[object Uint16Array]\"]=un[\"[object Uint32Array]\"]=!0,un[\"[object Error]\"]=un[sn]=un[\"[object WeakMap]\"]=!1;function fn(e){return dn(e,5)}const pn=(e,t)=>{const n=Object.assign({dayjs:ce},t);let o=\"\";const r=[];for(const e in n)o+=`${e},`,r.push(n[e]);o=o.replace(/,$/,\"\");const i=`function (${o}){return ${e}}`;let a;try{a=Function(`\"use strict\";return (${i})`)()(...r)}catch(t){return e}return a},hn=(e=\"\",{textData:t,codeData:n}={},{useNewline:o=!1,useSpace:r=!1}={})=>{const i=window.config||{},a=Object.assign(Object.assign({},i),t),l=String(e||\"\").match(/\\{(.+?)\\}/g);if(null==l||0===l.length)return e;for(let t=0;t<l.length;t++){const o=l[t];let r=o.slice(1,-1).trim();const i=/[\\u4e00-\\u9fa5a-z-_A-Z0-9]*/g,s=r.match(i);for(let e=0;e<s.length;e++){const t=s[e],n=a[t];null!=n&&\"function\"!=typeof n&&(r=r.replace(t,n))}(/\\(.*\\)/g.test(r)||/[+/\\\\*]/g.test(r))&&(r=pn(r,n)),e=e.replace(o,r)}return o&&(e=null==e?void 0:e.replace(/\\n|\\\\n/g,\"<br/>\")),r&&(e=null==e?void 0:e.replace(/\\s{2,}?/g,\"&nbsp;&nbsp;\")),e=e.replace(/Qfw\\((.*?)\\)/,((e,n)=>(null==t?void 0:t.Qfw)?null==t?void 0:t.Qfw(n):n))},yn=(e,t)=>{if(\"string\"==typeof e&&\"string\"==typeof t)return e.toLocaleLowerCase().includes(t.toLocaleLowerCase());if(\"string\"==typeof e&&Array.isArray(t)){const n=t.length;for(let o=0;o<n;o++){const n=t[o];if(\"string\"==typeof n&&e.toLocaleLowerCase().includes(n.toLocaleLowerCase()))return!0}}return!1},mn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),bn=e=>{const t=[];for(const n of e)n.conditions?t.push(...bn(n.conditions)):\"component\"===(null==n?void 0:n.dataType)&&t.push(n);return t};function gn(e){let t=\"\",n=\"\",o=\"\",r=\"\";e.indexOf(\".\")>-1?(n=e.split(\".\")[0],o=e.split(\".\")[1]):n=e;let i=0,a=0;for(a=n.length-1;a>=0;)i%3==0&&0!==i?\"-\"===n[a]?t+=n[a]:t+=\",\"+n[a]:t+=n[a],a--,i++;return t=t.split(\"\").reverse().join(\"\"),r=e.indexOf(\".\")>-1?t+\".\"+o:t,r}function vn(e){return t(this,arguments,void 0,(function*({graphicConfig:e,request:t,INDICATOR_URL:n=\"\",PAGE_ID:o,dataSourceId:r}){var i;try{const{leftAxisList:a=[],rightAxisList:l=[],queryColumnList:s=[],indicators:c=[]}=_(e),u=[...a,...l,...s,...c],d={};for(const e of u){const{indexCode:t=\"\",parentId:n=\"\"}=e;!n||mn(e,\"calcType\")||d[n]||(d[n]=t)}if(null===(i=Object.keys(d))||void 0===i?void 0:i.length){const e=[];for(const i in d)e.push(new Promise(((e,a)=>{t.post(`${n}/diagram/hrpIndexWithComplex`,{pageId:o,indexGuid:i,indexCode:d[i],dataSourceId:r}).then((t=>{var n;const{success:o,data:r=[]}=t.data;o&&(null===(n=null==r?void 0:r.dataViewColumns)||void 0===n?void 0:n.length)?e(r.dataViewColumns):a(r)})).catch((e=>{console.error(e),a(e)}))})));const i=yield Promise.all(e);return i.reduce(((e,t)=>e.filter((e=>t.find((t=>t.typeGuid===e.typeGuid)))))).filter((e=>e.typeGuid))}}catch(e){console.error(e)}return[]}))}const xn=[\"table\",\"bar\",\"combograph\",\"line\",\"pie\",\"radar\",\"scatter\",\"list\",\"circulate\"];let wn=new Map,Sn=[];const An=[\"keyValue\",\"conditionKey\",\"conditionLabel\",\"conditionName\",\"conditionValueType\",\"customValue\",\"id\",\"keyName\"],_n=e=>wn.get(e),jn=(e,t)=>{if(t)mn(e,\"indexCode\")&&(e.hrpIndexCode=e.indexCode,delete e.indexCode),mn(e,\"indexCodeNum\")&&(e.hrpIndexCodeNum=e.indexCodeNum,delete e.indexCodeNum),mn(e,\"dataType\")&&delete e.dataType,e.fieldValue||delete e.fieldValue;else{const{calcWays:t=[],dateCalcTypes:n=[],activeKey:o,componentId:r=\"\"}=e;if(5===o&&(null==t?void 0:t.length)&&(null==n?void 0:n.length)&&r){const o=t[0].split(\"-\");(null==o?void 0:o.length)>1&&\"rangeValue\"===o[0]&&(e.calcWays=((e,t={})=>{const{around:n,unit:o,id:r}=e;let i=\"\";const{pageMode:a=\"\",componentList:l=[]}=(null==t?void 0:t.graphicConfig)||{};let s=null,c=null;if(\"design\"===a){const e=null==l?void 0:l.find((e=>e.id===r));if(!e)return[];const{interval:t,intervalUnit:n,startTime:o,endTime:i,operate:a,useCurrentTime:u}=e||{};if(u&&(s=ce().subtract(t,n),c=ce()),o&&(s=ce(o)),i&&(c=ce(i)),a){const{type:e,value:t,mode:n}=a;switch(e){case\"add\":s=s?s.add(t,n):s,c=c?c.add(t,n):c;break;case\"minus\":s=s?s.subtract(t,n):s,c=c?c.subtract(t,n):c}}}else{const e=_n(r)||{};_(e.startTime)&&(s=ce(_(e.startTime))),_(e.endTime)&&(c=ce(_(e.endTime)))}s&&c&&(i=`${\"before\"===n?\"-\":\"\"}${c.diff(s,o.toLowerCase())+1}`);return i?[i]:[]})({around:o[1],unit:n[0],id:r})),delete e.radioValue}if(mn(e,\"dataType\")){if(\"DATE\"===e.fieldType&&(e.label=e.fieldName),\"component\"===e.dataType)if(\"PARENT\"===e.fieldValue){let t=e.modelKey;t&&e.prop&&(t+=`-${e.prop}`),e.fieldValue=\"${\"+t+\"}\"}else e.fieldValue=\"${\"+Ln(e.componentId,e.fieldValue)+\"}\";delete e.dataType}mn(e,\"activeKey\")&&delete e.activeKey,mn(e,\"radioValue\")&&delete e.radioValue,mn(e,\"indexCode\")&&(e.hrpIndexCode=e.indexCode,delete e.indexCode),mn(e,\"indexCodeNum\")&&(e.hrpIndexCodeNum=e.indexCodeNum,delete e.indexCodeNum),\"component\"!==e.dataType&&e.useCurrentTime&&(e.fieldValue=ce().format(e.dateFormat)),mn(e,\"modelKey\")&&delete e.modelKey,mn(e,\"prop\")&&delete e.prop,delete e.useCurrentTime}},On=(e,t)=>{const n=[];return(null==e?void 0:e.length)&&fn(e).forEach((e=>{if(e.join&&e.conditions){const o=!e.conditions.some((e=>e.join&&e.conditions));e.conditions.forEach(((r,i)=>{jn(r,t);const a={};if(i<e.conditions.length-1&&(a.join=e.join),o)n.push(Object.assign(Object.assign({},a),r));else if(r.join&&r.conditions){const e=t?\"sqlConditions\":\"conditions\";n.push(Object.assign({[e]:On([r],t)},a))}else n.push(Object.assign(Object.assign({},a),r))}))}else jn(e,t),n.push(e)})),n},Cn=(e={},t)=>{if((null==e?void 0:e.sortCpnts)&&t){const n=Mn(e);n&&(t.sort=n)}const{label:n,name:o,location:r,show:i,indexCode:a,indexCodeNum:l,calcType:s=\"COLUMN\",builtInFormula:c,builtInValueSource:u,builtInCalcWay:d,formula:f,conditions:p,aggregate:h,distinct:y,dimByCount:m,dataTo:b,sort:g}=e;let v;if(p&&(v=On(p)),\"COMPONENT\"===s){const e={};return kn(e,u),{label:n.trim(),columnName:o,show:i,calcType:s,componentAlias:d,componentValue:e.fieldValue||null}}const x={label:n.trim(),columnName:o,location:r,show:i,calcType:\"1\"===b?\"VIEW\":s,hrpIndexCode:a,hrpIndexCodeNum:l,aggregate:h,builtInFormula:c,builtInValueSource:u,formula:f,conditions:v};if(g&&(x.sort={columnName:o,label:x.label,order:g,type:\"NORMAL\"}),\"DATE_OFFSET\"!==c)return\"the_count\"===o&&(x.calcType=\"AGGREGATE\",x.distinct=!!y,x.typeGuid=m),Object.assign(Object.assign({},x),{builtInCalcWay:d});{const e=d.split(\"-\");if(3===(null==e?void 0:e.length)){let t=e[0];return\"before\"===e[2]&&\"0\"!==e[0]&&(t=`-${e[0]}`),Object.assign(Object.assign({},x),{calcWays:[t],dateCalcTypes:[e[1]]})}}},Ln=(e,t)=>{const n=Sn.find((t=>t.id===e)),{keyName:o}=n||{};if(o){const e=/-(startTime|endTime)/g,n=t.match(e);return(null==n?void 0:n.length)?`${o}${n[0]}`:o}return t||\"\"},Tn=e=>{if(!e)return[];const t=fn((null==e?void 0:e.controlList)||[]).filter((e=>\"parentCode\"!==e.conditionKey)),{classificationList:n=[],rowHeaderList:o=[],dimensionList:r=[],seriesList:i=[],leftAxisList:a=[],rightAxisList:l=[],queryColumnList:s=[],indexLibColumns:c=[],indicators:u=[],specialIndicators:d=[]}=e;$n(t);const f=[...n,...o,...r,...i,...a,...l,...s,...c,...u,...d],p=[];for(const e of f){const t=bn((null==e?void 0:e.conditions)||[]);if(null==t?void 0:t.length){const e=t.filter((e=>\"component\"===(null==e?void 0:e.dataType))).map((e=>{const t={};return(null==e?void 0:e.dateFormat)&&(t.format=e.dateFormat),\"PARENT\"===e.fieldValue&&(t.id=\"PARENT\",t.keyName=e.modelKey,t.modelKey=e.modelKey,t.prop=e.prop),Object.assign({conditionKey:e.fieldName,conditionLabel:e.fieldName,conditionName:e.fieldName,conditionValueType:e.fieldType,id:e.componentId,keyName:e.fieldValue,rule:e.rule,notGlobal:!0,indexCode:e.indexCode,typeGuid:e.typeGuid,indexCodeNum:e.indexCodeNum},t)}));if(null==e?void 0:e.length)for(const t of e)p.find((e=>e.keyName===t.keyName))||p.push(t)}}const h=p.length,y=t;for(let e=0;e<h;e++){const t=p[e];if(\"parentCode\"===(null==t?void 0:t.conditionKey))continue;const{id:n,keyName:o,prop:r,format:i,modelKey:a,dataType:l=\"component\",customValue:s}=t,c=Ln(n,o),u=Nn(t);kn(u,n,{prop:r,dateFormat:i,modelKey:a,keyName:c}),\"\"===l&&(u.fieldValue=s||\"\"),y.push(u)}for(let e=y.length-1;e>=0;e--){const t=y[e];if(!t.globalCondition){bn(y).find((e=>e.alias===t.alias&&e.globalCondition))&&y.splice(e,1)}}return y};function Nn(e){const{id:t,keyName:n,conditionLabel:o,conditionKey:r,conditionValueType:i,prop:a,rule:l=\"NONE\",notGlobal:s=!1,indexCode:c,typeGuid:u,indexCodeNum:d,dataType:f=\"component\"}=e,p=Ln(t,n);let h=p||t;h&&a&&(h+=`-${a}`);let y=l;return\"NONE\"===y&&(y=[\"startTime\",\"endTime\"].includes(a)?\"startTime\"===a?\"GREATER_EQUAL\":\"LESS_EQUAL\":(null==p?void 0:p.includes(\"startTime\"))?\"GREATER_EQUAL\"===a:(null==p?void 0:p.includes(\"endTime\"))?\"LESS_EQUAL\"===a:\"EQUAL\"),\"PARENT\"===t&&(h=e.modelKey,h&&a&&(h+=`-${a}`),y=l),{rule:y,label:o,fieldName:r,fieldValue:\"\",valueType:i,alias:h,globalCondition:!s,indexCode:c,typeGuid:u,indexCodeNum:d,dataType:f}}function $n(e){if(null==e?void 0:e.length)for(const t of e)if(null==t?void 0:t.conditions)$n(t.conditions);else{const{id:e,keyName:n,prop:o,modelKey:r,format:i,dataType:a=\"component\",customValue:l}=t,s=Ln(e,n),c=Nn(t);kn(c,e,{prop:o,dateFormat:i,modelKey:r,keyName:s}),\"\"===a&&(c.fieldValue=l||\"\");for(const e in c)t[e]=c[e];for(const e of An)delete t[e]}}function kn(e,t,n){const{prop:o=\"\",dateFormat:r=\"\",modelKey:i=\"\",keyName:a=\"\",operateValue:l,operateMode:s,operateType:c}=n||{},u=i||a;if(\"PARENT\"===t&&u&&o){const t=window.config.record;let n=o,i=r;const a=o.match(/\\{(.+?)\\}/g);if(null==a?void 0:a.length){const t=a[0].slice(1,-1).trim();n=o.replace(a[0],\"\"),i=t,e.dateFormat=i}if(t&&t[u]){const o=_(t[u][n]);ce.isDayjs(o)?e.fieldValue=o.format(i||\"YYYY-MM-DD\"):e.fieldValue=o}return}const d=_n(t)||{},{value:f,format:p=\"YYYY-MM-DD\",type:h=\"\",useCurrentTime:y,RECORD:m}=d||{},b=r||p;if(yn(h,\"date\")){let t;if(t=y?f?_(f):ce():_(f),\"string\"==typeof t&&(t=ce(t)),l&&s&&c)switch(c){case\"add\":t=t.add(l,s);break;case\"minus\":t=t.subtract(l,s)}e.fieldValue=null==t?void 0:t.format(b),e.dateFormat=b}else if(yn(h,\"rangepicker\")){let t=o;if(!o){const e=a&&a.split(\"-\");(null==e?void 0:e.length)&&(t=e[e.length-1])}if(!t)return;let n=null;if(_(d[t])&&(n=ce(_(d[t]))),l&&s&&c)if(\"rangeValue\"===l){if(d.startTime&&d.endTime){const e=_(d.endTime).diff(_(d.startTime),s)+1;switch(c){case\"add\":n=n?n.add(e,s):n;break;case\"minus\":n=n?n.subtract(e,s):n}}}else if(!isNaN(+l))switch(c){case\"add\":n=n?n.add(l,s):n;break;case\"minus\":n=n?n.subtract(l,s):n}if(n&&(e.fieldValue=null==n?void 0:n.format(b)),\"rangeValue\"===t&&d.startTime&&d.endTime){const t=function(e){const t=e.split(\"-\");let n=\"\";if(null==t?void 0:t.length)switch(t[t.length-1]){case\"YYYY\":n=\"year\";break;case\"MM\":n=\"month\";break;case\"DD\":n=\"day\"}return n}(b);t&&(e.fieldValue=_(d.endTime).diff(_(d.startTime),t)+1)}e.dateFormat=b}else yn(h,xn)?e.fieldValue=i&&m?m[i]:!i&&m?m.value:_(f):yn(h,\"select\")&&Array.isArray(_(f))?e.fieldValue=_(f).join(\",\"):e.fieldValue=_(f)}const Dn=e=>{var t;if(e){const n=Array.isArray(e)?fn(e):[fn(e)];let o=\"\",r=[];const i=[],a=[],l=[];for(const e of n){if(e.defaultCode&&(e.label=e.columnName,delete e.defaultCode),\"CUSTOM\"===e.type&&(r=e.customOrderColumns),o=e.type,i.push(e.label),null===(t=e.columnName)||void 0===t?void 0:t.includes(\"_ecanrepeat_\")){const t=e.columnName.split(\"_ecanrepeat_\");a.push(t[0])}else a.push(e.columnName);l.push(e.order)}return\"CUSTOM\"!==o&&(null==i?void 0:i.length)>1&&(o=\"COMBINATION\"),\"CUSTOM\"===o?{label:i.join(\",\"),columnName:a.join(\",\"),type:o,customOrderColumns:r}:{label:i.join(\",\"),columnName:a.join(\",\"),order:l.join(\",\"),type:o}}return e},Mn=e=>{const{sortCpnts:t=[]}=e;let n,o=\"\";for(const e of t){const t=_n(e)||{},{type:n,RECORD:r}=t;if(yn(n,\"image\")&&yn(null==r?void 0:r.value,[\"asc\",\"desc\"])){o=r.value.toUpperCase();break}}return o&&(n={label:e.label,columnName:e.name,order:o,type:\"NORMAL\"}),n},En=(t,n={})=>{var o,r,i,a,l,s,c,u;const{graphicConfig:d,type:f,globalModel:p,isGroupTable:h=!1,allComponentList:y}=t;p&&(wn=p),(null==y?void 0:y.length)&&(Sn=y);const m=yn(f,\"pivottable\");let b,{source:g,dataViewId:v,plugin:x=\"1\",layer:w,chartType:S,classificationList:A=[],rowHeaderList:_=[],dimensionList:j=[],seriesList:O=[],leftAxisList:C=[],rightAxisList:L=[],queryColumnList:T=[],indexLibColumns:N=[],indicators:$=[],specialIndicators:k=[],controlList:D=[],formFields:M={},variableList:E=[],variableConditions:I=[],dataSourceId:F=\"\",idxLibMode:V,preview:z=!1,edvDataSetId:R,compositeIndicator:U}=d||{},P=[];if(\"design\"===(null==d?void 0:d.pageMode)?(P=(null!==(o=d.sqlConditions)&&void 0!==o?o:[]).map((e=>{const t={};if(mn(e,\"globalCondition\")||e.join||(t.globalCondition=!0),!e.join){const n=e.rule||\"EQUAL\";t.rule=\"NONE\"===n?\"EQUAL\":n}return Object.assign(Object.assign({},e),t)})),(null==I?void 0:I.length)&&(P=P.concat(I))):(P=Tn(d),(null==E?void 0:E.length)&&(P=P.concat(function(e){const t=[];if(null==e?void 0:e.length)for(const n of e)if(n.variableName){const e=Ln(n.id,n.keyName),o={variateName:n.variableName,globalCondition:!1,valueType:n.variableType,alias:e||\"\"};kn(o,n.id,{dateFormat:n.format,prop:n.dateTypeValue,keyName:e,operateType:n.operateType,operateMode:n.operateMode,operateValue:n.operateValue}),\"\"===n.dataType&&(o.fieldValue=n.variableValue),n.format&&(o.dateFormat=n.format),n.label&&(o.label=n.label),t.push(o)}return t}(E)))),null==P?void 0:P.length){const e=P.filter((e=>e.globalCondition)),t=P.filter((e=>!e.globalCondition));(null==e?void 0:e.length)>1&&(P=[{join:\"&&\",conditions:e},...t])}(null==P?void 0:P.length)&&(P=On(P,\"1\")),null==w&&(w=yn(f,[\"table\",\"card\"])||yn(f,[\"list\",\"circulate\"])&&(null==A?void 0:A.length)>1?\"1\":yn(f,[\"select\",\"checkbox\",\"radio\",\"treeSelect\"])?\"3\":yn(f,[\"indexPanel\"])?\"4\":\"2\"),yn(f,[\"indexPanel\"])&&(x=\"3\");const G=[];let Y,W=\"\";if(Array.isArray(A)&&A.length>0&&(![\"ecanList\",\"ecanCirculate\"].includes(f)||1===(null==A?void 0:A.length))){const e=A.length;for(let t=0;t<e;t++){const n=A[t]||{},{label:o=\"\",name:i=\"\",show:a=!1,sort:l,customGroup:s,conditions:c,dateFormat:u,typeGuid:d=\"\",truncations:p=[]}=n;if(a||1===e){W=d,b={label:o.trim(),columnName:i,show:a,sort:Mn(n)||Dn(l)||l,customGroup:s,conditions:On(c),typeGuid:d},u&&(b.dateFormat=u),\"the_date\"!==i||b.dateFormat||(b.dateFormat=\"YYYY-MM-DD\");const e={};if(Array.isArray(p)&&p.length>0){const t=p.length;for(let n=0;n<t;n++){const t=p[n]||{},{rule:o=\"\",num:r=0,name:i=\"\"}=t;o&&r&&(e.num=r,e.rule=o,i&&(e.otherGroupName=i))}}if((null===(r=Object.keys(e))||void 0===r?void 0:r.length)&&(b.truncation=e),!yn(f,[\"scatter\",\"valueline\"]))break;G.push(b)}}}if(Array.isArray(O)&&O.length>0){const e=O.length;for(let t=0;t<e;t++){const n=O[t]||{},{label:o=\"\",name:r=\"\",show:i=!1,sort:a,customGroup:l,conditions:s,typeGuid:c,dateFormat:u=\"\"}=n;if(i||1===e){Y={label:o.trim(),columnName:r,show:i,sort:Dn(a),customGroup:l,conditions:On(s),typeGuid:c},u?Y.dateFormat=u:\"the_date\"===r&&(Y.dateFormat=\"YYYY-MM-DD\");break}}}const H=[];null==C||C.forEach((e=>{e.location=\"LEFT\",H.push(Cn(e,b))})),null==L||L.forEach((e=>{e.location=\"RIGHT\",H.push(Cn(e,b))}));let B=$;(null==n?void 0:n.pivotTableCal)&&(B=(null===(i=n.pivotTableCal)||void 0===i?void 0:i.indicators)||[]),null==B||B.forEach((e=>{e.location=\"LEFT\",H.push(Cn(e,b))}));const K=[];null==k||k.forEach((e=>{e.location=\"LEFT\",K.push(Cn(e,b))}));const q=[];[\"ecanList\",\"ecanCirculate\"].includes(f)&&(null==A?void 0:A.length)>1&&(T=A),(null==n?void 0:n.pivotTableCal)&&(T=(null===(a=n.pivotTableCal)||void 0===a?void 0:a.dimensions)||[]),null==T||T.forEach((e=>{const{label:t,name:o,location:r,show:i,indexCode:a,sort:l,typeGuid:s,indexCodeNum:c,dateFormat:u,conditions:d}=e;let f=Dn(l);if(n.sort){const{field:o,order:r}=n.sort;let i=H.find((e=>e.label===o));i||t!==o||(i=e),i&&(f={columnName:i.columnName,label:n.sort.field,order:r.toUpperCase(),type:\"NORMAL\"})}const p={label:t,columnName:o,location:r,show:i,sort:f,calcType:\"COLUMN\",hrpIndexCode:a,hrpIndexCodeNum:c,conditions:On(d),typeGuid:s};u&&(p.dateFormat=u),\"the_date\"!==o||p.dateFormat||(p.dateFormat=\"YYYY-MM-DD\"),q.push(p)}));const Q=[];[\"ecanTable\"].includes(f)&&d.isIndexSet&&N.forEach((e=>{const t={label:e.label,calcType:e.calcType,show:e.show};e.formula&&(t.formula=e.formula),Q.push(t)}));let J=[],X=[];if(Array.isArray(_)&&_.length>0?X=_:Array.isArray(j)&&j.length>0&&(X=j),null==X?void 0:X.length){const e=X.length;for(let t=0;t<e;t++){const e=X[t]||{},{label:o=\"\",name:r=\"\",show:i=!1,sort:a,customGroup:s,conditions:c,truncations:u,typeGuid:d=\"\",dateFormat:f}=e;let p=Dn(a);if(n.sort){const{field:t,order:o}=n.sort;let r=H.find((e=>e.label===t));r||e.label!==t||(r=e),r&&(p={columnName:r.columnName,label:n.sort.field,order:o.toUpperCase(),type:\"NORMAL\"})}const h={label:o.trim(),columnName:r,show:i,sort:p,customGroup:s,conditions:On(c),typeGuid:d};f&&(h.dateFormat=f),\"the_date\"!==r||h.dateFormat||(h.dateFormat=\"YYYY-MM-DD\");const y={};if(Array.isArray(u)&&u.length>0){const e=u.length;for(let t=0;t<e;t++){const e=u[t]||{},{rule:n=\"\",num:o=0,name:r=\"\"}=e;n&&o&&(y.num=o,y.rule=n,r&&(y.otherGroupName=r))}}(null===(l=Object.keys(y))||void 0===l?void 0:l.length)&&(h.truncation=y),J.push(h)}}let Z,ee=[];const te=[];if(null==n?void 0:n.pivotTableCal){let t=[];const{calc:o=[],filter:r=[],truncations:i=[],sorts:a=[],aggregateMethod:l=[],rowDimensionKeys:u=[],colDimensionKeys:d=[]}=n.pivotTableCal;if(H.push(...o),null==r?void 0:r.length){const n=function e(t){const n=[];for(const o of t)o.conditions?n.push(...e(o.conditions)):\"the_date\"===o.conditionKey&&n.push(o);return n}(D);for(const o of r){const{type:r}=o,i=e(o,[\"type\"]);\"indicators\"===r?t=H:\"dimension\"===r&&(t=q);const a=t.find((e=>e.columnName===o.fieldName&&e.label===o.label));if(a)if(\"indicators\"===r)a.filter={rule:i.rule,fieldValue:i.fieldValue};else if(\"dimension\"===r){let e=!0;\"the_date\"===i.fieldName&&2===(null==n?void 0:n.length)&&(e=!1,te.push(i)),e&&(a.conditions||(a.conditions=[]),a.conditions.push(i))}}}if(null==i?void 0:i.length)for(const e of i){const t=q.find((t=>t.label===e.key));t&&(t.truncation={num:e.num,rule:e.rule})}if(null==a?void 0:a.length)for(const n of a){const{fieldType:o,columnData:r}=n,i=e(n,[\"fieldType\",\"columnData\"]);\"indicators\"===o?(t=H,Z=r):\"dimension\"===o&&(t=q);const a=t.find((e=>e.label===i.label));a&&(a.sort=Object.assign(Object.assign({},i),{columnName:a.columnName}))}if(null===(s=Object.keys(l))||void 0===s?void 0:s.length)for(const e in l){const t=q.find((t=>t.label===e));t&&(null===(c=l[e])||void 0===c?void 0:c.length)&&(t.aggregateMethod=l[e])}J=[],ee=[];for(const e of q)u.includes(e.columnName)?J.push(e):d.includes(e.columnName)&&ee.push(e)}if(yn(f,[\"text\",\"proportion\",\"counter\",\"gauge\"])?S=\"zb\":yn(f,[\"valueline\"])?S=\"valueline\":yn(f,[\"indexPanel\"])?S=\"indexPanel\":yn(f,[\"boxplot\"])?S=\"boxplot\":yn(f,[\"budget\"])&&(S=\"budget\"),h||\"card\"===f){if(0===J.length||0===H.length)return;S=\"grouptable\"}else{if(\"1\"===w&&!q.length&&!Q.length)return;if([\"2\",\"4\"].includes(w)&&0===H.length)return;if(!(\"3\"!==w||(W||\"EDV_DATA_SET\"===g)&&M.labelField&&M.valueField))return;if(\"3\"===w&&\"ecanDataSelect\"===f&&0===H.length)return}let ne;if((null==j?void 0:j.length)&&(w=\"1\",S=\"grouptable\"),m||yn(f,[\"scatter\",\"valueline\"])||!(null===(u=Object.keys(M))||void 0===u?void 0:u.length)){let e={};e=yn(f,[\"scatter\",\"valueline\"])?{classifications:G}:{classification:b},(null==Q?void 0:Q.length)&&(e.indexLibColumns=Q,e.isIndexSet=!0),(null==K?void 0:K.length)&&(e.specialIndicatorList=K),yn(f,\"table\")&&d.isIndexSet&&(e.compositeIndicator=U);const n=P.map((e=>{const{fieldValue:t}=e,n={};return t&&Array.isArray(t)&&(n.fieldValue=JSON.stringify(t)),Object.assign(Object.assign({},e),n)}));(null==te?void 0:te.length)&&function e(t){for(const n of t)if(n.sqlConditions)e(n.sqlConditions);else if(\"the_date\"===n.fieldName){const e=te.find((e=>e.prop===n.prop));e&&(n.fieldValue=e.fieldValue)}}(n),ne=Object.assign({url:\"/diagram\",source:g,dataViewId:v,plugin:m?\"5\":x,layer:w,chartType:m?\"pivot-table\":S,series:Y,indicatorList:H,queryColumns:h?[]:q,pageFlag:!0,edvDataSetId:R||\"\",sqlConditions:n,idxLibMode:V,dataSourceId:F,preview:z,rowHeaders:J,keyName:t.keyName,columnData:Z,columnHeaders:ee},e)}else{const e=bn(D).find((e=>\"parentCode\"===e.conditionKey)),n={};if(e){const t=_n(e.id)||{};if(!(null==t?void 0:t.itemCodes))return;n.parentItemCodes=t.itemCodes}\"ecanDataSelect\"===f&&(n.indicatorList=H.filter((e=>e.show))),\"EDV_DATA_SET\"===g&&(n.edvDataSetId=R),(null==b?void 0:b.sort)&&(n.sort=b.sort);let o=\"normalSelect\";\"ecanDataSelect\"===f?o=\"normalSelectData\":\"ecanTreeSelect\"===f&&(o=\"treeSelect\"),ne=Object.assign({url:\"/diagram/formData\",source:g,dataViewId:v,plugin:\"4\",layer:w,chartType:\"ecanTreeSelect\"===f?\"treeSelect\":\"normalSelect\",rangeIndexTypeGuid:W,type:o,labelField:M.labelField,valueField:M.valueField,parentField:M.parentField,sqlConditions:P,idxLibMode:\"WITH_DATE_DIM_TABLE\",dataSourceId:F,keyName:t.keyName},n)}return ne},In=(e=[],t,n=!1)=>{let{name:o=\"name\",types:r=[]}=t||{};o=(null==o?void 0:o.trim())||o;const i=new Set,a=new Map,l=e.length,s=r.length;if(1!==l||n)for(let t=0;t<l;t++){const n=e[t],l=n[o];i.add(l);for(let e=0;e<s;e++){const t=r[e],{label:o,value:i}=t,l=Object.assign(Object.assign({},n),{value:n[i]});if(a.has(o)){const e=a.get(o);e.push(l),a.set(o,e)}else a.set(o,[l])}}else{const t=[];for(let n=0;n<s;n++){const o=r[n],{label:a,value:l}=o,s=Object.assign(Object.assign({},e[0]),{value:e[0][l]});i.add(a),t.push(s)}const n=e[0][o]||\"\";a.set(n,t)}const c=Array.from(i),u=[];for(const[e,t]of a)u.push({name:e,data:t});return{dimensions:c,dataset:u}},Fn=(e,t)=>{let{name:n=\"name\",value:o=\"value\",type:r=\"type\"}=t||{};n=null==n?void 0:n.trim(),o=null==o?void 0:o.trim(),r=null==r?void 0:r.trim();const i=new Map,a=e.length;for(let t=0;t<a;t++){const a=e[t],l=a[n]||\"\",s=a[o]||\"\",c=a[r]||\"\";if(i.has(c)){const e=i.get(c);e.push(Object.assign({name:l,value:s},a)),i.set(c,e)}else i.set(c,[Object.assign({name:l,value:s},a)])}const l=[],s=[];for(const[e,t]of i)if(s.push({name:e,data:t}),null==t?void 0:t.length)if(l.length)for(const e of t)l.includes(e.name)||l.push(e.name);else l.push(...t.map((e=>e.name)));return{dimensions:l,dataset:s}},Vn=(e,t)=>{var n;if(null==e)return t;const o=e.match(/\\{.*\\}/g);if(null==o||0===o.length)return t;const r=o.length;for(let i=0;i<r;i++){const r=o[i];if(null==r||\"\"===r)break;let a=null===(n=r.slice(1,-1))||void 0===n?void 0:n.trim();a=null==a?void 0:a.replace(/value/g,t);try{let t=a;(/\\(.*\\)/g.test(a)||/[+/\\\\*]/g.test(a))&&(t=pn(a)),e=e.replace(r,t)}catch(t){e=e.replace(r,a)}}return e};function zn(e){return e.isShowMarkLine?{markLine:{data:[{type:e.markLineType}]}}:{}}const Rn=(e,t,n)=>{const o=e.yAxisLabelFormatter,r=e.xAxisLabelFormatter,{dimensions:i=[],dataset:a=[]}=t,l=re((()=>{const{gradientShow:t,gradientColors:n,gradientOffset:o,barBorderRadius:r}=e,i=a,l=i.length,s=[];for(let a=0;a<l;a++){const l=Object.assign(Object.assign({},i[a]),{type:\"bar\",barWidth:e.barWidth,showBackground:e.showBarBackground}),{isStack:c,stackColumns:u}=e;if(c&&u.includes(i[a].name||!u)&&(l.stack=\"stack\"),l.label={show:e.labelShow,fontSize:e.labelFontSize,position:e.labelPosition,color:e.labelColor,width:e.labelWidth,overflow:e.labelOverflow,formatter:t=>{let n=\"\",o=e.labelFormatter;\"\"===o&&(o=\"{c}\");const{seriesName:r,name:i,value:a,data:l}=t||{};return n+=hn(o,{textData:Object.assign({name:i,value:a,a:r,b:i,c:a||0},l)},{useNewline:!0,useSpace:!0}),n}},l.itemStyle={},t&&(l.itemStyle={color:{x:e.isUseHorizontalAxis?1:0,y:0,x2:0,y2:e.isUseHorizontalAxis?0:1,colorStops:[{offset:0,color:e.colors[a]},{offset:o,color:n[a]},{offset:1,color:n[a]}]}}),r){const e=r.split(\",\");if(null==e?void 0:e.length){const t=[];for(const n of e){const e=parseFloat(n);isNaN(e)||t.push(e)}l.itemStyle.barBorderRadius=t}}e.isShowMarkLine&&(l.markLine={data:[{type:e.markLineType}]}),s.push(l)}return s})),s=re((()=>i.map((e=>{let t={};return t=e&&\"object\"==typeof e?Object.assign(Object.assign({},e),{textStyle:{fontSize:n}}):{value:e,textStyle:{fontSize:n}},t}))));return{tooltip:{trigger:\"axis\",show:e.tooltipShow,formatter:t=>{const n=t.length;let o=\"\",i=e.tooltipFormatter;\"\"===i&&(i=\"{marker} {a} {c}\");for(let e=0;e<n;e++){const{marker:n,seriesName:a,name:l,value:s,data:c}=t[e]||{};if(0===e){let e=l;\"string\"!=typeof l||\"0\"!==l[0]||isNaN(+l)||(e=(+l).toString()),o+=`${Vn(r,e)}<br/>`}o+=hn(i,{textData:Object.assign({marker:n,name:l,value:s,Qfw:gn,a:a,b:l,c:s||0},c)},{useNewline:!0,useSpace:!0}),o+=\"<br/>\"}return o},textStyle:{color:e.tooltipTextStyleColor,fontSize:n},position:e.tooltipPosition||void 0,backgroundColor:e.tooltipBackgroundColor||\"#fff\"},legend:{type:e.legendScroll?\"scroll\":\"plain\",width:e.legendWidth,height:e.legendHeight,show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{rich:{text:{width:e.legendTextWidth,color:e.legendTextStyleColor,fontSize:e.legendFontSize}}},itemHeight:e.legendItemHeight,itemWidth:e.legendItemWidth,itemGap:e.legendItemGap,data:a.map(((t,n)=>({name:t.name,itemStyle:{color:e.colors[n]},icon:e.legendType}))),formatter:t=>((e=\"\",t)=>{var n;const o=e.match(/\\{(.+?)\\}/g),r=(null===(n=e.split(\"\\n\"))||void 0===n?void 0:n.length)-1;let i=\"\";if(r)for(let e=0;e<r;e++)i+=\"\\n\";let a=e;if(null==o?void 0:o.length){for(const e of o){const n=hn(e,{textData:t},{useNewline:!1,useSpace:!1});n&&(a=a.replace(e,n))}return`${i}{text|${a}}`}return e})(e.legendFormatter,{name:t})},xAxis:{type:e.isUseHorizontalAxis?\"value\":\"category\",data:e.isUseHorizontalAxis?null:_(s),inverse:e.isUseHorizontalAxis?e.xAxisInverse:e.axisInverse,minInterval:e.xAxisMinInterval,splitLine:{show:e.xAxisSplitLineShow,lineStyle:{color:e.xAxisSplitLineStyleColor,type:e.xAxisSplitLineType},interval:e.xAxisSplitLineInterval},splitArea:{show:e.xAxisSplitAreaShow},axisLabel:{color:e.xAxisLabelColor,interval:e.xAxisLabelInterval||0,rotate:e.xAxisLabelRotate,width:e.xAxisLabelWidth,overflow:e.xAxisLabelOverflow,fontSize:e.xAxisLabelFontSize,formatter:e=>(\"string\"!=typeof e||\"0\"!==e[0]||isNaN(+e)||(e=(+e).toString()),Vn(r,e))},axisLine:{show:e.xAxisLineShow,lineStyle:{color:e.xAxisLineStyleColor}},axisTick:{show:e.xAxisTickShow},name:e.xAxisName,nameTextStyle:{fontSize:e.xAxisLabelFontSize,color:e.xAxisLabelColor,align:\"left\"},max:e.xAxisMaxValue||null},yAxis:{type:e.isUseHorizontalAxis?\"category\":\"value\",data:e.isUseHorizontalAxis?_(i):null,inverse:e.isUseHorizontalAxis?e.axisInverse:e.yAxisInverse,minInterval:e.yAxisMinInterval,splitLine:{show:e.yAxisSplitLineShow,lineStyle:{color:e.yAxisSplitLineStyleColor,type:e.yAxisSplitLineType}},splitArea:{show:e.yAxisSplitAreaShow},axisLabel:{show:e.yAxisLabelShow,fontSize:e.yAxisLabelFontSize,color:e.yAxisLabelColor,rotate:e.yAxisLabelRotate,width:e.yAxisLabelWidth,overflow:e.yAxisLabelOverflow,formatter:e=>Vn(o,e)},axisLine:{show:e.yAxisLineAlwaysDisplay,lineStyle:{color:e.yAxisLineStyleColor}},name:e.yAxisName,nameTextStyle:{fontSize:e.yAxisLabelFontSize,color:e.yAxisLabelColor,align:\"right\"},max:e.yAxisMaxValue||null},series:_(l)}},Un=(e,t,n)=>{const o=e.yAxisLabelFormatter,r=e.xAxisLabelFormatter,{dimensions:i=[],dataset:a=[]}=t,l=re((()=>i.map((e=>{let t={};return t=e&&\"object\"==typeof e?Object.assign(Object.assign({},e),{textStyle:{fontSize:n}}):{value:e,textStyle:{fontSize:n}},t})))),s=re((()=>{const t=[],n=a.length;for(let o=0;o<n;o++){const n={};e.shadowColor&&(n.shadowColor=e.shadowColor,n.shadowBlur=e.shadowBlur,n.shadowOffsetY=e.shadowOffsetY,n.shadowOffsetX=e.shadowOffsetX),t.push(Object.assign(Object.assign(Object.assign({type:\"line\"},a[o]),{symbolSize:e.symbolSize,smooth:e.smooth,areaStyle:{color:e.areaGradientShow?{type:\"linear\",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.colors[o]},{offset:1,color:e.areaGradientColor||\"transparent\"}],global:!1}:e.colors[o],opacity:e.areaStyleOpacity},lineStyle:Object.assign({width:e.lineStyleWidth},n)}),zn(e)))}return t}));return{tooltip:{trigger:\"axis\",show:e.tooltipShow,formatter:t=>{const n=t.length;let o=\"\",r=e.tooltipFormatter;\"\"===r&&(r=\"{marker} {a} {c}\");for(let e=0;e<n;e++){const{marker:n,seriesName:i,name:a,value:l,data:s}=t[e]||{};0===e&&(o+=`${a}<br/>`),o+=hn(r,{textData:Object.assign({marker:n,name:a,value:l,a:i,b:a,c:l},s)},{useNewline:!0,useSpace:!0}),o+=\"<br/>\"}return o},textStyle:{color:e.tooltipTextStyleColor,fontSize:n.value},position:e.tooltipPosition||void 0,backgroundColor:e.tooltipBackgroundColor||\"#fff\"},xAxis:{name:e.xAxisName,type:\"category\",data:_(l),minInterval:e.xAxisMinInterval,splitLine:{show:e.xAxisSplitLineShow,lineStyle:{color:e.xAxisSplitLineStyleColor}},axisLabel:{color:e.xAxisLabelColor,interval:e.xAxisLabelInterval||0,rotate:e.xAxisLabelRotate,width:e.xAxisLabelWidth,overflow:e.xAxisLabelOverflow,formatter:e=>Vn(r,e)},axisLine:{lineStyle:{color:e.xAxisLineStyleColor}},axisTick:{show:e.xAxisTickShow}},yAxis:{type:\"value\",name:e.yAxisName,minInterval:e.yAxisMinInterval,splitLine:{show:e.yAxisSplitLineShow,lineStyle:{color:e.yAxisSplitLineStyleColor}},axisLabel:{fontSize:n,color:e.yAxisLabelColor,formatter:e=>Vn(o,e)},axisLine:{show:e.yAxisLineAlwaysDisplay,lineStyle:{color:e.yAxisLineStyleColor}}},legend:{show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{fontSize:n}},series:_(s)}},Pn=(e,t,n)=>{const{dataset:o=[]}=t;let{data:r=[]}=o[0]||{};if(Array.isArray(e.colors)){const t=e.isUseLabelColors,n=e.colors;r=r.map(((e,o)=>Object.assign({label:t?{color:n[o]}:{}},e)))}return{title:{text:e.titleText,subtext:e.titleSubtext,textStyle:{fontSize:e.titleFontSize,fontWeight:e.fontWeight,color:e.titleColor},left:e.textAlign||\"center\"},tooltip:{show:e.tooltipShow,trigger:e.tooltipTrigger,formatter:t=>{const{marker:n,seriesName:o,name:r,value:i,percent:a,data:l}=t||{};return hn(e.tooltipFormatter,{textData:Object.assign({marker:n,name:r,value:i,percent:a,a:o,b:r,c:i,d:a},l)},{useNewline:!0,useSpace:!0})},textStyle:{color:e.tooltipTextStyleColor||\"#333\"},backgroundColor:e.tooltipBackgroundColor||\"#fff\",borderColor:e.tooltipBorderColor||\"#eee\"},legend:{show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{color:e.legendTextStyleColor,fontSize:18===n?n:e.labelFontSize}},series:[{data:r,type:\"pie\",radius:[e.innerRadius,e.outerRadius],center:[e.centerLeft,e.centerTop],roseType:e.roseType,avoidLabelOverlap:!1,minAngle:e.minAngle,label:{show:\"center\"!==e.labelPosition&&e.labelShow,color:e.labelColor,fontSize:18===n?n:e.labelFontSize,position:e.labelPosition,formatter:(i=e.labelFormatter,i.replace(/\\\\n/g,\"\\n\"))},labelLine:{show:e.labelLineShow,length:e.labelLineLength,length2:e.labelLineLength2},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:\"rgba(0, 0, 0, 0.5)\"},label:{}}}]};var i},Gn=(e,t,n)=>{const{dimensions:o=[],dataset:r=[]}=t,i=re((()=>o.map((e=>{let t={};return t=e&&\"object\"==typeof e?Object.assign(Object.assign({},e),{textStyle:{fontSize:n}}):{value:e,textStyle:{fontSize:n}},t})))),a=re((()=>{const t=[],n=r.length,o=e.seriesTypes;for(let i=0;i<n;i++){const n=o[i],{type:a,axisIndex:l}=n||{};let s=Object.assign({type:a,yAxisIndex:l},r[i]);if(\"line\"===a){const t={};e.shadowColor&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowBlur,t.shadowOffsetY=e.shadowOffsetY,t.shadowOffsetX=e.shadowOffsetX),s=Object.assign(Object.assign({},s),{symbolSize:e.symbolSize,smooth:e.smooth,itemStyle:{color:e.colors[i]},areaStyle:{color:e.areaGradientShow?{type:\"linear\",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.colors[i]},{offset:1,color:e.areaGradientColor||\"transparent\"}],global:!1}:e.colors[i],opacity:e.areaStyleOpacity},lineStyle:Object.assign({width:e.lineStyleWidth},t)})}if(\"bar\"===a){const{gradientShow:t,gradientColors:n,gradientOffset:o}=e,r={};if(e.barBorderRadius){const t=e.barBorderRadius.split(\",\");if(null==t?void 0:t.length){const e=[];for(const n of t){const t=parseFloat(n);isNaN(t)||e.push(t)}r.borderRadius=e}}t&&(r.color={x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.colors[i]},{offset:o,color:n[i]},{offset:1,color:n[i]}]}),s=Object.assign(Object.assign({},s),{barWidth:e.barWidth,itemStyle:r})}e.isShowMarkLine&&(s.markLine={data:[{type:e.markLineType}]}),t.push(s)}return t})),l=re((()=>{const t=e.yAxis;return null==t?void 0:t.map(((t,o)=>({type:\"value\",minInterval:e.yAxisMinInterval,splitLine:{show:0===o?e.yAxisLeftSplitLineShow:e.yAxisRightSplitLineShow,lineStyle:{color:e.yAxisSplitLineStyleColor,type:0===o?e.yAxisLeftSplitLineType:e.yAxisRightSplitLineType}},splitArea:{show:e.yAxisSplitAreaShow},axisLabel:{fontSize:n,show:e.yAxisLabelShow,color:e.yAxisLabelColor,formatter:e=>Vn(t.axisLabelFormatter,e)},axisLine:{show:e.yAxisLineAlwaysDisplay,lineStyle:{color:e.yAxisLineStyleColor}},name:0===o?e.yAxisLeftName:e.yAxisRightName,nameTextStyle:{fontSize:e.yAxisLabelFontSize,color:e.yAxisLabelColor,align:0===o?\"right\":\"left\"},max:e.yAxisMaxValue||null})))}));return{legend:{show:e.legendShow,orient:e.legendOrient,top:e.legendTop,left:e.legendLeft,textStyle:{color:e.legendTextStyleColor,fontSize:n}},tooltip:{trigger:\"axis\",show:e.tooltipShow,formatter:t=>{const n=t.length;let o=\"\",r=e.tooltipFormatter;\"\"===r&&(r=\"{marker} {a} {c}\");const i=e.seriesTypes;for(let e=0;e<n;e++){const n=i[e],{tooltipFormatter:a}=n||{},{marker:l,seriesName:s,name:c,value:u,data:d}=t[e]||{};0===e&&(o+=`${c}<br/>`),o+=hn(a||r,{textData:Object.assign({marker:l,name:c,value:u,seriesName:s,a:s,b:c,c:u},d)},{useNewline:!0,useSpace:!0}),o+=\"<br/>\"}return o},textStyle:{color:e.tooltipTextStyleColor||\"#333\",fontSize:n},backgroundColor:e.tooltipBackgroundColor||\"#fff\",borderColor:e.tooltipBorderColor||\"#eee\"},xAxis:{name:e.xAxisName,minInterval:e.xAxisMinInterval,type:\"category\",data:_(i),splitLine:{show:e.xAxisSplitLineShow,lineStyle:{color:e.xAxisSplitLineStyleColor}},axisLabel:{color:e.xAxisLabelColor,interval:e.xAxisLabelInterval||0,rotate:e.xAxisLabelRotate,width:e.xAxisLabelWidth,overflow:e.xAxisLabelOverflow},axisLine:{lineStyle:{color:e.xAxisLineStyleColor}},axisTick:{show:e.xAxisTickShow}},yAxis:_(l),series:_(a)}},Yn=(e,t,n=12)=>Object.assign(Object.assign({},(e=>({title:{text:e.titleText,subtext:e.titleSubtext,textStyle:{fontSize:e.titleFontSize,fontWeight:e.fontWeight,color:e.titleColor},left:e.textAlign||\"center\"},grid:{top:e.gridTop,bottom:e.gridBottom,left:e.gridLeft,right:e.gridRight,containLabel:e.gridContainLabel},color:e.colors}))(e)),((e,t,n)=>{switch(e.type){case\"bar\":return Rn(e,t,n);case\"line\":return Un(e,t,n);case\"pie\":return Pn(e,t,n);case\"comboGraph\":return Gn(e,t,n);default:return{}}})(e,t,n));export{En as formatIndicatorParams,vn as getIndicatorParams,mn as hasOwn,yn as lowerCaseIncludes,pn as runCode,Yn as transformProps,In as useTransformChartDataByAttrKey,Fn as useTransformChartDataByAttrValue,Vn as useValueFormatter,hn as useVariablesInText};\n","import dayjs from 'dayjs'\r\nimport { cloneDeep } from 'lodash-es'\r\nimport { useVariablesInText, lowerCaseIncludes, hasOwn } from '@ecan-bi/tools'\r\n// import { Big } from 'big.js'\r\nimport { unref } from 'vue'\r\n\r\nexport const handleFormatter = (formatter: string) => {\r\n return formatter.replace(/\\\\n/g, '\\n')\r\n}\r\n\r\nexport const getConditions = (conditions: { [key: string]: any }[]) => {\r\n const result = []\r\n if (conditions?.length) {\r\n for (const item of conditions) {\r\n if (item.conditions) {\r\n result.push(...getConditions(item.conditions))\r\n } else if (item?.dataType === 'component') {\r\n result.push(item)\r\n }\r\n }\r\n }\r\n return result\r\n}\r\nexport const getSqlConditions = (graphicConfig: { [key: string]: any }, renderUsedComponents: { [key: string]: any }[]) => {\r\n const controlList = cloneDeep(graphicConfig?.controlList || [])\r\n const {\r\n classificationList = [],\r\n rowHeaderList = [],\r\n dimensionList = [],\r\n seriesList = [],\r\n leftAxisList = [],\r\n rightAxisList = [],\r\n queryColumnList = [],\r\n indicators = []\r\n } = graphicConfig\r\n handleControlList(controlList, renderUsedComponents)\r\n const sqlConditions = controlList\r\n // console.log('controlList', controlList)\r\n const otherList = [\r\n ...classificationList,\r\n ...rowHeaderList,\r\n ...dimensionList,\r\n ...seriesList,\r\n ...leftAxisList,\r\n ...rightAxisList,\r\n ...queryColumnList,\r\n ...indicators\r\n ]\r\n const conditionList = []\r\n for (const ol of otherList) {\r\n const conditions = getConditions(ol?.conditions || [])\r\n if (conditions?.length) {\r\n const list = conditions\r\n .filter((v: any) => {\r\n const target = getComponent(v, renderUsedComponents)\r\n if (target) {\r\n return v?.dataType === 'component'\r\n }\r\n return false\r\n })\r\n .map((item: any) => {\r\n const target = getComponent(item, renderUsedComponents)\r\n const params: any = {}\r\n if (item?.dateFormat) {\r\n params.format = item.dateFormat\r\n }\r\n return {\r\n conditionKey: item.fieldName,\r\n conditionLabel: item.fieldName,\r\n conditionName: item.fieldName,\r\n conditionValueType: item.fieldType,\r\n id: target.id,\r\n keyName: item.fieldValue,\r\n rule: item.rule,\r\n notGlobal: true,\r\n indexCode: item.indexCode,\r\n typeGuid: item.typeGuid,\r\n indexCodeNum: item.indexCodeNum,\r\n ...params\r\n }\r\n })\r\n if (list?.length) {\r\n for (const l of list) {\r\n if (!conditionList.find(cItem => cItem.keyName === l.keyName)) {\r\n conditionList.push(l)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const len = conditionList.length\r\n for (let i = 0; i < len; i++) {\r\n const control = conditionList[i]\r\n if (control && !Object.keys(control)?.length) {\r\n continue\r\n }\r\n if (control?.conditionKey === 'parentCode') {\r\n continue\r\n }\r\n const {\r\n id,\r\n keyName,\r\n prop,\r\n format: dateFormat,\r\n dataType = 'component',\r\n customValue\r\n } = control\r\n let alias = keyName || id\r\n if (alias && prop) {\r\n alias += `-${prop}`\r\n }\r\n const sqlCondition: { [key: string]: any } = getConditionItem(control)\r\n setFieldValue({\r\n sqlCondition,\r\n renderUsedComponents,\r\n id,\r\n dateFormat,\r\n prop,\r\n keyName,\r\n dataType,\r\n customValue\r\n })\r\n sqlConditions.push(sqlCondition)\r\n }\r\n // globalCondition=false时,如果全局过滤里面已经配置了该组件的信息,则不用再传globalCondition=false的组件信息\r\n for (let j = sqlConditions.length - 1; j >= 0; j--) {\r\n const item = sqlConditions[j]\r\n if (!item.globalCondition) {\r\n const cond = getConditions(sqlConditions).find(v => v.alias === item.alias && v.globalCondition)\r\n if (cond) {\r\n sqlConditions.splice(j, 1)\r\n }\r\n }\r\n }\r\n return sqlConditions\r\n}\r\n\r\nexport const handleVariableList = (variableList: { [key: string]: any }[], renderUsedComponents: { [key:string]: any }[]) => {\r\n const handleVarList = []\r\n if (variableList?.length) {\r\n for (const item of variableList) {\r\n if (item.variableName) {\r\n const variableItem: any = {\r\n variateName: item.variableName,\r\n globalCondition: false,\r\n valueType: item.variableType,\r\n alias: item.keyName || ''\r\n }\r\n setFieldValue({\r\n sqlCondition: variableItem,\r\n renderUsedComponents,\r\n id: item.id,\r\n dateFormat: item.format,\r\n prop: item.dateTypeValue,\r\n keyName: item.keyName,\r\n dataType: item.dataType,\r\n customValue: item.variableValue,\r\n operateType: item.operateType,\r\n operateMode: item.operateMode,\r\n operateValue: item.operateValue\r\n })\r\n if (item.format) {\r\n // 日期格式化\r\n variableItem.dateFormat = item.format\r\n }\r\n if (item.label) {\r\n variableItem.label = item.label\r\n }\r\n handleVarList.push(variableItem)\r\n }\r\n }\r\n }\r\n return handleVarList\r\n}\r\n\r\nfunction getConditionItem (control: { [key:string]:any }) {\r\n const {\r\n id,\r\n keyName,\r\n conditionLabel,\r\n conditionKey,\r\n conditionValueType,\r\n prop,\r\n rule = 'NONE',\r\n notGlobal = false,\r\n indexCode,\r\n indexCodeNum,\r\n typeGuid,\r\n dataType = 'component'\r\n } = control\r\n let alias = keyName || id\r\n if (alias && prop) {\r\n alias += `-${prop}`\r\n }\r\n return {\r\n rule,\r\n label: conditionLabel,\r\n fieldName: conditionKey,\r\n fieldValue: '', // 在关联控件中取\r\n valueType: conditionValueType,\r\n alias,\r\n globalCondition: !notGlobal,\r\n indexCode,\r\n indexCodeNum,\r\n typeGuid,\r\n dataType\r\n }\r\n}\r\n\r\nconst excludeAttr = [\r\n 'keyValue',\r\n 'conditionKey',\r\n 'conditionLabel',\r\n 'conditionName',\r\n 'conditionValueType',\r\n 'customValue',\r\n 'id',\r\n 'keyName'\r\n]\r\nfunction handleControlList (controlList: { [key: string]: any }[], renderUsedComponents: { [key: string]: any }[]) {\r\n if (controlList?.length) {\r\n for (const control of controlList) {\r\n if (control?.conditions) {\r\n handleControlList(control.conditions, renderUsedComponents)\r\n } else {\r\n const {\r\n id,\r\n keyName,\r\n prop,\r\n format: dateFormat,\r\n dataType = 'component',\r\n customValue\r\n } = control\r\n let alias = keyName || id\r\n if (alias && prop) {\r\n alias += `-${prop}`\r\n }\r\n const sqlCondition: { [key: string]: any } = getConditionItem(control)\r\n setFieldValue({\r\n sqlCondition,\r\n renderUsedComponents,\r\n id,\r\n dateFormat,\r\n prop,\r\n keyName,\r\n dataType,\r\n customValue\r\n })\r\n for (const key in sqlCondition) {\r\n control[key] = sqlCondition[key]\r\n }\r\n for (const attr of excludeAttr) {\r\n delete control[attr]\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setFieldValue (data: any) {\r\n const {\r\n sqlCondition,\r\n renderUsedComponents,\r\n id,\r\n dateFormat,\r\n prop,\r\n keyName,\r\n dataType,\r\n customValue,\r\n operateValue,\r\n operateMode,\r\n operateType\r\n } = data\r\n const component: any = unref(renderUsedComponents).find((v: { [key: string]: any }) => v.id === id)\r\n // 获取组件属性\r\n const { value, format = 'YYYY-MM-DD', operate, type = '', useCurrentTime } = component || {}\r\n const customFormat = dateFormat || format\r\n if (lowerCaseIncludes(type, 'date')) {\r\n let dateValue\r\n if (useCurrentTime) {\r\n dateValue = dayjs()\r\n } else {\r\n dateValue = dayjs(value)\r\n }\r\n if (operate && value) {\r\n const { mode, type: opType, value: opValue } = operate\r\n if (opValue) {\r\n switch (opType) {\r\n case 'add':\r\n dateValue = dateValue.add(opValue, mode)\r\n break\r\n case 'minus':\r\n dateValue = dateValue.subtract(opValue, mode)\r\n break\r\n }\r\n }\r\n }\r\n if (operateValue && operateMode && operateType) {\r\n switch (operateType) {\r\n case 'add':\r\n dateValue = dateValue.add(operateValue, operateMode)\r\n break\r\n case 'minus':\r\n dateValue = dateValue.subtract(operateValue, operateMode)\r\n break\r\n }\r\n }\r\n sqlCondition.fieldValue = dateValue?.format(customFormat) || ''\r\n sqlCondition.dateFormat = customFormat\r\n } else if (type === 'ecanRangePicker') {\r\n const { interval, intervalUnit, startTime, endTime } = component || {}\r\n let propValue = prop\r\n if (!prop) {\r\n const knList = keyName?.split('-')\r\n if (knList?.length) {\r\n propValue = knList[knList.length - 1]\r\n }\r\n }\r\n if (!propValue) {\r\n return\r\n }\r\n let _time = null\r\n if (useCurrentTime) {\r\n if (propValue === 'startTime') {\r\n _time = dayjs().subtract(interval, intervalUnit)\r\n } else if (propValue === 'endTime') {\r\n _time = dayjs()\r\n }\r\n }\r\n if (component[propValue]) {\r\n _time = dayjs(component[propValue])\r\n }\r\n if (operate) {\r\n const { type, value, mode } = operate\r\n switch (type) {\r\n case 'add':\r\n _time = _time ? _time.add(value, mode) : _time\r\n break\r\n case 'minus':\r\n _time = _time ? _time.subtract(value, mode) : _time\r\n }\r\n }\r\n if (operateValue && operateMode && operateType) {\r\n if (operateValue === 'rangeValue') {\r\n // 自定义偏移,目前只有范围差\r\n if (startTime && endTime) {\r\n const interval = dayjs(endTime).diff(dayjs(startTime), operateMode) + 1\r\n switch (operateType) {\r\n case 'add':\r\n _time = _time ? _time.add(interval, operateMode) : _time\r\n break\r\n case 'minus':\r\n _time = _time ? _time.subtract(interval, operateMode) : _time\r\n }\r\n }\r\n } else if (!isNaN(+operateValue)) {\r\n switch (operateType) {\r\n case 'add':\r\n _time = _time ? _time.add(operateValue, operateMode) : _time\r\n break\r\n case 'minus':\r\n _time = _time ? _time.subtract(operateValue, operateMode) : _time\r\n }\r\n }\r\n }\r\n if (_time) {\r\n sqlCondition.fieldValue = _time?.format(customFormat)\r\n }\r\n\r\n if (propValue === 'rangeValue') {\r\n // 全局变量的日期范围间隔值计算\r\n if (startTime && endTime) {\r\n const step: any = getFormatStep(customFormat)\r\n if (step) {\r\n sqlCondition.fieldValue = dayjs(endTime).diff(dayjs(startTime), step) + 1\r\n }\r\n }\r\n }\r\n sqlCondition.dateFormat = customFormat\r\n } else {\r\n const variables = value && (value).match(/\\{(.+?)\\}/g)\r\n if (variables?.length) {\r\n // 使用了表达式\r\n sqlCondition.fieldValue = ''\r\n } else {\r\n sqlCondition.fieldValue = value\r\n }\r\n }\r\n if (dataType === '') {\r\n sqlCondition.fieldValue = customValue || ''\r\n }\r\n}\r\n\r\nexport const getEventName = (type: string) => {\r\n let event = ''\r\n switch (type) {\r\n case 'ecanDatePicker':\r\n case 'ecanRangePicker':\r\n event = 'dateChange'\r\n break\r\n case 'ecanTimeDisplay':\r\n event = 'timeChange'\r\n break\r\n case 'ecanSelect':\r\n case 'ecanTreeSelect':\r\n event = 'selectChange'\r\n break\r\n case 'ecanTabs':\r\n event = 'tabChange'\r\n break\r\n case 'ecanInput':\r\n event = 'inputChange'\r\n break\r\n case 'ecanCheckbox':\r\n case 'ecanRadio':\r\n event = 'checkboxChange'\r\n break\r\n case 'ecanText':\r\n event = 'valueChange'\r\n break\r\n case 'ecanImage':\r\n event = 'click'\r\n break\r\n default:\r\n break\r\n }\r\n return event\r\n}\r\n\r\nfunction getComponent (data: any, componentList: any) {\r\n if (data.componentId) {\r\n return componentList.find((f: any) => f.id === data.componentId)\r\n } else {\r\n if (data.dataType === 'component') {\r\n if (data.fieldType === 'DATE') {\r\n const dateList = data.fieldValue?.split('-')\r\n if (dateList?.length) {\r\n return dateList[0]\r\n } else {\r\n return null\r\n }\r\n } else {\r\n return componentList.find((f: any) => f.keyName === data.fieldValue)\r\n }\r\n } else {\r\n return null\r\n }\r\n }\r\n}\r\n\r\nexport function getFormatStep (format: string) {\r\n const value = format.split('-')\r\n let formatStep = ''\r\n if (value?.length) {\r\n switch (value[value.length - 1]) {\r\n case 'YYYY':\r\n formatStep = 'year'\r\n break\r\n case 'MM':\r\n formatStep = 'month'\r\n break\r\n case 'DD':\r\n formatStep = 'day'\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n return formatStep\r\n}\r\n// 格式化\r\nexport function handleFormat (row: any, item: any) {\r\n let value = row[item.label]\r\n if ((value || value === 0) && value !== '') {\r\n // 值不为空\r\n if (item.dataFormat && item.dataFormat.length !== 0) {\r\n // 保留两位小数需得提前执行\r\n if (item.dataFormat.includes('#.00')) {\r\n // 先执行保留小数\r\n if (typeof value !== 'number') {\r\n value = value.replace(/,/g, '')\r\n }\r\n // 排除输入为 字符类型 ,保留不转化\r\n if (Number(value) || Number(value) === 0) {\r\n const retentiondigit = item.retentiondigit ? item.retentiondigit - 0 : item.retentiondigit\r\n value = Number(value).toFixed(retentiondigit)\r\n }\r\n }\r\n if (item.dataFormat.includes('#,000')) {\r\n // 千分位处理部分\r\n const str = value.toString()\r\n if (!str.includes(',')) {\r\n value = formatQfw(str)\r\n }\r\n }\r\n }\r\n }\r\n return value\r\n}\r\n// 千分位转换\r\nexport function formatQfw (str: string) {\r\n let result = ''\r\n let str1 = ''\r\n let str2 = ''\r\n let value = ''\r\n if (str.indexOf('.') > -1) {\r\n str1 = str.split('.')[0] // 千分位处理部分\r\n str2 = str.split('.')[1] // 小数值\r\n } else {\r\n str1 = str\r\n }\r\n let index = 0\r\n let len = 0\r\n len = str1.length - 1\r\n while (len >= 0) {\r\n index % 3 === 0 && index !== 0\r\n ? str1[len] === '-'\r\n ? (result += str1[len])\r\n : (result += ',' + str1[len])\r\n : (result += str1[len])\r\n len--\r\n index++\r\n }\r\n result = result\r\n .split('')\r\n .reverse()\r\n .join('')\r\n if (str.indexOf('.') > -1) {\r\n value = result + '.' + str2\r\n } else {\r\n value = result\r\n }\r\n return value\r\n}\r\n// 根据指标获取其他参数-用于条件查询\r\nexport async function getIndicatorParams ({ graphicConfig, request, INDICATOR_URL = '', PAGE_ID, dataSourceId }) {\r\n try {\r\n const { leftAxisList = [], rightAxisList = [], queryColumnList = [], indicators = [] } = unref(graphicConfig)\r\n const otherList = [...leftAxisList, ...rightAxisList, ...queryColumnList, ...indicators]\r\n const idMap: any = {}\r\n for (const item of otherList) {\r\n const { indexCode = '', parentId = '' } = item\r\n if (parentId && !hasOwn(item, 'calcType') && !idMap[parentId]) {\r\n idMap[parentId] = indexCode\r\n }\r\n }\r\n if (Object.keys(idMap)?.length) {\r\n const promiseList = []\r\n for (const id in idMap) {\r\n promiseList.push(\r\n new Promise((resolve, reject) => {\r\n request\r\n .post(\r\n `${INDICATOR_URL}/diagram/hrpIndexWithComplex`,\r\n {\r\n pageId: PAGE_ID,\r\n indexGuid: id,\r\n indexCode: idMap[id],\r\n dataSourceId\r\n }\r\n )\r\n .then((res: any) => {\r\n const { success, data = [] } = res.data\r\n if (success && data?.dataViewColumns?.length) {\r\n resolve(data.dataViewColumns)\r\n } else {\r\n reject(data)\r\n }\r\n })\r\n .catch((e) => {\r\n reject(e)\r\n })\r\n })\r\n )\r\n }\r\n const res = await Promise.all(promiseList)\r\n const resultList = res.reduce((a: any, b: any) =>\r\n a.filter((c: any) => b.find((v: any) => v.typeGuid === c.typeGuid))\r\n )\r\n return resultList.filter((v: any) => v.typeGuid)\r\n }\r\n } catch (err) { }\r\n return ([])\r\n}\r\n/**\r\n * 图表的图例格式化\r\n * @param format 表达式\r\n * @param textData 传入参数\r\n * @returns 显示的图例文本\r\n */\r\nexport const getLegendFormat = (format: string = '', textData: any) => {\r\n const variables = format.match(/\\{(.+?)\\}/g)\r\n // 换行符个数\r\n const lineBreakCount = format.split('\\n')?.length - 1\r\n let lineBreakStr = ''\r\n if (lineBreakCount) {\r\n for (let i = 0; i < lineBreakCount; i++) {\r\n lineBreakStr += '\\n'\r\n }\r\n }\r\n let text = format\r\n if (variables?.length) {\r\n for (const item of variables) {\r\n const str = useVariablesInText(\r\n item,\r\n {\r\n textData\r\n },\r\n {\r\n useNewline: false,\r\n useSpace: false\r\n }\r\n )\r\n if (str) {\r\n text = text.replace(item, str)\r\n }\r\n }\r\n return `${lineBreakStr}{text|${text}}`\r\n } else {\r\n return format\r\n }\r\n}\r\nexport const mapScope = (scope: 'DIM' | 'IDX' | 'BUILT_IN_DIM') => {\r\n const map = {\r\n DIM: '维度',\r\n BUILT_IN_DIM: '维度',\r\n IDX: '指标',\r\n BUILT_IN_IDX: '指标',\r\n FIELD: '数据集'\r\n }\r\n return map[scope]\r\n}\r\nexport const mapDataSetScope = (scope: '0' | '1' | '2') => {\r\n const map = {\r\n 0: '文本',\r\n 1: '数值',\r\n 2: '日期'\r\n\r\n }\r\n return map[scope]\r\n}\r\n\r\nexport const getLoadType = (type: string) => {\r\n if (!type) {\r\n return ''\r\n }\r\n const list = type.split(',')\r\n const result = []\r\n for (const item of list) {\r\n if (item === '0') {\r\n result.push('手工录入')\r\n } else if (item === '1') {\r\n result.push('系统取数')\r\n } else if (item === '2') {\r\n result.push('运算加工')\r\n }\r\n }\r\n return result.join('、')\r\n}\r\n\r\nexport const getUseType = (type: string) => {\r\n if (!type) {\r\n return ''\r\n }\r\n const list = type.split(',')\r\n const result = []\r\n for (const item of list) {\r\n switch (item) {\r\n case '1':\r\n result.push('人力系统')\r\n break\r\n case '2':\r\n result.push('绩效系统')\r\n break\r\n case '3':\r\n result.push('预算系统')\r\n break\r\n case '4':\r\n result.push('财务系统')\r\n break\r\n case '5':\r\n result.push('成本系统')\r\n break\r\n case '6':\r\n result.push('物流系统')\r\n break\r\n case '7':\r\n result.push('固定资产系统')\r\n break\r\n case '8':\r\n result.push('OA办公系统')\r\n break\r\n case '9':\r\n result.push('电子档案系统')\r\n break\r\n case '10':\r\n result.push('个人收入系统')\r\n break\r\n case '11':\r\n result.push('奖金二次分配系统')\r\n break\r\n case '12':\r\n result.push('财务管理系统')\r\n break\r\n case '13':\r\n result.push('报销系统')\r\n break\r\n case '14':\r\n result.push('科研管理系统')\r\n break\r\n case '15':\r\n result.push('审计系统')\r\n break\r\n case '16':\r\n result.push('分组器系统')\r\n break\r\n case '17':\r\n result.push('消毒供应系统')\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n return result.join('、')\r\n}\r\n\r\nexport const getSourceType = (dataTo: string) => {\r\n if (dataTo === '0') {\r\n return '指标库'\r\n } else if (dataTo === '1') {\r\n return '视图'\r\n } else if (dataTo === '2') {\r\n return '数据集'\r\n } else {\r\n return '其他'\r\n }\r\n}\r\n","<template>\n <div class=\"config-modal\" v-if=\"!isUpdate\">\n <div class=\"config-modal-left\" v-if=\"!isPivotTable\">\n <data-list />\n </div>\n <div class=\"config-modal-right\" :class=\"isPivotTable ? 'full' : ''\">\n <data-config ref=\"dataConfigRef\" :sqlConditions=\"sqlConditions\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, provide, nextTick, PropType } from 'vue'\nimport { cloneDeep } from 'lodash-es'\nimport {\n DATA_LIST,\n INDICATOR_TOKEN,\n GRAPHIC_CONFIG,\n CHARTS_OPTIONS,\n TABLE_OPTIONS,\n SOURCE_TYPE,\n SHOW_STYLE_CONFIG,\n UPDATE_GRAPHIC_CONFIG,\n UPDATE_CHARTS_OPTIONS,\n UPDATE_TABLE_OPTIONS,\n SELECTED_COMPONENT,\n REQUEST,\n RENDER_USED_COMPONENTS,\n UPDATE_USED_COMPONENT,\n UPDATE_COMPONENTS_CONFIG,\n MAP_ATTRIBUTE_PROPS,\n PAGE_CONFIG,\n IS_PIVOT_TABLE,\n IS_IFRAME_MODE\n} from '@/utils/constant'\nimport propsMap from './data-config/style-config-group/chart-props'\nimport tableProps from './data-config/style-config-group/table-props'\nimport loadAsyncComponent from '@/utils/loadAsyncComponent'\nimport { getSqlConditions } from '@/utils/util'\nexport default defineComponent({\n name: 'IndicatorLibrary',\n components: {\n DataList: loadAsyncComponent(() => import('./data-list')),\n DataConfig: loadAsyncComponent(() => import('./data-config'))\n },\n props: {\n isShowStyleConfig: {\n // 是否显示样式配置\n type: Boolean,\n default: false\n },\n sourceType: {\n // 数据源类型\n type: String,\n default: ''\n },\n indicatorToken: {\n // 指标库token\n type: String,\n default: ''\n },\n selectedComponent: {\n // 当前组件\n type: Object,\n default: () => {}\n },\n request: {\n // 外部请求方法\n default: null\n },\n renderUsedComponentList: {\n // 当前画布上渲染的组件\n type: Array as PropType<any[]>,\n default: () => []\n },\n mapAttributeProps: {\n type: Object,\n default: () => ({\n startTime: {\n label: '开始时间值',\n component: 'time-pick'\n },\n endTime: {\n label: '结束时间值',\n component: 'time-pick'\n }\n })\n },\n pageConfig: {\n type: Object,\n default: () => {}\n },\n isIframeMode: {\n type: Boolean,\n default: false\n }\n },\n setup (props, { expose, emit }) {\n const dataConfigRef = ref()\n const isUpdate = ref(false)\n const sourceType = computed(() => props.sourceType)\n const indicatorToken = computed(() => props.indicatorToken || '')\n const component = computed(() => props.selectedComponent)\n const usedComponentList = computed(() => props.renderUsedComponentList)\n const tableColumns = computed(\n () => unref(component)?.tableColumns || []\n )\n const isShowStyleConfig = computed(() => props.isShowStyleConfig)\n const isPivotTable = computed(() => unref(component)?.type?.includes('PivotTable'))\n // 图形化配置\n let graphicConfig = unref(component).graphicConfig\n ? cloneDeep(unref(component).graphicConfig)\n : ref({})\n graphicConfig = ref(graphicConfig)\n // 图表样式配置\n let chartsOptions = unref(component).chartsOptions\n ? cloneDeep(unref(component).chartsOptions)\n : ref(cloneDeep(propsMap.line))\n chartsOptions = ref(chartsOptions)\n let tableOptions = unref(component).tableOptions\n ? cloneDeep(unref(component).tableOptions)\n : ref(cloneDeep(tableProps))\n tableOptions = ref(tableOptions)\n // 设置数据列表\n const dataList = ref<{ [key: string]: any }[]>([])\n const setDataList = (list: { [key: string]: any }[]) => {\n dataList.value = list\n }\n const updateGraphicConfig = (config: { [key: string]: any }) => {\n graphicConfig.value = {\n ...unref(graphicConfig),\n ...unref(config)\n }\n }\n const updateChartsOptions = (\n options: { [key: string]: any },\n isMerge: Boolean = true\n ) => {\n if (isMerge) {\n chartsOptions.value = {\n ...unref(chartsOptions),\n ...unref(options)\n }\n } else {\n chartsOptions.value = {\n ...unref(options)\n }\n }\n }\n const updateTableOptions = (options: { [key: string]: any }) => {\n tableOptions.value = {\n ...unref(tableOptions),\n ...unref(options)\n }\n }\n const getDataList = () => dataList\n const updateIndicatorData = () => {\n isUpdate.value = true\n if (unref(component).graphicConfig) {\n graphicConfig.value = cloneDeep(unref(component).graphicConfig)\n }\n if (unref(component).chartsOptions) {\n chartsOptions.value = cloneDeep(unref(component).chartsOptions || propsMap.line)\n }\n nextTick(() => {\n isUpdate.value = false\n })\n }\n const getIndicatorData = () => {\n return {\n graphicConfig: unref(graphicConfig),\n chartsOptions: unref(chartsOptions),\n tableOptions: unref(tableOptions),\n tableColumns: unref(tableColumns),\n columnsConfigMap: unref(component).columnsConfigMap\n }\n }\n const getPivotGraphicData = () => {\n const pivotTableData = unref(dataConfigRef).getSaveData()\n return {\n ...pivotTableData,\n graphicConfig: unref(graphicConfig)\n }\n }\n (window as any).getIndicatorData = getIndicatorData;\n (window as any).getPivotGraphicData = getPivotGraphicData\n if (props.request) {\n provide(REQUEST, props.request)\n }\n provide(DATA_LIST, {\n setDataList,\n getDataList\n })\n\n const updateUsedComponent = (data: any) => {\n emit('updateUsedComponent', data)\n }\n const updateComponentsConfig = (ids: string[], controlList: any[]) => {\n emit('updateComponentsConfig', ids, { controlList })\n }\n\n const sqlConditions = computed(() => getSqlConditions(graphicConfig.value, usedComponentList.value))\n\n provide(IS_PIVOT_TABLE, isPivotTable)\n provide(IS_IFRAME_MODE, props.isIframeMode)\n provide(SELECTED_COMPONENT, component)\n provide(GRAPHIC_CONFIG, graphicConfig)\n provide(CHARTS_OPTIONS, chartsOptions)\n provide(TABLE_OPTIONS, tableOptions)\n provide(SOURCE_TYPE, sourceType)\n provide(SHOW_STYLE_CONFIG, isShowStyleConfig)\n provide(INDICATOR_TOKEN, indicatorToken)\n provide(UPDATE_GRAPHIC_CONFIG, updateGraphicConfig)\n provide(UPDATE_CHARTS_OPTIONS, updateChartsOptions)\n provide(UPDATE_TABLE_OPTIONS, updateTableOptions)\n provide(RENDER_USED_COMPONENTS, usedComponentList)\n provide(UPDATE_USED_COMPONENT, updateUsedComponent)\n provide(UPDATE_COMPONENTS_CONFIG, updateComponentsConfig)\n provide(MAP_ATTRIBUTE_PROPS, props.mapAttributeProps)\n provide(PAGE_CONFIG, props.pageConfig)\n expose({\n graphicConfig,\n chartsOptions,\n updateIndicatorData\n })\n return {\n sqlConditions,\n isUpdate,\n isPivotTable,\n dataConfigRef\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.config-modal {\n width: 100%;\n height: 100%;\n display: flex;\n padding: 10px;\n}\n\n.config-modal-left {\n width: 300px;\n height: 100%;\n margin-right: 10px;\n padding: 10px;\n}\n\n.config-modal-right {\n width: calc(100% - 310px);\n &.full {\n width: 100%;\n }\n}\n</style>\n","<template>\n <div class=\"config-modal\" v-if=\"!isUpdate\">\n <div class=\"config-modal-left\" v-if=\"!isPivotTable\">\n <data-list />\n </div>\n <div class=\"config-modal-right\" :class=\"isPivotTable ? 'full' : ''\">\n <data-config ref=\"dataConfigRef\" :sqlConditions=\"sqlConditions\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, provide, nextTick, PropType } from 'vue'\nimport { cloneDeep } from 'lodash-es'\nimport {\n DATA_LIST,\n INDICATOR_TOKEN,\n GRAPHIC_CONFIG,\n CHARTS_OPTIONS,\n TABLE_OPTIONS,\n SOURCE_TYPE,\n SHOW_STYLE_CONFIG,\n UPDATE_GRAPHIC_CONFIG,\n UPDATE_CHARTS_OPTIONS,\n UPDATE_TABLE_OPTIONS,\n SELECTED_COMPONENT,\n REQUEST,\n RENDER_USED_COMPONENTS,\n UPDATE_USED_COMPONENT,\n UPDATE_COMPONENTS_CONFIG,\n MAP_ATTRIBUTE_PROPS,\n PAGE_CONFIG,\n IS_PIVOT_TABLE,\n IS_IFRAME_MODE\n} from '@/utils/constant'\nimport propsMap from './data-config/style-config-group/chart-props'\nimport tableProps from './data-config/style-config-group/table-props'\nimport loadAsyncComponent from '@/utils/loadAsyncComponent'\nimport { getSqlConditions } from '@/utils/util'\nexport default defineComponent({\n name: 'IndicatorLibrary',\n components: {\n DataList: loadAsyncComponent(() => import('./data-list')),\n DataConfig: loadAsyncComponent(() => import('./data-config'))\n },\n props: {\n isShowStyleConfig: {\n // 是否显示样式配置\n type: Boolean,\n default: false\n },\n sourceType: {\n // 数据源类型\n type: String,\n default: ''\n },\n indicatorToken: {\n // 指标库token\n type: String,\n default: ''\n },\n selectedComponent: {\n // 当前组件\n type: Object,\n default: () => {}\n },\n request: {\n // 外部请求方法\n default: null\n },\n renderUsedComponentList: {\n // 当前画布上渲染的组件\n type: Array as PropType<any[]>,\n default: () => []\n },\n mapAttributeProps: {\n type: Object,\n default: () => ({\n startTime: {\n label: '开始时间值',\n component: 'time-pick'\n },\n endTime: {\n label: '结束时间值',\n component: 'time-pick'\n }\n })\n },\n pageConfig: {\n type: Object,\n default: () => {}\n },\n isIframeMode: {\n type: Boolean,\n default: false\n }\n },\n setup (props, { expose, emit }) {\n const dataConfigRef = ref()\n const isUpdate = ref(false)\n const sourceType = computed(() => props.sourceType)\n const indicatorToken = computed(() => props.indicatorToken || '')\n const component = computed(() => props.selectedComponent)\n const usedComponentList = computed(() => props.renderUsedComponentList)\n const tableColumns = computed(\n () => unref(component)?.tableColumns || []\n )\n const isShowStyleConfig = computed(() => props.isShowStyleConfig)\n const isPivotTable = computed(() => unref(component)?.type?.includes('PivotTable'))\n // 图形化配置\n let graphicConfig = unref(component).graphicConfig\n ? cloneDeep(unref(component).graphicConfig)\n : ref({})\n graphicConfig = ref(graphicConfig)\n // 图表样式配置\n let chartsOptions = unref(component).chartsOptions\n ? cloneDeep(unref(component).chartsOptions)\n : ref(cloneDeep(propsMap.line))\n chartsOptions = ref(chartsOptions)\n let tableOptions = unref(component).tableOptions\n ? cloneDeep(unref(component).tableOptions)\n : ref(cloneDeep(tableProps))\n tableOptions = ref(tableOptions)\n // 设置数据列表\n const dataList = ref<{ [key: string]: any }[]>([])\n const setDataList = (list: { [key: string]: any }[]) => {\n dataList.value = list\n }\n const updateGraphicConfig = (config: { [key: string]: any }) => {\n graphicConfig.value = {\n ...unref(graphicConfig),\n ...unref(config)\n }\n }\n const updateChartsOptions = (\n options: { [key: string]: any },\n isMerge: Boolean = true\n ) => {\n if (isMerge) {\n chartsOptions.value = {\n ...unref(chartsOptions),\n ...unref(options)\n }\n } else {\n chartsOptions.value = {\n ...unref(options)\n }\n }\n }\n const updateTableOptions = (options: { [key: string]: any }) => {\n tableOptions.value = {\n ...unref(tableOptions),\n ...unref(options)\n }\n }\n const getDataList = () => dataList\n const updateIndicatorData = () => {\n isUpdate.value = true\n if (unref(component).graphicConfig) {\n graphicConfig.value = cloneDeep(unref(component).graphicConfig)\n }\n if (unref(component).chartsOptions) {\n chartsOptions.value = cloneDeep(unref(component).chartsOptions || propsMap.line)\n }\n nextTick(() => {\n isUpdate.value = false\n })\n }\n const getIndicatorData = () => {\n return {\n graphicConfig: unref(graphicConfig),\n chartsOptions: unref(chartsOptions),\n tableOptions: unref(tableOptions),\n tableColumns: unref(tableColumns),\n columnsConfigMap: unref(component).columnsConfigMap\n }\n }\n const getPivotGraphicData = () => {\n const pivotTableData = unref(dataConfigRef).getSaveData()\n return {\n ...pivotTableData,\n graphicConfig: unref(graphicConfig)\n }\n }\n (window as any).getIndicatorData = getIndicatorData;\n (window as any).getPivotGraphicData = getPivotGraphicData\n if (props.request) {\n provide(REQUEST, props.request)\n }\n provide(DATA_LIST, {\n setDataList,\n getDataList\n })\n\n const updateUsedComponent = (data: any) => {\n emit('updateUsedComponent', data)\n }\n const updateComponentsConfig = (ids: string[], controlList: any[]) => {\n emit('updateComponentsConfig', ids, { controlList })\n }\n\n const sqlConditions = computed(() => getSqlConditions(graphicConfig.value, usedComponentList.value))\n\n provide(IS_PIVOT_TABLE, isPivotTable)\n provide(IS_IFRAME_MODE, props.isIframeMode)\n provide(SELECTED_COMPONENT, component)\n provide(GRAPHIC_CONFIG, graphicConfig)\n provide(CHARTS_OPTIONS, chartsOptions)\n provide(TABLE_OPTIONS, tableOptions)\n provide(SOURCE_TYPE, sourceType)\n provide(SHOW_STYLE_CONFIG, isShowStyleConfig)\n provide(INDICATOR_TOKEN, indicatorToken)\n provide(UPDATE_GRAPHIC_CONFIG, updateGraphicConfig)\n provide(UPDATE_CHARTS_OPTIONS, updateChartsOptions)\n provide(UPDATE_TABLE_OPTIONS, updateTableOptions)\n provide(RENDER_USED_COMPONENTS, usedComponentList)\n provide(UPDATE_USED_COMPONENT, updateUsedComponent)\n provide(UPDATE_COMPONENTS_CONFIG, updateComponentsConfig)\n provide(MAP_ATTRIBUTE_PROPS, props.mapAttributeProps)\n provide(PAGE_CONFIG, props.pageConfig)\n expose({\n graphicConfig,\n chartsOptions,\n updateIndicatorData\n })\n return {\n sqlConditions,\n isUpdate,\n isPivotTable,\n dataConfigRef\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.config-modal {\n width: 100%;\n height: 100%;\n display: flex;\n padding: 10px;\n}\n\n.config-modal-left {\n width: 300px;\n height: 100%;\n margin-right: 10px;\n padding: 10px;\n}\n\n.config-modal-right {\n width: calc(100% - 310px);\n &.full {\n width: 100%;\n }\n}\n</style>\n","import { withInstall } from '@/utils/withInstall'\r\nimport IndicatorLibrary from './IndicatorLibrary.vue'\r\nexport const EcanIndicatorLibrary = withInstall(IndicatorLibrary)\r\nexport default EcanIndicatorLibrary\r\n","import { lowerCaseIncludes, hasOwn } from '@ecan-bi/tools'\r\nimport {\r\n INDICATOR_URL\r\n} from '@/utils/constant'\r\n\r\nexport const useIndicatorData = (props: { [key:string]: any } = {}) => {\r\n const handleQueryColumn = (queryColumn: { [key:string]: any } = {}) => {\r\n const { label, name, location, show, indexCode, typeGuid } = queryColumn\r\n return {\r\n label,\r\n columnName: name,\r\n location,\r\n show,\r\n calcType: 'COLUMN',\r\n hrpIndexCode: indexCode,\r\n typeGuid\r\n }\r\n }\r\n\r\n const handleParams = (params: any) => {\r\n if (hasOwn(params, 'dataType')) {\r\n if (params.fieldType === 'DATE') {\r\n params.label = params.fieldName\r\n if (params.dataType === 'component') {\r\n params.fieldValue = '${' + params.fieldValue + '}'\r\n }\r\n }\r\n delete params.dataType\r\n }\r\n if (hasOwn(params, 'activeKey')) {\r\n delete params.activeKey\r\n }\r\n if (hasOwn(params, 'radioValue')) {\r\n delete params.radioValue\r\n }\r\n }\r\n // 递归格式化conditions的数据\r\n const handleConditions = (list: { [key: string]: any } []) => {\r\n const result = []\r\n if (list?.length) {\r\n list.forEach((item) => {\r\n if (item.join && item.conditions) {\r\n const isSameLevel = !item.conditions.some((v: any) => v.join && v.conditions)\r\n item.conditions.forEach((cs: any, index: number) => {\r\n handleParams(cs)\r\n if (isSameLevel) {\r\n if (index < item.conditions.length - 1) {\r\n result.push({\r\n join: item.join,\r\n ...cs\r\n })\r\n } else {\r\n result.push(cs)\r\n }\r\n } else {\r\n if (cs.join && cs.conditions) {\r\n result.push({\r\n conditions: handleConditions([cs]),\r\n join: item.join\r\n })\r\n } else {\r\n result.push(cs)\r\n }\r\n }\r\n })\r\n } else {\r\n handleParams(item)\r\n result.push(item)\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n\r\n const handleIndicator = (indicator: { [key:string]: any } = {}) => {\r\n const {\r\n label,\r\n name,\r\n location,\r\n show,\r\n indexCode,\r\n calcType = 'COLUMN',\r\n builtInFormula,\r\n builtInValueSource,\r\n builtInCalcWay,\r\n formula,\r\n conditions,\r\n aggregate\r\n } = indicator\r\n let conditionData\r\n if (conditions) {\r\n conditionData = handleConditions(conditions)\r\n }\r\n return {\r\n label: label.trim(),\r\n columnName: name,\r\n location,\r\n show,\r\n calcType,\r\n hrpIndexCode: indexCode,\r\n aggregate,\r\n builtInFormula,\r\n builtInValueSource,\r\n builtInCalcWay,\r\n formula,\r\n conditions: conditionData\r\n }\r\n }\r\n\r\n return async () => {\r\n const { graphicConfig, type, request, isGroupTable } = props\r\n // 全部属性, 为了属性可拓展,所以在设计器中自由添加\r\n let {\r\n source,\r\n dataViewId,\r\n plugin = '1', // 插件类型\r\n layer, // 后台图表类型,值分0,1\r\n chartType, // 前端图表类型,实测没用\r\n classificationList = [],\r\n seriesList = [],\r\n leftAxisList = [],\r\n rightAxisList = [],\r\n queryColumnList = [],\r\n indicators = [],\r\n // controlList = [],\r\n dataSourceId, // 所属数据源ID\r\n idxLibMode, // 指标库模式, source= INDICATOR_LIB时候必填, NORMAL_YEAR_TABLE = 普通年表, WITH_DATE_DIM_TABLE = 带有时间维度表\r\n preview = false, // 预览开关\r\n sqlConditions = [],\r\n rowHeaderList = []\r\n } = graphicConfig || {}\r\n // 图类型,1=表 2=图\r\n if (layer == null) {\r\n if (lowerCaseIncludes(type, ['table', 'card'])) {\r\n layer = '1'\r\n } else {\r\n layer = '2'\r\n }\r\n }\r\n // console.log('classificationList', classificationList)\r\n // console.log('seriesList', seriesList)\r\n // console.log('leftAxisList', leftAxisList)\r\n // console.log('rightAxisList', rightAxisList)\r\n // console.log('indicators', indicators)\r\n // console.log('controlList', controlList)\r\n // 重点处理 classificationList、seriesList、leftAxisList、rightAxisList、indicators\r\n // classificationList (取第一项) => classification\r\n let classification: Object\r\n if (Array.isArray(classificationList) && classificationList.length > 0) {\r\n const len = classificationList.length\r\n for (let i = 0; i < len; i++) {\r\n const item = classificationList[i] || {}\r\n const { label = '', name = '', show = false, sort, customGroup, conditions, typeGuid } = item\r\n // 如果是 show 直接提取 classification,停止遍历\r\n if (show || len === 1) {\r\n classification = {\r\n label: label.trim(),\r\n columnName: name,\r\n show,\r\n sort,\r\n customGroup,\r\n typeGuid,\r\n conditions: handleConditions(conditions)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n // seriesList (取第一项) => series\r\n let series: Object\r\n if (Array.isArray(seriesList) && seriesList.length > 0) {\r\n const len = seriesList.length\r\n for (let i = 0; i < len; i++) {\r\n const item = seriesList[i] || {}\r\n const { label = '', name = '', show = false, sort, customGroup, conditions, typeGuid } = item\r\n // 如果是 show 直接提取 seriesList,停止遍历\r\n if (show || len === 1) {\r\n series = {\r\n label: label.trim(),\r\n columnName: name,\r\n show,\r\n sort,\r\n customGroup,\r\n conditions: handleConditions(conditions),\r\n typeGuid\r\n }\r\n break\r\n }\r\n }\r\n }\r\n // 行表头\r\n const rowHeaders = []\r\n if (Array.isArray(rowHeaderList) && rowHeaderList.length > 0) {\r\n const len = rowHeaderList.length\r\n for (let i = 0; i < len; i++) {\r\n const item = rowHeaderList[i] || {}\r\n const { label = '', name = '', show = false, sort, customGroup, conditions, typeGuid } = item\r\n rowHeaders.push({\r\n typeGuid,\r\n label: label.trim(),\r\n columnName: name,\r\n show,\r\n sort,\r\n customGroup,\r\n conditions: handleConditions(conditions)\r\n })\r\n }\r\n }\r\n // queryColumnList => queryColumns\r\n const queryColumns = []\r\n queryColumnList?.forEach((queryColumn: { [key:string]: any }) => {\r\n queryColumns.push(handleQueryColumn(queryColumn))\r\n })\r\n\r\n // leftAxisList + rightAxisList + indicators => indicatorList\r\n const indicatorList = []\r\n leftAxisList?.forEach((leftAxis: { [key:string]: any }) => {\r\n leftAxis.location = 'LEFT'\r\n indicatorList.push(handleIndicator(leftAxis))\r\n })\r\n rightAxisList?.forEach((rightAxis: { [key:string]: any }) => {\r\n rightAxis.location = 'RIGHT'\r\n indicatorList.push(handleIndicator(rightAxis))\r\n })\r\n indicators?.forEach((indicator: { [key:string]: any }) => {\r\n indicator.location = 'LEFT'\r\n indicatorList.push(handleIndicator(indicator))\r\n })\r\n\r\n if (isGroupTable || type === 'card') {\r\n // 分组表和指标卡片\r\n chartType = 'grouptable'\r\n if (indicatorList.length === 0 || rowHeaders.length === 0) {\r\n return\r\n }\r\n // queryColumns 表格配置为空返回\r\n } else if (layer === '1' && queryColumns.length === 0) {\r\n return\r\n // queryColumns 图表配置为空返回\r\n } else if (layer === '2' && indicatorList.length === 0) {\r\n return\r\n }\r\n try {\r\n // @ts-ignore\r\n const res = await request.post(`${INDICATOR_URL}/diagram`, {\r\n source,\r\n dataViewId,\r\n plugin,\r\n layer,\r\n chartType,\r\n classification,\r\n series,\r\n indicatorList,\r\n queryColumns,\r\n pageFlag: true,\r\n sqlConditions,\r\n rowHeaders,\r\n dataSourceId,\r\n idxLibMode,\r\n preview\r\n })\r\n return res\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n}\r\n\r\nexport default useIndicatorData\r\n","<template>\r\n <div class=\"ecan-chart-graph\" ref=\"chartWrapRef\">\r\n <a-spin :spinning=\"loading\" wrapperClassName=\"chart-spin\" tip=\"数据加载中...\">\r\n <div style=\"width: 100%; height: 100%\" ref=\"echartRef\"></div>\r\n </a-spin>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport * as echarts from 'echarts'\r\nimport { defineComponent, onMounted, onBeforeUnmount, computed, ref, inject, unref, watch } from 'vue'\r\nimport { Spin as ASpin } from 'ant-design-vue'\r\nimport useIndicatorData from '@/hooks/useIndicatorData'\r\nimport * as generalTools from '@ecan-bi/tools'\r\nimport { CHARTS_OPTIONS, GRAPHIC_CONFIG, ZOOM_FONT_SIZE, REQUEST, INDICATOR_TOKEN } from '@/utils/constant'\r\nexport default defineComponent({\r\n name: 'ChartGraph',\r\n components: {\r\n ASpin\r\n },\r\n props: {\r\n graphicConfig: {\r\n // 指标库配置\r\n type: Object,\r\n default: () => {}\r\n },\r\n chartsOptions: {\r\n // 图表配置\r\n type: Object,\r\n default: () => {}\r\n }\r\n },\r\n setup (props, { expose }) {\r\n interface KeyTypeDataFieldNames {\r\n name: string\r\n types: {\r\n label: string\r\n value: string\r\n } []\r\n }\r\n\r\n interface ValueTypeDataFieldNames {\r\n name: string\r\n value: string\r\n type: string\r\n }\r\n\r\n const chartsOptions = computed(() => {\r\n if (props.chartsOptions) {\r\n return unref(props.chartsOptions)\r\n } else {\r\n return chartGraphicOptions as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const graphicConfig = computed(() => {\r\n if (props.graphicConfig) {\r\n return unref(props.graphicConfig)\r\n } else {\r\n return chartGraphicConfig as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const request = inject(REQUEST)\r\n let observer: ResizeObserver | null = null\r\n const indicatorToken = inject(INDICATOR_TOKEN) || ''\r\n const chartGraphicConfig = inject(GRAPHIC_CONFIG) || {}\r\n const chartGraphicOptions = inject(CHARTS_OPTIONS) || {}\r\n const echartRef = ref<HTMLElement>(null)\r\n const chartWrapRef = ref<HTMLElement>(null)\r\n const myChart = ref<any>()\r\n const loading = ref(false)\r\n const visible = ref(false)\r\n const fontSize = computed(() => (visible.value ? ZOOM_FONT_SIZE : 12))\r\n const chartData = ref<any>({})\r\n const myOption = ref()\r\n const chartOption = computed(() => {\r\n // 这样写为了触发响应式\r\n const chartsOptionsValue = unref(chartsOptions.value)\r\n if (chartsOptionsValue?.type === 'customGraph') {\r\n return myOption.value\r\n }\r\n return generalTools.transformProps(chartsOptionsValue, unref(chartData), fontSize.value)\r\n })\r\n const handleIndicatorDataset = (\r\n data: any = [],\r\n keyTypeDataFieldNames: KeyTypeDataFieldNames,\r\n useDataFieldNames: boolean = false\r\n ) => {\r\n const dataFieldNames = useDataFieldNames ? keyTypeDataFieldNames : null\r\n chartData.value = generalTools.useTransformChartDataByAttrKey(data, dataFieldNames)\r\n }\r\n const handleIndicatorPieDataset = (data: any = [], dataFieldNames?: ValueTypeDataFieldNames) => {\r\n chartData.value = generalTools.useTransformChartDataByAttrValue(data, dataFieldNames)\r\n }\r\n const handleIndicatorData = async () => {\r\n try {\r\n const indicatorData = useIndicatorData({\r\n graphicConfig: unref(graphicConfig.value),\r\n type: unref(chartsOptions.value)?.type,\r\n request,\r\n indicatorToken\r\n })\r\n loading.value = true\r\n const res = await indicatorData()\r\n const { columns = [], rows = [] } = res?.data?.data ?? {}\r\n if (unref(chartsOptions.value)?.type === 'pie') {\r\n let arr = []\r\n if (columns.length > 0) {\r\n const name = columns[0]\r\n const value = columns[1]\r\n arr = rows.map((item) => {\r\n return {\r\n name: item[name],\r\n value: item[value]\r\n }\r\n })\r\n }\r\n handleIndicatorPieDataset(arr)\r\n } else {\r\n let fieldNames\r\n if (columns.length > 0) {\r\n fieldNames = {\r\n name: columns[0],\r\n types: columns.slice(1).map((column) => {\r\n return {\r\n label: column,\r\n value: column\r\n }\r\n })\r\n }\r\n }\r\n handleIndicatorDataset(rows, fieldNames, true)\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false\r\n }\r\n }\r\n const emptyOption = {\r\n title: {\r\n text: '暂无数据',\r\n x: 'center',\r\n y: 'center',\r\n textStyle: {\r\n fontSize: 14,\r\n fontWeight: 'normal'\r\n }\r\n }\r\n }\r\n const setChartOption = () => {\r\n const isEmpty = unref(chartData).dataset.length === 0\r\n if (isEmpty) {\r\n myChart.value.setOption(emptyOption, true)\r\n } else {\r\n myChart.value.setOption(chartOption.value, true)\r\n }\r\n }\r\n const refreshData = () => {\r\n if (unref(chartsOptions.value).type !== 'customGraph') {\r\n handleIndicatorData()\r\n }\r\n }\r\n const handleResize = () => {\r\n myChart.value?.resize()\r\n }\r\n watch(\r\n chartOption,\r\n () => {\r\n setChartOption()\r\n },\r\n {\r\n deep: true\r\n }\r\n )\r\n watch(\r\n () => unref(chartsOptions.value).optionCode,\r\n (optionCode: string) => {\r\n try {\r\n // eslint-disable-next-line\r\n const evalCopy = eval\r\n myOption.value = evalCopy(optionCode)\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n )\r\n onMounted(() => {\r\n if (chartWrapRef.value) {\r\n observer = new ResizeObserver(handleResize)\r\n observer.observe(chartWrapRef.value)\r\n }\r\n myChart.value = echarts.init(echartRef.value)\r\n })\r\n onBeforeUnmount(() => {\r\n myChart.value.dispose()\r\n if (observer) {\r\n observer.disconnect()\r\n observer = null\r\n }\r\n })\r\n expose({\r\n refreshData\r\n })\r\n return {\r\n echartRef,\r\n loading\r\n }\r\n }\r\n})\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.ecan-chart-graph {\r\n width: 100%;\r\n height: 100%;\r\n .chart-spin {\r\n width: 100%;\r\n height: 100%;\r\n :deep(.ant-spin-container) {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"ecan-chart-graph\" ref=\"chartWrapRef\">\r\n <a-spin :spinning=\"loading\" wrapperClassName=\"chart-spin\" tip=\"数据加载中...\">\r\n <div style=\"width: 100%; height: 100%\" ref=\"echartRef\"></div>\r\n </a-spin>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport * as echarts from 'echarts'\r\nimport { defineComponent, onMounted, onBeforeUnmount, computed, ref, inject, unref, watch } from 'vue'\r\nimport { Spin as ASpin } from 'ant-design-vue'\r\nimport useIndicatorData from '@/hooks/useIndicatorData'\r\nimport * as generalTools from '@ecan-bi/tools'\r\nimport { CHARTS_OPTIONS, GRAPHIC_CONFIG, ZOOM_FONT_SIZE, REQUEST, INDICATOR_TOKEN } from '@/utils/constant'\r\nexport default defineComponent({\r\n name: 'ChartGraph',\r\n components: {\r\n ASpin\r\n },\r\n props: {\r\n graphicConfig: {\r\n // 指标库配置\r\n type: Object,\r\n default: () => {}\r\n },\r\n chartsOptions: {\r\n // 图表配置\r\n type: Object,\r\n default: () => {}\r\n }\r\n },\r\n setup (props, { expose }) {\r\n interface KeyTypeDataFieldNames {\r\n name: string\r\n types: {\r\n label: string\r\n value: string\r\n } []\r\n }\r\n\r\n interface ValueTypeDataFieldNames {\r\n name: string\r\n value: string\r\n type: string\r\n }\r\n\r\n const chartsOptions = computed(() => {\r\n if (props.chartsOptions) {\r\n return unref(props.chartsOptions)\r\n } else {\r\n return chartGraphicOptions as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const graphicConfig = computed(() => {\r\n if (props.graphicConfig) {\r\n return unref(props.graphicConfig)\r\n } else {\r\n return chartGraphicConfig as {\r\n [key: string]: any\r\n }\r\n }\r\n })\r\n const request = inject(REQUEST)\r\n let observer: ResizeObserver | null = null\r\n const indicatorToken = inject(INDICATOR_TOKEN) || ''\r\n const chartGraphicConfig = inject(GRAPHIC_CONFIG) || {}\r\n const chartGraphicOptions = inject(CHARTS_OPTIONS) || {}\r\n const echartRef = ref<HTMLElement>(null)\r\n const chartWrapRef = ref<HTMLElement>(null)\r\n const myChart = ref<any>()\r\n const loading = ref(false)\r\n const visible = ref(false)\r\n const fontSize = computed(() => (visible.value ? ZOOM_FONT_SIZE : 12))\r\n const chartData = ref<any>({})\r\n const myOption = ref()\r\n const chartOption = computed(() => {\r\n // 这样写为了触发响应式\r\n const chartsOptionsValue = unref(chartsOptions.value)\r\n if (chartsOptionsValue?.type === 'customGraph') {\r\n return myOption.value\r\n }\r\n return generalTools.transformProps(chartsOptionsValue, unref(chartData), fontSize.value)\r\n })\r\n const handleIndicatorDataset = (\r\n data: any = [],\r\n keyTypeDataFieldNames: KeyTypeDataFieldNames,\r\n useDataFieldNames: boolean = false\r\n ) => {\r\n const dataFieldNames = useDataFieldNames ? keyTypeDataFieldNames : null\r\n chartData.value = generalTools.useTransformChartDataByAttrKey(data, dataFieldNames)\r\n }\r\n const handleIndicatorPieDataset = (data: any = [], dataFieldNames?: ValueTypeDataFieldNames) => {\r\n chartData.value = generalTools.useTransformChartDataByAttrValue(data, dataFieldNames)\r\n }\r\n const handleIndicatorData = async () => {\r\n try {\r\n const indicatorData = useIndicatorData({\r\n graphicConfig: unref(graphicConfig.value),\r\n type: unref(chartsOptions.value)?.type,\r\n request,\r\n indicatorToken\r\n })\r\n loading.value = true\r\n const res = await indicatorData()\r\n const { columns = [], rows = [] } = res?.data?.data ?? {}\r\n if (unref(chartsOptions.value)?.type === 'pie') {\r\n let arr = []\r\n if (columns.length > 0) {\r\n const name = columns[0]\r\n const value = columns[1]\r\n arr = rows.map((item) => {\r\n return {\r\n name: item[name],\r\n value: item[value]\r\n }\r\n })\r\n }\r\n handleIndicatorPieDataset(arr)\r\n } else {\r\n let fieldNames\r\n if (columns.length > 0) {\r\n fieldNames = {\r\n name: columns[0],\r\n types: columns.slice(1).map((column) => {\r\n return {\r\n label: column,\r\n value: column\r\n }\r\n })\r\n }\r\n }\r\n handleIndicatorDataset(rows, fieldNames, true)\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false\r\n }\r\n }\r\n const emptyOption = {\r\n title: {\r\n text: '暂无数据',\r\n x: 'center',\r\n y: 'center',\r\n textStyle: {\r\n fontSize: 14,\r\n fontWeight: 'normal'\r\n }\r\n }\r\n }\r\n const setChartOption = () => {\r\n const isEmpty = unref(chartData).dataset.length === 0\r\n if (isEmpty) {\r\n myChart.value.setOption(emptyOption, true)\r\n } else {\r\n myChart.value.setOption(chartOption.value, true)\r\n }\r\n }\r\n const refreshData = () => {\r\n if (unref(chartsOptions.value).type !== 'customGraph') {\r\n handleIndicatorData()\r\n }\r\n }\r\n const handleResize = () => {\r\n myChart.value?.resize()\r\n }\r\n watch(\r\n chartOption,\r\n () => {\r\n setChartOption()\r\n },\r\n {\r\n deep: true\r\n }\r\n )\r\n watch(\r\n () => unref(chartsOptions.value).optionCode,\r\n (optionCode: string) => {\r\n try {\r\n // eslint-disable-next-line\r\n const evalCopy = eval\r\n myOption.value = evalCopy(optionCode)\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n )\r\n onMounted(() => {\r\n if (chartWrapRef.value) {\r\n observer = new ResizeObserver(handleResize)\r\n observer.observe(chartWrapRef.value)\r\n }\r\n myChart.value = echarts.init(echartRef.value)\r\n })\r\n onBeforeUnmount(() => {\r\n myChart.value.dispose()\r\n if (observer) {\r\n observer.disconnect()\r\n observer = null\r\n }\r\n })\r\n expose({\r\n refreshData\r\n })\r\n return {\r\n echartRef,\r\n loading\r\n }\r\n }\r\n})\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.ecan-chart-graph {\r\n width: 100%;\r\n height: 100%;\r\n .chart-spin {\r\n width: 100%;\r\n height: 100%;\r\n :deep(.ant-spin-container) {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n</style>\r\n","import { withInstall } from '@/utils/withInstall'\r\nimport ChartGraph from './ChartGraph.vue'\r\nexport const EcanChartGraph = withInstall(ChartGraph)\r\nexport default EcanChartGraph\r\n","import { App } from 'vue'\nimport * as components from './components'\nconst install = (app: App, options: any) => {\n const { request } = options\n app.provide('$request', request)\n Object.keys(components).forEach((key) => {\n const component = components[key]\n if (component.install) {\n app.use(component)\n }\n })\n}\n\n// 部分导出\nexport * from './components'\n// 全局安装\nexport default {\n install\n}\n"],"names":["withInstall","comp","app","REQUEST","INDICATOR_URL","_a","INDICATOR_TOKEN","DATA_LIST","SELECTED_COMPONENT","GRAPHIC_CONFIG","UPDATE_GRAPHIC_CONFIG","SHOW_STYLE_CONFIG","REFRESH_DATA","CHARTS_OPTIONS","TABLE_OPTIONS","ZOOM_FONT_SIZE","UPDATE_CHARTS_OPTIONS","UPDATE_TABLE_OPTIONS","SOURCE_TYPE","CHANGE_CONDITION","DATA_VIEW_COLUMNS","RENDER_USED_COMPONENTS","UPDATE_USED_COMPONENT","UPDATE_COMPONENTS_CONFIG","MAP_ATTRIBUTE_PROPS","PAGE_CONFIG","IS_PIVOT_TABLE","IS_IFRAME_MODE","barProps","lineProps","pieProps","customGraphProps","comboGraphProps","propsMap","tableProps","loadAsyncComponent","loader","defineAsyncComponent","e","n","o","r","i","a","l","s","c","u","p","d","f","h","y","t","b","m","g","v","x","w","S","A","_","j","O","C","$","oe","L","T","N","k","D","M","E","I","F","V","z","R","P","U","Y","G","W","ne","H","Q","B","K","q","X","Z","ee","te","re","ie","ae","le","se","ce","ue","de","fe","pe","he","ye","me","be","ge","ve","xe","we","Se","Ae","_e","je","Oe","Ce","Le","Te","Ne","$e","ke","De","Me","Ee","Ie","Fe","Ve","ze","Re","Ue","Pe","Ge","Ye","We","He","Be","Ke","qe","Qe","Je","Xe","Ze","et","tt","nt","ot","rt","it","at","lt","st","ct","ut","dt","ft","pt","ht","yt","mt","bt","gt","vt","xt","wt","St","At","_t","jt","Ot","Ct","Lt","Tt","Nt","$t","kt","Dt","Mt","Et","It","Ft","Vt","zt","Rt","Ut","Pt","Gt","Yt","Wt","Ht","Bt","Kt","qt","Qt","Jt","Xt","Zt","en","tn","nn","on","rn","an","ln","sn","cn","un","dn","fn","pn","hn","yn","mn","bn","gn","xn","wn","An","_n","jn","Ln","On","Cn","Mn","kn","Tn","$n","Nn","Dn","En","J","In","Fn","Vn","zn","Rn","Un","Pn","Gn","Yn","getConditions","conditions","result","item","getSqlConditions","graphicConfig","renderUsedComponents","controlList","cloneDeep","classificationList","rowHeaderList","dimensionList","seriesList","leftAxisList","rightAxisList","queryColumnList","indicators","handleControlList","sqlConditions","otherList","conditionList","ol","list","getComponent","target","params","cItem","len","control","id","keyName","prop","dateFormat","dataType","customValue","sqlCondition","getConditionItem","setFieldValue","handleVariableList","variableList","handleVarList","variableItem","conditionLabel","conditionKey","conditionValueType","rule","notGlobal","indexCode","indexCodeNum","typeGuid","alias","excludeAttr","key","attr","data","operateValue","operateMode","operateType","component","unref","value","format","operate","type","useCurrentTime","customFormat","lowerCaseIncludes","dateValue","dayjs","mode","opType","opValue","interval","intervalUnit","startTime","endTime","propValue","knList","_time","step","getFormatStep","variables","getEventName","event","componentList","dateList","formatStep","handleFormat","row","retentiondigit","str","formatQfw","str1","str2","index","mapScope","scope","mapDataSetScope","getLoadType","getUseType","getSourceType","dataTo","_sfc_main$1","defineComponent","props","expose","emit","dataConfigRef","ref","isUpdate","sourceType","computed","indicatorToken","usedComponentList","tableColumns","isShowStyleConfig","isPivotTable","_b","chartsOptions","tableOptions","dataList","setDataList","updateGraphicConfig","config","updateChartsOptions","options","isMerge","updateTableOptions","getDataList","updateIndicatorData","nextTick","getIndicatorData","getPivotGraphicData","provide","updateUsedComponent","updateComponentsConfig","ids","_hoisted_1","_hoisted_2","_component_data_config","_resolveComponent","_ctx","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_normalizeClass","EcanIndicatorLibrary","IndicatorLibrary","useIndicatorData","handleQueryColumn","queryColumn","label","name","location","show","handleParams","hasOwn","handleConditions","isSameLevel","cs","handleIndicator","indicator","calcType","builtInFormula","builtInValueSource","builtInCalcWay","formula","aggregate","conditionData","request","isGroupTable","source","dataViewId","plugin","layer","chartType","dataSourceId","idxLibMode","preview","classification","sort","customGroup","series","rowHeaders","queryColumns","indicatorList","leftAxis","rightAxis","_sfc_main","ASpin","chartGraphicOptions","chartGraphicConfig","inject","observer","echartRef","chartWrapRef","myChart","loading","visible","fontSize","chartData","myOption","chartOption","chartsOptionsValue","generalTools.transformProps","handleIndicatorDataset","keyTypeDataFieldNames","useDataFieldNames","dataFieldNames","generalTools.useTransformChartDataByAttrKey","handleIndicatorPieDataset","generalTools.useTransformChartDataByAttrValue","handleIndicatorData","indicatorData","res","columns","rows","_c","arr","fieldNames","column","emptyOption","setChartOption","refreshData","handleResize","watch","optionCode","evalCopy","onMounted","echarts","onBeforeUnmount","_component_a_spin","_createVNode","EcanChartGraph","ChartGraph","install","components"],"mappings":"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","x_google_ignoreList":[10]}