mirror of
https://gitee.com/orangeform/orange-admin.git
synced 2026-01-17 18:46:36 +08:00
commit:1.5多应用版本
This commit is contained in:
@@ -5,11 +5,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import projectConfig from '@/core/config';
|
||||
|
||||
export default {
|
||||
watch: {
|
||||
$route: {
|
||||
handler (newValue) {
|
||||
document.title = '橙单工程';
|
||||
document.title = projectConfig.projectName;
|
||||
if (newValue.meta && newValue.meta.title) document.title += ' - ' + newValue.meta.title;
|
||||
},
|
||||
immediate: true
|
||||
|
||||
@@ -93,9 +93,6 @@ export default class DictionaryController {
|
||||
static dictDeleteAreaCode (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('/admin/CourseClass/areaCode/delete', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
static dictBatchDeleteAreaCode (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
static dictUpdateAreaCode (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('/admin/CourseClass/areaCode/update', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
@@ -139,9 +136,6 @@ export default class DictionaryController {
|
||||
static dictDeleteGrade (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('/admin/CourseClass/grade/delete', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
static dictBatchDeleteGrade (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
static dictUpdateGrade (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('/admin/CourseClass/grade/update', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
export default class SysDataPermController {
|
||||
/**
|
||||
* @param params {dataPermId, dataPermName, deptIdListString}
|
||||
*/
|
||||
static add (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/add', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermId, dataPermName, deptIdListString}
|
||||
*/
|
||||
static update (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/update', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermId}
|
||||
*/
|
||||
static delete (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/delete', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermName}
|
||||
*/
|
||||
static list (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/list', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermId}
|
||||
*/
|
||||
static view (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/view', 'get', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermId, searchString}
|
||||
*/
|
||||
static listDataPermUser (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/listDataPermUser', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermId, userIdListString}
|
||||
*/
|
||||
static addDataPermUser (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/addDataPermUser', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {dataPermId, userId}
|
||||
*/
|
||||
static deleteDataPermUser (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/deleteDataPermUser', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
static listNotInDataPermUser (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysDataPerm/listNotInDataPermUser', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
}
|
||||
@@ -1,25 +1,25 @@
|
||||
export default class SysUserController {
|
||||
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) {
|
||||
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) {
|
||||
return sender.download('/admin/upms/sysUser/export', params, fileName);
|
||||
return sender.download('admin/upms/sysUser/export', params, fileName);
|
||||
}
|
||||
|
||||
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) {
|
||||
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) {
|
||||
return sender.doUrl('/admin/upms/sysUser/delete', 'post', params, axiosOption, httpOption);
|
||||
return sender.doUrl('admin/upms/sysUser/delete', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,17 +65,15 @@ export default class SystemController {
|
||||
|
||||
// 菜单接口
|
||||
static getMenuPermList (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysMenu/list', 'get', params, axiosOption, httpOption);
|
||||
return sender.doUrl('admin/upms/sysMenu/list', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
static addMenu (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysMenu/add', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
|
||||
static updateMenu (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysMenu/update', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
static deleteMenu (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysMenu/delete', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
@@ -83,7 +81,6 @@ export default class SystemController {
|
||||
static viewMenu (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysMenu/view', 'get', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
// 权限字接口
|
||||
static getPermCodeList (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysPermCode/list', 'post', params, axiosOption, httpOption);
|
||||
@@ -107,11 +104,11 @@ export default class SystemController {
|
||||
|
||||
// 权限资源接口
|
||||
static getAllPermList (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysPermModule/listAll', 'get', params, axiosOption, httpOption);
|
||||
return sender.doUrl('admin/upms/sysPermModule/listAll', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
static getPermGroupList (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysPermModule/list', 'get', params, axiosOption, httpOption);
|
||||
return sender.doUrl('admin/upms/sysPermModule/list', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
static addPermGroup (sender, params, axiosOption, httpOption) {
|
||||
@@ -145,7 +142,6 @@ export default class SystemController {
|
||||
static deletePerm (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysPerm/delete', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param params {roleId, searchString}
|
||||
*/
|
||||
@@ -177,7 +173,6 @@ export default class SystemController {
|
||||
static queryRoleByPermCode (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysRole/listAllRolesByPermCode', 'post', params, axiosOption, httpOption);
|
||||
}
|
||||
|
||||
// 权限查询
|
||||
static listSysPermWithDetail (sender, params, axiosOption, httpOption) {
|
||||
return sender.doUrl('admin/upms/sysUser/listSysPermWithDetail', 'get', params, axiosOption, httpOption);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import SystemController from './Controller/SystemController'
|
||||
import SysDataPermController from './Controller/SysDataPermController'
|
||||
import DictionaryController from './Controller/DictionaryController'
|
||||
import CourseController from './Controller/CourseController.js'
|
||||
import SchoolInfoController from './Controller/SchoolInfoController.js'
|
||||
@@ -12,7 +11,6 @@ import StudentActionTransController from './Controller/StudentActionTransControl
|
||||
|
||||
export {
|
||||
SystemController,
|
||||
SysDataPermController,
|
||||
DictionaryController,
|
||||
CourseController,
|
||||
SchoolInfoController,
|
||||
|
||||
1014
orange-demo-multi-web/src/assets/element-variables-blue.scss
Normal file
1014
orange-demo-multi-web/src/assets/element-variables-blue.scss
Normal file
File diff suppressed because it is too large
Load Diff
1000
orange-demo-multi-web/src/assets/element-variables-dark.scss
Normal file
1000
orange-demo-multi-web/src/assets/element-variables-dark.scss
Normal file
File diff suppressed because it is too large
Load Diff
1000
orange-demo-multi-web/src/assets/element-variables-green.scss
Normal file
1000
orange-demo-multi-web/src/assets/element-variables-green.scss
Normal file
File diff suppressed because it is too large
Load Diff
998
orange-demo-multi-web/src/assets/element-variables-light.scss
Normal file
998
orange-demo-multi-web/src/assets/element-variables-light.scss
Normal file
@@ -0,0 +1,998 @@
|
||||
/* Element Chalk Variables */
|
||||
|
||||
// Special comment for theme configurator
|
||||
// type|skipAutoTranslation|Category|Order
|
||||
// skipAutoTranslation 1
|
||||
|
||||
/* Transition
|
||||
-------------------------- */
|
||||
$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default;
|
||||
$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default;
|
||||
$--fade-linear-transition: opacity 200ms linear !default;
|
||||
$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default;
|
||||
$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default;
|
||||
$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default;
|
||||
|
||||
/* Color
|
||||
-------------------------- */
|
||||
// color for left sidebar title
|
||||
$--color-sidebar-title-text: #381524;
|
||||
// color for left sidebar background
|
||||
$--color-menu-background: #FFFFFF;
|
||||
/// color|1|Brand Color|0
|
||||
$--color-primary: #409EFF !default;
|
||||
/// color|1|Background Color|4
|
||||
$--color-white: #FFFFFF !default;
|
||||
/// color|1|Background Color|4
|
||||
$--color-black: #000000 !default;
|
||||
$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
|
||||
$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
|
||||
$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
|
||||
$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
|
||||
$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
|
||||
$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
|
||||
$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
|
||||
$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
|
||||
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
|
||||
/// color|1|Functional Color|1
|
||||
$--color-success: #67C23A !default;
|
||||
/// color|1|Functional Color|1
|
||||
$--color-warning: #E6A23C !default;
|
||||
/// color|1|Functional Color|1
|
||||
$--color-danger: #F56C6C !default;
|
||||
/// color|1|Functional Color|1
|
||||
$--color-info: #909399 !default;
|
||||
|
||||
$--color-success-light: mix($--color-white, $--color-success, 80%) !default;
|
||||
$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default;
|
||||
$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default;
|
||||
$--color-info-light: mix($--color-white, $--color-info, 80%) !default;
|
||||
|
||||
$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default;
|
||||
$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default;
|
||||
$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default;
|
||||
$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default;
|
||||
/// color|1|Font Color|2
|
||||
$--color-text-primary: #303133 !default;
|
||||
/// color|1|Font Color|2
|
||||
$--color-text-regular: #606266 !default;
|
||||
/// color|1|Font Color|2
|
||||
$--color-text-secondary: #909399 !default;
|
||||
/// color|1|Font Color|2
|
||||
$--color-text-placeholder: #C0C4CC !default;
|
||||
/// color|1|Border Color|3
|
||||
$--border-color-base: #DCDFE6 !default;
|
||||
/// color|1|Border Color|3
|
||||
$--border-color-light: #E4E7ED !default;
|
||||
/// color|1|Border Color|3
|
||||
$--border-color-lighter: #EBEEF5 !default;
|
||||
/// color|1|Border Color|3
|
||||
$--border-color-extra-light: #F2F6FC !default;
|
||||
|
||||
// Background
|
||||
/// color|1|Background Color|4
|
||||
$--background-color-base: #F5F7FA !default;
|
||||
|
||||
/* Link
|
||||
-------------------------- */
|
||||
$--link-color: $--color-primary-light-2 !default;
|
||||
$--link-hover-color: $--color-primary !default;
|
||||
|
||||
/* Border
|
||||
-------------------------- */
|
||||
$--border-width-base: 1px !default;
|
||||
$--border-style-base: solid !default;
|
||||
$--border-color-hover: $--color-text-placeholder !default;
|
||||
$--border-base: $--border-width-base $--border-style-base $--border-color-base !default;
|
||||
/// borderRadius|1|Radius|0
|
||||
$--border-radius-base: 4px !default;
|
||||
/// borderRadius|1|Radius|0
|
||||
$--border-radius-small: 2px !default;
|
||||
/// borderRadius|1|Radius|0
|
||||
$--border-radius-circle: 100% !default;
|
||||
/// borderRadius|1|Radius|0
|
||||
$--border-radius-zero: 0 !default;
|
||||
|
||||
// Box-shadow
|
||||
/// boxShadow|1|Shadow|1
|
||||
$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default;
|
||||
// boxShadow|1|Shadow|1
|
||||
$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default;
|
||||
/// boxShadow|1|Shadow|1
|
||||
$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default;
|
||||
|
||||
/* Fill
|
||||
-------------------------- */
|
||||
$--fill-base: $--color-white !default;
|
||||
|
||||
/* Typography
|
||||
-------------------------- */
|
||||
$--font-path: 'fonts' !default;
|
||||
$--font-display: 'auto' !default;
|
||||
/// fontSize|1|Font Size|0
|
||||
$--font-size-extra-large: 20px !default;
|
||||
/// fontSize|1|Font Size|0
|
||||
$--font-size-large: 18px !default;
|
||||
/// fontSize|1|Font Size|0
|
||||
$--font-size-medium: 16px !default;
|
||||
/// fontSize|1|Font Size|0
|
||||
$--font-size-base: 14px !default;
|
||||
/// fontSize|1|Font Size|0
|
||||
$--font-size-small: 13px !default;
|
||||
/// fontSize|1|Font Size|0
|
||||
$--font-size-extra-small: 12px !default;
|
||||
/// fontWeight|1|Font Weight|1
|
||||
$--font-weight-primary: 500 !default;
|
||||
/// fontWeight|1|Font Weight|1
|
||||
$--font-weight-secondary: 100 !default;
|
||||
/// fontLineHeight|1|Line Height|2
|
||||
$--font-line-height-primary: 24px !default;
|
||||
/// fontLineHeight|1|Line Height|2
|
||||
$--font-line-height-secondary: 16px !default;
|
||||
$--font-color-disabled-base: #bbb !default;
|
||||
/* Size
|
||||
-------------------------- */
|
||||
$--size-base: 14px !default;
|
||||
|
||||
/* z-index
|
||||
-------------------------- */
|
||||
$--index-normal: 1 !default;
|
||||
$--index-top: 1000 !default;
|
||||
$--index-popper: 2000 !default;
|
||||
|
||||
/* Disable base
|
||||
-------------------------- */
|
||||
$--disabled-fill-base: $--background-color-base !default;
|
||||
$--disabled-color-base: $--color-text-placeholder !default;
|
||||
$--disabled-border-base: $--border-color-light !default;
|
||||
|
||||
/* Icon
|
||||
-------------------------- */
|
||||
$--icon-color: #666 !default;
|
||||
$--icon-color-base: $--color-info !default;
|
||||
|
||||
/* Checkbox
|
||||
-------------------------- */
|
||||
/// fontSize||Font|1
|
||||
$--checkbox-font-size: 14px !default;
|
||||
/// fontWeight||Font|1
|
||||
$--checkbox-font-weight: $--font-weight-primary !default;
|
||||
/// color||Color|0
|
||||
$--checkbox-font-color: $--color-text-regular !default;
|
||||
$--checkbox-input-height: 14px !default;
|
||||
$--checkbox-input-width: 14px !default;
|
||||
/// borderRadius||Border|2
|
||||
$--checkbox-border-radius: $--border-radius-small !default;
|
||||
/// color||Color|0
|
||||
$--checkbox-background-color: $--color-white !default;
|
||||
$--checkbox-input-border: $--border-base !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--checkbox-disabled-border-color: $--border-color-base !default;
|
||||
$--checkbox-disabled-input-fill: #edf2fc !default;
|
||||
$--checkbox-disabled-icon-color: $--color-text-placeholder !default;
|
||||
|
||||
$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default;
|
||||
$--checkbox-disabled-checked-input-border-color: $--border-color-base !default;
|
||||
$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--checkbox-checked-font-color: $--color-primary !default;
|
||||
$--checkbox-checked-input-border-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--checkbox-checked-background-color: $--color-primary !default;
|
||||
$--checkbox-checked-icon-color: $--fill-base !default;
|
||||
|
||||
$--checkbox-input-border-color-hover: $--color-primary !default;
|
||||
/// height||Other|4
|
||||
$--checkbox-bordered-height: 40px !default;
|
||||
/// padding||Spacing|3
|
||||
$--checkbox-bordered-padding: 9px 20px 9px 10px !default;
|
||||
/// padding||Spacing|3
|
||||
$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default;
|
||||
/// padding||Spacing|3
|
||||
$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default;
|
||||
/// padding||Spacing|3
|
||||
$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default;
|
||||
$--checkbox-bordered-medium-input-height: 14px !default;
|
||||
$--checkbox-bordered-medium-input-width: 14px !default;
|
||||
/// height||Other|4
|
||||
$--checkbox-bordered-medium-height: 36px !default;
|
||||
$--checkbox-bordered-small-input-height: 12px !default;
|
||||
$--checkbox-bordered-small-input-width: 12px !default;
|
||||
/// height||Other|4
|
||||
$--checkbox-bordered-small-height: 32px !default;
|
||||
$--checkbox-bordered-mini-input-height: 12px !default;
|
||||
$--checkbox-bordered-mini-input-width: 12px !default;
|
||||
/// height||Other|4
|
||||
$--checkbox-bordered-mini-height: 28px !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--checkbox-button-checked-background-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--checkbox-button-checked-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--checkbox-button-checked-border-color: $--color-primary !default;
|
||||
|
||||
|
||||
|
||||
/* Radio
|
||||
-------------------------- */
|
||||
/// fontSize||Font|1
|
||||
$--radio-font-size: $--font-size-base !default;
|
||||
/// fontWeight||Font|1
|
||||
$--radio-font-weight: $--font-weight-primary !default;
|
||||
/// color||Color|0
|
||||
$--radio-font-color: $--color-text-regular !default;
|
||||
$--radio-input-height: 14px !default;
|
||||
$--radio-input-width: 14px !default;
|
||||
/// borderRadius||Border|2
|
||||
$--radio-input-border-radius: $--border-radius-circle !default;
|
||||
/// color||Color|0
|
||||
$--radio-input-background-color: $--color-white !default;
|
||||
$--radio-input-border: $--border-base !default;
|
||||
/// color||Color|0
|
||||
$--radio-input-border-color: $--border-color-base !default;
|
||||
/// color||Color|0
|
||||
$--radio-icon-color: $--color-white !default;
|
||||
|
||||
$--radio-disabled-input-border-color: $--disabled-border-base !default;
|
||||
$--radio-disabled-input-fill: $--disabled-fill-base !default;
|
||||
$--radio-disabled-icon-color: $--disabled-fill-base !default;
|
||||
|
||||
$--radio-disabled-checked-input-border-color: $--disabled-border-base !default;
|
||||
$--radio-disabled-checked-input-fill: $--disabled-fill-base !default;
|
||||
$--radio-disabled-checked-icon-color: $--color-text-placeholder !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--radio-checked-font-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--radio-checked-input-border-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--radio-checked-input-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--radio-checked-icon-color: $--color-primary !default;
|
||||
|
||||
$--radio-input-border-color-hover: $--color-primary !default;
|
||||
|
||||
$--radio-bordered-height: 40px !default;
|
||||
$--radio-bordered-padding: 12px 20px 0 10px !default;
|
||||
$--radio-bordered-medium-padding: 10px 20px 0 10px !default;
|
||||
$--radio-bordered-small-padding: 8px 15px 0 10px !default;
|
||||
$--radio-bordered-mini-padding: 6px 15px 0 10px !default;
|
||||
$--radio-bordered-medium-input-height: 14px !default;
|
||||
$--radio-bordered-medium-input-width: 14px !default;
|
||||
$--radio-bordered-medium-height: 36px !default;
|
||||
$--radio-bordered-small-input-height: 12px !default;
|
||||
$--radio-bordered-small-input-width: 12px !default;
|
||||
$--radio-bordered-small-height: 32px !default;
|
||||
$--radio-bordered-mini-input-height: 12px !default;
|
||||
$--radio-bordered-mini-input-width: 12px !default;
|
||||
$--radio-bordered-mini-height: 28px !default;
|
||||
|
||||
/// fontSize||Font|1
|
||||
$--radio-button-font-size: $--font-size-base !default;
|
||||
/// color||Color|0
|
||||
$--radio-button-checked-background-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--radio-button-checked-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--radio-button-checked-border-color: $--color-primary !default;
|
||||
$--radio-button-disabled-checked-fill: $--border-color-extra-light !default;
|
||||
|
||||
/* Select
|
||||
-------------------------- */
|
||||
$--select-border-color-hover: $--border-color-hover !default;
|
||||
$--select-disabled-border: $--disabled-border-base !default;
|
||||
/// fontSize||Font|1
|
||||
$--select-font-size: $--font-size-base !default;
|
||||
$--select-close-hover-color: $--color-text-secondary !default;
|
||||
|
||||
$--select-input-color: $--color-text-placeholder !default;
|
||||
$--select-multiple-input-color: #666 !default;
|
||||
/// color||Color|0
|
||||
$--select-input-focus-border-color: $--color-primary !default;
|
||||
/// fontSize||Font|1
|
||||
$--select-input-font-size: 14px !default;
|
||||
|
||||
$--select-option-color: $--color-text-regular !default;
|
||||
$--select-option-disabled-color: $--color-text-placeholder !default;
|
||||
$--select-option-disabled-background: $--color-white !default;
|
||||
/// height||Other|4
|
||||
$--select-option-height: 34px !default;
|
||||
$--select-option-hover-background: $--background-color-base !default;
|
||||
/// color||Color|0
|
||||
$--select-option-selected-font-color: $--color-primary !default;
|
||||
$--select-option-selected-hover: $--background-color-base !default;
|
||||
|
||||
$--select-group-color: $--color-info !default;
|
||||
$--select-group-height: 30px !default;
|
||||
$--select-group-font-size: 12px !default;
|
||||
|
||||
$--select-dropdown-background: $--color-white !default;
|
||||
$--select-dropdown-shadow: $--box-shadow-light !default;
|
||||
$--select-dropdown-empty-color: #999 !default;
|
||||
/// height||Other|4
|
||||
$--select-dropdown-max-height: 274px !default;
|
||||
$--select-dropdown-padding: 6px 0 !default;
|
||||
$--select-dropdown-empty-padding: 10px 0 !default;
|
||||
$--select-dropdown-border: solid 1px $--border-color-light !default;
|
||||
|
||||
/* Alert
|
||||
-------------------------- */
|
||||
$--alert-padding: 8px 16px !default;
|
||||
/// borderRadius||Border|2
|
||||
$--alert-border-radius: $--border-radius-base !default;
|
||||
/// fontSize||Font|1
|
||||
$--alert-title-font-size: 13px !default;
|
||||
/// fontSize||Font|1
|
||||
$--alert-description-font-size: 12px !default;
|
||||
/// fontSize||Font|1
|
||||
$--alert-close-font-size: 12px !default;
|
||||
/// fontSize||Font|1
|
||||
$--alert-close-customed-font-size: 13px !default;
|
||||
|
||||
$--alert-success-color: $--color-success-lighter !default;
|
||||
$--alert-info-color: $--color-info-lighter !default;
|
||||
$--alert-warning-color: $--color-warning-lighter !default;
|
||||
$--alert-danger-color: $--color-danger-lighter !default;
|
||||
|
||||
/// height||Other|4
|
||||
$--alert-icon-size: 16px !default;
|
||||
/// height||Other|4
|
||||
$--alert-icon-large-size: 28px !default;
|
||||
|
||||
/* MessageBox
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--messagebox-title-color: $--color-text-primary !default;
|
||||
$--msgbox-width: 420px !default;
|
||||
$--msgbox-border-radius: 4px !default;
|
||||
/// fontSize||Font|1
|
||||
$--messagebox-font-size: $--font-size-large !default;
|
||||
/// fontSize||Font|1
|
||||
$--messagebox-content-font-size: $--font-size-base !default;
|
||||
/// color||Color|0
|
||||
$--messagebox-content-color: $--color-text-regular !default;
|
||||
/// fontSize||Font|1
|
||||
$--messagebox-error-font-size: 12px !default;
|
||||
$--msgbox-padding-primary: 15px !default;
|
||||
/// color||Color|0
|
||||
$--messagebox-success-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--messagebox-info-color: $--color-info !default;
|
||||
/// color||Color|0
|
||||
$--messagebox-warning-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--messagebox-danger-color: $--color-danger !default;
|
||||
|
||||
/* Message
|
||||
-------------------------- */
|
||||
$--message-shadow: $--box-shadow-base !default;
|
||||
$--message-min-width: 380px !default;
|
||||
$--message-background-color: #edf2fc !default;
|
||||
$--message-padding: 15px 15px 15px 20px !default;
|
||||
/// color||Color|0
|
||||
$--message-close-icon-color: $--color-text-placeholder !default;
|
||||
/// height||Other|4
|
||||
$--message-close-size: 16px !default;
|
||||
/// color||Color|0
|
||||
$--message-close-hover-color: $--color-text-secondary !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--message-success-font-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--message-info-font-color: $--color-info !default;
|
||||
/// color||Color|0
|
||||
$--message-warning-font-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--message-danger-font-color: $--color-danger !default;
|
||||
|
||||
/* Notification
|
||||
-------------------------- */
|
||||
$--notification-width: 330px !default;
|
||||
/// padding||Spacing|3
|
||||
$--notification-padding: 14px 26px 14px 13px !default;
|
||||
$--notification-radius: 8px !default;
|
||||
$--notification-shadow: $--box-shadow-light !default;
|
||||
/// color||Color|0
|
||||
$--notification-border-color: $--border-color-lighter !default;
|
||||
$--notification-icon-size: 24px !default;
|
||||
$--notification-close-font-size: $--message-close-size !default;
|
||||
$--notification-group-margin-left: 13px !default;
|
||||
$--notification-group-margin-right: 8px !default;
|
||||
/// fontSize||Font|1
|
||||
$--notification-content-font-size: $--font-size-base !default;
|
||||
/// color||Color|0
|
||||
$--notification-content-color: $--color-text-regular !default;
|
||||
/// fontSize||Font|1
|
||||
$--notification-title-font-size: 16px !default;
|
||||
/// color||Color|0
|
||||
$--notification-title-color: $--color-text-primary !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--notification-close-color: $--color-text-secondary !default;
|
||||
/// color||Color|0
|
||||
$--notification-close-hover-color: $--color-text-regular !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--notification-success-icon-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--notification-info-icon-color: $--color-info !default;
|
||||
/// color||Color|0
|
||||
$--notification-warning-icon-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--notification-danger-icon-color: $--color-danger !default;
|
||||
|
||||
/* Input
|
||||
-------------------------- */
|
||||
$--input-font-size: $--font-size-base !default;
|
||||
/// color||Color|0
|
||||
$--input-font-color: $--color-text-regular !default;
|
||||
/// height||Other|4
|
||||
$--input-width: 140px !default;
|
||||
/// height||Other|4
|
||||
$--input-height: 40px !default;
|
||||
$--input-border: $--border-base !default;
|
||||
$--input-border-color: $--border-color-base !default;
|
||||
/// borderRadius||Border|2
|
||||
$--input-border-radius: $--border-radius-base !default;
|
||||
$--input-border-color-hover: $--border-color-hover !default;
|
||||
/// color||Color|0
|
||||
$--input-background-color: $--color-white !default;
|
||||
$--input-fill-disabled: $--disabled-fill-base !default;
|
||||
$--input-color-disabled: $--font-color-disabled-base !default;
|
||||
/// color||Color|0
|
||||
$--input-icon-color: $--color-text-placeholder !default;
|
||||
/// color||Color|0
|
||||
$--input-placeholder-color: $--color-text-placeholder !default;
|
||||
$--input-max-width: 314px !default;
|
||||
|
||||
$--input-hover-border: $--border-color-hover !default;
|
||||
$--input-clear-hover-color: $--color-text-secondary !default;
|
||||
|
||||
$--input-focus-border: $--color-primary !default;
|
||||
$--input-focus-fill: $--color-white !default;
|
||||
|
||||
$--input-disabled-fill: $--disabled-fill-base !default;
|
||||
$--input-disabled-border: $--disabled-border-base !default;
|
||||
$--input-disabled-color: $--disabled-color-base !default;
|
||||
$--input-disabled-placeholder-color: $--color-text-placeholder !default;
|
||||
|
||||
/// fontSize||Font|1
|
||||
$--input-medium-font-size: 14px !default;
|
||||
/// height||Other|4
|
||||
$--input-medium-height: 36px !default;
|
||||
/// fontSize||Font|1
|
||||
$--input-small-font-size: 13px !default;
|
||||
/// height||Other|4
|
||||
$--input-small-height: 32px !default;
|
||||
/// fontSize||Font|1
|
||||
$--input-mini-font-size: 12px !default;
|
||||
/// height||Other|4
|
||||
$--input-mini-height: 28px !default;
|
||||
|
||||
/* Cascader
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--cascader-menu-font-color: $--color-text-regular !default;
|
||||
/// color||Color|0
|
||||
$--cascader-menu-selected-font-color: $--color-primary !default;
|
||||
$--cascader-menu-fill: $--fill-base !default;
|
||||
$--cascader-menu-font-size: $--font-size-base !default;
|
||||
$--cascader-menu-radius: $--border-radius-base !default;
|
||||
$--cascader-menu-border: solid 1px $--border-color-light !default;
|
||||
$--cascader-menu-shadow: $--box-shadow-light !default;
|
||||
$--cascader-node-background-hover: $--background-color-base !default;
|
||||
$--cascader-node-color-disabled:$--color-text-placeholder !default;
|
||||
$--cascader-color-empty:$--color-text-placeholder !default;
|
||||
$--cascader-tag-background: #f0f2f5;
|
||||
|
||||
/* Group
|
||||
-------------------------- */
|
||||
$--group-option-flex: 0 0 (1/5) * 100% !default;
|
||||
$--group-option-offset-bottom: 12px !default;
|
||||
$--group-option-fill-hover: rgba($--color-black, 0.06) !default;
|
||||
$--group-title-color: $--color-black !default;
|
||||
$--group-title-font-size: $--font-size-base !default;
|
||||
$--group-title-width: 66px !default;
|
||||
|
||||
/* Tab
|
||||
-------------------------- */
|
||||
$--tab-font-size: $--font-size-base !default;
|
||||
$--tab-border-line: 1px solid #e4e4e4 !default;
|
||||
$--tab-header-color-active: $--color-text-secondary !default;
|
||||
$--tab-header-color-hover: $--color-text-regular !default;
|
||||
$--tab-header-color: $--color-text-regular !default;
|
||||
$--tab-header-fill-active: rgba($--color-black, 0.06) !default;
|
||||
$--tab-header-fill-hover: rgba($--color-black, 0.06) !default;
|
||||
$--tab-vertical-header-width: 90px !default;
|
||||
$--tab-vertical-header-count-color: $--color-white !default;
|
||||
$--tab-vertical-header-count-fill: $--color-text-secondary !default;
|
||||
|
||||
/* Button
|
||||
-------------------------- */
|
||||
/// fontSize||Font|1
|
||||
$--button-font-size: $--font-size-base !default;
|
||||
/// fontWeight||Font|1
|
||||
$--button-font-weight: $--font-weight-primary !default;
|
||||
/// borderRadius||Border|2
|
||||
$--button-border-radius: $--border-radius-base !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-padding-vertical: 12px !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-padding-horizontal: 20px !default;
|
||||
|
||||
/// fontSize||Font|1
|
||||
$--button-medium-font-size: $--font-size-base !default;
|
||||
/// borderRadius||Border|2
|
||||
$--button-medium-border-radius: $--border-radius-base !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-medium-padding-vertical: 10px !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-medium-padding-horizontal: 20px !default;
|
||||
|
||||
/// fontSize||Font|1
|
||||
$--button-small-font-size: 12px !default;
|
||||
$--button-small-border-radius: #{$--border-radius-base - 1} !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-small-padding-vertical: 9px !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-small-padding-horizontal: 15px !default;
|
||||
/// fontSize||Font|1
|
||||
$--button-mini-font-size: 12px !default;
|
||||
$--button-mini-border-radius: #{$--border-radius-base - 1} !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-mini-padding-vertical: 7px !default;
|
||||
/// padding||Spacing|3
|
||||
$--button-mini-padding-horizontal: 15px !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--button-default-font-color: $--color-text-regular !default;
|
||||
/// color||Color|0
|
||||
$--button-default-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-default-border-color: $--border-color-base !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--button-disabled-font-color: $--color-text-placeholder !default;
|
||||
/// color||Color|0
|
||||
$--button-disabled-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-disabled-border-color: $--border-color-lighter !default;
|
||||
|
||||
/// color||Color|0
|
||||
$--button-primary-border-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--button-primary-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-primary-background-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--button-success-border-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--button-success-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-success-background-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--button-warning-border-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--button-warning-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-warning-background-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--button-danger-border-color: $--color-danger !default;
|
||||
/// color||Color|0
|
||||
$--button-danger-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-danger-background-color: $--color-danger !default;
|
||||
/// color||Color|0
|
||||
$--button-info-border-color: $--color-info !default;
|
||||
/// color||Color|0
|
||||
$--button-info-font-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--button-info-background-color: $--color-info !default;
|
||||
|
||||
$--button-hover-tint-percent: 20% !default;
|
||||
$--button-active-shade-percent: 10% !default;
|
||||
|
||||
|
||||
/* cascader
|
||||
-------------------------- */
|
||||
$--cascader-height: 200px !default;
|
||||
|
||||
/* Switch
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--switch-on-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--switch-off-color: $--border-color-base !default;
|
||||
/// fontSize||Font|1
|
||||
$--switch-font-size: $--font-size-base !default;
|
||||
$--switch-core-border-radius: 10px !default;
|
||||
// height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义
|
||||
$--switch-width: 40px !default;
|
||||
// height||Other|4
|
||||
$--switch-height: 20px !default;
|
||||
// height||Other|4
|
||||
$--switch-button-size: 16px !default;
|
||||
|
||||
/* Dialog
|
||||
-------------------------- */
|
||||
$--dialog-background-color: $--color-white !default;
|
||||
$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default;
|
||||
/// fontSize||Font|1
|
||||
$--dialog-title-font-size: $--font-size-large !default;
|
||||
/// fontSize||Font|1
|
||||
$--dialog-content-font-size: 14px !default;
|
||||
/// fontLineHeight||LineHeight|2
|
||||
$--dialog-font-line-height: $--font-line-height-primary !default;
|
||||
/// padding||Spacing|3
|
||||
$--dialog-padding-primary: 20px !default;
|
||||
|
||||
/* Table
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--table-border-color: $--border-color-lighter !default;
|
||||
$--table-border: 1px solid $--table-border-color !default;
|
||||
/// color||Color|0
|
||||
$--table-font-color: $--color-text-regular !default;
|
||||
/// color||Color|0
|
||||
$--table-header-font-color: $--color-text-secondary !default;
|
||||
/// color||Color|0
|
||||
$--table-row-hover-background-color: $--background-color-base !default;
|
||||
$--table-current-row-background-color: $--color-primary-light-9 !default;
|
||||
/// color||Color|0
|
||||
$--table-header-background-color: $--color-white !default;
|
||||
$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default;
|
||||
|
||||
/* Pagination
|
||||
-------------------------- */
|
||||
/// fontSize||Font|1
|
||||
$--pagination-font-size: 13px !default;
|
||||
/// color||Color|0
|
||||
$--pagination-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--pagination-font-color: $--color-text-primary !default;
|
||||
$--pagination-border-radius: 3px !default;
|
||||
/// color||Color|0
|
||||
$--pagination-button-color: $--color-text-primary !default;
|
||||
/// height||Other|4
|
||||
$--pagination-button-width: 35.5px !default;
|
||||
/// height||Other|4
|
||||
$--pagination-button-height: 28px !default;
|
||||
/// color||Color|0
|
||||
$--pagination-button-disabled-color: $--color-text-placeholder !default;
|
||||
/// color||Color|0
|
||||
$--pagination-button-disabled-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--pagination-hover-color: $--color-primary !default;
|
||||
|
||||
/* Popup
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--popup-modal-background-color: $--color-black !default;
|
||||
/// opacity||Other|1
|
||||
$--popup-modal-opacity: 0.5 !default;
|
||||
|
||||
/* Popover
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--popover-background-color: $--color-white !default;
|
||||
/// fontSize||Font|1
|
||||
$--popover-font-size: $--font-size-base !default;
|
||||
/// color||Color|0
|
||||
$--popover-border-color: $--border-color-lighter !default;
|
||||
$--popover-arrow-size: 6px !default;
|
||||
/// padding||Spacing|3
|
||||
$--popover-padding: 12px !default;
|
||||
$--popover-padding-large: 18px 20px !default;
|
||||
/// fontSize||Font|1
|
||||
$--popover-title-font-size: 16px !default;
|
||||
/// color||Color|0
|
||||
$--popover-title-font-color: $--color-text-primary !default;
|
||||
|
||||
/* Tooltip
|
||||
-------------------------- */
|
||||
/// color|1|Color|0
|
||||
$--tooltip-fill: $--color-text-primary !default;
|
||||
/// color|1|Color|0
|
||||
$--tooltip-color: $--color-white !default;
|
||||
/// fontSize||Font|1
|
||||
$--tooltip-font-size: 12px !default;
|
||||
/// color||Color|0
|
||||
$--tooltip-border-color: $--color-text-primary !default;
|
||||
$--tooltip-arrow-size: 6px !default;
|
||||
/// padding||Spacing|3
|
||||
$--tooltip-padding: 10px !default;
|
||||
|
||||
/* Tag
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--tag-info-color: $--color-info !default;
|
||||
/// color||Color|0
|
||||
$--tag-primary-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--tag-success-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--tag-warning-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--tag-danger-color: $--color-danger !default;
|
||||
/// fontSize||Font|1
|
||||
$--tag-font-size: 12px !default;
|
||||
$--tag-border-radius: 4px !default;
|
||||
$--tag-padding: 0 10px !default;
|
||||
|
||||
/* Tree
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--tree-node-hover-background-color: $--background-color-base !default;
|
||||
/// color||Color|0
|
||||
$--tree-font-color: $--color-text-regular !default;
|
||||
/// color||Color|0
|
||||
$--tree-expand-icon-color: $--color-text-placeholder !default;
|
||||
|
||||
/* Dropdown
|
||||
-------------------------- */
|
||||
$--dropdown-menu-box-shadow: $--box-shadow-light !default;
|
||||
$--dropdown-menuItem-hover-fill: $--color-primary-light-9 !default;
|
||||
$--dropdown-menuItem-hover-color: $--link-color !default;
|
||||
|
||||
/* Badge
|
||||
-------------------------- */
|
||||
/// color||Color|0
|
||||
$--badge-background-color: $--color-danger !default;
|
||||
$--badge-radius: 10px !default;
|
||||
/// fontSize||Font|1
|
||||
$--badge-font-size: 12px !default;
|
||||
/// padding||Spacing|3
|
||||
$--badge-padding: 6px !default;
|
||||
/// height||Other|4
|
||||
$--badge-size: 18px !default;
|
||||
|
||||
/* Card
|
||||
--------------------------*/
|
||||
/// color||Color|0
|
||||
$--card-border-color: $--border-color-lighter !default;
|
||||
$--card-border-radius: 4px !default;
|
||||
/// padding||Spacing|3
|
||||
$--card-padding: 20px !default;
|
||||
|
||||
/* Slider
|
||||
--------------------------*/
|
||||
/// color||Color|0
|
||||
$--slider-main-background-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--slider-runway-background-color: $--border-color-light !default;
|
||||
$--slider-button-hover-color: mix($--color-primary, black, 97%) !default;
|
||||
$--slider-stop-background-color: $--color-white !default;
|
||||
$--slider-disable-color: $--color-text-placeholder !default;
|
||||
$--slider-margin: 16px 0 !default;
|
||||
$--slider-border-radius: 3px !default;
|
||||
/// height|1|Other|4
|
||||
$--slider-height: 6px !default;
|
||||
/// height||Other|4
|
||||
$--slider-button-size: 16px !default;
|
||||
$--slider-button-wrapper-size: 36px !default;
|
||||
$--slider-button-wrapper-offset: -15px !default;
|
||||
|
||||
/* Steps
|
||||
--------------------------*/
|
||||
$--steps-border-color: $--disabled-border-base !default;
|
||||
$--steps-border-radius: 4px !default;
|
||||
$--steps-padding: 20px !default;
|
||||
|
||||
/* Menu
|
||||
--------------------------*/
|
||||
/// fontSize||Font|1
|
||||
$--menu-item-font-size: $--font-size-base !default;
|
||||
/// color||Color|0
|
||||
$--menu-item-font-color: $--color-text-primary !default;
|
||||
/// color||Color|0
|
||||
$--menu-background-color: $--color-menu-background !default;
|
||||
$--menu-item-hover-fill: $--color-primary-light-9 !default;
|
||||
|
||||
/* Rate
|
||||
--------------------------*/
|
||||
$--rate-height: 20px !default;
|
||||
/// fontSize||Font|1
|
||||
$--rate-font-size: $--font-size-base !default;
|
||||
/// height||Other|3
|
||||
$--rate-icon-size: 18px !default;
|
||||
/// margin||Spacing|2
|
||||
$--rate-icon-margin: 6px !default;
|
||||
$--rate-icon-color: $--color-text-placeholder !default;
|
||||
|
||||
/* DatePicker
|
||||
--------------------------*/
|
||||
$--datepicker-font-color: $--color-text-regular !default;
|
||||
/// color|1|Color|0
|
||||
$--datepicker-off-font-color: $--color-text-placeholder !default;
|
||||
/// color||Color|0
|
||||
$--datepicker-header-font-color: $--color-text-regular !default;
|
||||
$--datepicker-icon-color: $--color-text-primary !default;
|
||||
$--datepicker-border-color: $--disabled-border-base !default;
|
||||
$--datepicker-inner-border-color: #e4e4e4 !default;
|
||||
/// color||Color|0
|
||||
$--datepicker-inrange-background-color: $--border-color-extra-light !default;
|
||||
/// color||Color|0
|
||||
$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default;
|
||||
/// color||Color|0
|
||||
$--datepicker-active-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--datepicker-hover-font-color: $--color-primary !default;
|
||||
$--datepicker-cell-hover-color: #fff !default;
|
||||
|
||||
/* Loading
|
||||
--------------------------*/
|
||||
/// height||Other|4
|
||||
$--loading-spinner-size: 42px !default;
|
||||
/// height||Other|4
|
||||
$--loading-fullscreen-spinner-size: 50px !default;
|
||||
|
||||
/* Scrollbar
|
||||
--------------------------*/
|
||||
$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default;
|
||||
$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default;
|
||||
|
||||
/* Carousel
|
||||
--------------------------*/
|
||||
/// fontSize||Font|1
|
||||
$--carousel-arrow-font-size: 12px !default;
|
||||
$--carousel-arrow-size: 36px !default;
|
||||
$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default;
|
||||
$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default;
|
||||
/// width||Other|4
|
||||
$--carousel-indicator-width: 30px !default;
|
||||
/// height||Other|4
|
||||
$--carousel-indicator-height: 2px !default;
|
||||
$--carousel-indicator-padding-horizontal: 4px !default;
|
||||
$--carousel-indicator-padding-vertical: 12px !default;
|
||||
$--carousel-indicator-out-color: $--border-color-hover !default;
|
||||
|
||||
/* Collapse
|
||||
--------------------------*/
|
||||
/// color||Color|0
|
||||
$--collapse-border-color: $--border-color-lighter !default;
|
||||
/// height||Other|4
|
||||
$--collapse-header-height: 48px !default;
|
||||
/// color||Color|0
|
||||
$--collapse-header-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--collapse-header-font-color: $--color-text-primary !default;
|
||||
/// fontSize||Font|1
|
||||
$--collapse-header-font-size: 13px !default;
|
||||
/// color||Color|0
|
||||
$--collapse-content-background-color: $--color-white !default;
|
||||
/// fontSize||Font|1
|
||||
$--collapse-content-font-size: 13px !default;
|
||||
/// color||Color|0
|
||||
$--collapse-content-font-color: $--color-text-primary !default;
|
||||
|
||||
/* Transfer
|
||||
--------------------------*/
|
||||
$--transfer-border-color: $--border-color-lighter !default;
|
||||
$--transfer-border-radius: $--border-radius-base !default;
|
||||
/// height||Other|4
|
||||
$--transfer-panel-width: 200px !default;
|
||||
/// height||Other|4
|
||||
$--transfer-panel-header-height: 40px !default;
|
||||
/// color||Color|0
|
||||
$--transfer-panel-header-background-color: $--background-color-base !default;
|
||||
/// height||Other|4
|
||||
$--transfer-panel-footer-height: 40px !default;
|
||||
/// height||Other|4
|
||||
$--transfer-panel-body-height: 246px !default;
|
||||
/// height||Other|4
|
||||
$--transfer-item-height: 30px !default;
|
||||
/// height||Other|4
|
||||
$--transfer-filter-height: 32px !default;
|
||||
|
||||
/* Header
|
||||
--------------------------*/
|
||||
$--header-padding: 0 20px !default;
|
||||
|
||||
/* Footer
|
||||
--------------------------*/
|
||||
$--footer-padding: 0 20px !default;
|
||||
|
||||
/* Main
|
||||
--------------------------*/
|
||||
$--main-padding: 20px !default;
|
||||
|
||||
/* Timeline
|
||||
--------------------------*/
|
||||
$--timeline-node-size-normal: 12px !default;
|
||||
$--timeline-node-size-large: 14px !default;
|
||||
$--timeline-node-color: $--border-color-light !default;
|
||||
|
||||
/* Backtop
|
||||
--------------------------*/
|
||||
/// color||Color|0
|
||||
$--backtop-background-color: $--color-white !default;
|
||||
/// color||Color|0
|
||||
$--backtop-font-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--backtop-hover-background-color: $--border-color-extra-light !default;
|
||||
|
||||
/* Link
|
||||
--------------------------*/
|
||||
/// fontSize||Font|1
|
||||
$--link-font-size: $--font-size-base !default;
|
||||
/// fontWeight||Font|1
|
||||
$--link-font-weight: $--font-weight-primary !default;
|
||||
/// color||Color|0
|
||||
$--link-default-font-color: $--color-text-regular !default;
|
||||
/// color||Color|0
|
||||
$--link-default-active-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--link-disabled-font-color: $--color-text-placeholder !default;
|
||||
/// color||Color|0
|
||||
$--link-primary-font-color: $--color-primary !default;
|
||||
/// color||Color|0
|
||||
$--link-success-font-color: $--color-success !default;
|
||||
/// color||Color|0
|
||||
$--link-warning-font-color: $--color-warning !default;
|
||||
/// color||Color|0
|
||||
$--link-danger-font-color: $--color-danger !default;
|
||||
/// color||Color|0
|
||||
$--link-info-font-color: $--color-info !default;
|
||||
/* Calendar
|
||||
--------------------------*/
|
||||
/// border||Other|4
|
||||
$--calendar-border: $--table-border !default;
|
||||
/// color||Other|4
|
||||
$--calendar-selected-background-color: #F2F8FE !default;
|
||||
$--calendar-cell-width: 85px !default;
|
||||
|
||||
/* Form
|
||||
-------------------------- */
|
||||
/// fontSize||Font|1
|
||||
$--form-label-font-size: $--font-size-base !default;
|
||||
|
||||
/* Avatar
|
||||
--------------------------*/
|
||||
/// color||Color|0
|
||||
$--avatar-font-color: #fff !default;
|
||||
/// color||Color|0
|
||||
$--avatar-background-color: #C0C4CC !default;
|
||||
/// fontSize||Font Size|1
|
||||
$--avatar-text-font-size: 14px !default;
|
||||
/// fontSize||Font Size|1
|
||||
$--avatar-icon-font-size: 18px !default;
|
||||
/// borderRadius||Border|2
|
||||
$--avatar-border-radius: $--border-radius-base !default;
|
||||
/// size|1|Avatar Size|3
|
||||
$--avatar-large-size: 40px !default;
|
||||
/// size|1|Avatar Size|3
|
||||
$--avatar-medium-size: 36px !default;
|
||||
/// size|1|Avatar Size|3
|
||||
$--avatar-small-size: 28px !default;
|
||||
|
||||
/* Break-point
|
||||
--------------------------*/
|
||||
$--sm: 768px !default;
|
||||
$--md: 992px !default;
|
||||
$--lg: 1200px !default;
|
||||
$--xl: 1920px !default;
|
||||
|
||||
$--breakpoints: (
|
||||
'xs' : (max-width: $--sm - 1),
|
||||
'sm' : (min-width: $--sm),
|
||||
'md' : (min-width: $--md),
|
||||
'lg' : (min-width: $--lg),
|
||||
'xl' : (min-width: $--xl)
|
||||
);
|
||||
|
||||
$--breakpoints-spec: (
|
||||
'xs-only' : (max-width: $--sm - 1),
|
||||
'sm-and-up' : (min-width: $--sm),
|
||||
'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})",
|
||||
'sm-and-down': (max-width: $--md - 1),
|
||||
'md-and-up' : (min-width: $--md),
|
||||
'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})",
|
||||
'md-and-down': (max-width: $--lg - 1),
|
||||
'lg-and-up' : (min-width: $--lg),
|
||||
'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})",
|
||||
'lg-and-down': (max-width: $--xl - 1),
|
||||
'xl-only' : (min-width: $--xl),
|
||||
);
|
||||
@@ -1,6 +1,10 @@
|
||||
{
|
||||
"scripts": {
|
||||
"theme-orange": "et -c element-variables-orange.scss"
|
||||
"theme-light": "et -c element-variables-light.scss",
|
||||
"theme-dark": "et -c element-variables-dark.scss",
|
||||
"theme-green": "et -c element-variables-green.scss",
|
||||
"theme-orange": "et -c element-variables-orange.scss",
|
||||
"theme-blue": "et -c element-variables-blue.scss"
|
||||
},
|
||||
"devDependencies": {
|
||||
"element-theme": "^2.0.1",
|
||||
|
||||
@@ -154,6 +154,10 @@ body .layer-dialog .layui-layer-content {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.table-check-box {
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
/**
|
||||
* 左侧树状组件的样式,用户高级管理表单以及用户管理表单
|
||||
**/
|
||||
@@ -419,20 +423,6 @@ body .layer-dialog .layui-layer-content {
|
||||
background: #00000000;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
background: none;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #DDDEE0;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #A8A8A8;
|
||||
}
|
||||
.tree-select {
|
||||
.el-tree-node__content {
|
||||
height: 34px;
|
||||
@@ -535,6 +525,21 @@ body .layer-dialog .layui-layer-content {
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
background: none;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #DDDEE0;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #A8A8A8;
|
||||
}
|
||||
|
||||
.ml20 {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
@import "../element-variables-orange.scss";
|
||||
// @import "../element-variables-light.scss";
|
||||
@import "../element-variables-dark.scss";
|
||||
// @import "../element-variables-green.scss";
|
||||
// @import "../element-variables-orange.scss";
|
||||
// @import "../element-variables-blue.scss";
|
||||
@@ -81,6 +81,11 @@ export default {
|
||||
editor: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getHtml () {
|
||||
return this.editor ? this.editor.txt.html() : undefined;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getConfigs () {
|
||||
return {...this.config, ...defaultConfigs};
|
||||
|
||||
@@ -120,10 +120,13 @@ const fetchDownload = function (url, params, fileName) {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// url调用节流Set
|
||||
const ajaxThrottleSet = new Set();
|
||||
/**
|
||||
* 数据请求
|
||||
* @param {String} url 请求的url
|
||||
* @param {String} type 请求类型(get,post)
|
||||
* @param {String} type 请求类型 (get,post)
|
||||
* @param {Object} params 请求参数
|
||||
* @param {Object} axiosOption axios设置
|
||||
* @param {Object} options 显示设置
|
||||
@@ -132,45 +135,52 @@ const doUrl = function (url, type, params, axiosOption, options) {
|
||||
options = merge(globalConfig.httpOption, options);
|
||||
axiosOption = merge(globalConfig.axiosOption, axiosOption);
|
||||
if (type == null || type === '') type = 'post';
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
if (options.showMask) loadingManager.showMask();
|
||||
let ajaxCall = null;
|
||||
if (type.toLowerCase() === 'get') {
|
||||
ajaxCall = fetchGet(url, params, axiosOption);
|
||||
} else if (type.toLowerCase() === 'post') {
|
||||
ajaxCall = fetchPost(url, params, axiosOption);
|
||||
}
|
||||
|
||||
if (ajaxCall != null) {
|
||||
ajaxCall.then(res => {
|
||||
if (options.showMask) loadingManager.hideMask();
|
||||
if (res.data && res.data.success) {
|
||||
resolve(res.data);
|
||||
} else {
|
||||
if (ajaxThrottleSet.has(url)) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
ajaxThrottleSet.add(url);
|
||||
setTimeout(() => {
|
||||
ajaxThrottleSet.delete(url);
|
||||
}, 50);
|
||||
return new Promise((resolve, reject) => {
|
||||
if (options.showMask) loadingManager.showMask();
|
||||
let ajaxCall = null;
|
||||
if (type.toLowerCase() === 'get') {
|
||||
ajaxCall = fetchGet(url, params, axiosOption);
|
||||
} else if (type.toLowerCase() === 'post') {
|
||||
ajaxCall = fetchPost(url, params, axiosOption);
|
||||
}
|
||||
|
||||
if (ajaxCall != null) {
|
||||
ajaxCall.then(res => {
|
||||
if (options.showMask) loadingManager.hideMask();
|
||||
if (res.data && res.data.success) {
|
||||
resolve(res.data);
|
||||
} else {
|
||||
if (options.showError) {
|
||||
Message.error({
|
||||
showClose: true,
|
||||
message: res.data.errorMessage ? res.data.errorMessage : '数据请求失败'
|
||||
});
|
||||
}
|
||||
reject(res.data);
|
||||
}
|
||||
}).catch(e => {
|
||||
if (options.showMask) loadingManager.hideMask();
|
||||
if (options.showError) {
|
||||
Message.error({
|
||||
showClose: true,
|
||||
message: res.data.errorMessage ? res.data.errorMessage : '数据请求失败'
|
||||
message: e.errorMessage ? e.errorMessage : '网络请求错误'
|
||||
});
|
||||
}
|
||||
reject(res.data);
|
||||
}
|
||||
}).catch(e => {
|
||||
reject(e);
|
||||
});
|
||||
} else {
|
||||
if (options.showMask) loadingManager.hideMask();
|
||||
if (options.showError) {
|
||||
Message.error({
|
||||
showClose: true,
|
||||
message: e.errorMessage ? e.errorMessage : '网络请求错误'
|
||||
});
|
||||
}
|
||||
reject(e);
|
||||
});
|
||||
} else {
|
||||
if (options.showMask) loadingManager.hideMask();
|
||||
reject(new Error('错误的请求类型 - ' + type));
|
||||
}
|
||||
});
|
||||
reject(new Error('错误的请求类型 - ' + type));
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Vue.prototype.download = fetchDownload;
|
||||
|
||||
@@ -266,8 +266,8 @@ const cachePageMixin = {
|
||||
activated () {
|
||||
if (this.$route && this.$route.meta && this.$route.meta.refresh) {
|
||||
this.onResume();
|
||||
this.$route.meta.refresh = false;
|
||||
}
|
||||
this.$route.meta.refresh = true;
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import state from '../store/state.js';
|
||||
// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有开发环境使用懒加载
|
||||
// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢
|
||||
const _import = require('./import-' + process.env.NODE_ENV)
|
||||
|
||||
function getProps (route) {
|
||||
@@ -27,13 +27,13 @@ const routers = [
|
||||
showOnly: true
|
||||
},
|
||||
children: [
|
||||
{path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}},
|
||||
{path: 'formSysUser', component: _import('upms/formSysUser/index'), name: 'formSysUser', meta: {title: '用户管理'}},
|
||||
{path: 'formSysRole', component: _import('upms/formSysRole/index'), name: 'formSysRole', meta: {title: '角色管理'}},
|
||||
{path: 'formSysMenu', component: _import(state.supportColumn ? 'upms/formSysMenu/formSysColumnMenu' : 'upms/formSysMenu/index'), name: 'formSysMenu', 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: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', 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: 'formStudent', component: _import('generated/formStudent/index'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}},
|
||||
{path: 'formCourse', component: _import('generated/formCourse/index'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}},
|
||||
|
||||
@@ -42,6 +42,10 @@ class DictionaryBase extends Map {
|
||||
}
|
||||
|
||||
getValue (id, valueId = 'name') {
|
||||
// 如果id为boolean类型,则自动转换为0和1
|
||||
if (typeof id === 'boolean') {
|
||||
id = id ? 1 : 0;
|
||||
}
|
||||
return (this.get(id) || {})[valueId];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,3 +237,202 @@ export function setToken (token) {
|
||||
// Cookies.set('token', token);
|
||||
}
|
||||
}
|
||||
|
||||
export function traversalTree (treeNode, callback, childrenKey = 'children') {
|
||||
if (treeNode != null && Array.isArray(treeNode[childrenKey]) && treeNode[childrenKey].length > 0) {
|
||||
treeNode[childrenKey].forEach(childNode => {
|
||||
traversalTree(childNode, callback, childrenKey);
|
||||
});
|
||||
}
|
||||
return typeof callback === 'function' ? callback(treeNode) : undefined;
|
||||
}
|
||||
|
||||
export class TreeTableImpl {
|
||||
constructor (dataList, options) {
|
||||
this.options = {
|
||||
idKey: options ? options.idKey : 'id',
|
||||
nameKey: options ? options.nameKey : 'name',
|
||||
parentIdKey: options ? options.parentIdKey : 'parentId',
|
||||
isLefeCallback: options ? options.isLefeCallback : undefined,
|
||||
checkStrictly: options ? options.checkStrictly : false
|
||||
}
|
||||
|
||||
this.dataList = Array.isArray(dataList) ? dataList : [];
|
||||
this.dataMap = new Map();
|
||||
this.dataList.forEach(item => {
|
||||
this.dataMap.set(item[this.options.idKey], item);
|
||||
});
|
||||
// 表格选中行
|
||||
this.checkedRows = undefined;
|
||||
this.onCheckedRowChange = this.onCheckedRowChange.bind(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 过滤表格数据
|
||||
* @param {string} filterString 过滤条件字符串
|
||||
* @param {boolean} onlyChecked 是否只显示选中节点
|
||||
* @returns {array} 过滤后的表格数据列表
|
||||
*/
|
||||
getFilterTableData (filterString, onlyChecked = false) {
|
||||
let { idKey, nameKey, parentIdKey, isLefeCallback } = this.options;
|
||||
let tempMap = new Map();
|
||||
let parentIdList = [];
|
||||
this.dataList.forEach(item => {
|
||||
if ((filterString == null || filterString === '' || item[nameKey].indexOf(filterString) !== -1) &&
|
||||
(!onlyChecked || (this.checkedRows != null && this.checkedRows.get(item[idKey])))) {
|
||||
if (isLefeCallback == null || !isLefeCallback(item)) {
|
||||
parentIdList.push(item[idKey]);
|
||||
}
|
||||
// 将命中节点以及它的父节点都设置为命中
|
||||
let tempItem = item;
|
||||
do {
|
||||
tempMap.set(tempItem[idKey], tempItem);
|
||||
tempItem = this.dataMap.get(tempItem[parentIdKey]);
|
||||
} while (tempItem != null)
|
||||
}
|
||||
});
|
||||
|
||||
return this.dataList.map(item => {
|
||||
let disabled = true;
|
||||
|
||||
if (parentIdList.indexOf(item[parentIdKey]) !== -1 || tempMap.get(item[idKey]) != null) {
|
||||
if (parentIdList.indexOf(item[parentIdKey]) !== -1 && (isLefeCallback == null || !isLefeCallback(item))) {
|
||||
parentIdList.push(item[idKey]);
|
||||
}
|
||||
disabled = false;
|
||||
}
|
||||
|
||||
return {
|
||||
...item,
|
||||
__disabled: disabled
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取表格树数据,计算选中状态
|
||||
* @param {array} dataList 表格列表数据
|
||||
*/
|
||||
getTableTreeData (dataList, checkedRows) {
|
||||
let { idKey, parentIdKey, checkStrictly } = this.options;
|
||||
let treeData = [];
|
||||
function calcPermCodeTreeAttribute (treeNode, checkedRows) {
|
||||
let checkedItem = checkedRows == null ? null : checkedRows.get(treeNode[idKey]);
|
||||
treeNode.__checked = checkedItem != null;
|
||||
// 是否所有子权限字都被选中
|
||||
let allChildChecked = true;
|
||||
// 是否任意子权限字被选中
|
||||
let hasChildChecked = false;
|
||||
// 如果存在子权限字
|
||||
if (Array.isArray(treeNode.children) && treeNode.children.length > 0) {
|
||||
treeNode.children.forEach(item => {
|
||||
let isChecked = calcPermCodeTreeAttribute(item, checkedRows);
|
||||
hasChildChecked = hasChildChecked || isChecked;
|
||||
allChildChecked = allChildChecked && isChecked;
|
||||
});
|
||||
} else {
|
||||
allChildChecked = false;
|
||||
}
|
||||
treeNode.__indeterminate = !checkStrictly && hasChildChecked && !allChildChecked;
|
||||
treeNode.__checked = treeNode.__checked || (allChildChecked && !checkStrictly);
|
||||
return treeNode.__checked || treeNode.__indeterminate;
|
||||
}
|
||||
|
||||
if (Array.isArray(dataList)) {
|
||||
treeData = treeDataTranslate(dataList.map(item => {
|
||||
return {...item};
|
||||
}), idKey, parentIdKey);
|
||||
treeData.forEach(item => {
|
||||
calcPermCodeTreeAttribute(item, checkedRows);
|
||||
});
|
||||
}
|
||||
console.log(treeData, checkedRows);
|
||||
return treeData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 树表格行选中状态改变
|
||||
* @param {object} row 选中状态改变行数据
|
||||
*/
|
||||
onCheckedRowChange (row) {
|
||||
if (this.checkedRows == null) {
|
||||
this.checkedRows = new Map();
|
||||
} else {
|
||||
let temp = new Map();
|
||||
this.checkedRows.forEach((item, key) => {
|
||||
temp.set(key, item);
|
||||
});
|
||||
this.checkedRows = temp;
|
||||
}
|
||||
let { idKey } = this.options;
|
||||
if (!row.__checked || row.__indeterminate) {
|
||||
// 节点之前未被选中或者之前为半选状态,修改当前节点以及子节点为选中状态
|
||||
this.checkedRows.set(row[idKey], row);
|
||||
if (Array.isArray(row.children) && !this.options.checkStrictly) {
|
||||
row.children.forEach(childNode => {
|
||||
traversalTree(childNode, (node) => {
|
||||
this.checkedRows.set(node[idKey], node);
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// 节点之前为选中状态,修改节点以及子节点为未选中状态
|
||||
this.checkedRows.delete(row[idKey]);
|
||||
if (Array.isArray(row.children) && !this.options.checkStrictly) {
|
||||
row.children.forEach(childNode => {
|
||||
traversalTree(childNode, (node) => {
|
||||
this.checkedRows.delete(node[idKey]);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有选中的权限字节点
|
||||
* @param {array} treeData 树数据
|
||||
* @param {boolean} includeHalfChecked 是否包含半选节点,默认为false
|
||||
* @returns {array} 选中节点列表
|
||||
*/
|
||||
getCheckedRows (treeData, includeHalfChecked = false) {
|
||||
let checkedRows = [];
|
||||
|
||||
function traversalCallback (node) {
|
||||
if (node == null) return;
|
||||
if (node.__checked || (includeHalfChecked && node.__indeterminate)) {
|
||||
checkedRows.push(node);
|
||||
}
|
||||
}
|
||||
|
||||
if (Array.isArray(treeData) && treeData.length > 0) {
|
||||
treeData.forEach(permCode => {
|
||||
traversalTree(permCode, traversalCallback, 'children');
|
||||
});
|
||||
}
|
||||
|
||||
return checkedRows;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置选中节点
|
||||
* @param {array} checkedRows
|
||||
*/
|
||||
setCheckedRows (checkedRows) {
|
||||
this.checkedRows = new Map();
|
||||
if (Array.isArray(checkedRows)) {
|
||||
checkedRows.forEach(item => {
|
||||
let node = this.dataMap.get(item[this.options.idKey]);
|
||||
if (node != null) {
|
||||
this.checkedRows.set(node[this.options.idKey], node);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 根据id获取表格行
|
||||
* @param {*} id
|
||||
*/
|
||||
getTableRow (id) {
|
||||
return this.dataMap.get(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,13 +240,13 @@ export default {
|
||||
isInit: false
|
||||
},
|
||||
Student: {
|
||||
impl: new TableWidget(this.loadStudentData, this.loadStudentVerify, true, false)
|
||||
impl: new TableWidget(this.loadStudentWidgetData, this.loadStudentVerify, true, false)
|
||||
},
|
||||
Course: {
|
||||
impl: new TableWidget(this.loadCourseData, this.loadCourseVerify, true, false)
|
||||
impl: new TableWidget(this.loadCourseWidgetData, this.loadCourseVerify, true, false)
|
||||
},
|
||||
StudentClass: {
|
||||
impl: new TableWidget(this.loadStudentClassData, this.loadStudentClassVerify, true, true, 'createTime', 1)
|
||||
impl: new TableWidget(this.loadStudentClassWidgetData, this.loadStudentClassVerify, true, true, 'createTime', 1)
|
||||
},
|
||||
classStudentCard: {
|
||||
isInit: false
|
||||
@@ -265,7 +265,7 @@ export default {
|
||||
/**
|
||||
* 班级学生数据获取函数,返回Promise
|
||||
*/
|
||||
loadStudentData (params) {
|
||||
loadStudentWidgetData (params) {
|
||||
if (
|
||||
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
|
||||
) {
|
||||
@@ -297,7 +297,7 @@ export default {
|
||||
/**
|
||||
* 班级课程数据获取函数,返回Promise
|
||||
*/
|
||||
loadCourseData (params) {
|
||||
loadCourseWidgetData (params) {
|
||||
if (
|
||||
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
|
||||
) {
|
||||
@@ -329,7 +329,7 @@ export default {
|
||||
/**
|
||||
* 班级数据数据获取函数,返回Promise
|
||||
*/
|
||||
loadStudentClassData (params) {
|
||||
loadStudentClassWidgetData (params) {
|
||||
if (params == null) params = {};
|
||||
params = {
|
||||
...params,
|
||||
@@ -626,7 +626,8 @@ export default {
|
||||
return this.formClass.StudentClass.impl.currentRow != null;
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -141,7 +141,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadDifficultyDropdownList)
|
||||
},
|
||||
Course: {
|
||||
impl: new TableWidget(this.loadCourseData, this.loadCourseVerify, true, false, 'createTime', 1)
|
||||
impl: new TableWidget(this.loadCourseWidgetData, this.loadCourseVerify, true, false, 'createTime', 1)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -151,7 +151,7 @@ export default {
|
||||
/**
|
||||
* 课程数据数据获取函数,返回Promise
|
||||
*/
|
||||
loadCourseData (params) {
|
||||
loadCourseWidgetData (params) {
|
||||
if (params == null) params = {};
|
||||
params = {
|
||||
...params,
|
||||
@@ -307,7 +307,8 @@ export default {
|
||||
this.refreshFormCourse();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<el-form-item label="统计日期">
|
||||
<date-range class="filter-item" v-model="formCourseStats.formFilter.statsDate" :clearable="true" :allowTypes="['day']" align="left"
|
||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormCourseStats(true)">查询</el-button>
|
||||
</filter-box>
|
||||
@@ -114,7 +114,7 @@ export default {
|
||||
statsDate: []
|
||||
},
|
||||
courseStatsByGradeId: {
|
||||
impl: new ChartWidget(this.loadCourseStatsByGradeIdData, this.loadCourseStatsByGradeIdVerify,
|
||||
impl: new ChartWidget(this.loadCourseStatsByGradeIdWidgetData, this.loadCourseStatsByGradeIdVerify,
|
||||
['gradeIdShowName', 'studentFlowerAmount']),
|
||||
chartOption: defaultPieChartOption,
|
||||
chartSetting: {
|
||||
@@ -127,7 +127,7 @@ export default {
|
||||
}
|
||||
},
|
||||
courseStatsBySubject: {
|
||||
impl: new ChartWidget(this.loadCourseStatsBySubjectData, this.loadCourseStatsBySubjectVerify,
|
||||
impl: new ChartWidget(this.loadCourseStatsBySubjectWidgetData, this.loadCourseStatsBySubjectVerify,
|
||||
['subjectIdShowName', 'studentFlowerAmount']),
|
||||
chartOption: defaultPieChartOption,
|
||||
chartSetting: {
|
||||
@@ -140,7 +140,7 @@ export default {
|
||||
}
|
||||
},
|
||||
CourseTransStats: {
|
||||
impl: new ChartWidget(this.loadCourseTransStatsData, this.loadCourseTransStatsVerify,
|
||||
impl: new ChartWidget(this.loadCourseTransStatsWidgetData, this.loadCourseTransStatsVerify,
|
||||
['statsDateShowName', 'studentAttendCount', 'studentFlowerAmount', 'studentFlowerCount']),
|
||||
chartOption: defaultBarChartOption,
|
||||
chartSetting: {
|
||||
@@ -161,7 +161,7 @@ export default {
|
||||
/**
|
||||
* 课程统计(年级)数据获取函数,返回Promise
|
||||
*/
|
||||
loadCourseStatsByGradeIdData () {
|
||||
loadCourseStatsByGradeIdWidgetData () {
|
||||
let params = {
|
||||
groupParam: [
|
||||
{
|
||||
@@ -203,7 +203,7 @@ export default {
|
||||
/**
|
||||
* 课程统计(学科)数据获取函数,返回Promise
|
||||
*/
|
||||
loadCourseStatsBySubjectData () {
|
||||
loadCourseStatsBySubjectWidgetData () {
|
||||
let params = {
|
||||
groupParam: [
|
||||
{
|
||||
@@ -245,7 +245,7 @@ export default {
|
||||
/**
|
||||
* 课程流水统计数据获取函数,返回Promise
|
||||
*/
|
||||
loadCourseTransStatsData () {
|
||||
loadCourseTransStatsWidgetData () {
|
||||
let params = {
|
||||
groupParam: [
|
||||
{
|
||||
@@ -327,7 +327,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -103,22 +103,22 @@ export default {
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'StudentClass.className': [
|
||||
{required: true, message: '请输入班级名称', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.classLevel': [
|
||||
{required: true, message: '请输入班级级别', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.leaderId': [
|
||||
{required: true, message: '请输入班长', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.finishClassHour': [
|
||||
{required: true, message: '请输入已完成课时', trigger: 'blur'},
|
||||
{type: 'integer', message: '已完成课时只允许输入整数', trigger: 'blur', transform: (value) => Number(value)},
|
||||
{type: 'number', min: 0, max: 9999, message: '已完成课时必须在0 - 9999之间', trigger: 'blur', transform: (value) => Number(value)}
|
||||
],
|
||||
'StudentClass.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.classLevel': [
|
||||
{required: true, message: '请输入班级级别', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.leaderId': [
|
||||
{required: true, message: '请输入班长', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.className': [
|
||||
{required: true, message: '请输入班级名称', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formCreateClass: {
|
||||
@@ -285,7 +285,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -124,9 +124,15 @@ export default {
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'Course.pictureUrl': [
|
||||
{required: true, message: '请输入课程图片', trigger: 'blur'}
|
||||
],
|
||||
'Course.courseName': [
|
||||
{required: true, message: '请输入课程名称', trigger: 'blur'}
|
||||
],
|
||||
'Course.gradeId': [
|
||||
{required: true, message: '请输入所属年级', trigger: 'blur'}
|
||||
],
|
||||
'Course.price': [
|
||||
{required: true, message: '请输入课程价格', trigger: 'blur'},
|
||||
{type: 'number', message: '课程价格只允许输入数字', trigger: 'blur', transform: (value) => Number(value)},
|
||||
@@ -135,9 +141,6 @@ export default {
|
||||
'Course.difficulty': [
|
||||
{required: true, message: '请输入课程难度', trigger: 'blur'}
|
||||
],
|
||||
'Course.gradeId': [
|
||||
{required: true, message: '请输入所属年级', trigger: 'blur'}
|
||||
],
|
||||
'Course.subjectId': [
|
||||
{required: true, message: '请输入所属学科', trigger: 'blur'}
|
||||
],
|
||||
@@ -145,9 +148,6 @@ export default {
|
||||
{required: true, message: '请输入课时数量', trigger: 'blur'},
|
||||
{type: 'integer', message: '课时数量只允许输入整数', trigger: 'blur', transform: (value) => Number(value)},
|
||||
{type: 'number', min: 1, message: '课时数量必须大于1', trigger: 'blur', transform: (value) => Number(value)}
|
||||
],
|
||||
'Course.pictureUrl': [
|
||||
{required: true, message: '请输入课程图片', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formCreateCourse: {
|
||||
@@ -337,7 +337,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -76,11 +76,11 @@ export default {
|
||||
'SchoolInfo.schoolName': [
|
||||
{required: true, message: '请输入学校名称', trigger: 'blur'}
|
||||
],
|
||||
'SchoolInfo.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
],
|
||||
'SchoolInfo.cityId': [
|
||||
{required: true, message: '请输入所在城市', trigger: 'blur'}
|
||||
],
|
||||
'SchoolInfo.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formCreateSchool: {
|
||||
@@ -212,7 +212,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<el-form-item label="出生日期" prop="Student.birthday">
|
||||
<el-date-picker class="input-item" v-model="formData.Student.birthday" :clearable="true"
|
||||
placeholder="出生日期" type="date" align="left"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd 00:00:00" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -147,36 +147,36 @@ export default {
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'Student.studentName': [
|
||||
{required: true, message: '请输入姓名', trigger: 'blur'}
|
||||
'Student.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
],
|
||||
'Student.gender': [
|
||||
{required: true, message: '请输入性别', trigger: 'blur'}
|
||||
],
|
||||
'Student.birthday': [
|
||||
{required: true, message: '请输入出生日期', trigger: 'blur'}
|
||||
'Student.gradeId': [
|
||||
{required: true, message: '请输入所在年级', trigger: 'blur'}
|
||||
],
|
||||
'Student.loginMobile': [
|
||||
{required: true, message: '请输入手机号码', trigger: 'blur'},
|
||||
{type: 'string', pattern: rules.pattern.mobie, message: '请输入正确的手机号码', trigger: 'blur'}
|
||||
],
|
||||
'Student.gradeId': [
|
||||
{required: true, message: '请输入所在年级', trigger: 'blur'}
|
||||
],
|
||||
'Student.experienceLevel': [
|
||||
{required: true, message: '请输入经验等级', trigger: 'blur'}
|
||||
],
|
||||
'Student.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
],
|
||||
'Student.cityId': [
|
||||
{required: true, message: '请输入所在城市', trigger: 'blur'}
|
||||
],
|
||||
'Student.districtId': [
|
||||
{required: true, message: '请输入所在区县', trigger: 'blur'}
|
||||
],
|
||||
'Student.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
],
|
||||
'Student.studentName': [
|
||||
{required: true, message: '请输入姓名', trigger: 'blur'}
|
||||
],
|
||||
'Student.birthday': [
|
||||
{required: true, message: '请输入出生日期', trigger: 'blur'}
|
||||
],
|
||||
'Student.gender': [
|
||||
{required: true, message: '请输入性别', trigger: 'blur'}
|
||||
],
|
||||
'Student.districtId': [
|
||||
{required: true, message: '请输入所在区县', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formCreateStudent: {
|
||||
@@ -462,7 +462,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -106,22 +106,22 @@ export default {
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'StudentClass.className': [
|
||||
{required: true, message: '请输入班级名称', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.classLevel': [
|
||||
{required: true, message: '请输入班级级别', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.leaderId': [
|
||||
{required: true, message: '请输入班长', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.finishClassHour': [
|
||||
{required: true, message: '请输入已完成课时', trigger: 'blur'},
|
||||
{type: 'integer', message: '已完成课时只允许输入整数', trigger: 'blur', transform: (value) => Number(value)},
|
||||
{type: 'number', min: 0, max: 9999, message: '已完成课时必须在0 - 9999之间', trigger: 'blur', transform: (value) => Number(value)}
|
||||
],
|
||||
'StudentClass.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.classLevel': [
|
||||
{required: true, message: '请输入班级级别', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.leaderId': [
|
||||
{required: true, message: '请输入班长', trigger: 'blur'}
|
||||
],
|
||||
'StudentClass.className': [
|
||||
{required: true, message: '请输入班级名称', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formEditClass: {
|
||||
@@ -328,7 +328,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -193,7 +193,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -127,9 +127,15 @@ export default {
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'Course.pictureUrl': [
|
||||
{required: true, message: '请输入课程图片', trigger: 'blur'}
|
||||
],
|
||||
'Course.courseName': [
|
||||
{required: true, message: '请输入课程名称', trigger: 'blur'}
|
||||
],
|
||||
'Course.gradeId': [
|
||||
{required: true, message: '请输入所属年级', trigger: 'blur'}
|
||||
],
|
||||
'Course.price': [
|
||||
{required: true, message: '请输入课程价格', trigger: 'blur'},
|
||||
{type: 'number', message: '课程价格只允许输入数字', trigger: 'blur', transform: (value) => Number(value)},
|
||||
@@ -138,9 +144,6 @@ export default {
|
||||
'Course.difficulty': [
|
||||
{required: true, message: '请输入课程难度', trigger: 'blur'}
|
||||
],
|
||||
'Course.gradeId': [
|
||||
{required: true, message: '请输入所属年级', trigger: 'blur'}
|
||||
],
|
||||
'Course.subjectId': [
|
||||
{required: true, message: '请输入所属学科', trigger: 'blur'}
|
||||
],
|
||||
@@ -148,9 +151,6 @@ export default {
|
||||
{required: true, message: '请输入课时数量', trigger: 'blur'},
|
||||
{type: 'integer', message: '课时数量只允许输入整数', trigger: 'blur', transform: (value) => Number(value)},
|
||||
{type: 'number', min: 1, message: '课时数量必须大于1', trigger: 'blur', transform: (value) => Number(value)}
|
||||
],
|
||||
'Course.pictureUrl': [
|
||||
{required: true, message: '请输入课程图片', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formEditCourse: {
|
||||
@@ -386,7 +386,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -79,11 +79,11 @@ export default {
|
||||
'SchoolInfo.schoolName': [
|
||||
{required: true, message: '请输入学校名称', trigger: 'blur'}
|
||||
],
|
||||
'SchoolInfo.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
],
|
||||
'SchoolInfo.cityId': [
|
||||
{required: true, message: '请输入所在城市', trigger: 'blur'}
|
||||
],
|
||||
'SchoolInfo.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formEditSchool: {
|
||||
@@ -252,7 +252,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<el-form-item label="出生日期" prop="Student.birthday">
|
||||
<el-date-picker class="input-item" v-model="formData.Student.birthday" :clearable="true"
|
||||
placeholder="出生日期" type="date" align="left"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd 00:00:00" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -172,36 +172,33 @@ export default {
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'Student.studentName': [
|
||||
{required: true, message: '请输入姓名', trigger: 'blur'}
|
||||
'Student.gradeId': [
|
||||
{required: true, message: '请输入所在年级', trigger: 'blur'}
|
||||
],
|
||||
'Student.gender': [
|
||||
{required: true, message: '请输入性别', trigger: 'blur'}
|
||||
],
|
||||
'Student.birthday': [
|
||||
{required: true, message: '请输入出生日期', trigger: 'blur'}
|
||||
'Student.status': [
|
||||
{required: true, message: '请输入学生状态 ', trigger: 'blur'}
|
||||
],
|
||||
'Student.loginMobile': [
|
||||
{required: true, message: '请输入手机号码', trigger: 'blur'},
|
||||
{type: 'string', pattern: rules.pattern.mobie, message: '请输入正确的手机号码', trigger: 'blur'}
|
||||
],
|
||||
'Student.gradeId': [
|
||||
{required: true, message: '请输入所在年级', trigger: 'blur'}
|
||||
],
|
||||
'Student.experienceLevel': [
|
||||
{required: true, message: '请输入经验等级', trigger: 'blur'}
|
||||
],
|
||||
'Student.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
],
|
||||
'Student.gender': [
|
||||
{required: true, message: '请输入性别', trigger: 'blur'}
|
||||
],
|
||||
'Student.provinceId': [
|
||||
{required: true, message: '请输入所在省份', trigger: 'blur'}
|
||||
],
|
||||
'Student.cityId': [
|
||||
{required: true, message: '请输入所在城市', trigger: 'blur'}
|
||||
],
|
||||
'Student.districtId': [
|
||||
{required: true, message: '请输入所在区县', trigger: 'blur'}
|
||||
],
|
||||
'Student.schoolId': [
|
||||
{required: true, message: '请输入所属校区', trigger: 'blur'}
|
||||
'Student.studentName': [
|
||||
{required: true, message: '请输入姓名', trigger: 'blur'}
|
||||
],
|
||||
'Student.totalCoin': [
|
||||
{required: true, message: '请输入充值学币', trigger: 'blur'},
|
||||
@@ -213,8 +210,11 @@ export default {
|
||||
{type: 'integer', message: '剩余学币只允许输入整数', trigger: 'blur', transform: (value) => Number(value)},
|
||||
{type: 'number', min: 0, message: '剩余学币必须大于0', trigger: 'blur', transform: (value) => Number(value)}
|
||||
],
|
||||
'Student.status': [
|
||||
{required: true, message: '请输入学生状态 ', trigger: 'blur'}
|
||||
'Student.birthday': [
|
||||
{required: true, message: '请输入出生日期', trigger: 'blur'}
|
||||
],
|
||||
'Student.districtId': [
|
||||
{required: true, message: '请输入所在区县', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
formEditStudent: {
|
||||
@@ -576,7 +576,8 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -106,7 +106,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadCityIdDropdownList)
|
||||
},
|
||||
SchoolInfo: {
|
||||
impl: new TableWidget(this.loadSchoolInfoData, this.loadSchoolInfoVerify, true, false)
|
||||
impl: new TableWidget(this.loadSchoolInfoWidgetData, this.loadSchoolInfoVerify, true, false)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -116,7 +116,7 @@ export default {
|
||||
/**
|
||||
* 校区数据数据获取函数,返回Promise
|
||||
*/
|
||||
loadSchoolInfoData (params) {
|
||||
loadSchoolInfoWidgetData (params) {
|
||||
if (params == null) params = {};
|
||||
params = {
|
||||
...params,
|
||||
@@ -262,7 +262,8 @@ export default {
|
||||
this.refreshFormSchool();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -128,7 +128,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadDifficultyDropdownList)
|
||||
},
|
||||
Course: {
|
||||
impl: new TableWidget(this.loadCourseData, this.loadCourseVerify, true, false)
|
||||
impl: new TableWidget(this.loadCourseWidgetData, this.loadCourseVerify, true, false)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -146,7 +146,7 @@ export default {
|
||||
/**
|
||||
* 班级课程数据获取函数,返回Promise
|
||||
*/
|
||||
loadCourseData (params) {
|
||||
loadCourseWidgetData (params) {
|
||||
if (
|
||||
this.classId == null
|
||||
) {
|
||||
@@ -286,7 +286,8 @@ export default {
|
||||
this.refreshFormSetClassCourse();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -96,7 +96,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadSchoolIdDropdownList)
|
||||
},
|
||||
Student: {
|
||||
impl: new TableWidget(this.loadStudentData, this.loadStudentVerify, true, false)
|
||||
impl: new TableWidget(this.loadStudentWidgetData, this.loadStudentVerify, true, false)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -114,7 +114,7 @@ export default {
|
||||
/**
|
||||
* 班级学生数据获取函数,返回Promise
|
||||
*/
|
||||
loadStudentData (params) {
|
||||
loadStudentWidgetData (params) {
|
||||
if (
|
||||
this.classId == null
|
||||
) {
|
||||
@@ -212,7 +212,8 @@ export default {
|
||||
this.refreshFormSetClassStudent();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<el-form-item label="注册日期">
|
||||
<date-range class="filter-item" v-model="formStudent.formFilter.registerDate" :clearable="true" :allowTypes="['day']" align="left"
|
||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="学生姓名">
|
||||
<el-input class="filter-item" v-model="formStudent.formFilter.searchString"
|
||||
@@ -133,7 +133,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadGradeIdDropdownList)
|
||||
},
|
||||
Student: {
|
||||
impl: new TableWidget(this.loadStudentData, this.loadStudentVerify, true, false, 'registerTime', 1)
|
||||
impl: new TableWidget(this.loadStudentWidgetData, this.loadStudentVerify, true, false, 'registerTime', 1)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -143,7 +143,7 @@ export default {
|
||||
/**
|
||||
* 学生数据数据获取函数,返回Promise
|
||||
*/
|
||||
loadStudentData (params) {
|
||||
loadStudentWidgetData (params) {
|
||||
if (params == null) params = {};
|
||||
params = {
|
||||
...params,
|
||||
@@ -295,7 +295,8 @@ export default {
|
||||
computed: {
|
||||
...mapGetters(['getMainContextHeight'])
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<el-form-item label="统计日期">
|
||||
<date-range class="filter-item" v-model="formStudentActionDetail.formFilter.statsDate" :clearable="true" :allowTypes="['day']" align="left"
|
||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="所属年级">
|
||||
<el-select class="filter-item" v-model="formStudentActionDetail.formFilter.gradeId" :clearable="true" filterable
|
||||
@@ -126,7 +126,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadActionTypeDropdownList)
|
||||
},
|
||||
StudentActionTrans: {
|
||||
impl: new TableWidget(this.loadStudentActionTransData, this.loadStudentActionTransVerify, true, false, 'createTime', 1)
|
||||
impl: new TableWidget(this.loadStudentActionTransWidgetData, this.loadStudentActionTransVerify, true, false, 'createTime', 1)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -141,7 +141,7 @@ export default {
|
||||
/**
|
||||
* 学生行为流水数据获取函数,返回Promise
|
||||
*/
|
||||
loadStudentActionTransData (params) {
|
||||
loadStudentActionTransWidgetData (params) {
|
||||
if (params == null) params = {};
|
||||
params = {
|
||||
...params,
|
||||
@@ -233,7 +233,8 @@ export default {
|
||||
this.refreshFormStudentActionDetail();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<el-form-item label="统计日期">
|
||||
<date-range class="filter-item" v-model="formStudentActionStats.formFilter.statsDate" :clearable="true" :allowTypes="['day']" align="left"
|
||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss" />
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="年级">
|
||||
<el-select class="filter-item" v-model="formStudentActionStats.formFilter.gradeId" :clearable="true" filterable
|
||||
@@ -116,7 +116,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadGradeIdDropdownList)
|
||||
},
|
||||
StudentActionStats: {
|
||||
impl: new TableWidget(this.loadStudentActionStatsData, this.loadStudentActionStatsVerify, true, false, 'statsDate', 1)
|
||||
impl: new TableWidget(this.loadStudentActionStatsWidgetData, this.loadStudentActionStatsVerify, true, false, 'statsDate', 1)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
@@ -126,7 +126,7 @@ export default {
|
||||
/**
|
||||
* 学生行为统计数据获取函数,返回Promise
|
||||
*/
|
||||
loadStudentActionStatsData (params) {
|
||||
loadStudentActionStatsWidgetData (params) {
|
||||
if (params == null) params = {};
|
||||
params = {
|
||||
...params,
|
||||
@@ -308,7 +308,8 @@ export default {
|
||||
this.refreshFormStudentActionStats();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
mounted () {
|
||||
// 初始化页面数据
|
||||
this.formInit();
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<el-container>
|
||||
<el-aside width="300px">
|
||||
<el-card class="base-card" shadow="never" title="字典列表" :body-style="{ padding: '0px' }">
|
||||
<el-card class="base-card" shadow="never" :body-style="{ padding: '0px' }">
|
||||
<div slot="header" class="base-card-header">
|
||||
<span>字典列表</span>
|
||||
</div>
|
||||
<el-scrollbar :style="{height: (getClientHeight - 184) + 'px'}" class="custom-scroll">
|
||||
<el-scrollbar :style="{height: (getMainContextHeight - 94) + 'px'}" class="custom-scroll">
|
||||
<el-tree :data="dictList" :props="{label: 'name'}" node-key="variableName" :highlight-current="true"
|
||||
:current-node-key="(dictList[0] || {}).variableName" @node-click="onDictChange">
|
||||
<div class="module-node-item" slot-scope="{ data }">
|
||||
@@ -37,7 +37,7 @@
|
||||
<el-col :span="24">
|
||||
<el-table :data="getCurrentDictData" size="mini" header-cell-class-name="table-header-gray"
|
||||
:row-style="tableRowStyle"
|
||||
:height="(getClientHeight - 178) + 'px'" row-key="id">
|
||||
:height="(getMainContextHeight - 88) + 'px'" row-key="id">
|
||||
<el-table-column label="ID" prop="id" />
|
||||
<el-table-column label="字典名称" prop="name">
|
||||
<template slot-scope="scope">
|
||||
@@ -69,7 +69,7 @@ import { DictionaryController } from '@/api';
|
||||
import editDict from '@/views/upms/formEditDict';
|
||||
|
||||
export default {
|
||||
name: 'systemDictManagement',
|
||||
name: 'formDictManagement',
|
||||
data () {
|
||||
return {
|
||||
dictList: [
|
||||
@@ -84,7 +84,6 @@ export default {
|
||||
listApi: DictionaryController.dictGradeAll,
|
||||
addApi: DictionaryController.dictAddGrade,
|
||||
deleteApi: DictionaryController.dictDeleteGrade,
|
||||
batchDeleteApi: DictionaryController.dictBatchDeleteGrade,
|
||||
updateApi: DictionaryController.dictUpdateGrade,
|
||||
reloadCachedDataApi: DictionaryController.dictReloadGradeCachedData
|
||||
}
|
||||
@@ -142,9 +141,10 @@ export default {
|
||||
},
|
||||
onRefreshCacheData () {
|
||||
this.$confirm('是否同步缓存?').then(res => {
|
||||
this.currentDict.reloadCachedDataApi(this).then(res => {
|
||||
this.$message.success('同步成功');
|
||||
}).catch(e => {});
|
||||
return this.currentDict.reloadCachedDataApi(this);
|
||||
}).then(res => {
|
||||
this.$message.success('同步成功');
|
||||
this.updateDictData();
|
||||
}).catch(e => {});
|
||||
},
|
||||
onAddDictData () {
|
||||
@@ -183,7 +183,7 @@ export default {
|
||||
getCurrentDictData () {
|
||||
return this.currentDictDataList;
|
||||
},
|
||||
...mapGetters(['getClientHeight'])
|
||||
...mapGetters(['getMainContextHeight'])
|
||||
},
|
||||
mounted () {
|
||||
this.onDictChange(this.dictList[0]);
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="菜单路由">
|
||||
<el-input v-model="formData.formRouterName" placeholder="菜单路由" :disabled="formData.menuType !== 1" />
|
||||
<el-input v-model="formData.formRouterName" placeholder="菜单路由"
|
||||
:disabled="formData.menuType !== 1" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -62,6 +63,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
import { treeDataTranslate, findTreeNodePath, findTreeNode, findItemFromList } from '@/utils'
|
||||
import { SystemController } from '@/api'
|
||||
import IconSelect from '@/components/IconSelect/index.vue'
|
||||
@@ -109,7 +111,6 @@ export default {
|
||||
parentMenuPath: [],
|
||||
menuTree: [],
|
||||
permCodeList: [],
|
||||
selectPermCode: undefined,
|
||||
defaultExpandedKeys: [],
|
||||
rules: {
|
||||
menuName: [{required: true, message: '请输入菜单名称', trigger: 'blur'}],
|
||||
@@ -163,13 +164,11 @@ export default {
|
||||
if (this.parentMenuPath.length > 0) {
|
||||
params.sysMenu.parentId = this.parentMenuPath[this.parentMenuPath.length - 1];
|
||||
}
|
||||
|
||||
if ([this.SysMenuType.MENU, this.SysMenuType.BUTTON, this.SysMenuType.FRAGMENT].indexOf(params.sysMenu.menuType) !== -1) {
|
||||
let tempList = this.$refs.permCodeTree.getHalfCheckedKeys();
|
||||
tempList = tempList.concat(this.$refs.permCodeTree.getCheckedKeys());
|
||||
params.permCodeIdListString = tempList.join(',');
|
||||
}
|
||||
|
||||
if (this.isEdit) {
|
||||
SystemController.updateMenu(this, params).then(res => {
|
||||
resolve(res);
|
||||
|
||||
@@ -81,7 +81,6 @@ export default {
|
||||
permName: undefined,
|
||||
url: undefined,
|
||||
showOrder: undefined,
|
||||
createTime: undefined,
|
||||
deletedFlag: undefined
|
||||
}
|
||||
},
|
||||
|
||||
@@ -86,8 +86,7 @@ export default {
|
||||
moduleName: undefined,
|
||||
moduleType: undefined,
|
||||
level: undefined,
|
||||
showOrder: undefined,
|
||||
createTime: undefined
|
||||
showOrder: undefined
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
|
||||
@@ -38,11 +38,6 @@
|
||||
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDateByStatsType(scope.row.createTime, 'day')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-col :span="24">
|
||||
<el-row type="flex" justify="end" style="margin-top: 10px;">
|
||||
@@ -94,7 +89,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadSysUserStatusDropdownList)
|
||||
},
|
||||
SysUser: {
|
||||
impl: new TableWidget(this.loadSysUserData, this.loadSysUserVerify, true, false, 'createTime', 1)
|
||||
impl: new TableWidget(this.loadSysUserData, this.loadSysUserVerify, true, false)
|
||||
},
|
||||
isInit: false
|
||||
},
|
||||
|
||||
@@ -91,13 +91,13 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
getMenuType (row) {
|
||||
if (row.menuType === 0) {
|
||||
if (row.menuType === this.SysMenuType.DIRECTORY) {
|
||||
return 'primary'
|
||||
} else if (row.menuType === 1) {
|
||||
} else if (row.menuType === this.SysMenuType.MENU) {
|
||||
return 'success';
|
||||
} else if (row.menuType === 2) {
|
||||
} else if (row.menuType === this.SysMenuType.FRAGMENT) {
|
||||
return 'danger';
|
||||
} else if (row.menuType === 3) {
|
||||
} else if (row.menuType === this.SysMenuType.BUTTON) {
|
||||
return 'warning';
|
||||
}
|
||||
},
|
||||
|
||||
@@ -57,11 +57,6 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="关联URL" prop="url" min-width="250px">
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" width="100px">
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDateByStatsType(scope.row.createTime, 'day')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="150px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="onEditPermModuleClick(scope.row)" type="text" size="mini"
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { treeDataTranslate } from '@/utils';
|
||||
/* eslint-disable-next-line */
|
||||
import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/widget.js';
|
||||
@@ -259,7 +260,8 @@ export default {
|
||||
console.log(e);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
},
|
||||
...mapGetters(['getMainContextHeight'])
|
||||
},
|
||||
created () {
|
||||
this.formInit();
|
||||
|
||||
@@ -25,13 +25,6 @@
|
||||
:index="fragmentSysRole.SysRole.impl.getTableIndex" />
|
||||
<el-table-column label="角色名称" prop="roleName">
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人" prop="createUsername">
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDateByStatsType(scope.row.createTime, 'day')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="150px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="onEditSysRoleClick(scope.row)" type="text" size="mini"
|
||||
@@ -112,11 +105,6 @@
|
||||
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDateByStatsType(scope.row.createTime, 'day')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="80px">
|
||||
<template slot-scope="scope">
|
||||
<el-button class="btn-table-delete" type="text" size="mini"
|
||||
@@ -175,7 +163,7 @@ export default {
|
||||
sysRoleName: undefined
|
||||
},
|
||||
SysRole: {
|
||||
impl: new TableWidget(this.loadSysRoleData, this.loadSysRoleVerify, true, false, 'createTime', 1)
|
||||
impl: new TableWidget(this.loadSysRoleData, this.loadSysRoleVerify, true, false)
|
||||
},
|
||||
isInit: false
|
||||
},
|
||||
@@ -188,7 +176,7 @@ export default {
|
||||
impl: new DropdownWidget(this.loadSysRoleDropdownList)
|
||||
},
|
||||
SysUser: {
|
||||
impl: new TableWidget(this.loadSysUserData, this.loadSysUserVerify, true, false, 'createTime', 1)
|
||||
impl: new TableWidget(this.loadSysUserData, this.loadSysUserVerify, true, false)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
|
||||
@@ -1,224 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form label-width="75px" size="mini" label-position="right" @submit.native.prevent>
|
||||
<filter-box :item-width="350">
|
||||
<el-form-item label="用户角色">
|
||||
<el-select class="filter-item" v-model="formSysUser.formFilter.sysRoleId" clearable
|
||||
placeholder="用户角色" :loading="formSysUser.sysRole.impl.loading"
|
||||
@visible-change="formSysUser.sysRole.impl.onVisibleChange"
|
||||
@change="onRoleChange">
|
||||
<el-option v-for="item in formSysUser.sysRole.impl.dropdownList" :key="item.roleId" :value="item.roleId" :label="item.roleName" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名">
|
||||
<el-input class="filter-item" v-model="formSysUser.formFilter.sysUserLoginName"
|
||||
:clearable="true" placeholder="输入用户名 / 昵称查询" @change="refreshFormSysUser(true)" />
|
||||
</el-form-item>
|
||||
<el-button slot="operator" type="primary" :plain="true" size="mini" @click="refreshFormSysUser(true)">
|
||||
查询
|
||||
</el-button>
|
||||
<el-button slot="operator" type="primary" size="mini" @click="onAddRow()"
|
||||
:disabled="!checkPermCodeExist('sysRoleUserManagement:addUserRole') || formSysUser.formFilter.sysRoleId == null || formSysUser.formFilter.sysRoleId === ''">
|
||||
添加人员
|
||||
</el-button>
|
||||
</filter-box>
|
||||
</el-form>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-table :data="formSysUser.SysUser.impl.dataList" size="mini" @sort-change="formSysUser.SysUser.impl.onSortChange"
|
||||
header-cell-class-name="table-header-gray">
|
||||
<el-table-column label="序号" header-align="center" align="center" type="index" width="50px" :index="formSysUser.SysUser.impl.getTableIndex" />
|
||||
<el-table-column label="用户名" prop="loginName">
|
||||
</el-table-column>
|
||||
<el-table-column label="昵称" prop="showName">
|
||||
</el-table-column>
|
||||
<el-table-column label="账号类型">
|
||||
<template slot-scope="scope">
|
||||
<span>{{SysUserType.getValue(scope.row.userType)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="getUserStatusType(scope.row.userStatus)" size="mini">{{SysUserStatus.getValue(scope.row.userStatus)}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDateByStatsType(scope.row.createTime, 'day')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="80px">
|
||||
<template slot-scope="scope">
|
||||
<el-button class="btn-table-delete" type="text" size="mini"
|
||||
:disabled="!checkPermCodeExist('sysRoleUserManagement:deleteUserRole')" @click="onDeleteRow(scope.row)">移除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-col :span="24">
|
||||
<el-row type="flex" justify="end" style="margin-top: 10px;">
|
||||
<el-pagination
|
||||
:total="formSysUser.SysUser.impl.totalCount"
|
||||
:current-page="formSysUser.SysUser.impl.currentPage"
|
||||
:page-size="formSysUser.SysUser.impl.pageSize"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
layout="total, prev, pager, next, sizes"
|
||||
@current-change="formSysUser.SysUser.impl.onCurrentPageChange"
|
||||
@size-change="formSysUser.SysUser.impl.onPageSizeChange">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/* eslint-disable-next-line */
|
||||
import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/widget.js';
|
||||
/* eslint-disable-next-line */
|
||||
import { uploadMixin, statsDateRangeMixin, cachePageMixin, cachedPageChildMixin } from '@/core/mixins';
|
||||
/* eslint-disable-next-line */
|
||||
import { SystemController, DictionaryController } from '@/api';
|
||||
import formSetRoleUsers from '@/views/upms/formSetRoleUsers';
|
||||
|
||||
export default {
|
||||
name: 'sysRoleUserManagement',
|
||||
props: {
|
||||
},
|
||||
mixins: [uploadMixin, statsDateRangeMixin, cachePageMixin],
|
||||
data () {
|
||||
return {
|
||||
formSysUser: {
|
||||
formFilter: {
|
||||
sysRoleId: undefined,
|
||||
sysUserLoginName: undefined
|
||||
},
|
||||
sysRole: {
|
||||
impl: new DropdownWidget(this.loadSysRoleDropdownList)
|
||||
},
|
||||
SysUser: {
|
||||
impl: new TableWidget(this.loadSysUserData, this.loadSysUserVerify, true, false, 'createTime', 1)
|
||||
},
|
||||
isInit: false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onRoleChange (value) {
|
||||
this.refreshFormSysUser(true);
|
||||
},
|
||||
getUserStatusType (status) {
|
||||
if (status === this.SysUserStatus.NORMAL) {
|
||||
return 'success';
|
||||
} else if (status === this.SysUserStatus.LOCKED) {
|
||||
return 'danger';
|
||||
} else {
|
||||
return 'info';
|
||||
}
|
||||
},
|
||||
onAddRow () {
|
||||
if (this.formSysUser.formFilter.sysRoleId == null || this.formSysUser.formFilter.sysRoleId === '') {
|
||||
this.$message.error('请选择角色');
|
||||
return false;
|
||||
}
|
||||
this.$dialog.show('角色用户授权', formSetRoleUsers, {
|
||||
area: '1100px',
|
||||
offset: '50px'
|
||||
}, {
|
||||
roleId: this.formSysUser.formFilter.sysRoleId
|
||||
}).catch(e => {
|
||||
this.refreshFormSysUser(true);
|
||||
});
|
||||
},
|
||||
onDeleteRow (row) {
|
||||
this.$confirm('是否移除此用户?').then(res => {
|
||||
let params = {
|
||||
roleId: this.formSysUser.formFilter.sysRoleId,
|
||||
userId: row.userId
|
||||
}
|
||||
return SystemController.deleteRoleUser(this, params);
|
||||
}).then(res => {
|
||||
this.$message.success('移除成功');
|
||||
this.refreshFormSysUser(true);
|
||||
}).catch(e => {});
|
||||
},
|
||||
/**
|
||||
* 用户列表数据获取函数,返回Primise
|
||||
*/
|
||||
loadSysUserData (params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (this.formSysUser.formFilter.sysRoleId == null || this.formSysUser.formFilter.sysRoleId === '') {
|
||||
this.$message.error('请选择角色');
|
||||
resolve({
|
||||
dataList: [],
|
||||
totalCount: 0
|
||||
});
|
||||
return;
|
||||
}
|
||||
params.roleId = this.formSysUser.formFilter.sysRoleId;
|
||||
params.sysUserFilter = {
|
||||
loginName: this.formSysUser.formFilter.sysUserLoginName
|
||||
}
|
||||
SystemController.listRoleUser(this, params).then(res => {
|
||||
resolve({
|
||||
dataList: res.data.dataList,
|
||||
totalCount: res.data.totalCount
|
||||
});
|
||||
}).catch(e => {
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 用户列表数据获取检测函数,返回true正常获取数据,返回false停止获取数据
|
||||
*/
|
||||
loadSysUserVerify () {
|
||||
if (this.formSysUser.formFilter.sysRoleId == null || this.formSysUser.formFilter.sysRoleId === '') {
|
||||
this.$message.error('请选择角色');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
/**
|
||||
* 角色下拉数据获取函数
|
||||
*/
|
||||
loadSysRoleDropdownList () {
|
||||
return new Promise((resolve, reject) => {
|
||||
let params = {};
|
||||
SystemController.getRoleList(this, params).then(res => {
|
||||
resolve(res.data.dataList);
|
||||
}).catch(e => {
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
},
|
||||
onRuleChange (value) {
|
||||
this.refreshFormSysUser(true);
|
||||
},
|
||||
/**
|
||||
* 更新用户列表
|
||||
*/
|
||||
refreshFormSysUser (reloadData = false) {
|
||||
// 重新获取数据组件的数据
|
||||
if (reloadData) {
|
||||
this.formSysUser.SysUser.impl.refreshTable(true, 1);
|
||||
} else {
|
||||
this.formSysUser.SysUser.impl.refreshTable();
|
||||
}
|
||||
this.formSysUser.sysRole.impl.onVisibleChange(true).catch(e => {});
|
||||
this.formSysUser.isInit = true;
|
||||
},
|
||||
onResume () {
|
||||
this.refreshFormSysUser();
|
||||
},
|
||||
initFormData () {
|
||||
},
|
||||
formInit () {
|
||||
this.initFormData();
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.formInit();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -43,9 +43,21 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="220px">
|
||||
<template slot-scope="scope">
|
||||
<el-button class="btn-table-edit" type="text" size="mini" @click="onEditRow(scope.row)" :disabled="isAdmin(scope.row) || !checkPermCodeExist('formSysUser:fragmentSysUser:update')" >编辑</el-button>
|
||||
<el-button class="btn-table-delete" type="text" size="mini" @click="onDeleteRow(scope.row)" :disabled="isAdmin(scope.row) || !checkPermCodeExist('formSysUser:fragmentSysUser:delete')">删除</el-button>
|
||||
<el-button class="btn-table-delete" type="text" size="mini" :disabled="!checkPermCodeExist('formSysUser:fragmentSysUser:resetPassword')" @click="onResetPassword(scope.row)">重置密码</el-button>
|
||||
<el-button class="btn-table-edit" type="text" size="mini" @click="onEditRow(scope.row)"
|
||||
:disabled="isAdmin(scope.row) || !checkPermCodeExist('formSysUser:fragmentSysUser:update')"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button class="btn-table-delete" type="text" size="mini" @click="onDeleteRow(scope.row)"
|
||||
:disabled="isAdmin(scope.row) || !checkPermCodeExist('formSysUser:fragmentSysUser:delete')"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
<el-button class="btn-table-delete" type="text" size="mini" @click="onResetPassword(scope.row)"
|
||||
:disabled="!checkPermCodeExist('formSysUser:fragmentSysUser:resetPassword')"
|
||||
>
|
||||
重置密码
|
||||
</el-button>
|
||||
<el-button class="btn-table-primary" type="text" size="mini"
|
||||
v-if="checkPermCodeExist('formSysUser:fragmentSysUser:listSysUserPermDetail')"
|
||||
@click="onSysUserPermClick(scope.row)">
|
||||
|
||||
Reference in New Issue
Block a user