diff --git a/package-lock.json b/package-lock.json index 0da7ab9c..76aae70d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14279,6 +14279,14 @@ "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==", "dev": true }, + "vuedraggable": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.16.0.tgz", + "integrity": "sha512-fr9gcWKXMJlzbbtJcrQs4kU7qdOZqd4SEpAcx+r0nykbW8AygZN0aKVpadEtI53T8A2azhzCdXMvEqrLuKE2fA==", + "requires": { + "sortablejs": "1.7.0" + } + }, "vuex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.0.1.tgz", diff --git a/package.json b/package.json index 8dafc1e6..35f6e428 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "vue": "^2.5.10", "vue-i18n": "^7.8.0", "vue-router": "^3.0.1", + "vuedraggable": "^2.16.0", "vuex": "^3.0.1", "wangeditor": "^3.1.1", "xlsx": "^0.13.3" diff --git a/src/api/data.js b/src/api/data.js index 824f3da6..8bd8309a 100644 --- a/src/api/data.js +++ b/src/api/data.js @@ -6,3 +6,10 @@ export const getTableData = () => { method: 'get' }) } + +export const getDragList = () => { + return axios.request({ + url: 'get_drag_list', + method: 'get' + }) +} diff --git a/src/components/drag-list/drag-list.vue b/src/components/drag-list/drag-list.vue new file mode 100644 index 00000000..664abc9a --- /dev/null +++ b/src/components/drag-list/drag-list.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/components/drag-list/index.js b/src/components/drag-list/index.js new file mode 100644 index 00000000..d2bb9723 --- /dev/null +++ b/src/components/drag-list/index.js @@ -0,0 +1,2 @@ +import DragList from './drag-list.vue' +export default DragList diff --git a/src/mock/data.js b/src/mock/data.js index 8a939d9f..462624d7 100644 --- a/src/mock/data.js +++ b/src/mock/data.js @@ -1,5 +1,6 @@ import Mock from 'mockjs' import { doCustomTimes } from '@/libs/util' +const Random = Mock.Random export const getTableData = req => { let tableData = [] @@ -16,3 +17,18 @@ export const getTableData = req => { msg: '' } } + +export const getDragList = req => { + let dragList = [] + doCustomTimes(5, () => { + dragList.push(Mock.mock({ + name: Random.csentence(10, 13), + id: Random.increment(10) + })) + }) + return { + code: 200, + data: dragList, + msg: '' + } +} diff --git a/src/mock/index.js b/src/mock/index.js index a7e7832c..a41a9edc 100644 --- a/src/mock/index.js +++ b/src/mock/index.js @@ -1,11 +1,12 @@ import Mock from 'mockjs' import { login, logout, getUserInfo } from './login' -import { getTableData } from './data' +import { getTableData, getDragList } from './data' // 登录相关和获取用户信息 Mock.mock(/\/login/, login) Mock.mock(/\/get_info/, getUserInfo) Mock.mock(/\/logout/, logout) Mock.mock(/\/get_table_data/, getTableData) +Mock.mock(/\/get_drag_list/, getDragList) export default Mock diff --git a/src/router/routers.js b/src/router/routers.js index 5dec48c5..464e935c 100644 --- a/src/router/routers.js +++ b/src/router/routers.js @@ -86,6 +86,15 @@ export default [ }, component: () => import('@/view/components/count-to/count-to.vue') }, + { + path: 'drag_list_page', + name: 'drag_list_page', + meta: { + icon: 'md-trending-up', + title: '拖拽列表' + }, + component: () => import('@/view/components/drag-list/drag-list.vue') + }, { path: 'tables_page', name: 'tables_page', diff --git a/src/view/components/drag-list/drag-list.vue b/src/view/components/drag-list/drag-list.vue new file mode 100644 index 00000000..d7e4d06c --- /dev/null +++ b/src/view/components/drag-list/drag-list.vue @@ -0,0 +1,110 @@ + + +