diff --git a/package-lock.json b/package-lock.json
index 12f5ad785..ba1bf063e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1680,9 +1680,9 @@
"dev": true
},
"async-validator": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.10.0.tgz",
- "integrity": "sha512-tjkUJ3OXURZbm1nrlU2QtH0XJe4YvhN1J9AYiKFN9ODBqt0AFIE6YZdZByrWG2SidPUOOK5KIAsqskqFj/43ZQ==",
+ "version": "1.10.1",
+ "resolved": "http://bnpm.byted.org/async-validator/download/async-validator-1.10.1.tgz",
+ "integrity": "sha1-QemwufjnGebt+UY3LwGKlYwucPM=",
"requires": {
"babel-runtime": "6.x"
}
@@ -1961,7 +1961,7 @@
},
"batch-processor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz",
+ "resolved": "http://bnpm.byted.org/batch-processor/download/batch-processor-1.0.0.tgz",
"integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg="
},
"bcrypt-pbkdf": {
@@ -3528,8 +3528,8 @@
},
"deepmerge": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
- "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
+ "resolved": "http://bnpm.byted.org/deepmerge/download/deepmerge-2.2.1.tgz",
+ "integrity": "sha1-XT/yKgHAD2RUBaL7wX0HeKGAEXA="
},
"default-gateway": {
"version": "2.7.2",
@@ -3910,8 +3910,8 @@
},
"element-resize-detector": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.0.tgz",
- "integrity": "sha512-UmhNB8sIJVZeg56gEjgmMd6p37sCg8j8trVW0LZM7Wzv+kxQ5CnRHcgRKBTB/kFUSn3e7UP59kl2V2U8Du1hmg==",
+ "resolved": "http://bnpm.byted.org/element-resize-detector/download/element-resize-detector-1.2.0.tgz",
+ "integrity": "sha1-YzRP1vTl7P9vAY0Cfheygf1Pozg=",
"requires": {
"batch-processor": "1.0.0"
}
@@ -6724,18 +6724,18 @@
"dev": true
},
"iview": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/iview/-/iview-3.1.5.tgz",
- "integrity": "sha512-lFom+Do/mJ4ejdu/+o/kCMWVGBpe85pIho7AsrOge/7IPuP5UbdSPu720qaEe4lC2T1AFczD74LlzqZ/mik0FA==",
+ "version": "3.2.2",
+ "resolved": "http://bnpm.byted.org/iview/download/iview-3.2.2.tgz",
+ "integrity": "sha1-W32NtdHqcRzDn6rmBFeqA1TLUsg=",
"requires": {
- "async-validator": "^1.8.2",
- "deepmerge": "^2.1.0",
- "element-resize-detector": "^1.1.14",
+ "async-validator": "^1.10.0",
+ "deepmerge": "^2.2.1",
+ "element-resize-detector": "^1.2.0",
"js-calendar": "^1.2.3",
"lodash.throttle": "^4.1.1",
- "popper.js": "^1.14.1",
+ "popper.js": "^1.14.6",
"tinycolor2": "^1.4.1",
- "v-click-outside-x": "^3.5.0"
+ "v-click-outside-x": "^3.5.6"
}
},
"iview-area": {
@@ -6785,8 +6785,8 @@
},
"js-calendar": {
"version": "1.2.3",
- "resolved": "https://registry.npmjs.org/js-calendar/-/js-calendar-1.2.3.tgz",
- "integrity": "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw=="
+ "resolved": "http://bnpm.byted.org/js-calendar/download/js-calendar-1.2.3.tgz",
+ "integrity": "sha1-pYOwZEtOaVujlPNE0QPbzHp6fT4="
},
"js-cookie": {
"version": "2.2.0",
@@ -7742,7 +7742,7 @@
},
"lodash.throttle": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "resolved": "http://bnpm.byted.org/lodash.throttle/download/lodash.throttle-4.1.1.tgz",
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
},
"lodash.transform": {
@@ -8988,8 +8988,8 @@
},
"popper.js": {
"version": "1.14.6",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.6.tgz",
- "integrity": "sha512-AGwHGQBKumlk/MDfrSOf0JHhJCImdDMcGNoqKmKkU+68GFazv3CQ6q9r7Ja1sKDZmYWTckY/uLyEznheTDycnA=="
+ "resolved": "http://bnpm.byted.org/popper.js/download/popper.js-1.14.6.tgz",
+ "integrity": "sha1-qyDdTt+SiLiztlMcR8NhEHtgtLA="
},
"portfinder": {
"version": "1.0.20",
@@ -11458,7 +11458,7 @@
},
"tinycolor2": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
+ "resolved": "http://bnpm.byted.org/tinycolor2/download/tinycolor2-1.4.1.tgz",
"integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
},
"tmp": {
@@ -11969,16 +11969,16 @@
"dev": true
},
"v-click-outside-x": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-3.5.6.tgz",
- "integrity": "sha512-41j5mdZ8NzGJM5Or0BTADKU1B0vBi5a29g9ieVNTorg3FTiep6zOXjZeLpMmSH/koon1JP6S5uvwI2OfSVCgSA=="
+ "version": "3.7.1",
+ "resolved": "http://bnpm.byted.org/v-click-outside-x/download/v-click-outside-x-3.7.1.tgz",
+ "integrity": "sha1-qgPqoOQeRMtSB9z4bC2fDdZAhME="
},
"v-org-tree": {
"version": "1.0.6",
"resolved": "http://registry.npm.taobao.org/v-org-tree/download/v-org-tree-1.0.6.tgz",
"integrity": "sha1-uh4EL9bExFb9/FmFtlvClFpAaWc=",
"requires": {
- "clonedeep": "2.0.0"
+ "clonedeep": "^2.0.0"
}
},
"validate-npm-package-license": {
diff --git a/package.json b/package.json
index a79236088..3e2561e05 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"dayjs": "^1.7.7",
"echarts": "^4.0.4",
"html2canvas": "^1.0.0-alpha.12",
- "iview": "^3.1.3",
+ "iview": "^3.2.2",
"iview-area": "^1.5.17",
"js-cookie": "^2.2.0",
"simplemde": "^1.11.2",
diff --git a/src/api/data.js b/src/api/data.js
index fce9771c7..234c4b419 100644
--- a/src/api/data.js
+++ b/src/api/data.js
@@ -42,3 +42,10 @@ export const getOrgData = () => {
method: 'get'
})
}
+
+export const getTreeSelectData = () => {
+ return axios.request({
+ url: 'get_tree_select_data',
+ method: 'get'
+ })
+}
diff --git a/src/components/tree-select/index.js b/src/components/tree-select/index.js
new file mode 100644
index 000000000..707b53c9f
--- /dev/null
+++ b/src/components/tree-select/index.js
@@ -0,0 +1 @@
+export { default } from './tree-select.vue'
diff --git a/src/components/tree-select/tree-select-tree.vue b/src/components/tree-select/tree-select-tree.vue
new file mode 100644
index 000000000..8ba209d0d
--- /dev/null
+++ b/src/components/tree-select/tree-select-tree.vue
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
diff --git a/src/components/tree-select/tree-select.vue b/src/components/tree-select/tree-select.vue
new file mode 100644
index 000000000..a1fb2a8a8
--- /dev/null
+++ b/src/components/tree-select/tree-select.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
diff --git a/src/locale/lang/en-US.js b/src/locale/lang/en-US.js
index 0a3498de4..2c2d68cb5 100644
--- a/src/locale/lang/en-US.js
+++ b/src/locale/lang/en-US.js
@@ -40,5 +40,6 @@ export default {
message_page: 'Message Center',
tree_table_page: 'Tree Table',
org_tree_page: 'Org Tree',
- drag_drawer_page: 'Draggable Drawer'
+ drag_drawer_page: 'Draggable Drawer',
+ tree_select_page: 'Tree Selector'
}
diff --git a/src/locale/lang/zh-CN.js b/src/locale/lang/zh-CN.js
index 9626230b7..a7277deb5 100644
--- a/src/locale/lang/zh-CN.js
+++ b/src/locale/lang/zh-CN.js
@@ -40,5 +40,6 @@ export default {
message_page: '消息中心',
tree_table_page: '树状表格',
org_tree_page: '组织结构树',
- drag_drawer_page: '可拖动抽屉'
+ drag_drawer_page: '可拖动抽屉',
+ tree_select_page: '树状下拉选择器'
}
diff --git a/src/locale/lang/zh-TW.js b/src/locale/lang/zh-TW.js
index 23bffb98c..f634b86fa 100644
--- a/src/locale/lang/zh-TW.js
+++ b/src/locale/lang/zh-TW.js
@@ -40,5 +40,6 @@ export default {
message_page: '消息中心',
tree_table_page: '樹狀表格',
org_tree_page: '組織結構樹',
- drag_drawer_page: '可拖動抽屜'
+ drag_drawer_page: '可拖動抽屜',
+ tree_select_page: '樹狀下拉選擇器'
}
diff --git a/src/mock/data.js b/src/mock/data.js
index e2ee4400e..4c5703626 100644
--- a/src/mock/data.js
+++ b/src/mock/data.js
@@ -1,6 +1,7 @@
import Mock from 'mockjs'
import { doCustomTimes } from '@/libs/util'
import orgData from './data/org-data'
+import { treeData } from './data/tree-select'
const Random = Mock.Random
export const getTableData = req => {
@@ -33,3 +34,7 @@ export const uploadImage = req => {
export const getOrgData = req => {
return orgData
}
+
+export const getTreeSelectData = req => {
+ return treeData
+}
diff --git a/src/mock/data/tree-select.js b/src/mock/data/tree-select.js
new file mode 100644
index 000000000..27034beda
--- /dev/null
+++ b/src/mock/data/tree-select.js
@@ -0,0 +1,82 @@
+export const treeData = [
+ {
+ id: 1,
+ title: '1',
+ children: [
+ {
+ id: 11,
+ title: '1-1',
+ loading: false,
+ children: [
+ // {
+ // id: 111,
+ // title: '1-1-1'
+ // },
+ // {
+ // id: 112,
+ // title: '1-1-2'
+ // },
+ // {
+ // id: 113,
+ // title: '1-1-3'
+ // },
+ // {
+ // id: 114,
+ // title: '1-1-4'
+ // }
+ ]
+ },
+ {
+ id: 12,
+ title: '1-2',
+ children: [
+ {
+ id: 121,
+ title: '1-2-1'
+ }
+ ]
+ }
+ ]
+ }
+]
+
+export const newTreeData = [
+ {
+ id: 'a',
+ title: 'a',
+ children: [
+ {
+ id: 'a1',
+ title: 'a-1',
+ children: [
+ {
+ id: 112,
+ title: '1-1-2'
+ },
+ {
+ id: 'a12',
+ title: 'a-1-2'
+ },
+ {
+ id: 'a13',
+ title: 'a-1-3'
+ },
+ {
+ id: 'a14',
+ title: 'a-1-4'
+ }
+ ]
+ },
+ {
+ id: 'a2',
+ title: 'a-2',
+ children: [
+ {
+ id: 'a21',
+ title: 'b-2-1'
+ }
+ ]
+ }
+ ]
+ }
+]
diff --git a/src/mock/index.js b/src/mock/index.js
index 503e3cdb3..554a45633 100644
--- a/src/mock/index.js
+++ b/src/mock/index.js
@@ -1,6 +1,6 @@
import Mock from 'mockjs'
import { login, logout, getUserInfo } from './login'
-import { getTableData, getDragList, uploadImage, getOrgData } from './data'
+import { getTableData, getDragList, uploadImage, getOrgData, getTreeSelectData } from './data'
import { getMessageInit, getContentByMsgId, hasRead, removeReaded, restoreTrash, messageCount } from './user'
// 配置Ajax请求延时,可用来测试网络延迟大时项目中一些效果
@@ -23,5 +23,6 @@ Mock.mock(/\/message\/remove_readed/, removeReaded)
Mock.mock(/\/message\/restore/, restoreTrash)
Mock.mock(/\/message\/count/, messageCount)
Mock.mock(/\/get_org_data/, getOrgData)
+Mock.mock(/\/get_tree_select_data/, getTreeSelectData)
export default Mock
diff --git a/src/router/routers.js b/src/router/routers.js
index 00ec60434..1427fbd50 100644
--- a/src/router/routers.js
+++ b/src/router/routers.js
@@ -107,6 +107,15 @@ export default [
},
component: Main,
children: [
+ {
+ path: 'tree_select_page',
+ name: 'tree_select_page',
+ meta: {
+ icon: 'md-arrow-dropdown-circle',
+ title: '树状下拉选择器'
+ },
+ component: () => import('@/view/components/tree-select/index.vue')
+ },
{
path: 'count_to_page',
name: 'count_to_page',
diff --git a/src/test.js b/src/test.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/view/components/tree-select/index.vue b/src/view/components/tree-select/index.vue
new file mode 100644
index 000000000..4dcc7e189
--- /dev/null
+++ b/src/view/components/tree-select/index.vue
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+