diff --git a/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/.babelrc b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/.babelrc index 3a280ba34b..ea629d351c 100644 --- a/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/.babelrc +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/.babelrc @@ -1,12 +1,4 @@ { - "presets": [ - ["env", { - "modules": false, - "targets": { - "browsers": ["> 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-bubblemap/view-bubblemap-frontend/package.json b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/package.json index ab19d1003c..e77955cfa5 100644 --- a/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/package.json +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/package.json @@ -11,6 +11,8 @@ "buildPlugin": "node build/build-async-plugins.js" }, "dependencies": { + "@babel/polyfill": "^7.12.1", + "@babel/runtime": "^7.18.9", "@riophae/vue-treeselect": "0.4.0", "vue": "^2.5.2", "vue-i18n": "7.3.2", @@ -20,14 +22,12 @@ }, "devDependencies": { "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/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", + "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-bubblemap/view-bubblemap-frontend/src/components/views/filter/FilterTree.vue b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/components/views/filter/FilterTree.vue new file mode 100644 index 0000000000..2be1ec02d8 --- /dev/null +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-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-bubblemap/view-bubblemap-frontend/src/components/views/filter/filterFiled.vue b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/components/views/filter/filterFiled.vue new file mode 100644 index 0000000000..898ff877b0 --- /dev/null +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/components/views/filter/filterFiled.vue @@ -0,0 +1,1044 @@ + + + + {{ $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-bubblemap/view-bubblemap-frontend/src/components/views/filter/options.js b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/components/views/filter/options.js new file mode 100644 index 0000000000..36a1f426bc --- /dev/null +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-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-bubblemap/view-bubblemap-frontend/src/components/views/filter/rowAuth.vue b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/components/views/filter/rowAuth.vue new file mode 100644 index 0000000000..8bdc0b8de0 --- /dev/null +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-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-bubblemap/view-bubblemap-frontend/src/components/views/filter/rowTeeAuth.vue b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/components/views/filter/rowTeeAuth.vue new file mode 100644 index 0000000000..571ff08028 --- /dev/null +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-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-bubblemap/view-bubblemap-frontend/src/views/echarts/map/buddle/data.vue b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/views/echarts/map/buddle/data.vue index 483cee6b40..b68d53eae4 100644 --- a/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/views/echarts/map/buddle/data.vue +++ b/extensions/dataease-extensions-view/view-bubblemap/view-bubblemap-frontend/src/views/echarts/map/buddle/data.vue @@ -91,34 +91,28 @@ - {{ $t('chart.result_filter') }} - - - + {{ $t('chart.result_filter') }} + 已设置 + - - - - {{ $t('chart.placeholder_field') }} - + + + + 过滤 + {{ $t('chart.placeholder_field') }} + @@ -166,8 +164,14 @@ import QuotaItem from '@/components/views/QuotaItem' import FilterItem from '@/components/views/FilterItem' import DrillItem from '@/components/views/DrillItem' import messages from '@/de-base/lang/messages' +import FilterTree from '@/components/views/filter/FilterTree.vue' export default { + provide() { + return { + filedList: () => this.filedList + } + }, props: { obj: { @@ -186,6 +190,9 @@ export default { } }, computed: { + filedList() { + return [...this.dimensionData, ...this.quotaData].filter(ele => ele.id !== 'count') + }, param() { return this.obj.param }, @@ -214,6 +221,16 @@ export default { this.initAreas() }, 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, @@ -421,6 +438,41 @@ export default {