@@ -95,19 +95,21 @@ | |||
judgeDate(todayWeek.SundayTime); | |||
var param = { startTime: start, endTime: end }; | |||
learun.httpget(config.webapi + "arrangeExam/stuList", param, (data) => { | |||
//console.log(data) | |||
weekData = data; | |||
var weekData2 = ProcessingData(weekData); | |||
var tSec2List = $('.tSec2List'); | |||
weekTimeSpan.eq(0).text(todayWeek.Monday).end().eq(1).text(todayWeek.Sunday); | |||
$.each(weekData2, | |||
function (i, n) { | |||
//console.log(weekData2) | |||
$.each(weekData2, function (i, n) { | |||
// console.log(n) | |||
var html = ''; | |||
n.lessonData.sort(compare('sectionTime')); | |||
if (n.lessonData.length == 0) { | |||
html += '<li><div class="noHtml">该时间段没有考试</div></li>'; | |||
} else { | |||
$.each(n.lessonData, | |||
function (j, k) { | |||
$.each(n.lessonData, function (j, k) { | |||
html += '<li>' + | |||
'<div class="tSec2ListL">第' + | |||
k.sectionTime + | |||
@@ -132,7 +134,8 @@ | |||
} | |||
tSec2List.eq(n.weekTime - 1).html(html); | |||
}); | |||
} | |||
} | |||
); | |||
} | |||
@@ -17,7 +17,7 @@ export default { | |||
// ], | |||
// 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示 | |||
"devAccount": [ | |||
{ username: "2018020201", password: "123456" } | |||
{ username: "2018010101", password: "123456" } | |||
], | |||
//是否分布式部署 指WebApi与Web不在一台服务器 | |||
"isDistributed":true, | |||
@@ -0,0 +1,195 @@ | |||
<template> | |||
<view class="page"> | |||
<view class="studSeeSec1"> | |||
<view class="studSeeSec1Box"> | |||
<l-select :range="semeArr" :placeholder="placeholder" @change="bindDateChange" valueField="value" textField="text" /> | |||
</view> | |||
</view> | |||
<view class="studSeeSec2"> | |||
<view class="tips" v-show="flag">暂无数据!</view> | |||
<view class="studSeeSec2List" v-show="!flag"> | |||
<view class="studSeeSec2Li" v-for="(n, ind) in data" :key="n.Id"> | |||
<view> | |||
<text>{{ n.PunishName }}</text> | |||
<text v-if="n.WithdrawDate != null">【已撤销】</text> | |||
</view> | |||
<view>{{ n.PunishReason }}</view> | |||
<view class="dateRow">处分日期:{{ n.PunishDate }}</view> | |||
<view class="dateRow" v-if="n.WithdrawDate != null">撤销日期:{{ n.WithdrawDate }}</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default{ | |||
data() { | |||
return { | |||
semeArr:[], | |||
placeholder: '请选择学期', | |||
flag: true, | |||
data: [] | |||
} | |||
}, | |||
methods:{ | |||
init() { | |||
let _this = this; | |||
_this.LOADING('加载数据中…') | |||
//获取学年学期列表 | |||
_this.HTTP_GET( | |||
'StuPunishment/academicAndSemesterList', | |||
{}, | |||
'加载数据时出错' | |||
).then( res => { | |||
this.HIDE_LOADING() | |||
//console.log(res) | |||
_this.semeArr = res; | |||
_this.placeholder = res[0].text; | |||
_this.getListAjax(res[0].value) | |||
}) | |||
}, | |||
bindDateChange: function(e) { | |||
//console.log(e); | |||
this.LOADING('加载数据中…') | |||
this.getListAjax(e) | |||
}, | |||
getListAjax(id) { | |||
var param = { value: id }; | |||
let _this = this; | |||
//获取处分数据 | |||
_this.HTTP_GET( | |||
'StuPunishment/punishmentList', | |||
param, | |||
'加载数据时出错' | |||
).then( res => { | |||
this.HIDE_LOADING() | |||
// console.log(res) | |||
if (res == null || res.length <= 0) { | |||
_this.flag = true | |||
return; | |||
} | |||
_this.flag = false; | |||
_this.data = res; | |||
}) | |||
} | |||
}, | |||
created() { | |||
this.init() | |||
} | |||
} | |||
</script> | |||
<style lang="less" scoped> | |||
/deep/ .picker { | |||
text-align: center; | |||
} | |||
/deep/ .cu-form-group { | |||
min-height: 28px; | |||
background: #fff; | |||
height: 28px; | |||
border-radius: 14px; | |||
line-height: 28px; | |||
text-align: center; | |||
font-size: 15px; | |||
color: #1a1a1a; | |||
position: relative; | |||
margin: 0 auto; | |||
min-height: 28px; | |||
} | |||
.studSeeSec2Li .dateRow { | |||
text-align: right; | |||
} | |||
.studSeeSec2 .tips { | |||
text-align: center; | |||
} | |||
.studSeeSec1 { | |||
background: #0c86d8; | |||
height: 100px; | |||
padding-top: 10px; | |||
} | |||
.studSeeSec1Box { | |||
width: 84%; | |||
background: #fff; | |||
height: 28px; | |||
border-radius: 14px; | |||
line-height: 28px; | |||
text-align: center; | |||
font-size: 15px; | |||
color: #1a1a1a; | |||
position: relative; | |||
margin: 0 auto; | |||
} | |||
.studSeeSec1Box .icon { | |||
position: absolute; | |||
top: 0; | |||
right: 15px; | |||
line-height: 28px; | |||
color: #818181; | |||
} | |||
.studSeeSec2Top { | |||
padding: 0 12px; | |||
margin-top: -52px; | |||
} | |||
.studSeeSec2TopBox { | |||
background: #fff; | |||
padding: 20px 0; | |||
text-align: center; | |||
font-size: 0; | |||
border-radius: 4px; | |||
} | |||
.studSeeSec2TopBox > * { | |||
display: inline-block; | |||
vertical-align: middle; | |||
} | |||
.studSeeSec2Line { | |||
height: 25px; | |||
width: 1px; | |||
background: #d6dfe2; | |||
margin: 0 40px; | |||
} | |||
.studSeeSec2Txt { | |||
color: #8a8a8a; | |||
} | |||
.studSeeSec2Txt view:first-child { | |||
font-size: 12px; | |||
} | |||
.studSeeSec2Txt view:first-child text { | |||
font-size: 20px; | |||
color: #0089fe; | |||
margin-right: 5px; | |||
} | |||
.studSeeSec2Txt view:last-child { | |||
font-size: 15px; | |||
} | |||
.studSeeSec2List { | |||
margin-top: 10px; | |||
background: #fff; | |||
} | |||
.studSeeSec2Li{ | |||
padding: 0 12px 0 30px; | |||
border-bottom: 1px solid #d6dfe2; | |||
line-height: 39px; | |||
font-size: 13px; | |||
color: #7a7a7a; | |||
position: relative; | |||
line-height: 24px; | |||
} | |||
.studSeeSec2List text { | |||
float: right; | |||
} | |||
.studSeeSec2List image { | |||
width: 12px; | |||
margin-right: 5px; | |||
position: relative; | |||
top: 2px; | |||
} | |||
.studSeeSec2Li text{ | |||
font-weight: bold; | |||
} | |||
</style> |
@@ -0,0 +1,348 @@ | |||
<template> | |||
<view class="page"> | |||
<view class="timeTable_sec1"> | |||
<view class="tSec1Box" id="semester"> | |||
<image src="~@/common/images/timeT1-1.png" mode="widthFix"></image> | |||
<text>{{ semester }}</text> | |||
</view> | |||
<!--<text class="tSec1Line"></text>--> | |||
<view class="tSec1Box" id="weekTime"> | |||
<text class="text-xxl cuIcon cuIcon-back" @click="timeTap(1)"></text> | |||
<text>{{ todayWeek.Monday }}</text> | |||
- | |||
<text>{{ todayWeek.Sunday }}</text> | |||
<text class="text-xxl cuIcon cuIcon-right" @click="timeTap(2)"></text> | |||
</view> | |||
</view> | |||
<view class="timeTable_sec2"> | |||
<ul class="tSec2Top"> | |||
<view class="tSec2TopLi" v-for="(item, ind) in weekArr" :key="item.en" @click="liTap(ind)" :class="ind == num ? 'active' : ''"> | |||
<text>{{ item.en }}</text> | |||
<text>{{ item.cn }}</text> | |||
</view> | |||
</ul> | |||
<view class="tSec2Box"> | |||
<view class="tSec2Con" v-for="(items, i) in dataArr" :key="items.num" v-show="i == num"> | |||
<view class="tSec2List"> | |||
<view v-if="items.lessonData.length <= 0" class="tSec2ListLi"><view class="noHtml">该时间段没有考试</view></view> | |||
<view v-if="items.lessonData.length > 0"> | |||
<view class="tSec2ListLi" v-for="(k, j) in items.lessonData" :key="k.LessonName"> | |||
<view class="tSec2ListL">第 {{ k.sectionTime }} 节</view> | |||
<view class="tSec2ListR"> | |||
<view class="tSec2ListBox"> | |||
<view class="tSec2ListT">{{ k.LessonName }}</view> | |||
<view class="tSec2ListTxt"> | |||
<text class="text-xxl cuIcon cuIcon-profile"></text> | |||
{{ k.EmpName }} | |||
</view> | |||
</view> | |||
<view class="tSec2Location"> | |||
<text class="text-xxl cuIcon cuIcon-location"></text> | |||
{{ k.ClassroomName }} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
import common from '@/common/js/common.js'; | |||
export default { | |||
data() { | |||
return { | |||
semester: '', | |||
num: 0, | |||
weekDayTime: 0, | |||
todayWeek: {}, | |||
dataArr: [], | |||
weekArr: [ | |||
{ | |||
en: 'MON', | |||
cn: '星期一' | |||
}, | |||
{ | |||
en: 'TUE', | |||
cn: '星期二' | |||
}, | |||
{ | |||
en: 'WED', | |||
cn: '星期三' | |||
}, | |||
{ | |||
en: 'THU', | |||
cn: '星期四' | |||
}, | |||
{ | |||
en: 'FRI', | |||
cn: '星期五' | |||
}, | |||
{ | |||
en: 'SAT', | |||
cn: '星期六' | |||
}, | |||
{ | |||
en: 'SUN', | |||
cn: '星期日' | |||
} | |||
] | |||
}; | |||
}, | |||
methods: { | |||
init() { | |||
let _this = this; | |||
_this.todayWeek = common.weekday(); | |||
_this.semester = common.judgeDate(); | |||
_this.weekDayTime = 7 * common.oneDayTime(); | |||
_this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday); | |||
}, | |||
liTap(ind) { | |||
this.num = ind; | |||
}, | |||
timeTap(num) { | |||
let _this = this; | |||
if (num == 1) { | |||
_this.todayWeek.MondayTime = _this.todayWeek.MondayTime - _this.weekDayTime; | |||
_this.todayWeek.SundayTime = _this.todayWeek.SundayTime - _this.weekDayTime; | |||
} else { | |||
_this.todayWeek.MondayTime = _this.todayWeek.MondayTime + _this.weekDayTime; | |||
_this.todayWeek.SundayTime = _this.todayWeek.SundayTime + _this.weekDayTime; | |||
} | |||
_this.num = 0; | |||
_this.todayWeek.Monday = common.fmtDate(_this.todayWeek.MondayTime); | |||
_this.todayWeek.Sunday = common.fmtDate(_this.todayWeek.SundayTime); | |||
_this.semester = common.judgeDate(_this.todayWeek.SundayTime); | |||
_this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday); | |||
}, | |||
loadData(start, end) { | |||
// judgeDate(todayWeek.SundayTime); | |||
var param = { startTime: start, endTime: end }; | |||
let _this = this; | |||
_this.LOADING('加载数据中…'); | |||
_this.HTTP_GET('arrangeExam/stuList', param, '加载数据时出错').then(res => { | |||
this.HIDE_LOADING(); | |||
//console.log(res); | |||
_this.ProcessingData(res); | |||
//console.log(_this.dataArr); | |||
}); | |||
}, | |||
ProcessingData(data) { | |||
let dataM = [ | |||
{ | |||
weekTime: 1, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
}, | |||
{ | |||
weekTime: 2, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
}, | |||
{ | |||
weekTime: 3, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
}, | |||
{ | |||
weekTime: 4, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
}, | |||
{ | |||
weekTime: 5, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
}, | |||
{ | |||
weekTime: 6, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
}, | |||
{ | |||
weekTime: 7, | |||
num: Math.floor(Math.random() * 100000000), | |||
lessonData: [] | |||
} | |||
]; | |||
data.forEach((n, i) => { | |||
n.sectionTime = n.LessonTime.slice(1); | |||
dataM.forEach((k, j) => { | |||
if (k.weekTime == n.LessonTime.slice(0, 1)) { | |||
k.lessonData.push(n); | |||
} | |||
}); | |||
}); | |||
this.dataArr = dataM; | |||
} | |||
}, | |||
created() { | |||
this.init(); | |||
} | |||
}; | |||
</script> | |||
<style lang="less" scoped> | |||
.page { | |||
background: #fff; | |||
padding-bottom: 1px; | |||
} | |||
.timeTable_sec1 { | |||
padding: 14px 12px; | |||
text-align: center; | |||
background: #0075c4; | |||
color: #94d4ff; | |||
font-size: 0; | |||
} | |||
.tSec1Box > * { | |||
display: inline-block; | |||
vertical-align: middle; | |||
} | |||
.tSec1Line { | |||
height: 13px; | |||
width: 1px; | |||
background: #94d4ff; | |||
margin: 0 10px; | |||
} | |||
.tSec1Box { | |||
font-size: 15px; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
#semester { | |||
margin-bottom: 10px; | |||
} | |||
#weekTime { | |||
} | |||
#weekTime text { | |||
margin: 0 10px; | |||
} | |||
.tSec1Box > text { | |||
width: auto; | |||
text-align: center; | |||
line-height: 22px; | |||
} | |||
.tSec1Box image { | |||
width: 15px; | |||
margin-right: 2px; | |||
} | |||
.tSec1Box text:after { | |||
display: none; | |||
} | |||
.timeTable_sec2 { | |||
margin-bottom: 30px; | |||
background-color: #fff; | |||
} | |||
.tSec2Top { | |||
padding: 0 12px; | |||
background: #0075c4; | |||
height: 55px; | |||
text-align: center; | |||
overflow: hidden; | |||
} | |||
.tSec2TopLi { | |||
width: 14.285714%; | |||
float: left; | |||
line-height: 18px; | |||
padding: 9px 0 9px; | |||
color: #fff; | |||
font-size: 13px; | |||
border-right: 1px solid #1084d2; | |||
border-top: 1px solid #1084d2; | |||
} | |||
.tSec2TopLi:first-child { | |||
border-left: 1px solid #1084d2; | |||
} | |||
.tSec2TopLi.active { | |||
color: #0075c4; | |||
background: #fff; | |||
border-color: #fff; | |||
} | |||
.tSec2TopLi text { | |||
display: block; | |||
} | |||
.tSec2TopLi text:first-child { | |||
letter-spacing: 2px; | |||
text-transform: uppercase; | |||
} | |||
.tSec2Box { | |||
padding: 0 12px; | |||
margin-top: 10px; | |||
} | |||
.tSec2Con { | |||
border-left: 1px solid #d5eaf7; | |||
border-right: 1px solid #d5eaf7; | |||
border-top: 1px solid #d5eaf7; | |||
// display: none; | |||
} | |||
.tSec2Con:first-child { | |||
display: block; | |||
} | |||
.tSec2List { | |||
margin-top: 10px; | |||
} | |||
.tSec2List:first-child { | |||
margin-top: 0; | |||
} | |||
.tSec2ListLi { | |||
border-bottom: 1px solid #d5eaf7; | |||
overflow: hidden; | |||
height: 60px; | |||
} | |||
.tSec2ListL { | |||
float: left; | |||
background: #e8f6ff; | |||
height: 100%; | |||
width: 25%; | |||
text-align: center; | |||
line-height: 36px; | |||
padding: 11px 0; | |||
font-size: 14px; | |||
color: #646464; | |||
} | |||
.tSec2ListR { | |||
float: left; | |||
width: 75%; | |||
height: 100%; | |||
line-height: 18px; | |||
padding: 4px 0; | |||
overflow: hidden; | |||
} | |||
.tSec2ListBox { | |||
width: 70%; | |||
float: left; | |||
padding-left: 5px; | |||
} | |||
.tSec2ListT { | |||
color: #3e3e3e; | |||
font-size: 15px; | |||
margin: 5px 0; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.tSec2ListTxt { | |||
color: #888888; | |||
font-size: 13px; | |||
} | |||
.tSec2Location { | |||
width: 30%; | |||
float: left; | |||
line-height: 44px; | |||
font-size: 13px; | |||
color: #888888; | |||
} | |||
.noHtml { | |||
height: 100%; | |||
line-height: 60px; | |||
text-align: center; | |||
font-size: 14px; | |||
} | |||
</style> |
@@ -21,27 +21,30 @@ | |||
</view> | |||
</view> | |||
<view class="tSec2Box2"> | |||
<view class="tSec2Con2" v-for="(item, ind) in weekArr" :key="item.en" v-show="ind == num"> | |||
<view class="tSec2Con2" v-for="(items, ind) in dataArr" :key="items.num" v-show="ind == num"> | |||
<view class="studCheckList"> | |||
<!-- <view> | |||
<div class="studCheckT"> | |||
<image src="~@/common/images/book.png" mode="widthFix"></image> | |||
<view class="studCheckLi" v-for="(k, index) in items.weekList" :key="k.LessonDate" v-if="items.weekList.length != 0"> | |||
<view class="studCheckT"> | |||
<image mode="widthFix" src="~@/common/images/book.png"></image> | |||
{{ k.LessonName }} | |||
</div> | |||
<div class="studCheckTxt"> | |||
</view> | |||
<view class="studCheckTxt"> | |||
<image src="~@/common/images/time.png" mode="widthFix"></image> | |||
{{ k.LessonDate }} | |||
<image style="margin:0 5px 0 30px" src="~@/common/images/person.png" mode="widthFix"></image> | |||
<text> | |||
<image src="~@/common/images/person.png" mode="widthFix"></image> | |||
{{ k.Teacher }} | |||
</text> | |||
<image src="~@/common/images/location.png" mode="widthFix"></image> | |||
<image style="margin:0 5px 0 30px" src="~@/common/images/location.png" mode="widthFix"></image> | |||
{{ k.ClassRoomName }} | |||
</div> | |||
<div class="studCheckStatue studCheckStatue sort1'"> | |||
</view> | |||
<view class="studCheckStatue" :class="k.Sort == '迟到'? 'studCheckStatue2' : k.Sort == '早退'? 'studCheckStatue2' : k.Sort == '病假'? 'studCheckStatue4' : k.Sort == '事假'? 'studCheckStatue2' : k.Sort == '准时'? 'studCheckStatue1' : 'studCheckStatue3' "> | |||
<text></text> {{ k.Sort }} | |||
</div> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class="noHtml" v-if="items.weekList.length == 0"> | |||
该时间段没有数据 | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -58,6 +61,7 @@ export default { | |||
num: 0, | |||
weekDayTime: 0, | |||
todayWeek: {}, | |||
dataArr: [], | |||
weekArr: [ | |||
{ | |||
en: 'MON', | |||
@@ -104,12 +108,31 @@ export default { | |||
_this.LOADING('加载数据中…') | |||
_this.HTTP_GET( | |||
'learun/adms/timetable/StuLessonInfo', | |||
{}, | |||
{StartDate:Monday, EndDate:Sunday}, | |||
'加载数据时出错' | |||
).then( res => { | |||
this.HIDE_LOADING() | |||
console.log(res) | |||
_this.HIDE_LOADING() | |||
//console.log(res) | |||
_this.dataArr.length = 0; | |||
for(let j = 1; j < 8; j++){ | |||
let dataFlag = true; | |||
var num = Math.floor(Math.random() * 100000000); | |||
res.forEach((n, i) => { | |||
if(n.week == j){ | |||
n.num = num; | |||
_this.dataArr.push(n); | |||
dataFlag = false; | |||
return | |||
} | |||
}) | |||
if(dataFlag){ | |||
_this.dataArr.push({ | |||
week: j, | |||
num: num, | |||
weekList: [] | |||
}); | |||
} | |||
} | |||
}) | |||
}, | |||
liTap(ind) { | |||
@@ -126,7 +149,7 @@ export default { | |||
} | |||
_this.todayWeek.Monday = common.fmtDate(_this.todayWeek.MondayTime); | |||
_this.todayWeek.Sunday = common.fmtDate(_this.todayWeek.SundayTime); | |||
common.judgeDate(_this.todayWeek.SundayTime); | |||
_this.semester = common.judgeDate(_this.todayWeek.SundayTime); | |||
_this.studentCheckData(_this.todayWeek.Monday, _this.todayWeek.Sunday); | |||
} | |||
}, | |||
@@ -224,7 +247,7 @@ export default { | |||
background: #fff; | |||
} | |||
.studCheckList view { | |||
.studCheckLi { | |||
border-bottom: 1px solid #d5eaf7; | |||
padding: 8px 12px; | |||
font-size: 15px; | |||
@@ -244,7 +267,7 @@ export default { | |||
margin: 7px 0; | |||
} | |||
.studCheckTxt text { | |||
margin: 0 30px; | |||
// margin: 0 30px; | |||
} | |||
.studCheckTxt image { | |||
width: 12px; | |||
@@ -1,7 +1,7 @@ | |||
<template> | |||
<view class="page"> | |||
<view class="selectBox"> | |||
<l-select :range="selectArr1" :placeholder="placeholder" @change="bindDateChange" valueField="value" textField="text" emptyText="男生" splitText="男生" v-model="value" /> | |||
<l-select :range="selectArr1" :placeholder="placeholder" @change="bindDateChange" valueField="value" textField="text" v-model="value" /> | |||
</view> | |||
<view class="studSeeSec2"> | |||
<view class="tips" v-show="!flag">暂无数据!</view> | |||