Compare commits

...

3 Commits
dev ... master

Author SHA1 Message Date
YuNan a5e6218806 修改颜色 2025-02-23 15:21:29 +08:00
YuNan 4f6ca271c0 优化学科过滤功能 2025-02-23 12:26:50 +08:00
中青华年 c46475239e 添加学科过滤 2025-02-23 09:54:25 +08:00
5 changed files with 199 additions and 47 deletions

View File

@ -1,6 +1,6 @@
// 站点主色 // 站点主色
// tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致 // tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致
$--color-primary: #409EFF; $--color-primary: #0E99DE;
// Navbar // Navbar
$navbar--background-color: $--color-primary; $navbar--background-color: $--color-primary;

View File

@ -6,9 +6,9 @@ export default {
// 页面文档可视高度(随窗口改变大小) // 页面文档可视高度(随窗口改变大小)
documentClientHeight: 0, documentClientHeight: 0,
// 导航条, 布局风格, defalut(默认) / inverse(反向) // 导航条, 布局风格, defalut(默认) / inverse(反向)
navbarLayoutType: 'default', navbarLayoutType: 'inverse',
// 侧边栏, 布局皮肤, light(浅色) / dark(黑色) // 侧边栏, 布局皮肤, light(浅色) / dark(黑色)
sidebarLayoutSkin: 'dark', sidebarLayoutSkin: 'light',
// 侧边栏, 折叠状态 // 侧边栏, 折叠状态
sidebarFold: false, sidebarFold: false,
// 侧边栏, 菜单 // 侧边栏, 菜单

View File

@ -5,7 +5,7 @@
<el-input v-model="dataForm.userName" placeholder="姓名" clearable></el-input> <el-input v-model="dataForm.userName" placeholder="姓名" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="getDataList()">查询</el-button> <el-button @click="getData()">查询</el-button>
<!-- <el-button v-if="isAuth('stu:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>--> <!-- <el-button v-if="isAuth('stu:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>-->
<el-button v-if="isAuth('teach:user:delete')" type="danger" @click="deleteHandle()" <el-button v-if="isAuth('teach:user:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">批量删除 :disabled="dataListSelections.length <= 0">批量删除
@ -17,7 +17,7 @@
</el-form> </el-form>
<el-table @sort-change="sortChange" :data="dataList" border v-loading="dataListLoading" @selection-change="selectionChangeHandle" <el-table @sort-change="sortChange" @filter-change="filterChange" :data="dataList" border v-loading="dataListLoading" @selection-change="selectionChangeHandle"
style="width: 100%;"> style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"> <el-table-column type="selection" header-align="center" align="center" width="50">
</el-table-column> </el-table-column>
@ -45,7 +45,25 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column <el-table-column
column-key="majorId"
:filter-multiple="false"
:filters="[
{text: '语文', value: 1},
{text: '地理', value: 4},
{text: '历史', value: 7},
{text: '政治', value: 8}
]"
:filter-method="filterMajor"
prop="majorId"
header-align="center"
align="center"
label="学科">
<template slot-scope="scope">
{{ isMajor(scope.row.majorId) }}
</template>
</el-table-column>
<el-table-column
header-align="center" header-align="center"
align="center" align="center"
prop="groupId" prop="groupId"
@ -102,6 +120,7 @@ export default {
dataListSelections: [], dataListSelections: [],
addOrUpdateVisible: false, addOrUpdateVisible: false,
groupIdes: [], groupIdes: [],
majorIds: 0,
json_fields: { json_fields: {
"序号": "index", "序号": "index",
"姓名": "userName", "姓名": "userName",
@ -180,6 +199,19 @@ export default {
} }
}, },
filterChange(value) {
const majorFilter = value.majorId || []
const majorIds = majorFilter.join(',')
this.majorIds = majorIds
console.log("11111",this.majorIds)
//
this.pageIndex = 1
//
this.myPageSize = [5, 10, 20, 50, 100, 500]
this.getDataList('', '', this.majorIds)
},
// Excel // Excel
async getExportExcel(){ async getExportExcel(){
let excelData=[] let excelData=[]
@ -217,10 +249,18 @@ export default {
// return "" // return ""
// } // }
}, },
async getData(){
if(this.majorIds === 0){
console.log(this.majorIds);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
},
// //
getDataList(prop='',sort='') { async getDataList(prop='', sort='', arr='') {
this.dataListLoading = true this.dataListLoading = true
this.$http({ await this.$http({
url: this.$http.adornUrl('/teach/list'), url: this.$http.adornUrl('/teach/list'),
method: 'get', method: 'get',
params: this.$http.adornParams({ params: this.$http.adornParams({
@ -228,7 +268,8 @@ export default {
'limit': this.pageSize, 'limit': this.pageSize,
'userName': this.dataForm.userName, 'userName': this.dataForm.userName,
'prop': prop, 'prop': prop,
'sort': sort 'sort': sort,
'arr': arr
}) })
}).then(({data}) => { }).then(({data}) => {
if (data && data.code === 200) { if (data && data.code === 200) {
@ -239,18 +280,29 @@ export default {
this.totalCount = 0 this.totalCount = 0
} }
this.dataListLoading = false this.dataListLoading = false
this.queryCount(0)
}) })
}, },
// //
sizeChangeHandle(val) { sizeChangeHandle(val) {
this.pageSize = val this.pageSize = val
this.pageIndex = 1 this.pageIndex = 1
this.getDataList() if(this.majorIds === 0){
console.log(this.majorId);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
}, },
// //
currentChangeHandle(val) { currentChangeHandle(val) {
this.pageIndex = val this.pageIndex = val
this.getDataList() if(this.majorIds === 0){
console.log(this.majorIds);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
}, },
// //
selectionChangeHandle(val) { selectionChangeHandle(val) {
@ -290,6 +342,19 @@ export default {
}) })
}).catch(() => { }).catch(() => {
}) })
},
//
filterMajor(value, row) {
return row.majorId == value;
},
//
isMajor(majorId) {
switch (majorId) {
case 1: return '语文'
case 4: return '地理'
case 7: return '历史'
case 8: return '政治'
}
} }
} }
} }

