mirror of
https://gitee.com/orangeform/orange-admin.git
synced 2026-01-17 18:46:36 +08:00
commit:更新前端版本到1.9
This commit is contained in:
1
orange-demo-multi-web/.eslintignore
Normal file
1
orange-demo-multi-web/.eslintignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/src/views/workflow/package/*
|
||||||
@@ -11,7 +11,7 @@ module.exports = {
|
|||||||
parser: 'babel-eslint'
|
parser: 'babel-eslint'
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
'no-console': 'off',
|
||||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||||
'semi': ['off', 'always'],
|
'semi': ['off', 'always'],
|
||||||
'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }],
|
'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }],
|
||||||
@@ -23,8 +23,7 @@ module.exports = {
|
|||||||
'lines-between-class-members': ['off'],
|
'lines-between-class-members': ['off'],
|
||||||
// 'no-undef': ['off', 'always'],
|
// 'no-undef': ['off', 'always'],
|
||||||
// 'no-unused-vars': ['off', 'always'],
|
// 'no-unused-vars': ['off', 'always'],
|
||||||
'no-new-func': ['off', 'always'],
|
'no-new-func': ['off', 'always']
|
||||||
'no-console': ['off']
|
|
||||||
},
|
},
|
||||||
overrides: [
|
overrides: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,7 +26,13 @@
|
|||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-router": "^3.1.5",
|
"vue-router": "^3.1.5",
|
||||||
"vuex": "^3.1.2",
|
"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": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "~4.2.0",
|
"@vue/cli-plugin-babel": "~4.2.0",
|
||||||
@@ -39,6 +45,9 @@
|
|||||||
"@vue/eslint-config-standard": "^5.1.0",
|
"@vue/eslint-config-standard": "^5.1.0",
|
||||||
"@vue/test-utils": "1.0.0-beta.31",
|
"@vue/test-utils": "1.0.0-beta.31",
|
||||||
"babel-eslint": "^10.0.3",
|
"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": "^6.7.2",
|
||||||
"eslint-plugin-import": "^2.20.1",
|
"eslint-plugin-import": "^2.20.1",
|
||||||
"eslint-plugin-node": "^11.0.0",
|
"eslint-plugin-node": "^11.0.0",
|
||||||
|
|||||||
@@ -4,12 +4,11 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
<title>橙单代码生成平台</title>
|
||||||
<title>橙单工程</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body class="demo-project">
|
<body class="orange-project">
|
||||||
<noscript>
|
<noscript>
|
||||||
<strong>We're sorry but 橙单工程 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
<strong>We're sorry but 橙单代码生成平台 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<!-- built files will be auto injected -->
|
<!-- built files will be auto injected -->
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default class DictionaryController {
|
|||||||
static dictAreaCode (sender, params, axiosOption, httpOption) {
|
static dictAreaCode (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/CourseClass/areaCode/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
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);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -79,7 +79,7 @@ export default class DictionaryController {
|
|||||||
static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) {
|
static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/CourseClass/areaCode/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => {
|
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);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -102,7 +102,7 @@ export default class DictionaryController {
|
|||||||
static dictCourse (sender, params, axiosOption, httpOption) {
|
static dictCourse (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/CourseClass/course/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
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);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -113,7 +113,7 @@ export default class DictionaryController {
|
|||||||
static dictGrade (sender, params, axiosOption, httpOption) {
|
static dictGrade (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/CourseClass/grade/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
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);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -145,7 +145,7 @@ export default class DictionaryController {
|
|||||||
static dictSchoolInfo (sender, params, axiosOption, httpOption) {
|
static dictSchoolInfo (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/CourseClass/schoolInfo/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
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);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -156,7 +156,7 @@ export default class DictionaryController {
|
|||||||
static dictStudent (sender, params, axiosOption, httpOption) {
|
static dictStudent (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/CourseClass/student/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
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);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
|||||||
@@ -225,4 +225,12 @@ export default class SystemController {
|
|||||||
static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) {
|
static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('admin/upms/sysPerm/listSysMenuWithDetail', 'get', 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import SystemController from './Controller/SystemController'
|
import SystemController from './Controller/SystemController'
|
||||||
import DictionaryController from './Controller/DictionaryController'
|
import DictionaryController from './Controller/DictionaryController'
|
||||||
import CourseController from './Controller/CourseController.js'
|
import CourseController from './Controller/CourseController.js';
|
||||||
import SchoolInfoController from './Controller/SchoolInfoController.js'
|
import SchoolInfoController from './Controller/SchoolInfoController.js';
|
||||||
import StudentController from './Controller/StudentController.js'
|
import StudentController from './Controller/StudentController.js';
|
||||||
import SysUserController from './Controller/SysUserController.js'
|
import SysUserController from './Controller/SysUserController.js';
|
||||||
import StudentClassController from './Controller/StudentClassController.js'
|
import StudentClassController from './Controller/StudentClassController.js';
|
||||||
import CourseTransStatsController from './Controller/CourseTransStatsController.js'
|
import CourseTransStatsController from './Controller/CourseTransStatsController.js';
|
||||||
import StudentActionStatsController from './Controller/StudentActionStatsController.js'
|
import StudentActionStatsController from './Controller/StudentActionStatsController.js';
|
||||||
import StudentActionTransController from './Controller/StudentActionTransController.js'
|
import StudentActionTransController from './Controller/StudentActionTransController.js';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
SystemController,
|
SystemController,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ $--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default;
|
|||||||
/* Color
|
/* Color
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
/// color|1|Brand Color|0
|
/// color|1|Brand Color|0
|
||||||
$--color-primary: #FFA424 !default;
|
$--color-primary: #FCA834 !default;
|
||||||
/// color|1|Background Color|4
|
/// color|1|Background Color|4
|
||||||
$--color-white: #FFFFFF !default;
|
$--color-white: #FFFFFF !default;
|
||||||
/// color|1|Background Color|4
|
/// 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-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
|
||||||
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
|
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
|
||||||
/// color|1|Functional Color|1
|
/// color|1|Functional Color|1
|
||||||
$--color-success: #67C23A !default;
|
$--color-success: #6DC741 !default;
|
||||||
/// color|1|Functional Color|1
|
/// color|1|Functional Color|1
|
||||||
$--color-warning: #E6A23C !default;
|
$--color-warning: #E6A23C !default;
|
||||||
/// color|1|Functional Color|1
|
/// color|1|Functional Color|1
|
||||||
@@ -72,11 +72,10 @@ $--background-color-base: #F5F7FA !default;
|
|||||||
// color for left sidebar title
|
// color for left sidebar title
|
||||||
$--color-sidebar-title-text: #FFFFFF;
|
$--color-sidebar-title-text: #FFFFFF;
|
||||||
// color for left sidebar background
|
// color for left sidebar background
|
||||||
$--color-menu-background: #FF7746;
|
$--color-menu-background: #042345;
|
||||||
$--color-menu-item-active-text-color: #FFFFFF;
|
$--color-menu-item-active-text-color: #FFFFFF;
|
||||||
$--color-menu-item-active-background: rgba(255, 255, 255, 0.01);
|
$--color-menu-item-active-background: $--color-primary;
|
||||||
$--color-menu-item-active-background-to: rgba(255, 255, 255, 0.3);
|
$--color-submenu-background: #021F3B;
|
||||||
|
|
||||||
/* Link
|
/* Link
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
$--link-color: $--color-primary-light-2 !default;
|
$--link-color: $--color-primary-light-2 !default;
|
||||||
@@ -738,7 +737,7 @@ $--tree-expand-icon-color: $--color-text-placeholder !default;
|
|||||||
/* Dropdown
|
/* Dropdown
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
$--dropdown-menu-box-shadow: $--box-shadow-light !default;
|
$--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;
|
$--dropdown-menuItem-hover-color: $--color-white !default;
|
||||||
|
|
||||||
/* Badge
|
/* Badge
|
||||||
|
|||||||
BIN
orange-demo-multi-web/src/assets/img/login.png
Normal file
BIN
orange-demo-multi-web/src/assets/img/login.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 712 KiB |
BIN
orange-demo-multi-web/src/assets/img/login_logo.png
Normal file
BIN
orange-demo-multi-web/src/assets/img/login_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
orange-demo-multi-web/src/assets/img/logo.png
Normal file
BIN
orange-demo-multi-web/src/assets/img/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
@@ -7,7 +7,7 @@
|
|||||||
"theme-blue": "et -c element-variables-blue.scss"
|
"theme-blue": "et -c element-variables-blue.scss"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"element-theme": "^2.0.1",
|
"element-theme": "2.0.1",
|
||||||
"element-theme-chalk": "^2.14.1"
|
"element-theme-chalk": "2.14.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,8 +51,25 @@ body .layer-dialog {
|
|||||||
body .layer-dialog .layui-layer-content {
|
body .layer-dialog .layui-layer-content {
|
||||||
padding: $box-padding-size;
|
padding: $box-padding-size;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 左树右表弹窗样式
|
||||||
|
*/
|
||||||
|
body .layer-advance-dialog {
|
||||||
|
border-radius: 4px;
|
||||||
|
border:1px solid #01000000;
|
||||||
|
background-color: #F8F8F8;
|
||||||
|
}
|
||||||
|
|
||||||
.demo-project {
|
body .layer-advance-dialog .layui-layer-title{
|
||||||
|
border-radius: 4px 4px 0px 0px;
|
||||||
|
border:1px solid #01000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
body .layer-advance-dialog .layui-layer-content {
|
||||||
|
padding: 5px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.orange-project {
|
||||||
.el-main {
|
.el-main {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
@@ -98,18 +115,18 @@ body .layer-dialog .layui-layer-content {
|
|||||||
|
|
||||||
.page-close-box {
|
.page-close-box {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: #13ce66;
|
background: #0092FF;
|
||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
height: 60px;
|
height: 50px;
|
||||||
width: 60px;
|
width: 50px;
|
||||||
right: -30px;
|
right: -25px;
|
||||||
top:-30px;
|
top:-25px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
.el-button {
|
.el-button {
|
||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
color: white;
|
color: white;
|
||||||
margin-top: 30px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,6 +282,12 @@ body .layer-dialog .layui-layer-content {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if global-variable-exists(--color-submenu-background) {
|
||||||
|
.left-menu .el-submenu .el-menu {
|
||||||
|
background-color: $--color-submenu-background;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多tab页表单,tab样式
|
* 多tab页表单,tab样式
|
||||||
**/
|
**/
|
||||||
@@ -278,6 +301,45 @@ body .layer-dialog .layui-layer-content {
|
|||||||
background-color: $tab-header-background-color;
|
background-color: $tab-header-background-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作按钮颜色
|
||||||
|
**/
|
||||||
|
.table-btn.delete {
|
||||||
|
color: #F56C6C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.delete:hover {
|
||||||
|
color: #F78989;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.delete:disabled {
|
||||||
|
color: #DCDFE6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success {
|
||||||
|
color: #67C23A;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success:hover {
|
||||||
|
color: #85CE61;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success:disabled {
|
||||||
|
color: #DCDFE6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.warning {
|
||||||
|
color: #E6A23C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.warning:hover {
|
||||||
|
color: #EBB563;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success:disabled {
|
||||||
|
color: #DCDFE6;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图片上传以及显示样式
|
* 图片上传以及显示样式
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -110,3 +110,8 @@
|
|||||||
.form-single-fragment {
|
.form-single-fragment {
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.advance-query-form {
|
||||||
|
padding: 0px!important;
|
||||||
|
background-color: transparent!important;;
|
||||||
|
}
|
||||||
@@ -1705,7 +1705,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -1750,9 +1750,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
|
|||||||
@@ -3282,7 +3282,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -3327,9 +3327,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
@@ -3454,7 +3454,7 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
.el-cascader__suggestion-item {
|
.el-cascader__suggestion-item {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@@ -3474,7 +3474,7 @@
|
|||||||
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
||||||
background: #F5F7FA; }
|
background: #F5F7FA; }
|
||||||
.el-cascader__suggestion-item.is-checked {
|
.el-cascader__suggestion-item.is-checked {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader__suggestion-item > span {
|
.el-cascader__suggestion-item > span {
|
||||||
margin-right: 10px; }
|
margin-right: 10px; }
|
||||||
@@ -3489,7 +3489,7 @@
|
|||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
margin: 2px 0 2px 15px;
|
margin: 2px 0 2px 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
|
|||||||
@@ -46757,7 +46757,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -46802,9 +46802,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
@@ -46929,7 +46929,7 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
.el-cascader__suggestion-item {
|
.el-cascader__suggestion-item {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@@ -46949,7 +46949,7 @@
|
|||||||
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
||||||
background: #F5F7FA; }
|
background: #F5F7FA; }
|
||||||
.el-cascader__suggestion-item.is-checked {
|
.el-cascader__suggestion-item.is-checked {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader__suggestion-item > span {
|
.el-cascader__suggestion-item > span {
|
||||||
margin-right: 10px; }
|
margin-right: 10px; }
|
||||||
@@ -46964,7 +46964,7 @@
|
|||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
margin: 2px 0 2px 15px;
|
margin: 2px 0 2px 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
@@ -55916,7 +55916,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -55961,9 +55961,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ class Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let observer = {
|
let observer = {
|
||||||
cancel: function (isSuccess = false) {
|
cancel: function (isSuccess = false, data = undefined) {
|
||||||
layer.close(this.index);
|
layer.close(this.index);
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
resolve();
|
resolve(data);
|
||||||
} else {
|
} else {
|
||||||
reject();
|
reject();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ export default {
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
this.editor.customConfig.linkImgCallback = (url) => {
|
this.editor.customConfig.linkImgCallback = (url) => {
|
||||||
console.log(url) // url 即插入图片的地址
|
|
||||||
}
|
}
|
||||||
this.editor.customConfig.linkCheck = (text, link) => {
|
this.editor.customConfig.linkCheck = (text, link) => {
|
||||||
return true // 返回 true 表示校验成功
|
return true // 返回 true 表示校验成功
|
||||||
@@ -112,7 +111,6 @@ export default {
|
|||||||
}
|
}
|
||||||
// 失去焦点后更新数据
|
// 失去焦点后更新数据
|
||||||
this.editor.customConfig.onblur = (html) => {
|
this.editor.customConfig.onblur = (html) => {
|
||||||
console.log(html)
|
|
||||||
this.$emit('input', html);
|
this.$emit('input', html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
baseUrl: 'http://localhost:8082/',
|
baseUrl: 'http://localhost:8082/',
|
||||||
projectName: '橙单项目'
|
projectName: '橙单代码生成平台'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,14 @@ const projectConfig = require('../config/' + process.env.NODE_ENV);
|
|||||||
|
|
||||||
export const globalConfig = {
|
export const globalConfig = {
|
||||||
httpOption: {
|
httpOption: {
|
||||||
|
// 调用的时候是否显示蒙版
|
||||||
showMask: true,
|
showMask: true,
|
||||||
showError: true
|
// 是否显示公共的错误提示
|
||||||
|
showError: true,
|
||||||
|
// 是否开启节流功能,同一个url不能频繁重复调用
|
||||||
|
throttleFlag: false,
|
||||||
|
// 节流间隔
|
||||||
|
throttleTimeout: 50
|
||||||
},
|
},
|
||||||
axiosOption: {
|
axiosOption: {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,13 +135,15 @@ const doUrl = function (url, type, params, axiosOption, options) {
|
|||||||
options = merge(globalConfig.httpOption, options);
|
options = merge(globalConfig.httpOption, options);
|
||||||
axiosOption = merge(globalConfig.axiosOption, axiosOption);
|
axiosOption = merge(globalConfig.axiosOption, axiosOption);
|
||||||
if (type == null || type === '') type = 'post';
|
if (type == null || type === '') type = 'post';
|
||||||
if (ajaxThrottleSet.has(url)) {
|
if (ajaxThrottleSet.has(url) && options.throttleFlag) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
} else {
|
} else {
|
||||||
|
if (options.throttleFlag) {
|
||||||
ajaxThrottleSet.add(url);
|
ajaxThrottleSet.add(url);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
ajaxThrottleSet.delete(url);
|
ajaxThrottleSet.delete(url);
|
||||||
}, 50);
|
}, options.throttleTimeout || 50);
|
||||||
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (options.showMask) loadingManager.showMask();
|
if (options.showMask) loadingManager.showMask();
|
||||||
let ajaxCall = null;
|
let ajaxCall = null;
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ const service = axios.create({
|
|||||||
withCredentials: true,
|
withCredentials: true,
|
||||||
headers: {
|
headers: {
|
||||||
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
|
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
|
||||||
'Content-Type': 'application/json; charset=utf-8'
|
'Content-Type': 'application/json; charset=utf-8',
|
||||||
|
'deviceType': '4'
|
||||||
},
|
},
|
||||||
transformResponse: [
|
transformResponse: [
|
||||||
function (data) {
|
function (data) {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import '@/core/http';
|
import '@/core/http';
|
||||||
|
import JSONbig from 'json-bigint';
|
||||||
import '@/components/Dialog';
|
import '@/components/Dialog';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import ElementUI from 'element-ui';
|
import ElementUI from 'element-ui';
|
||||||
@@ -16,6 +17,8 @@ import FilterBox from '@/components/FilterBox';
|
|||||||
import TableProgressColumn from '@/components/TableProgressColumn';
|
import TableProgressColumn from '@/components/TableProgressColumn';
|
||||||
import VCharts from 'v-charts';
|
import VCharts from 'v-charts';
|
||||||
|
|
||||||
|
window.JSON = new JSONbig({storeAsString: true});
|
||||||
|
|
||||||
Vue.component('tree-select', TreeSelect);
|
Vue.component('tree-select', TreeSelect);
|
||||||
Vue.component('rich-editor', RichEditor);
|
Vue.component('rich-editor', RichEditor);
|
||||||
Vue.component('input-number-range', InputNumberRange);
|
Vue.component('input-number-range', InputNumberRange);
|
||||||
|
|||||||
@@ -33,16 +33,17 @@ const routers = [
|
|||||||
{path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}},
|
{path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}},
|
||||||
{path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}},
|
{path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}},
|
||||||
{path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}},
|
{path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}},
|
||||||
|
{path: 'formSysLoginUser', component: _import('upms/formSysLoginUser/index'), name: 'formSysLoginUser', meta: {title: '在线用户'}},
|
||||||
{path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}},
|
{path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}},
|
||||||
{path: 'formSchool', component: _import('generated/formSchool/index'), name: 'formSchool', props: getProps, meta: {title: '校区管理'}},
|
{path: 'formSchool', component: _import('generated/formSchool'), name: 'formSchool', props: getProps, meta: {title: '校区管理'}},
|
||||||
{path: 'formStudent', component: _import('generated/formStudent/index'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}},
|
{path: 'formStudent', component: _import('generated/formStudent'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}},
|
||||||
{path: 'formCourse', component: _import('generated/formCourse/index'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}},
|
{path: 'formCourse', component: _import('generated/formCourse'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}},
|
||||||
{path: 'formCourseStats', component: _import('generated/formCourseStats/index'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}},
|
{path: 'formCourseStats', component: _import('generated/formCourseStats'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}},
|
||||||
{path: 'formStudentActionStats', component: _import('generated/formStudentActionStats/index'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}},
|
{path: 'formStudentActionStats', component: _import('generated/formStudentActionStats'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}},
|
||||||
{path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail/index'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}},
|
{path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}},
|
||||||
{path: 'formSetClassStudent', component: _import('generated/formSetClassStudent/index'), name: 'formSetClassStudent', props: getProps, meta: {title: '设置班级学生'}},
|
{path: 'formSetClassStudent', component: _import('generated/formSetClassStudent'), name: 'formSetClassStudent', props: getProps, meta: {title: '设置班级学生'}},
|
||||||
{path: 'formSetClassCourse', component: _import('generated/formSetClassCourse/index'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}},
|
{path: 'formSetClassCourse', component: _import('generated/formSetClassCourse'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}},
|
||||||
{path: 'formClass', component: _import('generated/formClass/index'), name: 'formClass', props: getProps, meta: {title: '班级管理'}}
|
{path: 'formClass', component: _import('generated/formClass'), name: 'formClass', props: getProps, meta: {title: '班级管理'}}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -4,8 +4,9 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
class DictionaryBase extends Map {
|
class DictionaryBase extends Map {
|
||||||
constructor (dataList, keyId = 'id', symbolId = 'symbol') {
|
constructor (name, dataList, keyId = 'id', symbolId = 'symbol') {
|
||||||
super();
|
super();
|
||||||
|
this.showName = name;
|
||||||
this.setList(dataList, keyId, symbolId);
|
this.setList(dataList, keyId, symbolId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +51,7 @@ class DictionaryBase extends Map {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const SysUserStatus = new DictionaryBase([
|
const SysUserStatus = new DictionaryBase('用户状态', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '正常状态',
|
name: '正常状态',
|
||||||
@@ -64,7 +65,7 @@ const SysUserStatus = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.SysUserStatus = SysUserStatus;
|
Vue.prototype.SysUserStatus = SysUserStatus;
|
||||||
|
|
||||||
const SysUserType = new DictionaryBase([
|
const SysUserType = new DictionaryBase('用户类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '管理员',
|
name: '管理员',
|
||||||
@@ -83,7 +84,7 @@ const SysUserType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.SysUserType = SysUserType;
|
Vue.prototype.SysUserType = SysUserType;
|
||||||
|
|
||||||
const ClassStatus = new DictionaryBase([
|
const ClassStatus = new DictionaryBase('班级状态', [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: '正常',
|
name: '正常',
|
||||||
@@ -97,7 +98,7 @@ const ClassStatus = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.ClassStatus = ClassStatus;
|
Vue.prototype.ClassStatus = ClassStatus;
|
||||||
|
|
||||||
const ClassLevel = new DictionaryBase([
|
const ClassLevel = new DictionaryBase('班级级别', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '初级班',
|
name: '初级班',
|
||||||
@@ -116,7 +117,7 @@ const ClassLevel = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.ClassLevel = ClassLevel;
|
Vue.prototype.ClassLevel = ClassLevel;
|
||||||
|
|
||||||
const CourseDifficult = new DictionaryBase([
|
const CourseDifficult = new DictionaryBase('课程难度', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '容易',
|
name: '容易',
|
||||||
@@ -135,7 +136,7 @@ const CourseDifficult = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.CourseDifficult = CourseDifficult;
|
Vue.prototype.CourseDifficult = CourseDifficult;
|
||||||
|
|
||||||
const Subject = new DictionaryBase([
|
const Subject = new DictionaryBase('学科', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '语文',
|
name: '语文',
|
||||||
@@ -154,7 +155,7 @@ const Subject = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.Subject = Subject;
|
Vue.prototype.Subject = Subject;
|
||||||
|
|
||||||
const StudentActionType = new DictionaryBase([
|
const StudentActionType = new DictionaryBase('学生行为', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '充值',
|
name: '充值',
|
||||||
@@ -213,7 +214,7 @@ const StudentActionType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.StudentActionType = StudentActionType;
|
Vue.prototype.StudentActionType = StudentActionType;
|
||||||
|
|
||||||
const DeviceType = new DictionaryBase([
|
const DeviceType = new DictionaryBase('设备类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: 'iOS',
|
name: 'iOS',
|
||||||
@@ -232,7 +233,7 @@ const DeviceType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.DeviceType = DeviceType;
|
Vue.prototype.DeviceType = DeviceType;
|
||||||
|
|
||||||
const Gender = new DictionaryBase([
|
const Gender = new DictionaryBase('性别', [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: '男',
|
name: '男',
|
||||||
@@ -246,7 +247,7 @@ const Gender = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.Gender = Gender;
|
Vue.prototype.Gender = Gender;
|
||||||
|
|
||||||
const ExpLevel = new DictionaryBase([
|
const ExpLevel = new DictionaryBase('经验等级', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '初级学员',
|
name: '初级学员',
|
||||||
@@ -265,7 +266,7 @@ const ExpLevel = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.ExpLevel = ExpLevel;
|
Vue.prototype.ExpLevel = ExpLevel;
|
||||||
|
|
||||||
const StudentStatus = new DictionaryBase([
|
const StudentStatus = new DictionaryBase('学生状态', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '正常',
|
name: '正常',
|
||||||
@@ -284,7 +285,7 @@ const StudentStatus = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.StudentStatus = StudentStatus;
|
Vue.prototype.StudentStatus = StudentStatus;
|
||||||
|
|
||||||
const SysPermModuleType = new DictionaryBase([
|
const SysPermModuleType = new DictionaryBase('权限分组类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '分组模块',
|
name: '分组模块',
|
||||||
@@ -297,7 +298,7 @@ const SysPermModuleType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.SysPermModuleType = SysPermModuleType;
|
Vue.prototype.SysPermModuleType = SysPermModuleType;
|
||||||
|
|
||||||
const SysPermCodeType = new DictionaryBase([{
|
const SysPermCodeType = new DictionaryBase('权限字类型', [{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '表单',
|
name: '表单',
|
||||||
symbol: 'FORM'
|
symbol: 'FORM'
|
||||||
@@ -312,7 +313,7 @@ const SysPermCodeType = new DictionaryBase([{
|
|||||||
}]);
|
}]);
|
||||||
Vue.prototype.SysPermCodeType = SysPermCodeType;
|
Vue.prototype.SysPermCodeType = SysPermCodeType;
|
||||||
|
|
||||||
const SysMenuType = new DictionaryBase([
|
const SysMenuType = new DictionaryBase('菜单类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '目录',
|
name: '目录',
|
||||||
@@ -335,7 +336,6 @@ const SysMenuType = new DictionaryBase([
|
|||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
Vue.prototype.SysMenuType = SysMenuType;
|
Vue.prototype.SysMenuType = SysMenuType;
|
||||||
|
|
||||||
export {
|
export {
|
||||||
DictionaryBase,
|
DictionaryBase,
|
||||||
SysUserStatus,
|
SysUserStatus,
|
||||||
|
|||||||
@@ -11,8 +11,14 @@ export default {
|
|||||||
getClientHeight: (state) => {
|
getClientHeight: (state) => {
|
||||||
return state.documentClientHeight;
|
return state.documentClientHeight;
|
||||||
},
|
},
|
||||||
|
getClientWidth: (state) => {
|
||||||
|
return state.documentClienWidth;
|
||||||
|
},
|
||||||
getMainContextHeight: (state) => {
|
getMainContextHeight: (state) => {
|
||||||
return state.documentClientHeight - (state.supportTags ? 140 : 100);
|
return state.documentClientHeight - (state.supportTags ? 130 : 90);
|
||||||
|
},
|
||||||
|
getOnlineFormCache: (state) => {
|
||||||
|
return state.onlineFormCache;
|
||||||
},
|
},
|
||||||
getUserInfo: (state) => {
|
getUserInfo: (state) => {
|
||||||
return state.userInfo;
|
return state.userInfo;
|
||||||
|
|||||||
@@ -8,6 +8,18 @@ export default {
|
|||||||
setClientHeight: (state, height) => {
|
setClientHeight: (state, height) => {
|
||||||
state.documentClientHeight = height;
|
state.documentClientHeight = height;
|
||||||
},
|
},
|
||||||
|
setClientWidth: (state, width) => {
|
||||||
|
state.documentClienWidth = width;
|
||||||
|
},
|
||||||
|
addOnlineFormCache: (state, data) => {
|
||||||
|
state.onlineFormCache[data.key] = data.value;
|
||||||
|
},
|
||||||
|
removeOnlineFormCache: (state, key) => {
|
||||||
|
delete state.onlineFormCache[key];
|
||||||
|
},
|
||||||
|
clearOnlineFormCache: (state) => {
|
||||||
|
state.onlineFormCache = {};
|
||||||
|
},
|
||||||
setUserInfo: (state, info) => {
|
setUserInfo: (state, info) => {
|
||||||
setObjectToSessionStorage('userInfo', info);
|
setObjectToSessionStorage('userInfo', info);
|
||||||
state.userInfo = initUserInfo(info);
|
state.userInfo = initUserInfo(info);
|
||||||
@@ -97,7 +109,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let menuObject = state.tagList[0];
|
let menuObject = state.tagList[0];
|
||||||
if (menuObject && menuObject.formRouterName && menuObject.formRouterName !== '') {
|
if (menuObject && (menuObject.onlineFormId == null || menuObject.onlineFormId === '') &&
|
||||||
|
menuObject.formRouterName && menuObject.formRouterName !== '') {
|
||||||
state.cachePages = [menuObject.formRouterName];
|
state.cachePages = [menuObject.formRouterName];
|
||||||
if (setObjectToSessionStorage('currentMenuId', menuObject.menuId)) state.currentMenuId = menuObject.menuId;
|
if (setObjectToSessionStorage('currentMenuId', menuObject.menuId)) state.currentMenuId = menuObject.menuId;
|
||||||
}
|
}
|
||||||
@@ -131,7 +144,9 @@ export default {
|
|||||||
}
|
}
|
||||||
// 添加新缓存
|
// 添加新缓存
|
||||||
if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuItem.formRouterName) === -1) {
|
if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuItem.formRouterName) === -1) {
|
||||||
|
if (menuItem.onlineFormId == null || menuItem.onlineFormId === '') {
|
||||||
state.cachePages = [...state.cachePages, menuItem.formRouterName];
|
state.cachePages = [...state.cachePages, menuItem.formRouterName];
|
||||||
|
}
|
||||||
setObjectToSessionStorage('cachePages', state.cachePages);
|
setObjectToSessionStorage('cachePages', state.cachePages);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ export default {
|
|||||||
supportTags: false,
|
supportTags: false,
|
||||||
// 浏览器客户区高度
|
// 浏览器客户区高度
|
||||||
documentClientHeight: 100,
|
documentClientHeight: 100,
|
||||||
|
// 浏览器客户区宽度
|
||||||
|
documentClientWidth: undefined,
|
||||||
|
// 在线表单查询页面缓存
|
||||||
|
onlineFormCache: {},
|
||||||
// 用户登录信息
|
// 用户登录信息
|
||||||
userInfo: initUserInfo(),
|
userInfo: initUserInfo(),
|
||||||
// 缓存页面
|
// 缓存页面
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ export class TreeTableImpl {
|
|||||||
calcPermCodeTreeAttribute(item, checkedRows);
|
calcPermCodeTreeAttribute(item, checkedRows);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log(treeData, checkedRows);
|
|
||||||
return treeData;
|
return treeData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,6 @@ export class TableWidget {
|
|||||||
this.oldPage = this.currentPage;
|
this.oldPage = this.currentPage;
|
||||||
this.oldPageSize = this.pageSize;
|
this.oldPageSize = this.pageSize;
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e);
|
|
||||||
this.currentPage = this.oldPage;
|
this.currentPage = this.oldPage;
|
||||||
this.pageSize = this.oldPageSize;
|
this.pageSize = this.oldPageSize;
|
||||||
});
|
});
|
||||||
@@ -161,7 +160,6 @@ export class TableWidget {
|
|||||||
* @param {Object} oldRow 老的选中行
|
* @param {Object} oldRow 老的选中行
|
||||||
*/
|
*/
|
||||||
currentRowChange (currentRow, oldRow) {
|
currentRowChange (currentRow, oldRow) {
|
||||||
console.log(currentRow, oldRow);
|
|
||||||
this.currentRow = currentRow;
|
this.currentRow = currentRow;
|
||||||
}
|
}
|
||||||
clearTable () {
|
clearTable () {
|
||||||
|
|||||||
@@ -190,9 +190,9 @@ import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/
|
|||||||
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
||||||
/* eslint-disable-next-line */
|
/* eslint-disable-next-line */
|
||||||
import { StudentClassController, DictionaryController } from '@/api';
|
import { StudentClassController, DictionaryController } from '@/api';
|
||||||
import formEditClassCourseOrder from '@/views/generated/formEditClassCourseOrder';
|
import formCreateClass from '@/views/generated/formCreateClass.vue';
|
||||||
import formEditClass from '@/views/generated/formEditClass';
|
import formEditClass from '@/views/generated/formEditClass.vue';
|
||||||
import formCreateClass from '@/views/generated/formCreateClass';
|
import formEditClassCourseOrder from '@/views/generated/formEditClassCourseOrder.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'formClass',
|
name: 'formClass',
|
||||||
@@ -239,14 +239,14 @@ export default {
|
|||||||
classCourseCard: {
|
classCourseCard: {
|
||||||
isInit: false
|
isInit: false
|
||||||
},
|
},
|
||||||
Student: {
|
StudentClass: {
|
||||||
impl: new TableWidget(this.loadStudentWidgetData, this.loadStudentVerify, true, false)
|
impl: new TableWidget(this.loadStudentClassWidgetData, this.loadStudentClassVerify, true, true, 'createTime', 1)
|
||||||
},
|
},
|
||||||
Course: {
|
Course: {
|
||||||
impl: new TableWidget(this.loadCourseWidgetData, this.loadCourseVerify, true, false)
|
impl: new TableWidget(this.loadCourseWidgetData, this.loadCourseVerify, true, false)
|
||||||
},
|
},
|
||||||
StudentClass: {
|
Student: {
|
||||||
impl: new TableWidget(this.loadStudentClassWidgetData, this.loadStudentClassVerify, true, true, 'createTime', 1)
|
impl: new TableWidget(this.loadStudentWidgetData, this.loadStudentVerify, true, false)
|
||||||
},
|
},
|
||||||
classStudentCard: {
|
classStudentCard: {
|
||||||
isInit: false
|
isInit: false
|
||||||
@@ -263,35 +263,41 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/**
|
/**
|
||||||
* 班级学生数据获取函数,返回Promise
|
* 班级数据数据获取函数,返回Promise
|
||||||
*/
|
*/
|
||||||
loadStudentWidgetData (params) {
|
loadStudentClassWidgetData (params) {
|
||||||
if (
|
|
||||||
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
|
|
||||||
) {
|
|
||||||
this.formClass.Student.impl.clearTable();
|
|
||||||
return Promise.reject();
|
|
||||||
}
|
|
||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
classId: (this.formClass.StudentClass.impl.currentRow || {}).classId
|
studentClassDtoFilter: {
|
||||||
|
className: this.formClass.formFilterCopy.className,
|
||||||
|
schoolId: this.formClass.formFilterCopy.schoolId
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
StudentClassController.listClassStudent(this, params).then(res => {
|
StudentClassController.list(this, params).then(res => {
|
||||||
resolve({
|
resolve({
|
||||||
dataList: res.data.dataList,
|
dataList: res.data.dataList,
|
||||||
totalCount: res.data.totalCount
|
totalCount: res.data.totalCount
|
||||||
});
|
});
|
||||||
|
// 恢复当前选择行
|
||||||
|
if (this.formClass.StudentClass.impl.currentRow !== null) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
let currentRow = findItemFromList(res.data.dataList, this.formClass.StudentClass.impl.currentRow.classId, 'classId');
|
||||||
|
this.$refs.studentClass.setCurrentRow(currentRow);
|
||||||
|
});
|
||||||
|
}
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 班级学生数据获取检测函数,返回true正常获取数据,返回false停止获取数据
|
* 班级数据数据获取检测函数,返回true正常获取数据,返回false停止获取数据
|
||||||
*/
|
*/
|
||||||
loadStudentVerify () {
|
loadStudentClassVerify () {
|
||||||
|
this.formClass.formFilterCopy.className = this.formClass.formFilter.className;
|
||||||
|
this.formClass.formFilterCopy.schoolId = this.formClass.formFilter.schoolId;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -327,41 +333,35 @@ export default {
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 班级数据数据获取函数,返回Promise
|
* 班级学生数据获取函数,返回Promise
|
||||||
*/
|
*/
|
||||||
loadStudentClassWidgetData (params) {
|
loadStudentWidgetData (params) {
|
||||||
|
if (
|
||||||
|
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
|
||||||
|
) {
|
||||||
|
this.formClass.Student.impl.clearTable();
|
||||||
|
return Promise.reject();
|
||||||
|
}
|
||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
studentClassFilter: {
|
classId: (this.formClass.StudentClass.impl.currentRow || {}).classId
|
||||||
className: this.formClass.formFilterCopy.className,
|
|
||||||
schoolId: this.formClass.formFilterCopy.schoolId
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
StudentClassController.list(this, params).then(res => {
|
StudentClassController.listClassStudent(this, params).then(res => {
|
||||||
resolve({
|
resolve({
|
||||||
dataList: res.data.dataList,
|
dataList: res.data.dataList,
|
||||||
totalCount: res.data.totalCount
|
totalCount: res.data.totalCount
|
||||||
});
|
});
|
||||||
// 恢复当前选择行
|
|
||||||
if (this.formClass.StudentClass.impl.currentRow !== null) {
|
|
||||||
this.$nextTick(() => {
|
|
||||||
let currentRow = findItemFromList(res.data.dataList, this.formClass.StudentClass.impl.currentRow.classId, 'classId');
|
|
||||||
this.$refs.studentClass.setCurrentRow(currentRow);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 班级数据数据获取检测函数,返回true正常获取数据,返回false停止获取数据
|
* 班级学生数据获取检测函数,返回true正常获取数据,返回false停止获取数据
|
||||||
*/
|
*/
|
||||||
loadStudentClassVerify () {
|
loadStudentVerify () {
|
||||||
this.formClass.formFilterCopy.className = this.formClass.formFilter.className;
|
|
||||||
this.formClass.formFilterCopy.schoolId = this.formClass.formFilter.schoolId;
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -385,7 +385,7 @@ export default {
|
|||||||
/**
|
/**
|
||||||
* 更新班级课程
|
* 更新班级课程
|
||||||
*/
|
*/
|
||||||
refreshClassCourseCard (reloadData = false) {
|
refreshClassCourseCardWidget (reloadData = false) {
|
||||||
// 更新容器下所有的数据组件
|
// 更新容器下所有的数据组件
|
||||||
if (reloadData) {
|
if (reloadData) {
|
||||||
this.formClass.Course.impl.refreshTable(true, 1);
|
this.formClass.Course.impl.refreshTable(true, 1);
|
||||||
@@ -397,7 +397,7 @@ export default {
|
|||||||
/**
|
/**
|
||||||
* 更新班级学生
|
* 更新班级学生
|
||||||
*/
|
*/
|
||||||
refreshClassStudentCard (reloadData = false) {
|
refreshClassStudentCardWidget (reloadData = false) {
|
||||||
// 更新容器下所有的数据组件
|
// 更新容器下所有的数据组件
|
||||||
if (reloadData) {
|
if (reloadData) {
|
||||||
this.formClass.Student.impl.refreshTable(true, 1);
|
this.formClass.Student.impl.refreshTable(true, 1);
|
||||||
@@ -409,7 +409,7 @@ export default {
|
|||||||
/**
|
/**
|
||||||
* 更新班级列表
|
* 更新班级列表
|
||||||
*/
|
*/
|
||||||
refreshClassCard (reloadData = false) {
|
refreshClassCardWidget (reloadData = false) {
|
||||||
// 更新容器下所有的数据组件
|
// 更新容器下所有的数据组件
|
||||||
if (reloadData) {
|
if (reloadData) {
|
||||||
this.formClass.StudentClass.impl.refreshTable(true, 1);
|
this.formClass.StudentClass.impl.refreshTable(true, 1);
|
||||||
@@ -423,9 +423,9 @@ export default {
|
|||||||
*/
|
*/
|
||||||
refreshFormClass (reloadData = false) {
|
refreshFormClass (reloadData = false) {
|
||||||
if (reloadData) {
|
if (reloadData) {
|
||||||
this.formClass.Student.impl.refreshTable(true, 1);
|
this.formClass.StudentClass.impl.refreshTable(true, 1);
|
||||||
} else {
|
} else {
|
||||||
this.formClass.Student.impl.refreshTable();
|
this.formClass.StudentClass.impl.refreshTable();
|
||||||
}
|
}
|
||||||
if (reloadData) {
|
if (reloadData) {
|
||||||
this.formClass.Course.impl.refreshTable(true, 1);
|
this.formClass.Course.impl.refreshTable(true, 1);
|
||||||
@@ -433,9 +433,9 @@ export default {
|
|||||||
this.formClass.Course.impl.refreshTable();
|
this.formClass.Course.impl.refreshTable();
|
||||||
}
|
}
|
||||||
if (reloadData) {
|
if (reloadData) {
|
||||||
this.formClass.StudentClass.impl.refreshTable(true, 1);
|
this.formClass.Student.impl.refreshTable(true, 1);
|
||||||
} else {
|
} else {
|
||||||
this.formClass.StudentClass.impl.refreshTable();
|
this.formClass.Student.impl.refreshTable();
|
||||||
}
|
}
|
||||||
if (!this.formClass.isInit) {
|
if (!this.formClass.isInit) {
|
||||||
// 初始化下拉数据
|
// 初始化下拉数据
|
||||||
@@ -449,9 +449,9 @@ export default {
|
|||||||
let params = {};
|
let params = {};
|
||||||
|
|
||||||
this.$dialog.show('新建', formCreateClass, {
|
this.$dialog.show('新建', formCreateClass, {
|
||||||
area: ['800px']
|
area: '800px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.refreshClassCard();
|
this.refreshClassCardWidget();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -509,7 +509,7 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.$dialog.show('课程顺序', formEditClassCourseOrder, {
|
this.$dialog.show('课程顺序', formEditClassCourseOrder, {
|
||||||
area: ['400px']
|
area: '400px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.formClass.Course.impl.refreshTable();
|
this.formClass.Course.impl.refreshTable();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -546,7 +546,7 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.$dialog.show('编辑', formEditClass, {
|
this.$dialog.show('编辑', formEditClass, {
|
||||||
area: ['800px']
|
area: '800px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.formClass.StudentClass.impl.refreshTable();
|
this.formClass.StudentClass.impl.refreshTable();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -634,8 +634,8 @@ export default {
|
|||||||
// 班级数据选择行数据变化
|
// 班级数据选择行数据变化
|
||||||
'formClass.StudentClass.impl.currentRow': {
|
'formClass.StudentClass.impl.currentRow': {
|
||||||
handler (newValue) {
|
handler (newValue) {
|
||||||
this.formClass.Student.impl.refreshTable(true, 1);
|
|
||||||
this.formClass.Course.impl.refreshTable(true, 1);
|
this.formClass.Course.impl.refreshTable(true, 1);
|
||||||
|
this.formClass.Student.impl.refreshTable(true, 1);
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
}
|
}
|
||||||
@@ -108,8 +108,8 @@ import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/
|
|||||||
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
||||||
/* eslint-disable-next-line */
|
/* eslint-disable-next-line */
|
||||||
import { CourseController, DictionaryController } from '@/api';
|
import { CourseController, DictionaryController } from '@/api';
|
||||||
import formCreateCourse from '@/views/generated/formCreateCourse';
|
import formEditCourse from '@/views/generated/formEditCourse.vue';
|
||||||
import formEditCourse from '@/views/generated/formEditCourse';
|
import formCreateCourse from '@/views/generated/formCreateCourse.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'formCourse',
|
name: 'formCourse',
|
||||||
@@ -155,7 +155,7 @@ export default {
|
|||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
courseFilter: {
|
courseDtoFilter: {
|
||||||
courseName: this.formCourse.formFilterCopy.courseName,
|
courseName: this.formCourse.formFilterCopy.courseName,
|
||||||
difficulty: this.formCourse.formFilterCopy.difficulty,
|
difficulty: this.formCourse.formFilterCopy.difficulty,
|
||||||
gradeId: this.formCourse.formFilterCopy.gradeId,
|
gradeId: this.formCourse.formFilterCopy.gradeId,
|
||||||
@@ -258,7 +258,7 @@ export default {
|
|||||||
let params = {};
|
let params = {};
|
||||||
|
|
||||||
this.$dialog.show('新建', formCreateCourse, {
|
this.$dialog.show('新建', formCreateCourse, {
|
||||||
area: ['800px']
|
area: '800px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.refreshFormCourse();
|
this.refreshFormCourse();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -272,7 +272,7 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.$dialog.show('编辑', formEditCourse, {
|
this.$dialog.show('编辑', formEditCourse, {
|
||||||
area: ['800px']
|
area: '800px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.formCourse.Course.impl.refreshTable();
|
this.formCourse.Course.impl.refreshTable();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -13,8 +13,8 @@
|
|||||||
<el-form ref="formCourseStats" :model="formData" class="full-width-input" style="width: 100%;"
|
<el-form ref="formCourseStats" :model="formData" class="full-width-input" style="width: 100%;"
|
||||||
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
|
label-width="100px" size="mini" label-position="right" @submit.native.prevent>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col class="table-box" :span="12">
|
<el-col class="table-box gutter-bottom" :span="12">
|
||||||
<el-card class="base-card gutter-bottom" style="height: 350px" shadow="never" :body-style="{padding: '0px'}">
|
<el-card class="base-card" style="height: 350px" shadow="never" :body-style="{padding: '0px'}">
|
||||||
<div slot="header" class="base-card-header">
|
<div slot="header" class="base-card-header">
|
||||||
<span>课程统计(年级)</span>
|
<span>课程统计(年级)</span>
|
||||||
<div class="base-card-operation">
|
<div class="base-card-operation">
|
||||||
@@ -31,8 +31,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="table-box" :span="12">
|
<el-col class="table-box gutter-bottom" :span="12">
|
||||||
<el-card class="base-card gutter-bottom" style="height: 350px" shadow="never" :body-style="{padding: '0px'}">
|
<el-card class="base-card" style="height: 350px" shadow="never" :body-style="{padding: '0px'}">
|
||||||
<div slot="header" class="base-card-header">
|
<div slot="header" class="base-card-header">
|
||||||
<span>课程统计(学科)</span>
|
<span>课程统计(学科)</span>
|
||||||
<div class="base-card-operation">
|
<div class="base-card-operation">
|
||||||
@@ -168,7 +168,7 @@ export default {
|
|||||||
fieldName: 'gradeId'
|
fieldName: 'gradeId'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
courseTransStatsFilter: {
|
courseTransStatsDtoFilter: {
|
||||||
statsDateStart: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[0] : undefined,
|
statsDateStart: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[0] : undefined,
|
||||||
statsDateEnd: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[1] : undefined
|
statsDateEnd: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[1] : undefined
|
||||||
}
|
}
|
||||||
@@ -210,7 +210,7 @@ export default {
|
|||||||
fieldName: 'subjectId'
|
fieldName: 'subjectId'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
courseTransStatsFilter: {
|
courseTransStatsDtoFilter: {
|
||||||
statsDateStart: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[0] : undefined,
|
statsDateStart: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[0] : undefined,
|
||||||
statsDateEnd: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[1] : undefined
|
statsDateEnd: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[1] : undefined
|
||||||
}
|
}
|
||||||
@@ -252,7 +252,7 @@ export default {
|
|||||||
fieldName: 'statsDate'
|
fieldName: 'statsDate'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
courseTransStatsFilter: {
|
courseTransStatsDtoFilter: {
|
||||||
statsDateStart: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[0] : undefined,
|
statsDateStart: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[0] : undefined,
|
||||||
statsDateEnd: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[1] : undefined
|
statsDateEnd: Array.isArray(this.formCourseStats.formFilterCopy.statsDate) ? this.formCourseStats.formFilterCopy.statsDate[1] : undefined
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
studentClass: {
|
studentClassDto: {
|
||||||
className: this.formData.StudentClass.className,
|
className: this.formData.StudentClass.className,
|
||||||
schoolId: this.formData.StudentClass.schoolId,
|
schoolId: this.formData.StudentClass.schoolId,
|
||||||
leaderId: this.formData.StudentClass.leaderId,
|
leaderId: this.formData.StudentClass.leaderId,
|
||||||
@@ -262,7 +262,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
course: {
|
courseDto: {
|
||||||
courseName: this.formData.Course.courseName,
|
courseName: this.formData.Course.courseName,
|
||||||
price: this.formData.Course.price,
|
price: this.formData.Course.price,
|
||||||
description: this.formData.Course.description,
|
description: this.formData.Course.description,
|
||||||
@@ -177,7 +177,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
schoolInfo: {
|
schoolInfoDto: {
|
||||||
schoolName: this.formData.SchoolInfo.schoolName,
|
schoolName: this.formData.SchoolInfo.schoolName,
|
||||||
provinceId: this.formData.SchoolInfo.provinceId,
|
provinceId: this.formData.SchoolInfo.provinceId,
|
||||||
cityId: this.formData.SchoolInfo.cityId
|
cityId: this.formData.SchoolInfo.cityId
|
||||||
@@ -406,7 +406,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
student: {
|
studentDto: {
|
||||||
loginMobile: this.formData.Student.loginMobile,
|
loginMobile: this.formData.Student.loginMobile,
|
||||||
studentName: this.formData.Student.studentName,
|
studentName: this.formData.Student.studentName,
|
||||||
provinceId: this.formData.Student.provinceId,
|
provinceId: this.formData.Student.provinceId,
|
||||||
@@ -240,7 +240,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
studentClass: {
|
studentClassDto: {
|
||||||
classId: this.classId,
|
classId: this.classId,
|
||||||
className: this.formData.StudentClass.className,
|
className: this.formData.StudentClass.className,
|
||||||
schoolId: this.formData.StudentClass.schoolId,
|
schoolId: this.formData.StudentClass.schoolId,
|
||||||
@@ -116,7 +116,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
classCourse: {
|
classCourseDto: {
|
||||||
classId: this.classId,
|
classId: this.classId,
|
||||||
courseId: this.courseId,
|
courseId: this.courseId,
|
||||||
courseOrder: this.formData.StudentClass.course.classCourse.courseOrder
|
courseOrder: this.formData.StudentClass.course.classCourse.courseOrder
|
||||||
@@ -268,7 +268,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
course: {
|
courseDto: {
|
||||||
courseId: this.courseId,
|
courseId: this.courseId,
|
||||||
courseName: this.formData.Course.courseName,
|
courseName: this.formData.Course.courseName,
|
||||||
price: this.formData.Course.price,
|
price: this.formData.Course.price,
|
||||||
@@ -183,7 +183,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
schoolInfo: {
|
schoolInfoDto: {
|
||||||
schoolId: this.schoolId,
|
schoolId: this.schoolId,
|
||||||
schoolName: this.formData.SchoolInfo.schoolName,
|
schoolName: this.formData.SchoolInfo.schoolName,
|
||||||
provinceId: this.formData.SchoolInfo.provinceId,
|
provinceId: this.formData.SchoolInfo.provinceId,
|
||||||
@@ -468,7 +468,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
student: {
|
studentDto: {
|
||||||
studentId: this.studentId,
|
studentId: this.studentId,
|
||||||
loginMobile: this.formData.Student.loginMobile,
|
loginMobile: this.formData.Student.loginMobile,
|
||||||
studentName: this.formData.Student.studentName,
|
studentName: this.formData.Student.studentName,
|
||||||
@@ -78,8 +78,8 @@ import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/
|
|||||||
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
||||||
/* eslint-disable-next-line */
|
/* eslint-disable-next-line */
|
||||||
import { SchoolInfoController, DictionaryController } from '@/api';
|
import { SchoolInfoController, DictionaryController } from '@/api';
|
||||||
import formCreateSchool from '@/views/generated/formCreateSchool';
|
import formEditSchool from '@/views/generated/formEditSchool.vue';
|
||||||
import formEditSchool from '@/views/generated/formEditSchool';
|
import formCreateSchool from '@/views/generated/formCreateSchool.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'formSchool',
|
name: 'formSchool',
|
||||||
@@ -120,7 +120,7 @@ export default {
|
|||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
schoolInfoFilter: {
|
schoolInfoDtoFilter: {
|
||||||
schoolName: this.formSchool.formFilterCopy.schoolName,
|
schoolName: this.formSchool.formFilterCopy.schoolName,
|
||||||
provinceId: this.formSchool.formFilterCopy.provinceId,
|
provinceId: this.formSchool.formFilterCopy.provinceId,
|
||||||
cityId: this.formSchool.formFilterCopy.cityId
|
cityId: this.formSchool.formFilterCopy.cityId
|
||||||
@@ -213,7 +213,7 @@ export default {
|
|||||||
let params = {};
|
let params = {};
|
||||||
|
|
||||||
this.$dialog.show('新建', formCreateSchool, {
|
this.$dialog.show('新建', formCreateSchool, {
|
||||||
area: ['600px']
|
area: '600px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.refreshFormSchool();
|
this.refreshFormSchool();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -227,7 +227,7 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.$dialog.show('编辑', formEditSchool, {
|
this.$dialog.show('编辑', formEditSchool, {
|
||||||
area: ['600px']
|
area: '600px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.formSchool.SchoolInfo.impl.refreshTable();
|
this.formSchool.SchoolInfo.impl.refreshTable();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -156,7 +156,7 @@ export default {
|
|||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
courseFilter: {
|
courseDtoFilter: {
|
||||||
courseName: this.formSetClassCourse.formFilterCopy.courseName,
|
courseName: this.formSetClassCourse.formFilterCopy.courseName,
|
||||||
difficulty: this.formSetClassCourse.formFilterCopy.difficulty,
|
difficulty: this.formSetClassCourse.formFilterCopy.difficulty,
|
||||||
gradeId: this.formSetClassCourse.formFilterCopy.gradeId,
|
gradeId: this.formSetClassCourse.formFilterCopy.gradeId,
|
||||||
@@ -265,7 +265,7 @@ export default {
|
|||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
classId: this.classId,
|
classId: this.classId,
|
||||||
classCourseList: this.tableSelectRowList.map((item) => {
|
classCourseDtoList: this.tableSelectRowList.map((item) => {
|
||||||
return {
|
return {
|
||||||
courseId: item.courseId
|
courseId: item.courseId
|
||||||
};
|
};
|
||||||
@@ -124,7 +124,7 @@ export default {
|
|||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
studentFilter: {
|
studentDtoFilter: {
|
||||||
schoolId: this.formSetClassStudent.formFilterCopy.schoolId
|
schoolId: this.formSetClassStudent.formFilterCopy.schoolId
|
||||||
},
|
},
|
||||||
classId: this.classId
|
classId: this.classId
|
||||||
@@ -191,7 +191,7 @@ export default {
|
|||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
classId: this.classId,
|
classId: this.classId,
|
||||||
classStudentList: this.tableSelectRowList.map((item) => {
|
classStudentDtoList: this.tableSelectRowList.map((item) => {
|
||||||
return {
|
return {
|
||||||
studentId: item.studentId
|
studentId: item.studentId
|
||||||
};
|
};
|
||||||
@@ -103,8 +103,8 @@ import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/
|
|||||||
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
||||||
/* eslint-disable-next-line */
|
/* eslint-disable-next-line */
|
||||||
import { StudentController, DictionaryController } from '@/api';
|
import { StudentController, DictionaryController } from '@/api';
|
||||||
import formEditStudent from '@/views/generated/formEditStudent';
|
import formCreateStudent from '@/views/generated/formCreateStudent.vue';
|
||||||
import formCreateStudent from '@/views/generated/formCreateStudent';
|
import formEditStudent from '@/views/generated/formEditStudent.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'formStudent',
|
name: 'formStudent',
|
||||||
@@ -147,7 +147,7 @@ export default {
|
|||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
studentFilter: {
|
studentDtoFilter: {
|
||||||
gradeId: this.formStudent.formFilterCopy.gradeId,
|
gradeId: this.formStudent.formFilterCopy.gradeId,
|
||||||
schoolId: this.formStudent.formFilterCopy.schoolId,
|
schoolId: this.formStudent.formFilterCopy.schoolId,
|
||||||
registerTimeStart: Array.isArray(this.formStudent.formFilterCopy.registerDate) ? this.formStudent.formFilterCopy.registerDate[0] : undefined,
|
registerTimeStart: Array.isArray(this.formStudent.formFilterCopy.registerDate) ? this.formStudent.formFilterCopy.registerDate[0] : undefined,
|
||||||
@@ -243,7 +243,7 @@ export default {
|
|||||||
let params = {};
|
let params = {};
|
||||||
|
|
||||||
this.$dialog.show('新建', formCreateStudent, {
|
this.$dialog.show('新建', formCreateStudent, {
|
||||||
area: ['800px']
|
area: '800px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.refreshFormStudent();
|
this.refreshFormStudent();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -257,7 +257,7 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.$dialog.show('编辑', formEditStudent, {
|
this.$dialog.show('编辑', formEditStudent, {
|
||||||
area: ['800px']
|
area: '800px'
|
||||||
}, params).then(res => {
|
}, params).then(res => {
|
||||||
this.formStudent.Student.impl.refreshTable();
|
this.formStudent.Student.impl.refreshTable();
|
||||||
}).catch(e => {});
|
}).catch(e => {});
|
||||||
@@ -145,7 +145,7 @@ export default {
|
|||||||
if (params == null) params = {};
|
if (params == null) params = {};
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
studentActionTransFilter: {
|
studentActionTransDtoFilter: {
|
||||||
gradeId: this.formStudentActionDetail.formFilterCopy.gradeId,
|
gradeId: this.formStudentActionDetail.formFilterCopy.gradeId,
|
||||||
actionType: this.formStudentActionDetail.formFilterCopy.actionType,
|
actionType: this.formStudentActionDetail.formFilterCopy.actionType,
|
||||||
createTimeStart: Array.isArray(this.formStudentActionDetail.formFilterCopy.statsDate) ? this.formStudentActionDetail.formFilterCopy.statsDate[0] : undefined,
|
createTimeStart: Array.isArray(this.formStudentActionDetail.formFilterCopy.statsDate) ? this.formStudentActionDetail.formFilterCopy.statsDate[0] : undefined,
|
||||||
@@ -138,7 +138,7 @@ export default {
|
|||||||
fieldName: 'gradeId'
|
fieldName: 'gradeId'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
studentActionStatsFilter: {
|
studentActionStatsDtoFilter: {
|
||||||
statsDateStart: Array.isArray(this.formStudentActionStats.formFilterCopy.statsDate) ? this.formStudentActionStats.formFilterCopy.statsDate[0] : undefined,
|
statsDateStart: Array.isArray(this.formStudentActionStats.formFilterCopy.statsDate) ? this.formStudentActionStats.formFilterCopy.statsDate[0] : undefined,
|
||||||
statsDateEnd: Array.isArray(this.formStudentActionStats.formFilterCopy.statsDate) ? this.formStudentActionStats.formFilterCopy.statsDate[1] : undefined,
|
statsDateEnd: Array.isArray(this.formStudentActionStats.formFilterCopy.statsDate) ? this.formStudentActionStats.formFilterCopy.statsDate[1] : undefined,
|
||||||
gradeId: this.formStudentActionStats.formFilterCopy.gradeId
|
gradeId: this.formStudentActionStats.formFilterCopy.gradeId
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="height: 100%; position: relative;" class="sidebar-bg">
|
<div style="height: 100%; position: relative;" class="sidebar-bg">
|
||||||
<div class="sidebar-title">
|
<div class="sidebar-title">
|
||||||
<img :src="logoImage" style="width: 40px; height: 40px; border-radius: 50%;" />
|
<img :src="logoImage" style="width: 32px; height: 32px; border-radius: 50%;" />
|
||||||
<p class="sidebar-title-text">{{getProjectName()}}</p>
|
<p class="sidebar-title-text">{{getProjectName()}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div style="height: 100%; padding-bottom: 60px;">
|
<div class="left-menu" style="height: 100%; padding-bottom: 60px;">
|
||||||
<el-scrollbar wrap-class="scrollbar_dropdown__wrap" style="height: 100%;">
|
<el-scrollbar wrap-class="scrollbar_dropdown__wrap" style="height: 100%;">
|
||||||
<el-menu ref="menu" mode="vertical" :default-active="getCurrentMenuId" :unique-opened="true" @select="selectMenu"
|
<el-menu ref="menu" mode="vertical" :default-active="getCurrentMenuId" :unique-opened="true" @select="selectMenu"
|
||||||
:active-text-color="activeTextColor" :collapse="getCollapse" >
|
:active-text-color="activeTextColor" :collapse="getCollapse" >
|
||||||
@@ -28,7 +28,7 @@ export default {
|
|||||||
isCollapse: false,
|
isCollapse: false,
|
||||||
collapseLeft: '200px',
|
collapseLeft: '200px',
|
||||||
showCollapseBtn: true,
|
showCollapseBtn: true,
|
||||||
logoImage: require('../../../../assets/img/logo.jpg')
|
logoImage: require('../../../../assets/img/logo.png')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -73,3 +73,10 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.sidebar-title-text {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export default {
|
|||||||
.tags-item {
|
.tags-item {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
border: 1px solid $--border-color-extra-light;
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-show="visible" @click.stop="onMenuMaskClick" @contextmenu="openMaskMenu"
|
<div v-show="visible" @click.stop="onMenuMaskClick" @contextmenu="openMaskMenu"
|
||||||
style="z-index: 99999; position: fixed; background: rgba(0, 0, 0, 0.01); width: 100vw; height: 100vh; top: 0px; left: 0px">
|
style="z-index: 99999; position: fixed; background: rgba(0, 0, 0, 0.01); width: 100vw; height: 100vh; top: 0px; left: 0px">
|
||||||
<ul class="contextmenu" style="z-index: 99999;" :style="{left: left + 'px', top: top + 'px'}">
|
<ul class="contextmenu" style="z-index: 99999; background: white;" :style="{left: left + 'px', top: top + 'px'}">
|
||||||
<li @click="closeSelectTag">关闭</li>
|
<li @click="closeSelectTag">关闭</li>
|
||||||
<li @click="closeOthersTags">关闭其他</li>
|
<li @click="closeOthersTags">关闭其他</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -123,7 +123,6 @@ export default {
|
|||||||
let width = 0;
|
let width = 0;
|
||||||
let childList = this.$children;
|
let childList = this.$children;
|
||||||
for (let i = this.beginPos; i < childList.length; i++) {
|
for (let i = this.beginPos; i < childList.length; i++) {
|
||||||
console.log(childList[i], childList[i].$el.offsetWidth);
|
|
||||||
width += childList[i].$el.offsetWidth;
|
width += childList[i].$el.offsetWidth;
|
||||||
// 间隔距离
|
// 间隔距离
|
||||||
width += 5;
|
width += 5;
|
||||||
@@ -158,9 +157,6 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/assets/style/element-variables.scss';
|
@import '@/assets/style/element-variables.scss';
|
||||||
.tags-panel {
|
.tags-panel {
|
||||||
background: white;
|
|
||||||
box-shadow: 0px 1px 4px rgba(0,21,41,.08);
|
|
||||||
border-top: 1px solid $--border-color-extra-light;
|
|
||||||
}
|
}
|
||||||
.main-panel {
|
.main-panel {
|
||||||
margin: 0px 30px;
|
margin: 0px 30px;
|
||||||
@@ -182,7 +178,6 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
background: white;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
.arrow.left {
|
.arrow.left {
|
||||||
@@ -194,7 +189,6 @@ export default {
|
|||||||
|
|
||||||
.contextmenu {
|
.contextmenu {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
background: #FFF;
|
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-container :style="getMainStyle">
|
<el-container :style="getMainStyle">
|
||||||
<el-aside width='200px' class="sidebar">
|
<el-aside width='250px' class="sidebar">
|
||||||
<side-bar style="overflow: hidden"></side-bar>
|
<side-bar style="overflow: hidden"></side-bar>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
<el-container style="background-color: #F5F8F9">
|
<el-container style="background-color: #F5F8F9">
|
||||||
<el-header class="header">
|
<el-header class="header" style="box-shadow: 0px 2px 4px 0px rgba(206, 206, 206, 0.5);">
|
||||||
<breadcrumb class="breadcrumb-container" />
|
<breadcrumb class="breadcrumb-container" />
|
||||||
<div class="menu-column" v-if="getMultiColumn" style="margin-left: 20px;">
|
<div class="menu-column" v-if="getMultiColumn" style="margin-left: 20px;">
|
||||||
<el-menu mode="horizontal" :default-active="getCurrentColumnId" @select="onColumnChange">
|
<el-menu mode="horizontal" :default-active="getCurrentColumnId" @select="onColumnChange">
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main :style="{'padding-bottom': '15px', 'padding-top': (getMultiTags ? '0px' : '15px')}">
|
<el-main :style="{'padding-bottom': '15px', 'padding-top': (getMultiTags ? '0px' : '15px')}">
|
||||||
<tag-panel v-if="getMultiTags" :tagList="getTagList" style="margin-bottom: 10px;" />
|
<tag-panel v-if="getMultiTags" :tagList="getTagList" style="margin: 0px 20px;" />
|
||||||
<el-scrollbar :style="getContextStyle" wrap-class="scrollbar_dropdown__wrap">
|
<el-scrollbar :style="getContextStyle" wrap-class="scrollbar_dropdown__wrap">
|
||||||
<transition name="fade" mode="out-in">
|
<transition name="fade" mode="out-in">
|
||||||
<keep-alive :include="getCachePages">
|
<keep-alive :include="getCachePages">
|
||||||
@@ -75,7 +75,9 @@ export default {
|
|||||||
clearTimeout(timerID);
|
clearTimeout(timerID);
|
||||||
timerID = setTimeout(() => {
|
timerID = setTimeout(() => {
|
||||||
var h = document.documentElement['clientHeight'];
|
var h = document.documentElement['clientHeight'];
|
||||||
|
var w = document.documentElement['clientWidth'];
|
||||||
_this.setClientHeight(h);
|
_this.setClientHeight(h);
|
||||||
|
_this.setClientWidth(w);
|
||||||
}, 50);
|
}, 50);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -106,6 +108,7 @@ export default {
|
|||||||
},
|
},
|
||||||
...mapMutations([
|
...mapMutations([
|
||||||
'setClientHeight',
|
'setClientHeight',
|
||||||
|
'setClientWidth',
|
||||||
'setCurrentColumnId',
|
'setCurrentColumnId',
|
||||||
'clearCachePage',
|
'clearCachePage',
|
||||||
'clearAllTags',
|
'clearAllTags',
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="login-form">
|
<div class="login-form">
|
||||||
<el-card class="box-card" style="width: 30vw; background-color: rgba(255, 255, 255, 0.9); border-width: 0px;" :body-style="{ padding: '40px' }">
|
<div class="login-box">
|
||||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()">
|
<img :src="bkImg" style="height: 100%; flex-shrink: 0" />
|
||||||
<el-row>
|
<div class="login-input">
|
||||||
<h3 class="title">橙单代码生成器</h3>
|
<img :src="logoImg" />
|
||||||
|
<span class="title">中台化低代码生成工具</span>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" size="medium" ref="dataForm" @keyup.enter.native="dataFormSubmit()" style="width: 356px; margin-top: 4vh;">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item prop="mobilePhone">
|
<el-form-item prop="mobilePhone">
|
||||||
<el-input v-model="dataForm.mobilePhone" style="width: 100%;" placeholder="帐号"></el-input>
|
<el-input v-model="dataForm.mobilePhone" style="width: 100%;" placeholder="帐号"></el-input>
|
||||||
@@ -14,14 +16,14 @@
|
|||||||
<el-input v-model="dataForm.password" style="width: 100%;" type="password" placeholder="密码" show-password></el-input>
|
<el-input v-model="dataForm.password" style="width: 100%;" type="password" placeholder="密码" show-password></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-button class="login-btn-submit" type="primary" style="width: 100%;"
|
<el-button class="login-btn-submit" type="warning" style="width: 100%;"
|
||||||
@click="dataFormSubmit()"
|
@click="dataFormSubmit()"
|
||||||
:loading="isHttpLoading">
|
:loading="isHttpLoading">
|
||||||
登录
|
登录
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-row>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -34,6 +36,8 @@ import { encrypt, setToken } from '@/utils';
|
|||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
bkImg: require('@/assets/img/login.png'),
|
||||||
|
logoImg: require('@/assets/img/login_logo.png'),
|
||||||
dataForm: {
|
dataForm: {
|
||||||
mobilePhone: 'admin',
|
mobilePhone: 'admin',
|
||||||
password: '123456'
|
password: '123456'
|
||||||
@@ -82,21 +86,45 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.login-form {
|
.login-form {
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background: #292D36;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100vh;
|
.login-box {
|
||||||
background: url(~@/assets/img/login_bg.jpg) no-repeat 50%, #000;
|
display: flex;
|
||||||
background-size: 100%;
|
align-items: center;
|
||||||
|
height: 70vh;
|
||||||
|
padding: 7vh;
|
||||||
|
border-radius: 3px;
|
||||||
|
background: white;
|
||||||
|
.login-input {
|
||||||
|
height: 100%;
|
||||||
|
width: 420px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
img {
|
||||||
|
width: 356px;
|
||||||
|
height: 42px;
|
||||||
|
margin-top: 6vh;
|
||||||
|
}
|
||||||
.title {
|
.title {
|
||||||
margin: 0px;
|
color: #232323;
|
||||||
margin-bottom: 20px;
|
font-size: 20px;
|
||||||
color: #707070;
|
margin-top: 2vh;
|
||||||
font-size: 24;
|
}
|
||||||
text-align: center;
|
}
|
||||||
display: block;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login-form .el-input__inner {
|
||||||
|
height: 45px!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-form .el-button {
|
||||||
|
height: 45px!important;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-container>
|
<el-container class="advance-query-form">
|
||||||
<el-aside width="300px">
|
<el-aside width="300px">
|
||||||
<el-card class="base-card" shadow="never" :body-style="{ padding: '0px' }">
|
<el-card class="base-card" shadow="never" :body-style="{ padding: '0px' }" style="border: none;">
|
||||||
<div slot="header" class="base-card-header">
|
<div slot="header" class="base-card-header">
|
||||||
<span>字典列表</span>
|
<span>字典列表</span>
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar :style="{height: (getMainContextHeight - 94) + 'px'}" class="custom-scroll">
|
<el-scrollbar :style="{'height': (getMainContextHeight - 51) + 'px'}" class="custom-scroll">
|
||||||
<el-tree :data="dictList" :props="{label: 'name'}" node-key="variableName" :highlight-current="true"
|
<el-tree :data="dictList" :props="{label: 'name'}" node-key="variableName" :highlight-current="true"
|
||||||
:current-node-key="(dictList[0] || {}).variableName" @node-click="onDictChange">
|
:current-node-key="(dictList[0] || {}).variableName" @node-click="onDictChange">
|
||||||
<div class="module-node-item" slot-scope="{ data }">
|
<div class="module-node-item" slot-scope="{ data }">
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
<el-main style="padding-left: 15px;">
|
<el-main style="margin-left: 15px; background-color: white; padding: 20px;">
|
||||||
<el-form label-width="120px" size="mini" label-position="left" @submit.native.prevent>
|
<el-form label-width="120px" size="mini" label-position="left" @submit.native.prevent>
|
||||||
<filter-box :item-width="350">
|
<filter-box :item-width="350">
|
||||||
<el-form-item v-if="dirtyCount > 0" label="失效缓存数量:">
|
<el-form-item v-if="dirtyCount > 0" label="失效缓存数量:">
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-table :data="getCurrentDictData" size="mini" header-cell-class-name="table-header-gray"
|
<el-table :data="getCurrentDictData" size="mini" header-cell-class-name="table-header-gray"
|
||||||
:row-style="tableRowStyle"
|
:row-style="tableRowStyle"
|
||||||
:height="(getMainContextHeight - 88) + 'px'" row-key="id">
|
:height="(getMainContextHeight - 90) + 'px'" row-key="id">
|
||||||
<el-table-column label="ID" prop="id" />
|
<el-table-column label="ID" prop="id" />
|
||||||
<el-table-column label="字典名称" prop="name">
|
<el-table-column label="字典名称" prop="name">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -95,7 +95,6 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
tableRowStyle ({row, rowIndex}) {
|
tableRowStyle ({row, rowIndex}) {
|
||||||
console.log(row);
|
|
||||||
if (row.dirty) {
|
if (row.dirty) {
|
||||||
return {
|
return {
|
||||||
background: '#FFE1E1'
|
background: '#FFE1E1'
|
||||||
|
|||||||
@@ -70,9 +70,9 @@ export default {
|
|||||||
this.$refs.form.validate((valid) => {
|
this.$refs.form.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
let params = {};
|
let params = {};
|
||||||
params[this.dictInfo.variableName] = {};
|
params[this.dictInfo.variableName + 'Dto'] = {};
|
||||||
params[this.dictInfo.variableName][this.dictInfo.nameKey] = this.formData.name;
|
params[this.dictInfo.variableName + 'Dto'][this.dictInfo.nameKey] = this.formData.name;
|
||||||
params[this.dictInfo.variableName][this.dictInfo.parentKey] = this.formData.parentId;
|
params[this.dictInfo.variableName + 'Dto'][this.dictInfo.parentKey] = this.formData.parentId;
|
||||||
|
|
||||||
if (this.formData.id == null) {
|
if (this.formData.id == null) {
|
||||||
this.dictInfo.addApi(this, params).then(res => {
|
this.dictInfo.addApi(this, params).then(res => {
|
||||||
@@ -82,7 +82,7 @@ export default {
|
|||||||
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
params[this.dictInfo.variableName][this.dictInfo.idKey] = this.formData.id;
|
params[this.dictInfo.variableName + 'Dto'][this.dictInfo.idKey] = this.formData.id;
|
||||||
this.dictInfo.updateApi(this, params).then(res => {
|
this.dictInfo.updateApi(this, params).then(res => {
|
||||||
this.$message.success('操作成功');
|
this.$message.success('操作成功');
|
||||||
this.onCancel(true);
|
this.onCancel(true);
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
let params = {};
|
let params = {};
|
||||||
params.sysMenu = {...this.formData};
|
params.sysMenuDto = {...this.formData};
|
||||||
|
|
||||||
if (this.isEdit) {
|
if (this.isEdit) {
|
||||||
SystemController.updateMenu(this, params).then(res => {
|
SystemController.updateMenu(this, params).then(res => {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="上级菜单">
|
<el-form-item label="上级菜单">
|
||||||
<el-cascader :options="menuTree" v-model="parentMenuPath" :props="menuProps" placeholder="选择父菜单"
|
<el-cascader :options="menuTree" v-model="parentMenuPath" :props="menuProps" placeholder="选择父菜单"
|
||||||
:disabled="!canEditParent" :clearable="true" :change-on-select="true" size="mini"
|
:disabled="!canEditParent || isEdit" :clearable="true" :change-on-select="true" size="mini"
|
||||||
@change="onParentMenuChange" />
|
@change="onParentMenuChange" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -44,7 +44,8 @@
|
|||||||
<el-input size="mini" v-model="permCodeNameFilter" placeholder="输入权限字名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
|
<el-input size="mini" v-model="permCodeNameFilter" placeholder="输入权限字名称过滤" style="width: 250px;" clearable suffix-icon="el-icon-search" />
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar style="height: 210px;" wrap-class="scrollbar_dropdown__wrap">
|
<el-scrollbar style="height: 210px;" wrap-class="scrollbar_dropdown__wrap">
|
||||||
<el-tree ref="permCodeTree" v-show="formData.menuType" :check-strictly="true"
|
<el-tree ref="permCodeTree" :check-strictly="true"
|
||||||
|
v-show="formData.menuType"
|
||||||
:props="treeProps" node-key="permCodeId" :default-expanded-keys="defaultExpandedKeys"
|
:props="treeProps" node-key="permCodeId" :default-expanded-keys="defaultExpandedKeys"
|
||||||
show-checkbox :data="getPermCodeTree" :filter-node-method="filterPermCodeNode"></el-tree>
|
show-checkbox :data="getPermCodeTree" :filter-node-method="filterPermCodeNode"></el-tree>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
@@ -64,9 +65,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
import { treeDataTranslate, findTreeNodePath, findTreeNode, findItemFromList } from '@/utils'
|
import { treeDataTranslate, findTreeNodePath, findTreeNode, findItemFromList } from '@/utils';
|
||||||
import { SystemController } from '@/api'
|
import { SystemController } from '@/api';
|
||||||
import IconSelect from '@/components/IconSelect/index.vue'
|
import IconSelect from '@/components/IconSelect/index.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
@@ -159,12 +160,11 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
let params = {};
|
let params = {};
|
||||||
params.sysMenu = {...this.formData};
|
params.sysMenuDto = {...this.formData};
|
||||||
|
|
||||||
if (this.parentMenuPath.length > 0) {
|
if (this.parentMenuPath.length > 0) {
|
||||||
params.sysMenu.parentId = this.parentMenuPath[this.parentMenuPath.length - 1];
|
params.sysMenuDto.parentId = this.parentMenuPath[this.parentMenuPath.length - 1];
|
||||||
}
|
}
|
||||||
if ([this.SysMenuType.MENU, this.SysMenuType.BUTTON, this.SysMenuType.FRAGMENT].indexOf(params.sysMenu.menuType) !== -1) {
|
if ([this.SysMenuType.MENU, this.SysMenuType.BUTTON, this.SysMenuType.FRAGMENT].indexOf(params.sysMenuDto.menuType) !== -1) {
|
||||||
let tempList = this.$refs.permCodeTree.getHalfCheckedKeys();
|
let tempList = this.$refs.permCodeTree.getHalfCheckedKeys();
|
||||||
tempList = tempList.concat(this.$refs.permCodeTree.getCheckedKeys());
|
tempList = tempList.concat(this.$refs.permCodeTree.getCheckedKeys());
|
||||||
params.permCodeIdListString = tempList.join(',');
|
params.permCodeIdListString = tempList.join(',');
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ export default {
|
|||||||
this.$refs.formCreatePerm.validate((valid) => {
|
this.$refs.formCreatePerm.validate((valid) => {
|
||||||
if (!valid) return;
|
if (!valid) return;
|
||||||
let params = {
|
let params = {
|
||||||
sysPerm: {
|
sysPermDto: {
|
||||||
permId: this.permId,
|
permId: this.permId,
|
||||||
showOrder: this.formData.SysPerm.showOrder,
|
showOrder: this.formData.SysPerm.showOrder,
|
||||||
moduleId: Array.isArray(this.formData.SysPerm.moduleId) ? this.formData.SysPerm.moduleId[this.formData.SysPerm.moduleId.length - 1] : undefined,
|
moduleId: Array.isArray(this.formData.SysPerm.moduleId) ? this.formData.SysPerm.moduleId[this.formData.SysPerm.moduleId.length - 1] : undefined,
|
||||||
|
|||||||
@@ -145,14 +145,14 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
let selectedPermList = this.getTreeLeafKeys();
|
let selectedPermList = this.getTreeLeafKeys();
|
||||||
let params = {};
|
let params = {};
|
||||||
params.sysPermCode = {...this.formData};
|
params.sysPermCodeDto = {...this.formData};
|
||||||
delete params.sysPermCode.children;
|
delete params.sysPermCodeDto.children;
|
||||||
params.sysPermCode.permCodeType = (this.permCodeType == null) ? this.SysPermCodeType.FORM : this.permCodeType;
|
params.sysPermCodeDto.permCodeType = (this.permCodeType == null) ? this.SysPermCodeType.FORM : this.permCodeType;
|
||||||
if (this.parentPermCodePath.length > 0) {
|
if (this.parentPermCodePath.length > 0) {
|
||||||
params.sysPermCode.parentId = this.parentPermCodePath[this.parentPermCodePath.length - 1];
|
params.sysPermCodeDto.parentId = this.parentPermCodePath[this.parentPermCodePath.length - 1];
|
||||||
}
|
}
|
||||||
params.permIdListString = selectedPermList.join(',');
|
params.permIdListString = selectedPermList.join(',');
|
||||||
if (params.sysPermCode.permCodeId != null) {
|
if (params.sysPermCodeDto.permCodeId != null) {
|
||||||
SystemController.updatePermCode(this, params).then(res => {
|
SystemController.updatePermCode(this, params).then(res => {
|
||||||
resolve(res);
|
resolve(res);
|
||||||
this.$message.success('编辑成功');
|
this.$message.success('编辑成功');
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ export default {
|
|||||||
this.$refs.formCreatePermModule.validate((valid) => {
|
this.$refs.formCreatePermModule.validate((valid) => {
|
||||||
if (!valid) return;
|
if (!valid) return;
|
||||||
let params = {
|
let params = {
|
||||||
sysPermModule: {
|
sysPermModuleDto: {
|
||||||
moduleId: this.moduleId,
|
moduleId: this.moduleId,
|
||||||
moduleName: this.formData.SysPermModule.moduleName,
|
moduleName: this.formData.SysPermModule.moduleName,
|
||||||
showOrder: this.formData.SysPermModule.showOrder,
|
showOrder: this.formData.SysPermModule.showOrder,
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
sysRole: {...this.formData}
|
sysRoleDto: {...this.formData}
|
||||||
}
|
}
|
||||||
params.menuIdListString = selectMenu.join(',');
|
params.menuIdListString = selectMenu.join(',');
|
||||||
if (this.isEdit) {
|
if (this.isEdit) {
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let params = {
|
let params = {
|
||||||
sysUser: {
|
sysUserDto: {
|
||||||
userId: this.formData.userId,
|
userId: this.formData.userId,
|
||||||
loginName: this.formData.loginName,
|
loginName: this.formData.loginName,
|
||||||
password: this.formData.password,
|
password: this.formData.password,
|
||||||
@@ -153,7 +153,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
if (this.rowData != null) {
|
if (this.rowData != null) {
|
||||||
this.formData = {...this.rowData, dataPermIdList: [], roleIdList: []};
|
this.formData = {...this.rowData, roleIdList: []};
|
||||||
if (Array.isArray(this.formData.sysUserRoleList)) {
|
if (Array.isArray(this.formData.sysUserRoleList)) {
|
||||||
this.formData.roleIdList = this.formData.sysUserRoleList.map(item => item.roleId);
|
this.formData.roleIdList = this.formData.sysUserRoleList.map(item => item.roleId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ export default {
|
|||||||
},
|
},
|
||||||
loadSysUserData (params) {
|
loadSysUserData (params) {
|
||||||
params.roleId = this.roleId;
|
params.roleId = this.roleId;
|
||||||
params.sysUserFilter = {
|
params.sysUserDtoFilter = {
|
||||||
loginName: this.formSysUser.formFilterCopy.sysUserLoginName,
|
loginName: this.formSysUser.formFilterCopy.sysUserLoginName,
|
||||||
userStatus: this.formSysUser.formFilterCopy.sysUserStatus
|
userStatus: this.formSysUser.formFilterCopy.sysUserStatus
|
||||||
}
|
}
|
||||||
|
|||||||
146
orange-demo-multi-web/src/views/upms/formSysLoginUser/index.vue
Normal file
146
orange-demo-multi-web/src/views/upms/formSysLoginUser/index.vue
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
<template>
|
||||||
|
<div style="position: relative;">
|
||||||
|
<el-form label-width="100px" size="mini" label-position="right" @submit.native.prevent>
|
||||||
|
<filter-box :item-width="350">
|
||||||
|
<el-form-item label="登录名称">
|
||||||
|
<el-input class="filter-item" v-model="formSysLoginUser.formFilter.loginName" :clearable="true" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormOperationType(true)">查询</el-button>
|
||||||
|
</filter-box>
|
||||||
|
</el-form>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-table ref="teacher" :data="formSysLoginUser.loginUser.impl.dataList" size="mini" @sort-change="formSysLoginUser.loginUser.impl.onSortChange"
|
||||||
|
header-cell-class-name="table-header-gray">
|
||||||
|
<el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="formSysLoginUser.loginUser.impl.getTableIndex" />
|
||||||
|
<el-table-column label="登录名称" prop="loginName" />
|
||||||
|
<el-table-column label="用户昵称" prop="showName" />
|
||||||
|
<el-table-column label="登录 IP" prop="loginIp" />
|
||||||
|
<el-table-column label="登录时间" prop="loginTime" />
|
||||||
|
<el-table-column label="操作" fixed="right" width="150px" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click.stop="onDeleteLoginUserClick(scope.row)" type="text" size="mini">
|
||||||
|
强退
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-row type="flex" justify="end" style="margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
:total="formSysLoginUser.loginUser.impl.totalCount"
|
||||||
|
:current-page="formSysLoginUser.loginUser.impl.currentPage"
|
||||||
|
:page-size="formSysLoginUser.loginUser.impl.pageSize"
|
||||||
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
|
layout="total, prev, pager, next, sizes"
|
||||||
|
@current-change="formSysLoginUser.loginUser.impl.onCurrentPageChange"
|
||||||
|
@size-change="formSysLoginUser.loginUser.impl.onPageSizeChange">
|
||||||
|
</el-pagination>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
/* eslint-disable-next-line */
|
||||||
|
import { TableWidget } from '@/utils/widget.js';
|
||||||
|
/* eslint-disable-next-line */
|
||||||
|
import { uploadMixin, statsDateRangeMixin, cachePageMixin } from '@/core/mixins';
|
||||||
|
/* eslint-disable-next-line */
|
||||||
|
import { SystemController } from '@/api';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'formSysLoginUser',
|
||||||
|
mixins: [uploadMixin, statsDateRangeMixin, cachePageMixin],
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
formSysLoginUser: {
|
||||||
|
formFilter: {
|
||||||
|
loginName: undefined
|
||||||
|
},
|
||||||
|
formFilterCopy: {
|
||||||
|
loginName: undefined
|
||||||
|
},
|
||||||
|
loginUser: {
|
||||||
|
impl: new TableWidget(this.loadLoginUserWidgetData, this.loadLoginUserVerify, true, false)
|
||||||
|
},
|
||||||
|
isInit: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 登录用户数据数据获取函数,返回Promise
|
||||||
|
*/
|
||||||
|
loadLoginUserWidgetData (params) {
|
||||||
|
if (params == null) params = {};
|
||||||
|
params = {
|
||||||
|
...params,
|
||||||
|
loginName: this.formSysLoginUser.formFilterCopy.loginName
|
||||||
|
}
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
SystemController.listSysLoginUser(this, params).then(res => {
|
||||||
|
console.log(res);
|
||||||
|
resolve({
|
||||||
|
dataList: res.data.dataList,
|
||||||
|
totalCount: res.data.totalCount
|
||||||
|
});
|
||||||
|
}).catch(e => {
|
||||||
|
reject(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 登录用户数据获取检测函数,返回true正常获取数据,返回false停止获取数据
|
||||||
|
*/
|
||||||
|
loadLoginUserVerify () {
|
||||||
|
this.formSysLoginUser.formFilterCopy = { ...this.formSysLoginUser.formFilter };
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 强制踢出登录用户
|
||||||
|
*/
|
||||||
|
onDeleteLoginUserClick (row) {
|
||||||
|
this.$confirm('是否删除此用户?').then(res => {
|
||||||
|
SystemController.deleteSysLoginUser(this, {
|
||||||
|
sessionId: row.sessionId
|
||||||
|
}).then(res => {
|
||||||
|
this.$message.success('删除成功');
|
||||||
|
this.formSysLoginUser.loginUser.impl.refreshTable();
|
||||||
|
}).catch(e => {});
|
||||||
|
}).catch(e => {});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 更新操作日志
|
||||||
|
*/
|
||||||
|
refreshFormOperationType (reloadData = false) {
|
||||||
|
if (reloadData) {
|
||||||
|
this.formSysLoginUser.loginUser.impl.refreshTable(true, 1);
|
||||||
|
} else {
|
||||||
|
this.formSysLoginUser.loginUser.impl.refreshTable();
|
||||||
|
}
|
||||||
|
if (!this.formSysLoginUser.isInit) {
|
||||||
|
// 初始化下拉数据
|
||||||
|
}
|
||||||
|
this.formSysLoginUser.isInit = true;
|
||||||
|
},
|
||||||
|
onResume () {
|
||||||
|
this.refreshFormOperationType();
|
||||||
|
},
|
||||||
|
initFormData () {
|
||||||
|
},
|
||||||
|
formInit () {
|
||||||
|
this.refreshFormOperationType();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
// 初始化页面数据
|
||||||
|
this.formInit();
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-container>
|
<el-container class="advance-query-form">
|
||||||
<el-aside width="300px">
|
<el-aside width="300px">
|
||||||
<el-card class="base-card" shadow="never" :body-style="{ padding: '0px' }">
|
<el-card class="base-card" shadow="never" :body-style="{ padding: '0px' }" style="border: none;">
|
||||||
<div slot="header" class="base-card-header">
|
<div slot="header" class="base-card-header">
|
||||||
<span>权限模块</span>
|
<span style="font-size: 16px; font-weight: 500; color: #282828;">权限模块</span>
|
||||||
<div class="base-card-operation">
|
<div class="base-card-operation">
|
||||||
<el-button type="text"
|
<el-button type="text"
|
||||||
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:addPermModule')"
|
:disabled="!checkPermCodeExist('formSysPerm:fragmentSysPerm:addPermModule')"
|
||||||
icon="el-icon-circle-plus-outline" @click="onCreatePermModuleClick()" />
|
icon="el-icon-circle-plus-outline" @click="onCreatePermModuleClick()" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar :style="{height: (getMainContextHeight - 94) + 'px'}" class="custom-scroll">
|
<el-scrollbar :style="{height: (getMainContextHeight - 56) + 'px'}" class="custom-scroll">
|
||||||
<el-tree ref="moduleTree" :data="getModuleTreeData" :props="{label: 'moduleName'}"
|
<el-tree ref="moduleTree" :data="getModuleTreeData" :props="{label: 'moduleName'}"
|
||||||
node-key="moduleId" @node-click="onModuleNodeClick" :default-expanded-keys="formPerm.expandedModule"
|
node-key="moduleId" @node-click="onModuleNodeClick" :default-expanded-keys="formPerm.expandedModule"
|
||||||
:highlight-current="true" @node-expand="onModuleNodeExpand" @node-collapse="onModuleNodeCollapse">
|
:highlight-current="true" @node-expand="onModuleNodeExpand" @node-collapse="onModuleNodeCollapse">
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
<el-main style="padding-left: 15px;">
|
<el-main style="margin-left: 15px; background-color: white; padding: 20px;">
|
||||||
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
|
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
|
||||||
<filter-box :item-width="350">
|
<filter-box :item-width="350">
|
||||||
<el-form-item label="关联URL">
|
<el-form-item label="关联URL">
|
||||||
@@ -139,7 +139,7 @@ export default {
|
|||||||
* 权限数据获取函数,返回Primise
|
* 权限数据获取函数,返回Primise
|
||||||
*/
|
*/
|
||||||
loadSysPermData (params) {
|
loadSysPermData (params) {
|
||||||
params.sysPermFilter = {
|
params.sysPermDtoFilter = {
|
||||||
url: this.formPerm.formFilterCopy.url === '' ? undefined : this.formPerm.formFilterCopy.url,
|
url: this.formPerm.formFilterCopy.url === '' ? undefined : this.formPerm.formFilterCopy.url,
|
||||||
moduleId: this.formPerm.formFilterCopy.permModuleId === '' ? undefined : this.formPerm.formFilterCopy.permModuleId
|
moduleId: this.formPerm.formFilterCopy.permModuleId === '' ? undefined : this.formPerm.formFilterCopy.permModuleId
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ export default {
|
|||||||
* 用户角色数据获取函数,返回Primise
|
* 用户角色数据获取函数,返回Primise
|
||||||
*/
|
*/
|
||||||
loadSysRoleData (params) {
|
loadSysRoleData (params) {
|
||||||
params.sysRoleFilter = {
|
params.sysRoleDtoFilter = {
|
||||||
roleName: this.fragmentSysRole.formFilterCopy.sysRoleName
|
roleName: this.fragmentSysRole.formFilterCopy.sysRoleName
|
||||||
}
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@@ -382,7 +382,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
params.roleId = this.fragmentSysRoleUser.formFilter.sysRoleId;
|
params.roleId = this.fragmentSysRoleUser.formFilter.sysRoleId;
|
||||||
params.sysUserFilter = {
|
params.sysUserDtoFilter = {
|
||||||
loginName: this.fragmentSysRoleUser.formFilter.sysUserLoginName
|
loginName: this.fragmentSysRoleUser.formFilter.sysUserLoginName
|
||||||
}
|
}
|
||||||
SystemController.listRoleUser(this, params).then(res => {
|
SystemController.listRoleUser(this, params).then(res => {
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ export default {
|
|||||||
* 用户管理数据获取函数,返回Primise
|
* 用户管理数据获取函数,返回Primise
|
||||||
*/
|
*/
|
||||||
loadSysUserData (params) {
|
loadSysUserData (params) {
|
||||||
params.sysUserFilter = {
|
params.sysUserDtoFilter = {
|
||||||
loginName: this.formSysUser.formFilterCopy.sysUserLoginName,
|
loginName: this.formSysUser.formFilterCopy.sysUserLoginName,
|
||||||
userStatus: this.formSysUser.formFilterCopy.sysUserStatus
|
userStatus: this.formSysUser.formFilterCopy.sysUserStatus
|
||||||
}
|
}
|
||||||
|
|||||||
1
orange-demo-single-web/.eslintignore
Normal file
1
orange-demo-single-web/.eslintignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/src/views/workflow/package/*
|
||||||
@@ -11,7 +11,7 @@ module.exports = {
|
|||||||
parser: 'babel-eslint'
|
parser: 'babel-eslint'
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
'no-console': 'off',
|
||||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||||
'semi': ['off', 'always'],
|
'semi': ['off', 'always'],
|
||||||
'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }],
|
'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }],
|
||||||
@@ -23,8 +23,7 @@ module.exports = {
|
|||||||
'lines-between-class-members': ['off'],
|
'lines-between-class-members': ['off'],
|
||||||
// 'no-undef': ['off', 'always'],
|
// 'no-undef': ['off', 'always'],
|
||||||
// 'no-unused-vars': ['off', 'always'],
|
// 'no-unused-vars': ['off', 'always'],
|
||||||
'no-new-func': ['off', 'always'],
|
'no-new-func': ['off', 'always']
|
||||||
'no-console': ['off']
|
|
||||||
},
|
},
|
||||||
overrides: [
|
overrides: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,7 +26,13 @@
|
|||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-router": "^3.1.5",
|
"vue-router": "^3.1.5",
|
||||||
"vuex": "^3.1.2",
|
"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": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "~4.2.0",
|
"@vue/cli-plugin-babel": "~4.2.0",
|
||||||
@@ -39,6 +45,9 @@
|
|||||||
"@vue/eslint-config-standard": "^5.1.0",
|
"@vue/eslint-config-standard": "^5.1.0",
|
||||||
"@vue/test-utils": "1.0.0-beta.31",
|
"@vue/test-utils": "1.0.0-beta.31",
|
||||||
"babel-eslint": "^10.0.3",
|
"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": "^6.7.2",
|
||||||
"eslint-plugin-import": "^2.20.1",
|
"eslint-plugin-import": "^2.20.1",
|
||||||
"eslint-plugin-node": "^11.0.0",
|
"eslint-plugin-node": "^11.0.0",
|
||||||
|
|||||||
@@ -4,12 +4,11 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
<title>橙单代码生成平台</title>
|
||||||
<title>橙单工程</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body class="demo-project">
|
<body class="orange-project">
|
||||||
<noscript>
|
<noscript>
|
||||||
<strong>We're sorry but 橙单工程 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
<strong>We're sorry but 橙单代码生成平台 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<!-- built files will be auto injected -->
|
<!-- built files will be auto injected -->
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default class DictionaryController {
|
|||||||
static dictAreaCode (sender, params, axiosOption, httpOption) {
|
static dictAreaCode (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/app/areaCode/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
sender.doUrl('/admin/app/areaCode/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
||||||
let dictData = new staticDict.DictionaryBase();
|
let dictData = new staticDict.DictionaryBase('行政区划');
|
||||||
dictData.setList(res.data);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -70,7 +70,7 @@ export default class DictionaryController {
|
|||||||
static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) {
|
static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/app/areaCode/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => {
|
sender.doUrl('/admin/app/areaCode/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => {
|
||||||
let dictData = new staticDict.DictionaryBase();
|
let dictData = new staticDict.DictionaryBase('行政区划');
|
||||||
dictData.setList(res.data);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -93,7 +93,7 @@ export default class DictionaryController {
|
|||||||
static dictCourse (sender, params, axiosOption, httpOption) {
|
static dictCourse (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/app/course/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
sender.doUrl('/admin/app/course/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
||||||
let dictData = new staticDict.DictionaryBase();
|
let dictData = new staticDict.DictionaryBase('课程');
|
||||||
dictData.setList(res.data);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -104,7 +104,7 @@ export default class DictionaryController {
|
|||||||
static dictGrade (sender, params, axiosOption, httpOption) {
|
static dictGrade (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/app/grade/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
sender.doUrl('/admin/app/grade/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
||||||
let dictData = new staticDict.DictionaryBase();
|
let dictData = new staticDict.DictionaryBase('年级');
|
||||||
dictData.setList(res.data);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -136,7 +136,7 @@ export default class DictionaryController {
|
|||||||
static dictSchoolInfo (sender, params, axiosOption, httpOption) {
|
static dictSchoolInfo (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/app/schoolInfo/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
sender.doUrl('/admin/app/schoolInfo/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
||||||
let dictData = new staticDict.DictionaryBase();
|
let dictData = new staticDict.DictionaryBase('校区');
|
||||||
dictData.setList(res.data);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
@@ -147,7 +147,7 @@ export default class DictionaryController {
|
|||||||
static dictStudent (sender, params, axiosOption, httpOption) {
|
static dictStudent (sender, params, axiosOption, httpOption) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
sender.doUrl('/admin/app/student/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
sender.doUrl('/admin/app/student/listDict', 'get', params, axiosOption, httpOption).then(res => {
|
||||||
let dictData = new staticDict.DictionaryBase();
|
let dictData = new staticDict.DictionaryBase('学生');
|
||||||
dictData.setList(res.data);
|
dictData.setList(res.data);
|
||||||
resolve(dictData);
|
resolve(dictData);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
export default class SysUserController {
|
export default class SysUserController {
|
||||||
static list (sender, params, axiosOption, httpOption) {
|
static list (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('/admin/upms/sysUser/list', 'post', params, axiosOption, httpOption);
|
return sender.doUrl('admin/upms/sysUser/list', 'post', params, axiosOption, httpOption);
|
||||||
}
|
}
|
||||||
|
|
||||||
static view (sender, params, axiosOption, httpOption) {
|
static view (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('/admin/upms/sysUser/view', 'get', params, axiosOption, httpOption);
|
return sender.doUrl('admin/upms/sysUser/view', 'get', params, axiosOption, httpOption);
|
||||||
}
|
}
|
||||||
|
|
||||||
static export (sender, params, fileName) {
|
static export (sender, params, fileName) {
|
||||||
return sender.download('/admin/upms/sysUser/export', params, fileName);
|
return sender.download('admin/upms/sysUser/export', params, fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
static add (sender, params, axiosOption, httpOption) {
|
static add (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('/admin/upms/sysUser/add', 'post', params, axiosOption, httpOption);
|
return sender.doUrl('admin/upms/sysUser/add', 'post', params, axiosOption, httpOption);
|
||||||
}
|
}
|
||||||
|
|
||||||
static update (sender, params, axiosOption, httpOption) {
|
static update (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('/admin/upms/sysUser/update', 'post', params, axiosOption, httpOption);
|
return sender.doUrl('admin/upms/sysUser/update', 'post', params, axiosOption, httpOption);
|
||||||
}
|
}
|
||||||
|
|
||||||
static delete (sender, params, axiosOption, httpOption) {
|
static delete (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('/admin/upms/sysUser/delete', 'post', params, axiosOption, httpOption);
|
return sender.doUrl('admin/upms/sysUser/delete', 'post', params, axiosOption, httpOption);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -225,4 +225,12 @@ export default class SystemController {
|
|||||||
static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) {
|
static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) {
|
||||||
return sender.doUrl('admin/upms/sysPerm/listSysMenuWithDetail', 'get', 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import SystemController from './Controller/SystemController'
|
import SystemController from './Controller/SystemController'
|
||||||
import DictionaryController from './Controller/DictionaryController'
|
import DictionaryController from './Controller/DictionaryController'
|
||||||
import CourseController from './Controller/CourseController.js'
|
import CourseController from './Controller/CourseController.js';
|
||||||
import SchoolInfoController from './Controller/SchoolInfoController.js'
|
import SchoolInfoController from './Controller/SchoolInfoController.js';
|
||||||
import StudentController from './Controller/StudentController.js'
|
import StudentController from './Controller/StudentController.js';
|
||||||
import SysUserController from './Controller/SysUserController.js'
|
import SysUserController from './Controller/SysUserController.js';
|
||||||
import StudentClassController from './Controller/StudentClassController.js'
|
import StudentClassController from './Controller/StudentClassController.js';
|
||||||
import CourseTransStatsController from './Controller/CourseTransStatsController.js'
|
import CourseTransStatsController from './Controller/CourseTransStatsController.js';
|
||||||
import StudentActionStatsController from './Controller/StudentActionStatsController.js'
|
import StudentActionStatsController from './Controller/StudentActionStatsController.js';
|
||||||
import StudentActionTransController from './Controller/StudentActionTransController.js'
|
import StudentActionTransController from './Controller/StudentActionTransController.js';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
SystemController,
|
SystemController,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ $--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default;
|
|||||||
/* Color
|
/* Color
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
/// color|1|Brand Color|0
|
/// color|1|Brand Color|0
|
||||||
$--color-primary: #FFA424 !default;
|
$--color-primary: #FCA834 !default;
|
||||||
/// color|1|Background Color|4
|
/// color|1|Background Color|4
|
||||||
$--color-white: #FFFFFF !default;
|
$--color-white: #FFFFFF !default;
|
||||||
/// color|1|Background Color|4
|
/// 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-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
|
||||||
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
|
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
|
||||||
/// color|1|Functional Color|1
|
/// color|1|Functional Color|1
|
||||||
$--color-success: #67C23A !default;
|
$--color-success: #6DC741 !default;
|
||||||
/// color|1|Functional Color|1
|
/// color|1|Functional Color|1
|
||||||
$--color-warning: #E6A23C !default;
|
$--color-warning: #E6A23C !default;
|
||||||
/// color|1|Functional Color|1
|
/// color|1|Functional Color|1
|
||||||
@@ -72,11 +72,10 @@ $--background-color-base: #F5F7FA !default;
|
|||||||
// color for left sidebar title
|
// color for left sidebar title
|
||||||
$--color-sidebar-title-text: #FFFFFF;
|
$--color-sidebar-title-text: #FFFFFF;
|
||||||
// color for left sidebar background
|
// color for left sidebar background
|
||||||
$--color-menu-background: #FF7746;
|
$--color-menu-background: #042345;
|
||||||
$--color-menu-item-active-text-color: #FFFFFF;
|
$--color-menu-item-active-text-color: #FFFFFF;
|
||||||
$--color-menu-item-active-background: rgba(255, 255, 255, 0.01);
|
$--color-menu-item-active-background: $--color-primary;
|
||||||
$--color-menu-item-active-background-to: rgba(255, 255, 255, 0.3);
|
$--color-submenu-background: #021F3B;
|
||||||
|
|
||||||
/* Link
|
/* Link
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
$--link-color: $--color-primary-light-2 !default;
|
$--link-color: $--color-primary-light-2 !default;
|
||||||
@@ -738,7 +737,7 @@ $--tree-expand-icon-color: $--color-text-placeholder !default;
|
|||||||
/* Dropdown
|
/* Dropdown
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
$--dropdown-menu-box-shadow: $--box-shadow-light !default;
|
$--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;
|
$--dropdown-menuItem-hover-color: $--color-white !default;
|
||||||
|
|
||||||
/* Badge
|
/* Badge
|
||||||
|
|||||||
BIN
orange-demo-single-web/src/assets/img/login.png
Normal file
BIN
orange-demo-single-web/src/assets/img/login.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 712 KiB |
BIN
orange-demo-single-web/src/assets/img/login_logo.png
Normal file
BIN
orange-demo-single-web/src/assets/img/login_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
orange-demo-single-web/src/assets/img/logo.png
Normal file
BIN
orange-demo-single-web/src/assets/img/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
@@ -7,7 +7,7 @@
|
|||||||
"theme-blue": "et -c element-variables-blue.scss"
|
"theme-blue": "et -c element-variables-blue.scss"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"element-theme": "^2.0.1",
|
"element-theme": "2.0.1",
|
||||||
"element-theme-chalk": "^2.14.1"
|
"element-theme-chalk": "2.14.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,8 +51,25 @@ body .layer-dialog {
|
|||||||
body .layer-dialog .layui-layer-content {
|
body .layer-dialog .layui-layer-content {
|
||||||
padding: $box-padding-size;
|
padding: $box-padding-size;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 左树右表弹窗样式
|
||||||
|
*/
|
||||||
|
body .layer-advance-dialog {
|
||||||
|
border-radius: 4px;
|
||||||
|
border:1px solid #01000000;
|
||||||
|
background-color: #F8F8F8;
|
||||||
|
}
|
||||||
|
|
||||||
.demo-project {
|
body .layer-advance-dialog .layui-layer-title{
|
||||||
|
border-radius: 4px 4px 0px 0px;
|
||||||
|
border:1px solid #01000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
body .layer-advance-dialog .layui-layer-content {
|
||||||
|
padding: 5px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.orange-project {
|
||||||
.el-main {
|
.el-main {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
@@ -98,18 +115,18 @@ body .layer-dialog .layui-layer-content {
|
|||||||
|
|
||||||
.page-close-box {
|
.page-close-box {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: #13ce66;
|
background: #0092FF;
|
||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
height: 60px;
|
height: 50px;
|
||||||
width: 60px;
|
width: 50px;
|
||||||
right: -30px;
|
right: -25px;
|
||||||
top:-30px;
|
top:-25px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
.el-button {
|
.el-button {
|
||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
color: white;
|
color: white;
|
||||||
margin-top: 30px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,6 +282,12 @@ body .layer-dialog .layui-layer-content {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if global-variable-exists(--color-submenu-background) {
|
||||||
|
.left-menu .el-submenu .el-menu {
|
||||||
|
background-color: $--color-submenu-background;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多tab页表单,tab样式
|
* 多tab页表单,tab样式
|
||||||
**/
|
**/
|
||||||
@@ -278,6 +301,45 @@ body .layer-dialog .layui-layer-content {
|
|||||||
background-color: $tab-header-background-color;
|
background-color: $tab-header-background-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作按钮颜色
|
||||||
|
**/
|
||||||
|
.table-btn.delete {
|
||||||
|
color: #F56C6C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.delete:hover {
|
||||||
|
color: #F78989;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.delete:disabled {
|
||||||
|
color: #DCDFE6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success {
|
||||||
|
color: #67C23A;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success:hover {
|
||||||
|
color: #85CE61;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success:disabled {
|
||||||
|
color: #DCDFE6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.warning {
|
||||||
|
color: #E6A23C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.warning:hover {
|
||||||
|
color: #EBB563;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-btn.success:disabled {
|
||||||
|
color: #DCDFE6;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图片上传以及显示样式
|
* 图片上传以及显示样式
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -110,3 +110,8 @@
|
|||||||
.form-single-fragment {
|
.form-single-fragment {
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.advance-query-form {
|
||||||
|
padding: 0px!important;
|
||||||
|
background-color: transparent!important;;
|
||||||
|
}
|
||||||
@@ -1705,7 +1705,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -1750,9 +1750,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
|
|||||||
@@ -3282,7 +3282,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -3327,9 +3327,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
@@ -3454,7 +3454,7 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
.el-cascader__suggestion-item {
|
.el-cascader__suggestion-item {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@@ -3474,7 +3474,7 @@
|
|||||||
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
||||||
background: #F5F7FA; }
|
background: #F5F7FA; }
|
||||||
.el-cascader__suggestion-item.is-checked {
|
.el-cascader__suggestion-item.is-checked {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader__suggestion-item > span {
|
.el-cascader__suggestion-item > span {
|
||||||
margin-right: 10px; }
|
margin-right: 10px; }
|
||||||
@@ -3489,7 +3489,7 @@
|
|||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
margin: 2px 0 2px 15px;
|
margin: 2px 0 2px 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
|
|||||||
@@ -46757,7 +46757,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -46802,9 +46802,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
@@ -46929,7 +46929,7 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
.el-cascader__suggestion-item {
|
.el-cascader__suggestion-item {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@@ -46949,7 +46949,7 @@
|
|||||||
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
.el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus {
|
||||||
background: #F5F7FA; }
|
background: #F5F7FA; }
|
||||||
.el-cascader__suggestion-item.is-checked {
|
.el-cascader__suggestion-item.is-checked {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader__suggestion-item > span {
|
.el-cascader__suggestion-item > span {
|
||||||
margin-right: 10px; }
|
margin-right: 10px; }
|
||||||
@@ -46964,7 +46964,7 @@
|
|||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
margin: 2px 0 2px 15px;
|
margin: 2px 0 2px 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
@@ -55916,7 +55916,7 @@
|
|||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #FFFFFF;
|
color: #606266;
|
||||||
border-right: solid 1px #E4E7ED; }
|
border-right: solid 1px #E4E7ED; }
|
||||||
.el-cascader-menu:last-child {
|
.el-cascader-menu:last-child {
|
||||||
border-right: none; }
|
border-right: none; }
|
||||||
@@ -55961,9 +55961,9 @@
|
|||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
outline: none; }
|
outline: none; }
|
||||||
.el-cascader-node.is-selectable.in-active-path {
|
.el-cascader-node.is-selectable.in-active-path {
|
||||||
color: #FFFFFF; }
|
color: #606266; }
|
||||||
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
.el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active {
|
||||||
color: #FFFFFF;
|
color: #409EFF;
|
||||||
font-weight: bold; }
|
font-weight: bold; }
|
||||||
.el-cascader-node:not(.is-disabled) {
|
.el-cascader-node:not(.is-disabled) {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ class Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let observer = {
|
let observer = {
|
||||||
cancel: function (isSuccess = false) {
|
cancel: function (isSuccess = false, data = undefined) {
|
||||||
layer.close(this.index);
|
layer.close(this.index);
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
resolve();
|
resolve(data);
|
||||||
} else {
|
} else {
|
||||||
reject();
|
reject();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ export default {
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
this.editor.customConfig.linkImgCallback = (url) => {
|
this.editor.customConfig.linkImgCallback = (url) => {
|
||||||
console.log(url) // url 即插入图片的地址
|
|
||||||
}
|
}
|
||||||
this.editor.customConfig.linkCheck = (text, link) => {
|
this.editor.customConfig.linkCheck = (text, link) => {
|
||||||
return true // 返回 true 表示校验成功
|
return true // 返回 true 表示校验成功
|
||||||
@@ -112,7 +111,6 @@ export default {
|
|||||||
}
|
}
|
||||||
// 失去焦点后更新数据
|
// 失去焦点后更新数据
|
||||||
this.editor.customConfig.onblur = (html) => {
|
this.editor.customConfig.onblur = (html) => {
|
||||||
console.log(html)
|
|
||||||
this.$emit('input', html);
|
this.$emit('input', html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
baseUrl: 'http://localhost:8082/',
|
baseUrl: 'http://localhost:8082/',
|
||||||
projectName: '橙单项目'
|
projectName: '橙单代码生成平台'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,14 @@ const projectConfig = require('../config/' + process.env.NODE_ENV);
|
|||||||
|
|
||||||
export const globalConfig = {
|
export const globalConfig = {
|
||||||
httpOption: {
|
httpOption: {
|
||||||
|
// 调用的时候是否显示蒙版
|
||||||
showMask: true,
|
showMask: true,
|
||||||
showError: true
|
// 是否显示公共的错误提示
|
||||||
|
showError: true,
|
||||||
|
// 是否开启节流功能,同一个url不能频繁重复调用
|
||||||
|
throttleFlag: false,
|
||||||
|
// 节流间隔
|
||||||
|
throttleTimeout: 50
|
||||||
},
|
},
|
||||||
axiosOption: {
|
axiosOption: {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,13 +135,15 @@ const doUrl = function (url, type, params, axiosOption, options) {
|
|||||||
options = merge(globalConfig.httpOption, options);
|
options = merge(globalConfig.httpOption, options);
|
||||||
axiosOption = merge(globalConfig.axiosOption, axiosOption);
|
axiosOption = merge(globalConfig.axiosOption, axiosOption);
|
||||||
if (type == null || type === '') type = 'post';
|
if (type == null || type === '') type = 'post';
|
||||||
if (ajaxThrottleSet.has(url)) {
|
if (ajaxThrottleSet.has(url) && options.throttleFlag) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
} else {
|
} else {
|
||||||
|
if (options.throttleFlag) {
|
||||||
ajaxThrottleSet.add(url);
|
ajaxThrottleSet.add(url);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
ajaxThrottleSet.delete(url);
|
ajaxThrottleSet.delete(url);
|
||||||
}, 50);
|
}, options.throttleTimeout || 50);
|
||||||
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (options.showMask) loadingManager.showMask();
|
if (options.showMask) loadingManager.showMask();
|
||||||
let ajaxCall = null;
|
let ajaxCall = null;
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ const service = axios.create({
|
|||||||
withCredentials: true,
|
withCredentials: true,
|
||||||
headers: {
|
headers: {
|
||||||
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
|
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
|
||||||
'Content-Type': 'application/json; charset=utf-8'
|
'Content-Type': 'application/json; charset=utf-8',
|
||||||
|
'deviceType': '4'
|
||||||
},
|
},
|
||||||
transformResponse: [
|
transformResponse: [
|
||||||
function (data) {
|
function (data) {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import '@/core/http';
|
import '@/core/http';
|
||||||
|
import JSONbig from 'json-bigint';
|
||||||
import '@/components/Dialog';
|
import '@/components/Dialog';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import ElementUI from 'element-ui';
|
import ElementUI from 'element-ui';
|
||||||
@@ -16,6 +17,8 @@ import FilterBox from '@/components/FilterBox';
|
|||||||
import TableProgressColumn from '@/components/TableProgressColumn';
|
import TableProgressColumn from '@/components/TableProgressColumn';
|
||||||
import VCharts from 'v-charts';
|
import VCharts from 'v-charts';
|
||||||
|
|
||||||
|
window.JSON = new JSONbig({storeAsString: true});
|
||||||
|
|
||||||
Vue.component('tree-select', TreeSelect);
|
Vue.component('tree-select', TreeSelect);
|
||||||
Vue.component('rich-editor', RichEditor);
|
Vue.component('rich-editor', RichEditor);
|
||||||
Vue.component('input-number-range', InputNumberRange);
|
Vue.component('input-number-range', InputNumberRange);
|
||||||
|
|||||||
@@ -33,16 +33,17 @@ const routers = [
|
|||||||
{path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}},
|
{path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}},
|
||||||
{path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}},
|
{path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}},
|
||||||
{path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}},
|
{path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}},
|
||||||
|
{path: 'formSysLoginUser', component: _import('upms/formSysLoginUser/index'), name: 'formSysLoginUser', meta: {title: '在线用户'}},
|
||||||
{path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}},
|
{path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}},
|
||||||
{path: 'formSchool', component: _import('generated/formSchool/index'), name: 'formSchool', props: getProps, meta: {title: '校区管理'}},
|
{path: 'formSchool', component: _import('generated/formSchool'), name: 'formSchool', props: getProps, meta: {title: '校区管理'}},
|
||||||
{path: 'formStudent', component: _import('generated/formStudent/index'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}},
|
{path: 'formStudent', component: _import('generated/formStudent'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}},
|
||||||
{path: 'formCourse', component: _import('generated/formCourse/index'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}},
|
{path: 'formCourse', component: _import('generated/formCourse'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}},
|
||||||
{path: 'formCourseStats', component: _import('generated/formCourseStats/index'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}},
|
{path: 'formCourseStats', component: _import('generated/formCourseStats'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}},
|
||||||
{path: 'formStudentActionStats', component: _import('generated/formStudentActionStats/index'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}},
|
{path: 'formStudentActionStats', component: _import('generated/formStudentActionStats'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}},
|
||||||
{path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail/index'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}},
|
{path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}},
|
||||||
{path: 'formSetClassStudent', component: _import('generated/formSetClassStudent/index'), name: 'formSetClassStudent', props: getProps, meta: {title: '设置班级学生'}},
|
{path: 'formSetClassStudent', component: _import('generated/formSetClassStudent'), name: 'formSetClassStudent', props: getProps, meta: {title: '设置班级学生'}},
|
||||||
{path: 'formSetClassCourse', component: _import('generated/formSetClassCourse/index'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}},
|
{path: 'formSetClassCourse', component: _import('generated/formSetClassCourse'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}},
|
||||||
{path: 'formClass', component: _import('generated/formClass/index'), name: 'formClass', props: getProps, meta: {title: '班级管理'}}
|
{path: 'formClass', component: _import('generated/formClass'), name: 'formClass', props: getProps, meta: {title: '班级管理'}}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -4,8 +4,9 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
class DictionaryBase extends Map {
|
class DictionaryBase extends Map {
|
||||||
constructor (dataList, keyId = 'id', symbolId = 'symbol') {
|
constructor (name, dataList, keyId = 'id', symbolId = 'symbol') {
|
||||||
super();
|
super();
|
||||||
|
this.showName = name;
|
||||||
this.setList(dataList, keyId, symbolId);
|
this.setList(dataList, keyId, symbolId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +51,7 @@ class DictionaryBase extends Map {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const SysUserStatus = new DictionaryBase([
|
const SysUserStatus = new DictionaryBase('用户状态', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '正常状态',
|
name: '正常状态',
|
||||||
@@ -64,7 +65,7 @@ const SysUserStatus = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.SysUserStatus = SysUserStatus;
|
Vue.prototype.SysUserStatus = SysUserStatus;
|
||||||
|
|
||||||
const SysUserType = new DictionaryBase([
|
const SysUserType = new DictionaryBase('用户类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '管理员',
|
name: '管理员',
|
||||||
@@ -83,7 +84,7 @@ const SysUserType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.SysUserType = SysUserType;
|
Vue.prototype.SysUserType = SysUserType;
|
||||||
|
|
||||||
const Subject = new DictionaryBase([
|
const Subject = new DictionaryBase('学科', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '语文',
|
name: '语文',
|
||||||
@@ -102,7 +103,7 @@ const Subject = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.Subject = Subject;
|
Vue.prototype.Subject = Subject;
|
||||||
|
|
||||||
const StudentActionType = new DictionaryBase([
|
const StudentActionType = new DictionaryBase('学生行为', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '充值',
|
name: '充值',
|
||||||
@@ -161,7 +162,7 @@ const StudentActionType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.StudentActionType = StudentActionType;
|
Vue.prototype.StudentActionType = StudentActionType;
|
||||||
|
|
||||||
const DeviceType = new DictionaryBase([
|
const DeviceType = new DictionaryBase('设备类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: 'iOS',
|
name: 'iOS',
|
||||||
@@ -180,7 +181,7 @@ const DeviceType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.DeviceType = DeviceType;
|
Vue.prototype.DeviceType = DeviceType;
|
||||||
|
|
||||||
const Gender = new DictionaryBase([
|
const Gender = new DictionaryBase('性别', [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: '男',
|
name: '男',
|
||||||
@@ -194,7 +195,7 @@ const Gender = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.Gender = Gender;
|
Vue.prototype.Gender = Gender;
|
||||||
|
|
||||||
const ExpLevel = new DictionaryBase([
|
const ExpLevel = new DictionaryBase('经验等级', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '初级学员',
|
name: '初级学员',
|
||||||
@@ -213,7 +214,7 @@ const ExpLevel = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.ExpLevel = ExpLevel;
|
Vue.prototype.ExpLevel = ExpLevel;
|
||||||
|
|
||||||
const StudentStatus = new DictionaryBase([
|
const StudentStatus = new DictionaryBase('学生状态', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '正常',
|
name: '正常',
|
||||||
@@ -232,7 +233,7 @@ const StudentStatus = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.StudentStatus = StudentStatus;
|
Vue.prototype.StudentStatus = StudentStatus;
|
||||||
|
|
||||||
const ClassStatus = new DictionaryBase([
|
const ClassStatus = new DictionaryBase('班级状态', [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: '正常',
|
name: '正常',
|
||||||
@@ -246,7 +247,7 @@ const ClassStatus = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.ClassStatus = ClassStatus;
|
Vue.prototype.ClassStatus = ClassStatus;
|
||||||
|
|
||||||
const ClassLevel = new DictionaryBase([
|
const ClassLevel = new DictionaryBase('班级级别', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '初级班',
|
name: '初级班',
|
||||||
@@ -265,7 +266,7 @@ const ClassLevel = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.ClassLevel = ClassLevel;
|
Vue.prototype.ClassLevel = ClassLevel;
|
||||||
|
|
||||||
const CourseDifficult = new DictionaryBase([
|
const CourseDifficult = new DictionaryBase('课程难度', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '容易',
|
name: '容易',
|
||||||
@@ -284,7 +285,7 @@ const CourseDifficult = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.CourseDifficult = CourseDifficult;
|
Vue.prototype.CourseDifficult = CourseDifficult;
|
||||||
|
|
||||||
const SysPermModuleType = new DictionaryBase([
|
const SysPermModuleType = new DictionaryBase('权限分组类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '分组模块',
|
name: '分组模块',
|
||||||
@@ -297,7 +298,7 @@ const SysPermModuleType = new DictionaryBase([
|
|||||||
]);
|
]);
|
||||||
Vue.prototype.SysPermModuleType = SysPermModuleType;
|
Vue.prototype.SysPermModuleType = SysPermModuleType;
|
||||||
|
|
||||||
const SysPermCodeType = new DictionaryBase([{
|
const SysPermCodeType = new DictionaryBase('权限字类型', [{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '表单',
|
name: '表单',
|
||||||
symbol: 'FORM'
|
symbol: 'FORM'
|
||||||
@@ -312,7 +313,7 @@ const SysPermCodeType = new DictionaryBase([{
|
|||||||
}]);
|
}]);
|
||||||
Vue.prototype.SysPermCodeType = SysPermCodeType;
|
Vue.prototype.SysPermCodeType = SysPermCodeType;
|
||||||
|
|
||||||
const SysMenuType = new DictionaryBase([
|
const SysMenuType = new DictionaryBase('菜单类型', [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '目录',
|
name: '目录',
|
||||||
@@ -335,7 +336,6 @@ const SysMenuType = new DictionaryBase([
|
|||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
Vue.prototype.SysMenuType = SysMenuType;
|
Vue.prototype.SysMenuType = SysMenuType;
|
||||||
|
|
||||||
export {
|
export {
|
||||||
DictionaryBase,
|
DictionaryBase,
|
||||||
SysUserStatus,
|
SysUserStatus,
|
||||||
|
|||||||
@@ -11,8 +11,14 @@ export default {
|
|||||||
getClientHeight: (state) => {
|
getClientHeight: (state) => {
|
||||||
return state.documentClientHeight;
|
return state.documentClientHeight;
|
||||||
},
|
},
|
||||||
|
getClientWidth: (state) => {
|
||||||
|
return state.documentClienWidth;
|
||||||
|
},
|
||||||
getMainContextHeight: (state) => {
|
getMainContextHeight: (state) => {
|
||||||
return state.documentClientHeight - (state.supportTags ? 140 : 100);
|
return state.documentClientHeight - (state.supportTags ? 130 : 90);
|
||||||
|
},
|
||||||
|
getOnlineFormCache: (state) => {
|
||||||
|
return state.onlineFormCache;
|
||||||
},
|
},
|
||||||
getUserInfo: (state) => {
|
getUserInfo: (state) => {
|
||||||
return state.userInfo;
|
return state.userInfo;
|
||||||
|
|||||||
@@ -8,6 +8,18 @@ export default {
|
|||||||
setClientHeight: (state, height) => {
|
setClientHeight: (state, height) => {
|
||||||
state.documentClientHeight = height;
|
state.documentClientHeight = height;
|
||||||
},
|
},
|
||||||
|
setClientWidth: (state, width) => {
|
||||||
|
state.documentClienWidth = width;
|
||||||
|
},
|
||||||
|
addOnlineFormCache: (state, data) => {
|
||||||
|
state.onlineFormCache[data.key] = data.value;
|
||||||
|
},
|
||||||
|
removeOnlineFormCache: (state, key) => {
|
||||||
|
delete state.onlineFormCache[key];
|
||||||
|
},
|
||||||
|
clearOnlineFormCache: (state) => {
|
||||||
|
state.onlineFormCache = {};
|
||||||
|
},
|
||||||
setUserInfo: (state, info) => {
|
setUserInfo: (state, info) => {
|
||||||
setObjectToSessionStorage('userInfo', info);
|
setObjectToSessionStorage('userInfo', info);
|
||||||
state.userInfo = initUserInfo(info);
|
state.userInfo = initUserInfo(info);
|
||||||
@@ -97,7 +109,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let menuObject = state.tagList[0];
|
let menuObject = state.tagList[0];
|
||||||
if (menuObject && menuObject.formRouterName && menuObject.formRouterName !== '') {
|
if (menuObject && (menuObject.onlineFormId == null || menuObject.onlineFormId === '') &&
|
||||||
|
menuObject.formRouterName && menuObject.formRouterName !== '') {
|
||||||
state.cachePages = [menuObject.formRouterName];
|
state.cachePages = [menuObject.formRouterName];
|
||||||
if (setObjectToSessionStorage('currentMenuId', menuObject.menuId)) state.currentMenuId = menuObject.menuId;
|
if (setObjectToSessionStorage('currentMenuId', menuObject.menuId)) state.currentMenuId = menuObject.menuId;
|
||||||
}
|
}
|
||||||
@@ -131,7 +144,9 @@ export default {
|
|||||||
}
|
}
|
||||||
// 添加新缓存
|
// 添加新缓存
|
||||||
if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuItem.formRouterName) === -1) {
|
if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuItem.formRouterName) === -1) {
|
||||||
|
if (menuItem.onlineFormId == null || menuItem.onlineFormId === '') {
|
||||||
state.cachePages = [...state.cachePages, menuItem.formRouterName];
|
state.cachePages = [...state.cachePages, menuItem.formRouterName];
|
||||||
|
}
|
||||||
setObjectToSessionStorage('cachePages', state.cachePages);
|
setObjectToSessionStorage('cachePages', state.cachePages);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ export default {
|
|||||||
supportTags: false,
|
supportTags: false,
|
||||||
// 浏览器客户区高度
|
// 浏览器客户区高度
|
||||||
documentClientHeight: 100,
|
documentClientHeight: 100,
|
||||||
|
// 浏览器客户区宽度
|
||||||
|
documentClientWidth: undefined,
|
||||||
|
// 在线表单查询页面缓存
|
||||||
|
onlineFormCache: {},
|
||||||
// 用户登录信息
|
// 用户登录信息
|
||||||
userInfo: initUserInfo(),
|
userInfo: initUserInfo(),
|
||||||
// 缓存页面
|
// 缓存页面
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ export class TreeTableImpl {
|
|||||||
calcPermCodeTreeAttribute(item, checkedRows);
|
calcPermCodeTreeAttribute(item, checkedRows);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log(treeData, checkedRows);
|
|
||||||
return treeData;
|
return treeData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,6 @@ export class TableWidget {
|
|||||||
this.oldPage = this.currentPage;
|
this.oldPage = this.currentPage;
|
||||||
this.oldPageSize = this.pageSize;
|
this.oldPageSize = this.pageSize;
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e);
|
|
||||||
this.currentPage = this.oldPage;
|
this.currentPage = this.oldPage;
|
||||||
this.pageSize = this.oldPageSize;
|
this.pageSize = this.oldPageSize;
|
||||||
});
|
});
|
||||||
@@ -161,7 +160,6 @@ export class TableWidget {
|
|||||||
* @param {Object} oldRow 老的选中行
|
* @param {Object} oldRow 老的选中行
|
||||||
*/
|
*/
|
||||||
currentRowChange (currentRow, oldRow) {
|
currentRowChange (currentRow, oldRow) {
|
||||||
console.log(currentRow, oldRow);
|
|
||||||
this.currentRow = currentRow;
|
this.currentRow = currentRow;
|
||||||
}
|
}
|
||||||
clearTable () {
|
clearTable () {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user