yh-pub 1.0.2 → 2.0.1

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 (96) hide show
  1. package/AdminLogin-BoxKRRwd.js +140 -0
  2. package/AdminLogin-BoxKRRwd.js.map +1 -0
  3. package/Dict.vue_vue_type_script_setup_true_lang-A8BZwEiK.js +55 -0
  4. package/Dict.vue_vue_type_script_setup_true_lang-A8BZwEiK.js.map +1 -0
  5. package/Error-BCu4KHfU.js +43 -0
  6. package/Error-BCu4KHfU.js.map +1 -0
  7. package/Error401-C5kTyMSM.js +30 -0
  8. package/Error401-C5kTyMSM.js.map +1 -0
  9. package/Error404-P3qKjHk6.js +30 -0
  10. package/Error404-P3qKjHk6.js.map +1 -0
  11. package/Error500-NVnuOBIQ.js +30 -0
  12. package/Error500-NVnuOBIQ.js.map +1 -0
  13. package/HomeIndex-C806Fp-9.js +438 -0
  14. package/HomeIndex-C806Fp-9.js.map +1 -0
  15. package/IconExplorer-CBg1lvD0.js +66 -0
  16. package/IconExplorer-CBg1lvD0.js.map +1 -0
  17. package/Index-AjfvK7Ss.js +5 -0
  18. package/Index-AjfvK7Ss.js.map +1 -0
  19. package/MainLogin-wW7bSk0F.js +155 -0
  20. package/MainLogin-wW7bSk0F.js.map +1 -0
  21. package/MenuManage-CIxqmusr.js +641 -0
  22. package/MenuManage-CIxqmusr.js.map +1 -0
  23. package/OrgManage-BcTWbnyc.js +378 -0
  24. package/OrgManage-BcTWbnyc.js.map +1 -0
  25. package/RoleManage-Bw83c_7q.js +729 -0
  26. package/RoleManage-Bw83c_7q.js.map +1 -0
  27. package/SysConfig-L0A1eY-O.js +727 -0
  28. package/SysConfig-L0A1eY-O.js.map +1 -0
  29. package/TenantList-B5imzQc5.js +696 -0
  30. package/TenantList-B5imzQc5.js.map +1 -0
  31. package/index-BP41Ph8K.js +55257 -0
  32. package/index-BP41Ph8K.js.map +1 -0
  33. package/index-CJ0So9-k.js +7 -0
  34. package/index-CJ0So9-k.js.map +1 -0
  35. package/index-wVC41gTc.js +23955 -0
  36. package/index-wVC41gTc.js.map +1 -0
  37. package/index.d.ts +35 -0
  38. package/index.es.js +66 -0
  39. package/index.es.js.map +1 -0
  40. package/package.json +27 -6
  41. package/style.css +1 -0
  42. package/README.MD +0 -19
  43. package/layout/admin/adminIndex.vue +0 -104
  44. package/layout/admin/api/loginApi.js +0 -24
  45. package/layout/admin/api/routers.js +0 -93
  46. package/layout/admin/api/tenantApi.js +0 -123
  47. package/layout/admin/home/homeIndex.vue +0 -25
  48. package/layout/admin/login/login.vue +0 -161
  49. package/layout/admin/menu/MenuIndex.vue +0 -648
  50. package/layout/admin/menu/icon.vue +0 -108
  51. package/layout/admin/menu/iconList.js +0 -934
  52. package/layout/admin/saTenant/saTenant.js +0 -0
  53. package/layout/admin/saTenant/saTenant.vue +0 -173
  54. package/layout/admin/saTenant/saTenantForm.js +0 -80
  55. package/layout/admin/saTenant/saTenantForm.vue +0 -61
  56. package/layout/admin/saTenant/saTenantRoleManage.js +0 -417
  57. package/layout/admin/saTenant/saTenantRoleManage.vue +0 -99
  58. package/layout/admin/user/saUser.less +0 -6
  59. package/layout/admin/user/saUser.vue +0 -72
  60. package/layout/main/components/console/console.vue +0 -205
  61. package/layout/main/components/error-store/error-store.vue +0 -72
  62. package/layout/main/components/error-store/index.js +0 -2
  63. package/layout/main/components/fullscreen/fullscreen.vue +0 -57
  64. package/layout/main/components/fullscreen/index.js +0 -2
  65. package/layout/main/components/language/language.vue +0 -71
  66. package/layout/main/components/side-menu/side-menu.less +0 -74
  67. package/layout/main/components/side-menu/side-menu.vue +0 -75
  68. package/layout/main/components/tags-nav/tags-nav.less +0 -45
  69. package/layout/main/components/tags-nav/tags-nav.vue +0 -144
  70. package/layout/main/components/user/user.less +0 -12
  71. package/layout/main/components/user/user.vue +0 -185
  72. package/layout/main/home/home.vue +0 -480
  73. package/layout/main/home/index.js +0 -2
  74. package/layout/main/home/toDoList.vue +0 -32
  75. package/layout/main/login/login.less +0 -93
  76. package/layout/main/login/login.vue +0 -151
  77. package/layout/main/main.less +0 -81
  78. package/layout/main/main.vue +0 -254
  79. package/layout/main/system/dict.vue +0 -64
  80. package/layout/main/system/orgManage.vue +0 -473
  81. package/layout/main/system/roleManage.js +0 -807
  82. package/layout/main/system/roleManage.vue +0 -424
  83. package/view/basic/error-logger.vue +0 -74
  84. package/view/basic/error-page/401.vue +0 -22
  85. package/view/basic/error-page/404.vue +0 -22
  86. package/view/basic/error-page/500.vue +0 -22
  87. package/view/basic/error-page/back-btn-group.vue +0 -48
  88. package/view/basic/error-page/error-content.vue +0 -28
  89. package/view/basic/error-page/error.less +0 -46
  90. package/view/config/component/confFormItem.vue +0 -49
  91. package/view/config/config.scss +0 -45
  92. package/view/config/configIndex.vue +0 -150
  93. package/view/config/subPage/router-config.vue +0 -5
  94. package/view/config/subPage/sys-config.vue +0 -249
  95. package/view/window/IframeFReportView.vue +0 -28
  96. package/view/window/windowIndex.vue +0 -22
