diff --git a/extensions/dataease-extensions-view/view-3dpie/view-3dpie-frontend/src/views/highcharts/3dpie/data.vue b/extensions/dataease-extensions-view/view-3dpie/view-3dpie-frontend/src/views/highcharts/3dpie/data.vue index bb5254c686..cbeeb01e47 100644 --- a/extensions/dataease-extensions-view/view-3dpie/view-3dpie-frontend/src/views/highcharts/3dpie/data.vue +++ b/extensions/dataease-extensions-view/view-3dpie/view-3dpie-frontend/src/views/highcharts/3dpie/data.vue @@ -71,7 +71,6 @@ - test {{ $t('chart.result_filter') }} 1%", "last 2 versions", "not ie <= 8"] - } - }], - "stage-2" - ], - "plugins": ["transform-vue-jsx", "transform-runtime"] + "presets": ["@babel/preset-env"], + "plugins": ["@babel/plugin-transform-runtime", "@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-object-rest-spread"] } diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/package.json b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/package.json index dd121e3144..a72e2f8d7a 100644 --- a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/package.json +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/package.json @@ -12,8 +12,11 @@ }, "dependencies": { "@antv/g2plot": "^2.4.31", + "@babel/polyfill": "^7.12.1", + "@babel/runtime": "^7.18.9", "@riophae/vue-treeselect": "0.4.0", "lodash": "^4.17.21", + "lodash-es": "^4.17.21", "vue": "2.6.10", "vue-i18n": "7.3.2", "vue-router": "^3.0.1", @@ -22,15 +25,13 @@ "vuex": "3.1.0" }, "devDependencies": { + "@babel/core": "^7.6.4", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-transform-runtime": "^7.6.2", + "@babel/preset-env": "^7.6.3", "autoprefixer": "^7.1.2", - "babel-core": "^6.22.1", - "babel-helper-vue-jsx-merge-props": "^2.0.3", - "babel-loader": "^7.1.1", - "babel-plugin-syntax-jsx": "^6.18.0", - "babel-plugin-transform-runtime": "^6.22.0", - "babel-plugin-transform-vue-jsx": "^3.5.0", - "babel-preset-env": "^1.3.2", - "babel-preset-stage-2": "^6.22.0", + "babel-loader": "^8.0.6", "chalk": "^2.0.1", "copy-webpack-plugin": "^4.6.0", "css-loader": "^0.28.0", diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/FilterTree.vue b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/FilterTree.vue new file mode 100644 index 0000000000..2be1ec02d8 --- /dev/null +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/FilterTree.vue @@ -0,0 +1,122 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/filterFiled.vue b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/filterFiled.vue new file mode 100644 index 0000000000..39549bd051 --- /dev/null +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/filterFiled.vue @@ -0,0 +1,1043 @@ + + + + {{ $t("auth.filter_fields") }} + + + + + + + + + + + {{ item.name }} + + + + + + {{ $t("auth.screen_method") }} + + + + + {{ $t("auth.fixed_value") }} + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ i }} + + + + + + {{ $t("auth.select_all") }} + + + + + {{ $t("auth.added") }}{{ checklist.length }} + + + + {{ $t("auth.manual_input") }} + + + + + + + + {{ $t("auth.close") }} + + + {{ $t("auth.add") }} + + + + + + + + + + + {{ i }} + + + + + + + + {{ $t("auth.sure") }} + + + + + + + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/options.js b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/options.js new file mode 100644 index 0000000000..36a1f426bc --- /dev/null +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/options.js @@ -0,0 +1,24 @@ +function formatEnum(ele) { + return { + value: ele, + label: `chart.filter_${ele.replace(' ', '_')}` + } +} + +const textEnum = ['eq', 'not_eq', 'like', 'not like', 'null', 'not_null', 'empty', 'not_empty'] +const textOptions = textEnum.map(formatEnum) + +const dateEnum = ['eq', 'not_eq', 'lt', 'gt', 'le', 'ge'] +const dateOptions = dateEnum.map(formatEnum) + +const valueEnum = [...dateEnum] +const valueOptions = valueEnum.map(formatEnum) + +const fieldEnum = ['text', 'time', 'value', 'value', '', 'location'] + +export { + textOptions, + dateOptions, + valueOptions, + fieldEnum +} diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/rowAuth.vue b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/rowAuth.vue new file mode 100644 index 0000000000..fb3417d5ad --- /dev/null +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/rowAuth.vue @@ -0,0 +1,348 @@ + + + del(idx)" + @addCondReal="addCondReal" + @removeRelationList="removeRelationList" + @changeAndOrDfs="(type) => changeAndOrDfs(relationList, type)" + :relationList="relationList" + :logic.sync="logic" + @execute-axios="executeAxios" + /> + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/rowTeeAuth.vue b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/rowTeeAuth.vue new file mode 100644 index 0000000000..571ff08028 --- /dev/null +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/components/views/filter/rowTeeAuth.vue @@ -0,0 +1,247 @@ + + + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + AND + OR + + + + + + + + + + + del(idx, item.child)" + @addCondReal="(type, logic) => add(type, item.child, logic)" + v-if="item.child" + :key="index" + :logic="item.logic" + @execute-axios="executeAxios" + @removeRelationList="removeRelationList(index)" + :relationList="item.child" + > + + + + + + + {{ $t('auth.add_condition')}} + + + + {{ $t('auth.add_relationship')}} + + + + + + + + + \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/data.vue b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/data.vue index afdec7fcc6..7904d4b4a5 100644 --- a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/data.vue +++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/data.vue @@ -111,37 +111,33 @@ - {{ $t('chart.result_filter') }} - - - - + {{ $t('chart.result_filter') }} + 已设置 + - - - - {{ $t('chart.placeholder_field') }} - + + + + 过滤 + + @@ -153,8 +149,14 @@ import QuotaExtItem from '../../../components/views/QuotaExtItem' import FilterItem from '../../../components/views/FilterItem' import messages from '@/de-base/lang/messages' import {defaultTo} from "lodash-es" +import FilterTree from '@/components/views/filter/FilterTree.vue' export default { + provide() { + return { + filedList: () => this.filedList + } + }, props: { obj: { type: Object, @@ -171,7 +173,8 @@ export default { DimensionItem, QuotaItem, QuotaExtItem, - FilterItem + FilterItem, + FilterTree }, data() { return { @@ -194,6 +197,9 @@ export default { } }, computed: { + filedList() { + return [...this.dimension, ...this.quota].filter(ele => ele.id !== 'count') + }, param() { return this.obj.param }, @@ -260,6 +266,16 @@ export default { }*/ }, methods: { + changeFilterData(customFilter) { + this.view.customFilter =JSON.parse(JSON.stringify(customFilter)) + this.calcData(true) + }, + openTreeFilter() { + this.$refs.filterTree.init(JSON.parse(JSON.stringify(this.view.customFilter))) + }, + deleteTreeFilter() { + this.changeFilterData({}) + }, executeAxios(url, type, data, callBack) { const param = { url: url, @@ -463,6 +479,49 @@ export default { \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/filterFiled.vue b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/filterFiled.vue new file mode 100644 index 0000000000..39549bd051 --- /dev/null +++ b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/filterFiled.vue @@ -0,0 +1,1043 @@ + + + + {{ $t("auth.filter_fields") }} + + + + + + + + + + + {{ item.name }} + + + + + + {{ $t("auth.screen_method") }} + + + + + {{ $t("auth.fixed_value") }} + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ i }} + + + + + + {{ $t("auth.select_all") }} + + + + + {{ $t("auth.added") }}{{ checklist.length }} + + + + {{ $t("auth.manual_input") }} + + + + + + + + {{ $t("auth.close") }} + + + {{ $t("auth.add") }} + + + + + + + + + + + {{ i }} + + + + + + + + {{ $t("auth.sure") }} + + + + + + + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/options.js b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/options.js new file mode 100644 index 0000000000..36a1f426bc --- /dev/null +++ b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/options.js @@ -0,0 +1,24 @@ +function formatEnum(ele) { + return { + value: ele, + label: `chart.filter_${ele.replace(' ', '_')}` + } +} + +const textEnum = ['eq', 'not_eq', 'like', 'not like', 'null', 'not_null', 'empty', 'not_empty'] +const textOptions = textEnum.map(formatEnum) + +const dateEnum = ['eq', 'not_eq', 'lt', 'gt', 'le', 'ge'] +const dateOptions = dateEnum.map(formatEnum) + +const valueEnum = [...dateEnum] +const valueOptions = valueEnum.map(formatEnum) + +const fieldEnum = ['text', 'time', 'value', 'value', '', 'location'] + +export { + textOptions, + dateOptions, + valueOptions, + fieldEnum +} diff --git a/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/rowAuth.vue b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/rowAuth.vue new file mode 100644 index 0000000000..fb3417d5ad --- /dev/null +++ b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/rowAuth.vue @@ -0,0 +1,348 @@ + + + del(idx)" + @addCondReal="addCondReal" + @removeRelationList="removeRelationList" + @changeAndOrDfs="(type) => changeAndOrDfs(relationList, type)" + :relationList="relationList" + :logic.sync="logic" + @execute-axios="executeAxios" + /> + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/rowTeeAuth.vue b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/rowTeeAuth.vue new file mode 100644 index 0000000000..571ff08028 --- /dev/null +++ b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/components/views/filter/rowTeeAuth.vue @@ -0,0 +1,247 @@ + + + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + AND + OR + + + + + + + + + + + del(idx, item.child)" + @addCondReal="(type, logic) => add(type, item.child, logic)" + v-if="item.child" + :key="index" + :logic="item.logic" + @execute-axios="executeAxios" + @removeRelationList="removeRelationList(index)" + :relationList="item.child" + > + + + + + + + {{ $t('auth.add_condition')}} + + + + {{ $t('auth.add_relationship')}} + + + + + + + + + \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/views/antv/racebar/data.vue b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/views/antv/racebar/data.vue index 30d1a66be4..49634858eb 100644 --- a/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/views/antv/racebar/data.vue +++ b/extensions/dataease-extensions-view/view-racebar/view-racebar-frontend/src/views/antv/racebar/data.vue @@ -114,37 +114,33 @@ - {{ $t('chart.result_filter') }} - - - - + {{ $t('chart.result_filter') }} + 已设置 + - - - - {{ $t('chart.placeholder_field') }} - + + + + 过滤 + + @@ -155,8 +151,14 @@ import DimensionExtItem from '../../../components/views/DimensionExtItem' import QuotaItem from '../../../components/views/QuotaItem' import FilterItem from '../../../components/views/FilterItem' import messages from '@/de-base/lang/messages' +import FilterTree from '@/components/views/filter/FilterTree.vue' export default { + provide() { + return { + filedList: () => this.filedList + } + }, props: { obj: { type: Object, @@ -173,7 +175,8 @@ export default { DimensionItem, DimensionExtItem, QuotaItem, - FilterItem + FilterItem, + FilterTree }, data() { return { @@ -194,6 +197,9 @@ export default { } }, computed: { + filedList() { + return [...this.dimension, ...this.quota].filter(ele => ele.id !== 'count') + }, param() { return this.obj.param }, @@ -257,6 +263,16 @@ export default { }, methods: { + changeFilterData(customFilter) { + this.view.customFilter =JSON.parse(JSON.stringify(customFilter)) + this.calcData(true) + }, + openTreeFilter() { + this.$refs.filterTree.init(JSON.parse(JSON.stringify(this.view.customFilter))) + }, + deleteTreeFilter() { + this.changeFilterData({}) + }, executeAxios(url, type, data, callBack) { const param = { url: url, @@ -455,6 +471,49 @@ export default { \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/filterFiled.vue b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/filterFiled.vue new file mode 100644 index 0000000000..39549bd051 --- /dev/null +++ b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/filterFiled.vue @@ -0,0 +1,1043 @@ + + + + {{ $t("auth.filter_fields") }} + + + + + + + + + + + {{ item.name }} + + + + + + {{ $t("auth.screen_method") }} + + + + + {{ $t("auth.fixed_value") }} + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ i }} + + + + + + {{ $t("auth.select_all") }} + + + + + {{ $t("auth.added") }}{{ checklist.length }} + + + + {{ $t("auth.manual_input") }} + + + + + + + + {{ $t("auth.close") }} + + + {{ $t("auth.add") }} + + + + + + + + + + + {{ i }} + + + + + + + + {{ $t("auth.sure") }} + + + + + + + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/options.js b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/options.js new file mode 100644 index 0000000000..36a1f426bc --- /dev/null +++ b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/options.js @@ -0,0 +1,24 @@ +function formatEnum(ele) { + return { + value: ele, + label: `chart.filter_${ele.replace(' ', '_')}` + } +} + +const textEnum = ['eq', 'not_eq', 'like', 'not like', 'null', 'not_null', 'empty', 'not_empty'] +const textOptions = textEnum.map(formatEnum) + +const dateEnum = ['eq', 'not_eq', 'lt', 'gt', 'le', 'ge'] +const dateOptions = dateEnum.map(formatEnum) + +const valueEnum = [...dateEnum] +const valueOptions = valueEnum.map(formatEnum) + +const fieldEnum = ['text', 'time', 'value', 'value', '', 'location'] + +export { + textOptions, + dateOptions, + valueOptions, + fieldEnum +} diff --git a/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/rowAuth.vue b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/rowAuth.vue new file mode 100644 index 0000000000..fb3417d5ad --- /dev/null +++ b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/rowAuth.vue @@ -0,0 +1,348 @@ + + + del(idx)" + @addCondReal="addCondReal" + @removeRelationList="removeRelationList" + @changeAndOrDfs="(type) => changeAndOrDfs(relationList, type)" + :relationList="relationList" + :logic.sync="logic" + @execute-axios="executeAxios" + /> + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/rowTeeAuth.vue b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/rowTeeAuth.vue new file mode 100644 index 0000000000..571ff08028 --- /dev/null +++ b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/components/views/filter/rowTeeAuth.vue @@ -0,0 +1,247 @@ + + + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + AND + OR + + + + + + + + + + + del(idx, item.child)" + @addCondReal="(type, logic) => add(type, item.child, logic)" + v-if="item.child" + :key="index" + :logic="item.logic" + @execute-axios="executeAxios" + @removeRelationList="removeRelationList(index)" + :relationList="item.child" + > + + + + + + + {{ $t('auth.add_condition')}} + + + + {{ $t('auth.add_relationship')}} + + + + + + + + + \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/views/antv/sankey/data.vue b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/views/antv/sankey/data.vue index e97b1e73ef..af47dbeba5 100644 --- a/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/views/antv/sankey/data.vue +++ b/extensions/dataease-extensions-view/view-sankey/view-sankey-frontend/src/views/antv/sankey/data.vue @@ -112,36 +112,33 @@ - {{ $t('chart.result_filter') }} - - - - + {{ $t('chart.result_filter') }} + 已设置 + - - - - {{ $t('chart.placeholder_field') }} - + + + + 过滤 + + @@ -151,8 +148,14 @@ import SankeyDimensionItem from '../../../components/views/SankeyDimensionItem' import SankeyQuotaItem from '../../../components/views/SankeyQuotaItem' import FilterItem from '../../../components/views/FilterItem' import messages from '@/de-base/lang/messages' +import FilterTree from '@/components/views/filter/FilterTree.vue' export default { + provide() { + return { + filedList: () => this.filedList + } + }, props: { obj: { type: Object, @@ -168,7 +171,8 @@ export default { components: { SankeyDimensionItem, SankeyQuotaItem, - FilterItem + FilterItem, + FilterTree }, data() { return { @@ -190,6 +194,9 @@ export default { } }, computed: { + filedList() { + return [...this.dimension, ...this.quota].filter(ele => ele.id !== 'count') + }, param() { return this.obj.param }, @@ -242,6 +249,16 @@ export default { } }, methods: { + changeFilterData(customFilter) { + this.view.customFilter =JSON.parse(JSON.stringify(customFilter)) + this.calcData(true) + }, + openTreeFilter() { + this.$refs.filterTree.init(JSON.parse(JSON.stringify(this.view.customFilter))) + }, + deleteTreeFilter() { + this.changeFilterData({}) + }, executeAxios(url, type, data, callBack) { const param = { url: url, @@ -430,6 +447,49 @@ export default { \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/filterFiled.vue b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/filterFiled.vue new file mode 100644 index 0000000000..39549bd051 --- /dev/null +++ b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/filterFiled.vue @@ -0,0 +1,1043 @@ + + + + {{ $t("auth.filter_fields") }} + + + + + + + + + + + {{ item.name }} + + + + + + {{ $t("auth.screen_method") }} + + + + + {{ $t("auth.fixed_value") }} + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ i }} + + + + + + {{ $t("auth.select_all") }} + + + + + {{ $t("auth.added") }}{{ checklist.length }} + + + + {{ $t("auth.manual_input") }} + + + + + + + + {{ $t("auth.close") }} + + + {{ $t("auth.add") }} + + + + + + + + + + + {{ i }} + + + + + + + + {{ $t("auth.sure") }} + + + + + + + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/options.js b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/options.js new file mode 100644 index 0000000000..36a1f426bc --- /dev/null +++ b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/options.js @@ -0,0 +1,24 @@ +function formatEnum(ele) { + return { + value: ele, + label: `chart.filter_${ele.replace(' ', '_')}` + } +} + +const textEnum = ['eq', 'not_eq', 'like', 'not like', 'null', 'not_null', 'empty', 'not_empty'] +const textOptions = textEnum.map(formatEnum) + +const dateEnum = ['eq', 'not_eq', 'lt', 'gt', 'le', 'ge'] +const dateOptions = dateEnum.map(formatEnum) + +const valueEnum = [...dateEnum] +const valueOptions = valueEnum.map(formatEnum) + +const fieldEnum = ['text', 'time', 'value', 'value', '', 'location'] + +export { + textOptions, + dateOptions, + valueOptions, + fieldEnum +} diff --git a/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/rowAuth.vue b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/rowAuth.vue new file mode 100644 index 0000000000..fb3417d5ad --- /dev/null +++ b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/rowAuth.vue @@ -0,0 +1,348 @@ + + + del(idx)" + @addCondReal="addCondReal" + @removeRelationList="removeRelationList" + @changeAndOrDfs="(type) => changeAndOrDfs(relationList, type)" + :relationList="relationList" + :logic.sync="logic" + @execute-axios="executeAxios" + /> + + + + + + + + + + + + diff --git a/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/rowTeeAuth.vue b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/rowTeeAuth.vue new file mode 100644 index 0000000000..571ff08028 --- /dev/null +++ b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/components/views/filter/rowTeeAuth.vue @@ -0,0 +1,247 @@ + + + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + + {{ logic === 'or' ? "OR" : "AND" }} + + + AND + OR + + + + + + + + + + + del(idx, item.child)" + @addCondReal="(type, logic) => add(type, item.child, logic)" + v-if="item.child" + :key="index" + :logic="item.logic" + @execute-axios="executeAxios" + @removeRelationList="removeRelationList(index)" + :relationList="item.child" + > + + + + + + + {{ $t('auth.add_condition')}} + + + + {{ $t('auth.add_relationship')}} + + + + + + + + + \ No newline at end of file diff --git a/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/views/antv/symbolmap/data.vue b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/views/antv/symbolmap/data.vue index 6a8570609a..c113398a06 100644 --- a/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/views/antv/symbolmap/data.vue +++ b/extensions/dataease-extensions-view/view-symbolmap/view-symbolmap-frontend/src/views/antv/symbolmap/data.vue @@ -112,36 +112,33 @@ - {{ $t('chart.result_filter') }} - - - - + {{ $t('chart.result_filter') }} + 已设置 + - - - - {{ $t('chart.placeholder_field') }} - + + + + 过滤 + + @@ -152,8 +149,14 @@ import LocationYItem from '@/components/views/LocationYItem' import QuotaItem from '@/components/views/QuotaItem' import FilterItem from '@/components/views/FilterItem' import messages from '@/de-base/lang/messages' +import FilterTree from '@/components/views/filter/FilterTree.vue' export default { + provide() { + return { + filedList: () => this.filedList + } + }, props: { obj: { @@ -166,7 +169,8 @@ export default { LocationXItem, LocationYItem, QuotaItem, - FilterItem + FilterItem, + FilterTree }, data() { return { @@ -188,6 +192,9 @@ export default { } }, computed: { + filedList() { + return [...this.dimensionData, ...this.quotaData].filter(ele => ele.id !== 'count') + }, param() { return this.obj.param }, @@ -224,6 +231,16 @@ export default { } }, methods: { + changeFilterData(customFilter) { + this.view.customFilter =JSON.parse(JSON.stringify(customFilter)) + this.calcData(true) + }, + openTreeFilter() { + this.$refs.filterTree.init(JSON.parse(JSON.stringify(this.view.customFilter))) + }, + deleteTreeFilter() { + this.changeFilterData({}) + }, executeAxios(url, type, data, callBack) { const param = { url: url, @@ -401,6 +418,49 @@ export default {