diff --git a/src/packages/components/Charts/Mores/Funnel/config.ts b/src/packages/components/Charts/Mores/Funnel/config.ts
new file mode 100644
index 00000000..d34bce3e
--- /dev/null
+++ b/src/packages/components/Charts/Mores/Funnel/config.ts
@@ -0,0 +1,63 @@
+import { echartOptionProfixHandle, publicConfig } from '@/packages/public'
+import { FunnelConfig } from './index'
+import { CreateComponentType } from '@/packages/index.d'
+import cloneDeep from 'lodash/cloneDeep'
+import dataJson from './data.json'
+
+export const includes = ['legend']
+
+// 排序枚举
+export const FunnelOrderEnumList = [
+ { label: '倒三角', value: 'descending' },
+ { label: '正三角', value: 'ascending' }
+]
+// 标签位置枚举
+export const FunnelLabelPositionEnumList = [
+ { label: '内部', value: 'inside' },
+ { label: '外部', value: 'outside' },
+ { label: '内部左侧', value: 'insideLeft' },
+ { label: '内部右侧', value: 'insideRight' }
+]
+
+const option = {
+ tooltip: {},
+ legend: {},
+ dataset: { ...dataJson },
+ series: [
+ {
+ name: 'Funnel',
+ type: 'funnel',
+ left: '10%',
+ width: '80%',
+ bottom: 10,
+ min: 0,
+ max: 100,
+ minSize: '0%',
+ maxSize: '100%',
+ sort: 'descending', // descending | ascending
+ gap: 5,
+ label: {
+ show: true,
+ position: 'inside',
+ fontSize: 12
+ },
+ itemStyle: {
+ borderColor: '#fff',
+ borderWidth: 0
+ },
+ emphasis: {
+ label: {
+ fontSize: 20
+ }
+ }
+ }
+ ]
+}
+
+export default class Config extends publicConfig implements CreateComponentType {
+ public key: string = FunnelConfig.key
+ public chartConfig = cloneDeep(FunnelConfig)
+
+ // 图表配置项
+ public option = echartOptionProfixHandle(option, includes)
+}
diff --git a/src/packages/components/Charts/Mores/Funnel/config.vue b/src/packages/components/Charts/Mores/Funnel/config.vue
index 44a7bc22..6586f9b9 100644
--- a/src/packages/components/Charts/Mores/Funnel/config.vue
+++ b/src/packages/components/Charts/Mores/Funnel/config.vue
@@ -1,6 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 标签
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/packages/components/Charts/Mores/Funnel/data.json b/src/packages/components/Charts/Mores/Funnel/data.json
new file mode 100644
index 00000000..3aba79d9
--- /dev/null
+++ b/src/packages/components/Charts/Mores/Funnel/data.json
@@ -0,0 +1,10 @@
+{
+ "dimensions": ["product", "2015"],
+ "source": [
+ { "product": "Matcha Latte", "2015": 20 },
+ { "product": "Milk Tea", "2015": 40 },
+ { "product": "Cheese Cocoa", "2015": 60 },
+ { "product": "Walnut Brownie", "2015": 80 },
+ { "product": "Walnut", "2015": 100 }
+ ]
+}
diff --git a/src/packages/components/Charts/Mores/Funnel/index.vue b/src/packages/components/Charts/Mores/Funnel/index.vue
index 31fe77be..45726ae2 100644
--- a/src/packages/components/Charts/Mores/Funnel/index.vue
+++ b/src/packages/components/Charts/Mores/Funnel/index.vue
@@ -1,13 +1,41 @@
-
- 水波
-
+
-
-
\ No newline at end of file