yh-pub 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.MD +19 -19
  2. package/layout/admin/adminIndex.vue +104 -104
  3. package/layout/admin/api/loginApi.js +24 -24
  4. package/layout/admin/api/routers.js +93 -93
  5. package/layout/admin/api/tenantApi.js +123 -123
  6. package/layout/admin/home/homeIndex.vue +25 -25
  7. package/layout/admin/login/login.vue +161 -161
  8. package/layout/admin/menu/MenuIndex.vue +648 -648
  9. package/layout/admin/menu/icon.vue +108 -108
  10. package/layout/admin/menu/iconList.js +934 -934
  11. package/layout/admin/saTenant/saTenant.vue +173 -173
  12. package/layout/admin/saTenant/saTenantForm.js +80 -80
  13. package/layout/admin/saTenant/saTenantForm.vue +61 -61
  14. package/layout/admin/saTenant/saTenantRoleManage.js +417 -417
  15. package/layout/admin/saTenant/saTenantRoleManage.vue +99 -99
  16. package/layout/admin/user/saUser.less +6 -6
  17. package/layout/admin/user/saUser.vue +72 -72
  18. package/layout/main/components/console/console.vue +205 -205
  19. package/layout/main/components/error-store/error-store.vue +72 -72
  20. package/layout/main/components/error-store/index.js +2 -2
  21. package/layout/main/components/fullscreen/fullscreen.vue +57 -57
  22. package/layout/main/components/fullscreen/index.js +2 -2
  23. package/layout/main/components/language/language.vue +71 -71
  24. package/layout/main/components/side-menu/side-menu.less +73 -73
  25. package/layout/main/components/side-menu/side-menu.vue +75 -75
  26. package/layout/main/components/tags-nav/tags-nav.less +44 -44
  27. package/layout/main/components/tags-nav/tags-nav.vue +144 -144
  28. package/layout/main/components/user/user.less +12 -12
  29. package/layout/main/components/user/user.vue +185 -185
  30. package/layout/main/home/home.vue +480 -480
  31. package/layout/main/home/index.js +2 -2
  32. package/layout/main/home/toDoList.vue +32 -32
  33. package/layout/main/login/login.less +93 -93
  34. package/layout/main/login/login.vue +151 -151
  35. package/layout/main/main.less +81 -81
  36. package/layout/main/main.vue +254 -202
  37. package/layout/main/system/dict.vue +64 -64
  38. package/layout/main/system/orgManage.vue +473 -473
  39. package/layout/main/system/roleManage.js +807 -755
  40. package/layout/main/system/roleManage.vue +424 -399
  41. package/package.json +11 -11
  42. package/view/basic/error-logger.vue +74 -74
  43. package/view/basic/error-page/401.vue +22 -22
  44. package/view/basic/error-page/404.vue +22 -22
  45. package/view/basic/error-page/500.vue +22 -22
  46. package/view/basic/error-page/back-btn-group.vue +48 -48
  47. package/view/basic/error-page/error-content.vue +28 -28
  48. package/view/basic/error-page/error.less +46 -46
  49. package/view/config/component/confFormItem.vue +49 -49
  50. package/view/config/config.scss +45 -45
  51. package/view/config/configIndex.vue +150 -150
  52. package/view/config/subPage/router-config.vue +4 -4
  53. package/view/config/subPage/sys-config.vue +249 -249
  54. package/view/window/IframeFReportView.vue +27 -27
  55. package/view/window/windowIndex.vue +22 -22
