feat: Update repository (#580)
* chore: remove i18n (#1828)
* [release] 4.1.0
* perf[Profile]: adapt the profile page to the mobile (#2020)
* Revert "perf: optimize page scrolling when setting fixedHeader"
This reverts commit e8e6c7e79c
.
* perf[Style]: refine fixed-header style when open el-dialog
* doc: add new article
* chore: use mockjs in production environment
* fix[sidebar.css]: remove redundant css
* perf[style]: refine dashboard style in mobile (#2060)
* feat[ErrorLog]: add a clear button in ErrorLog component (#2065)
* fix[redirect]: fix redirect bug in vue-devtools (#2066)
* perf[Tinymce]: update tinymce cdn version
* fix[redirect]: fix redirect bug in vue-devtool again
* docs: add support to readme for Spanish (#2070)
* docs[es]: add some translation(#2080)
* perf[Exapme]: set page title according to article id
* perf[RightPanel]: tidy css (#2101)
* feat[SvgIcon]: support import svg from url (#2052)
* fix: fixed change roles bug (#2072)
* perf[Breadcrumb]: do not update breadcrumbs when go to redirect page (#2086)
* perf[store]: add support to sub-modules (#2047)
* perf[Login]: support other query (#2013)
* refactor[chore]: generate postcss.config.js instead of .postcssrc.js
consistent with vue-cli
* perf[Tinymce]: dynamic import tinymce(#2102)
* [release] 4.2.0
* perf[Style]: refine example css
* fix[Chart]: fixed chart bug in keep-alive (#2119)
* Create FUNDING.yml
* chore: set localhost => 127.0.0.1 (#2142)
* update github ISSUE_TEMPLATE
* chore: add autoprefixer to devDependencies
* perf[Tinymce]: add language option (#2159)
* fix[Tinymce]: fixed bug when init multiple tinymces at the same time (#2152)
* feat: add tab url demo (#2114)
* perf[request.js]: refine error reject (#2160)
* [release] 4.2.1
* perf: default not set withCredentials
* fix[ImageCropper]: removeEventListener when destroyed(#2169)
* docs: fix typo (#2170)
* fix: input attribute autocomplete error (#2191)
* perf[PanThumb]: Replace the image tag with background-image to prevent the stretching (#2202)
* docs: fix typo README.zh-CN.md (#2283)
修改错别字
* perf[clipboard.js]: remove redundant code (#2307)
* bump: update axios for security vulnerability
* bump: update @vue/cli-plugin-eslint version (#2327)
FIx cannot find module '.../node_modules/eslint/lib/api.js/package.json' bug,see https://github.com/vuejs/vue-cli/issues/4231.
* chore: allow dynamic set port
* fix[complex-table]: form header sort icon is out of sync (#2382)
* fix: fixed missing icons
* fix: typos (#2532)
Role Nmae => Role Name
* docs: add awesome-project
* fix[Dashboard]: fixed debounce bug (#2586) (#2597)
To fixed https://github.com/PanJiaChen/vue-element-admin/issues/2586
* perf: VS Code support webpack alias file jump (#2609)
* perf: optimize import file-saver way(#2347)
* refactor[ImageCropper]: fix lint error (#2365)
* fix: fixed numberFormatter bug
https://github.com/PanJiaChen/vue-element-admin/issues/2568
* fix[example]: fixed create.vue cache error
https://github.com/PanJiaChen/vue-element-admin/issues/2608
* perf[utils.js]: perf parseTime function (#2625)
* perf[tagsView]: pref DEL_CACHED_VIEW and DEL_OTHERS_CACHED_VIEWS function (#2626)
* fix[tagsView]: fixed DEL_OTHERS_CACHED_VIEWS bug
* fix[logout]: empty tagsview when logout (#2632)
* fix[TagsView]: fixed toLastView bug (#2634)
* perf[SvgIcon]: change xlink:href to href(#2645)
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href
* fix[TagsView]: fixed click.middle can close affixed tag bug (#2649)
* docs: add job ad
* docs: improved README.md (#2656)
* style: fix el-date-picker css style
* perf: format dropdown menu code (#2720)
* perf: format inline edit table (#2725)
move one format `{row}`
* perf: format drag table (#2733)
move one format `{row}`
* perf: complex table (#2732)
Move ont format `{row}`
* perf: text i18n (#2739)
* update 'MarkdownEditor' components name
* format: space in user card (#2744)
* perf: format pdf download (#2791)
* perf[views/icons]: use grid (#2803)
* feat: plop new generate store (#2805)
* fix[icons]:fixed eslint 1 error and 2 warnings (#2835)
* perf[documentation]: refine css
* fix[Logout]: click blank area of dropDown able to logout (#2896)
Fixed clicking blank area of drop-down unable to log out
* perf: import mockXHR only in production (#2910)
* 自动排除mock
生产环境,使用webpack的条件编译自动排除mock数据
* perf: refine
Co-authored-by: 花裤衩 <panfree23@gmail.com>
* perf[Menu]: remove unused menu-wrapper (#2903)
* perf[complex-table]:refine code (#2825)
* 解决无法删除列表的bug;优化代码;
* perf: refine
Co-authored-by: 花裤衩 <panfree23@gmail.com>
* perf: optimize checkCapslock method (#2635)
* optimize checkCapslock method
* update
Co-authored-by: 花裤衩 <panfree23@gmail.com>
* fix[Charts]: fix charts resize in keep-alive bug (#2922)
* fix[Charts]: fix charts resize in keep-alive bug
* refine
* fix: fixed mock server (#2929)
* init
* refine
* update
* bump: update element-ui version
* fix: fixed require mock bug in production
* fix: fixed redirect path regex (#2933)
* perf[Mock]: set responseFake to mock-server.js(#2966)
* modify 把mock/index.js中与mock-server相关的代码转移到mock-server.js中去,实现两则功能分割
* docs: improve Japanese translation (#2970)
* perf: change script-loader to dependencies
* fix[profile/UserCard]: fixed wrong key name (#3056)
roles => role
* fix:fixed parseTime bug in ie and safari(#3066)
* /src/utils/index.js parseTime 添加IE浏览器(版本10以下,包括版本10)兼容。
* perf: update
Co-authored-by: aisen60 <aisen60@qq.com>
Co-authored-by: 花裤衩 <panfree23@gmail.com>
* perf: format component names as PascalCase (#3074)
format: component names should be PascalCase
* docs: add smallsticker
* Update README.zh-CN.md
* fix: svg support old broswer (#3085)
* fixed typo (#3091)
* fix: use vue-cli default source-map (#3097)
cheap-module-eval-source-map
* perf[Tinymce]: editor try to keep these URLs intact (#3141)
* fix[element-variables]: missing space in element-variables (#3144)
* fix: compatibility with vetur (#1700)
* perf: change default element-ui language to english (#2741)
* feat: add option to try project on CodeSandbox (#2976)
* docs: add tips
* perf: when tags-view scroll close the right-menu
* fix[parseTime]: fixed when pass null (#3038)
* fix[css]: min btn width (#3164)
* docs: Improve read me files and changes in Spanish. (#3234)
* [release] 4.2.2
* chore: change node-sass to dart-sass (#3040)
* perf: change >>> ::v-deep
* [release] 4.3.0
* docs: fix wrong link
* chore: turn on the preload
* refactor: change mock files to commonjs (#3246)
* feat[Menu]: menu icon support el-icon(#3048)
* fix[utils]: param2Obj bug when url params includes ==(#3100)
* perf: remove unused showdown
Co-authored-by: 花裤衩 <panfree23@gmail.com>
* perf: lint code
* fix[v-permission]: support dynamic set roles (#3251)
* chore: update element-ui to 2.13.2
* fix[plop]: set trim => trim() (#3254)
notEmpty
* fix some typos
* [release] 4.3.1
* bump: update to vue-cli@4 (#3028)
* [release] 4.4.0
* fix[chore]: do not preload runtime.js (#3279)
* perf[chore]: remove preserveWhitespace config (#3280)
* perf[Tinymce]: remove useless code (#3295)
* perf[permission.js]: remove useless code (#3301)
* typo: replace Css with CSS (#3323)
* docs: add GitAds
* docs: remove gitads
* docs: add vue-java-admin-dashboard-spring
* perf: refine documentation button css
* docs: add coupon
* feat: add new sponsored
* update dependencies.
* fix: chart components, TODO: eslint-plugin-vue.
* Update FUNDING.yml
Co-authored-by: 花裤衩 <panfree23@gmail.com>
Co-authored-by: toruksmakto <42709228+toruksmakto@users.noreply.github.com>
Co-authored-by: Yamel Senih <ysenih@erpya.com>
Co-authored-by: Yamel Senih <yamelsenih@gmail.com>
Co-authored-by: liugq <liugq5713@gmail.com>
Co-authored-by: bpzhang <bpzhang@users.noreply.github.com>
Co-authored-by: Serge <gaosj1993@foxmail.com>
Co-authored-by: MaYuanhai <414199639@qq.com>
Co-authored-by: Jessynt <xr5299@gmail.com>
Co-authored-by: 肖敏 <392716797@qq.com>
Co-authored-by: TinaryTree <mbdkhss@gmail.com>
Co-authored-by: itsccn <chen.sun@itsccn.com>
Co-authored-by: why <w.why@163.com>
Co-authored-by: Baskerville* <wszdlm@gmail.com>
Co-authored-by: Francis <31059354+FrancisSano@users.noreply.github.com>
Co-authored-by: monkeycf <41945134+monkeycf@users.noreply.github.com>
Co-authored-by: BradyBromley <51128276+BradyBromley@users.noreply.github.com>
Co-authored-by: Phạm Ngọc Hòa <thaycacac@gmail.com>
Co-authored-by: bbigcd <bbigcd@163.com>
Co-authored-by: xuanzai <43233731+MikuBlog@users.noreply.github.com>
Co-authored-by: flitrue <812863096@qq.com>
Co-authored-by: 韬 <605682551@qq.com>
Co-authored-by: 任羽飞 <ren12345@126.com>
Co-authored-by: Kaitian Xie <xkaitian@gmail.com>
Co-authored-by: AndyLZC/AndyLZC.github.io <34624589+AndyLZC@users.noreply.github.com>
Co-authored-by: RussXD <shangtouWeb@foxmail.com>
Co-authored-by: 李小斐 <623536309@qq.com>
Co-authored-by: RoBlues <robluesmail@gmail.com>
Co-authored-by: Shota Aratono <195194+artn@users.noreply.github.com>
Co-authored-by: echofly <36875450+echofly@users.noreply.github.com>
Co-authored-by: Aisen60 <1147319086@qq.com>
Co-authored-by: aisen60 <aisen60@qq.com>
Co-authored-by: Alex S <50220345+sabatale@users.noreply.github.com>
Co-authored-by: Aisen <caixusheng60@gmail.com>
Co-authored-by: ntnyq <ntnyq13@gmail.com>
Co-authored-by: garethx <gareth.wilson@gmail.com>
Co-authored-by: AiMe1991 <sxd.08@163.com>
Co-authored-by: cooper <1322849632@qq.com>
Co-authored-by: Nickbing Lao <giscafer@outlook.com>
Co-authored-by: Edwin Betancourt <EdwinBetanc0urt@hotmail.com>
Co-authored-by: Cat73 <Cat7373@users.noreply.github.com>
Co-authored-by: Silentdoer <1010993610@qq.com>
Co-authored-by: qige2016 <286882998@qq.com>
Co-authored-by: Dihak <dihak@digitalkode.com>
Co-authored-by: crayymumu <854994301@qq.com>
Co-authored-by: dyz <43943819+dyzsoft@users.noreply.github.com>
Co-authored-by: Kerollos Magdy <kerolloz@yahoo.com>
Co-authored-by: EdwinBetanc0urt <EdwinBetanco0urt@outlook.com>
pull/3759/head
parent
a1bc8bb37b
commit
e40e487f42
|
@ -1,7 +1,7 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
root: true,
|
root: true,
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
parser: 'babel-eslint',
|
parser: '@babel/eslint-parser',
|
||||||
sourceType: 'module'
|
sourceType: 'module'
|
||||||
},
|
},
|
||||||
env: {
|
env: {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
|
||||||
patreon: panjiachen
|
github: [YamelSenih]
|
||||||
custom: https://panjiachen.github.io/vue-element-admin-site/donate
|
custom: [paypal.me/YamelSenih, https://adempiere.github.io/adempiere-vue-site/donate/]
|
||||||
|
|
68
package.json
68
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "adempiere-vue",
|
"name": "adempiere-vue",
|
||||||
"version": "4.3.1",
|
"version": "4.4.0",
|
||||||
"description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features",
|
"description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features",
|
||||||
"author": "Pan <panfree23@gmail.com>",
|
"author": "Pan <panfree23@gmail.com>",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
|
@ -30,17 +30,17 @@
|
||||||
"test:ci": "npm run lint && npm run test:unit"
|
"test:ci": "npm run lint && npm run test:unit"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@toast-ui/vue-editor": "^2.5.0",
|
"@toast-ui/vue-editor": "2.5.1",
|
||||||
"axios": "0.21.0",
|
"axios": "0.21.1",
|
||||||
"clipboard": "2.0.6",
|
"clipboard": "2.0.6",
|
||||||
"codemirror": "5.58.2",
|
"codemirror": "5.59.2",
|
||||||
"core-js": "3.7.0",
|
"core-js": "3.8.3",
|
||||||
"driver.js": "0.9.8",
|
"driver.js": "0.9.8",
|
||||||
"dropzone": "5.7.2",
|
"dropzone": "5.7.3",
|
||||||
"echarts": "4.9.0",
|
"echarts": "5.0.2",
|
||||||
"element-ui": "2.14.1",
|
"element-ui": "2.15.0",
|
||||||
"file-saver": "2.0.2",
|
"file-saver": "2.0.5",
|
||||||
"fuse.js": "6.4.3",
|
"fuse.js": "6.4.6",
|
||||||
"js-cookie": "2.2.1",
|
"js-cookie": "2.2.1",
|
||||||
"jsonlint": "1.6.3",
|
"jsonlint": "1.6.3",
|
||||||
"jszip": "3.5.0",
|
"jszip": "3.5.0",
|
||||||
|
@ -49,52 +49,53 @@
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"path-to-regexp": "6.2.0",
|
"path-to-regexp": "6.2.0",
|
||||||
"pinyin": "2.9.1",
|
"pinyin": "2.9.1",
|
||||||
"screenfull": "5.0.2",
|
"screenfull": "5.1.0",
|
||||||
"script-loader": "0.7.2",
|
"script-loader": "0.7.2",
|
||||||
"sortablejs": "1.10.2",
|
"sortablejs": "1.13.0",
|
||||||
"tui-editor": "1.4.10",
|
"tui-editor": "1.4.10",
|
||||||
"v-markdown": "^1.0.2",
|
"v-markdown": "^1.0.2",
|
||||||
"vue": "2.6.12",
|
"vue": "2.6.12",
|
||||||
"vue-content-loading": "^1.6.0",
|
"vue-content-loading": "^1.6.0",
|
||||||
"vue-count-to": "1.0.13",
|
"vue-count-to": "1.0.13",
|
||||||
"vue-i18n": "8.22.1",
|
"vue-i18n": "8.22.4",
|
||||||
"vue-multipane": "^0.9.5",
|
"vue-multipane": "^0.9.5",
|
||||||
"vue-resize": "^0.5.0",
|
"vue-resize": "1.0.0",
|
||||||
"vue-router": "3.4.9",
|
"vue-router": "3.5.1",
|
||||||
"vue-shortkey": "^3.1.7",
|
"vue-shortkey": "^3.1.7",
|
||||||
"vue-split-panel": "^1.0.4",
|
"vue-split-panel": "^1.0.4",
|
||||||
"vue-splitpane": "1.0.6",
|
"vue-splitpane": "1.0.6",
|
||||||
"vuedraggable": "^2.24.3",
|
"vuedraggable": "2.24.3",
|
||||||
"vuex": "3.5.1",
|
"vuex": "3.6.2",
|
||||||
"xlsx": "0.16.8"
|
"xlsx": "0.16.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "4.5.8",
|
"@babel/core": "7.12.13",
|
||||||
"@vue/cli-plugin-eslint": "4.5.8",
|
"@babel/eslint-parser": "7.12.13",
|
||||||
"@vue/cli-plugin-pwa": "4.5.8",
|
"@vue/cli-plugin-babel": "4.5.11",
|
||||||
"@vue/cli-plugin-unit-jest": "4.5.8",
|
"@vue/cli-plugin-eslint": "4.5.11",
|
||||||
"@vue/cli-service": "4.5.8",
|
"@vue/cli-plugin-pwa": "4.5.11",
|
||||||
"@vue/test-utils": "1.1.1",
|
"@vue/cli-plugin-unit-jest": "4.5.11",
|
||||||
|
"@vue/cli-service": "4.5.11",
|
||||||
|
"@vue/test-utils": "1.1.3",
|
||||||
"autoprefixer": "9.8.6",
|
"autoprefixer": "9.8.6",
|
||||||
"babel-eslint": "10.1.0",
|
|
||||||
"babel-jest": "26.6.3",
|
"babel-jest": "26.6.3",
|
||||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||||
"chalk": "4.1.0",
|
"chalk": "4.1.0",
|
||||||
"chokidar": "3.4.3",
|
"chokidar": "3.5.1",
|
||||||
"connect": "3.7.0",
|
"connect": "3.7.0",
|
||||||
"eslint": "7.13.0",
|
"eslint": "7.19.0",
|
||||||
"eslint-plugin-vue": "6.2.2",
|
"eslint-plugin-vue": "6.2.2",
|
||||||
"fs": "0.0.1-security",
|
"fs": "0.0.1-security",
|
||||||
"html-webpack-plugin": "4.5.0",
|
"html-webpack-plugin": "5.0.0",
|
||||||
"husky": "4.3.0",
|
"husky": "4.3.8",
|
||||||
"lint-staged": "10.5.1",
|
"lint-staged": "10.5.4",
|
||||||
"mockjs": "1.1.0",
|
"mockjs": "1.1.0",
|
||||||
"plop": "2.7.4",
|
"plop": "2.7.4",
|
||||||
"sass": "1.29.0",
|
"sass": "1.32.6",
|
||||||
"sass-loader": "10.1.0",
|
"sass-loader": "10.1.1",
|
||||||
"script-ext-html-webpack-plugin": "2.1.5",
|
"script-ext-html-webpack-plugin": "2.1.5",
|
||||||
"serve-static": "1.14.1",
|
"serve-static": "1.14.1",
|
||||||
"svg-sprite-loader": "5.0.0",
|
"svg-sprite-loader": "5.2.1",
|
||||||
"svgo": "1.3.2",
|
"svgo": "1.3.2",
|
||||||
"tasksfile": "5.1.1",
|
"tasksfile": "5.1.1",
|
||||||
"vue-template-compiler": "2.6.12"
|
"vue-template-compiler": "2.6.12"
|
||||||
|
@ -111,6 +112,7 @@
|
||||||
"npm": ">= 3.0.0"
|
"npm": ">= 3.0.0"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
"adempiere",
|
||||||
"vue",
|
"vue",
|
||||||
"admin",
|
"admin",
|
||||||
"dashboard",
|
"dashboard",
|
||||||
|
|
|
@ -60,19 +60,6 @@ export function requestSessionInfo(token) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Logout from server
|
|
||||||
* @param {string} token or session UUID
|
|
||||||
*/
|
|
||||||
export function logout(token) {
|
|
||||||
return requestRest({
|
|
||||||
url: '/user/logout',
|
|
||||||
data: {
|
|
||||||
token
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get User menu from server
|
* Get User menu from server
|
||||||
* @param {string} sessionUuid
|
* @param {string} sessionUuid
|
||||||
|
@ -89,3 +76,16 @@ export function requestMenu({
|
||||||
})
|
})
|
||||||
.then(evaluateResponse)
|
.then(evaluateResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logout from server
|
||||||
|
* @param {string} token or session UUID
|
||||||
|
*/
|
||||||
|
export function logout(token) {
|
||||||
|
return requestRest({
|
||||||
|
url: '/user/logout',
|
||||||
|
data: {
|
||||||
|
token
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -211,10 +211,7 @@ export default {
|
||||||
window.tinymce.get(this.tinymceId).getContent()
|
window.tinymce.get(this.tinymceId).getContent()
|
||||||
},
|
},
|
||||||
imageSuccessCBK(arr) {
|
imageSuccessCBK(arr) {
|
||||||
const _this = this
|
arr.forEach(v => window.tinymce.get(this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`))
|
||||||
arr.forEach(v => {
|
|
||||||
window.tinymce.get(_this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import enLocale from './en'
|
||||||
import zhLocale from './zh'
|
import zhLocale from './zh'
|
||||||
import esLocale from './es'
|
import esLocale from './es'
|
||||||
import jaLocale from './ja'
|
import jaLocale from './ja'
|
||||||
|
|
||||||
import esADempiere from './ADempiere/es'
|
import esADempiere from './ADempiere/es'
|
||||||
import enADempiere from './ADempiere/en'
|
import enADempiere from './ADempiere/en'
|
||||||
|
|
||||||
|
@ -44,8 +45,8 @@ const dateTimeFormats = {
|
||||||
const messages = {
|
const messages = {
|
||||||
en: {
|
en: {
|
||||||
...enLocale,
|
...enLocale,
|
||||||
...elementEnLocale,
|
...enADempiere,
|
||||||
...enADempiere
|
...elementEnLocale
|
||||||
},
|
},
|
||||||
zh: {
|
zh: {
|
||||||
...zhLocale,
|
...zhLocale,
|
||||||
|
@ -53,8 +54,8 @@ const messages = {
|
||||||
},
|
},
|
||||||
es: {
|
es: {
|
||||||
...esLocale,
|
...esLocale,
|
||||||
...elementEsLocale,
|
...esADempiere,
|
||||||
...esADempiere
|
...elementEsLocale
|
||||||
},
|
},
|
||||||
ja: {
|
ja: {
|
||||||
...jaLocale,
|
...jaLocale,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="navbar">
|
<div class="navbar">
|
||||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
v-if="isMenuMobile && isMobile"
|
v-if="isMenuMobile && isMobile"
|
||||||
type="text"
|
type="text"
|
||||||
|
@ -12,7 +13,21 @@
|
||||||
<div v-show="isMenuMobile && isMobile" style="display: inline-flex; float: right;">
|
<div v-show="isMenuMobile && isMobile" style="display: inline-flex; float: right;">
|
||||||
<search id="header-search" class="right-menu-item" style="padding-top: 10px;" />
|
<search id="header-search" class="right-menu-item" style="padding-top: 10px;" />
|
||||||
<badge style="padding-top: 6px;" />
|
<badge style="padding-top: 6px;" />
|
||||||
<!-- <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">
|
</div>
|
||||||
|
<!--
|
||||||
|
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
|
||||||
|
|
||||||
|
<error-log class="errLog-container right-menu-item hover-effect" />
|
||||||
|
|
||||||
|
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||||
|
|
||||||
|
<el-tooltip content="Global Size" effect="dark" placement="bottom">
|
||||||
|
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||||
|
</el-tooltip>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||||
<div class="avatar-wrapper">
|
<div class="avatar-wrapper">
|
||||||
<img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar">
|
<img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar">
|
||||||
<i class="el-icon-caret-bottom" />
|
<i class="el-icon-caret-bottom" />
|
||||||
|
@ -40,8 +55,8 @@
|
||||||
<span style="display:block;">{{ $t('navbar.logOut') }}</span>
|
<span style="display:block;">{{ $t('navbar.logOut') }}</span>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown> -->
|
</el-dropdown>
|
||||||
</div>
|
-->
|
||||||
<div class="right-menu">
|
<div class="right-menu">
|
||||||
<template v-if="device!=='mobile'">
|
<template v-if="device!=='mobile'">
|
||||||
<search id="header-search" class="right-menu-item" />
|
<search id="header-search" class="right-menu-item" />
|
||||||
|
|
|
@ -6,6 +6,8 @@ import 'normalize.css/normalize.css' // a modern alternative to CSS resets
|
||||||
|
|
||||||
import Element from 'element-ui'
|
import Element from 'element-ui'
|
||||||
import './styles/element-variables.scss'
|
import './styles/element-variables.scss'
|
||||||
|
import enLang from 'element-ui/lib/locale/lang/en'// 如果使用中文语言包请默认支持,无需额外引入,请删除该依赖
|
||||||
|
|
||||||
import VueSplit from 'vue-split-panel'
|
import VueSplit from 'vue-split-panel'
|
||||||
import 'vue-resize/dist/vue-resize.css'
|
import 'vue-resize/dist/vue-resize.css'
|
||||||
import VueResize from 'vue-resize'
|
import VueResize from 'vue-resize'
|
||||||
|
@ -51,7 +53,8 @@ Vue.use(VueSplit)
|
||||||
Vue.use(VueResize)
|
Vue.use(VueResize)
|
||||||
Vue.use(Element, {
|
Vue.use(Element, {
|
||||||
size: Cookies.get('size') || 'medium', // set element-ui default size
|
size: Cookies.get('size') || 'medium', // set element-ui default size
|
||||||
i18n: (key, value) => i18n.t(key, value)
|
i18n: (key, value) => i18n.t(key, value),
|
||||||
|
locale: enLang // 如果使用中文,无需设置,请删除
|
||||||
})
|
})
|
||||||
|
|
||||||
// register global utility filters
|
// register global utility filters
|
||||||
|
|
|
@ -12,6 +12,8 @@ import chartsRouter from './modules/charts'
|
||||||
import tableRouter from './modules/table'
|
import tableRouter from './modules/table'
|
||||||
import nestedRouter from './modules/nested'
|
import nestedRouter from './modules/nested'
|
||||||
|
|
||||||
|
import enrollmentRoute from './modules/ADempiere/enrollment.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Note: sub-menu only appear when route children.length >= 1
|
* Note: sub-menu only appear when route children.length >= 1
|
||||||
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
|
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
|
||||||
|
@ -39,6 +41,7 @@ import nestedRouter from './modules/nested'
|
||||||
* all roles can be accessed
|
* all roles can be accessed
|
||||||
*/
|
*/
|
||||||
export const constantRoutes = [
|
export const constantRoutes = [
|
||||||
|
...enrollmentRoute,
|
||||||
{
|
{
|
||||||
path: '/redirect',
|
path: '/redirect',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
|
@ -70,28 +73,6 @@ export const constantRoutes = [
|
||||||
component: () => import('@/views/error-page/401'),
|
component: () => import('@/views/error-page/401'),
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: '/userEnrollment',
|
|
||||||
component: () => import('@/views/login/userEnrollment'),
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/forgotPassword',
|
|
||||||
component: () => import('@/views/login/forgotPassword'),
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/passwordReset',
|
|
||||||
name: 'passwordReset',
|
|
||||||
component: () => import('@/views/login/setPassword'),
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/createPassword',
|
|
||||||
name: 'createPassword',
|
|
||||||
component: () => import('@/views/login/setPassword'),
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: '/',
|
path: '/',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
const enrollmentRoute = [
|
||||||
|
{
|
||||||
|
path: '/userEnrollment',
|
||||||
|
component: () => import('@/views/login/userEnrollment'),
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/forgotPassword',
|
||||||
|
component: () => import('@/views/login/forgotPassword'),
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/passwordReset',
|
||||||
|
name: 'passwordReset',
|
||||||
|
component: () => import('@/views/login/setPassword'),
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/createPassword',
|
||||||
|
name: 'createPassword',
|
||||||
|
component: () => import('@/views/login/setPassword'),
|
||||||
|
hidden: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default enrollmentRoute
|
|
@ -13,11 +13,7 @@ export default function checkPermission(value) {
|
||||||
const hasPermission = roles.some(role => {
|
const hasPermission = roles.some(role => {
|
||||||
return permissionRoles.includes(role)
|
return permissionRoles.includes(role)
|
||||||
})
|
})
|
||||||
|
return hasPermission
|
||||||
if (!hasPermission) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like v-permission="['admin','editor']"`)
|
console.error(`need roles! Like v-permission="['admin','editor']"`)
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -58,4 +58,3 @@ export default {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="components-container">
|
<div class="components-container">
|
||||||
<aside>{{ $t('components.backToTopTips1') }}</aside>
|
<aside>
|
||||||
<aside>{{ $t('components.backToTopTips2') }}</aside>
|
{{ $t('components.backToTopTips1') }}
|
||||||
|
</aside>
|
||||||
|
<aside>
|
||||||
|
{{ $t('components.backToTopTips2') }}
|
||||||
|
</aside>
|
||||||
<div class="placeholder-container">
|
<div class="placeholder-container">
|
||||||
<div>placeholder</div>
|
<div>placeholder</div>
|
||||||
<div>placeholder</div>
|
<div>placeholder</div>
|
||||||
|
|
|
@ -37,7 +37,9 @@
|
||||||
</sticky>
|
</sticky>
|
||||||
|
|
||||||
<div class="components-container">
|
<div class="components-container">
|
||||||
<aside>Sticky header, {{ $t('components.stickyTips') }}</aside>
|
<aside>
|
||||||
|
Sticky header, {{ $t('components.stickyTips') }}
|
||||||
|
</aside>
|
||||||
<div>placeholder</div>
|
<div>placeholder</div>
|
||||||
<div>placeholder</div>
|
<div>placeholder</div>
|
||||||
<div>placeholder</div>
|
<div>placeholder</div>
|
||||||
|
|
|
@ -33,4 +33,3 @@ export default {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
require('echarts/theme/macarons') // echarts theme
|
require('echarts/theme/macarons') // echarts theme
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<el-progress :percentage="18" />
|
<el-progress :percentage="18" />
|
||||||
</div>
|
</div>
|
||||||
<div class="progress-item">
|
<div class="progress-item">
|
||||||
<span>Css</span>
|
<span>CSS</span>
|
||||||
<el-progress :percentage="12" />
|
<el-progress :percentage="12" />
|
||||||
</div>
|
</div>
|
||||||
<div class="progress-item">
|
<div class="progress-item">
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
require('echarts/theme/macarons') // echarts theme
|
require('echarts/theme/macarons') // echarts theme
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
require('echarts/theme/macarons') // echarts theme
|
require('echarts/theme/macarons') // echarts theme
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
require('echarts/theme/macarons') // echarts theme
|
require('echarts/theme/macarons') // echarts theme
|
||||||
import resize from './mixins/resize'
|
import resize from './mixins/resize'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container documentation-container">
|
<div class="app-container documentation-container">
|
||||||
|
<a class="document-btn" target="_blank" href="https://store.akveo.com/products/vue-java-admin-dashboard-spring?utm_campaign=akveo_store-Vue-Vue_demo%2Fgithub&utm_source=vue_admin&utm_medium=referral&utm_content=demo_English_button">Java backend integration</a>
|
||||||
<a class="document-btn" target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/">Documentation</a>
|
<a class="document-btn" target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/">Documentation</a>
|
||||||
<a class="document-btn" target="_blank" href="https://github.com/PanJiaChen/vue-element-admin/">Github Repository</a>
|
<a class="document-btn" target="_blank" href="https://github.com/PanJiaChen/vue-element-admin/">Github Repository</a>
|
||||||
<a class="document-btn" target="_blank" href="https://panjiachen.gitee.io/vue-element-admin-site/zh/">国内文档</a>
|
<a class="document-btn" target="_blank" href="https://panjiachen.gitee.io/vue-element-admin-site/zh/">国内文档</a>
|
||||||
|
@ -37,7 +38,7 @@ export default {
|
||||||
margin: 50px;
|
margin: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: space-evenly;
|
justify-content: flex-start;
|
||||||
|
|
||||||
.document-btn {
|
.document-btn {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
@ -46,8 +47,8 @@ export default {
|
||||||
background: black;
|
background: black;
|
||||||
color: white;
|
color: white;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
width: 200px;
|
padding: 0 16px;
|
||||||
margin-bottom: 16px;
|
margin: 16px;
|
||||||
line-height: 60px;
|
line-height: 60px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="createPost-container">
|
<div class="createPost-container">
|
||||||
<el-form ref="postForm" :model="postForm" :rules="rules" class="form-container">
|
<el-form ref="postForm" :model="postForm" :rules="rules" class="form-container">
|
||||||
|
|
||||||
<sticky :z-index="10" :class-name="'sub-navbar '+postForm.status">
|
<sticky :z-index="10" :class-name="'sub-navbar '+postForm.status">
|
||||||
<CommentDropdown v-model="postForm.comment_disabled" />
|
<CommentDropdown v-model="postForm.comment_disabled" />
|
||||||
<PlatformDropdown v-model="postForm.platforms" />
|
<PlatformDropdown v-model="postForm.platforms" />
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- $t is vue-i18n global function to translate lang -->
|
<!-- $t is vue-i18n global function to translate lang -->
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<FilenameOption v-model="filename" />
|
<FilenameOption v-model="filename" />
|
||||||
<AutoWidthOption v-model="autoWidth" />
|
<AutoWidthOption v-model="autoWidth" />
|
||||||
|
@ -51,6 +52,7 @@ import { parseTime } from '@/utils'
|
||||||
import FilenameOption from './components/FilenameOption'
|
import FilenameOption from './components/FilenameOption'
|
||||||
import AutoWidthOption from './components/AutoWidthOption'
|
import AutoWidthOption from './components/AutoWidthOption'
|
||||||
import BookTypeOption from './components/BookTypeOption'
|
import BookTypeOption from './components/BookTypeOption'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ExportExcel',
|
name: 'ExportExcel',
|
||||||
components: { FilenameOption, AutoWidthOption, BookTypeOption },
|
components: { FilenameOption, AutoWidthOption, BookTypeOption },
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<aside style="margin-top:15px;">{{ $t('pdf.tips') }}</aside>
|
<aside style="margin-top:15px;">
|
||||||
|
{{ $t('pdf.tips') }}
|
||||||
|
</aside>
|
||||||
<router-link target="_blank" to="/pdf/download">
|
<router-link target="_blank" to="/pdf/download">
|
||||||
<el-button type="primary">
|
<el-button type="primary">
|
||||||
Click to download PDF
|
Click to download PDF
|
||||||
|
@ -8,4 +10,3 @@
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,15 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Menus">
|
<el-form-item label="Menus">
|
||||||
<el-tree ref="tree" :check-strictly="checkStrictly" :data="routesData" :props="defaultProps" show-checkbox node-key="path" class="permission-tree" />
|
<el-tree
|
||||||
|
ref="tree"
|
||||||
|
:check-strictly="checkStrictly"
|
||||||
|
:data="routesData"
|
||||||
|
:props="defaultProps"
|
||||||
|
show-checkbox
|
||||||
|
node-key="path"
|
||||||
|
class="permission-tree"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="text-align:right;">
|
<div style="text-align:right;">
|
||||||
|
|
|
@ -9,7 +9,9 @@
|
||||||
<div class="box-item">
|
<div class="box-item">
|
||||||
<span class="field-label">{{ $t('theme.change') }} : </span>
|
<span class="field-label">{{ $t('theme.change') }} : </span>
|
||||||
<el-switch v-model="theme" />
|
<el-switch v-model="theme" />
|
||||||
<aside style="margin-top:15px;">{{ $t('theme.tips') }}</aside>
|
<aside style="margin-top:15px;">
|
||||||
|
{{ $t('theme.tips') }}
|
||||||
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
|
|
@ -91,17 +91,6 @@ module.exports = {
|
||||||
})
|
})
|
||||||
.end()
|
.end()
|
||||||
|
|
||||||
// set preserveWhitespace
|
|
||||||
config.module
|
|
||||||
.rule('vue')
|
|
||||||
.use('vue-loader')
|
|
||||||
.loader('vue-loader')
|
|
||||||
.tap(options => {
|
|
||||||
options.compilerOptions.preserveWhitespace = true
|
|
||||||
return options
|
|
||||||
})
|
|
||||||
.end()
|
|
||||||
|
|
||||||
config
|
config
|
||||||
.when(process.env.NODE_ENV !== 'development',
|
.when(process.env.NODE_ENV !== 'development',
|
||||||
config => {
|
config => {
|
||||||
|
|
Loading…
Reference in New Issue