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 @@