From 13ba3386dc516615b4b1fc1c25280e74f89b898b Mon Sep 17 00:00:00 2001
From: Jerry <707344974@qq.com>
Date: Tue, 28 Sep 2021 11:14:39 +0800
Subject: [PATCH] =?UTF-8?q?commit=EF=BC=9A=E6=9B=B4=E6=96=B0=E5=89=8D?=
=?UTF-8?q?=E7=AB=AF=E7=89=88=E6=9C=AC=E5=88=B01.9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
orange-demo-multi-web/.eslintignore | 1 +
orange-demo-multi-web/.eslintrc.js | 5 +-
orange-demo-multi-web/package.json | 11 +-
orange-demo-multi-web/public/index.html | 7 +-
.../api/Controller/DictionaryController.js | 12 +-
.../src/api/Controller/SystemController.js | 8 +
orange-demo-multi-web/src/api/index.js | 16 +-
.../src/assets/element-variables-orange.scss | 13 +-
.../src/assets/img/login.png | Bin 0 -> 728962 bytes
.../src/assets/img/login_logo.png | Bin 0 -> 16011 bytes
orange-demo-multi-web/src/assets/img/logo.png | Bin 0 -> 9808 bytes
orange-demo-multi-web/src/assets/package.json | 4 +-
.../src/assets/style/base.scss | 76 ++++++++-
.../src/assets/style/form-style.scss | 5 +
.../src/assets/theme/cascader-panel.css | 6 +-
.../src/assets/theme/cascader.css | 12 +-
.../src/assets/theme/index.css | 18 +--
.../src/components/Dialog/index.js | 4 +-
.../src/components/RichEditor/index.vue | 2 -
.../src/core/config/development.js | 2 +-
.../src/core/config/index.js | 8 +-
orange-demo-multi-web/src/core/http/index.js | 12 +-
.../src/core/http/request.js | 3 +-
orange-demo-multi-web/src/main.js | 3 +
.../src/router/systemRouters.js | 19 +--
orange-demo-multi-web/src/staticDict/index.js | 32 ++--
orange-demo-multi-web/src/store/getters.js | 8 +-
orange-demo-multi-web/src/store/mutations.js | 19 ++-
orange-demo-multi-web/src/store/state.js | 4 +
orange-demo-multi-web/src/utils/index.js | 2 +-
orange-demo-multi-web/src/utils/widget.js | 2 -
.../{formClass/index.vue => formClass.vue} | 98 ++++++------
.../src/views/generated/formCourse.vue | 10 +-
.../src/views/generated/formCourseStats.vue | 14 +-
.../index.vue => formCreateClass.vue} | 2 +-
.../index.vue => formCreateCourse.vue} | 2 +-
.../index.vue => formCreateSchool.vue} | 2 +-
.../index.vue => formCreateStudent.vue} | 2 +-
.../index.vue => formEditClass.vue} | 2 +-
...index.vue => formEditClassCourseOrder.vue} | 2 +-
.../index.vue => formEditCourse.vue} | 2 +-
.../index.vue => formEditSchool.vue} | 2 +-
.../index.vue => formEditStudent.vue} | 2 +-
.../{formSchool/index.vue => formSchool.vue} | 10 +-
.../index.vue => formSetClassCourse.vue} | 4 +-
.../index.vue => formSetClassStudent.vue} | 4 +-
.../index.vue => formStudent.vue} | 10 +-
.../index.vue => formStudentActionDetail.vue} | 2 +-
.../index.vue => formStudentActionStats.vue} | 2 +-
.../layout/components/sidebar/sidebar.vue | 13 +-
.../views/layout/components/tags/tagItem.vue | 2 +-
.../views/layout/components/tags/tagPanel.vue | 8 +-
.../src/views/layout/index.vue | 9 +-
.../src/views/login/index.vue | 68 +++++---
.../views/upms/formDictManagement/index.vue | 11 +-
.../src/views/upms/formEditDict/index.vue | 8 +-
.../views/upms/formEditSysMenu/editColumn.vue | 2 +-
.../src/views/upms/formEditSysMenu/index.vue | 18 +--
.../src/views/upms/formEditSysPerm/index.vue | 2 +-
.../views/upms/formEditSysPermCode/index.vue | 10 +-
.../upms/formEditSysPermModule/index.vue | 2 +-
.../src/views/upms/formEditSysRole/index.vue | 2 +-
.../src/views/upms/formEditSysUser/index.vue | 4 +-
.../src/views/upms/formSetRoleUsers/index.vue | 2 +-
.../src/views/upms/formSysLoginUser/index.vue | 146 ++++++++++++++++++
.../src/views/upms/formSysPerm/index.vue | 12 +-
.../src/views/upms/formSysRole/index.vue | 4 +-
.../src/views/upms/formSysUser/index.vue | 2 +-
orange-demo-single-web/.eslintignore | 1 +
orange-demo-single-web/.eslintrc.js | 5 +-
orange-demo-single-web/package.json | 11 +-
orange-demo-single-web/public/index.html | 7 +-
.../api/Controller/DictionaryController.js | 12 +-
.../src/api/Controller/SysUserController.js | 12 +-
.../src/api/Controller/SystemController.js | 8 +
orange-demo-single-web/src/api/index.js | 16 +-
.../src/assets/element-variables-orange.scss | 13 +-
.../src/assets/img/login.png | Bin 0 -> 728962 bytes
.../src/assets/img/login_logo.png | Bin 0 -> 16011 bytes
.../src/assets/img/logo.png | Bin 0 -> 9808 bytes
.../src/assets/package.json | 4 +-
.../src/assets/style/base.scss | 76 ++++++++-
.../src/assets/style/form-style.scss | 5 +
.../src/assets/theme/cascader-panel.css | 6 +-
.../src/assets/theme/cascader.css | 12 +-
.../src/assets/theme/index.css | 18 +--
.../src/components/Dialog/index.js | 4 +-
.../src/components/RichEditor/index.vue | 2 -
.../src/core/config/development.js | 2 +-
.../src/core/config/index.js | 8 +-
orange-demo-single-web/src/core/http/index.js | 12 +-
.../src/core/http/request.js | 3 +-
orange-demo-single-web/src/main.js | 3 +
.../src/router/systemRouters.js | 19 +--
.../src/staticDict/index.js | 32 ++--
orange-demo-single-web/src/store/getters.js | 8 +-
orange-demo-single-web/src/store/mutations.js | 19 ++-
orange-demo-single-web/src/store/state.js | 4 +
orange-demo-single-web/src/utils/index.js | 2 +-
orange-demo-single-web/src/utils/widget.js | 2 -
.../{formClass/index.vue => formClass.vue} | 100 ++++++------
.../src/views/generated/formCourse.vue | 10 +-
.../src/views/generated/formCourseStats.vue | 14 +-
.../index.vue => formCreateClass.vue} | 2 +-
.../index.vue => formCreateCourse.vue} | 2 +-
.../index.vue => formCreateSchool.vue} | 2 +-
.../index.vue => formCreateStudent.vue} | 2 +-
.../index.vue => formEditClass.vue} | 2 +-
...index.vue => formEditClassCourseOrder.vue} | 2 +-
.../index.vue => formEditCourse.vue} | 2 +-
.../index.vue => formEditSchool.vue} | 2 +-
.../index.vue => formEditStudent.vue} | 3 +-
.../{formSchool/index.vue => formSchool.vue} | 10 +-
.../index.vue => formSetClassCourse.vue} | 4 +-
.../index.vue => formSetClassStudent.vue} | 4 +-
.../index.vue => formStudent.vue} | 10 +-
.../index.vue => formStudentActionDetail.vue} | 2 +-
.../index.vue => formStudentActionStats.vue} | 2 +-
.../layout/components/sidebar/sidebar.vue | 13 +-
.../views/layout/components/tags/tagItem.vue | 2 +-
.../views/layout/components/tags/tagPanel.vue | 8 +-
.../src/views/layout/index.vue | 9 +-
.../src/views/login/index.vue | 68 +++++---
.../views/upms/formDictManagement/index.vue | 11 +-
.../src/views/upms/formEditDict/index.vue | 8 +-
.../views/upms/formEditSysMenu/editColumn.vue | 2 +-
.../src/views/upms/formEditSysMenu/index.vue | 18 +--
.../src/views/upms/formEditSysPerm/index.vue | 2 +-
.../views/upms/formEditSysPermCode/index.vue | 10 +-
.../upms/formEditSysPermModule/index.vue | 2 +-
.../src/views/upms/formEditSysRole/index.vue | 2 +-
.../src/views/upms/formEditSysUser/index.vue | 4 +-
.../src/views/upms/formSetRoleUsers/index.vue | 2 +-
.../src/views/upms/formSysLoginUser/index.vue | 146 ++++++++++++++++++
.../src/views/upms/formSysPerm/index.vue | 12 +-
.../src/views/upms/formSysRole/index.vue | 4 +-
.../src/views/upms/formSysUser/index.vue | 2 +-
137 files changed, 1111 insertions(+), 526 deletions(-)
create mode 100644 orange-demo-multi-web/.eslintignore
create mode 100644 orange-demo-multi-web/src/assets/img/login.png
create mode 100644 orange-demo-multi-web/src/assets/img/login_logo.png
create mode 100644 orange-demo-multi-web/src/assets/img/logo.png
rename orange-demo-multi-web/src/views/generated/{formClass/index.vue => formClass.vue} (98%)
rename orange-demo-single-web/src/views/generated/formCourse/index.vue => orange-demo-multi-web/src/views/generated/formCourse.vue (98%)
rename orange-demo-single-web/src/views/generated/formCourseStats/index.vue => orange-demo-multi-web/src/views/generated/formCourseStats.vue (96%)
rename orange-demo-multi-web/src/views/generated/{formCreateClass/index.vue => formCreateClass.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formCreateCourse/index.vue => formCreateCourse.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formCreateSchool/index.vue => formCreateSchool.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formCreateStudent/index.vue => formCreateStudent.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formEditClass/index.vue => formEditClass.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formEditClassCourseOrder/index.vue => formEditClassCourseOrder.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formEditCourse/index.vue => formEditCourse.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formEditSchool/index.vue => formEditSchool.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formEditStudent/index.vue => formEditStudent.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formSchool/index.vue => formSchool.vue} (98%)
rename orange-demo-multi-web/src/views/generated/{formSetClassCourse/index.vue => formSetClassCourse.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formSetClassStudent/index.vue => formSetClassStudent.vue} (98%)
rename orange-demo-multi-web/src/views/generated/{formStudent/index.vue => formStudent.vue} (98%)
rename orange-demo-multi-web/src/views/generated/{formStudentActionDetail/index.vue => formStudentActionDetail.vue} (99%)
rename orange-demo-multi-web/src/views/generated/{formStudentActionStats/index.vue => formStudentActionStats.vue} (99%)
create mode 100644 orange-demo-multi-web/src/views/upms/formSysLoginUser/index.vue
create mode 100644 orange-demo-single-web/.eslintignore
create mode 100644 orange-demo-single-web/src/assets/img/login.png
create mode 100644 orange-demo-single-web/src/assets/img/login_logo.png
create mode 100644 orange-demo-single-web/src/assets/img/logo.png
rename orange-demo-single-web/src/views/generated/{formClass/index.vue => formClass.vue} (98%)
rename orange-demo-multi-web/src/views/generated/formCourse/index.vue => orange-demo-single-web/src/views/generated/formCourse.vue (98%)
rename orange-demo-multi-web/src/views/generated/formCourseStats/index.vue => orange-demo-single-web/src/views/generated/formCourseStats.vue (96%)
rename orange-demo-single-web/src/views/generated/{formCreateClass/index.vue => formCreateClass.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formCreateCourse/index.vue => formCreateCourse.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formCreateSchool/index.vue => formCreateSchool.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formCreateStudent/index.vue => formCreateStudent.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formEditClass/index.vue => formEditClass.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formEditClassCourseOrder/index.vue => formEditClassCourseOrder.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formEditCourse/index.vue => formEditCourse.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formEditSchool/index.vue => formEditSchool.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formEditStudent/index.vue => formEditStudent.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formSchool/index.vue => formSchool.vue} (98%)
rename orange-demo-single-web/src/views/generated/{formSetClassCourse/index.vue => formSetClassCourse.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formSetClassStudent/index.vue => formSetClassStudent.vue} (98%)
rename orange-demo-single-web/src/views/generated/{formStudent/index.vue => formStudent.vue} (98%)
rename orange-demo-single-web/src/views/generated/{formStudentActionDetail/index.vue => formStudentActionDetail.vue} (99%)
rename orange-demo-single-web/src/views/generated/{formStudentActionStats/index.vue => formStudentActionStats.vue} (99%)
create mode 100644 orange-demo-single-web/src/views/upms/formSysLoginUser/index.vue
diff --git a/orange-demo-multi-web/.eslintignore b/orange-demo-multi-web/.eslintignore
new file mode 100644
index 00000000..9c420b5a
--- /dev/null
+++ b/orange-demo-multi-web/.eslintignore
@@ -0,0 +1 @@
+/src/views/workflow/package/*
\ No newline at end of file
diff --git a/orange-demo-multi-web/.eslintrc.js b/orange-demo-multi-web/.eslintrc.js
index f62621ce..81d92950 100644
--- a/orange-demo-multi-web/.eslintrc.js
+++ b/orange-demo-multi-web/.eslintrc.js
@@ -11,7 +11,7 @@ module.exports = {
parser: 'babel-eslint'
},
rules: {
- 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+ 'no-console': 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'semi': ['off', 'always'],
'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }],
@@ -23,8 +23,7 @@ module.exports = {
'lines-between-class-members': ['off'],
// 'no-undef': ['off', 'always'],
// 'no-unused-vars': ['off', 'always'],
- 'no-new-func': ['off', 'always'],
- 'no-console': ['off']
+ 'no-new-func': ['off', 'always']
},
overrides: [
{
diff --git a/orange-demo-multi-web/package.json b/orange-demo-multi-web/package.json
index 0c996ed5..db304a7c 100644
--- a/orange-demo-multi-web/package.json
+++ b/orange-demo-multi-web/package.json
@@ -26,7 +26,13 @@
"vue": "^2.6.11",
"vue-router": "^3.1.5",
"vuex": "^3.1.2",
- "wangeditor": "^3.1.1"
+ "wangeditor": "^3.1.1",
+ "vue-json-viewer": "^2.2.18",
+ "min-dash": "^3.5.2",
+ "vuedraggable": "^2.24.3",
+ "xml-js": "^1.6.11",
+ "highlight.js": "^10.5.0",
+ "bpmn-js-token-simulation": "^0.10.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.2.0",
@@ -39,6 +45,9 @@
"@vue/eslint-config-standard": "^5.1.0",
"@vue/test-utils": "1.0.0-beta.31",
"babel-eslint": "^10.0.3",
+ "bpmn-js": "^7.4.0",
+ "bpmn-js-properties-panel": "^0.37.2",
+ "camunda-bpmn-moddle": "^4.4.1",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-node": "^11.0.0",
diff --git a/orange-demo-multi-web/public/index.html b/orange-demo-multi-web/public/index.html
index 37e411e8..011aade2 100644
--- a/orange-demo-multi-web/public/index.html
+++ b/orange-demo-multi-web/public/index.html
@@ -4,12 +4,11 @@
-
-
橙单工程
+ 橙单代码生成平台
-
+
diff --git a/orange-demo-multi-web/src/api/Controller/DictionaryController.js b/orange-demo-multi-web/src/api/Controller/DictionaryController.js
index 8cc5da6f..bdb065e5 100644
--- a/orange-demo-multi-web/src/api/Controller/DictionaryController.js
+++ b/orange-demo-multi-web/src/api/Controller/DictionaryController.js
@@ -59,7 +59,7 @@ export default class DictionaryController {
static dictAreaCode (sender, params, axiosOption, httpOption) {
return new Promise((resolve, reject) => {
sender.doUrl('/admin/CourseClass/areaCode/listDict', 'get', params, axiosOption, httpOption).then(res => {
- let dictData = new staticDict.DictionaryBase();
+ let dictData = new staticDict.DictionaryBase('行政区划');
dictData.setList(res.data);
resolve(dictData);
}).catch(err => {
@@ -79,7 +79,7 @@ export default class DictionaryController {
static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) {
return new Promise((resolve, reject) => {
sender.doUrl('/admin/CourseClass/areaCode/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => {
- let dictData = new staticDict.DictionaryBase();
+ let dictData = new staticDict.DictionaryBase('行政区划');
dictData.setList(res.data);
resolve(dictData);
}).catch(err => {
@@ -102,7 +102,7 @@ export default class DictionaryController {
static dictCourse (sender, params, axiosOption, httpOption) {
return new Promise((resolve, reject) => {
sender.doUrl('/admin/CourseClass/course/listDict', 'get', params, axiosOption, httpOption).then(res => {
- let dictData = new staticDict.DictionaryBase();
+ let dictData = new staticDict.DictionaryBase('课程');
dictData.setList(res.data);
resolve(dictData);
}).catch(err => {
@@ -113,7 +113,7 @@ export default class DictionaryController {
static dictGrade (sender, params, axiosOption, httpOption) {
return new Promise((resolve, reject) => {
sender.doUrl('/admin/CourseClass/grade/listDict', 'get', params, axiosOption, httpOption).then(res => {
- let dictData = new staticDict.DictionaryBase();
+ let dictData = new staticDict.DictionaryBase('年级');
dictData.setList(res.data);
resolve(dictData);
}).catch(err => {
@@ -145,7 +145,7 @@ export default class DictionaryController {
static dictSchoolInfo (sender, params, axiosOption, httpOption) {
return new Promise((resolve, reject) => {
sender.doUrl('/admin/CourseClass/schoolInfo/listDict', 'get', params, axiosOption, httpOption).then(res => {
- let dictData = new staticDict.DictionaryBase();
+ let dictData = new staticDict.DictionaryBase('校区');
dictData.setList(res.data);
resolve(dictData);
}).catch(err => {
@@ -156,7 +156,7 @@ export default class DictionaryController {
static dictStudent (sender, params, axiosOption, httpOption) {
return new Promise((resolve, reject) => {
sender.doUrl('/admin/CourseClass/student/listDict', 'get', params, axiosOption, httpOption).then(res => {
- let dictData = new staticDict.DictionaryBase();
+ let dictData = new staticDict.DictionaryBase('学生');
dictData.setList(res.data);
resolve(dictData);
}).catch(err => {
diff --git a/orange-demo-multi-web/src/api/Controller/SystemController.js b/orange-demo-multi-web/src/api/Controller/SystemController.js
index 2081ab40..a17ae123 100644
--- a/orange-demo-multi-web/src/api/Controller/SystemController.js
+++ b/orange-demo-multi-web/src/api/Controller/SystemController.js
@@ -225,4 +225,12 @@ export default class SystemController {
static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) {
return sender.doUrl('admin/upms/sysPerm/listSysMenuWithDetail', 'get', params, axiosOption, httpOption);
}
+ // 在线用户
+ static listSysLoginUser (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('admin/upms/loginUser/list', 'post', params, axiosOption, httpOption);
+ }
+
+ static deleteSysLoginUser (sender, params, axiosOption, httpOption) {
+ return sender.doUrl('admin/upms/loginUser/delete', 'post', params, axiosOption, httpOption);
+ }
}
diff --git a/orange-demo-multi-web/src/api/index.js b/orange-demo-multi-web/src/api/index.js
index 5b8d6648..369b02b2 100644
--- a/orange-demo-multi-web/src/api/index.js
+++ b/orange-demo-multi-web/src/api/index.js
@@ -1,13 +1,13 @@
import SystemController from './Controller/SystemController'
import DictionaryController from './Controller/DictionaryController'
-import CourseController from './Controller/CourseController.js'
-import SchoolInfoController from './Controller/SchoolInfoController.js'
-import StudentController from './Controller/StudentController.js'
-import SysUserController from './Controller/SysUserController.js'
-import StudentClassController from './Controller/StudentClassController.js'
-import CourseTransStatsController from './Controller/CourseTransStatsController.js'
-import StudentActionStatsController from './Controller/StudentActionStatsController.js'
-import StudentActionTransController from './Controller/StudentActionTransController.js'
+import CourseController from './Controller/CourseController.js';
+import SchoolInfoController from './Controller/SchoolInfoController.js';
+import StudentController from './Controller/StudentController.js';
+import SysUserController from './Controller/SysUserController.js';
+import StudentClassController from './Controller/StudentClassController.js';
+import CourseTransStatsController from './Controller/CourseTransStatsController.js';
+import StudentActionStatsController from './Controller/StudentActionStatsController.js';
+import StudentActionTransController from './Controller/StudentActionTransController.js';
export {
SystemController,
diff --git a/orange-demo-multi-web/src/assets/element-variables-orange.scss b/orange-demo-multi-web/src/assets/element-variables-orange.scss
index 76a919dc..26da27c0 100644
--- a/orange-demo-multi-web/src/assets/element-variables-orange.scss
+++ b/orange-demo-multi-web/src/assets/element-variables-orange.scss
@@ -16,7 +16,7 @@ $--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default;
/* Color
-------------------------- */
/// color|1|Brand Color|0
-$--color-primary: #FFA424 !default;
+$--color-primary: #FCA834 !default;
/// color|1|Background Color|4
$--color-white: #FFFFFF !default;
/// color|1|Background Color|4
@@ -31,7 +31,7 @@ $--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /
$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
/// color|1|Functional Color|1
-$--color-success: #67C23A !default;
+$--color-success: #6DC741 !default;
/// color|1|Functional Color|1
$--color-warning: #E6A23C !default;
/// color|1|Functional Color|1
@@ -72,11 +72,10 @@ $--background-color-base: #F5F7FA !default;
// color for left sidebar title
$--color-sidebar-title-text: #FFFFFF;
// color for left sidebar background
-$--color-menu-background: #FF7746;
+$--color-menu-background: #042345;
$--color-menu-item-active-text-color: #FFFFFF;
-$--color-menu-item-active-background: rgba(255, 255, 255, 0.01);
-$--color-menu-item-active-background-to: rgba(255, 255, 255, 0.3);
-
+$--color-menu-item-active-background: $--color-primary;
+$--color-submenu-background: #021F3B;
/* Link
-------------------------- */
$--link-color: $--color-primary-light-2 !default;
@@ -738,7 +737,7 @@ $--tree-expand-icon-color: $--color-text-placeholder !default;
/* Dropdown
-------------------------- */
$--dropdown-menu-box-shadow: $--box-shadow-light !default;
-$--dropdown-menuItem-hover-fill: $--color-menu-background !default;
+$--dropdown-menuItem-hover-fill: $--color-primary !default;
$--dropdown-menuItem-hover-color: $--color-white !default;
/* Badge
diff --git a/orange-demo-multi-web/src/assets/img/login.png b/orange-demo-multi-web/src/assets/img/login.png
new file mode 100644
index 0000000000000000000000000000000000000000..87130950f1e18b6c5fc4938ab356693fc847daba
GIT binary patch
literal 728962
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