View File

@ -5,7 +5,7 @@
<el-input v-model="dataForm.userName" placeholder="姓名" clearable></el-input> <el-input v-model="dataForm.userName" placeholder="姓名" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="getDataList()">查询</el-button> <el-button @click="getData()">查询</el-button>
<!-- <el-button v-if="isAuth('stu:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>--> <!-- <el-button v-if="isAuth('stu:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>-->
<el-button v-if="isAuth('stu:user:delete')" type="danger" @click="deleteHandle()" <el-button v-if="isAuth('stu:user:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">批量删除 :disabled="dataListSelections.length <= 0">批量删除
@ -15,7 +15,7 @@
<el-button type='primary'>导出</el-button> <el-button type='primary'>导出</el-button>
</download-excel> </download-excel>
</el-form> </el-form>
<el-table @sort-change="sortChange" :data="dataList" border v-loading="dataListLoading" @selection-change="selectionChangeHandle" <el-table @sort-change="sortChange" @filter-change="filterChange" :data="dataList" border v-loading="dataListLoading" @selection-change="selectionChangeHandle"
style="width: 100%;"> style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"> <el-table-column type="selection" header-align="center" align="center" width="50">
</el-table-column> </el-table-column>
@ -42,6 +42,25 @@
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column
column-key="majorId"
:filter-multiple="false"
:filters="[
{text: '语文', value: 1},
{text: '地理', value: 4},
{text: '历史', value: 7},
{text: '政治', value: 8}
]"
:filter-method="filterMajor"
prop="majorId"
header-align="center"
align="center"
label="学科">
<template slot-scope="scope">
{{ isMajor(scope.row.majorId) }}
</template>
</el-table-column>
<el-table-column <el-table-column
header-align="center" header-align="center"
align="center" align="center"
@ -100,6 +119,7 @@ export default {
dataListSelections: [], dataListSelections: [],
addOrUpdateVisible: false, addOrUpdateVisible: false,
groupIdes: [], groupIdes: [],
majorIds: 0,
json_fields: { json_fields: {
"序号":"index", "序号":"index",
"姓名": "userName", "姓名": "userName",
@ -171,6 +191,19 @@ export default {
} }
}, },
filterChange(value) {
const majorFilter = value.majorId || []
const majorIds = majorFilter.join(',')
this.majorIds = majorIds
console.log("11111",this.majorIds)
//
this.pageIndex = 1
//
this.myPageSize = [5, 10, 20, 50, 100, 500]
this.getDataList('', '', this.majorIds)
},
// Excel // Excel
async getExportExcel(){ async getExportExcel(){
let excelData=[] let excelData=[]
@ -205,8 +238,16 @@ export default {
// return "" // return ""
// } // }
}, },
async getData(){
if(this.majorIds === 0){
console.log(this.majorIds);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
},
// //
getDataList(prop='',sort='') { getDataList(prop='', sort='', arr='') {
this.dataListLoading = true this.dataListLoading = true
this.$http({ this.$http({
url: this.$http.adornUrl('/stu/list'), url: this.$http.adornUrl('/stu/list'),
@ -216,7 +257,8 @@ export default {
'limit': this.pageSize, 'limit': this.pageSize,
'userName': this.dataForm.userName, 'userName': this.dataForm.userName,
'prop': prop, 'prop': prop,
'sort': sort 'sort': sort,
'arr': arr //
}) })
}).then(({data}) => { }).then(({data}) => {
if (data && data.code === 200) { if (data && data.code === 200) {
@ -227,18 +269,29 @@ export default {
this.totalCount = 0 this.totalCount = 0
} }
this.dataListLoading = false this.dataListLoading = false
this.queryCount(0)
}) })
}, },
// //
sizeChangeHandle(val) { sizeChangeHandle(val) {
this.pageSize = val this.pageSize = val
this.pageIndex = 1 this.pageIndex = 1
this.getDataList() if(this.majorIds === 0){
console.log(this.majorId);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
}, },
// //
currentChangeHandle(val) { currentChangeHandle(val) {
this.pageIndex = val this.pageIndex = val
this.getDataList() if(this.majorIds === 0){
console.log(this.majorId);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
}, },
// //
selectionChangeHandle(val) { selectionChangeHandle(val) {
@ -278,6 +331,17 @@ export default {
}) })
}).catch(() => { }).catch(() => {
}) })
},
filterMajor(value, row) {
return row.majorId == value;
},
isMajor(majorId) {
switch (majorId) {
case 1: return '语文'
case 4: return '地理'
case 7: return '历史'
case 8: return '政治'
}
} }
} }
} }

