commit:1.5多应用版本

This commit is contained in:
Jerry
2021-03-31 09:43:36 +08:00
parent 060cb450be
commit 71d07cefb3
1343 changed files with 11695 additions and 71470 deletions

View File

@@ -234,20 +234,20 @@ export default {
schoolId: undefined,
className: undefined
},
classCourseCard: {
isInit: false
},
schoolId: {
impl: new DropdownWidget(this.loadSchoolIdDropdownList)
},
classCourseCard: {
isInit: false
},
Student: {
impl: new TableWidget(this.loadStudentData, this.loadStudentVerify, true, false)
impl: new TableWidget(this.loadStudentWidgetData, this.loadStudentVerify, 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)
},
Course: {
impl: new TableWidget(this.loadCourseData, this.loadCourseVerify, true, false, 'createTime', 1)
impl: new TableWidget(this.loadCourseWidgetData, this.loadCourseVerify, true, false, 'createTime', 1)
},
classStudentCard: {
isInit: false
@@ -266,7 +266,7 @@ export default {
/**
* 班级学生数据获取函数返回Promise
*/
loadStudentData (params) {
loadStudentWidgetData (params) {
if (
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
) {
@@ -298,7 +298,7 @@ export default {
/**
* 班级数据数据获取函数返回Promise
*/
loadStudentClassData (params) {
loadStudentClassWidgetData (params) {
if (params == null) params = {};
params = {
...params,
@@ -336,7 +336,7 @@ export default {
/**
* 班级课程数据获取函数返回Promise
*/
loadCourseData (params) {
loadCourseWidgetData (params) {
if (
(this.formClass.StudentClass.impl.currentRow || {}).classId == null
) {
@@ -609,7 +609,8 @@ export default {
return this.formClass.StudentClass.impl.currentRow != null;
}
},
created () {
mounted () {
// 初始化页面数据
this.formInit();
},
watch: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {
@@ -284,7 +284,8 @@ export default {
},
computed: {
},
created () {
mounted () {
// 初始化页面数据
this.formInit();
},
watch: {

View File

@@ -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: 'integer', 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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {
@@ -327,7 +327,8 @@ export default {
},
computed: {
},
created () {
mounted () {
// 初始化页面数据
this.formInit();
},
watch: {

View File

@@ -193,7 +193,8 @@ export default {
},
computed: {
},
created () {
mounted () {
// 初始化页面数据
this.formInit();
},
watch: {

View File

@@ -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: 'integer', 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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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]);

View File

@@ -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);

View File

@@ -81,7 +81,6 @@ export default {
permName: undefined,
url: undefined,
showOrder: undefined,
createTime: undefined,
deletedFlag: undefined
}
},

View File

@@ -86,8 +86,7 @@ export default {
moduleName: undefined,
moduleType: undefined,
level: undefined,
showOrder: undefined,
createTime: undefined
showOrder: undefined
}
},
rules: {

View File

@@ -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
},

View File

@@ -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';
}
},

View File

@@ -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"

View File

@@ -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();

View File

@@ -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
}

View File

@@ -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>

View File

@@ -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)">