diff --git a/frontend/package.json b/frontend/package.json index 1166c327d3..635ea4f43a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,7 +15,9 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@riophae/vue-treeselect": "0.4.0", "axios": "0.18.1", + "echarts": "^5.0.2", "element-ui": "2.13.0", "fit2cloud-ui": "^0.1.12", "js-cookie": "2.2.0", @@ -30,9 +32,8 @@ "vue": "2.6.10", "vue-i18n": "7.3.2", "vue-router": "3.0.6", - "vuex": "3.1.0", - "@riophae/vue-treeselect": "0.4.0", - "vuedraggable": "^2.24.3" + "vuedraggable": "^2.24.3", + "vuex": "3.1.0" }, "devDependencies": { "@babel/core": "7.0.0", diff --git a/frontend/src/api/chart/chart.js b/frontend/src/api/chart/chart.js new file mode 100644 index 0000000000..fefee5bd38 --- /dev/null +++ b/frontend/src/api/chart/chart.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function post(url, data) { + return request({ + url: url, + method: 'post', + data + }) +} diff --git a/frontend/src/api/dataset/dataset.js b/frontend/src/api/dataset/dataset.js index 8f4df02745..a9a68dbe9d 100644 --- a/frontend/src/api/dataset/dataset.js +++ b/frontend/src/api/dataset/dataset.js @@ -52,4 +52,50 @@ export function groupTree(data) { data }) } + +export function listDatasource() { + return request({ + url: '/datasource/list', + method: 'get' + }) +} + +export function getTable(id) { + return request({ + url: '/dataset/table/get/' + id, + method: 'post' + }) +} + +export function getPreviewData(data) { + return request({ + url: '/dataset/table/getPreviewData', + method: 'post', + data + }) +} + +export function fieldList(id) { + return request({ + url: '/dataset/field/list/' + id, + method: 'post' + }) +} + +export function batchEdit(data) { + return request({ + url: '/dataset/field/batchEdit', + method: 'post', + data + }) +} + +export function post(url, data) { + return request({ + url: url, + method: 'post', + data + }) +} + export default { loadTable, getScene, addGroup, delGroup, addTable, delTable, groupTree } diff --git a/frontend/src/layout/components/AppMain.vue b/frontend/src/layout/components/AppMain.vue index 767353fa8d..72c3aff242 100644 --- a/frontend/src/layout/components/AppMain.vue +++ b/frontend/src/layout/components/AppMain.vue @@ -1,13 +1,13 @@ diff --git a/frontend/src/main.js b/frontend/src/main.js index b62e785cb4..12ffe62f75 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -21,6 +21,10 @@ import message from '@/metersphere/common/js/message' import { left2RightDrag, bottom2TopDrag, right2LeftDrag } from '@/metersphere/common/js/directive' Vue.prototype.$api = api +import echarts from 'echarts' + +Vue.prototype.$echarts = echarts + /** * If you don't want to use mock-server * you want to use MockJs for mock api diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 805a771e03..ae20c164df 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -6,6 +6,7 @@ import settings from './modules/settings' import user from './modules/user' import permission from './modules/permission' import dataset from './modules/dataset' +import chart from './modules/chart' Vue.use(Vuex) @@ -15,7 +16,8 @@ const store = new Vuex.Store({ settings, user, permission, - dataset + dataset, + chart }, getters }) diff --git a/frontend/src/store/modules/chart.js b/frontend/src/store/modules/chart.js new file mode 100644 index 0000000000..671deba0f4 --- /dev/null +++ b/frontend/src/store/modules/chart.js @@ -0,0 +1,62 @@ +const getDefaultState = () => { + return { + sceneData: {}, + table: {}, + sceneId: {}, + viewId: {}, + tableId: {}, + chartSceneData: {} + } +} + +const state = getDefaultState() + +const mutations = { + setSceneData: (state, sceneData) => { + state.sceneData = sceneData + }, + setTable: (state, table) => { + state.table = table + }, + setSceneId: (state, sceneId) => { + state.sceneId = sceneId + }, + setViewId: (state, viewId) => { + state.viewId = viewId + }, + setTableId: (state, tableId) => { + state.tableId = tableId + }, + setChartSceneData: (state, chartSceneData) => { + state.chartSceneData = chartSceneData + } +} + +const actions = { + setSceneData({ commit }, sceneData) { + commit('setSceneData', sceneData) + }, + setTable({ commit }, table) { + commit('setTable', table) + }, + setSceneId: ({ commit }, sceneId) => { + commit('setSceneId', sceneId) + }, + setViewId: ({ commit }, viewId) => { + commit('setViewId', viewId) + }, + setTableId: ({ commit }, tableId) => { + commit('setTableId', tableId) + }, + setChartSceneData: ({ commit }, chartSceneData) => { + commit('setChartSceneData', chartSceneData) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/frontend/src/views/chart/data/AddDB.vue b/frontend/src/views/chart/data/AddDB.vue deleted file mode 100644 index 6792f55343..0000000000 --- a/frontend/src/views/chart/data/AddDB.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - diff --git a/frontend/src/views/chart/data/TabDataPreview.vue b/frontend/src/views/chart/data/TabDataPreview.vue deleted file mode 100644 index c54dd647e5..0000000000 --- a/frontend/src/views/chart/data/TabDataPreview.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/frontend/src/views/chart/data/ViewTable.vue b/frontend/src/views/chart/data/ViewTable.vue deleted file mode 100644 index 31389e968b..0000000000 --- a/frontend/src/views/chart/data/ViewTable.vue +++ /dev/null @@ -1,122 +0,0 @@ - - - - - diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index 098af88c11..282caa8ff7 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -7,7 +7,7 @@ {{ $t('chart.datalist') }} - + @@ -101,7 +101,7 @@ - +