Code Monkey home page Code Monkey logo

yujinjin / vue-manager-system Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 3.0 7.36 MB

这是一个使用vue-cli作为脚手架,基于vue、elementUI搭建的一套后台管理系统。与其他后台管理系统不一样的地方就在于这套系统的开发主要给后端开发人员来做(针对于小公司节省开发资源,尽量快的上手),曾经作为后端开发的我来做前端开发的角度来说,最痛苦的就是写CSS、UI。所以本项目框架把一些组件做了组合再次封装,其原则就是尽量少写些UI层面的代码,多用JS配置的方式来实现业务开发。

Home Page: https://yujinjin.github.io/vue-manager-system/

JavaScript 56.18% HTML 0.07% Vue 39.34% CSS 4.13% Less 0.24% SCSS 0.03%
vue-manger-system vue-cli vue-router login framework

vue-manager-system's Introduction

vue-manager-system(后台管理系统)

目录

介绍

这是一个使用vue-cli作为脚手架,基于vue、elementUI搭建的一套后台管理系统。

与其他后台管理系统不一样的地方就在于这套系统的开发主要给后端开发人员来做(针对于小公司节省开发资源,尽量快的上手),曾经作为后端开发的我来做前端开发的角度来说,最痛苦的就是写CSS、UI。

所以本项目框架把一些组件做了组合再次封装,其原则就是尽量少写些UI层面的代码,多用JS配置的方式来实现业务开发。

快速开始

  • 在线demo
  • 克隆仓库: git clone https://github.com/yujinjin/vue-manager-system
  • 使用npm安装: npm install
  • 使用npm运行: npm run R_UAT
  • 使用npm打包: npm run B_UAT

组件的API文档

正在编撰,敬请期待...

项目所用到的第三方组件列表

  • vue
  • vue-router
  • vuex
  • axios
  • element-ui
  • jquery(v1.12.4,部分插件需要依赖于jquery)
  • toastr(由于element-ui中的Message组件同时调用多次显示有问题,所以采用了它,官方文档)
  • cropperjs(图片裁剪,官方文档)
  • echarts(百度echarts,官方文档)
  • aliyun-oss-sdk(阿里云OSS SDK)
  • aliyun-upload-sdk(阿里云OSS 上传)
  • summernote(一个不依赖于boostrap的富文本框组件,发现部分功能有BUG,所以把源代码做了修复改动。因此如果使用该插件就不能再升级版本了)
  • qrcode(二维码)

项目UI及页面示例

1.登录界面

用户名密码登录

image

验证码登录

image

扫码登录

image

2.主界面布局

image

说明:主界面的整体布局是上(如上图1标示)、下左(如上图2标示)、下右布局(如上图3标示)。
其1固定是logo、打开的页面tabbar、当前登录用户信息;
其2固定放置菜单,菜单可分三级;
其3是页面的操作信息。

3.简单查询页面示例

image

4.复杂查询页面示例

image

其1查询的选项超过一行,会自动隐藏
其2操作按钮超过一行,会自动隐藏
其3数据列表项太多,可以手动隐藏

5.普通页面表单示例

image

默认会一行显示3列字段

6.复杂表单

image

分组的方式展示表单信息

独立组件示例

1. 图片上传(img-upload)

表单字段展示

image

图片裁剪

image

说明:在elemenet UI中的Upload的基础上进行了扩展,主要是支持图片的裁剪功能,以及针对于图片的上传做了公用的配置,使其业务开发代码更少。

2. 视频上传(video-upload)

image

说明:使用elemenet Upload的UI,通过阿里云SDK来上传视频。这里针对于视频上传做了公用的配置和封装,使其业务开发代码更少。

3. 视频播放(web-player)

image

说明:弹窗的方式去播放视频,这里是使用了第三方西瓜视频的插件。

4. 富文本框(web-editor)

常用tool

image

插入视频链接

image

上传视频

image

