diff --git a/web/src/App.vue b/web/src/App.vue new file mode 100644 index 0000000..ec9032c --- /dev/null +++ b/web/src/App.vue @@ -0,0 +1,11 @@ + + + + + + + diff --git a/web/src/main.js b/web/src/main.js new file mode 100644 index 0000000..2277dac --- /dev/null +++ b/web/src/main.js @@ -0,0 +1,52 @@ +import Vue from 'vue' + +import Cookies from 'js-cookie' + +import 'normalize.css/normalize.css' + +import Element from 'element-ui' +// +import mavonEditor from 'mavon-editor' +import 'mavon-editor/dist/css/index.css' + +// 数据字典 +import dict from './components/Dict' + +// 权限指令 +import permission from './components/Permission' +import './assets/styles/element-variables.scss' +// global css +import './assets/styles/index.scss' + +// 代码高亮 +import VueHighlightJS from 'vue-highlightjs' +import 'highlight.js/styles/atom-one-dark.css' + +import App from './App' +import store from './store' +import router from './router/routers' + +import './assets/icons' // icon +import './router/index' // permission control + +import { VueJsonp } from 'vue-jsonp' +// Vue.use(VueJsonp) + +Vue.use(VueHighlightJS) +Vue.use(mavonEditor) +Vue.use(permission) +Vue.use(dict) +Vue.use(Element, { + size: Cookies.get('size') || 'small' // set element-ui default size +}) + +Vue.use(VueJsonp) + +Vue.config.productionTip = false + +new Vue({ + el: '#app', + router, + store, + render: h => h(App) +}) diff --git a/web/src/settings.js b/web/src/settings.js new file mode 100644 index 0000000..8ecf6cf --- /dev/null +++ b/web/src/settings.js @@ -0,0 +1,50 @@ +module.exports = { + /** + * @description 网站标题 + */ + title: 'VIVIB-V1.0', + /** + * @description 是否显示 tagsView + */ + tagsView: true, + /** + * @description 固定头部 + */ + fixedHeader: true, + /** + * @description 记住密码状态下的token在Cookie中存储的天数,默认1天 + */ + tokenCookieExpires: 1, + /** + * @description 记住密码状态下的密码在Cookie中存储的天数,默认1天s + */ + passCookieExpires: 1, + /** + * @description 是否只保持一个子菜单的展开 + */ + uniqueOpened: true, + /** + * @description token key + */ + TokenKey: 'YSHOP-TOEKN', + /** + * @description 请求超时时间,毫秒(默认2分钟) + */ + timeout: 1200000, + /** + * @description 是否显示logo + */ + sidebarLogo: true, + /** + * 是否显示设置的底部信息 + */ + showFooter: true, + /** + * 底部文字,支持html语法 + */ + footerTxt: '© 2019-2020 YSHOP All Rights Reserved', + /** + * 备案号 + */ + caseNumber: '豫ICP备17049587-2号' +} diff --git a/web/src/views/components/Echarts.vue b/web/src/views/components/Echarts.vue new file mode 100644 index 0000000..d70a8a3 --- /dev/null +++ b/web/src/views/components/Echarts.vue @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/src/views/components/Editor.vue b/web/src/views/components/Editor.vue new file mode 100644 index 0000000..a9f9d6b --- /dev/null +++ b/web/src/views/components/Editor.vue @@ -0,0 +1,73 @@ + + + + + + + + + diff --git a/web/src/views/components/MarkDown.vue b/web/src/views/components/MarkDown.vue new file mode 100644 index 0000000..ed734a5 --- /dev/null +++ b/web/src/views/components/MarkDown.vue @@ -0,0 +1,44 @@ + + + + Markdown 基于 + MavonEditor + ,图片上传使用 SM.MS + + + + + + + + diff --git a/web/src/views/components/YamlEdit.vue b/web/src/views/components/YamlEdit.vue new file mode 100644 index 0000000..9455fde --- /dev/null +++ b/web/src/views/components/YamlEdit.vue @@ -0,0 +1,207 @@ + + + + Yaml编辑器 基于 + CodeMirror, + 主题预览地址 Theme + + + + + + + + diff --git a/web/src/views/components/icons/element-icons.js b/web/src/views/components/icons/element-icons.js new file mode 100644 index 0000000..df72201 --- /dev/null +++ b/web/src/views/components/icons/element-icons.js @@ -0,0 +1,74 @@ +const elementIcons = [ + 'info', + 'error', + 'success', + 'warning', + 'question', + 'back', + 'arrow-left', + 'arrow-down', + 'arrow-right', + 'arrow-up', + 'caret-left', + 'caret-bottom', + 'caret-top', + 'caret-right', + 'd-arrow-left', + 'd-arrow-right', + 'minus', + 'plus', + 'remove', + 'circle-plus', + 'remove-outline', + 'circle-plus-outline', + 'close', + 'check', + 'circle-close', + 'circle-check', + 'circle-close-outline', + 'circle-check-outline', + 'zoom-out', + 'zoom-in', + 'd-caret', + 'sort', + 'sort-down', + 'sort-up', + 'tickets', + 'document', + 'goods', + 'sold-out', + 'news', + 'message', + 'date', + 'printer', + 'time', + 'bell', + 'mobile-phone', + 'service', + 'view', + 'menu', + 'more', + 'more-outline', + 'star-on', + 'star-off', + 'location', + 'location-outline', + 'phone', + 'phone-outline', + 'picture', + 'picture-outline', + 'delete', + 'search', + 'edit', + 'edit-outline', + 'rank', + 'refresh', + 'share', + 'setting', + 'upload', + 'upload2', + 'download', + 'loading' +] + +export default elementIcons diff --git a/web/src/views/components/icons/index.vue b/web/src/views/components/icons/index.vue new file mode 100644 index 0000000..3677afd --- /dev/null +++ b/web/src/views/components/icons/index.vue @@ -0,0 +1,91 @@ + + + + + + + + + {{ generateIconCode(item) }} + + + + {{ item }} + + + + + + + + + {{ generateElementIconCode(item) }} + + + + {{ item }} + + + + + + + + + + + diff --git a/web/src/views/components/icons/svg-icons.js b/web/src/views/components/icons/svg-icons.js new file mode 100644 index 0000000..724cd8e --- /dev/null +++ b/web/src/views/components/icons/svg-icons.js @@ -0,0 +1,10 @@ +const req = require.context('../../../assets/icons/svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys() + +const re = /\.\/(.*)\.svg/ + +const svgIcons = requireAll(req).map(i => { + return i.match(re)[1] +}) + +export default svgIcons diff --git a/web/src/views/dashboard/BarChart.vue b/web/src/views/dashboard/BarChart.vue new file mode 100644 index 0000000..817c98d --- /dev/null +++ b/web/src/views/dashboard/BarChart.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/web/src/views/dashboard/BarChartT.vue b/web/src/views/dashboard/BarChartT.vue new file mode 100644 index 0000000..3008845 --- /dev/null +++ b/web/src/views/dashboard/BarChartT.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/web/src/views/dashboard/LineChart.vue b/web/src/views/dashboard/LineChart.vue new file mode 100644 index 0000000..0a3f34e --- /dev/null +++ b/web/src/views/dashboard/LineChart.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/web/src/views/dashboard/OrderCount.vue b/web/src/views/dashboard/OrderCount.vue new file mode 100644 index 0000000..eee7d18 --- /dev/null +++ b/web/src/views/dashboard/OrderCount.vue @@ -0,0 +1,121 @@ + + + + + + + + + diff --git a/web/src/views/dashboard/PanelGroup.vue b/web/src/views/dashboard/PanelGroup.vue new file mode 100644 index 0000000..3ae0d9b --- /dev/null +++ b/web/src/views/dashboard/PanelGroup.vue @@ -0,0 +1,233 @@ + + + + + + + + 会员总数 + 全平台 + + + + + + 今日订单数 + {{ count.todayCount }} 单 + + + + + + + + 订单总数 + 全平台 + + + + + + 昨日订单数 + {{ count.lastWeekCount }} 单 + + + + + + + + 总金额 + 全平台 + + + + + + 近七天订单数 + {{ count.lastWeekCount }} 单 + + + + + + + + 商品总数 + 全平台 + + + + + + 本月订单数 + {{ count.monthCount }} 单 + + + + + + + + + + + diff --git a/web/src/views/dashboard/PanelGroupT.vue b/web/src/views/dashboard/PanelGroupT.vue new file mode 100644 index 0000000..6308144 --- /dev/null +++ b/web/src/views/dashboard/PanelGroupT.vue @@ -0,0 +1,188 @@ + + + + + + + + 商品管理 + + + + + + + + 会员管理 + + + + + + + + 订单管理 + + + + + + + + 电子券管理 + + + + + + + + 营销管理 + + + + + + + + 分销管理 + + + + + + + + 财务管理 + + + + + + + + 门店管理 + + + + + + + + + diff --git a/web/src/views/dashboard/PieChart.vue b/web/src/views/dashboard/PieChart.vue new file mode 100644 index 0000000..ab082d0 --- /dev/null +++ b/web/src/views/dashboard/PieChart.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/web/src/views/dashboard/RaddarChart.vue b/web/src/views/dashboard/RaddarChart.vue new file mode 100644 index 0000000..de70e52 --- /dev/null +++ b/web/src/views/dashboard/RaddarChart.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/web/src/views/dashboard/YshopInfo.vue b/web/src/views/dashboard/YshopInfo.vue new file mode 100644 index 0000000..c200e13 --- /dev/null +++ b/web/src/views/dashboard/YshopInfo.vue @@ -0,0 +1,107 @@ + + + + + + + 项目信息 + + + VIVIB基于当前流行技术组合的前后端RBAC管理系统: + Go1.15.x+Beego2.x+Jwt+Redis+Mysql8+Vue + 的前后端分离系统,权限控制采用 RBAC,支持数据字典与数据权限管理,支持动态路由等 + + + 系统功能: + 1、用户管理:提供用户的相关配置 + 2、角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限 + 3、菜单管理:已实现菜单动态路由,后端可配置化 + 4、部门管理:可配置系统组织架构,树形表格展示 + 5、岗位管理:配置各个部门的职位 + 6、字典管理:可维护常用一些固定的数据,如:状态,性别等 + + + + + + + + + + + + diff --git a/web/src/views/features/401.vue b/web/src/views/features/401.vue new file mode 100644 index 0000000..8a3b69e --- /dev/null +++ b/web/src/views/features/401.vue @@ -0,0 +1,89 @@ + + + + 返回 + + + + + Oops! + + 你没有权限去该页面 + 如有不满请联系你领导 + + 或者你可以去: + + + 回首页 + + + + + + + + + + + + + + diff --git a/web/src/views/features/404.vue b/web/src/views/features/404.vue new file mode 100644 index 0000000..237d81f --- /dev/null +++ b/web/src/views/features/404.vue @@ -0,0 +1,225 @@ + + + + + + + + + + + OOPS! + {{ message }} + 请检查您输入的网址是否正确,请点击以下按钮返回主页或者发送错误报告 + 返回首页 + + + + + + + + diff --git a/web/src/views/features/redirect.vue b/web/src/views/features/redirect.vue new file mode 100644 index 0000000..db4c1d6 --- /dev/null +++ b/web/src/views/features/redirect.vue @@ -0,0 +1,12 @@ + diff --git a/web/src/views/home.vue b/web/src/views/home.vue new file mode 100644 index 0000000..fa320b5 --- /dev/null +++ b/web/src/views/home.vue @@ -0,0 +1,138 @@ + + + + + + + + + + + + + 统计 + + + + + 商品分析 + + + + 本月成交额 + + + + + 本月订单数 + + + + + + + + + + + + + diff --git a/web/src/views/login.vue b/web/src/views/login.vue new file mode 100644 index 0000000..871dbf1 --- /dev/null +++ b/web/src/views/login.vue @@ -0,0 +1,198 @@ + + + + + + VIVIB RBAC管理后台系统 + + + Go1.15.x + Beego2.x + Mysql8 + Jwt + Redis + Vue + + + 后台地址:https://go.yixiang.co + + + + + VIVIB后台管理系统-1.0 + + + + + + + + + + + + + + + + + + + + + + 登 录 + 登 录 中... + + + + + + + + + + + + diff --git a/web/src/views/nested/menu1/index.vue b/web/src/views/nested/menu1/index.vue new file mode 100644 index 0000000..98240ae --- /dev/null +++ b/web/src/views/nested/menu1/index.vue @@ -0,0 +1,3 @@ + + + diff --git a/web/src/views/nested/menu1/menu1-1/index.vue b/web/src/views/nested/menu1/menu1-1/index.vue new file mode 100644 index 0000000..8c323ec --- /dev/null +++ b/web/src/views/nested/menu1/menu1-1/index.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/web/src/views/nested/menu1/menu1-2/index.vue b/web/src/views/nested/menu1/menu1-2/index.vue new file mode 100644 index 0000000..8508f4a --- /dev/null +++ b/web/src/views/nested/menu1/menu1-2/index.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/web/src/views/nested/menu2/index.vue b/web/src/views/nested/menu2/index.vue new file mode 100644 index 0000000..b8283a2 --- /dev/null +++ b/web/src/views/nested/menu2/index.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/web/src/views/system/dept/index.vue b/web/src/views/system/dept/index.vue new file mode 100644 index 0000000..3c5119f --- /dev/null +++ b/web/src/views/system/dept/index.vue @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + {{ item.label }} + + + + + + + + + + + + + + + + + + + {{ parseTime(scope.row.createTime) }} + + + + + + + + + + + + + + + diff --git a/web/src/views/system/dict/dictDetail.vue b/web/src/views/system/dict/dictDetail.vue new file mode 100644 index 0000000..d865da6 --- /dev/null +++ b/web/src/views/system/dict/dictDetail.vue @@ -0,0 +1,114 @@ + + + + 点击字典查看详情 + + + + + + + 搜索 + + + + + + + + + + + + + + + + + + + + {{ dictName }} + + + + + + + + + 确定删除本条数据吗? + + 取消 + 确定 + + + + + + + + + + + + + + + diff --git a/web/src/views/system/dict/index.vue b/web/src/views/system/dict/index.vue new file mode 100644 index 0000000..8716219 --- /dev/null +++ b/web/src/views/system/dict/index.vue @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + 字典列表 + + 新增 + + + + + + 搜索 + + 导出 + + + + + + + + + + 此操作将删除字典与对应的字典详情,确定要删除吗? + + 取消 + 确定 + + + + + + + + + + + + + + + 字典详情 + 新增 + + + + + + + + + + + diff --git a/web/src/views/system/job/index.vue b/web/src/views/system/job/index.vue new file mode 100644 index 0000000..30610cb --- /dev/null +++ b/web/src/views/system/job/index.vue @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + {{ scope.row.deptSuperiorName ? scope.row.deptSuperiorName + ' / ' : '' }}{{ scope.row.dept.name }} + + + + + {{ scope.row.sort }} + + + + + + + + + + {{ parseTime(scope.row.createTime) }} + + + + + + + + + + + + + + + + + + + diff --git a/web/src/views/system/job/module/form.vue b/web/src/views/system/job/module/form.vue new file mode 100644 index 0000000..23234e4 --- /dev/null +++ b/web/src/views/system/job/module/form.vue @@ -0,0 +1,149 @@ + + + + + + + + + + + + {{ item.label }} + + + + + + + + + + + + + diff --git a/web/src/views/system/job/module/header.vue b/web/src/views/system/job/module/header.vue new file mode 100644 index 0000000..1c5c5bc --- /dev/null +++ b/web/src/views/system/job/module/header.vue @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/web/src/views/system/menu/index.vue b/web/src/views/system/menu/index.vue new file mode 100644 index 0000000..2fb2147 --- /dev/null +++ b/web/src/views/system/menu/index.vue @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + 目录 + 菜单 + 按钮 + + + + + + + + + + + + + + 是 + 否 + + + + + 是 + 否 + + + + + 是 + 否 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ scope.row.sort }} + + + + + + + + 是 + 否 + + + + + 是 + 否 + + + + + 否 + 是 + + + + + {{ parseTime(scope.row.createTime) }} + + + + + + + + + + + + + + diff --git a/web/src/views/system/role/index.vue b/web/src/views/system/role/index.vue new file mode 100644 index 0000000..e57a958 --- /dev/null +++ b/web/src/views/system/role/index.vue @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 角色列表 + + + + + + + + + {{ parseTime(scope.row.createTime) }} + + + + + + + + + + + + + + + + + + 菜单分配 + + 保存 + + + + + + + + + + + + + diff --git a/web/src/views/system/user/center.vue b/web/src/views/system/user/center.vue new file mode 100644 index 0000000..0df2daa --- /dev/null +++ b/web/src/views/system/user/center.vue @@ -0,0 +1,218 @@ + + + + + + + 个人信息 + + + + + + + + + 登录账号{{ user.username }} + 用户昵称 {{ user.nickName }} + 手机号码 {{ user.phone }} + 用户邮箱 {{ user.email }} + + 安全设置 + + 修改密码 + + + + + + + + + + + + + + + 用户昵称不作为登录使用 + + + + 手机号码不能重复 + + + + 男 + 女 + + + + 保存配置 + + + + + + + + + + + + + + + diff --git a/web/src/views/system/user/center/updatePass.vue b/web/src/views/system/user/center/updatePass.vue new file mode 100644 index 0000000..078ed17 --- /dev/null +++ b/web/src/views/system/user/center/updatePass.vue @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/src/views/system/user/index.vue b/web/src/views/system/user/index.vue new file mode 100644 index 0000000..e9fa540 --- /dev/null +++ b/web/src/views/system/user/index.vue @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 男 + 女 + + + + + {{ item.label }} + + + + + + + + + + + + + + + + + + + + + {{ scope.row.dept.name }} / {{ scope.row.job.name }} + + + + + + + + + + {{ parseTime(scope.row.createTime) }} + + + + + + + + + + + + + + + + + + diff --git a/web/src/views/tools/swagger/index.vue b/web/src/views/tools/swagger/index.vue new file mode 100644 index 0000000..5162cd9 --- /dev/null +++ b/web/src/views/tools/swagger/index.vue @@ -0,0 +1,16 @@ + + + +
+ Markdown 基于 + MavonEditor + ,图片上传使用 SM.MS +
+ Yaml编辑器 基于 + CodeMirror, + 主题预览地址 Theme +
商品管理
会员管理
订单管理
电子券管理
营销管理
分销管理
财务管理
门店管理
确定删除本条数据吗?
此操作将删除字典与对应的字典详情,确定要删除吗?