@ecan-bi/indicator-library 1.1.23 → 1.1.25
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.
- package/dist/DrillModal-3f5a0070-e4053b53.mjs +1 -1
- package/dist/assets/editor.worker-02df2e61.js +1 -1
- package/dist/assets/json.worker-867823a6.js +1 -1
- package/dist/assets/ts.worker-7254b425.js +1 -1
- package/dist/{index-ea361874.mjs → index-43aedc2c.mjs} +2190 -2130
- package/dist/index-43aedc2c.mjs.map +1 -0
- package/dist/{index-33bb1525.mjs → index-493e6933.mjs} +4 -4
- package/dist/{index-33bb1525.mjs.map → index-493e6933.mjs.map} +1 -1
- package/dist/{index-64a2f458.mjs → index-a3448397.mjs} +960 -956
- package/dist/index-a3448397.mjs.map +1 -0
- package/dist/index.es-7e69466e.mjs +1 -1
- package/dist/index.es.js +2 -2
- package/dist/index.umd.js +57 -57
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +2 -2
- package/dist/{util-a50e0b7f.mjs → util-3dea94a1.mjs} +3 -3
- package/dist/{util-a50e0b7f.mjs.map → util-3dea94a1.mjs.map} +1 -1
- package/package.json +2 -2
- package/types/indicator/indicator-library/data-config/data-config-group/data-config-card/DataConfigCard.vue.d.ts +6 -0
- package/types/indicator/indicator-library/data-config/data-config-group/data-config-card/calculation-modal/CalculationModal.vue.d.ts +9 -0
- package/types/indicator/indicator-library/data-config/data-config-group/data.d.ts +3 -0
- package/dist/index-64a2f458.mjs.map +0 -1
- package/dist/index-ea361874.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-64a2f458.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","../src/indicator/indicator-library/IndicatorLibrary.vue","../src/indicator/indicator-library/IndicatorLibrary.vue","../src/indicator/indicator-library/index.ts","../node_modules/@ecan-bi/tools/lib/index.es.js","../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","<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\" />\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'\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 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 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\" />\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'\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 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 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","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,\" \")),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=[]}=e;$n(t);const d=[...n,...o,...r,...i,...a,...l,...s,...c,...u],f=[];for(const e of d){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)f.find((e=>e.keyName===t.keyName))||f.push(t)}}const p=f.length,h=t;for(let e=0;e<p;e++){const t=f[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||\"\"),h.push(u)}for(let e=h.length-1;e>=0;e--){const t=h[e];if(!t.globalCondition){bn(h).find((e=>e.alias===t.alias&&e.globalCondition))&&h.splice(e,1)}}return h};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:$=[],controlList:k=[],formFields:D={},variableList:M=[],variableConditions:E=[],dataSourceId:I=\"\",idxLibMode:F,preview:V=!1,edvDataSetId:z,compositeIndicator:R}=d||{},U=[];if(\"design\"===(null==d?void 0:d.pageMode)?(U=(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==E?void 0:E.length)&&(U=U.concat(E))):(U=Tn(d),(null==M?void 0:M.length)&&(U=U.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}(M)))),null==U?void 0:U.length){const e=U.filter((e=>e.globalCondition)),t=U.filter((e=>!e.globalCondition));(null==e?void 0:e.length)>1&&(U=[{join:\"&&\",conditions:e},...t])}(null==U?void 0:U.length)&&(U=On(U,\"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 P=[];let G,Y=\"\";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){Y=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;P.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){G={label:o.trim(),columnName:r,show:i,sort:Dn(a),customGroup:l,conditions:On(s),typeGuid:c},u?G.dateFormat=u:\"the_date\"===r&&(G.dateFormat=\"YYYY-MM-DD\");break}}}const W=[];null==C||C.forEach((e=>{e.location=\"LEFT\",W.push(Cn(e,b))})),null==L||L.forEach((e=>{e.location=\"RIGHT\",W.push(Cn(e,b))}));let H=$;(null==n?void 0:n.pivotTableCal)&&(H=(null===(i=n.pivotTableCal)||void 0===i?void 0:i.indicators)||[]),null==H||H.forEach((e=>{e.location=\"LEFT\",W.push(Cn(e,b))}));const B=[];[\"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=W.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\"),B.push(p)}));const K=[];[\"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),K.push(t)}));let q=[],Q=[];if(Array.isArray(_)&&_.length>0?Q=_:Array.isArray(j)&&j.length>0&&(Q=j),null==Q?void 0:Q.length){const e=Q.length;for(let t=0;t<e;t++){const e=Q[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=W.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),q.push(h)}}let J,X=[];const Z=[];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(W.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}(k);for(const o of r){const{type:r}=o,i=e(o,[\"type\"]);\"indicators\"===r?t=W:\"dimension\"===r&&(t=B);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,Z.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=B.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=W,J=r):\"dimension\"===o&&(t=B);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=B.find((t=>t.label===e));t&&(null===(c=l[e])||void 0===c?void 0:c.length)&&(t.aggregateMethod=l[e])}q=[],X=[];for(const e of B)u.includes(e.columnName)?q.push(e):d.includes(e.columnName)&&X.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\"),h||\"card\"===f){if(0===q.length||0===W.length)return;S=\"grouptable\"}else{if(\"1\"===w&&!B.length&&!K.length)return;if([\"2\",\"4\"].includes(w)&&0===W.length)return;if(!(\"3\"!==w||(Y||\"EDV_DATA_SET\"===g)&&D.labelField&&D.valueField))return;if(\"3\"===w&&\"ecanDataSelect\"===f&&0===W.length)return}let ee;if((null==j?void 0:j.length)&&(w=\"1\",S=\"grouptable\"),m||yn(f,[\"scatter\",\"valueline\"])||!(null===(u=Object.keys(D))||void 0===u?void 0:u.length)){let e={};e=yn(f,[\"scatter\",\"valueline\"])?{classifications:P}:{classification:b},(null==K?void 0:K.length)&&(e.indexLibColumns=K,e.isIndexSet=!0),yn(f,\"table\")&&d.isIndexSet&&(e.compositeIndicator=R);const n=U.map((e=>{const{fieldValue:t}=e,n={};return t&&Array.isArray(t)&&(n.fieldValue=JSON.stringify(t)),Object.assign(Object.assign({},e),n)}));(null==Z?void 0:Z.length)&&function e(t){for(const n of t)if(n.sqlConditions)e(n.sqlConditions);else if(\"the_date\"===n.fieldName){const e=Z.find((e=>e.prop===n.prop));e&&(n.fieldValue=e.fieldValue)}}(n),ee=Object.assign({url:\"/diagram\",source:g,dataViewId:v,plugin:m?\"5\":x,layer:w,chartType:m?\"pivot-table\":S,series:G,indicatorList:W,queryColumns:h?[]:B,pageFlag:!0,edvDataSetId:z||\"\",sqlConditions:n,idxLibMode:F,dataSourceId:I,preview:V,rowHeaders:q,keyName:t.keyName,columnData:J,columnHeaders:X},e)}else{const e=bn(k).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=W.filter((e=>e.show))),\"EDV_DATA_SET\"===g&&(n.edvDataSetId=z),(null==b?void 0:b.sort)&&(n.sort=b.sort);let o=\"normalSelect\";\"ecanDataSelect\"===f?o=\"normalSelectData\":\"ecanTreeSelect\"===f&&(o=\"treeSelect\"),ee=Object.assign({url:\"/diagram/formData\",source:g,dataViewId:v,plugin:\"4\",layer:w,chartType:\"ecanTreeSelect\"===f?\"treeSelect\":\"normalSelect\",rangeIndexTypeGuid:Y,type:o,labelField:D.labelField,valueField:D.valueField,parentField:D.parentField,sqlConditions:U,idxLibMode:\"WITH_DATE_DIM_TABLE\",dataSourceId:I,keyName:t.keyName},n)}return ee},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 { 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","_sfc_main$1","defineComponent","props","expose","emit","dataConfigRef","ref","isUpdate","sourceType","computed","indicatorToken","component","usedComponentList","tableColumns","unref","isShowStyleConfig","isPivotTable","_b","graphicConfig","cloneDeep","chartsOptions","tableOptions","dataList","setDataList","list","updateGraphicConfig","config","updateChartsOptions","options","isMerge","updateTableOptions","getDataList","updateIndicatorData","nextTick","getIndicatorData","getPivotGraphicData","provide","updateUsedComponent","data","updateComponentsConfig","ids","controlList","_hoisted_1","_hoisted_2","_component_data_config","_resolveComponent","_ctx","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_normalizeClass","EcanIndicatorLibrary","IndicatorLibrary","e","t","n","o","r","i","a","l","s","c","u","p","d","f","h","y","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","Sn","An","_n","jn","Ln","On","Cn","Mn","kn","Tn","$n","Nn","Dn","En","J","In","Fn","Vn","zn","Rn","Un","Pn","Gn","Yn","useIndicatorData","handleQueryColumn","queryColumn","label","name","location","show","indexCode","typeGuid","handleParams","params","hasOwn","handleConditions","result","item","isSameLevel","cs","index","handleIndicator","indicator","calcType","builtInFormula","builtInValueSource","builtInCalcWay","formula","conditions","aggregate","conditionData","type","request","isGroupTable","source","dataViewId","plugin","layer","chartType","classificationList","seriesList","leftAxisList","rightAxisList","queryColumnList","indicators","dataSourceId","idxLibMode","preview","sqlConditions","rowHeaderList","lowerCaseIncludes","classification","len","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","value","fieldNames","column","emptyOption","setChartOption","refreshData","handleResize","watch","optionCode","evalCopy","onMounted","echarts","onBeforeUnmount","_component_a_spin","_createVNode","EcanChartGraph","ChartGraph","install","components","key"],"mappings":"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","x_google_ignoreList":[13]}
|