|
@@ -0,0 +1,237 @@ |
|
|
|
|
|
<template> |
|
|
|
|
|
<view class="page"> |
|
|
|
|
|
<view class="mainpage" :class="sideOpen ? 'show' : ''" style="padding-top: 40px;"> |
|
|
|
|
|
<!-- <l-customlist-banner></l-customlist-banner> --> |
|
|
|
|
|
<view class="records">共 {{ records }} 条数据</view> |
|
|
|
|
|
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="data"> |
|
|
|
|
|
<l-customlist :tips="loadState" showTips> |
|
|
|
|
|
<view class="pageBox customlist-item" showDelete="true" v-for="(item, ind) in data" :key="item.MakeDate" @click="tapClick(item)"> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>学年:</text> |
|
|
|
|
|
{{ item.AcademicYearNo }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>学期:</text> |
|
|
|
|
|
{{ item.Semester }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>课程名称:</text> |
|
|
|
|
|
{{ item.LessonName }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>上课节次:</text> |
|
|
|
|
|
{{ jieci(item.LessonSection) }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>上课时间:</text> |
|
|
|
|
|
{{ item.LessonTime }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>学分:</text> |
|
|
|
|
|
{{ item.StudyScore }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>教师姓名:</text> |
|
|
|
|
|
{{ item.EmpName }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>教室名称:</text> |
|
|
|
|
|
{{ item.ClassRoomNo }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>人数上限:</text> |
|
|
|
|
|
{{ item.StuNumMax }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class=""> |
|
|
|
|
|
<text>已报名人数:</text> |
|
|
|
|
|
{{ item.StuNumOfApplyPre }} |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="pageType">{{ typePd(item.StatusPre) }}</view> |
|
|
|
|
|
<view class="delbtn" @click.stop="delTap(item)">取消报名</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
</l-customlist> |
|
|
|
|
|
</l-scroll-list> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
export default { |
|
|
|
|
|
data() { |
|
|
|
|
|
return { |
|
|
|
|
|
weekChina: ['一', '二', '三', '四', '五', '六', '日'], |
|
|
|
|
|
user: null, |
|
|
|
|
|
data: [], |
|
|
|
|
|
total: 1, |
|
|
|
|
|
records: 0, |
|
|
|
|
|
ready: false, |
|
|
|
|
|
page: 1, |
|
|
|
|
|
rows: 10, |
|
|
|
|
|
multipleData: null, |
|
|
|
|
|
sideOpen: false, |
|
|
|
|
|
loadState: '向下翻以加载更多' |
|
|
|
|
|
}; |
|
|
|
|
|
}, |
|
|
|
|
|
onUnload() { |
|
|
|
|
|
this.OFF('OpenLessonPlanOfElectiveStudent'); |
|
|
|
|
|
}, |
|
|
|
|
|
methods: { |
|
|
|
|
|
init() { |
|
|
|
|
|
this.ON('OpenLessonPlanOfElectiveStudent', this.refreshList); |
|
|
|
|
|
// 拉取加载列表和数据源 |
|
|
|
|
|
Promise.all([() => {}]); |
|
|
|
|
|
var _this = this; |
|
|
|
|
|
this.user = this.GET_GLOBAL('loginUser'); |
|
|
|
|
|
this.fetchList(); |
|
|
|
|
|
this.ready = true; |
|
|
|
|
|
}, |
|
|
|
|
|
// 拉取列表 |
|
|
|
|
|
async fetchList() { |
|
|
|
|
|
if (this.page > this.total) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
let _this = this; |
|
|
|
|
|
let _postParam = { |
|
|
|
|
|
pagination: { |
|
|
|
|
|
rows: _this.rows, |
|
|
|
|
|
page: _this.page, |
|
|
|
|
|
sidx: 'LessonNo', |
|
|
|
|
|
sord: 'asc' |
|
|
|
|
|
}, |
|
|
|
|
|
queryJson: '{}' |
|
|
|
|
|
}; |
|
|
|
|
|
if (true) { |
|
|
|
|
|
_postParam.queryJson = JSON.stringify({ |
|
|
|
|
|
StuNo: _this.user.account, |
|
|
|
|
|
StuMajorNo: _this.user.majorno, |
|
|
|
|
|
StuGrade: _this.user.grade |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
// console.log(_this.user) |
|
|
|
|
|
_this.LOADING('加载数据中…') |
|
|
|
|
|
_this.HTTP_GET('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/pagelist', _postParam, '加载数据时出错').then(res => { |
|
|
|
|
|
_this.HIDE_LOADING(); |
|
|
|
|
|
// console.log(res); |
|
|
|
|
|
this.data = this.data.concat(res.rows); |
|
|
|
|
|
_this.total = res.total; |
|
|
|
|
|
_this.records = res.records; |
|
|
|
|
|
this.page = res.page + 1; |
|
|
|
|
|
this.loadState = res.page >= res.total ? '已加载所有项目' : '向下翻以加载更多'; |
|
|
|
|
|
// console.log(_this.data); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
// 列表下拉 |
|
|
|
|
|
pullDown() { |
|
|
|
|
|
this.refreshList().then(() => { |
|
|
|
|
|
this.$refs.data.stopPullDown(); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
async refreshList() { |
|
|
|
|
|
this.page = 1; |
|
|
|
|
|
this.total = 1; |
|
|
|
|
|
this.data = []; |
|
|
|
|
|
|
|
|
|
|
|
this.fetchList(); |
|
|
|
|
|
}, |
|
|
|
|
|
tapClick(data) { |
|
|
|
|
|
this.NAV_TO('./from', data.Id, true); |
|
|
|
|
|
}, |
|
|
|
|
|
delTap (item) { |
|
|
|
|
|
// console.log(item) |
|
|
|
|
|
let _this = this; |
|
|
|
|
|
this.CONFIRM('数字化校园提示', '确定要取消报名吗?', true).then( res => { |
|
|
|
|
|
if(res){ |
|
|
|
|
|
let _postData = { |
|
|
|
|
|
keyValue: item.Id, |
|
|
|
|
|
StuNo: _this.user.account |
|
|
|
|
|
} |
|
|
|
|
|
_this.LOADING('正在取消报名…') |
|
|
|
|
|
_this.HTTP_POST( |
|
|
|
|
|
'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/Cancel', |
|
|
|
|
|
_postData, |
|
|
|
|
|
'加载数据时出错' |
|
|
|
|
|
).then( data => { |
|
|
|
|
|
_this.HIDE_LOADING() |
|
|
|
|
|
console.log(data) |
|
|
|
|
|
if (data) {// 成功 |
|
|
|
|
|
this.TOAST('取消报名成功!'); |
|
|
|
|
|
this.refreshList() |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
computed: { |
|
|
|
|
|
jieci() { |
|
|
|
|
|
return str => { |
|
|
|
|
|
let ls = ''; |
|
|
|
|
|
if (str.indexOf(',') == -1) ls = '星期' + this.weekChina[str.slice(0, 1) - 1] + '第' + str.slice(1) + '节'; |
|
|
|
|
|
else ls = '星期' + this.weekChina[str.slice(0, 1) - 1] + '第' + str.slice(1, 2) + '、' + str.slice(4) + '节'; |
|
|
|
|
|
|
|
|
|
|
|
return ls; |
|
|
|
|
|
}; |
|
|
|
|
|
}, |
|
|
|
|
|
typePd() { |
|
|
|
|
|
return num => { |
|
|
|
|
|
let txt = ''; |
|
|
|
|
|
if (num == 1) { |
|
|
|
|
|
txt = '审核中'; |
|
|
|
|
|
} else if (num == 2) { |
|
|
|
|
|
txt = '报名成功'; |
|
|
|
|
|
} else if (num == 3) { |
|
|
|
|
|
txt = '报名失败'; |
|
|
|
|
|
} else { |
|
|
|
|
|
txt = '未报名'; |
|
|
|
|
|
} |
|
|
|
|
|
return txt; |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
created() { |
|
|
|
|
|
this.init(); |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped> |
|
|
|
|
|
@import '~@/common/css/sidepage.less'; |
|
|
|
|
|
@import '~@/common/css/customlist.less'; |
|
|
|
|
|
.page { |
|
|
|
|
|
background-color: #fff; |
|
|
|
|
|
} |
|
|
|
|
|
.page-content { |
|
|
|
|
|
margin-top: 39px; |
|
|
|
|
|
} |
|
|
|
|
|
.records { |
|
|
|
|
|
color: #8f8f94; |
|
|
|
|
|
background: #ffffff; |
|
|
|
|
|
padding: 10px 12px; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
vertical-align: middle; |
|
|
|
|
|
border-bottom: 0.5px solid #ddd; |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
top: var(--window-top); |
|
|
|
|
|
z-index: 1024; |
|
|
|
|
|
border-bottom: 0.5px solid #ddd; |
|
|
|
|
|
height: 40px; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
box-shadow: 0 0.5px 3px rgba(0, 0, 0, 0.1); |
|
|
|
|
|
// background: #f1f1f1; |
|
|
|
|
|
} |
|
|
|
|
|
.pageBox { |
|
|
|
|
|
// margin-top: 34px; |
|
|
|
|
|
padding: 5px 15px; |
|
|
|
|
|
line-height: 24px; |
|
|
|
|
|
border-bottom: 5px solid #f5f5f5; |
|
|
|
|
|
} |
|
|
|
|
|
.delbtn { |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
right: 15px; |
|
|
|
|
|
bottom: 7px; |
|
|
|
|
|
padding: 3px 10px; |
|
|
|
|
|
background: #dd524d; |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
border-radius: 3px; |
|
|
|
|
|
} |
|
|
|
|
|
</style> |