├── .gitignore
├── README.md
├── babel.config.js
├── dist
├── css
│ ├── app.1ca305d3.css
│ ├── chunk-17ff363c.da1f3f44.css
│ ├── chunk-1ae3dee7.9ef3540a.css
│ ├── chunk-1b886a23.35b91634.css
│ ├── chunk-1e8b0375.da313f37.css
│ ├── chunk-3fcdbc37.e9682407.css
│ ├── chunk-4abf228e.8679e0c6.css
│ ├── chunk-4c285898.a8679454.css
│ ├── chunk-5c0d1206.aa11ab42.css
│ ├── chunk-6325a08a.9ec5e003.css
│ ├── chunk-6a280086.e70c2829.css
│ ├── chunk-6d4d5a6c.e35d7ec1.css
│ ├── chunk-9bc4cee0.ab875a92.css
│ ├── chunk-9e5595b2.6f274057.css
│ ├── chunk-b50229e6.5f5bf64d.css
│ ├── chunk-d5224c00.0dc8bff8.css
│ ├── chunk-deb1ce48.770f2766.css
│ ├── chunk-e1f9e4d0.13288674.css
│ └── chunk-f1225e32.8dd63ce0.css
├── fonts
│ ├── element-icons.2fad952a.woff
│ ├── element-icons.6f0a7632.ttf
│ ├── fontello.068ca2b3.ttf
│ ├── fontello.8d4a4e6f.woff2
│ ├── fontello.a782baa8.woff
│ └── fontello.e73a0647.eot
├── img
│ ├── fontello.9354499c.svg
│ ├── img.28e441c3.jpg
│ └── login-bg.86a64e59.jpg
├── index.html
├── js
│ ├── app.47334d33.js
│ ├── chunk-17ff363c.d5dc8351.js
│ ├── chunk-1ae3dee7.9b5d609f.js
│ ├── chunk-1b886a23.491291f2.js
│ ├── chunk-1e8b0375.333b4158.js
│ ├── chunk-2d0bd1e8.43168f2c.js
│ ├── chunk-2d0cf140.c711a823.js
│ ├── chunk-2d0dab14.3d2246d8.js
│ ├── chunk-2d22bf9c.8143898b.js
│ ├── chunk-2d230500.93889c78.js
│ ├── chunk-3fcdbc37.4bdbc336.js
│ ├── chunk-4abf228e.1e44873c.js
│ ├── chunk-4c285898.d911edfd.js
│ ├── chunk-5c0d1206.cda24eaf.js
│ ├── chunk-6325a08a.a76bad07.js
│ ├── chunk-6a280086.23f171af.js
│ ├── chunk-6d4d5a6c.38d11021.js
│ ├── chunk-9bc4cee0.77a8fa0d.js
│ ├── chunk-9e5595b2.b52df879.js
│ ├── chunk-b50229e6.e0b2071f.js
│ ├── chunk-d5224c00.9b03eb4e.js
│ ├── chunk-deb1ce48.6bd31bc3.js
│ ├── chunk-e1f9e4d0.695b605b.js
│ ├── chunk-f1225e32.0b53a60a.js
│ └── chunk-vendors.45e5993d.js
├── menu.json
└── vuetable.json
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
├── index.html
├── menu.json
└── vuetable.json
├── screenshots
├── wms1.png
└── wms3.png
├── src
├── App.vue
├── api
│ └── api.js
├── assets
│ ├── css
│ │ ├── color-dark.css
│ │ ├── icon.css
│ │ ├── main.css
│ │ └── theme-green
│ │ │ ├── color-green.css
│ │ │ ├── fonts
│ │ │ ├── element-icons.ttf
│ │ │ └── element-icons.woff
│ │ │ └── index.css
│ ├── img
│ │ ├── img.jpg
│ │ └── login-bg.jpg
│ ├── logo.png
│ └── vuetable.json
├── components
│ ├── common
│ │ ├── Header.vue
│ │ ├── Home.vue
│ │ ├── Sidebar.vue
│ │ ├── Tags.vue
│ │ ├── bus.js
│ │ └── directives.js
│ └── page
│ │ ├── 403.vue
│ │ ├── 404.vue
│ │ ├── BaseCharts.vue
│ │ ├── BaseForm.vue
│ │ ├── BaseTable.vue
│ │ ├── Dashboard.vue
│ │ ├── DragDialog.vue
│ │ ├── DragList.vue
│ │ ├── Icon.vue
│ │ ├── Login.vue
│ │ ├── Markdown.vue
│ │ ├── Permission.vue
│ │ ├── Tabs.vue
│ │ ├── Upload.vue
│ │ ├── VueEditor.vue
│ │ ├── admin.vue
│ │ ├── sysmanager
│ │ └── usermanager.vue
│ │ ├── tree1.vue
│ │ ├── tree2.vue
│ │ ├── tree3.vue
│ │ ├── tree4.vue
│ │ └── tree5.vue
├── main.js
├── mock
│ ├── data
│ │ ├── sysmenu.js
│ │ └── user.js
│ └── mock.js
├── router
│ └── index.js
└── store
│ ├── index.js
│ └── modules
│ └── dailog.js
└── vue.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .vscode
3 | .idea
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | vue-element-admin
2 | vue-element-admin
3 |
4 | 基于 vue+element+admin 后台模板UI
5 |
6 |
7 | # 克隆项目
8 | git clone https://github.com/Angelasp/vue-element-admin.git
9 |
10 | # 进入项目目录
11 | cd vue-element-admin
12 |
13 | # 安装依赖
14 | npm install
15 |
16 | # 本地开发 启动项目
17 | npm run dev
18 |
19 | 发布
20 |
21 | # 构建测试环境
22 | npm run build:stage
23 |
24 | # 构建生产环境
25 | npm run build:prod
26 |
27 |
28 |
29 | 其它
30 | # 预览发布环境效果
31 | npm run preview
32 |
33 | # 预览发布环境效果 + 静态资源分析
34 | npm run preview -- --report
35 |
36 | # 代码格式检查
37 | npm run lint
38 |
39 | # 代码格式检查并自动修复
40 | npm run lint -- --fix
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/dist/css/chunk-17ff363c.da1f3f44.css:
--------------------------------------------------------------------------------
1 | .schart-box[data-v-5260aba8]{display:inline-block;margin:20px}.schart[data-v-5260aba8]{width:500px;height:400px}.content-title[data-v-5260aba8]{clear:both;font-weight:400;line-height:50px;margin:10px 0;font-size:22px;color:#1f2f3d}
--------------------------------------------------------------------------------
/dist/css/chunk-1ae3dee7.9ef3540a.css:
--------------------------------------------------------------------------------
1 | .handle-box[data-v-2ce489cc]{margin-bottom:20px}.handle-select[data-v-2ce489cc]{width:120px}.handle-input[data-v-2ce489cc]{width:300px;display:inline-block}.del-dialog-cnt[data-v-2ce489cc]{font-size:16px;text-align:center}.table[data-v-2ce489cc]{width:100%;font-size:14px}.red[data-v-2ce489cc]{color:red}.mr10[data-v-2ce489cc]{margin-right:10px}
--------------------------------------------------------------------------------
/dist/css/chunk-1b886a23.35b91634.css:
--------------------------------------------------------------------------------
1 | .example-p[data-v-78dfadcd]{height:45px;display:flex;align-items:center}.search-box[data-v-78dfadcd]{text-align:center;margin-top:10px}.search[data-v-78dfadcd]{width:300px}li[data-v-78dfadcd],ul[data-v-78dfadcd]{list-style:none}.icon-li[data-v-78dfadcd]{display:inline-block;padding:10px;width:120px;height:120px}.icon-li-content[data-v-78dfadcd]{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.icon-li-content i[data-v-78dfadcd]{font-size:36px;color:#606266}.icon-li-content span[data-v-78dfadcd]{margin-top:10px;color:#787878}
--------------------------------------------------------------------------------
/dist/css/chunk-1e8b0375.da313f37.css:
--------------------------------------------------------------------------------
1 | .custom-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between;font-size:14px;padding-right:8px}
--------------------------------------------------------------------------------
/dist/css/chunk-3fcdbc37.e9682407.css:
--------------------------------------------------------------------------------
1 | .drag-box[data-v-008819a0]{display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.drag-box-item[data-v-008819a0]{flex:1;max-width:330px;min-width:300px;background-color:#eff1f5;margin-right:16px;border-radius:6px;border:1px solid #e1e4e8}.item-title[data-v-008819a0]{padding:8px 8px 8px 12px;font-size:14px;line-height:1.5;color:#24292e;font-weight:600}.item-ul[data-v-008819a0]{padding:0 8px 8px;height:500px;overflow-y:scroll}.item-ul[data-v-008819a0]::-webkit-scrollbar{width:0}.drag-list[data-v-008819a0]{border:1px solid #e1e4e8;padding:10px;margin:5px 0 10px;list-style:none;background-color:#fff;border-radius:6px;cursor:pointer;transition:border .3s ease-in}.drag-list[data-v-008819a0]:hover{border:1px solid #20a0ff}.drag-title[data-v-008819a0]{font-weight:400;line-height:25px;margin:10px 0;font-size:22px;color:#1f2f3d}.ghost-style[data-v-008819a0]{display:block;color:transparent;border-style:dashed}
--------------------------------------------------------------------------------
/dist/css/chunk-4c285898.a8679454.css:
--------------------------------------------------------------------------------
1 | .el-row[data-v-48747b6f]{margin-bottom:20px}.grid-content[data-v-48747b6f]{display:flex;align-items:center;height:100px}.grid-cont-right[data-v-48747b6f]{flex:1;text-align:center;font-size:14px;color:#999}.grid-num[data-v-48747b6f]{font-size:30px;font-weight:700}.grid-con-icon[data-v-48747b6f]{font-size:50px;width:100px;height:100px;text-align:center;line-height:100px;color:#fff}.grid-con-1 .grid-con-icon[data-v-48747b6f]{background:#2d8cf0}.grid-con-1 .grid-num[data-v-48747b6f]{color:#2d8cf0}.grid-con-2 .grid-con-icon[data-v-48747b6f]{background:#64d572}.grid-con-2 .grid-num[data-v-48747b6f]{color:#2d8cf0}.grid-con-3 .grid-con-icon[data-v-48747b6f]{background:#f25e43}.grid-con-3 .grid-num[data-v-48747b6f]{color:#f25e43}.user-info[data-v-48747b6f]{display:flex;align-items:center;padding-bottom:20px;border-bottom:2px solid #ccc;margin-bottom:20px}.user-avator[data-v-48747b6f]{width:120px;height:120px;border-radius:50%}.user-info-cont[data-v-48747b6f]{padding-left:50px;flex:1;font-size:14px;color:#999}.user-info-cont div[data-v-48747b6f]:first-child{font-size:30px;color:#222}.user-info-list[data-v-48747b6f]{font-size:14px;color:#999;line-height:25px}.user-info-list span[data-v-48747b6f]{margin-left:70px}.mgb20[data-v-48747b6f]{margin-bottom:20px}.todo-item[data-v-48747b6f]{font-size:14px}.todo-item-del[data-v-48747b6f]{text-decoration:line-through;color:#999}.schart[data-v-48747b6f]{width:100%;height:300px}
--------------------------------------------------------------------------------
/dist/css/chunk-5c0d1206.aa11ab42.css:
--------------------------------------------------------------------------------
1 | .message-title{cursor:pointer}.handle-row{margin-top:30px}
--------------------------------------------------------------------------------
/dist/css/chunk-6325a08a.9ec5e003.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:fontello;src:url(../fonts/fontello.e73a0647.eot);src:url(../fonts/fontello.e73a0647.eot#iefix) format("embedded-opentype"),url(../fonts/fontello.8d4a4e6f.woff2) format("woff2"),url(../fonts/fontello.a782baa8.woff) format("woff"),url(../fonts/fontello.068ca2b3.ttf) format("truetype"),url(../img/fontello.9354499c.svg#fontello) format("svg");font-weight:400;font-style:normal}[class*=" fa-mavon-"]:before,[class^=fa-mavon-]:before{font-family:fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-mavon-bold:before{content:"\E800"}.fa-mavon-italic:before{content:"\E801"}.fa-mavon-thumb-tack:before{content:"\E802"}.fa-mavon-link:before{content:"\E803"}.fa-mavon-picture-o:before{content:"\E804"}.fa-mavon-repeat:before{content:"\E805"}.fa-mavon-undo:before{content:"\E806"}.fa-mavon-trash-o:before{content:"\E807"}.fa-mavon-floppy-o:before{content:"\E808"}.fa-mavon-compress:before{content:"\E809"}.fa-mavon-eye:before{content:"\E80A"}.fa-mavon-eye-slash:before{content:"\E80B"}.fa-mavon-question-circle:before{content:"\E80C"}.fa-mavon-times:before{content:"\E80D"}.fa-mavon-align-left:before{content:"\E80F"}.fa-mavon-align-center:before{content:"\E810"}.fa-mavon-align-right:before{content:"\E811"}.fa-mavon-arrows-alt:before{content:"\F0B2"}.fa-mavon-bars:before{content:"\F0C9"}.fa-mavon-list-ul:before{content:"\F0CA"}.fa-mavon-list-ol:before{content:"\F0CB"}.fa-mavon-strikethrough:before{content:"\F0CC"}.fa-mavon-underline:before{content:"\F0CD"}.fa-mavon-table:before{content:"\F0CE"}.fa-mavon-columns:before{content:"\F0DB"}.fa-mavon-quote-left:before{content:"\F10D"}.fa-mavon-code:before{content:"\F121"}.fa-mavon-superscript:before{content:"\F12B"}.fa-mavon-subscript:before{content:"\F12C"}.fa-mavon-header:before{content:"\F1DC"}.fa-mavon-window-maximize:before{content:"\F2D0"}.markdown-body strong{font-weight:bolder}.markdown-body .hljs-center{text-align:center}.markdown-body .hljs-right{text-align:right}.markdown-body .hljs-left{text-align:left}.editor-btn[data-v-2ab7efbb]{margin-top:20px}
--------------------------------------------------------------------------------
/dist/css/chunk-6a280086.e70c2829.css:
--------------------------------------------------------------------------------
1 | .el-row[data-v-bc3861ce]{margin-bottom:20px}.grid-content[data-v-bc3861ce]{display:flex;align-items:center;height:100px}.grid-cont-right[data-v-bc3861ce]{flex:1;text-align:center;font-size:14px;color:#999}.grid-num[data-v-bc3861ce]{font-size:30px;font-weight:700}.grid-con-icon[data-v-bc3861ce]{font-size:50px;width:100px;height:100px;text-align:center;line-height:100px;color:#fff}.grid-con-1 .grid-con-icon[data-v-bc3861ce]{background:#2d8cf0}.grid-con-1 .grid-num[data-v-bc3861ce]{color:#2d8cf0}.grid-con-2 .grid-con-icon[data-v-bc3861ce]{background:#64d572}.grid-con-2 .grid-num[data-v-bc3861ce]{color:#2d8cf0}.grid-con-3 .grid-con-icon[data-v-bc3861ce]{background:#f25e43}.grid-con-3 .grid-num[data-v-bc3861ce]{color:#f25e43}.user-info[data-v-bc3861ce]{display:flex;align-items:center;padding-bottom:20px;border-bottom:2px solid #ccc;margin-bottom:20px}.user-avator[data-v-bc3861ce]{width:120px;height:120px;border-radius:50%}.user-info-cont[data-v-bc3861ce]{padding-left:50px;flex:1;font-size:14px;color:#999}.user-info-cont div[data-v-bc3861ce]:first-child{font-size:30px;color:#222}.user-info-list[data-v-bc3861ce]{font-size:14px;color:#999;line-height:25px}.user-info-list span[data-v-bc3861ce]{margin-left:70px}.mgb20[data-v-bc3861ce]{margin-bottom:20px}.todo-item[data-v-bc3861ce]{font-size:14px}.todo-item-del[data-v-bc3861ce]{text-decoration:line-through;color:#999}.schart[data-v-bc3861ce]{width:100%;height:300px}
--------------------------------------------------------------------------------
/dist/css/chunk-6d4d5a6c.e35d7ec1.css:
--------------------------------------------------------------------------------
1 | h1[data-v-52f76618]{text-align:center;margin:30px 0}p[data-v-52f76618]{line-height:30px;margin-bottom:10px;text-indent:2em}.logout[data-v-52f76618]{color:#409eff}
--------------------------------------------------------------------------------
/dist/css/chunk-9bc4cee0.ab875a92.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Cropper.js v1.5.1
3 | * https://fengyuanchen.github.io/cropperjs
4 | *
5 | * Copyright 2015-present Chen Fengyuan
6 | * Released under the MIT license
7 | *
8 | * Date: 2019-03-10T09:55:50.492Z
9 | */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC")}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.content-title[data-v-03421e96]{font-weight:400;line-height:50px;margin:10px 0;font-size:22px;color:#1f2f3d}.pre-img[data-v-03421e96]{width:100px;height:100px;background:#f8f8f8;border:1px solid #eee;border-radius:5px}.crop-demo[data-v-03421e96]{display:flex;align-items:flex-end}.crop-demo-btn[data-v-03421e96]{position:relative;width:100px;height:40px;line-height:40px;padding:0 20px;margin-left:30px;background-color:#409eff;color:#fff;font-size:14px;border-radius:4px;box-sizing:border-box}.crop-input[data-v-03421e96]{position:absolute;width:100px;height:40px;left:0;top:0;opacity:0;cursor:pointer}
--------------------------------------------------------------------------------
/dist/css/chunk-9e5595b2.6f274057.css:
--------------------------------------------------------------------------------
1 | .login-wrap[data-v-4c1a1c62]{position:relative;width:100%;height:100%;background-image:url(../img/login-bg.86a64e59.jpg);background-size:100%}.ms-title[data-v-4c1a1c62]{width:100%;line-height:50px;text-align:center;font-size:20px;color:#000;border-bottom:1px solid #ddd}.ms-login[data-v-4c1a1c62]{position:absolute;left:50%;top:50%;width:350px;margin:-190px 0 0 -175px;border-radius:5px;background:#fff;overflow:hidden}.ms-content[data-v-4c1a1c62]{padding:30px 30px}.login-btn[data-v-4c1a1c62]{text-align:center}.login-btn button[data-v-4c1a1c62]{width:100%;height:36px;margin-bottom:10px}.login-tips[data-v-4c1a1c62]{font-size:12px;line-heigh:#000}
--------------------------------------------------------------------------------
/dist/css/chunk-b50229e6.5f5bf64d.css:
--------------------------------------------------------------------------------
1 | .header[data-v-2941f1b7]{background-color:#23262e!important;position:relative;box-sizing:border-box;width:100%;height:70px;font-size:22px;color:#fff}.collapse-btn[data-v-2941f1b7]{float:left;padding:0 21px;cursor:pointer;line-height:70px}.header .logo[data-v-2941f1b7]{float:left;width:250px;line-height:70px}.header-right[data-v-2941f1b7]{float:right;padding-right:50px}.header-user-con[data-v-2941f1b7]{display:flex;height:70px;align-items:center}.btn-fullscreen[data-v-2941f1b7]{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-right:5px;font-size:24px}.btn-bell[data-v-2941f1b7],.btn-fullscreen[data-v-2941f1b7]{position:relative;width:30px;height:30px;text-align:center;border-radius:15px;cursor:pointer}.btn-bell-badge[data-v-2941f1b7]{position:absolute;right:0;top:-2px;width:8px;height:8px;border-radius:4px;background:#f56c6c;color:#fff}.btn-bell .el-icon-bell[data-v-2941f1b7]{color:#fff}.user-name[data-v-2941f1b7]{margin-left:10px}.user-avator[data-v-2941f1b7]{margin-left:20px}.user-avator img[data-v-2941f1b7]{display:block;width:40px;height:40px;border-radius:50%}.el-dropdown-link[data-v-2941f1b7]{color:#fff;cursor:pointer}.el-dropdown-menu__item[data-v-2941f1b7]{text-align:center}.collapse-btn[data-v-2941f1b7]:hover{background-color:#009688!important}.sidebar[data-v-1a51074a]{display:block;position:absolute;left:0;top:70px;bottom:0;overflow-y:scroll}.sidebar[data-v-1a51074a]::-webkit-scrollbar{width:0}.sidebar-el-menu[data-v-1a51074a]:not(.el-menu--collapse){width:250px}.sidebar>ul[data-v-1a51074a]{height:100%}.tags{position:relative;height:35px;overflow:hidden;background:#fff;padding-right:120px;box-shadow:0 5px 10px #ddd}.tags ul{box-sizing:border-box;width:100%;height:100%}.tags-li{float:left;margin:3px 5px 2px 3px;border-radius:3px;font-size:12px;overflow:hidden;cursor:pointer;height:30px;line-height:23px;border:1px solid #e9eaec;background:#fff;padding:0 5px 0 12px;vertical-align:middle;color:#666;transition:all .3s ease-in}.tags-li:not(.active):hover{background:#f8f8f8}.tags-li.active{background-color:#009688!important;color:#fff}.tags-li-title{float:left;line-height:30px;max-width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:5px;color:#666}.tags-li.active .tags-li-title{color:#fff}.mbtn{height:30px}.tags-close-box{position:absolute;right:0;top:0;box-sizing:border-box;padding-top:1px;text-align:center;width:110px;height:35px;background:#fff;box-shadow:-3px 0 15px 3px rgba(0,0,0,.1);z-index:10}
--------------------------------------------------------------------------------
/dist/css/chunk-d5224c00.0dc8bff8.css:
--------------------------------------------------------------------------------
1 | .error-page[data-v-2e353fab]{display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%;height:100%;background:#f3f3f3;box-sizing:border-box}.error-code[data-v-2e353fab]{line-height:1;font-size:250px;font-weight:bolder;color:#f02d2d}.error-code span[data-v-2e353fab]{color:#00a854}.error-desc[data-v-2e353fab]{font-size:30px;color:#777}.error-handle[data-v-2e353fab]{margin-top:30px;padding-bottom:200px}.error-btn[data-v-2e353fab]{margin-left:100px}
--------------------------------------------------------------------------------
/dist/css/chunk-deb1ce48.770f2766.css:
--------------------------------------------------------------------------------
1 | .handle-box[data-v-354bf639]{margin-bottom:20px}.handle-select[data-v-354bf639]{width:120px}.handle-input[data-v-354bf639]{width:300px;display:inline-block}.del-dialog-cnt[data-v-354bf639]{font-size:16px;text-align:center}.table[data-v-354bf639]{width:100%;font-size:14px}.red[data-v-354bf639]{color:red}.mr10[data-v-354bf639]{margin-right:10px}
--------------------------------------------------------------------------------
/dist/css/chunk-e1f9e4d0.13288674.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/css/chunk-e1f9e4d0.13288674.css
--------------------------------------------------------------------------------
/dist/css/chunk-f1225e32.8dd63ce0.css:
--------------------------------------------------------------------------------
1 | .error-page[data-v-cb97bba6]{display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%;height:100%;background:#f3f3f3;box-sizing:border-box}.error-code[data-v-cb97bba6]{line-height:1;font-size:250px;font-weight:bolder;color:#2d8cf0}.error-code span[data-v-cb97bba6]{color:#00a854}.error-desc[data-v-cb97bba6]{font-size:30px;color:#777}.error-handle[data-v-cb97bba6]{margin-top:30px;padding-bottom:200px}.error-btn[data-v-cb97bba6]{margin-left:100px}
--------------------------------------------------------------------------------
/dist/fonts/element-icons.2fad952a.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/fonts/element-icons.2fad952a.woff
--------------------------------------------------------------------------------
/dist/fonts/element-icons.6f0a7632.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/fonts/element-icons.6f0a7632.ttf
--------------------------------------------------------------------------------
/dist/fonts/fontello.068ca2b3.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/fonts/fontello.068ca2b3.ttf
--------------------------------------------------------------------------------
/dist/fonts/fontello.8d4a4e6f.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/fonts/fontello.8d4a4e6f.woff2
--------------------------------------------------------------------------------
/dist/fonts/fontello.a782baa8.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/fonts/fontello.a782baa8.woff
--------------------------------------------------------------------------------
/dist/fonts/fontello.e73a0647.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/fonts/fontello.e73a0647.eot
--------------------------------------------------------------------------------
/dist/img/img.28e441c3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/img/img.28e441c3.jpg
--------------------------------------------------------------------------------
/dist/img/login-bg.86a64e59.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/dist/img/login-bg.86a64e59.jpg
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 |
vue-element-admin-ui
--------------------------------------------------------------------------------
/dist/js/app.47334d33.js:
--------------------------------------------------------------------------------
1 | (function(e){function n(n){for(var c,o,r=n[0],i=n[1],h=n[2],d=0,l=[];dd?c=-d:c>l&&(c=l),-o>f?o=-f:o>p&&(o=p),u.style.cssText+=";left:".concat(c+s,"px;top:").concat(o+b,"px;")},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null}}}});t("db4d");var m=t("2f62"),k={showUser:!1},v={isShow:function(e){return e.showUser}},y={hide:function(e){e.showUser=!1},show:function(e){e.showUser=!0}},g={showDailog:function(e){var n=e.commit;n("show")},hideDailog:function(e){var n=e.commit;n("hide")}},w={namespaced:!0,getters:v,mutations:y,actions:g,state:k};c["default"].use(m["a"]);var x=new m["a"].Store({modules:{dailog:w}}),S=x;c["default"].config.productionTip=!1,c["default"].use(b.a,{size:"small"}),c["default"].prototype.$axios=p.a,l.beforeEach(function(e,n,t){var o=localStorage.getItem("ms_username");o||"/login"===e.path?e.meta.permission?"admin"===o?t():t("/403"):navigator.userAgent.indexOf("MSIE")>-1&&"/editor"===e.path?c["default"].prototype.$alert("vue-quill-editor组件不兼容IE10及以下浏览器,请使用更高版本的浏览器查看","浏览器不兼容通知",{confirmButtonText:"确定"}):t():t("/login")}),new c["default"]({router:l,store:S,render:function(e){return e(h)}}).$mount("#app")},"64a9":function(e,n,t){},b92b:function(e,n,t){},d21e:function(e,n,t){}});
--------------------------------------------------------------------------------
/dist/js/chunk-17ff363c.d5dc8351.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-17ff363c"],{"026e":function(t,i,s){"use strict";s.r(i);var h=function(){var t=this,i=t.$createElement,s=t._self._c||i;return s("div",[s("div",{staticClass:"crumbs"},[s("el-breadcrumb",{attrs:{separator:"/"}},[s("el-breadcrumb-item",[s("i",{staticClass:"el-icon-lx-favor"}),t._v(" schart图表")])],1)],1),s("div",{staticClass:"container"},[t._m(0),s("div",{staticClass:"schart-box"},[s("div",{staticClass:"content-title"},[t._v("柱状图")]),s("schart",{staticClass:"schart",attrs:{canvasId:"bar",data:t.data1,type:"bar",options:t.options1}})],1),s("div",{staticClass:"schart-box"},[s("div",{staticClass:"content-title"},[t._v("折线图")]),s("schart",{staticClass:"schart",attrs:{canvasId:"line",data:t.data1,type:"line",options:t.options2}})],1),s("div",{staticClass:"schart-box"},[s("div",{staticClass:"content-title"},[t._v("饼状图")]),s("schart",{staticClass:"schart",attrs:{canvasId:"pie",data:t.data2,type:"pie",options:t.options3}})],1),s("div",{staticClass:"schart-box"},[s("div",{staticClass:"content-title"},[t._v("环形图")]),s("schart",{staticClass:"schart",attrs:{canvasId:"ring",data:t.data2,type:"ring",options:t.options4}})],1)])])},a=[function(){var t=this,i=t.$createElement,s=t._self._c||i;return s("div",{staticClass:"plugins-tips"},[t._v("\n vue-schart:vue.js封装sChart.js的图表组件。\n 访问地址:"),s("a",{attrs:{href:"https://github.com/lin-xin/vue-schart",target:"_blank"}},[t._v("vue-schart")])])}],e=s("f5ac"),o={name:"basecharts",components:{Schart:e["a"]},data:function(){return{data1:[{name:"2012",value:1141},{name:"2013",value:1499},{name:"2014",value:2260},{name:"2015",value:1170},{name:"2016",value:970},{name:"2017",value:1450}],data2:[{name:"短袖",value:1200},{name:"休闲裤",value:1222},{name:"连衣裙",value:1283},{name:"外套",value:1314},{name:"羽绒服",value:2314}],options1:{title:"某商店近年营业总额",autoWidth:!0,showValue:!1,bgColor:"#F9EFCC",fillColor:"#00887C",contentColor:"rgba(46,199,201,0.3)",yEqual:7},options2:{title:"某商店近年营业总额",bgColor:"#D5E4EB",titleColor:"#00887C",fillColor:"red",contentColor:"rgba(46,199,201,0.3)"},options3:{title:"某商店各商品年度销量",bgColor:"#829dca",titleColor:"#ffffff",legendColor:"#ffffff",radius:120},options4:{title:"某商店各商品年度销量",bgColor:"#829daa",titleColor:"#ffffff",legendColor:"#ffffff",radius:120,innerRadius:80}}}},n=o,d=(s("5be3"),s("2877")),l=Object(d["a"])(n,h,a,!1,null,"5260aba8",null);l.options.__file="BaseCharts.vue";i["default"]=l.exports},"5be3":function(t,i,s){"use strict";var h=s("c785"),a=s.n(h);a.a},"8c93":function(t,i,s){var h;
2 | /*!
3 | * sChart JavaScript Library v2.0.1
4 | * http://blog.gdfengshuo.com/example/sChart/ | Released under the MIT license
5 | * Date: 2018-04-16T18:59Z
6 | */
7 | /*!
8 | * sChart JavaScript Library v2.0.1
9 | * http://blog.gdfengshuo.com/example/sChart/ | Released under the MIT license
10 | * Date: 2018-04-16T18:59Z
11 | */
12 | (function(a,e){h=function(){return e(a)}.call(i,s,i,t),void 0===h||(t.exports=h)})(this,function(t){"use strict";function i(t,i,s,h){this.canvas=document.getElementById(t),this.ctx=this.canvas.getContext("2d"),this.dpi=window.devicePixelRatio||1,this.type=i,this.data=s,this.dataLength=this.data.length,this.showValue=!0,this.autoWidth=!1,this.width=this.canvas.width*this.dpi,this.height=this.canvas.height*this.dpi,this.topPadding=50*this.dpi,this.leftPadding=50*this.dpi,this.rightPadding=0*this.dpi,this.bottomPadding=50*this.dpi,this.yEqual=5,this.yLength=0,this.xLength=0,this.yFictitious=0,this.yRatio=0,this.bgColor="#ffffff",this.fillColor="#1E9FFF",this.axisColor="#666666",this.contentColor="#eeeeee",this.titleColor="#000000",this.title="",this.titlePosition="top",this.radius=100*this.dpi,this.innerRadius=70*this.dpi,this.colorList=["#1E9FFF","#13CE66","#F7BA2A","#FF4949","#72f6ff","#199475","#e08031","#726dd1"],this.legendColor="#000000",this.legendTop=40*this.dpi,this.totalValue=this.getTotalValue(),this.init(h)}return i.prototype={init:function(t){if(0===this.dataLength)return!1;if(t){var i=["topPadding","leftPadding","rightPadding","bottomPadding","radius","innerRadius","legendTop"];for(var s in t)"colorList"===s&&Array.isArray(t[s])?this[s]=t[s].concat(this[s]):i.indexOf(s)>-1?this[s]=t[s]*this.dpi:this[s]=t[s]}t.autoWidth?(this.width=this.canvas.width=this.canvas.parentNode.offsetWidth*this.dpi,this.height=this.canvas.height=this.canvas.parentNode.offsetHeight*this.dpi,this.canvas.setAttribute("style","width:"+this.canvas.parentNode.offsetWidth+"px;height:"+this.canvas.parentNode.offsetHeight+"px;")):(this.canvas.setAttribute("style","width:"+this.canvas.width+"px;height:"+this.canvas.height+"px;"),this.canvas.width*=this.dpi,this.canvas.height*=this.dpi),"bar"===this.type||"line"===this.type?(this.yLength=Math.floor((this.height-this.topPadding-this.bottomPadding-10)/this.yEqual),this.xLength=Math.floor((this.width-this.leftPadding-this.rightPadding-10)/this.dataLength),this.yFictitious=this.getYFictitious(this.data),this.yRatio=this.yLength/this.yFictitious,this.drawBarUpdate()):this.drawPieUpdate()},drawBarUpdate:function(){this.ctx.fillStyle=this.bgColor,this.ctx.fillRect(0,0,this.width,this.height),this.drawAxis(),this.drawPoint(),this.drawTitle(),this.drawBarChart()},drawPieUpdate:function(){this.ctx.fillStyle=this.bgColor,this.ctx.fillRect(0,0,this.width,this.height),this.drawLegend(),this.drawTitle(),this.drawPieChart()},drawBarChart:function(){this.ctx.fillStyle=this.fillColor,this.ctx.strokeStyle=this.fillColor;for(var t=0;t0&&this.data[a].middle<=Math.PI/2?(this.ctx.textAlign="left",this.ctx.moveTo(t+s,i+h),this.ctx.lineTo(t+s+10,i+h+10),this.ctx.moveTo(t+s+10,i+h+10),this.ctx.lineTo(t+s+this.radius/2,i+h+10),this.ctx.stroke(),this.ctx.fillText(this.data[a].value,t+s+5+this.radius/2,i+h+15)):this.data[a].middle>Math.PI/2&&this.data[a].middle=40?this.ctx.fillText(this.title,this.width/2,this.height-5):this.ctx.fillText(this.title,this.width/2,this.topPadding/2+5))},drawLegend:function(){for(var t=0;t2?2:h,Math.ceil(s/Math.pow(10,h))*Math.pow(10,h)},getTotalValue:function(){for(var t=0,i=0;i-1&&(t.name.indexOf(e.select_word)>-1||t.address.indexOf(e.select_word)>-1))return t})}},methods:{handleCurrentChange:function(e){this.cur_page=e,this.getData()},getData:function(){var e=this;this.$axios.post(this.url,{page:this.cur_page}).then(function(t){e.tableData=t.data.list})},search:function(){this.is_search=!0},formatter:function(e,t){return e.address},filterTag:function(e,t){return t.tag===e},handleEdit:function(e,t){this.idx=e;var a=this.tableData[e];this.form={name:a.name,date:a.date,address:a.address},this.editVisible=!0},handleDelete:function(e,t){this.idx=e,this.delVisible=!0},delAll:function(){var e=this.multipleSelection.length,t="";this.del_list=this.del_list.concat(this.multipleSelection);for(var a=0;a')])])},function(){var i=this,l=i.$createElement,e=i._self._c||l;return e("p",{staticClass:"example-p"},[e("i",{staticClass:"el-icon-lx-weibo",staticStyle:{"font-size":"30px",color:"#fd5656"}}),e("span",[i._v('')])])},function(){var i=this,l=i.$createElement,e=i._self._c||l;return e("p",{staticClass:"example-p"},[e("i",{staticClass:"el-icon-lx-emojifill",staticStyle:{"font-size":"30px",color:"#ffc300"}}),e("span",[i._v('')])])}],a=(e("57e7"),e("d25f"),{data:function(){return{keyword:"",iconList:["attentionforbid","attentionforbidfill","attention","attentionfill","tag","tagfill","people","peoplefill","notice","noticefill","mobile","mobilefill","voice","voicefill","unlock","lock","home","homefill","delete","deletefill","notification","notificationfill","notificationforbidfill","like","likefill","comment","commentfill","camera","camerafill","warn","warnfill","time","timefill","location","locationfill","favor","favorfill","skin","skinfill","news","newsfill","record","recordfill","emoji","emojifill","message","messagefill","goods","goodsfill","crown","crownfill","move","add","hot","hotfill","service","servicefill","present","presentfill","pic","picfill","rank","rankfill","male","female","down","top","recharge","rechargefill","forward","forwardfill","info","infofill","redpacket","redpacket_fill","roundadd","roundaddfill","friendadd","friendaddfill","cart","cartfill","more","moreandroid","back","right","shop","shopfill","question","questionfill","roundclose","roundclosefill","roundcheck","roundcheckfill","global","mail","punch","exit","upload","read","file","link","full","group","friend","profile","addressbook","calendar","text","copy","share","wifi","vipcard","weibo","remind","refresh","filter","settings","scan","qrcode","cascades","apps","sort","searchlist","search","edit"]}},computed:{list:function(){var i=this;return this.iconList.filter(function(l){return-1!==l.indexOf(i.keyword)})}}}),n=a,c=(e("5af7"),e("2877")),s=Object(c["a"])(n,t,o,!1,null,"78dfadcd",null);s.options.__file="Icon.vue";l["default"]=s.exports}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-1e8b0375.333b4158.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1e8b0375"],{"2e66":function(e,n,a){},"3cda":function(e,n,a){"use strict";a.r(n);var t=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("div",{staticClass:"custom-tree-container"},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"block"},[a("p",[e._v("使用 render-content")]),a("el-tree",{attrs:{data:e.data4,"show-checkbox":"","node-key":"id","default-expand-all":"","expand-on-click-node":!1,"render-content":e.renderContent}})],1)]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"block",attrs:{span:12}},[a("p",[e._v("使用 scoped slot")]),a("el-tree",{attrs:{data:e.data5,"show-checkbox":"","node-key":"id","default-expand-all":"","expand-on-click-node":!1},scopedSlots:e._u([{key:"default",fn:function(n){var t=n.node,l=n.data;return a("span",{staticClass:"custom-tree-node"},[a("span",[e._v(e._s(t.label))]),a("span",[a("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(){return e.append(l)}}},[e._v("Append")]),a("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(){return e.remove(t,l)}}},[e._v("Delete")])],1)])}}])})],1)])],1),a("el-row",[a("h4",{staticStyle:{padding:"10px"}},[e._v("可拖拽节点")]),a("el-tree",{attrs:{data:e.data6,"node-key":"id","default-expand-all":"",draggable:"","allow-drop":e.allowDrop,"allow-drag":e.allowDrag},on:{"node-drag-start":e.handleDragStart,"node-drag-enter":e.handleDragEnter,"node-drag-leave":e.handleDragLeave,"node-drag-over":e.handleDragOver,"node-drag-end":e.handleDragEnd,"node-drop":e.handleDrop}})],1)],1)])},l=[],r=(a("57e7"),a("20d6"),a("f499")),d=a.n(r),o=1e3,i={data:function(){var e=[{id:1,label:"一级 1",children:[{id:4,label:"二级 1-1",children:[{id:9,label:"三级 1-1-1"},{id:10,label:"三级 1-1-2"}]}]},{id:2,label:"一级 2",children:[{id:5,label:"二级 2-1"},{id:6,label:"二级 2-2"}]},{id:3,label:"一级 3",children:[{id:7,label:"二级 3-1"},{id:8,label:"二级 3-2"}]}];return{data4:JSON.parse(d()(e)),data5:JSON.parse(d()(e)),data6:[{id:1,label:"一级 1",children:[{id:4,label:"二级 1-1",children:[{id:9,label:"三级 1-1-1"},{id:10,label:"三级 1-1-2"}]}]},{id:2,label:"一级 2",children:[{id:5,label:"二级 2-1"},{id:6,label:"二级 2-2"}]},{id:3,label:"一级 3",children:[{id:7,label:"二级 3-1"},{id:8,label:"二级 3-2",children:[{id:11,label:"三级 3-2-1"},{id:12,label:"三级 3-2-2"},{id:13,label:"三级 3-2-3"}]}]}]}},methods:{append:function(e){var n={id:o++,label:"testtest",children:[]};e.children||this.$set(e,"children",[]),e.children.push(n)},remove:function(e,n){var a=e.parent,t=a.data.children||a.data,l=t.findIndex(function(e){return e.id===n.id});t.splice(l,1)},renderContent:function(e,n){var a=this,t=n.node,l=n.data;n.store;return e("span",{class:"custom-tree-node"},[e("span",[t.label]),e("span",[e("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(){return a.append(l)}}},["Append"]),e("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(){return a.remove(t,l)}}},["Delete"])])])},handleDragStart:function(e,n){console.log("drag start",e)},handleDragEnter:function(e,n,a){console.log("tree drag enter: ",n.label)},handleDragLeave:function(e,n,a){console.log("tree drag leave: ",n.label)},handleDragOver:function(e,n,a){console.log("tree drag over: ",n.label)},handleDragEnd:function(e,n,a,t){console.log("tree drag end: ",n&&n.label,a)},handleDrop:function(e,n,a,t){console.log("tree drop: ",n.label,a)},allowDrop:function(e,n,a){return"二级 3-1"!==n.data.label||"inner"!==a},allowDrag:function(e){return-1===e.data.label.indexOf("三级 3-2-2")}}},c=i,s=(a("5896"),a("2877")),u=Object(s["a"])(c,t,l,!1,null,null,null);u.options.__file="tree3.vue";n["default"]=u.exports},5896:function(e,n,a){"use strict";var t=a("2e66"),l=a.n(t);l.a},a21f:function(e,n,a){var t=a("584a"),l=t.JSON||(t.JSON={stringify:JSON.stringify});e.exports=function(e){return l.stringify.apply(l,arguments)}},f499:function(e,n,a){e.exports=a("a21f")}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-2d0bd1e8.43168f2c.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0bd1e8"],{"2b46":function(e,l,a){"use strict";a.r(l);var n=function(){var e=this,l=e.$createElement,a=e._self._c||l;return a("div",[a("el-row",[a("h4",{staticStyle:{padding:"10px"}},[e._v("基础可选择")]),a("el-tree",{attrs:{props:e.props,load:e.loadNode,lazy:"","show-checkbox":""},on:{"check-change":e.handleCheckChange}})],1),a("el-row",[a("h4",{staticStyle:{padding:"10px"}},[e._v("懒加载")]),a("el-tree",{attrs:{props:e.props1,load:e.loadNode1,lazy:"","show-checkbox":""}})],1),a("el-row",[a("h4",{staticStyle:{padding:"10px"}},[e._v("默认选中")]),a("el-tree",{attrs:{data:e.data2,"show-checkbox":"","node-key":"id","default-expanded-keys":[2,3],"default-checked-keys":[5],props:e.defaultProps}})],1)],1)},o=[],d=(a("7f7f"),{data:function(){return{props:{label:"name",children:"zones"},props1:{label:"name",children:"zones",isLeaf:"leaf"},count:1,data2:[{id:1,label:"一级 1",children:[{id:4,label:"二级 1-1",children:[{id:9,label:"三级 1-1-1"},{id:10,label:"三级 1-1-2"}]}]},{id:2,label:"一级 2",children:[{id:5,label:"二级 2-1"},{id:6,label:"二级 2-2"}]},{id:3,label:"一级 3",children:[{id:7,label:"二级 3-1"},{id:8,label:"二级 3-2"}]}],defaultProps:{children:"children",label:"label"}}},methods:{handleCheckChange:function(e,l,a){console.log(e,l,a)},handleNodeClick:function(e){console.log(e)},loadNode1:function(e,l){return 0===e.level?l([{name:"region"}]):e.level>1?l([]):void setTimeout(function(){var e=[{name:"leaf",leaf:!0},{name:"zone"}];l(e)},500)},loadNode:function(e,l){var a,n=this;return 0===e.level?l([{name:"region1"},{name:"region2"}]):e.level>3?l([]):(a="region1"===e.data.name||"region2"!==e.data.name&&Math.random()>.5,void setTimeout(function(){var e;e=a?[{name:"zone"+n.count++},{name:"zone"+n.count++}]:[],l(e)},500))}}}),t=d,i=a("2877"),r=Object(i["a"])(t,n,o,!1,null,null,null);r.options.__file="tree2.vue";l["default"]=r.exports}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-2d0cf140.c711a823.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0cf140"],{"61d3":function(l,e,a){"use strict";a.r(e);var t=function(){var l=this,e=l.$createElement,a=l._self._c||e;return a("div",[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-row",[a("el-col",{attrs:{span:24}},[a("h4",{staticStyle:{padding:"10px"}},[l._v("基本类型树")])]),a("el-col",{attrs:{span:20}},[a("el-tree",{attrs:{data:l.data,props:l.defaultProps},on:{"node-click":l.handleNodeClick}})],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-row",[a("el-col",{attrs:{span:24}},[a("h4",{staticStyle:{padding:"10px"}},[l._v("手风琴模式")])]),a("el-col",{attrs:{span:20}},[a("el-tree",{attrs:{data:l.data,props:l.defaultProps,accordion:""},on:{"node-click":l.handleNodeClick}})],1)],1)],1)],1)],1)},n=[],c=(a("cadf"),a("551c"),a("097d"),{data:function(){return{data:[{label:"一级 1",children:[{label:"二级 1-1",children:[{label:"三级 1-1-1"}]}]},{label:"一级 2",children:[{label:"二级 2-1",children:[{label:"三级 2-1-1"}]},{label:"二级 2-2",children:[{label:"三级 2-2-1"}]}]},{label:"一级 3",children:[{label:"二级 3-1",children:[{label:"三级 3-1-1"}]},{label:"二级 3-2",children:[{label:"三级 3-2-1"}]}]}],defaultProps:{children:"children",label:"label"}}},methods:{handleNodeClick:function(l){console.log(l)}}}),r=c,d=a("2877"),o=Object(d["a"])(r,t,n,!1,null,null,null);o.options.__file="tree1.vue";e["default"]=o.exports}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-2d0dab14.3d2246d8.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dab14"],{"6d4d":function(n,e,u){"use strict";u.r(e);var l,o,t=u("2877"),d={},p=Object(t["a"])(d,l,o,!1,null,null,null);p.options.__file="tree4.vue",e["default"]=p.exports}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-2d22bf9c.8143898b.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22bf9c"],{f0ea:function(e,n,u){"use strict";u.r(n);var l,o,t=u("2877"),c={},p=Object(t["a"])(c,l,o,!1,null,null,null);p.options.__file="tree5.vue",n["default"]=p.exports}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-2d230500.93889c78.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d230500"],{ec6b:function(e,l,a){"use strict";a.r(l);var t=function(){var e=this,l=e.$createElement,a=e._self._c||l;return a("div",[a("div",{staticClass:"crumbs"},[a("el-breadcrumb",{attrs:{separator:"/"}},[a("el-breadcrumb-item",[a("i",{staticClass:"el-icon-lx-calendar"}),e._v(" 表单")]),a("el-breadcrumb-item",[e._v("基本表单")])],1)],1),a("div",{staticClass:"container"},[a("div",{staticClass:"form-box"},[a("el-form",{ref:"form",attrs:{model:e.form,"label-width":"80px"}},[a("el-form-item",{attrs:{label:"表单名称"}},[a("el-input",{model:{value:e.form.name,callback:function(l){e.$set(e.form,"name",l)},expression:"form.name"}})],1),a("el-form-item",{attrs:{label:"选择器"}},[a("el-select",{attrs:{placeholder:"请选择"},model:{value:e.form.region,callback:function(l){e.$set(e.form,"region",l)},expression:"form.region"}},[a("el-option",{key:"bbk",attrs:{label:"步步高",value:"bbk"}}),a("el-option",{key:"xtc",attrs:{label:"小天才",value:"xtc"}}),a("el-option",{key:"imoo",attrs:{label:"imoo",value:"imoo"}})],1)],1),a("el-form-item",{attrs:{label:"日期时间"}},[a("el-col",{attrs:{span:11}},[a("el-date-picker",{staticStyle:{width:"100%"},attrs:{type:"date",placeholder:"选择日期"},model:{value:e.form.date1,callback:function(l){e.$set(e.form,"date1",l)},expression:"form.date1"}})],1),a("el-col",{staticClass:"line",attrs:{span:2}},[e._v("-")]),a("el-col",{attrs:{span:11}},[a("el-time-picker",{staticStyle:{width:"100%"},attrs:{placeholder:"选择时间"},model:{value:e.form.date2,callback:function(l){e.$set(e.form,"date2",l)},expression:"form.date2"}})],1)],1),a("el-form-item",{attrs:{label:"城市级联"}},[a("el-cascader",{attrs:{options:e.options},model:{value:e.form.options,callback:function(l){e.$set(e.form,"options",l)},expression:"form.options"}})],1),a("el-form-item",{attrs:{label:"选择开关"}},[a("el-switch",{model:{value:e.form.delivery,callback:function(l){e.$set(e.form,"delivery",l)},expression:"form.delivery"}})],1),a("el-form-item",{attrs:{label:"多选框"}},[a("el-checkbox-group",{model:{value:e.form.type,callback:function(l){e.$set(e.form,"type",l)},expression:"form.type"}},[a("el-checkbox",{attrs:{label:"步步高",name:"type"}}),a("el-checkbox",{attrs:{label:"小天才",name:"type"}}),a("el-checkbox",{attrs:{label:"imoo",name:"type"}})],1)],1),a("el-form-item",{attrs:{label:"单选框"}},[a("el-radio-group",{model:{value:e.form.resource,callback:function(l){e.$set(e.form,"resource",l)},expression:"form.resource"}},[a("el-radio",{attrs:{label:"步步高"}}),a("el-radio",{attrs:{label:"小天才"}}),a("el-radio",{attrs:{label:"imoo"}})],1)],1),a("el-form-item",{attrs:{label:"文本框"}},[a("el-input",{attrs:{type:"textarea",rows:"5"},model:{value:e.form.desc,callback:function(l){e.$set(e.form,"desc",l)},expression:"form.desc"}})],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("表单提交")]),a("el-button",[e._v("取消")])],1)],1)],1)])])},o=[],r={name:"baseform",data:function(){return{options:[{value:"guangdong",label:"广东省",children:[{value:"guangzhou",label:"广州市",children:[{value:"tianhe",label:"天河区"},{value:"haizhu",label:"海珠区"}]},{value:"dongguan",label:"东莞市",children:[{value:"changan",label:"长安镇"},{value:"humen",label:"虎门镇"}]}]},{value:"hunan",label:"湖南省",children:[{value:"changsha",label:"长沙市",children:[{value:"yuelu",label:"岳麓区"}]}]}],form:{name:"",region:"",date1:"",date2:"",delivery:!0,type:["步步高"],resource:"小天才",desc:"",options:[]}}},methods:{onSubmit:function(){this.$message.success("提交成功!")}}},s=r,i=a("2877"),n=Object(i["a"])(s,t,o,!1,null,null,null);n.options.__file="BaseForm.vue";l["default"]=n.exports}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-5c0d1206.cda24eaf.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5c0d1206"],{"0fc0":function(t,e,a){"use strict";var l=a("3e8a"),s=a.n(l);s.a},"3a5b":function(t,e,a){"use strict";a.r(e);var l=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{},[a("div",{staticClass:"crumbs"},[a("el-breadcrumb",{attrs:{separator:"/"}},[a("el-breadcrumb-item",[a("i",{staticClass:"el-icon-lx-copy"}),t._v(" tab选项卡")])],1)],1),a("div",{staticClass:"container"},[a("el-tabs",{model:{value:t.message,callback:function(e){t.message=e},expression:"message"}},[a("el-tab-pane",{attrs:{label:"未读消息("+t.unread.length+")",name:"first"}},[a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.unread,"show-header":!1}},[a("el-table-column",{scopedSlots:t._u([{key:"default",fn:function(e){return[a("span",{staticClass:"message-title"},[t._v(t._s(e.row.title))])]}}])}),a("el-table-column",{attrs:{prop:"date",width:"180"}}),a("el-table-column",{attrs:{width:"120"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button",{attrs:{size:"small"},on:{click:function(a){t.handleRead(e.$index)}}},[t._v("标为已读")])]}}])})],1),a("div",{staticClass:"handle-row"},[a("el-button",{attrs:{type:"primary"}},[t._v("全部标为已读")])],1)],1),a("el-tab-pane",{attrs:{label:"已读消息("+t.read.length+")",name:"second"}},["second"===t.message?[a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.read,"show-header":!1}},[a("el-table-column",{scopedSlots:t._u([{key:"default",fn:function(e){return[a("span",{staticClass:"message-title"},[t._v(t._s(e.row.title))])]}}])}),a("el-table-column",{attrs:{prop:"date",width:"150"}}),a("el-table-column",{attrs:{width:"120"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button",{attrs:{type:"danger"},on:{click:function(a){t.handleDel(e.$index)}}},[t._v("删除")])]}}])})],1),a("div",{staticClass:"handle-row"},[a("el-button",{attrs:{type:"danger"}},[t._v("删除全部")])],1)]:t._e()],2),a("el-tab-pane",{attrs:{label:"回收站("+t.recycle.length+")",name:"third"}},["third"===t.message?[a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.recycle,"show-header":!1}},[a("el-table-column",{scopedSlots:t._u([{key:"default",fn:function(e){return[a("span",{staticClass:"message-title"},[t._v(t._s(e.row.title))])]}}])}),a("el-table-column",{attrs:{prop:"date",width:"150"}}),a("el-table-column",{attrs:{width:"120"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button",{on:{click:function(a){t.handleRestore(e.$index)}}},[t._v("还原")])]}}])})],1),a("div",{staticClass:"handle-row"},[a("el-button",{attrs:{type:"danger"}},[t._v("清空回收站")])],1)]:t._e()],2)],1)],1)])},s=[],n=(a("cadf"),a("551c"),a("097d"),{name:"tabs",data:function(){return{message:"first",showHeader:!1,unread:[{date:"2018-04-19 20:00:00",title:"【系统通知】该系统将于今晚凌晨2点到5点进行升级维护"},{date:"2018-04-19 21:00:00",title:"今晚12点整发大红包,先到先得"}],read:[{date:"2018-04-19 20:00:00",title:"【系统通知】该系统将于今晚凌晨2点到5点进行升级维护"}],recycle:[{date:"2018-04-19 20:00:00",title:"【系统通知】该系统将于今晚凌晨2点到5点进行升级维护"}]}},methods:{handleRead:function(t){var e=this.unread.splice(t,1);console.log(e),this.read=e.concat(this.read)},handleDel:function(t){var e=this.read.splice(t,1);this.recycle=e.concat(this.recycle)},handleRestore:function(t){var e=this.recycle.splice(t,1);this.read=e.concat(this.read)}},computed:{unreadNum:function(){return this.unread.length}}}),r=n,c=(a("0fc0"),a("2877")),i=Object(c["a"])(r,l,s,!1,null,null,null);i.options.__file="Tabs.vue";e["default"]=i.exports},"3e8a":function(t,e,a){}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-6a280086.23f171af.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6a280086"],{2147:function(t,s,a){"use strict";a.r(s);var n=function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",[n("el-row",[n("el-col",{attrs:{span:24}},[n("el-card",{staticClass:"mgb20",staticStyle:{height:"252px"},attrs:{shadow:"hover"}},[n("div",{staticClass:"user-info"},[n("img",{staticClass:"user-avator",attrs:{src:a("7159"),alt:""}}),n("div",{staticClass:"user-info-cont"},[n("div",{staticClass:"user-info-name"},[t._v(t._s(t.name))]),n("div",[t._v(t._s(t.role))])])]),n("div",{staticClass:"user-info-list"},[t._v("\n 上次登录时间:\n "),n("span",[t._v("2018-01-01")])]),n("div",{staticClass:"user-info-list"},[t._v("\n 上次登录地点:\n "),n("span",[t._v("东莞")])])])],1)],1)],1)},e=[],i=(a("7f7f"),a("cadf"),a("551c"),a("097d"),{name:"admin",data:function(){return{name:localStorage.getItem("ms_username")}},computed:{role:function(){return"admin"===this.name?"超级管理员":"普通用户"}}}),c=i,r=(a("970d"),a("2877")),o=Object(r["a"])(c,n,e,!1,null,"bc3861ce",null);o.options.__file="admin.vue";s["default"]=o.exports},"3fac":function(t,s,a){},7159:function(t,s,a){t.exports=a.p+"img/img.28e441c3.jpg"},"970d":function(t,s,a){"use strict";var n=a("3fac"),e=a.n(n);e.a}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-6d4d5a6c.38d11021.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6d4d5a6c"],{"024e":function(t,n,a){},"38d5":function(t,n,a){"use strict";a.r(n);var s=function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",[a("div",{staticClass:"crumbs"},[a("el-breadcrumb",{attrs:{separator:"/"}},[a("el-breadcrumb-item",[a("i",{staticClass:"el-icon-lx-warn"}),t._v(" 权限测试")])],1)],1),a("div",{staticClass:"container"},[a("h1",[t._v("管理员权限页面")]),a("p",[t._v("只有用 admin 账号登录的才拥有管理员权限,才能进到这个页面,其他账号想进来都会跳到403页面,重新用管理员账号登录才有权限。")]),a("p",[t._v("想尝试一下,请"),a("router-link",{staticClass:"logout",attrs:{to:"/login"}},[t._v("退出登录")]),t._v(",随便输入个账号名,再进来试试看。")],1)])])},e=[],i={data:function(){return{}}},r=i,c=(a("8992"),a("2877")),o=Object(c["a"])(r,s,e,!1,null,"52f76618",null);o.options.__file="Permission.vue";n["default"]=o.exports},8992:function(t,n,a){"use strict";var s=a("024e"),e=a.n(s);e.a}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-9e5595b2.b52df879.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-9e5595b2"],{"0290":function(e,r,t){"use strict";t.r(r);var s=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"login-wrap"},[t("div",{staticClass:"ms-login"},[t("div",{staticClass:"ms-title"},[e._v("后台管理系统")]),t("el-form",{ref:"ruleForm",staticClass:"ms-content",attrs:{model:e.ruleForm,rules:e.rules,"label-width":"0px"}},[t("el-form-item",{attrs:{prop:"username"}},[t("el-input",{attrs:{placeholder:"username"},model:{value:e.ruleForm.username,callback:function(r){e.$set(e.ruleForm,"username",r)},expression:"ruleForm.username"}},[t("el-button",{attrs:{slot:"prepend",icon:"el-icon-lx-people"},slot:"prepend"})],1)],1),t("el-form-item",{attrs:{prop:"password"}},[t("el-input",{attrs:{type:"password",placeholder:"password"},nativeOn:{keyup:function(r){if(!("button"in r)&&e._k(r.keyCode,"enter",13,r.key,"Enter"))return null;e.submitForm("ruleForm")}},model:{value:e.ruleForm.password,callback:function(r){e.$set(e.ruleForm,"password",r)},expression:"ruleForm.password"}},[t("el-button",{attrs:{slot:"prepend",icon:"el-icon-lx-lock"},slot:"prepend"})],1)],1),t("div",{staticClass:"login-btn"},[t("el-button",{attrs:{type:"primary"},on:{click:function(r){e.submitForm("ruleForm")}}},[e._v("登录")])],1),t("p",{staticClass:"login-tips"},[e._v("Tips : 用户名和密码随便填随便填。")])],1)],1)])},o=[],n=(t("cadf"),t("551c"),t("097d"),{data:function(){return{ruleForm:{username:"admin",password:"123123"},rules:{username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]}}},methods:{submitForm:function(e){var r=this;this.$refs[e].validate(function(e){if(!e)return console.log("error submit!!"),!1;localStorage.setItem("ms_username",r.ruleForm.username),r.$router.push("/")})}}}),l=n,a=(t("8c55"),t("2877")),u=Object(a["a"])(l,s,o,!1,null,"4c1a1c62",null);u.options.__file="Login.vue";r["default"]=u.exports},"2d1a":function(e,r,t){},"8c55":function(e,r,t){"use strict";var s=t("2d1a"),o=t.n(s);o.a}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-d5224c00.9b03eb4e.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-d5224c00"],{"58a8":function(t,e,r){"use strict";var s=r("c65b"),a=r.n(s);a.a},"9ebe":function(t,e,r){"use strict";r.r(e);var s=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"error-page"},[t._m(0),r("div",{staticClass:"error-desc"},[t._v("啊哦~ 你没有权限访问该页面哦")]),r("div",{staticClass:"error-handle"},[r("router-link",{attrs:{to:"/"}},[r("el-button",{attrs:{type:"primary",size:"large"}},[t._v("返回首页")])],1),r("el-button",{staticClass:"error-btn",attrs:{type:"primary",size:"large"},on:{click:t.goBack}},[t._v("返回上一页")])],1)])},a=[function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"error-code"},[t._v("4"),r("span",[t._v("0")]),t._v("3")])}],n={methods:{goBack:function(){this.$router.go(-1)}}},c=n,i=(r("58a8"),r("2877")),o=Object(i["a"])(c,s,a,!1,null,"2e353fab",null);o.options.__file="403.vue";e["default"]=o.exports},c65b:function(t,e,r){}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-deb1ce48.6bd31bc3.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-deb1ce48"],{"3acc":function(e,t,a){},"4cce":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticClass:"crumbs"},[a("el-breadcrumb",{attrs:{separator:"/"}},[a("el-breadcrumb-item",[e._v("用户管理")])],1)],1),a("div",{staticClass:"container"},[a("div",{staticClass:"handle-box"},[a("el-button",{staticClass:"handle-del mr10",attrs:{type:"primary",icon:"delete",disabled:0===this.delData.length},on:{click:e.delAll}},[e._v("批量删除")]),a("el-input",{staticClass:"handle-input mr10",attrs:{placeholder:"筛选关键词"},model:{value:e.searchInfo,callback:function(t){e.searchInfo=t},expression:"searchInfo"}}),a("el-button",{attrs:{type:"primary",icon:"search"},on:{click:e.getUsers}},[e._v("搜索")]),a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.addUserVisible=!0}}},[e._v("新建用户")])],1),a("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.isShowloading,expression:"isShowloading"}],ref:"multipleTable",staticClass:"table",attrs:{data:e.users,border:""},on:{"selection-change":e.handleSelectionChange}},[a("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),a("el-table-column",{attrs:{prop:"orderNum",label:"序号",sortable:"",width:"150"}}),a("el-table-column",{attrs:{prop:"username",label:"用户名",width:"120"}}),a("el-table-column",{attrs:{prop:"rolename",label:"角色名称"}}),a("el-table-column",{attrs:{prop:"isable",label:"状态",formatter:e.formatterState}}),a("el-table-column",{attrs:{prop:"loginTime",label:"登录次数"}}),a("el-table-column",{attrs:{prop:"loginDate",label:"登录时间"}}),a("el-table-column",{attrs:{prop:"creater",label:"创建者"}}),a("el-table-column",{attrs:{label:"操作",width:"180",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{type:"text",icon:"el-icon-edit"},on:{click:function(a){e.handleEdit(t.$index,t.row)}}},[e._v("编辑")]),a("el-button",{staticClass:"red",attrs:{type:"text",icon:"el-icon-delete"},on:{click:function(a){e.handleDelete(t.$index,t.row)}}},[e._v("删除")])]}}])})],1),a("div",{staticClass:"pagination"},[a("el-pagination",{attrs:{background:"",layout:"prev, pager, next",total:e.total,"page-size":e.pageSize},on:{"current-change":e.currentChange}})],1),a("el-dialog",{directives:[{name:"dialogDrag",rawName:"v-dialogDrag"}],ref:"editUserForm",attrs:{title:"修改信息",visible:e.editUserVisible,"before-close":e.confirmClose},on:{"update:visible":function(t){e.editUserVisible=t}}},[a("el-form",{ref:"editUserForm",attrs:{model:e.userForm,rules:e.editRule}},[a("el-form-item",{attrs:{label:"用户名","label-width":e.formLabelWidth,prop:"username"}},[a("el-input",{attrs:{autocomplete:"off"},model:{value:e.userForm.username,callback:function(t){e.$set(e.userForm,"username",t)},expression:"userForm.username"}})],1),a("el-form-item",{attrs:{label:"状态","label-width":e.formLabelWidth}},[a("el-radio",{attrs:{label:"1"},model:{value:e.userForm.isable,callback:function(t){e.$set(e.userForm,"isable",t)},expression:"userForm.isable"}},[e._v("正常")]),a("el-radio",{attrs:{label:"0"},model:{value:e.userForm.isable,callback:function(t){e.$set(e.userForm,"isable",t)},expression:"userForm.isable"}},[e._v("禁用")])],1)],1),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.editUserVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},nativeOn:{click:function(t){return e.editUser(t)}}},[e._v("确 定")])],1)],1),a("el-dialog",{directives:[{name:"dialogDrag",rawName:"v-dialogDrag"}],ref:"addUserForm",attrs:{title:"新建用户",visible:e.addUserVisible},on:{"update:visible":function(t){e.addUserVisible=t}}},[a("el-form",{attrs:{model:e.addUserForm,rules:e.addUserRule}},[a("el-form-item",{attrs:{label:"用户名","label-width":e.formLabelWidth,prop:"username"}},[a("el-input",{attrs:{autocomplete:"off"},model:{value:e.addUserForm.username,callback:function(t){e.$set(e.addUserForm,"username",t)},expression:"addUserForm.username"}})],1),a("el-form-item",{attrs:{label:"角色名称","label-width":e.formLabelWidth,prop:"rolename"}},[a("el-select",{model:{value:e.addUserForm.rolename,callback:function(t){e.$set(e.addUserForm,"rolename",t)},expression:"addUserForm.rolename"}},[a("el-option",{attrs:{label:"admin",value:"admin"}}),a("el-option",{attrs:{label:"管理员",value:"管理员"}}),a("el-option",{attrs:{label:"超级管理员",value:"超级管理员"}})],1)],1),a("el-form-item",{attrs:{label:"状态","label-width":e.formLabelWidth}},[a("el-radio",{attrs:{label:"1"},model:{value:e.addUserForm.isable,callback:function(t){e.$set(e.addUserForm,"isable",t)},expression:"addUserForm.isable"}},[e._v("正常")]),a("el-radio",{attrs:{label:"0"},model:{value:e.addUserForm.isable,callback:function(t){e.$set(e.addUserForm,"isable",t)},expression:"addUserForm.isable"}},[e._v("禁用")])],1)],1),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.addUserVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.saveUser}},[e._v("确 定")])],1)],1)],1)])},s=[],n=(a("d92a"),a("6d67"),a("6b54"),a("87b3"),a("5176")),l=a.n(n),i=(a("4f37"),a("cadf"),a("551c"),a("097d"),a("4ec3")),o={data:function(){return{url:"",searchInfo:"",users:[],total:0,pageNo:1,pageSize:20,isShowloading:!1,delData:[],editUserVisible:!1,addUserVisible:!1,userForm:{},addUserForm:{username:"",rolename:"",isable:"0"},addUserRule:{username:[{required:!0,message:"请输入用户名",trigger:"blur"}],rolename:[{required:!0,message:"请选择角色",trigger:"change"}]},editRule:{username:[{required:!0,message:"请输入姓名",trigger:"blur"}]},formLabelWidth:"120px"}},methods:{formatterState:function(e,t){return"1"==e.isable?"正常":"禁用"},getUsers:function(){var e=this;this.isShowloading=!0;var t={searchInfo:this.searchInfo.trim(),page:this.pageNo};Object(i["f"])(t).then(function(t){e.users=t.data.users,e.total=t.data.total,e.isShowloading=!1})},currentChange:function(e){this.pageNo=e,this.getUsers()},handleSelectionChange:function(e){this.delData=e},saveUser:function(){var e=this,t=l()({},this.addUserForm);t.username=t.username.trim(),Object(i["a"])(t).then(function(t){e.$message({message:"添加成功",type:"success"}),e.addUserVisible=!1,e.addUserForm={},e.getUsers()})},delAll:function(){var e=this;this.$confirm("确认删除该用户吗?","提示",{type:"warning"}).then(function(){e.isShowloading=!0;var t=e.delData.map(function(e){return e.userid}).toString(),a={delIds:t};Object(i["b"])(a).then(function(t){e.isShowloading=!1,e.$message({message:"删除成功",type:"success"}),e.getUsers()})})},handleEdit:function(e,t){this.editUserVisible=!0,this.userForm=l()({},t)},handleDelete:function(e,t){var a=this,r={userid:t.userid};this.$confirm("确认删除该用户?","提示",{type:"warning"}).then(function(){Object(i["c"])(r).then(function(e){a.$message({type:"success",message:"删除成功"}),a.getUsers()})})},editUser:function(){var e=this;this.$refs["editUserForm"].validate(function(t){if(t){var a=e.userForm;Object(i["d"])(a).then(function(t){e.$message({type:"success",message:t.data.msg}),e.getUsers(),e.editUserVisible=!1,e.userForm={}}).bind(e)}})},confirmClose:function(e){var t=this;this.$confirm("确认关闭将丢失已编辑内容?","提示",{type:"warning"}).then(function(){t.userForm={},e()})},testFn:function(){this.url="/ms/table/list",this.$axios.get(this.url).then(function(e){console.log(e)}),Object(i["g"])().then(function(e){console.log(e)})}},mounted:function(){this.testFn()}},c=o,u=(a("c3ff"),a("2877")),d=Object(u["a"])(c,r,s,!1,null,"354bf639",null);d.options.__file="usermanager.vue";t["default"]=d.exports},"4ec3":function(e,t,a){"use strict";a.d(t,"f",function(){return l}),a.d(t,"e",function(){return i}),a.d(t,"b",function(){return o}),a.d(t,"d",function(){return c}),a.d(t,"a",function(){return u}),a.d(t,"c",function(){return d}),a.d(t,"g",function(){return m});var r=a("bc3a"),s=a.n(r),n="",l=function(e){return s.a.get("".concat(n,"/user/list"),{params:e})},i=function(){return s.a.get("../../menu.json")},o=function(e){return s.a.get("user/deletUsers",{params:e})},c=function(e){return s.a.get("".concat(n,"/user/editUser"),{params:e})},u=function(e){return s.a.get("".concat(n,"/user/addUser"),{params:e})},d=function(e){return s.a.get("".concat(n,"/user/DeleteOne"),{params:e})},m=function(){return s.a.get("/testApi/getkeywhereisddata?CITY_NAME=全省&S_id=B08I00136&callback=")}},5176:function(e,t,a){e.exports=a("51b6")},c3ff:function(e,t,a){"use strict";var r=a("3acc"),s=a.n(r);s.a}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-e1f9e4d0.695b605b.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e1f9e4d0"],{"0c3b":function(t,i,a){"use strict";a.r(i);var e=function(){var t=this,i=t.$createElement,a=t._self._c||i;return a("section",{staticClass:"main"},[a("div",{staticClass:"crumbs"},[a("el-breadcrumb",{attrs:{separator:"/"}},[a("el-breadcrumb-item",[a("i",{staticClass:"el-icon-rank"}),t._v(" 拖拽组件")]),a("el-breadcrumb-item",[t._v("拖拽弹框")])],1)],1),a("div",{staticClass:"container"},[a("p",[t._v("通过指令 v-dialogDrag 使 Dialog 对话框具有可拖拽的功能。")]),a("br"),a("el-button",{attrs:{type:"primary"},on:{click:function(i){t.visible=!0}}},[t._v("点我弹框")])],1),a("el-dialog",{directives:[{name:"dialogDrag",rawName:"v-dialogDrag"}],attrs:{title:"拖拽弹框",center:"",visible:t.visible,width:"30%"},on:{"update:visible":function(i){t.visible=i}}},[t._v("\n 我是一个可以拖拽的对话框!\n "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(i){t.visible=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:function(i){t.visible=!1}}},[t._v("确 定")])],1)])],1)},n=[],s=(a("cadf"),a("551c"),a("097d"),{data:function(){return{visible:!1}}}),l=s,r=(a("f88d"),a("2877")),o=Object(r["a"])(l,e,n,!1,null,null,null);o.options.__file="DragDialog.vue";i["default"]=o.exports},a099:function(t,i,a){},f88d:function(t,i,a){"use strict";var e=a("a099"),n=a.n(e);n.a}}]);
--------------------------------------------------------------------------------
/dist/js/chunk-f1225e32.0b53a60a.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-f1225e32"],{"0e2e":function(t,e,r){"use strict";var s=r("25bb"),a=r.n(s);a.a},"25bb":function(t,e,r){},"5b5e":function(t,e,r){"use strict";r.r(e);var s=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"error-page"},[t._m(0),r("div",{staticClass:"error-desc"},[t._v("啊哦~ 你所访问的页面不存在")]),r("div",{staticClass:"error-handle"},[r("router-link",{attrs:{to:"/"}},[r("el-button",{attrs:{type:"primary",size:"large"}},[t._v("返回首页")])],1),r("el-button",{staticClass:"error-btn",attrs:{type:"primary",size:"large"},on:{click:t.goBack}},[t._v("返回上一页")])],1)])},a=[function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"error-code"},[t._v("4"),r("span",[t._v("0")]),t._v("4")])}],n={methods:{goBack:function(){this.$router.go(-1)}}},i=n,o=(r("0e2e"),r("2877")),c=Object(o["a"])(i,s,a,!1,null,"cb97bba6",null);c.options.__file="404.vue";e["default"]=c.exports}}]);
--------------------------------------------------------------------------------
/dist/vuetable.json:
--------------------------------------------------------------------------------
1 | {
2 | "list": [{
3 | "date": "1997-11-11",
4 | "name": "林丽",
5 | "address": "吉林省 辽源市 龙山区"
6 | }, {
7 | "date": "1987-09-24",
8 | "name": "文敏",
9 | "address": "江西省 萍乡市 芦溪县"
10 | }, {
11 | "date": "1996-08-08",
12 | "name": "杨秀兰",
13 | "address": "黑龙江省 黑河市 五大连池市"
14 | }, {
15 | "date": "1978-06-18",
16 | "name": "魏强",
17 | "address": "广东省 韶关市 始兴县"
18 | }, {
19 | "date": "1977-07-09",
20 | "name": "石秀兰",
21 | "address": "江苏省 宿迁市 宿豫区"
22 | }, {
23 | "date": "1994-09-20",
24 | "name": "朱洋",
25 | "address": "海外 海外 -"
26 | }, {
27 | "date": "1980-01-22",
28 | "name": "傅敏",
29 | "address": "海外 海外 -"
30 | }, {
31 | "date": "1985-10-10",
32 | "name": "毛明",
33 | "address": "内蒙古自治区 包头市 九原区"
34 | }, {
35 | "date": "1975-09-08",
36 | "name": "何静",
37 | "address": "西藏自治区 阿里地区 普兰县"
38 | }, {
39 | "date": "1970-06-07",
40 | "name": "郭秀英",
41 | "address": "四川省 巴中市 恩阳区"
42 | }]
43 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-manage-system",
3 | "version": "4.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "npm run serve",
7 | "serve": "vue-cli-service serve",
8 | "build": "vue-cli-service build"
9 | },
10 | "dependencies": {
11 | "axios": "^0.18.0",
12 | "axios-mock-adapter": "^1.16.0",
13 | "babel-polyfill": "^6.26.0",
14 | "echarts": "^4.2.1",
15 | "element-ui": "^2.4.11",
16 | "mavon-editor": "^2.6.17",
17 | "mockjs": "^1.0.1-beta3",
18 | "vue": "^2.5.21",
19 | "vue-cropperjs": "^3.0.0",
20 | "vue-quill-editor": "^3.0.6",
21 | "vue-router": "^3.0.1",
22 | "vue-schart": "^1.0.0",
23 | "vuedraggable": "^2.17.0",
24 | "vuex": "^3.1.0"
25 | },
26 | "devDependencies": {
27 | "@vue/cli-plugin-babel": "^3.2.0",
28 | "@vue/cli-service": "^3.2.0",
29 | "vue-template-compiler": "^2.5.21"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: {}
4 | },
5 | env:{}
6 | }
7 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | vue-element-admin-ui
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public/vuetable.json:
--------------------------------------------------------------------------------
1 | {
2 | "list": [{
3 | "date": "1997-11-11",
4 | "name": "林丽",
5 | "address": "吉林省 辽源市 龙山区"
6 | }, {
7 | "date": "1987-09-24",
8 | "name": "文敏",
9 | "address": "江西省 萍乡市 芦溪县"
10 | }, {
11 | "date": "1996-08-08",
12 | "name": "杨秀兰",
13 | "address": "黑龙江省 黑河市 五大连池市"
14 | }, {
15 | "date": "1978-06-18",
16 | "name": "魏强",
17 | "address": "广东省 韶关市 始兴县"
18 | }, {
19 | "date": "1977-07-09",
20 | "name": "石秀兰",
21 | "address": "江苏省 宿迁市 宿豫区"
22 | }, {
23 | "date": "1994-09-20",
24 | "name": "朱洋",
25 | "address": "海外 海外 -"
26 | }, {
27 | "date": "1980-01-22",
28 | "name": "傅敏",
29 | "address": "海外 海外 -"
30 | }, {
31 | "date": "1985-10-10",
32 | "name": "毛明",
33 | "address": "内蒙古自治区 包头市 九原区"
34 | }, {
35 | "date": "1975-09-08",
36 | "name": "何静",
37 | "address": "西藏自治区 阿里地区 普兰县"
38 | }, {
39 | "date": "1970-06-07",
40 | "name": "郭秀英",
41 | "address": "四川省 巴中市 恩阳区"
42 | }]
43 | }
--------------------------------------------------------------------------------
/screenshots/wms1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/screenshots/wms1.png
--------------------------------------------------------------------------------
/screenshots/wms3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/screenshots/wms3.png
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/api/api.js:
--------------------------------------------------------------------------------
1 | import axios from 'axios';
2 | let baseUrl = '';
3 | export const getUserList = params=>{
4 | return axios.get(`${baseUrl}/user/list`,{params:params})
5 | }
6 | export const getSysmenu = ()=>{
7 | return axios.get('../../menu.json')
8 | }
9 | export const getDeleUser = params=>{
10 | return axios.get('user/deletUsers',{params:params});
11 | }
12 | export const getEditUser = params=>{
13 | return axios.get(`${baseUrl}/user/editUser`,{
14 | params:params
15 | })
16 | }
17 | export const getAddUser = params=>{
18 | return axios.get(`${baseUrl}/user/addUser`,{
19 | params:params
20 | })
21 | }
22 | export const getDeleteOne = params=>{
23 | return axios.get(`${baseUrl}/user/DeleteOne`,{params:params})
24 | }
25 | export const testApi = ()=>{
26 | return axios.get("/testApi/getkeywhereisddata?CITY_NAME=全省&S_id=B08I00136&callback=")
27 | }
--------------------------------------------------------------------------------
/src/assets/css/color-dark.css:
--------------------------------------------------------------------------------
1 | .header{
2 | background-color: #242f42;
3 | }
4 | .login-wrap{
5 | background: #324157;
6 | }
7 | .plugins-tips{
8 | background: #eef1f6;
9 | }
10 | .plugins-tips a{
11 | color: #20a0ff;
12 | }
13 | .el-upload--text em {
14 | color: #20a0ff;
15 | }
16 | .pure-button{
17 | background: #20a0ff;
18 | }
19 | .tags-li.active {
20 | border: 1px solid #409EFF;
21 | background-color: #409EFF;
22 | }
23 | .message-title{
24 | color: #20a0ff;
25 | }
26 | .collapse-btn:hover{
27 | background: rgb(40,52,70);
28 | }
--------------------------------------------------------------------------------
/src/assets/css/icon.css:
--------------------------------------------------------------------------------
1 |
2 | [class*=" el-icon-lx"], [class^=el-icon-lx] {
3 | font-family: lx-iconfont!important;
4 | }
--------------------------------------------------------------------------------
/src/assets/css/main.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | }
5 |
6 | html,
7 | body,
8 | #app,
9 | .wrapper {
10 | width: 100%;
11 | height: 100%;
12 | overflow: hidden;
13 | }
14 |
15 | body {
16 | font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif;
17 | }
18 |
19 | a {
20 | text-decoration: none
21 | }
22 |
23 |
24 | .content-box {
25 | position: absolute;
26 | left: 250px;
27 | right: 0;
28 | top: 70px;
29 | bottom: 0;
30 | padding-bottom: 30px;
31 | -webkit-transition: left .3s ease-in-out;
32 | transition: left .3s ease-in-out;
33 | background: #f0f0f0;
34 | }
35 |
36 | .content {
37 | width: auto;
38 | height: 100%;
39 | padding: 10px;
40 | overflow-y: scroll;
41 | box-sizing: border-box;
42 | }
43 |
44 | .content-collapse {
45 | left: 65px;
46 | }
47 |
48 | .container {
49 | padding: 30px;
50 | background: #fff;
51 | border: 1px solid #ddd;
52 | border-radius: 5px;
53 | }
54 |
55 | .crumbs {
56 | margin: 10px 0;
57 | }
58 |
59 | .pagination {
60 | margin: 20px 0;
61 | text-align: right;
62 | }
63 |
64 | .plugins-tips {
65 | padding: 20px 10px;
66 | margin-bottom: 20px;
67 | }
68 |
69 | .el-button+.el-tooltip {
70 | margin-left: 10px;
71 | }
72 |
73 | .el-table tr:hover {
74 | background: #f6faff;
75 | }
76 |
77 | .mgb20 {
78 | margin-bottom: 20px;
79 | }
80 |
81 | .move-enter-active,
82 | .move-leave-active {
83 | transition: opacity .5s;
84 | }
85 |
86 | .move-enter,
87 | .move-leave {
88 | opacity: 0;
89 | }
90 |
91 | /*BaseForm*/
92 |
93 | .form-box {
94 | width: 600px;
95 | }
96 |
97 | .form-box .line {
98 | text-align: center;
99 | }
100 |
101 | .el-time-panel__content::after,
102 | .el-time-panel__content::before {
103 | margin-top: -7px;
104 | }
105 |
106 | .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) {
107 | padding-bottom: 0;
108 | }
109 |
110 | /*Upload*/
111 |
112 | .pure-button {
113 | width: 150px;
114 | height: 40px;
115 | line-height: 40px;
116 | text-align: center;
117 | color: #fff;
118 | border-radius: 3px;
119 | }
120 |
121 | .g-core-image-corp-container .info-aside {
122 | height: 45px;
123 | }
124 |
125 | .el-upload--text {
126 | background-color: #fff;
127 | border: 1px dashed #d9d9d9;
128 | border-radius: 6px;
129 | box-sizing: border-box;
130 | width: 360px;
131 | height: 180px;
132 | text-align: center;
133 | cursor: pointer;
134 | position: relative;
135 | overflow: hidden;
136 | }
137 |
138 | .el-upload--text .el-icon-upload {
139 | font-size: 67px;
140 | color: #97a8be;
141 | margin: 40px 0 16px;
142 | line-height: 50px;
143 | }
144 |
145 | .el-upload--text {
146 | color: #97a8be;
147 | font-size: 14px;
148 | text-align: center;
149 | }
150 |
151 | .el-upload--text em {
152 | font-style: normal;
153 | }
154 |
155 | /*VueEditor*/
156 |
157 | .ql-container {
158 | min-height: 400px;
159 | }
160 |
161 | .ql-snow .ql-tooltip {
162 | transform: translateX(117.5px) translateY(10px) !important;
163 | }
164 |
165 | .editor-btn {
166 | margin-top: 20px;
167 | }
168 | .el-button.el-is-disabled{
169 | color: #bfcbd9;
170 | cursor: not-allowed;
171 | background-image: none;
172 | background-color: #eef1f6;
173 | border-color: #d1dbe5;
174 | }
175 |
176 | /*markdown*/
177 |
178 | .v-note-wrapper .v-note-panel {
179 | min-height: 500px;
180 | }
181 |
--------------------------------------------------------------------------------
/src/assets/css/theme-green/color-green.css:
--------------------------------------------------------------------------------
1 | .header{
2 | background-color: #07c4a8;
3 | }
4 | .login-wrap{
5 | background: rgba(56, 157, 170, 0.82);;
6 | }
7 | .plugins-tips{
8 | background: #f2f2f2;
9 | }
10 | .plugins-tips a{
11 | color: #009688;
12 | }
13 | .el-upload--text em {
14 | color: #009688;
15 | }
16 | .pure-button{
17 | background: #009688;
18 | }
19 | .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus {
20 | background-color: #009688 !important;
21 | border-color: #009688 !important;
22 | }
23 | .tags-li.active {
24 | border: 1px solid #009688;
25 | background-color: #009688;
26 | }
27 | .collapse-btn:hover{
28 | background: #009688;
29 | }
--------------------------------------------------------------------------------
/src/assets/css/theme-green/fonts/element-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/assets/css/theme-green/fonts/element-icons.ttf
--------------------------------------------------------------------------------
/src/assets/css/theme-green/fonts/element-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/assets/css/theme-green/fonts/element-icons.woff
--------------------------------------------------------------------------------
/src/assets/img/img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/assets/img/img.jpg
--------------------------------------------------------------------------------
/src/assets/img/login-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/assets/img/login-bg.jpg
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/vuetable.json:
--------------------------------------------------------------------------------
1 | {
2 | "list": [{
3 | "date": "1997-11-11",
4 | "name": "林丽",
5 | "address": "吉林省 辽源市 龙山区"
6 | }, {
7 | "date": "1987-09-24",
8 | "name": "文敏",
9 | "address": "江西省 萍乡市 芦溪县"
10 | }, {
11 | "date": "1996-08-08",
12 | "name": "杨秀兰",
13 | "address": "黑龙江省 黑河市 五大连池市"
14 | }, {
15 | "date": "1978-06-18",
16 | "name": "魏强",
17 | "address": "广东省 韶关市 始兴县"
18 | }, {
19 | "date": "1977-07-09",
20 | "name": "石秀兰",
21 | "address": "江苏省 宿迁市 宿豫区"
22 | }, {
23 | "date": "1994-09-20",
24 | "name": "朱洋",
25 | "address": "海外 海外 -"
26 | }, {
27 | "date": "1980-01-22",
28 | "name": "傅敏",
29 | "address": "海外 海外 -"
30 | }, {
31 | "date": "1985-10-10",
32 | "name": "毛明",
33 | "address": "内蒙古自治区 包头市 九原区"
34 | }, {
35 | "date": "1975-09-08",
36 | "name": "何静",
37 | "address": "西藏自治区 阿里地区 普兰县"
38 | }, {
39 | "date": "1970-06-07",
40 | "name": "郭秀英",
41 | "address": "四川省 巴中市 恩阳区"
42 | }]
43 | }
--------------------------------------------------------------------------------
/src/components/common/Header.vue:
--------------------------------------------------------------------------------
1 |
2 |
47 |
48 |
127 |
207 |
--------------------------------------------------------------------------------
/src/components/common/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
97 |
--------------------------------------------------------------------------------
/src/components/common/Sidebar.vue:
--------------------------------------------------------------------------------
1 |
2 |
42 |
43 |
44 |
212 |
213 |
232 |
--------------------------------------------------------------------------------
/src/components/common/Tags.vue:
--------------------------------------------------------------------------------
1 |
2 |
23 |
24 |
111 |
112 |
113 |
189 |
--------------------------------------------------------------------------------
/src/components/common/bus.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 |
3 | // 使用 Event Bus
4 | const bus = new Vue();
5 |
6 | export default bus;
--------------------------------------------------------------------------------
/src/components/common/directives.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 |
3 | // v-dialogDrag: 弹窗拖拽属性
4 | Vue.directive('dialogDrag', {
5 | bind(el, binding, vnode, oldVnode) {
6 | const dialogHeaderEl = el.querySelector('.el-dialog__header');
7 | const dragDom = el.querySelector('.el-dialog');
8 |
9 | dialogHeaderEl.style.cssText += ';cursor:move;'
10 | dragDom.style.cssText += ';top:0px;'
11 |
12 | // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
13 | const sty = (() => {
14 | if (window.document.currentStyle) {
15 | return (dom, attr) => dom.currentStyle[attr];
16 | } else {
17 | return (dom, attr) => getComputedStyle(dom, false)[attr];
18 | }
19 | })()
20 |
21 | dialogHeaderEl.onmousedown = (e) => {
22 | // 鼠标按下,计算当前元素距离可视区的距离
23 | const disX = e.clientX - dialogHeaderEl.offsetLeft;
24 | const disY = e.clientY - dialogHeaderEl.offsetTop;
25 |
26 | const screenWidth = document.body.clientWidth; // body当前宽度
27 | const screenHeight = document.documentElement.clientHeight; // 可见区域高度(应为body高度,可某些环境下无法获取)
28 |
29 | const dragDomWidth = dragDom.offsetWidth; // 对话框宽度
30 | const dragDomheight = dragDom.offsetHeight; // 对话框高度
31 |
32 | const minDragDomLeft = dragDom.offsetLeft;
33 | const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth;
34 |
35 | const minDragDomTop = dragDom.offsetTop;
36 | const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomheight;
37 |
38 |
39 | // 获取到的值带px 正则匹配替换
40 | let styL = sty(dragDom, 'left');
41 | let styT = sty(dragDom, 'top');
42 |
43 | // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
44 | if (styL.includes('%')) {
45 | styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100);
46 | styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100);
47 | } else {
48 | styL = +styL.replace(/\px/g, '');
49 | styT = +styT.replace(/\px/g, '');
50 | };
51 |
52 | document.onmousemove = function (e) {
53 | // 通过事件委托,计算移动的距离
54 | let left = e.clientX - disX;
55 | let top = e.clientY - disY;
56 |
57 | // 边界处理
58 | if (-(left) > minDragDomLeft) {
59 | left = -(minDragDomLeft);
60 | } else if (left > maxDragDomLeft) {
61 | left = maxDragDomLeft;
62 | }
63 |
64 | if (-(top) > minDragDomTop) {
65 | top = -(minDragDomTop);
66 | } else if (top > maxDragDomTop) {
67 | top = maxDragDomTop;
68 | }
69 |
70 | // 移动当前元素
71 | dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`;
72 | };
73 |
74 | document.onmouseup = function (e) {
75 | document.onmousemove = null;
76 | document.onmouseup = null;
77 | };
78 | }
79 | }
80 | })
81 |
--------------------------------------------------------------------------------
/src/components/page/403.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
403
4 |
啊哦~ 你没有权限访问该页面哦
5 |
6 |
7 | 返回首页
8 |
9 | 返回上一页
10 |
11 |
12 |
13 |
14 |
23 |
24 |
25 |
57 |
--------------------------------------------------------------------------------
/src/components/page/404.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
404
4 |
啊哦~ 你所访问的页面不存在
5 |
6 |
7 | 返回首页
8 |
9 | 返回上一页
10 |
11 |
12 |
13 |
14 |
23 |
24 |
25 |
57 |
--------------------------------------------------------------------------------
/src/components/page/BaseCharts.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | schart图表
6 |
7 |
8 |
9 |
10 | vue-schart:vue.js封装sChart.js的图表组件。
11 | 访问地址:
vue-schart
12 |
13 |
17 |
21 |
25 |
29 |
30 |
31 |
32 |
33 |
90 |
91 |
--------------------------------------------------------------------------------
/src/components/page/BaseForm.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 表单
6 | 基本表单
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | -
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 | 表单提交
56 | 取消
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/src/components/page/BaseTable.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 基础表格
6 |
7 |
8 |
9 |
10 | 批量删除
11 |
12 |
13 |
14 |
15 |
16 | 搜索
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | 编辑
29 | 删除
30 |
31 |
32 |
33 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
57 |
58 |
59 |
60 |
61 | 删除不可恢复,是否确定删除?
62 |
66 |
67 |
68 |
69 |
70 |
187 |
188 |
216 |
--------------------------------------------------------------------------------
/src/components/page/DragDialog.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 拖拽组件
6 | 拖拽弹框
7 |
8 |
9 |
10 |
通过指令 v-dialogDrag 使 Dialog 对话框具有可拖拽的功能。
11 |
12 |
点我弹框
13 |
14 |
15 | 我是一个可以拖拽的对话框!
16 |
20 |
21 |
22 |
23 |
24 |
33 |
34 |
37 |
--------------------------------------------------------------------------------
/src/components/page/DragList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 拖拽组件
6 | 拖拽排序
7 |
8 |
9 |
10 |
11 | Vue.Draggable:基于 Sortable.js 的 Vue 拖拽组件。
12 | 访问地址:
Vue.Draggable
13 |
14 |
15 |
16 |
todo
17 |
18 |
19 |
20 | {{item.content}}
21 |
22 |
23 |
24 |
25 |
26 |
doing
27 |
28 |
29 |
30 | {{item.content}}
31 |
32 |
33 |
34 |
35 |
36 |
done
37 |
38 |
39 |
40 | {{item.content}}
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
118 |
119 |
175 |
--------------------------------------------------------------------------------
/src/components/page/Icon.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 自定义图标
6 |
7 |
8 |
9 |
使用方法
10 |
11 | 直接通过设置类名为 el-icon-lx-iconName 来使用即可。例如:(共{{iconList.length}}个图标)
12 |
13 |
14 |
15 | <i class="el-icon-lx-redpacket_fill"></i>
16 |
17 |
18 |
19 | <i class="el-icon-lx-weibo"></i>
20 |
21 |
22 |
23 | <i class="el-icon-lx-emojifill"></i>
24 |
25 |
26 |
图标
27 |
28 |
29 |
30 |
31 | -
32 |
33 |
34 | {{item}}
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
186 |
187 |
--------------------------------------------------------------------------------
/src/components/page/Login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
后台管理系统
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | 登录
18 |
19 | Tips : 用户名和密码随便填随便填。
20 |
21 |
22 |
23 |
24 |
25 |
58 |
59 |
--------------------------------------------------------------------------------
/src/components/page/Markdown.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 表单
6 | markdown编辑器
7 |
8 |
9 |
10 |
11 | mavonEditor:基于Vue的markdown编辑器。
12 | 访问地址:
mavonEditor
13 |
14 |
15 |
提交
16 |
17 |
18 |
19 |
20 |
63 |
--------------------------------------------------------------------------------
/src/components/page/Permission.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 权限测试
6 |
7 |
8 |
9 |
管理员权限页面
10 |
只有用 admin 账号登录的才拥有管理员权限,才能进到这个页面,其他账号想进来都会跳到403页面,重新用管理员账号登录才有权限。
11 |
想尝试一下,请退出登录,随便输入个账号名,再进来试试看。
12 |
13 |
14 |
15 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/src/components/page/Tabs.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | tab选项卡
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {{scope.row.title}}
15 |
16 |
17 |
18 |
19 |
20 | 标为已读
21 |
22 |
23 |
24 |
25 | 全部标为已读
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | {{scope.row.title}}
34 |
35 |
36 |
37 |
38 |
39 | 删除
40 |
41 |
42 |
43 |
44 | 删除全部
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | {{scope.row.title}}
54 |
55 |
56 |
57 |
58 |
59 | 还原
60 |
61 |
62 |
63 |
64 | 清空回收站
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
120 |
121 |
129 |
130 |
--------------------------------------------------------------------------------
/src/components/page/Upload.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 表单
6 | 图片上传
7 |
8 |
9 |
10 |
支持拖拽
11 |
15 |
20 |
21 | 将文件拖到此处,或点击上传
22 | 只能上传jpg/png文件,且不超过500kb
23 |
24 |
支持裁剪
25 |
26 | vue-cropperjs:一个封装了 cropperjs 的 Vue 组件。
27 | 访问地址:
vue-cropperjs
28 |
29 |
30 |
![]()
31 |
选择图片
32 |
33 |
34 |
35 |
36 |
37 |
38 |
42 |
43 |
44 |
45 |
46 |
47 |
99 |
100 |
--------------------------------------------------------------------------------
/src/components/page/VueEditor.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 表单
6 | 编辑器
7 |
8 |
9 |
17 |
18 |
19 |
20 |
49 |
--------------------------------------------------------------------------------
/src/components/page/admin.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |

8 |
9 |
{{name}}
10 |
{{role}}
11 |
12 |
13 |
14 | 上次登录时间:
15 | 2018-01-01
16 |
17 |
18 | 上次登录地点:
19 | 东莞
20 |
21 |
22 |
23 |
24 |
25 |
26 |
41 |
42 |
152 |
--------------------------------------------------------------------------------
/src/components/page/sysmanager/usermanager.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 用户管理
6 |
7 |
8 |
9 |
10 | 批量删除
17 |
18 | 搜索
19 | 新建用户
20 |
21 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | 编辑
44 | 删除
50 |
51 |
52 |
53 |
62 |
63 |
70 |
71 |
72 |
73 |
74 |
75 | 正常
76 | 禁用
77 |
78 |
79 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 | 正常
99 | 禁用
100 |
101 |
102 |
106 |
107 |
108 |
109 |
110 |
281 |
309 |
310 |
--------------------------------------------------------------------------------
/src/components/page/tree1.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 基本类型树
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | 手风琴模式
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/components/page/tree2.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 基础可选择
5 |
6 |
7 |
8 | 懒加载
9 |
10 |
11 |
12 | 默认选中
13 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/components/page/tree3.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
使用 render-content
9 |
17 |
18 |
19 |
20 |
21 |
使用 scoped slot
22 |
29 |
30 | {{ node.label }}
31 |
32 | append(data)">Append
33 | remove(node, data)">Delete
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | 可拖拽节点
42 |
56 |
57 |
58 |
59 |
60 |
237 |
238 |
--------------------------------------------------------------------------------
/src/components/page/tree4.vue:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/components/page/tree4.vue
--------------------------------------------------------------------------------
/src/components/page/tree5.vue:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Angelasp/vue-element-admin/908a0b6ac98be1d8ef8a8c38be8511047f19d9c2/src/components/page/tree5.vue
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import axios from 'axios';
5 | import ElementUI from 'element-ui';
6 | //import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
7 | import './assets/css/theme-green/index.css'; // 浅绿色主题
8 | import './assets/css/icon.css';
9 | import './components/common/directives';
10 | import "babel-polyfill";
11 | import store from './store'
12 | ////import Mock from './mock/mock'
13 | Vue.config.productionTip = false
14 | Vue.use(ElementUI, {
15 | size: 'small'
16 | });
17 | Vue.prototype.$axios = axios;
18 | //Mock.bootstrap();
19 | //使用钩子函数对路由进行权限跳转
20 | router.beforeEach((to, from, next) => {
21 | const role = localStorage.getItem('ms_username');
22 | if (!role && to.path !== '/login') {
23 | next('/login');
24 | } else if (to.meta.permission) {
25 | // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已
26 | role === 'admin' ? next() : next('/403');
27 | } else {
28 | // 简单的判断IE10及以下不进入富文本编辑器,该组件不兼容
29 | if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
30 | Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器,请使用更高版本的浏览器查看', '浏览器不兼容通知', {
31 | confirmButtonText: '确定'
32 | });
33 | } else {
34 | next();
35 | }
36 | }
37 | })
38 |
39 |
40 | new Vue({
41 | router,
42 | store,
43 | render: h => h(App)
44 | }).$mount('#app')
--------------------------------------------------------------------------------
/src/mock/data/user.js:
--------------------------------------------------------------------------------
1 | import Mock from 'mockjs';
2 | const users = [];
3 | for (let i = 0; i < 100; i++) {
4 | let user = {};
5 | user=Mock.mock({
6 | orderNum:i+1,
7 | userid:Mock.Random.guid(),
8 | username:Mock.Random.last(),
9 | isable:Mock.Random.integer(0,1).toString(),
10 | loginTime:Mock.Random.integer(0,20),
11 | loginDate:Mock.Random.date(),
12 | creater:Mock.Random.cname(),
13 | 'rolename|1':['admin','超级管理员','用户']
14 | })
15 | users.push(user);
16 | }
17 | export {users}
--------------------------------------------------------------------------------
/src/mock/mock.js:
--------------------------------------------------------------------------------
1 | import axios from 'axios';
2 | import Mock from 'mockjs'
3 | import MockAdapter from 'axios-mock-adapter';
4 | import {users} from './data/user';
5 | import {sysmenu} from './data/sysmenu';
6 | let _users = users;
7 | export default{
8 | bootstrap(){
9 | let mock = new MockAdapter(axios);
10 | mock.onGet('/user/list').reply(config=>{
11 | let {searchInfo,page=1}=config.params;
12 | let getUsers = _users.filter(user=>{
13 | if(searchInfo&&user.username.indexOf(searchInfo)!=-1||user.rolename.indexOf(searchInfo)!=-1)return true;
14 | return false;
15 | })
16 | let total = getUsers.length;
17 | getUsers = getUsers.filter((user,index)=>{
18 | return index<20*page&&index>=20*(page-1);
19 | })
20 | return new Promise((resolve,reject)=>{
21 | setTimeout(()=>{
22 | resolve([200,{
23 | users:getUsers,
24 | total:total
25 | }])
26 | },1000)
27 | })
28 | })
29 | mock.onGet('/user/sysmenu').reply(()=>{
30 | return new Promise((resolve,reject)=>{
31 | resolve([200,{data:sysmenu}])
32 | })
33 | })
34 | mock.onGet('/user/deletUsers').reply((config)=>{
35 | let {delIds} = config.params;
36 | delIds = delIds.split(',')
37 | _users = _users.filter(u=>!delIds.includes(u.userid));
38 | return new Promise((resolve,reject)=>{
39 | setTimeout(()=>{
40 | resolve([200,{
41 | code:200,
42 | msg:'删除成功'
43 | }]),
44 | reject([500,{
45 | code:500,
46 | msg:'操作失败'
47 | }])
48 | },500)
49 |
50 | })
51 | })
52 | mock.onGet('/user/editUser').reply((config)=>{
53 | let {userid,username,isable} = config.params;
54 | _users.forEach(u => {
55 | if(u.userid==userid){
56 | u.username=username;
57 | u.isable=isable;
58 | }
59 | })
60 | return new Promise((resolve,reject)=>{
61 | resolve([200,{
62 | code:200,
63 | msg:'修改成功'
64 | }])
65 | })
66 | })
67 | mock.onGet('user/addUser').reply((config)=>{
68 | debugger
69 | let {id} = Mock.mock({
70 | id:Mock.Random.guid()
71 | })
72 | let orderNum = _users.length;
73 | let {username,rolename,isable} = config.params;
74 | _users.unshift({
75 | orderNum:++orderNum,
76 | userid:id,
77 | username:username,
78 | rolename:rolename,
79 | loginTime:'0',
80 | loginDate:'',
81 | creater:localStorage.getItem('ms_username'),
82 | isable:isable
83 | });
84 | return new Promise((resolve,reject)=>{
85 | resolve([200,{
86 | msg:'添加成功',
87 | code:200
88 | }])
89 | })
90 | })
91 | mock.onGet('/user/DeleteOne').reply(config=>{
92 | let {userid}=config.params;
93 | _users.forEach((item,index)=>{
94 | if(item.userid==userid){
95 | _users.splice(index,1);
96 | }
97 | })
98 | return new Promise((resolve,reject)=>{
99 | resolve([200,{
100 | code:200,
101 | msg:'删除成功'
102 | }])
103 | })
104 | })
105 | }
106 | }
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import Router from 'vue-router';
3 |
4 | Vue.use(Router);
5 |
6 | export default new Router({
7 | routes: [
8 | {
9 | path: '/',
10 | redirect: '/dashboard'
11 | },
12 | {
13 | path: '/',
14 | component: resolve => require(['../components/common/Home.vue'], resolve),
15 | meta: { title: '自述文件' },
16 | children:[
17 | {
18 | path: '/dashboard',
19 | component: resolve => require(['../components/page/Dashboard.vue'], resolve),
20 | meta: { title: '系统首页' }
21 | },
22 | {
23 | path: '/icon',
24 | component: resolve => require(['../components/page/Icon.vue'], resolve),
25 | meta: { title: '自定义图标' }
26 | },
27 | {
28 | path: '/table',
29 | component: resolve => require(['../components/page/BaseTable.vue'], resolve),
30 | meta: { title: '基础表格' }
31 | },
32 | {
33 | path: '/tabs',
34 | component: resolve => require(['../components/page/Tabs.vue'], resolve),
35 | meta: { title: 'tab选项卡' }
36 | },
37 | {
38 | path: '/form',
39 | component: resolve => require(['../components/page/BaseForm.vue'], resolve),
40 | meta: { title: '基本表单' }
41 | },
42 | {
43 | path: '/tree1',
44 | component: resolve => require(['../components/page/tree1.vue'], resolve),
45 | meta: { title: '基本树' }
46 | },
47 | {
48 | path: '/tree2',
49 | component: resolve => require(['../components/page/tree2.vue'], resolve),
50 | meta: { title: '可选择树' }
51 | },
52 | {
53 | path: '/tree3',
54 | component: resolve => require(['../components/page/tree3.vue'], resolve),
55 | meta: { title: '可编辑树' }
56 | },
57 | {
58 | // 富文本编辑器组件
59 | path: '/tree4',
60 | component: resolve => require(['../components/page/tree4.vue'], resolve),
61 | meta: { title: '可查询树' }
62 | },
63 | {
64 | // 富文本编辑器组件
65 | path: '/tree5',
66 | component: resolve => require(['../components/page/tree5.vue'], resolve),
67 | meta: { title: '节点选择' }
68 | },
69 | {
70 | // 富文本编辑器组件
71 | path: '/editor',
72 | component: resolve => require(['../components/page/VueEditor.vue'], resolve),
73 | meta: { title: '富文本编辑器' }
74 | },
75 | {
76 | // markdown组件
77 | path: '/markdown',
78 | component: resolve => require(['../components/page/Markdown.vue'], resolve),
79 | meta: { title: 'markdown编辑器' }
80 | },
81 | {
82 | // 图片上传组件
83 | path: '/upload',
84 | component: resolve => require(['../components/page/Upload.vue'], resolve),
85 | meta: { title: '文件上传' }
86 | },
87 | {
88 | // vue-schart组件
89 | path: '/charts',
90 | component: resolve => require(['../components/page/BaseCharts.vue'], resolve),
91 | meta: { title: 'schart图表' }
92 | },
93 | {
94 | // 拖拽列表组件
95 | path: '/drag',
96 | component: resolve => require(['../components/page/DragList.vue'], resolve),
97 | meta: { title: '拖拽列表' }
98 | },
99 | {
100 | // 拖拽Dialog组件
101 | path: '/dialog',
102 | component: resolve => require(['../components/page/DragDialog.vue'], resolve),
103 | meta: { title: '拖拽弹框' }
104 | },
105 | {
106 | // 权限页面
107 | path: '/permission',
108 | component: resolve => require(['../components/page/Permission.vue'], resolve),
109 | meta: { title: '权限测试', permission: true }
110 | },
111 | {
112 | path: '/404',
113 | component: resolve => require(['../components/page/404.vue'], resolve),
114 | meta: { title: '404' }
115 | },
116 | {
117 | path: '/403',
118 | component: resolve => require(['../components/page/403.vue'], resolve),
119 | meta: { title: '403' }
120 | },
121 | {
122 | path: '/admin',
123 | component: resolve => require(['../components/page/admin.vue'], resolve),
124 | meta: { title: '用户信息' }
125 | },
126 | {
127 | path: '/usermanager',
128 | component: resolve => require(['../components/page/sysmanager/usermanager.vue'], resolve),
129 | meta: { title: '用户管理' }
130 | }
131 | ]
132 | },
133 | {
134 | path: '/login',
135 | component: resolve => require(['../components/page/Login.vue'], resolve)
136 | },
137 | {
138 | path: '*',
139 | redirect: '/404'
140 | }
141 | ]
142 | })
143 |
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import dailog from './modules/dailog'
4 | Vue.use(Vuex);
5 | const store = new Vuex.Store({
6 | modules:{
7 | dailog
8 | }
9 | });
10 | export default store;
--------------------------------------------------------------------------------
/src/store/modules/dailog.js:
--------------------------------------------------------------------------------
1 | const state={
2 | showUser:false
3 | };
4 | const getters={
5 | isShow(state){
6 | return state.showUser;
7 | }
8 | }
9 | const mutations={
10 | hide(state){
11 | state.showUser=false;
12 | },
13 | show(state){
14 | state.showUser=true;
15 | }
16 | }
17 | const actions={
18 | showDailog({commit}){
19 | commit('show');
20 | },
21 | hideDailog({commit}){
22 | commit('hide');
23 | }
24 | }
25 | export default{
26 | namespaced:true,
27 | getters,
28 | mutations,
29 | actions,
30 | state
31 | }
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | baseUrl: './',
3 | productionSourceMap: false,
4 | devServer: {
5 | //port:8888,
6 | proxy: {
7 | '/api':{
8 | target:'http://jsonplaceholder.typicode.com',
9 | changeOrigin:true,
10 | pathRewrite:{
11 | '/api':''
12 | }
13 | },
14 | '/testApi':{
15 | target:'http://111.8.20.247:89/api/apph5api',
16 | changeOrigin:true,
17 | pathRewrite:{
18 | '^/testApi':'/testApi'
19 | }
20 | },
21 | '/ms':{
22 | target: 'https://www.easy-mock.com/mock/592501a391470c0ac1fab128',
23 | changeOrigin: true
24 | }
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------