mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-09 02:46:45 +08:00
feat:合并
This commit is contained in:
@@ -22,3 +22,12 @@ export const QueryAssessmentManageMessage = (obj) => http.post('/admin/assessmen
|
||||
|
||||
// 评估管理评估详情查看
|
||||
export const QueryAssessmentDetail = (obj) => http.post('/admin/assessment/manage/queryAssessmentDetail', obj)
|
||||
|
||||
// 下载中心
|
||||
export const DownLoadList = (obj) => http.get('/admin/download/page', {params: obj})
|
||||
|
||||
// 下载中心容量查询
|
||||
export const DownLoadTotalSize = (obj) => http.get('/admin/download/totalSize', {params: obj})
|
||||
|
||||
// 下载中心删除
|
||||
export const RemoveDownLoadHomeWork = (obj) => http.get('/admin/download/del', {params: obj})
|
||||
|
||||
BIN
src/assets/images/courseManage/downloadnodata.png
Normal file
BIN
src/assets/images/courseManage/downloadnodata.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -29,7 +29,7 @@
|
||||
v-for="(values, index) in questionListArr"
|
||||
:key="index">
|
||||
<!-- 单项选择 -->
|
||||
<div v-if="values[0].questionType==1" class="assessbox" style="margin-top: 30px">
|
||||
<div v-if="values.questionType==1" class="assessbox" style="margin-top: 30px">
|
||||
<div class="box1">
|
||||
<div class="asstype">评估类型:</div>
|
||||
<div class="typename">单选</div>
|
||||
@@ -37,18 +37,18 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">题干:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
{{values[0]?.singleStemName}}
|
||||
{{values?.singleStemName}}
|
||||
</div>
|
||||
</div>
|
||||
<div v-for="(iitem,indexs) in values" :key="indexs">
|
||||
<div class="box1" style="margin-left: 55px; margin-top: 20px">
|
||||
<div class="asstype">选择{{indexs+1}}:</div>
|
||||
<div>
|
||||
<div class="box1" v-for="(itteems, indexss) in values.assessmentSingleChoiceVoList" style="margin-left: 55px; margin-top: 20px" :key="indexss">
|
||||
<div class="asstype">选择{{indexss+1}}:</div>
|
||||
<div style="display:flex;justify-content:center;align-items:center;">
|
||||
<div v-if="iitem.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div v-if="itteems.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||
</div>
|
||||
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||
{{iitem.singleOptionName}}
|
||||
{{itteems.singleOptionName}}
|
||||
</div>
|
||||
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||
</div>
|
||||
@@ -56,7 +56,7 @@
|
||||
<div style="margin-bottom:30px;"></div>
|
||||
</div>
|
||||
<!-- 多项选择 -->
|
||||
<div v-if="values[0].questionType==2" class="assessbox" style="margin-top: 30px">
|
||||
<div v-if="values.questionType==2" class="assessbox" style="margin-top: 30px">
|
||||
<div class="box1">
|
||||
<div class="asstype">评估类型:</div>
|
||||
<div class="typename">多选</div>
|
||||
@@ -64,18 +64,18 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">题干:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
{{values[0]?.multipleStemName}}
|
||||
{{values?.multipleStemName}}
|
||||
</div>
|
||||
</div>
|
||||
<div v-for="(iitem,indexs) in values" :key="indexs">
|
||||
<div class="box1" style="margin-left: 55px; margin-top: 20px">
|
||||
<div class="asstype">选择{{indexs+1}}:</div>
|
||||
<div>
|
||||
<div class="box1" v-for="(itteems, indexss) in values.multipleChoiceVoList" style="margin-left: 55px; margin-top: 20px" :key="indexss">
|
||||
<div class="asstype">选择{{indexss+1}}:</div>
|
||||
<div style="display:flex;justify-content:center;align-items:center;">
|
||||
<div v-if="iitem.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div v-if="itteems.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||
</div>
|
||||
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||
{{iitem.multipleOptionName}}
|
||||
{{itteems.multipleOptionName}}
|
||||
</div>
|
||||
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||
</div>
|
||||
@@ -83,7 +83,7 @@
|
||||
<div style="margin-bottom:30px;"></div>
|
||||
</div>
|
||||
<!-- 问答题 -->
|
||||
<div v-if="values[0].questionType==3" class="assessbox" style="margin-top: 30px">
|
||||
<div v-if="values.questionType==3" class="assessbox" style="margin-top: 30px">
|
||||
<div class="box1">
|
||||
<div class="asstype">评估类型:</div>
|
||||
<div class="typename">问答题</div>
|
||||
@@ -91,7 +91,7 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">标题:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
{{values[0]?.assessmentQaTitle}}
|
||||
{{values?.assessmentQaTitle}}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
@@ -100,12 +100,12 @@
|
||||
>
|
||||
<div class="asstype">描述:</div>
|
||||
<div style="color: rgba(51, 51, 51, 1); font-size: 14px">
|
||||
{{ values[0]?.assessmentQaDescribe }}
|
||||
{{ values?.assessmentQaDescribe }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 评分题 -->
|
||||
<div v-if="values[0].questionType==4" class="assessbox" style="margin-top: 30px">
|
||||
<div v-if="values.questionType==4" class="assessbox" style="margin-top: 30px">
|
||||
<div class="box1">
|
||||
<div class="asstype">评估类型:</div>
|
||||
<div class="typename">评分题</div>
|
||||
@@ -113,13 +113,13 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">标题:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
{{values[0]?.assessmentScTitle}}{{ values[0]?.assessmentMinScore }}{{ values[0]?.assessmentMaxScore }}
|
||||
{{values?.assessmentScTitle}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="lastbox">
|
||||
<div class="sorcetext">非常不满意</div>
|
||||
<div class="sorcebox" v-for="(iittem, index) in [1,2,3,4,5,6,7,8,9,10]" :key="index">
|
||||
<div :class="index+1 == values[0].selectAnswer ? 'numbox' : 'numbox1'">{{ iittem }}</div>
|
||||
<div v-if="iittem >= values.assessmentMinScore && iittem <= values.assessmentMaxScore" :class="index+1 == values.selectAnswer ? 'numbox' : 'numbox1'">{{ iittem }}</div>
|
||||
</div>
|
||||
<div class="sorcetext">非常满意</div>
|
||||
</div>
|
||||
@@ -200,8 +200,14 @@ export default {
|
||||
}).then(res=>{
|
||||
console.log(res)
|
||||
if(res.data.code==200){
|
||||
let qarr = [res.data.data.assessmentEssayQuestionDtoList, res.data.data.assessmentMultipleChoiceDtoList,res.data.data.assessmentScoringQuestionDtoList,res.data.data.assessmentSingleChoiceDtoList]
|
||||
let newarr = formateArr(qarr).sort((a, b) => { return a[0].orderNumber - b[0].orderNumber})
|
||||
let qarr = [res.data.data.essayQuestionVoList, res.data.data.multipleStemVoList,res.data.data.scoringQuestionVoList,res.data.data.singleStemVoList]
|
||||
let allArr = []
|
||||
for(let i=0;i<qarr.length;i++){
|
||||
for(let j=0;j<qarr[i].length;j++){
|
||||
allArr.push(qarr[i][j])
|
||||
}
|
||||
}
|
||||
let newarr = formateArr(allArr).sort((a, b) => { return a.orderNumber - b.orderNumber})
|
||||
state.questionListArr = newarr
|
||||
console.log('我是经过排序后的题目',newarr)
|
||||
}
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
/>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<div class="btn1">
|
||||
<div class="btn1" @click="searchDownloadList">
|
||||
<div class="img1">
|
||||
<img src="../assets/images/courseManage/search0.png" />
|
||||
</div>
|
||||
<div class="wz">搜索</div>
|
||||
</div>
|
||||
<div class="btn2">
|
||||
<div class="btn2" @click="reseatDownloadList">
|
||||
<div class="img2">
|
||||
<img src="../assets/images/courseManage/reset1.png" />
|
||||
</div>
|
||||
@@ -53,17 +53,21 @@
|
||||
"
|
||||
>
|
||||
<div>当前容量:</div>
|
||||
<div>55.01MB / 2GB</div>
|
||||
<div>{{formatCapacity(capacity)}} / 2GB</div>
|
||||
</div>
|
||||
<a-progress :percent="40" :width="200" :show-info="false" :stroke-color="{
|
||||
'0%': '#45B058',
|
||||
'100%': '#45B058',
|
||||
<a-progress :percent="countCMB" :width="200" :show-info="false" :stroke-color="{
|
||||
'0%': countCMB>2?'#FF0000 ':'#45B058',
|
||||
'100%': countCMB>2?'#FF0000 ':'#45B058',
|
||||
}" />
|
||||
<div v-if="countCMB>2" style="color:rgba(255, 116, 116, 1);font-size:12px;">容量已满,请删除文件</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 文件容器 -->
|
||||
<div style="display:flex;flex-wrap:wrap;">
|
||||
<div v-for="(values, index) in homeWorkList" class="zipcontainer" :key="index">
|
||||
<div v-if="homeWorkList.length==0" style="width:100%;height:500px;display:flex;justify-content:center;align-items:center;border:1px solid #d9d9d9;border-radius: 8px;margin-top: 60px;">
|
||||
<img src="../assets/images/courseManage/downloadnodata.png" />
|
||||
</div>
|
||||
<div v-else v-for="(values, index) in homeWorkList" class="zipcontainer" :key="index">
|
||||
<!-- 单个文件 -->
|
||||
<div v-if="values" class="item">
|
||||
<div class="itemup">
|
||||
@@ -71,56 +75,159 @@
|
||||
<div class="cent">
|
||||
<div class="zip"></div>
|
||||
<div class="ziprit">
|
||||
<div class="textop">作业名称</div>
|
||||
<div class="textop">{{values.name}}</div>
|
||||
<div class="texdown">
|
||||
<div class="timemanag" style="margin-top: 12px">
|
||||
2022-08-08 10:30:30 管理员
|
||||
{{values.createTime?values.createTime:'-'}} {{values.createName?values.createName:'-'}}
|
||||
</div>
|
||||
<div class="timemanag">来源:管理者进阶-腾飞班Z1</div>
|
||||
<div class="timemanag">来源:{{values.source?values.source:'-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="itemdown">
|
||||
<div class="download" @click="downLoadFile">下载</div>
|
||||
<div class="delete" @click="removeFile">删除</div>
|
||||
<div class="download" @click="downLoadFile(values)">下载</div>
|
||||
<div class="delete" @click="removeFile(values)">删除</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:100%;margin-top: 90px;display: flex;justify-content: center;align-items: center;">
|
||||
<!-- 分页 -->
|
||||
<a-pagination
|
||||
v-if="total>10"
|
||||
:showSizeChanger="false"
|
||||
showQuickJumper="true"
|
||||
hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
:current="currentPage"
|
||||
:total="total"
|
||||
class="pagination"
|
||||
@change="changePaginationStu"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { toRefs, reactive } from "vue";
|
||||
import { message } from "ant-design-vue";
|
||||
import * as api from "@/api/indexTaskManage";
|
||||
export default {
|
||||
name: "DownLoad",
|
||||
setup() {
|
||||
const state = reactive({
|
||||
name: "",
|
||||
homeWorkList: []
|
||||
homeWorkList: [],
|
||||
currentPage: 1,
|
||||
pageSize: 12,
|
||||
total: 0,
|
||||
capacity: 0,
|
||||
countCMB: 0,
|
||||
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
|
||||
});
|
||||
|
||||
function getData() {
|
||||
state.homeWorkList = [1,2,3,4,5,6]
|
||||
api.DownLoadList({
|
||||
current:state.currentPage,
|
||||
name: state.name,
|
||||
size: state.pageSize
|
||||
}).then(res=>{
|
||||
console.log(res)
|
||||
if(res.data.code==200){
|
||||
state.homeWorkList = res.data.data.records;
|
||||
state.total = res.data.data.total;
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
|
||||
// 获取可下载数据
|
||||
getData()
|
||||
|
||||
// 下载文件
|
||||
function downLoadFile() {
|
||||
function getDownLoadTotalSize() {
|
||||
api.DownLoadTotalSize().then(res=>{
|
||||
console.log(res)
|
||||
if(res.data.code==200){
|
||||
state.capacity = res.data.data;
|
||||
}else{
|
||||
state.capacity = 0;
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
|
||||
// 获取当前用户容量
|
||||
getDownLoadTotalSize()
|
||||
|
||||
// 格式化容量显示
|
||||
function formatCapacity(data) {
|
||||
let num = Number(data);
|
||||
let CMB = (num / 1048576).toFixed(2);
|
||||
let countCMB = (num / 1048576*1024).toFixed(2);
|
||||
state.countCMB = countCMB;
|
||||
if(CMB%1024>1){
|
||||
CMB = (CMB/1024).toFixed(2) + 'GB';
|
||||
}else{
|
||||
CMB = CMB + 'MB';
|
||||
}
|
||||
console.log(CMB)
|
||||
return CMB
|
||||
}
|
||||
|
||||
// 下载文件
|
||||
function downLoadFile(data) {
|
||||
console.log(data)
|
||||
window.open(state.locationHref + data.url)
|
||||
}
|
||||
// 删除文件
|
||||
function removeFile() {
|
||||
|
||||
function removeFile(data) {
|
||||
console.log(data)
|
||||
api.RemoveDownLoadHomeWork({
|
||||
id:data.id
|
||||
}).then(res=>{
|
||||
console.log(res)
|
||||
if(res.data.code==200){
|
||||
message.destroy()
|
||||
message.success("删除成功")
|
||||
getData()
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err)
|
||||
message.destroy()
|
||||
message.error("删除失败")
|
||||
})
|
||||
}
|
||||
|
||||
// 搜索
|
||||
function searchDownloadList() {
|
||||
getData()
|
||||
}
|
||||
|
||||
// 重置
|
||||
function reseatDownloadList() {
|
||||
state.name = "";
|
||||
state.currentPage = 1;
|
||||
getData()
|
||||
}
|
||||
|
||||
// 分页
|
||||
//分页
|
||||
const changePaginationStu = (page) => {
|
||||
state.currentPage = page;
|
||||
getData();
|
||||
};
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
downLoadFile,
|
||||
removeFile
|
||||
removeFile,
|
||||
changePaginationStu,
|
||||
searchDownloadList,
|
||||
reseatDownloadList,
|
||||
formatCapacity
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -93,10 +93,10 @@
|
||||
</div>
|
||||
<div class="btns">
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="btn btn3" @click="openMessage">
|
||||
<div class="btn btn3" @click="openMessage" style="margin-right:14px;">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">导出</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="btn btn3" @click="of_hShow">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">新建课程</div>
|
||||
@@ -964,6 +964,7 @@
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle onlmanageModal"
|
||||
width="80%"
|
||||
@cancel="om_exit"
|
||||
>
|
||||
<div class="modalHeader">
|
||||
<div class="headerLeft">
|
||||
@@ -1099,6 +1100,10 @@
|
||||
<div class="search"></div>
|
||||
<div class="btnText">搜索</div>
|
||||
</div>
|
||||
<div class="btn btn2" @click="reseatSearchTable3">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">重置</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bm_table" style="margin-bottom: 20px">
|
||||
@@ -2307,7 +2312,6 @@ import {
|
||||
detail,
|
||||
detailPlan,
|
||||
handle,
|
||||
exportP,
|
||||
deletePlan,
|
||||
planList,
|
||||
editPlan,
|
||||
@@ -4136,6 +4140,14 @@ export default defineComponent({
|
||||
state.manageStuLoading = true;
|
||||
getCourseStudentList();
|
||||
};
|
||||
|
||||
const reseatSearchTable3 = () => {
|
||||
state.currentPage222 = 1;
|
||||
state.gl_inputV2 = "";
|
||||
state.gl_selectV2 = undefined;
|
||||
state.manageStuLoading = true;
|
||||
getCourseStudentList();
|
||||
}
|
||||
// const getTableDate33 = async () => {
|
||||
// let datas = state.tableData2;
|
||||
// let res = await listReview({
|
||||
@@ -4438,6 +4450,8 @@ export default defineComponent({
|
||||
};
|
||||
|
||||
const om_exit = () => {
|
||||
state.gl_selectV2 = undefined;
|
||||
state.gl_inputV2 = "";
|
||||
state.om_1 = false;
|
||||
state.faceManageTab = "1";
|
||||
};
|
||||
@@ -4934,7 +4948,12 @@ export default defineComponent({
|
||||
);
|
||||
endTime = parseInt(new Date(state.projectTime[1].$d).getTime() / 1000);
|
||||
}
|
||||
exportP({
|
||||
|
||||
window.open(
|
||||
`${process.env.VUE_APP_PROXY_URL}admin/offcourse/export?pageNo=${state.currentPage1}&pageSize=${state.pageSize1}&auditStatus=${state.auditStatus?state.auditStatus:""}&categoryId=${state.categoryId?state.categoryId:""}&projectName=${state.projectName?state.projectName:""}&name=${state.name?state.name:""}&createName=${state.createName?state.createName:""}&endTime=${endTime?endTime:""}&beginTime=${startTime?startTime:""}`
|
||||
);
|
||||
|
||||
{/* exportP({
|
||||
pageNo: state.currentPage1,
|
||||
pageSize: state.pageSize1,
|
||||
auditStatus: state.auditStatus,
|
||||
@@ -4948,7 +4967,7 @@ export default defineComponent({
|
||||
if (res.data.code === 200) {
|
||||
message.success("导出成功");
|
||||
}
|
||||
});
|
||||
}); */}
|
||||
};
|
||||
//获取教师
|
||||
const getTea = async () => {
|
||||
@@ -5259,7 +5278,7 @@ export default defineComponent({
|
||||
console.log("开课管理学员搜索参数", {
|
||||
pageNo: state.currentPage222,
|
||||
pageSize: 10,
|
||||
status: state.gl_selectV2 ? state.gl_selectV2 : "",
|
||||
status: state.gl_selectV2,
|
||||
studentName: state.gl_inputV2,
|
||||
id: state.currentFaceId,
|
||||
});
|
||||
@@ -5267,7 +5286,7 @@ export default defineComponent({
|
||||
.GetCourseStudent({
|
||||
pageNo: state.currentPage222,
|
||||
pageSize: 10,
|
||||
status: state.gl_selectV2 ? state.gl_selectV2 : "",
|
||||
status: state.gl_selectV2,
|
||||
studentName: state.gl_inputV2,
|
||||
id: state.currentFaceId,
|
||||
})
|
||||
@@ -5511,6 +5530,7 @@ export default defineComponent({
|
||||
handleRestTable,
|
||||
handleSearchTable2,
|
||||
handleSearchTable3,
|
||||
reseatSearchTable3,
|
||||
handleGuan22,
|
||||
handleStart,
|
||||
handleCopyP,
|
||||
@@ -6879,6 +6899,26 @@ export default defineComponent({
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("@/assets/images/coursewareManage/reset1.png");
|
||||
}
|
||||
}
|
||||
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
|
||||
.search {
|
||||
background-image: url("@/assets/images/coursewareManage/reset0.png");
|
||||
}
|
||||
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<div class="up down">
|
||||
<div class="header">
|
||||
<div class="text">学员情况</div>
|
||||
<div class="btn btn2">
|
||||
<div class="btn btn2" @click="exportStudentInfo">
|
||||
<div class="img2"></div>
|
||||
<div class="wz">导出信息</div>
|
||||
</div>
|
||||
@@ -152,6 +152,11 @@ export default {
|
||||
|
||||
getInfoDate();
|
||||
|
||||
// 导出学员信息
|
||||
function exportStudentInfo() {
|
||||
window.open(`${process.env.VUE_APP_PROXY_URL}admin/assessment/manage/exportAssessmentMessage?assessmentId=${state.basicInfo.assessmentId}`)
|
||||
}
|
||||
|
||||
//分页
|
||||
const changePaginationStu = (page) => {
|
||||
state.evalStuListLoading = true;
|
||||
@@ -327,7 +332,8 @@ export default {
|
||||
},
|
||||
],
|
||||
showassess,
|
||||
changePaginationStu
|
||||
changePaginationStu,
|
||||
exportStudentInfo
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user