View File

@ -5,8 +5,8 @@
<el-input v-model="dataForm.userName" placeholder="姓名" clearable></el-input> <el-input v-model="dataForm.userName" placeholder="姓名" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="getDataList()">查询</el-button> <el-button @click="getData()">查询</el-button>
<el-button v-if="isAuth('stu:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button> <el-button v-if="isAuth('stu:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
<el-button v-if="isAuth('wai:user:delete')" type="danger" @click="deleteHandle()" <el-button v-if="isAuth('wai:user:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">批量删除 :disabled="dataListSelections.length <= 0">批量删除
</el-button> </el-button>
@ -100,13 +100,19 @@
<el-table-column sortable="custom" prop="sex" header-align="center" align="center" label="性别"> <el-table-column sortable="custom" prop="sex" header-align="center" align="center" label="性别">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-if="isAuth('sys:user:list')" column-key="majorId"
:show-overflow-tooltip="true"
min-width="120"
:filter-multiple="false" :filter-multiple="false"
:filters="[{text: '语文', value: 1}, {text: '地理', value: 4}, {text: '历史', value: 7}, {text: '政治', value: 8}]" :filters="[
filter-placement="bottom-end" {text: '语文', value: 1},
prop="majorId" header-align="center" align="center" label="学科"> {text: '地理', value: 4},
{text: '历史', value: 7},
{text: '政治', value: 8}
]"
:filter-method="filterMajor"
prop="majorId"
header-align="center"
align="center"
label="学科">
<template slot-scope="scope"> <template slot-scope="scope">
{{ isMajor(scope.row.majorId) }} {{ isMajor(scope.row.majorId) }}
</template> </template>
@ -226,6 +232,7 @@ export default {
dataListSelections: [], dataListSelections: [],
addOrUpdateVisible: false, addOrUpdateVisible: false,
groupIdes: [], groupIdes: [],
majorIds: 0,
json_fields: { json_fields: {
"序号": "index", "序号": "index",
"姓名": "userName", "姓名": "userName",
@ -327,25 +334,18 @@ export default {
// const property = column["property"]; // const property = column["property"];
// return row[property] === value; // return row[property] === value;
// }, // },
filterChange(value){ filterChange(value) {
console.log(value) const majorFilter = value.majorId || []
let arr='' const majorIds = majorFilter.join(',')
console.log(value["el-table_1_column_7"]) this.majorIds = majorIds
value["el-table_1_column_7"].forEach((item) => { //console.log(this.majorIds)
if (item) {
arr += item + ','
}
})
this.getDataList('','',arr).then(()=>{
this.myPageSize=[this.totalCount]
if (value["el-table_1_column_7"].length===0){
this.myPageSize=[5,10, 20, 50, 100,500]
}
})
// value.forEach((item) => { //
// console.log(item) this.pageIndex = 1
// }) //
this.myPageSize = [5, 10, 20, 50, 100, 500]
this.getDataList('', '', majorIds)
}, },
isMajor(majorId) { isMajor(majorId) {
@ -510,8 +510,16 @@ export default {
// return "" // return ""
// } // }
}, },
async getData(){
if(this.majorIds === 0){
console.log(this.majorIds);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
},
// //
async getDataList(prop='',sort='',arr='') { async getDataList(prop = '', sort = '', arr = '') {
this.dataListLoading = true this.dataListLoading = true
await this.$http({ await this.$http({
url: this.$http.adornUrl('/wai/list'), url: this.$http.adornUrl('/wai/list'),
@ -522,7 +530,7 @@ export default {
'userName': this.dataForm.userName, 'userName': this.dataForm.userName,
'prop': prop, 'prop': prop,
'sort': sort, 'sort': sort,
'arr':arr 'arr': arr
}) })
}).then(({data}) => { }).then(({data}) => {
if (data && data.code === 200) { if (data && data.code === 200) {
@ -539,13 +547,24 @@ export default {
// //
sizeChangeHandle(val) { sizeChangeHandle(val) {
this.pageSize = val this.pageSize = val
this.pageIndex = 1 this.pageIndex = 1 //
this.getDataList() if(this.majorIds === 0){
console.log(this.majorIds);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
}, },
// //
currentChangeHandle(val) { currentChangeHandle(val) {
this.pageIndex = val this.pageIndex = val
this.getDataList() console.log("1111",val)
if(this.majorIds === 0){
console.log(this.majorIds);
this.getDataList()
return;
}
this.getDataList('','',this.majorIds)
}, },
// //
selectionChangeHandle(val) { selectionChangeHandle(val) {
@ -646,6 +665,10 @@ export default {
this.waiCount = {...data.data} this.waiCount = {...data.data}
}) })
}, },
//
filterMajor(value, row) {
return row.majorId == value;
},
} }
} }
</script> </script>