说明:基于第三方插件summernote的扩展,去除了基于boostrap的依赖的样式及JS,在使用的时候发现部分功能有BUG,所以把源代码做了修复改动。因此如果使用该插件就不能再升级版本了,同时根据常用的业务做了自定义视频按钮插入扩展。

5. 数据列表栏显示隐藏状态的切换(toggle-table-column)

image

说明:手动隐藏不需要展示的列,框架支持自动保存当前数据列的显示或隐藏状态,以便下次进入展示。

6. 数据列表的操作列(table-column-action)

image

说明:默认只显示4个操作按钮,当超过4个时会自动隐藏。

7. 数据列表的枚举列(table-column-enum)

枚举列

image

点击修改操作

image

说明:针对对于列数据是一个枚举值,比如:订单状态、性别、启用\禁用状态等,同时也支持修改当前列的枚举值,如果当前的枚举值只有2个默认直接修改。

8. 数据列表的图片列(table-column-img)

图片列

image

点击图片预览

image

说明:图片列数据展示,支持点击预览。

9. 数据列表的链接列(table-column-link)

image

说明:当前列数据带有链接,点击直接跳转。

10. 数据列表的标签列(table-column-tags)

image

说明:数据列表的标签列

11. 数据列表的二维码预览(table-column-qrcode)

image

说明:当前列数据点击展示一个二维码。

页面级组件示例

1. 查询表单(search-form)

查询项较少时 image

查询项较多时,超过一行。(默认隐藏状态)

image

查询项较多时,超过一行。(点击展开状态)

image

说明:查询表单组件,默认表单中的值有变化时会自动查询,每行显示4个查询项,多于4个会自动隐藏。

2. 操作栏(action-bar)

操作按钮较少时

image

操作按钮较多时,超过一行。(默认隐藏状态)

image

操作按钮较多时,超过一行。(点击展开状态)

image

说明:操作栏较多,组件计算当前的按钮超过一行时,会自动隐藏剩下的按钮。

3. 数据列表(table-data)

image

说明:当前数据列表封装分页组件、数据列组件等

4. form表单(form-input)

image

说明:封装的表单组件。

5. 信息表单(view-info)

image

说明:显示当前表单的信息

6. 弹窗表单(dialog-form)

image

说明:以弹窗形式封装的表单,默认一行显示2个表单字段。本组件是在form表单组件的基础上做的封装。

7. 页面表单(page-form)

简单表单

image

分组表单

image

说明:以页面形式封装的表单,默认一行显示3个表单字段。本组件是在form表单组件的基础上做的封装。

8.excel导入(excel-import-dialog)

excel文件选择

image

数据导入解析成功 image

数据导入解析失败

image

数据导入解析中

image

数据导入解析成功提示 image

说明:excel导入功能的封装

9.excel导出(excel-export-dialog)

导出筛选条件及字段选择(2者可任选或都不选)

image

数据导出生成中

image

数据导出生成成功,提示下载Excel image

数据导出失败提示

image

说明:excel导出功能的封装,可做条件筛选条件、导出的字段选择,2者可任选,如果都没有就直接导出。

项目框架的目录规范说明