@@ -1,205 +0,0 @@
1
- <template>
2
- <div
3
- class="console"
4
- ref="tongs_console">
5
- <el-tabs :model-value="activeIndex">
6
- <el-tab-pane
7
- name="1"
8
- label="AGV日志">
9
- <div class="console_cell">
10
- <div
11
- class="panel"
12
- ref="agvLogs">
13
- <div
14
- v-for="info in agvLogs"
15
- class="info">
16
- [{{ info.time }}] - {{ info.msg }}
17
- </div>
18
- </div>
19
- </div>
20
- </el-tab-pane>
21
- <el-tab-pane
22
- name="2"
23
- label="RGV日志">
24
- <div class="console_cell">
25
- <div
26
- class="panel"
27
- ref="rgvLogs">
28
- <div
29
- v-for="info in rgvLogs"
30
- class="info">
31
- [{{ info.time }}] - {{ info.msg }}
32
- </div>
33
- </div>
34
- </div>
35
- </el-tab-pane>
36
- <el-tab-pane
37
- name="3"
38
- label="堆垛机日志">
39
- <div class="console_cell">
40
- <div
41
- class="panel"
42
- ref="stackerLogs">
43
- <div
44
- v-for="info in stackerLogs"
45
- class="info">
46
- [{{ info.time }}] - {{ info.msg }}
47
- </div>
48
- </div>
49
- </div>
50
- </el-tab-pane>
51
- <el-tab-pane
52
- name="4"
53
- label="控制台日志">
54
- <div class="console_cell">
55
- <div
56
- class="panel"
57
- ref="consoles">
58
- <div
59
- v-for="info in consoles"
60
- class="info">
61
- [{{ info.time }}] - {{ info.msg }}
62
- </div>
63
- </div>
64
- </div>
65
- </el-tab-pane>
66
- </el-tabs>
67
- </div>
68
- </template>
69
-
70
- <script>
71
- import config from "@/config";
72
- import { getToken } from "@/libs/util";
73
- import LogConsole from "./console.vue";
74
-
75
- const baseUrl = process.env.NODE_ENV === "development" ? config.baseUrl.dev : config.baseUrl.pro;
76
-
77
- export default {
78
- name: "console",
79
- components: {},
80
- props: {
81
- code: String,
82
- desc: String,
83
- src: String,
84
- },
85
- data() {
86
- return {
87
- activeIndex: "1",
88
- websocketPath: baseUrl.replace("http", "ws") + "/consoleSocket",
89
- websocket: "",
90
- agvLogs: [],
91
- rgvLogs: [],
92
- stackerLogs: [],
93
- consoles: [],
94
- pageDestroyed: false,
95
- };
96
- },
97
- methods: {
98
- initWebsocket() {
99
- let token = getToken();
100
- if (typeof WebSocket === "undefined") {
101
- this.$message.info("您的浏览器不支持WebSocket");
102
- } else if (token) {
103
- let self = this;
104
- if (!window.websocket) {
105
- window.agvLogs = [];
106
- let websocketPath = this.websocketPath + "?$_TOKEN=" + token;
107
-
108
- window.initWebSocket = function () {
109
- // 实例化websocket
110
- window.websocket = new WebSocket(websocketPath);
111
- // 监听websocket的连接
112
- window.websocket.onopen = () => {
113
- console.log("(" + this.websocketPath + ") websocket连接成功");
114
- };
115
- // 监听websocket的错误信息
116
- window.websocket.onerror = () => {
117
- console.log("(" + this.websocketPath + ") websocket连接错误");
118
- };
119
- // 监听websocket的消息
120
- window.websocket.onmessage = (res) => {
121
- console.info("接收到消息", res);
122
- let data = {};
123
- eval("data=" + res.data);
124
- if (data) {
125
- data.time = data.time ? data.time.substring(11) : "";
126
-
127
- if (data.type == "3" || data.type == "4") {
128
- window.agvLogs.push(data);
129
- } else if (data.type == "5") {
130
- window.rgvLogs.push(data);
131
- } else if (data.type == "7") {
132
- window.stackerLogs.push(data);
133
- } else {
134
- window.consoles.push(data);
135
- }
136
- }
137
-
138
- self.scrollTop();
139
- };
140
- // 监听websocket关闭
141
- window.websocket.onclose = () => {
142
- console.log("websocket关闭,尝试重新连接websocket");
143
- window.setTimeout(() => {
144
- window.initWebSocket();
145
- }, 5000);
146
- };
147
- };
148
- window.initWebSocket();
149
- }
150
- }
151
-
152
- this.agvLogs = window.agvLogs;
153
- this.rgvLogs = window.rgvLogs;
154
- this.stackerLogs = window.stackerLogs;
155
- this.consoles = window.consoles;
156
- },
157
- scrollTop() {
158
- this.$nextTick(() => {
159
- let div = this.$refs["agvLogs"];
160
- if (div) div.scrollTop = div.scrollHeight;
161
- div = this.$refs["rgvLogs"];
162
- if (div) div.scrollTop = div.scrollHeight;
163
- div = this.$refs["stackerLogs"];
164
- if (div) div.scrollTop = div.scrollHeight;
165
- div = this.$refs["consoles"];
166
- if (div) div.scrollTop = div.scrollHeight;
167
- });
168
- },
169
- },
170
- mounted() {
171
- this.initWebsocket();
172
- },
173
- beforeDestroy() {
174
- if (window.websocket) {
175
- console.info("关闭了websocket");
176
- window.websocket.close();
177
- }
178
- },
179
- };
180
- </script>
181
- <style>
182
- .console {
183
- color: #ffffff;
184
- width: 100%;
185
- height: 100%;
186
- min-height: 800px;
187
- }
188
- .console .console_cell {
189
- border-right: 1px #ffffff solid;
190
- height: calc(100% - 5px);
191
- background-color: #303030;
192
- }
193
- .console .panel {
194
- min-height: 500px;
195
- height: calc(100% - 55px);
196
- padding: 10px;
197
- overflow: auto;
198
- }
199
- .console .info {
200
- font-size: 13px;
201
- line-height: 18px;
202
- color: #ffffff;
203
- }
204
- </style>
205
- @/libs/util
@@ -1,72 +0,0 @@
1
- <template>
2
- <el-badge
3
- class="error-store"
4
- :value="countComputed"
5
- @click="openErrorLoggerPage">
6
- <i class="iconfont icon-error"></i>
7
- </el-badge>
8
- </template>
9
-
10
- <script>
11
- export default {
12
- name: "ErrorStore",
13
- props: {
14
- count: {
15
- type: Number,
16
- default: 0,
17
- },
18
- hasRead: {
19
- type: Boolean,
20
- default: false,
21
- },
22
- },
23
- data() {
24
- return {
25
- startDebug: false,
26
- };
27
- },
28
- computed: {
29
- countComputed() {
30
- return this.hasRead ? 0 : this.count;
31
- },
32
- },
33
- methods: {
34
- openErrorLoggerPage() {
35
- let url = "system/startDebug";
36
- if (!this.startDebug) {
37
- this.startDebug = true;
38
- } else {
39
- url = "system/stopDebug";
40
- this.startDebug = false;
41
- }
42
- this.axios
43
- .request({
44
- url: url,
45
- params: {},
46
- method: "post",
47
- })
48
- .then((res) => {
49
- this.$message.info(res.data.msg);
50
- })
51
- .catch((res) => {
52
- // this.$message.error(res.data.msg);
53
- });
54
- },
55
- },
56
- };
57
- </script>
58
-
59
- <style lang="less">
60
- .error-store {
61
- margin-right: 12px;
62
- height: 32px;
63
- line-height: 32px;
64
- border: 0;
65
- .ivu-badge-dot {
66
- top: 20px;
67
- }
68
- .ivu-btn.ivu-btn-text {
69
- padding: 2px 1px 6px;
70
- }
71
- }
72
- </style>
@@ -1,2 +0,0 @@
1
- import ErrorStore from './error-store.vue'
2
- export default ErrorStore
@@ -1,57 +0,0 @@
1
- <template>
2
- <div
3
- v-if="showFullScreenBtn"
4
- class="full-screen-btn-con"
5
- @click.native="handleChange"
6
- >
7
- <el-tooltip :content="ct('退出全屏')" placement="bottom">
8
- <i v-show="isFullscreen" class="iconfont icon-fullscreen-exit"></i>
9
- </el-tooltip>
10
- <el-tooltip :content="ct('全屏')" placement="bottom">
11
- <i v-show="!isFullscreen" class="iconfont icon-fullscreen"></i>
12
- </el-tooltip>
13
- </div>
14
- </template>
15
-
16
- <script setup>
17
- import { ref, onMounted } from "vue";
18
- import { ct } from "yh-i18n";
19
- const showFullScreenBtn = ref(window.navigator.userAgent.indexOf("MSIE") < 0);
20
- const emits = defineEmits(["change"]);
21
-
22
- const isFullscreen = ref(false);
23
- function handleFullscreen() {
24
- let main = document.body;
25
- let flag = document.fullscreenElement !== null;
26
- if (flag) {
27
- document.exitFullscreen();
28
- isFullscreen.value = false;
29
- } else {
30
- main.requestFullscreen();
31
- isFullscreen.value = true;
32
- }
33
- emits("change", isFullscreen.value);
34
- }
35
- function handleChange() {
36
- handleFullscreen();
37
- }
38
- onMounted(() => {
39
- isFullscreen.value = document.fullscreenElement !== null;
40
- emits("change", isFullscreen.value);
41
- });
42
- </script>
43
-
44
- <style lang="less">
45
- .full-screen-btn-con {
46
- width: var(--header-size);
47
- height: 32px;
48
- line-height: 32px;
49
- border: 0;
50
- text-align: center;
51
- cursor: pointer;
52
- i {
53
- font-size: 30px;
54
- color: var(--el-color-white);
55
- }
56
- }
57
- </style>
@@ -1,2 +0,0 @@
1
- import Fullscreen from './fullscreen.vue'
2
- export default Fullscreen
@@ -1,71 +0,0 @@
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 +0,0 @@
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
- }
@@ -1,75 +0,0 @@
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 +0,0 @@
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
- }