diff --git a/README.md b/README.md index 5d693734..c54ee926 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Jeecg-Boot 快速开发平台(前后端分离版本) =============== -当前最新版本: 1.1(发布日期:20190415) +当前最新版本: 2.0.0(发布日期:20190520) 项目介绍: ----------------------------------- @@ -52,11 +52,11 @@ Jeecg-Boot快速开发平台,可以应用在任何J2EE项目的开发中,尤 ----------------------------------- #### 后端 -- 基础框架:Spring Boot 2.0.3.RELEASE +- 基础框架:Spring Boot 2.1.3.RELEASE - 持久层框架:Mybatis-plus_3.0.6 -- 安全框架:Apache Shiro 1.4.0-RC2,Jwt_3.4.1 +- 安全框架:Apache Shiro 1.4.0,Jwt_3.7.0 - 数据库连接池:阿里巴巴Druid 1.1.10 @@ -89,7 +89,7 @@ Jeecg-Boot快速开发平台,可以应用在任何J2EE项目的开发中,尤 - 依赖管理:Maven -- 数据库:MySQL5.0 & Oracle 11g +- 数据库:MySQL5.0 & Oracle 11g & Sqlserver2005 - 缓存:Redis @@ -242,7 +242,7 @@ Jeecg-Boot快速开发平台,可以应用在任何J2EE项目的开发中,尤 - jdk8 - mysql - redis -- 数据库脚步:jeecg-boot\docs\jeecg-boot_1.1.0-20190415.sql +- 数据库脚步:jeecg-boot\docs\jeecg-boot-mysql.sql - 默认登录账号: admin/123456 diff --git a/ant-design-jeecg-vue/.eslintignore b/ant-design-jeecg-vue/.eslintignore new file mode 100644 index 00000000..dbc86908 --- /dev/null +++ b/ant-design-jeecg-vue/.eslintignore @@ -0,0 +1 @@ +/src \ No newline at end of file diff --git a/ant-design-jeecg-vue/LICENSE b/ant-design-jeecg-vue/LICENSE index 03c5fe35..22a76de3 100644 --- a/ant-design-jeecg-vue/LICENSE +++ b/ant-design-jeecg-vue/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 jeecg-boot +Copyright (c) 2019 DaiHao Zhang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/ant-design-jeecg-vue/README.md b/ant-design-jeecg-vue/README.md index 44012490..d1cd3b27 100644 --- a/ant-design-jeecg-vue/README.md +++ b/ant-design-jeecg-vue/README.md @@ -1,7 +1,7 @@ Ant Design Jeecg Vue ==== -当前最新版本: 1.1.0(发布日期:20190415) +当前最新版本: 2.0.0(发布日期:20190518) Overview ---- diff --git a/ant-design-jeecg-vue/package.json b/ant-design-jeecg-vue/package.json index 3ea0328c..26e9452b 100644 --- a/ant-design-jeecg-vue/package.json +++ b/ant-design-jeecg-vue/package.json @@ -1,6 +1,6 @@ { "name": "vue-antd-jeecg", - "version": "1.1.0", + "version": "2.0.0", "private": true, "scripts": { "serve": "vue-cli-service serve --open", @@ -15,6 +15,8 @@ "ant-design-vue": "^1.3.1", "apexcharts": "^3.6.5", "axios": "^0.18.0", + "clipboard": "^2.0.4", + "codemirror": "^5.46.0", "dayjs": "^1.8.0", "enquire.js": "^2.1.6", "js-cookie": "^2.2.0", @@ -29,10 +31,14 @@ "vue-class-component": "^6.0.0", "vue-cropper": "^0.4.8", "vue-i18n": "^8.7.0", + "vue-loader": "^15.7.0", "vue-ls": "^3.2.0", - "vue-print-nb-jeecg": "^1.0.5", + "vue-photo-preview": "^1.1.3", + "vue-print-nb-jeecg": "^1.0.7", "vue-property-decorator": "^7.3.0", "vue-router": "^3.0.1", + "vue-splitpane": "^1.0.4", + "vuedraggable": "^2.20.0", "vuex": "^3.0.1", "vuex-class": "^0.3.1" }, diff --git a/ant-design-jeecg-vue/public/index.html b/ant-design-jeecg-vue/public/index.html index 9b938e50..581cbae7 100644 --- a/ant-design-jeecg-vue/public/index.html +++ b/ant-design-jeecg-vue/public/index.html @@ -224,6 +224,7 @@ window._CONFIG = {}; window._CONFIG['domianURL'] = 'http://localhost:8080/jeecg-boot'; window._CONFIG['imgDomainURL'] = 'http://localhost:8080/jeecg-boot/sys/common/view'; + window._CONFIG['pdfDomainURL'] = 'http://localhost:8080/jeecg-boot/sys/common/pdf/pdfPreviewIframe'; diff --git a/ant-design-jeecg-vue/src/api/api.js b/ant-design-jeecg-vue/src/api/api.js index 5306ff03..c26eca91 100644 --- a/ant-design-jeecg-vue/src/api/api.js +++ b/ant-design-jeecg-vue/src/api/api.js @@ -5,7 +5,6 @@ import { getAction,deleteAction,putAction,postAction} from '@/api/manage' ////图片预览请求地址 // const imgView = "http://localhost:8080/jeecg-boot/sys/common/view/"; - //角色管理 const addRole = (params)=>postAction("/sys/role/add",params); const editRole = (params)=>putAction("/sys/role/edit",params); @@ -39,7 +38,8 @@ const queryTreeListForRole = (params)=>getAction("/sys/role/queryTreeList",param const queryListAsync = (params)=>getAction("/sys/permission/queryListAsync",params); const queryRolePermission = (params)=>getAction("/sys/permission/queryRolePermission",params); const saveRolePermission = (params)=>postAction("/sys/permission/saveRolePermission",params); -const queryPermissionsByUser = (params)=>getAction("/sys/permission/queryByUser",params); +//const queryPermissionsByUser = (params)=>getAction("/sys/permission/queryByUser",params); +const queryPermissionsByUser = (params)=>getAction("/sys/permission/getUserPermissionByToken",params); const loadAllRoleIds = (params)=>getAction("/sys/permission/loadAllRoleIds",params); const getPermissionRuleList = (params)=>getAction("/sys/permission/getPermRuleListByPermId",params); const queryPermissionRule = (params)=>getAction("/sys/permission/queryPermissionRule",params); @@ -130,7 +130,7 @@ export { queryUserByDepId, queryUserRoleMap, duplicateCheck, - queryTreeListForRole + queryTreeListForRole, } diff --git a/ant-design-jeecg-vue/src/assets/less/common.css b/ant-design-jeecg-vue/src/assets/less/common.less similarity index 55% rename from ant-design-jeecg-vue/src/assets/less/common.css rename to ant-design-jeecg-vue/src/assets/less/common.less index 717295ad..62f28a8a 100644 --- a/ant-design-jeecg-vue/src/assets/less/common.css +++ b/ant-design-jeecg-vue/src/assets/less/common.less @@ -1,9 +1,12 @@ -/*列表上方操作按钮*/ +/*列表上方操作按钮区域*/ .ant-card-body .table-operator { margin-bottom: 18px; } - +/** Button按钮间距 */ +.table-operator .ant-btn { + margin-right: 6px +} /*列表td的padding设置 可以控制列表大小*/ .ant-table-tbody .ant-table-row td { padding-top: 15px; @@ -26,4 +29,14 @@ height: 90% !important; overflow-y: hidden } - +/*列表中有图片的加这个样式 参考用户管理*/ +.anty-img-wrap { + height: 25px; + position: relative; +} +.anty-img-wrap > img { + max-height: 100%; +} +/*列表中范围查询样式*/ +.query-group-cust{width: calc(50% - 10px)} +.query-group-split-cust:before{content:"~";width: 20px;display: inline-block;text-align: center} diff --git a/ant-design-jeecg-vue/src/assets/pdf4.jpg b/ant-design-jeecg-vue/src/assets/pdf4.jpg new file mode 100644 index 00000000..10166e09 Binary files /dev/null and b/ant-design-jeecg-vue/src/assets/pdf4.jpg differ diff --git a/ant-design-jeecg-vue/src/components/bpm/DynamicComponent.vue b/ant-design-jeecg-vue/src/components/bpm/DynamicComponent.vue new file mode 100644 index 00000000..99f80e40 --- /dev/null +++ b/ant-design-jeecg-vue/src/components/bpm/DynamicComponent.vue @@ -0,0 +1,35 @@ + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/bpm/FormCommonModal.vue b/ant-design-jeecg-vue/src/components/bpm/FormCommonModal.vue new file mode 100644 index 00000000..91bb19ee --- /dev/null +++ b/ant-design-jeecg-vue/src/components/bpm/FormCommonModal.vue @@ -0,0 +1,72 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/bpm/ProcNodeInfoModel.vue b/ant-design-jeecg-vue/src/components/bpm/ProcNodeInfoModel.vue new file mode 100644 index 00000000..2094ac7b --- /dev/null +++ b/ant-design-jeecg-vue/src/components/bpm/ProcNodeInfoModel.vue @@ -0,0 +1,120 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/bpm/ProcessInstPicModal.vue b/ant-design-jeecg-vue/src/components/bpm/ProcessInstPicModal.vue new file mode 100644 index 00000000..3cada199 --- /dev/null +++ b/ant-design-jeecg-vue/src/components/bpm/ProcessInstPicModal.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/chart/AreaChartTy.vue b/ant-design-jeecg-vue/src/components/chart/AreaChartTy.vue index ea1b42f5..1d813eb2 100644 --- a/ant-design-jeecg-vue/src/components/chart/AreaChartTy.vue +++ b/ant-design-jeecg-vue/src/components/chart/AreaChartTy.vue @@ -1,12 +1,12 @@ + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/jeecgbiz/SearchUserByDepModal.vue b/ant-design-jeecg-vue/src/components/jeecgbiz/SearchUserByDepModal.vue deleted file mode 100644 index 20c9768b..00000000 --- a/ant-design-jeecg-vue/src/components/jeecgbiz/SearchUserByDepModal.vue +++ /dev/null @@ -1,308 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectDepartModal.vue b/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectDepartModal.vue new file mode 100644 index 00000000..71f6759b --- /dev/null +++ b/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectDepartModal.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectMultiUserModal.vue b/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectMultiUserModal.vue new file mode 100644 index 00000000..e55fd714 --- /dev/null +++ b/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectMultiUserModal.vue @@ -0,0 +1,274 @@ + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/jeecgbiz/JSearchUserByDepModal.vue b/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue similarity index 94% rename from ant-design-jeecg-vue/src/components/jeecgbiz/JSearchUserByDepModal.vue rename to ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue index f4982b72..afd8a775 100644 --- a/ant-design-jeecg-vue/src/components/jeecgbiz/JSearchUserByDepModal.vue +++ b/ant-design-jeecg-vue/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue @@ -1,5 +1,4 @@ + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/layouts/TabLayout.vue b/ant-design-jeecg-vue/src/components/layouts/TabLayout.vue index 1ef77ab0..0fa07553 100644 --- a/ant-design-jeecg-vue/src/components/layouts/TabLayout.vue +++ b/ant-design-jeecg-vue/src/components/layouts/TabLayout.vue @@ -1,5 +1,5 @@ @@ -53,10 +54,92 @@ required: true } }, + computed:{ + smenuStyle() { + let style = { 'padding': '0' } + if (this.fixSiderbar) { + style['height'] = 'calc(100% - 59px)' + style['overflow'] = 'auto' + style['overflow-x'] = 'hidden' + } + return style + } + }, methods: { onSelect (obj) { this.$emit('menuSelect', obj) } } } - \ No newline at end of file + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/menu/index.js b/ant-design-jeecg-vue/src/components/menu/index.js index 59b0cf60..ecf7095c 100644 --- a/ant-design-jeecg-vue/src/components/menu/index.js +++ b/ant-design-jeecg-vue/src/components/menu/index.js @@ -34,149 +34,155 @@ export default { } }, computed: { - rootSubmenuKeys: (vm) => { - let keys = [] + rootSubmenuKeys: vm => { + const keys = [] vm.menu.forEach(item => keys.push(item.path)) return keys } }, - created () { + mounted () { this.updateMenu() }, watch: { collapsed (val) { if (val) { - this.cachedOpenKeys = this.openKeys + this.cachedOpenKeys = this.openKeys.concat() this.openKeys = [] } else { this.openKeys = this.cachedOpenKeys } }, - '$route': function () { + $route: function () { this.updateMenu() } }, methods: { - renderIcon: function (h, icon) { - return icon === 'none' || icon === undefined ? null - : h(Icon, { props: { type: icon !== undefined ? icon : '' } }) - }, - renderMenuItem: function (h, menu, pIndex, index) { - // 判断是否带参数路由URL,是的话,采用path跳转方式 - if(menu.route && menu.route === '0'){ - return h(Item, { key: menu.path ? menu.path : 'item_' + pIndex + '_' + index }, - [ - h( - 'router-link', - //--update-begin----author:scott---date:20190320------for:改造菜单路由跳转规则,原来是跳转到组件,现在改造成跳转URL(为了支持参数URL菜单)------ - { attrs: { to: { path: menu.path } } }, - //--update-end----author:scott---date:20190320------for:改造菜单路由跳转规则,原来是跳转到组件,现在改造成跳转URL(为了支持参数URL菜单)------ - [ - this.renderIcon(h, menu.meta.icon), - h('span', [ menu.meta.title ]) - ] - ) - ] - ) - }else{ - // 默认采用组件跳转方式 - return h(Item, { key: menu.path ? menu.path : 'item_' + pIndex + '_' + index }, - [ - h( - 'router-link', - { attrs: { to: { name: menu.name } } }, - [ - this.renderIcon(h, menu.meta.icon), - h('span', [ menu.meta.title ]) - ] - ) - ] - ) - } - - }, - renderSubMenu: function (h, menu, pIndex, index) { - const this2_ = this; - let subItem = [ h('span', - { slot: 'title' }, - [ - this.renderIcon(h, menu.meta.icon), - h('span', [ menu.meta.title ]) - ] - ) ] - let itemArr = [] - let pIndex_ = pIndex + '_' + index - if (!menu.alwaysShow) { - menu.children.forEach(function (item, i) { - itemArr.push(this2_.renderItem(h, item, pIndex_, i)) - }) - } - return h( - SubMenu, - { key: menu.path ? menu.path : 'submenu_' + pIndex + '_' + index }, - subItem.concat(itemArr) - ) - }, - renderItem: function (h, menu, pIndex, index) { - if (!menu.hidden) { - return menu.children && !menu.alwaysShow ? this.renderSubMenu(h, menu, pIndex, index) : this.renderMenuItem(h, menu, pIndex, index) - } - }, - renderMenu: function (h, menuTree) { - const this2_ = this - let menuArr = [] - menuTree.forEach(function (menu, i) { - if (!menu.hidden) { - menuArr.push(this2_.renderItem(h, menu, '0', i)) - } - }) - return menuArr - }, + // select menu item onOpenChange (openKeys) { - const latestOpenKey = openKeys.find(key => this.openKeys.indexOf(key) === -1) - if (this.rootSubmenuKeys.indexOf(latestOpenKey) === -1) { + + // 在水平模式下时执行,并且不再执行后续 + if (this.mode === 'horizontal') { + this.openKeys = openKeys + return + } + // 非水平模式时 + const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key)) + if (!this.rootSubmenuKeys.includes(latestOpenKey)) { this.openKeys = openKeys } else { - this.openKeys = latestOpenKey ? [ latestOpenKey ] : [] + this.openKeys = latestOpenKey ? [latestOpenKey] : [] } }, updateMenu () { - let routes = this.$route.matched.concat() - if (routes.length >= 4 && this.$route.meta.hidden) { + const routes = this.$route.matched.concat() + const { hidden } = this.$route.meta + if (routes.length >= 3 && hidden) { routes.pop() - this.selectedKeys = [ routes[2].path ] + this.selectedKeys = [routes[routes.length - 1].path] } else { - this.selectedKeys = [ routes.pop().path ] + this.selectedKeys = [routes.pop().path] } - - let openKeys = [] + const openKeys = [] if (this.mode === 'inline') { - routes.forEach((item) => { + routes.forEach(item => { openKeys.push(item.path) }) } + //update-begin-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 + if(!this.selectedKeys || this.selectedKeys[0].indexOf(":")<0){ + this.collapsed ? (this.cachedOpenKeys = openKeys) : (this.openKeys = openKeys) + } + //update-end-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 + }, - this.collapsed ? this.cachedOpenKeys = openKeys : this.openKeys = openKeys + // render + renderItem (menu) { + if (!menu.hidden) { + return menu.children && !menu.hideChildrenInMenu ? this.renderSubMenu(menu) : this.renderMenuItem(menu) + } + return null + }, + renderMenuItem (menu) { + const target = menu.meta.target || null + const tag = target && 'a' || 'router-link' + let props = { to: { name: menu.name } } + if(menu.route && menu.route === '0'){ + props = { to: { path: menu.path } } + } + + const attrs = { href: menu.path, target: menu.meta.target } + + if (menu.children && menu.hideChildrenInMenu) { + // 把有子菜单的 并且 父菜单是要隐藏子菜单的 + // 都给子菜单增加一个 hidden 属性 + // 用来给刷新页面时, selectedKeys 做控制用 + menu.children.forEach(item => { + item.meta = Object.assign(item.meta, { hidden: true }) + }) + } + + return ( + + + {this.renderIcon(menu.meta.icon)} + {menu.meta.title} + + + ) + }, + renderSubMenu (menu) { + const itemArr = [] + if (!menu.hideChildrenInMenu) { + menu.children.forEach(item => itemArr.push(this.renderItem(item))) + } + return ( + + + {this.renderIcon(menu.meta.icon)} + {menu.meta.title} + + {itemArr} + + ) + }, + renderIcon (icon) { + if (icon === 'none' || icon === undefined) { + return null + } + const props = {} + typeof (icon) === 'object' ? props.component = icon : props.type = icon + return ( + + ) } }, - render (h) { - return h( - Menu, - { - props: { - theme: this.$props.theme, - mode: this.$props.mode, - openKeys: this.openKeys, - selectedKeys: this.selectedKeys - }, - on: { - openChange: this.onOpenChange, - select: (obj) => { - this.selectedKeys = obj.selectedKeys - this.$emit('select', obj) - } - } - }, this.renderMenu(h, this.menu) + + render () { + const { mode, theme, menu } = this + const props = { + mode: mode, + theme: theme, + openKeys: this.openKeys + } + const on = { + select: obj => { + this.selectedKeys = obj.selectedKeys + this.$emit('select', obj) + }, + openChange: this.onOpenChange + } + + const menuTree = menu.map(item => { + if (item.hidden) { + return null + } + return this.renderItem(item) + }) + // {...{ props, on: on }} + return ( + + {menuTree} + ) } -} \ No newline at end of file +} diff --git a/ant-design-jeecg-vue/src/components/page/GlobalHeader.vue b/ant-design-jeecg-vue/src/components/page/GlobalHeader.vue index 926db82e..18c50d84 100644 --- a/ant-design-jeecg-vue/src/components/page/GlobalHeader.vue +++ b/ant-design-jeecg-vue/src/components/page/GlobalHeader.vue @@ -27,13 +27,11 @@
-
-
- -
+
+
{ - count++ - let scrollWidth = document.getElementById('top-nav-scroll-width') - if (scrollWidth == null) { - clearInterval(timer) - return - } - let menu = scrollWidth.getElementsByClassName('ant-menu')[0] - if (menu) { - let widthCount = 0 - let menuItems = menu.getElementsByTagName('li') - for (let item of menuItems) { - if (item.className.indexOf('ant-menu-overflowed-submenu') === -1) { - widthCount += item.offsetWidth - } - } - // 由于首次从侧边菜单模式下切换到顶部菜单模式下没有buildTopMenuStyle,所以这里需要build一下 - if (this.topMenuStyle.scrollWidth['width'] === '10000px') { - // 防止递归调用 - this.$nextTick(() => { - this.buildTopMenuStyle() - }) - } - this.topMenuStyle.scrollWidth['width'] = `${widthCount + 10}px` - // 将滚动条位置滚动到当前选中的菜单处 - if (count === 1) { - topNavScrollToSelectItem(document) - } - } - // 校准数据三次再关闭定时器 - if (count === 3) { - clearInterval(timer) - } - }, 100) } - //update-end--author:sunjianlei---date:20190408------for: 顶部导航栏增加横向滚动条----- + //update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮----- } } @@ -268,52 +215,4 @@ /* update_end author:scott date:20190220 for: 缩小首页布局顶部的高度*/ - /* update_begin author:sunjianlei date:20190408 for: 修改顶部导航栏滚动条的样式 */ - #top-nav-scroll-view { - $scrollBarSize: 8px; - - /* 定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ - &::-webkit-scrollbar { - width: $scrollBarSize; - height: $scrollBarSize; - background-color: transparent; - } - - /* 定义滚动条轨道 */ - &::-webkit-scrollbar-track { - background-color: transparent; - } - - /* 定义滑块 */ - &::-webkit-scrollbar-thumb { - border-radius: $scrollBarSize; - background-color: #eee; - box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); - - &:hover { - background-color: #dddddd; - } - - &:active { - background-color: #bbbbbb; - } - } - } - - /** 暗色系滚动条样式 */ - .dark #top-nav-scroll-view { - &::-webkit-scrollbar-thumb { - background-color: #666666; - - &:hover { - background-color: #808080; - } - - &:active { - background-color: #999999; - } - } - } - - /* update_end author:sunjianlei date:20190408 for: 修改顶部导航栏滚动条的样式 */ \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/page/GlobalLayout.vue b/ant-design-jeecg-vue/src/components/page/GlobalLayout.vue index 05d33675..7f8530e5 100644 --- a/ant-design-jeecg-vue/src/components/page/GlobalLayout.vue +++ b/ant-design-jeecg-vue/src/components/page/GlobalLayout.vue @@ -24,6 +24,7 @@ v-else mode="inline" :menus="menus" + @menuSelect="myMenuSelect" :theme="navTheme" :collapsed="collapsed" :collapsible="true"> @@ -98,6 +99,7 @@ data() { return { collapsed: false, + activeMenu:{}, menus: [] } }, @@ -136,9 +138,26 @@ if (!this.isDesktop()) { this.collapsed = false } + }, + //update-begin-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title + myMenuSelect(value){ + //此处触发动态路由被点击事件 + this.findMenuBykey(this.menus,value.key) + this.$emit("dynamicRouterShow",value.key,this.activeMenu.meta.title) + }, + findMenuBykey(menus,key){ + for(let i of menus){ + if(i.path==key){ + this.activeMenu = {...i} + }else if(i.children && i.children.length>0){ + this.findMenuBykey(i.children,key) + } + } } + //update-end-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title } } + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/components/tools/UserMenu.vue b/ant-design-jeecg-vue/src/components/tools/UserMenu.vue index 92fb7f26..34a48e96 100644 --- a/ant-design-jeecg-vue/src/components/tools/UserMenu.vue +++ b/ant-design-jeecg-vue/src/components/tools/UserMenu.vue @@ -1,7 +1,9 @@ + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/ImgDragSort.vue b/ant-design-jeecg-vue/src/views/jeecg/ImgDragSort.vue new file mode 100644 index 00000000..e6aa5f8b --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/ImgDragSort.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/ImgTurnPage.vue b/ant-design-jeecg-vue/src/views/jeecg/ImgTurnPage.vue new file mode 100644 index 00000000..460bf94d --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/ImgTurnPage.vue @@ -0,0 +1,147 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/JSearchUserByDepList.vue b/ant-design-jeecg-vue/src/views/jeecg/JSearchUserByDepList.vue deleted file mode 100644 index 250ab33c..00000000 --- a/ant-design-jeecg-vue/src/views/jeecg/JSearchUserByDepList.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/JeecgDemoList.vue b/ant-design-jeecg-vue/src/views/jeecg/JeecgDemoList.vue index 02c2135a..7fe882ae 100644 --- a/ant-design-jeecg-vue/src/views/jeecg/JeecgDemoList.vue +++ b/ant-design-jeecg-vue/src/views/jeecg/JeecgDemoList.vue @@ -61,8 +61,8 @@ 新增 创建单据 一对多 - 导出 - + 导出 + 导入 @@ -231,28 +231,12 @@ list: "/test/jeecgDemo/list", delete: "/test/jeecgDemo/delete", deleteBatch: "/test/jeecgDemo/deleteBatch", + exportXlsUrl: "/test/jeecgDemo/exportXls" }, fieldList:superQueryFieldList } }, methods: { - exportXls(){ - let paramsStr = encodeURI(JSON.stringify(this.getQueryParams())); - console.log('paramsStr: ' + paramsStr) - let url = `${window._CONFIG['domianURL']}/test/jeecgDemo/exportXls?paramsStr=${paramsStr}`; - window.location.href = url; - }, - handleImportExcel(info){ - if (info.file.status !== 'uploading') { - console.log(info.file, info.fileList); - } - if (info.file.status === 'done') { - this.$message.success(`${info.file.name} 文件上传成功`); - this.loadData(); - } else if (info.file.status === 'error') { - this.$message.error(`${info.file.name} 文件上传失败.`); - } - }, initDictConfig() { console.log("--我才是真的方法!--") //初始化字典 - 性别 diff --git a/ant-design-jeecg-vue/src/views/jeecg/JeecgEditableTableExample.vue b/ant-design-jeecg-vue/src/views/jeecg/JeecgEditableTableExample.vue index 8bb1a2e6..979116af 100644 --- a/ant-design-jeecg-vue/src/views/jeecg/JeecgEditableTableExample.vue +++ b/ant-design-jeecg-vue/src/views/jeecg/JeecgEditableTableExample.vue @@ -23,18 +23,23 @@ :rowSelection="true" :actionButton="true" style="margin-top: 8px;" - @selectRowChange="handleSelectRowChange"/> + @selectRowChange="handleSelectRowChange"> + + + + diff --git a/ant-design-jeecg-vue/src/views/jeecg/JeecgPdfView.vue b/ant-design-jeecg-vue/src/views/jeecg/JeecgPdfView.vue new file mode 100644 index 00000000..20669155 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/JeecgPdfView.vue @@ -0,0 +1,122 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/JeecgTreeTable.vue b/ant-design-jeecg-vue/src/views/jeecg/JeecgTreeTable.vue new file mode 100644 index 00000000..bd717d15 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/JeecgTreeTable.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/ant-design-jeecg-vue/src/views/jeecg/JoaDemoList.vue b/ant-design-jeecg-vue/src/views/jeecg/JoaDemoList.vue new file mode 100644 index 00000000..b7cc6803 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/JoaDemoList.vue @@ -0,0 +1,250 @@ + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/RowspanTable.vue b/ant-design-jeecg-vue/src/views/jeecg/RowspanTable.vue new file mode 100644 index 00000000..3b27b945 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/RowspanTable.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/ant-design-jeecg-vue/src/views/jeecg/SearchUserByDepList.vue b/ant-design-jeecg-vue/src/views/jeecg/SearchUserByDepList.vue deleted file mode 100644 index 4c4ab63f..00000000 --- a/ant-design-jeecg-vue/src/views/jeecg/SearchUserByDepList.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/SelectDemo.vue b/ant-design-jeecg-vue/src/views/jeecg/SelectDemo.vue index c6aafec2..c888d5ab 100644 --- a/ant-design-jeecg-vue/src/views/jeecg/SelectDemo.vue +++ b/ant-design-jeecg-vue/src/views/jeecg/SelectDemo.vue @@ -2,7 +2,7 @@
- + @@ -10,7 +10,7 @@ @@ -41,63 +41,325 @@ + + + + + + + + + + + + + + + + + 选中的部门ID(v-decorator):{{ getDepartIdValue() }} + + + + + + + + + 选中的部门ID(v-model):{{ departId }} + + + + + + + + + + 选中的用户(v-model):{{ userRealName }} + + + + + + + + + + 选中的用户(v-model):{{ multiUser }} + + + + + + + + + + 多选组合(v-model):{{ jcheckbox.values }} + + + + + + + + + + 代码输入框(v-model):{{ jcodedditor.value }} + + + + + + + + + + 日期选择框(v-model):{{ jdate.value }} + + + + + + + + + + 富文本编辑器(v-model):{{ jeditor.value }} + + + + + + + + + + 过长剪切:{{ jellipsis.value }} + + + + + + + + + + 验证码:{{ jgraphicCode.value }} + + + + + + + + + + 滑块验证码验证通过:{{ jslider.value }} + + + + + + + + + + 多选下拉框(v-model):{{ jselectMultiple.value }} + + + + + + + + 最大化弹窗 + + + + + + + + + + + + +
- + - +
diff --git a/ant-design-jeecg-vue/src/views/jeecg/SplitPanel.vue b/ant-design-jeecg-vue/src/views/jeecg/SplitPanel.vue new file mode 100644 index 00000000..8d128fba --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/SplitPanel.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/TableExpandeSub.vue b/ant-design-jeecg-vue/src/views/jeecg/TableExpandeSub.vue index 249fa6dd..a7ba3b01 100644 --- a/ant-design-jeecg-vue/src/views/jeecg/TableExpandeSub.vue +++ b/ant-design-jeecg-vue/src/views/jeecg/TableExpandeSub.vue @@ -237,10 +237,6 @@ margin-bottom: 18px; } - .ant-layout-content { - margin: 12px 16px 0 !important; - } - .ant-table-tbody .ant-table-row td { padding-top: 15px; padding-bottom: 15px; diff --git a/ant-design-jeecg-vue/src/views/jeecg/modules/JoaDemoForm.vue b/ant-design-jeecg-vue/src/views/jeecg/modules/JoaDemoForm.vue new file mode 100644 index 00000000..f817c4b2 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/modules/JoaDemoForm.vue @@ -0,0 +1,160 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/modules/PdfPreviewModal.vue b/ant-design-jeecg-vue/src/views/jeecg/modules/PdfPreviewModal.vue new file mode 100644 index 00000000..1e232e40 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/modules/PdfPreviewModal.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelA.vue b/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelA.vue new file mode 100644 index 00000000..96b6b4b5 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelA.vue @@ -0,0 +1,27 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelB.vue b/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelB.vue new file mode 100644 index 00000000..9008b002 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelB.vue @@ -0,0 +1,27 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelModal.vue b/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelModal.vue new file mode 100644 index 00000000..a63702a0 --- /dev/null +++ b/ant-design-jeecg-vue/src/views/jeecg/modules/SplitPanelModal.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/jeecg/report/ArchivesStatisticst.vue b/ant-design-jeecg-vue/src/views/jeecg/report/ArchivesStatisticst.vue index 326fc287..0903dc53 100644 --- a/ant-design-jeecg-vue/src/views/jeecg/report/ArchivesStatisticst.vue +++ b/ant-design-jeecg-vue/src/views/jeecg/report/ArchivesStatisticst.vue @@ -12,7 +12,7 @@ - + 重置 - + @@ -40,7 +40,7 @@ - + - + diff --git a/ant-design-jeecg-vue/src/views/jeecg/report/ViserChartDemo.vue b/ant-design-jeecg-vue/src/views/jeecg/report/ViserChartDemo.vue index dabc5320..63ee4fbd 100644 --- a/ant-design-jeecg-vue/src/views/jeecg/report/ViserChartDemo.vue +++ b/ant-design-jeecg-vue/src/views/jeecg/report/ViserChartDemo.vue @@ -63,6 +63,10 @@ + + + + @@ -82,13 +86,14 @@ import RankList from '@/components/chart/RankList' import TransferBar from '@/components/chart/TransferBar' import Trend from '@/components/chart/Trend' + import BarAndLine from '@/components/chart/BarAndLine' export default { name: 'ViserChartDemo', components: { Bar, MiniBar, BarMultid, AreaChartTy, LineChartMultid, Pie, Radar, DashChartDemo, MiniProgress, RankList, - TransferBar, Trend, Liquid, MiniArea + TransferBar, Trend, Liquid, MiniArea, BarAndLine }, data() { return { diff --git a/ant-design-jeecg-vue/src/views/modules/message/SysMessageList.vue b/ant-design-jeecg-vue/src/views/modules/message/SysMessageList.vue index f181af2d..60d65282 100644 --- a/ant-design-jeecg-vue/src/views/modules/message/SysMessageList.vue +++ b/ant-design-jeecg-vue/src/views/modules/message/SysMessageList.vue @@ -6,13 +6,13 @@ - - + + - - + + diff --git a/ant-design-jeecg-vue/src/views/system/modules/RoleDataruleModal.vue b/ant-design-jeecg-vue/src/views/system/modules/RoleDataruleModal.vue index 88975480..bb5b75b1 100644 --- a/ant-design-jeecg-vue/src/views/system/modules/RoleDataruleModal.vue +++ b/ant-design-jeecg-vue/src/views/system/modules/RoleDataruleModal.vue @@ -1,7 +1,7 @@ @@ -92,8 +98,12 @@ import { httpAction } from '@/api/manage' import pick from 'lodash.pick' import moment from "moment" + import { getAction } from '@/api/manage' + import JDate from '@/components/jeecg/JDate' + import SelectUserListModal from "./SelectUserListModal"; export default { + components: {SelectUserListModal}, name: "SysAnnouncementModal", data () { return { @@ -114,14 +124,19 @@ form: this.$form.createForm(this), validatorRules:{ title:{rules: [{ required: true, message: '请输入标题!' }]}, + msgCategory:{rules: [{ required: true, message: '请选择消息类型!' }]}, + msgType:{rules: [{ required: true, message: '请选择通告对象类型!' }]}, }, url: { + queryByIds: "/sys/user/queryByIds", add: "/sys/annountCement/add", edit: "/sys/annountCement/edit", }, userType:false, - visible: false, - confirmLoading: false, + userIds:[], + selectedUser:[], + disabled:false, + msgContent:"", } }, created () { @@ -132,18 +147,38 @@ }, edit (record) { this.form.resetFields(); - this.model = Object.assign({}, record); + this.disable = false; this.visible = true; + this.getUser(record); + }, + getUser(record){ + this.model = Object.assign({}, record); + //this.model.msgContent.replace("
","\n"); + console.log(this.model.msgContent); + // 指定用户 + if(record&&record.msgType === "USER"){ + this.userType = true; + this.userIds = record.userIds; + getAction(this.url.queryByIds,{userIds:this.userIds}).then((res)=>{ + if(res.success){ + for(var i=0;i { - this.form.setFieldsValue(pick(this.model,'titile','msgContent','priority','msgType')) - //时间格式化 + this.form.setFieldsValue(pick(this.model,'titile','msgContent','sender','priority','msgCategory','msgType','sendStatus','delFlag')) this.form.setFieldsValue({startTime:this.model.startTime?moment(this.model.startTime):null}) this.form.setFieldsValue({endTime:this.model.endTime?moment(this.model.endTime):null}) + this.form.setFieldsValue({sendTime:this.model.sendTime?moment(this.model.sendTime):null}) + this.form.setFieldsValue({cancelTime:this.model.cancelTime?moment(this.model.cancelTime):null}) }); - }, close () { this.$emit('close'); + this.selectedUser = []; this.visible = false; }, handleOk () { @@ -162,6 +197,9 @@ method = 'put'; } let formData = Object.assign(this.model, values); + if(this.userType){ + formData.userIds = this.userIds; + } //时间格式化 formData.startTime = formData.startTime?formData.startTime.format('YYYY-MM-DD HH:mm:ss'):null; formData.endTime = formData.endTime?formData.endTime.format('YYYY-MM-DD HH:mm:ss'):null; @@ -185,18 +223,37 @@ }) }, handleCancel () { - this.close() + this.visible = false; + this.$emit('close'); + this.resetUser(); + }, + resetUser (){ + this.userType = false; + this.userIds = []; + this.selectedUser = []; + this.disabled = false; + this.$refs.UserListModal.edit(null,null); + }, + selectUserIds() { + this.$refs.UserListModal.add(this.selectedUser,this.userIds); }, chooseMsgType(value) { if("USER" == value) { this.userType = true; } else { this.userType = false; + this.selectedUser = []; + this.userIds = []; } }, - selectUserIds() { - console.log(1); - this.$refs.modalSelectUser.show(); + // 子modal回调 + choseUser:function(userList){ + this.selectedUser = []; + this.userIds = []; + for(var i=0;i + + + + + + + + + + + 选择用户 + + + + + + + + + + + 有效 + 无效 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ant-design-jeecg-vue/src/views/system/modules/UserModal.vue b/ant-design-jeecg-vue/src/views/system/modules/UserModal.vue index 4c9fe084..c44996a9 100644 --- a/ant-design-jeecg-vue/src/views/system/modules/UserModal.vue +++ b/ant-design-jeecg-vue/src/views/system/modules/UserModal.vue @@ -39,7 +39,7 @@ - + - + - 头像 + 头像
上传
@@ -100,7 +102,11 @@ - + + + + + @@ -123,8 +129,10 @@ // 引入搜索部门弹出框的组件 import departWindow from './DepartWindow' import { ACCESS_TOKEN } from "@/store/mutation-types" - import { getAction, httpAction } from '@/api/manage' + import { getAction, httpAction,putAction } from '@/api/manage' import {addUser,editUser,queryUserRole,queryall,checkUsername } from '@/api/api' + import { disabledAuthFilter } from "@/utils/authFilter" + export default { name: "RoleModal", components: { @@ -132,6 +140,10 @@ }, data () { return { + departDisabled: false, //是否是我的部门调用该页面 + deptId: '', + roleDisabled: false, //是否是角色维护调用该页面 + roleId: '', modalWidth:800, drawerWidth:700, modaltoggleFlag:true, @@ -170,7 +182,7 @@ phone:{rules: [{validator: this.validatePhone}]}, email:{rules: [{type: 'email', message: '请输入正确格式的电子邮箱!',}]}, roles:{} - // sex:{initialValue:((!this.model.sex)?"": (this.model.sex+""))} + // sex:{initialValue:((!this.model.sex)?"": (this.model.sex+""))} }, title:"操作", visible: false, @@ -189,12 +201,15 @@ confirmLoading: false, headers:{}, form:this.$form.createForm(this), + picUrl: "", url: { addUDepartIds:"/sys/user/addUDepartIds", // 引入为用户添加部门信息需要的url editUDepartIds:"/sys/user/editUDepartIds", // 引入为用户更新部门信息需要的url fileUpload: window._CONFIG['domianURL']+"/sys/common/upload", imgerver: window._CONFIG['domianURL']+"/sys/common/view", userWithDepart: "/sys/user/userDepartList", // 引入为指定用户查看部门信息需要的url + userId:"/sys/user/generateUserId", // 引入生成添加用户情况下的url + syncUserByUserName:"/process/extActProcess/doSyncUserByUserName",//同步用户到工作流 }, } }, @@ -209,6 +224,9 @@ } }, methods: { + disabledAuth(code){ + return disabledAuthFilter(code); + }, //窗口最大化切换 toggleScreen(){ if(this.modaltoggleFlag){ @@ -244,8 +262,9 @@ this.userId="" }, add () { + this.picUrl = ""; this.refresh() - this.edit({}); + this.edit({activitiSync:'1'}); }, edit (record) { this.resetScreenSize(); // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度 @@ -255,12 +274,13 @@ that.form.resetFields(); if(record.hasOwnProperty("id")){ that.loadUserRoles(record.id); + this.picUrl = "Has no pic url yet"; } that.userId = record.id; that.visible = true; that.model = Object.assign({}, record); that.$nextTick(() => { - that.form.setFieldsValue(pick(this.model,'username','sex','realname','email','phone')) + that.form.setFieldsValue(pick(this.model,'username','sex','realname','email','phone','activitiSync')) }); // 调用查询用户对应的部门信息的方法 that.checkedDepartKeys = []; @@ -292,6 +312,13 @@ }, moment, handleSubmit () { + if(this.departDisabled===true){ + this.handleSubmitDepart(); + return + }else if(this.roleDisabled===true){ + this.handleSubmitRole() + return + } const that = this; // 触发表单验证 this.form.validateFields((err, values) => { @@ -319,6 +346,97 @@ if(res.success){ that.$message.success(res.message); that.$emit('ok'); + //同步用户到工作流 + this.handleSyncUser(this.model.username); + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + that.checkedDepartNames = []; + that.close(); + }) + + } + }) + }, + // 提交表单(我的部门调用) + handleSubmitDepart(){ + const that = this; + // 触发表单验证 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true; + let avatar = that.model.avatar; + if (!values.birthday) { + values.birthday = ''; + } else { + values.birthday = values.birthday.format(this.dateFormat); + } + let formData = Object.assign(this.model, values); + formData.avatar = avatar; + formData.selectedroles = this.roleId; + + //生成userId + getAction(this.url.userId).then((res) => { + if (res.success) { + this.userId = res.result; + console.log("generateUserId:" + this.userId) + formData.id = that.userId; + console.log("formData.id:" + formData.id) + this.addDepartsToUser1(that, formData); // 调用根据当前用户添加部门信息的方法 + addUser(formData).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.$emit('ok'); + //同步用户到工作流 + this.handleSyncUser(this.model.username); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + that.checkedDepartNames = []; + that.close(); + }) + } + }) + } + }) + }, + //提交表单(角色维护调用) + handleSubmitRole(){ + const that = this; + // 触发表单验证 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true; + let avatar = that.model.avatar; + if(!values.birthday){ + values.birthday = ''; + }else{ + values.birthday = values.birthday.format(this.dateFormat); + } + let formData = Object.assign(this.model, values); + formData.avatar = avatar; + formData.selectedroles = this.selectedRole.length>0?this.selectedRole.join(","):''; + if(this.roleId!=''){ + formData.selectedroles = this.roleId; + } + that.addDepartsToUser(that,formData); // 调用根据当前用户添加部门信息的方法 + let obj; + if(!this.model.id){ + formData.id = this.userId; + obj=addUser(formData); + }else{ + obj=editUser(formData); + } + obj.then((res)=>{ + if(res.success){ + that.$message.success(res.message); + that.$emit('ok'); + //同步用户到工作流 + this.handleSyncUser(this.model.username); }else{ that.$message.warning(res.message); } @@ -334,7 +452,6 @@ handleCancel () { this.close() }, - // 根据当前用户添加部门信息的方法 addDepartsToUser(that,formData){ let httpurl = ''; @@ -354,8 +471,30 @@ } }) }, + // 根据当前用户添加部门信息的方法(我的部门调用) + addDepartsToUser1: function() { + let httpurl = '' + let method = '' + httpurl += this.url.addUDepartIds + method = 'post'; + let departIdList = []; + departIdList.push(this.deptId); + httpAction(httpurl, { userId: this.userId, departIdList: departIdList }, method).then((res) => { + if (res.success) { + this.userId = '' + this.deptId = '' + this.departIdList = [] + } else { + this.$message.warning(res.message) + } + }) + }, validateToNextPassword (rule, value, callback) { const form = this.form; + const confirmpassword=form.getFieldValue('confirmpassword'); + if (value && confirmpassword && value !== confirmpassword) { + callback('两次输入的密码不一样!'); + } if (value && this.confirmDirty) { form.validateFields(['confirm'], { force: true }) } @@ -410,6 +549,7 @@ //TODO 验证文件大小 }, handleChange (info) { + this.picUrl = ""; if (info.file.status === 'uploading') { this.uploadLoading = true return @@ -420,6 +560,7 @@ console.log(response); if(response.success){ this.model.avatar = response.message; + this.picUrl = "Has no pic url yet"; }else{ this.$message.warning(response.message); } @@ -455,6 +596,18 @@ this.drawerWidth = 700; } }, + handleSyncUser(userName) { + try{ + var that = this; + putAction(that.url.syncUserByUserName, {userName:userName}).then((res) => { + //if (res.success) { + //that.$message.success(res.message); + // } else { + //that.$message.warning(res.message); + //} + }) + }catch (e){} + }, } } diff --git a/ant-design-jeecg-vue/src/views/system/modules/UserRoleModal.vue b/ant-design-jeecg-vue/src/views/system/modules/UserRoleModal.vue index 8dadf4e9..3ec6ae2d 100644 --- a/ant-design-jeecg-vue/src/views/system/modules/UserRoleModal.vue +++ b/ant-design-jeecg-vue/src/views/system/modules/UserRoleModal.vue @@ -20,8 +20,8 @@ @select="onTreeNodeSelect" :expandedKeys="expandedKeysss" :checkStrictly="checkStrictly"> - - {{ slotTitle }} + + {{ slotTitle }} @@ -132,8 +132,9 @@ handleSubmit(){ let that = this; let params = { + roleId:that.roleId, permissionIds:that.checkedKeys.join(","), - roleId:that.roleId + lastpermissionIds:that.defaultCheckedKeys.join(","), }; that.loading = true; console.log("请求参数:",params); diff --git a/ant-design-jeecg-vue/src/views/user/Login.vue b/ant-design-jeecg-vue/src/views/user/Login.vue index 3a36a5d3..c2664860 100644 --- a/ant-design-jeecg-vue/src/views/user/Login.vue +++ b/ant-design-jeecg-vue/src/views/user/Login.vue @@ -1,43 +1,73 @@