|-- dist                                // webapck打包压缩后的文件目录
|-- tests                               // vue-cli测试环境目录
|-- src                                 // 源码目录
|   |-- imgs                            // 存放各种图片文件目录
|       |-- test                        // 存放开发测试的图片文件目录
|           |-- ...                     // 其他测试图片文件
|       |-- fonts                       // 页面引用的字体文件
|       |-- static                      // 静态图片,该目录下图片不会被压缩
|       |-- ...                         // 其他图片等
|   |-- js                              // 存放js文件目录
|       |-- api                         // 后端接口API目录
|           |-- index.js                // 业务后端接口API 入口
|           |-- common.js               // 公用用API接口
|           |-- ...                     // 其他业务模块API接口
|       |-- components                  // 项目全局组件目录
|           |-- icons                   // SVG icon 目录
|           |-- views                   // 全局组件的视图(vue)文件目录
|           |-- index.js                // 全局组件入口
|       |-- config                      // 存放打包各种环境的目录
|           |-- DEV.js                  // DEV环境配置文件
|           |-- UAT.js                  // UAT环境配置文件
|           |-- PRD.js                  // PRD环境配置文件
|           |-- ...                     // 其他环境配置文件
|       |-- data                        // 测试数据目录
|       |-- lib                         // 第三方JS lib目录
|           |-- aliyun                  // 阿里云的插件目录
|           |-- summernote              // 富文本框summernote插件目录
|           |-- qrcode.js               // 生成二维码的插件
|           |-- ...                     // 其他第三方JS插件
|       |-- page-factory                // 创建页面的工厂目录
|           |-- index.js                // 创建页面基类入口页
|           |-- form.js                 // 表单页面类型的基类
|           |-- query.js                // 搜索查询页面类型的基类
|           |-- ...                     // 其他页面类型的基类
|       |-- plugins                     // 项目全局插件目录
|           |-- views                   // 项目全局插件使用的视图(vue)目录
|           |-- index.js                // 项目全局插件目录入口
|           |-- message.js              // 全局消息提示插件
|           |-- ...                     // 其他插件
|       |-- routers                     // 项目页面路由目录
|           |-- index.js                // 项目页面路由入口
|           |-- ...                     // 项目业务模块的路由配置
|       |-- services                    // 项目全局业务目录
|           |-- global-service.js       // 项目全局业务逻辑方法,主要处理登录信息、本地存储等业务逻辑
|           |-- ajax.js                 // 项目全局ajax数据请求封装
|           |-- constants.js            // 项目全局业务的常量集合
|           |-- directives.js           // vue全局自定义指令集合
|           |-- filters.js              // vue全局自定义过滤器集合
|           |-- log.js                  // 项目全局log日志封装
|       |-- store                       // vuex管理webApp的数据状态目录
|           |-- index.js                // 数据管理入口文件
|           |-- data.js                 // 临时数据管理
|           |-- event.js                // 全局自定义事件管理
|           |-- ...                     // 其他数据状态管理
|       |-- utils                       // 项目全局工具方法目录
|           |-- index.js                // 项目全局工具入口文件
|           |-- extend.js               // 对象深复制,创建对象和继承
|           |-- ....                    // 其他工具JS文件
|   		|-- index.js                // 项目的入口文件
|   		|-- site.js                 // 项目中默认业务的配置文件
|   |-- style                           // 项目样式文件目录
|       |-- css                         // 项目css样式文件目录
|       |-- less                        // 项目less样式文件目录
|   		|-- site.less               // 项目基础样式,包含其他less文件的入口
|   		|-- ...                     // 其他less样式文件
|       |-- scss                        // 项目scss样式文件目录
|   |-- views                      		// 项目页面视图目录
|   		|-- components              // 页面内应用的公用组件目录
|   		|-- error                   // 存放错误视图组件目录
|   				|-- not-found.vue   // 404页面视图
|   		|-- ...                     // 其他业务功能模块目录
|   		|-- site.vue                // 整个项目页面入口文件
|   		|-- home.vue                // 整个项目的主页面入口
|   		|-- login.vue               // 登录页
|   |-- index.html                      // 项目html模板页面
|-- .env.XXX                            // vue-cli环境变量配置文件
|-- .eslintignore                       // eslint忽略的文件配置
|-- .eslintrc.js                        // eslint文件配置
|-- .babelrc                            // ES6语法编译配置
|-- .editorconfig                       // 编辑器编码规范配置
|-- .prettierignore                     // 格式化规范配置
|-- .gitignore                          // git忽略文件
|-- index.html                          // webapp的首页加载文件
|-- manifest.json                       // 打包app的配置文件
|-- package.json                        // 配置项目相关信息,通过执行 npm init 命令创建
|-- vue.config.js                       // vue-cli配置文件

最后

  • 如果喜欢一定要 star哈!!!(谢谢!!)

  • 如果有意见和问题 请在 lssues提出,我会在线解答。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.