diff --git a/frontend/src/components/DeDrag/index.vue b/frontend/src/components/DeDrag/index.vue
index b08dd10341..91a53a6c3b 100644
--- a/frontend/src/components/DeDrag/index.vue
+++ b/frontend/src/components/DeDrag/index.vue
@@ -1448,7 +1448,7 @@ export default {
},
// 记录当前样式
recordCurStyle() {
- debugger
+ // debugger
const style = {
...this.defaultStyle
}
diff --git a/frontend/src/components/dataease/DeOutWidget.vue b/frontend/src/components/dataease/DeOutWidget.vue
index a5c0c646ba..223b91fd83 100644
--- a/frontend/src/components/dataease/DeOutWidget.vue
+++ b/frontend/src/components/dataease/DeOutWidget.vue
@@ -13,7 +13,7 @@
-
+
+
+
+
+
+
+
+
+
+
+ {{ node.label }}
+ {{ node.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/components/widget/serviceImpl/NumberRangeServiceImpl.js b/frontend/src/components/widget/serviceImpl/NumberRangeServiceImpl.js
index afccc8e5eb..4ac1d4b687 100644
--- a/frontend/src/components/widget/serviceImpl/NumberRangeServiceImpl.js
+++ b/frontend/src/components/widget/serviceImpl/NumberRangeServiceImpl.js
@@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-zuoce-qujian',
label: 'denumberrange.label',
- defaultClass: 'text-filter'
+ defaultClass: 'tree-filter'
}
const dialogPanel = {
@@ -15,7 +15,7 @@ const dialogPanel = {
},
value: ''
},
- defaultClass: 'text-filter',
+ defaultClass: 'tree-filter',
component: 'de-number-range'
}
const drawPanel = {
diff --git a/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js b/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js
new file mode 100644
index 0000000000..d7dba70e8c
--- /dev/null
+++ b/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js
@@ -0,0 +1,81 @@
+
+import { WidgetService } from '../service/WidgetService'
+
+const leftPanel = {
+ icon: 'iconfont icon-xialakuang',
+ label: 'denumbergridselect.label',
+ defaultClass: 'tree-filter'
+}
+
+const dialogPanel = {
+ options: {
+ attrs: {
+ multiple: false,
+ placeholder: 'denumbergridselect.placeholder',
+ viewIds: [],
+ datas: [],
+ key: 'id',
+ label: 'text',
+ value: 'id'
+ },
+ value: ''
+ },
+ defaultClass: 'tree-filter',
+ component: 'de-select-grid'
+}
+const drawPanel = {
+ type: 'custom',
+ style: {
+ width: 300,
+ height: 300,
+ fontSize: 14,
+ fontWeight: 500,
+ lineHeight: '',
+ letterSpacing: 0,
+ textAlign: '',
+ color: ''
+ },
+ component: 'de-select-grid'
+}
+
+class NumberSelectGridServiceImpl extends WidgetService {
+ constructor(options = {}) {
+ Object.assign(options, { name: 'numberSelectGridWidget' })
+ super(options)
+ this.filterDialog = true
+ this.showSwitch = true
+ }
+
+ initLeftPanel() {
+ const value = JSON.parse(JSON.stringify(leftPanel))
+ return value
+ }
+
+ initFilterDialog() {
+ const value = JSON.parse(JSON.stringify(dialogPanel))
+ return value
+ }
+
+ initDrawPanel() {
+ const value = JSON.parse(JSON.stringify(drawPanel))
+ return value
+ }
+
+ filterFieldMethod(fields) {
+ return fields.filter(field => {
+ return field['deType'] === 2
+ })
+ }
+
+ optionDatas(datas) {
+ if (!datas) return null
+ return datas.filter(item => !!item).map(item => {
+ return {
+ id: item,
+ text: item
+ }
+ })
+ }
+}
+const numberSelectGridServiceImpl = new NumberSelectGridServiceImpl()
+export default numberSelectGridServiceImpl
diff --git a/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js b/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js
index 6eb7345df4..311bfb8cc0 100644
--- a/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js
+++ b/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js
@@ -4,7 +4,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-xialakuang',
label: 'denumberselect.label',
- defaultClass: 'text-filter'
+ defaultClass: 'tree-filter'
}
const dialogPanel = {
@@ -19,7 +19,7 @@ const dialogPanel = {
},
value: ''
},
- defaultClass: 'text-filter',
+ defaultClass: 'tree-filter',
component: 'de-select'
}
const drawPanel = {
diff --git a/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js
new file mode 100644
index 0000000000..ba5933e468
--- /dev/null
+++ b/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js
@@ -0,0 +1,81 @@
+
+import { WidgetService } from '../service/WidgetService'
+
+const leftPanel = {
+ icon: 'iconfont icon-xialakuang',
+ label: 'detextgridselect.label',
+ defaultClass: 'text-filter'
+}
+
+const dialogPanel = {
+ options: {
+ attrs: {
+ multiple: false,
+ placeholder: 'detextgridselect.placeholder',
+ viewIds: [],
+ datas: [],
+ key: 'id',
+ label: 'text',
+ value: 'id'
+ },
+ value: ''
+ },
+ defaultClass: 'text-filter',
+ component: 'de-select-grid'
+}
+const drawPanel = {
+ type: 'custom',
+ style: {
+ width: 300,
+ height: 300,
+ fontSize: 14,
+ fontWeight: 500,
+ lineHeight: '',
+ letterSpacing: 0,
+ textAlign: '',
+ color: ''
+ },
+ component: 'de-select-grid'
+}
+
+class TextSelectGridServiceImpl extends WidgetService {
+ constructor(options = {}) {
+ Object.assign(options, { name: 'textSelectGridWidget' })
+ super(options)
+ this.filterDialog = true
+ this.showSwitch = true
+ }
+
+ initLeftPanel() {
+ const value = JSON.parse(JSON.stringify(leftPanel))
+ return value
+ }
+
+ initFilterDialog() {
+ const value = JSON.parse(JSON.stringify(dialogPanel))
+ return value
+ }
+
+ initDrawPanel() {
+ const value = JSON.parse(JSON.stringify(drawPanel))
+ return value
+ }
+
+ filterFieldMethod(fields) {
+ return fields.filter(field => {
+ return field['deType'] === 0
+ })
+ }
+
+ optionDatas(datas) {
+ if (!datas) return null
+ return datas.filter(item => !!item).map(item => {
+ return {
+ id: item,
+ text: item
+ }
+ })
+ }
+}
+const textSelectGridServiceImpl = new TextSelectGridServiceImpl()
+export default textSelectGridServiceImpl
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index c44b93e7c6..4f066ccb41 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -1314,6 +1314,14 @@ export default {
label: 'Text selector',
placeholder: 'Please select'
},
+ detextgridselect: {
+ label: 'Text list',
+ placeholder: 'Please select'
+ },
+ denumbergridselect: {
+ label: 'Number list',
+ placeholder: 'Please select'
+ },
dedaterange: {
label: 'Date range',
to_placeholder: 'End date',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index c8ab685e18..1988595b91 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -1314,6 +1314,14 @@ export default {
label: '文本下拉',
placeholder: '請選擇'
},
+ detextgridselect: {
+ label: '文本列表',
+ placeholder: '請選擇'
+ },
+ denumbergridselect: {
+ label: '數字列表',
+ placeholder: '請選擇'
+ },
dedaterange: {
label: '日期範圍',
to_placeholder: '結束日期',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index 42d6515b09..6be5e817eb 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -1316,6 +1316,14 @@ export default {
label: '文本下拉',
placeholder: '请选择'
},
+ detextgridselect: {
+ label: '文本列表',
+ placeholder: '请选择'
+ },
+ denumbergridselect: {
+ label: '数字列表',
+ placeholder: '请选择'
+ },
dedaterange: {
label: '日期范围',
to_placeholder: '结束日期',
diff --git a/frontend/src/views/panel/filter/index.vue b/frontend/src/views/panel/filter/index.vue
index 7059877c8b..8f4a442542 100644
--- a/frontend/src/views/panel/filter/index.vue
+++ b/frontend/src/views/panel/filter/index.vue
@@ -51,10 +51,12 @@ export default {
],
'文本过滤组件': [
'textSelectWidget',
+ 'textSelectGridWidget',
'textInputWidget'
],
'数字过滤组件': [
'numberSelectWidget',
+ 'numberSelectGridWidget',
'numberRangeWidget'
]
// '按钮': [
@@ -202,7 +204,8 @@ export default {
.tree-filter:hover {
background-color: #37b4aa;
.filter-widget-icon {
- color: #37b4aa;
+ background-color: #37b4aa;
+ color: #fff;
}
.filter-widget-text {
color: #fff;
diff --git a/frontend/src/views/system/task/dataset.vue b/frontend/src/views/system/task/dataset.vue
index 2198ee8fda..62b3f359ac 100644
--- a/frontend/src/views/system/task/dataset.vue
+++ b/frontend/src/views/system/task/dataset.vue
@@ -1,7 +1,7 @@
-
+