@@ -1,71 +1,71 @@
1
- <template>
2
- <el-dropdown
3
- split-button
4
- class="language-dropdown"
5
- trigger="click"
6
- @command="selectLang">
7
- {{ title }}
8
- <template #dropdown>
9
- <el-dropdown-menu>
10
- <el-dropdown-item
11
- v-for="(value, key) in localList"
12
- :commnd="key">
13
- {{ value }}
14
- </el-dropdown-item>
15
- </el-dropdown-menu>
16
- </template>
17
- </el-dropdown>
18
- </template>
19
-
20
- <script setup>
21
- import { reactive, computed } from "vue";
22
- import { delStorage } from "@/libs/util";
23
- import axios from "@/libs/api.request";
24
- import { useAppStore } from "@/store/app.js";
25
-
26
- const appStore = useAppStore();
27
-
28
- const langList = reactive({
29
- zh_CN: "中文",
30
- en_US: "English",
31
- });
32
- const localList = reactive({
33
- zh_CN: "中文简体",
34
- en_US: "English",
35
- });
36
-
37
- const title = computed(() => {
38
- return langList[appStore.local];
39
- });
40
-
41
- function selectLang(e) {
42
- axios.post("loginController/setLanguage", { language: e }).then((res) => {
43
- if (res.data.result) {
44
- delStorage("menu");
45
- this.$router.push({
46
- name: this.$config.homeName,
47
- });
48
- window.location.reload();
49
- }
50
- });
51
- }
52
- </script>
53
- <style lang="scss">
54
- .language-dropdown.el-dropdown {
55
- padding: 0 10px;
56
- color: var(--el-color-white);
57
- .el-button {
58
- --el-button-text-color: var(--el-color-white);
59
- --el-button-active-text-color: var(--el-color-white);
60
- --el-button-hover-text-color: var(--el-color-white);
61
- --el-button-bg-color: transparent;
62
- --el-button-active-bg-color: transparent;
63
- --el-button-hover-bg-color: transparent;
64
- --el-button-outline-color: transparent;
65
- --el-button-active-border-color: var(--el-color-white);
66
- --el-button-hover-border-color: var(--el-color-white);
67
- --el-button-border-color: var(--el-color-white);
68
- }
69
- }
70
- </style>
71
- @/libs/util@/libs/api.request@/store/app.js
1
+ <template>
2
+ <el-dropdown
3
+ split-button
4
+ class="language-dropdown"
5
+ trigger="click"
6
+ @command="selectLang">
7
+ {{ title }}
8
+ <template #dropdown>
9
+ <el-dropdown-menu>
10
+ <el-dropdown-item
11
+ v-for="(value, key) in localList"
12
+ :commnd="key">
13
+ {{ value }}
14
+ </el-dropdown-item>
15
+ </el-dropdown-menu>
16
+ </template>
17
+ </el-dropdown>
18
+ </template>
19
+
20
+ <script setup>
21
+ import { reactive, computed } from "vue";
22
+ import { delStorage } from "@/libs/util";
23
+ import axios from "@/libs/api.request";
24
+ import { useAppStore } from "@/store/app.js";
25
+
26
+ const appStore = useAppStore();
27
+
28
+ const langList = reactive({
29
+ zh_CN: "中文",
30
+ en_US: "English",
31
+ });
32
+ const localList = reactive({
33
+ zh_CN: "中文简体",
34
+ en_US: "English",
35
+ });
36
+
37
+ const title = computed(() => {
38
+ return langList[appStore.local];
39
+ });
40
+
41
+ function selectLang(e) {
42
+ axios.post("loginController/setLanguage", { language: e }).then((res) => {
43
+ if (res.data.result) {
44
+ delStorage("menu");
45
+ this.$router.push({
46
+ name: this.$config.homeName,
47
+ });
48
+ window.location.reload();
49
+ }
50
+ });
51
+ }
52
+ </script>
53
+ <style lang="scss">
54
+ .language-dropdown.el-dropdown {
55
+ padding: 0 10px;
56
+ color: var(--el-color-white);
57
+ .el-button {
58
+ --el-button-text-color: var(--el-color-white);
59
+ --el-button-active-text-color: var(--el-color-white);
60
+ --el-button-hover-text-color: var(--el-color-white);
61
+ --el-button-bg-color: transparent;
62
+ --el-button-active-bg-color: transparent;
63
+ --el-button-hover-bg-color: transparent;
64
+ --el-button-outline-color: transparent;
65
+ --el-button-active-border-color: var(--el-color-white);
66
+ --el-button-hover-border-color: var(--el-color-white);
67
+ --el-button-border-color: var(--el-color-white);
68
+ }
69
+ }
70
+ </style>
71
+ @/libs/util@/libs/api.request@/store/app.js
@@ -1,74 +1,74 @@
1
- .side-menu-wrapper {
2
- user-select: none;
3
- height: calc(~"100% - 50px");
4
- overflow-y: auto;
5
- overflow-x: hidden;
6
- &::-webkit-scrollbar {
7
- width: 5px;
8
- height: 5px;
9
- }
10
- /* 滚动条滑块 */
11
- &::-webkit-scrollbar-thumb {
12
- border-radius: 5px;
13
- background: #72797f;
14
- }
15
- &::-webkit-scrollbar-track {
16
- border-radius: 5px;
17
- background: #001529;
18
- }
19
- .el-sub-menu__title,
20
- .el-menu-item {
21
- .iconfont {
22
- display: inline-block;
23
- max-width: 16px;
24
- min-width: 0;
25
- text-align: center;
26
- margin-right: 10px;
27
- padding: 0;
28
- font-size: 16px;
29
- }
30
- transform: background 0.3s ease-in-out 0s;
31
- &.is-active,
32
- &:hover {
33
- background: linear-gradient(90deg, #3377ff, #0455c3);
34
- }
35
- }
36
- }
37
- .side-pupper-menu {
38
- --el-menu-bg-color: #21304c;
39
- --el-menu-text-color: var(--el-color-white);
40
- --el-menu-active-color: var(--el-color-white);
41
- --el-menu-hover-bg-color: transparent;
42
- max-height: 100%;
43
- overflow: auto;
44
- background-color: var(--el-menu-bg-color);
45
- &::-webkit-scrollbar {
46
- width: 5px;
47
- height: 5px;
48
- }
49
- /* 滚动条滑块 */
50
- &::-webkit-scrollbar-thumb {
51
- border-radius: 5px;
52
- background: #72797f;
53
- }
54
- &::-webkit-scrollbar-track {
55
- border-radius: 5px;
56
- background: var(--el-menu-bg-color);
57
- }
58
- .el-menu-item {
59
- .iconfont {
60
- display: inline-block;
61
- max-width: 16px;
62
- min-width: 0;
63
- text-align: center;
64
- margin-right: 10px;
65
- padding: 0;
66
- font-size: 16px;
67
- }
68
- transform: background 0.3s ease-in-out 0s;
69
- &.is-active,
70
- &:hover {
71
- background: linear-gradient(90deg, #3377ff, #0455c3);
72
- }
73
- }
1
+ .side-menu-wrapper {
2
+ user-select: none;
3
+ height: calc(~"100% - 50px");
4
+ overflow-y: auto;
5
+ overflow-x: hidden;
6
+ &::-webkit-scrollbar {
7
+ width: 5px;
8
+ height: 5px;
9
+ }
10
+ /* 滚动条滑块 */
11
+ &::-webkit-scrollbar-thumb {
12
+ border-radius: 5px;
13
+ background: #72797f;
14
+ }
15
+ &::-webkit-scrollbar-track {
16
+ border-radius: 5px;
17
+ background: #001529;
18
+ }
19
+ .el-sub-menu__title,
20
+ .el-menu-item {
21
+ .iconfont {
22
+ display: inline-block;
23
+ max-width: 16px;
24
+ min-width: 0;
25
+ text-align: center;
26
+ margin-right: 10px;
27
+ padding: 0;
28
+ font-size: 16px;
29
+ }
30
+ transform: background 0.3s ease-in-out 0s;
31
+ &.is-active,
32
+ &:hover {
33
+ background: linear-gradient(90deg, #3377ff, #0455c3);
34
+ }
35
+ }
36
+ }
37
+ .side-pupper-menu {
38
+ --el-menu-bg-color: #21304c;
39
+ --el-menu-text-color: var(--el-color-white);
40
+ --el-menu-active-color: var(--el-color-white);
41
+ --el-menu-hover-bg-color: transparent;
42
+ max-height: 100%;
43
+ overflow: auto;
44
+ background-color: var(--el-menu-bg-color);
45
+ &::-webkit-scrollbar {
46
+ width: 5px;
47
+ height: 5px;
48
+ }
49
+ /* 滚动条滑块 */
50
+ &::-webkit-scrollbar-thumb {
51
+ border-radius: 5px;
52
+ background: #72797f;
53
+ }
54
+ &::-webkit-scrollbar-track {
55
+ border-radius: 5px;
56
+ background: var(--el-menu-bg-color);
57
+ }
58
+ .el-menu-item {
59
+ .iconfont {
60
+ display: inline-block;
61
+ max-width: 16px;
62
+ min-width: 0;
63
+ text-align: center;
64
+ margin-right: 10px;
65
+ padding: 0;
66
+ font-size: 16px;
67
+ }
68
+ transform: background 0.3s ease-in-out 0s;
69
+ &.is-active,
70
+ &:hover {
71
+ background: linear-gradient(90deg, #3377ff, #0455c3);
72
+ }
73
+ }
74
74
  }
@@ -1,75 +1,75 @@
1
- <template>
2
- <el-menu
3
- :collapse="collapse"
4
- :collapse-transition="false"
5
- router
6
- :default-active="$route.path"
7
- class="side-menu-wrapper">
8
- <template v-for="item in menuList">
9
- <el-menu-item
10
- :index="item.id"
11
- v-if="!item.hasChildren">
12
- <i :class="item.icon"></i>
13
- <span>{{ item.title }}</span>
14
- </el-menu-item>
15
- <el-sub-menu
16
- :index="item.id"
17
- popper-class="side-pupper-menu"
18
- v-else>
19
- <template #title>
20
- <i :class="item.icon"></i>
21
- <span>{{ item.title }}</span>
22
- </template>
23
- <template v-for="cItem in item.children">
24
- <el-menu-item
25
- :index="cItem.id"
26
- v-if="!cItem.hasChildren">
27
- <i :class="cItem.icon"></i>
28
- <span>{{ cItem.title }}</span>
29
- </el-menu-item>
30
- <el-sub-menu
31
- :index="cItem.id"
32
- popper-class="side-pupper-menu"
33
- v-else>
34
- <template #title>
35
- <i :class="cItem.icon"></i>
36
- <span>{{ cItem.title }}</span>
37
- </template>
38
- <template v-for="tItem in cItem.children">
39
- <el-menu-item
40
- :index="tItem.id"
41
- v-if="!tItem.hasChildren">
42
- <i :class="tItem.icon"></i>
43
- <span>{{ tItem.title }}</span>
44
- </el-menu-item>
45
- <el-menu-item
46
- v-else
47
- v-for="tti in tItem.children"
48
- :index="tti.id">
49
- <i :class="tti.icon"></i>
50
- <span>{{ tti.title }}</span>
51
- </el-menu-item>
52
- </template>
53
- </el-sub-menu>
54
- </template>
55
- </el-sub-menu>
56
- </template>
57
- </el-menu>
58
- </template>
59
- <script setup>
60
- const props = defineProps({
61
- menuList: {
62
- type: Array,
63
- default() {
64
- return [];
65
- },
66
- },
67
- collapse: {
68
- type: Boolean,
69
- required: false,
70
- },
71
- });
72
- </script>
73
- <style lang="less">
74
- @import "./side-menu.less";
75
- </style>
1
+ <template>
2
+ <el-menu
3
+ :collapse="collapse"
4
+ :collapse-transition="false"
5
+ router
6
+ :default-active="$route.path"
7
+ class="side-menu-wrapper">
8
+ <template v-for="item in menuList">
9
+ <el-menu-item
10
+ :index="item.id"
11
+ v-if="!item.hasChildren">
12
+ <i :class="item.icon"></i>
13
+ <span>{{ item.title }}</span>
14
+ </el-menu-item>
15
+ <el-sub-menu
16
+ :index="item.id"
17
+ popper-class="side-pupper-menu"
18
+ v-else>
19
+ <template #title>
20
+ <i :class="item.icon"></i>
21
+ <span>{{ item.title }}</span>
22
+ </template>
23
+ <template v-for="cItem in item.children">
24
+ <el-menu-item
25
+ :index="cItem.id"
26
+ v-if="!cItem.hasChildren">
27
+ <i :class="cItem.icon"></i>
28
+ <span>{{ cItem.title }}</span>
29
+ </el-menu-item>
30
+ <el-sub-menu
31
+ :index="cItem.id"
32
+ popper-class="side-pupper-menu"
33
+ v-else>
34
+ <template #title>
35
+ <i :class="cItem.icon"></i>
36
+ <span>{{ cItem.title }}</span>
37
+ </template>
38
+ <template v-for="tItem in cItem.children">
39
+ <el-menu-item
40
+ :index="tItem.id"
41
+ v-if="!tItem.hasChildren">
42
+ <i :class="tItem.icon"></i>
43
+ <span>{{ tItem.title }}</span>
44
+ </el-menu-item>
45
+ <el-menu-item
46
+ v-else
47
+ v-for="tti in tItem.children"
48
+ :index="tti.id">
49
+ <i :class="tti.icon"></i>
50
+ <span>{{ tti.title }}</span>
51
+ </el-menu-item>
52
+ </template>
53
+ </el-sub-menu>
54
+ </template>
55
+ </el-sub-menu>
56
+ </template>
57
+ </el-menu>
58
+ </template>
59
+ <script setup>
60
+ const props = defineProps({
61
+ menuList: {
62
+ type: Array,
63
+ default() {
64
+ return [];
65
+ },
66
+ },
67
+ collapse: {
68
+ type: Boolean,
69
+ required: false,
70
+ },
71
+ });
72
+ </script>
73
+ <style lang="less">
74
+ @import "./side-menu.less";
75
+ </style>
@@ -1,45 +1,45 @@
1
-
2
- .tags-nav {
3
- position: relative;
4
- height: 40px;
5
- user-select: none;
6
- .contextmenu {
7
- position: absolute;
8
- margin: 0;
9
- padding: 5px 0;
10
- background: #fff;
11
- z-index: 1000;
12
- list-style-type: none;
13
- border-radius: 4px;
14
- box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.1);
15
- li {
16
- margin: 0;
17
- padding: 5px 15px;
18
- cursor: pointer;
19
- font-size: 14px;
20
- color: var(--el-text-color-secondary);
21
- &:hover {
22
- background: #eee;
23
- }
24
- }
25
- }
26
- .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):hover,
27
- .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover{
28
- padding-left: 20px;
29
- }
30
- .el-tabs{
31
- --el-tabs-header-height: 40px;
32
- &.el-tabs--border-card{
33
- border-bottom: 0;
34
- .el-tabs__item {
35
- border-left: 1px solid var(--el-border-color-lighter)
36
- }
37
- }
38
- .el-tabs__nav-scroll {
39
- padding: 0 20px;
40
- }
41
- .el-tabs__content{
42
- display: none;
43
- }
44
- }
1
+
2
+ .tags-nav {
3
+ position: relative;
4
+ height: 40px;
5
+ user-select: none;
6
+ .contextmenu {
7
+ position: absolute;
8
+ margin: 0;
9
+ padding: 5px 0;
10
+ background: #fff;
11
+ z-index: 1000;
12
+ list-style-type: none;
13
+ border-radius: 4px;
14
+ box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.1);
15
+ li {
16
+ margin: 0;
17
+ padding: 5px 15px;
18
+ cursor: pointer;
19
+ font-size: 14px;
20
+ color: var(--el-text-color-secondary);
21
+ &:hover {
22
+ background: #eee;
23
+ }
24
+ }
25
+ }
26
+ .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):hover,
27
+ .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover{
28
+ padding-left: 20px;
29
+ }
30
+ .el-tabs{
31
+ --el-tabs-header-height: 40px;
32
+ &.el-tabs--border-card{
33
+ border-bottom: 0;
34
+ .el-tabs__item {
35
+ border-left: 1px solid var(--el-border-color-lighter)
36
+ }
37
+ }
38
+ .el-tabs__nav-scroll {
39
+ padding: 0 20px;
40
+ }
41
+ .el-tabs__content{
42
+ display: none;
43
+ }
44
+ }
45
45
  }