@@ -1,4 +1,4 @@ | |||||
(function () { | |||||
(function () { | |||||
var weekChina = ["一", "二", "三", "四", "五", "六", "日"]; | var weekChina = ["一", "二", "三", "四", "五", "六", "日"]; | ||||
var begin = ''; | var begin = ''; | ||||
var end = ''; | var end = ''; | ||||
@@ -13,6 +13,7 @@ | |||||
lclass: page.lclass, | lclass: page.lclass, | ||||
rows: 10, // 每页行数 | rows: 10, // 每页行数 | ||||
getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调 | getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调 | ||||
console.log(param) | |||||
param.multipleData = multipleData; | param.multipleData = multipleData; | ||||
page.loadData(param, callback, $page); | page.loadData(param, callback, $page); | ||||
}, | }, | ||||
@@ -48,6 +49,7 @@ | |||||
_postParam.queryJson = JSON.stringify({ StuNo: JSON.parse(localStorage.userinfo).baseinfo.account, StuMajorNo: JSON.parse(localStorage.userinfo).baseinfo.majorno, StuGrade: JSON.parse(localStorage.userinfo).baseinfo.grade }); | _postParam.queryJson = JSON.stringify({ StuNo: JSON.parse(localStorage.userinfo).baseinfo.account, StuMajorNo: JSON.parse(localStorage.userinfo).baseinfo.majorno, StuGrade: JSON.parse(localStorage.userinfo).baseinfo.grade }); | ||||
} | } | ||||
learun.httpget(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/pagelist', _postParam, (data) => { | learun.httpget(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/pagelist', _postParam, (data) => { | ||||
console.log(data) | |||||
$page.find('.lr-badge').text('0'); | $page.find('.lr-badge').text('0'); | ||||
if (data) { | if (data) { | ||||
$page.find('.lr-badge').text(data.records); | $page.find('.lr-badge').text(data.records); | ||||
@@ -117,8 +119,13 @@ | |||||
_postData.StuNo = JSON.parse(localStorage.userinfo).baseinfo.account; | _postData.StuNo = JSON.parse(localStorage.userinfo).baseinfo.account; | ||||
learun.layer.loading(true, '正在取消报名...'); | learun.layer.loading(true, '正在取消报名...'); | ||||
learun.httppost(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/CancelPre', _postData, (data, info) => { | learun.httppost(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/CancelPre', _postData, (data, info) => { | ||||
console.log(data) | |||||
console.log(info) | |||||
if (data) {// 成功 | if (data) {// 成功 | ||||
learun.layer.toast(info); | |||||
console.log(1111111111) | |||||
console.log(data) | |||||
console.log(info) | |||||
//learun.layer.toast(info); | |||||
page.grid.reload(); | page.grid.reload(); | ||||
} | } | ||||
learun.layer.loading(false); | learun.layer.loading(false); | ||||
@@ -1,4 +1,4 @@ | |||||
(function () { | |||||
(function () { | |||||
var keyValue = ''; | var keyValue = ''; | ||||
var weekChina = ["一", "二", "三", "四", "五", "六", "日"]; | var weekChina = ["一", "二", "三", "四", "五", "六", "日"]; | ||||
var $header = null; | var $header = null; | ||||
@@ -35,10 +35,12 @@ | |||||
}); | }); | ||||
page.bind($page, param); | page.bind($page, param); | ||||
if (keyValue) { | if (keyValue) { | ||||
console.log(keyValue) | |||||
$page.find('.lr-form-container').setFormRead(); | $page.find('.lr-form-container').setFormRead(); | ||||
// 获取表单数据 | // 获取表单数据 | ||||
learun.layer.loading(true, '获取表单数据'); | learun.layer.loading(true, '获取表单数据'); | ||||
learun.httpget(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form', keyValue, (data) => { | learun.httpget(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form', keyValue, (data) => { | ||||
console.log(data) | |||||
if (data) { | if (data) { | ||||
for (var id in data) { | for (var id in data) { | ||||
if (data[id].length) { | if (data[id].length) { | ||||
@@ -1,7 +1,7 @@ | |||||
<div class="lr-page lr-EducationalAdministrationThermography-page"> | |||||
<div class="lr-page lr-EducationalAdministrationThermography-page"> | |||||
<div class="lr-page-tool"> | <div class="lr-page-tool"> | ||||
<div class="lr-tool-left"> | <div class="lr-tool-left"> | ||||
总共<span class="lr-badge lr-badge-primary">0</span>条 | |||||
总共1<span class="lr-badge lr-badge-primary">0</span>条 | |||||
</div> | </div> | ||||
<div class="lr-tool-right"> | <div class="lr-tool-right"> | ||||
<div class="lr-tool-right-btn lr_multiple_search"> | <div class="lr-tool-right-btn lr_multiple_search"> | ||||
@@ -1,4 +1,4 @@ | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | * Copyright (c) 2013-2018 北京泉江科技有限公司 | ||||
* 创建人:超级管理员 | * 创建人:超级管理员 | ||||
* 日 期:2020-02-03 14:37 | * 日 期:2020-02-03 14:37 | ||||
@@ -18,6 +18,7 @@ | |||||
lclass: page.lclass, | lclass: page.lclass, | ||||
rows: 10, // 每页行数 | rows: 10, // 每页行数 | ||||
getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调 | getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调 | ||||
console.log(param) | |||||
param.multipleData = multipleData; | param.multipleData = multipleData; | ||||
page.loadData(param, callback, $page); | page.loadData(param, callback, $page); | ||||
}, | }, | ||||
@@ -37,6 +38,8 @@ | |||||
// 多条件查询 | // 多条件查询 | ||||
var $multiple = $page.find('.lr_multiple_search').multiplequery({ | var $multiple = $page.find('.lr_multiple_search').multiplequery({ | ||||
callback: function (data) { | callback: function (data) { | ||||
console.log(11) | |||||
console.log(data) | |||||
begin = ''; | begin = ''; | ||||
end = ''; | end = ''; | ||||
multipleData = data || {}; | multipleData = data || {}; | ||||
@@ -63,14 +66,20 @@ | |||||
queryJson: '{}' | queryJson: '{}' | ||||
}; | }; | ||||
var userInfo = learun.storage.get('userinfo'); | var userInfo = learun.storage.get('userinfo'); | ||||
//console.log(param) | |||||
var aaa=''; | |||||
if (param.multipleData) { | if (param.multipleData) { | ||||
multipleData.Creater = userInfo.baseinfo.userId; | |||||
_postParam.queryJson = JSON.stringify(multipleData); | _postParam.queryJson = JSON.stringify(multipleData); | ||||
} | |||||
if (param.begin && param.end) { | |||||
_postParam.queryJson = JSON.stringify({ StartTime: param.begin, EndTime: param.end }); | |||||
} | |||||
}else{ | |||||
_postParam.queryJson=JSON.stringify({Creater:userInfo.baseinfo.userId}) | |||||
} | |||||
// if (param.begin && param.end) { | |||||
// _postParam.queryJson = JSON.stringify({ StartTime: param.begin, EndTime: param.end,Creater:userInfo.baseinfo.userId }); | |||||
// } | |||||
_postParam.queryJson=JSON.stringify({Creater:userInfo.baseinfo.userId}) | _postParam.queryJson=JSON.stringify({Creater:userInfo.baseinfo.userId}) | ||||
learun.httpget(config.webapi + 'learun/PersonnelManagement/EpidemicSituationCopy/pagelist', _postParam, (data) => { | learun.httpget(config.webapi + 'learun/PersonnelManagement/EpidemicSituationCopy/pagelist', _postParam, (data) => { | ||||
// console.log(data) | |||||
$page.find('.lr-badge').text('0'); | $page.find('.lr-badge').text('0'); | ||||
if (data) { | if (data) { | ||||
$page.find('.lr-badge').text(data.records); | $page.find('.lr-badge').text(data.records); | ||||
@@ -90,55 +99,13 @@ | |||||
keyId:'f_userid', | keyId:'f_userid', | ||||
text:'f_realname' | text:'f_realname' | ||||
})); | })); | ||||
//_$item.append($('<p class="lr-ellipsis"><span>单位名称:</span></p>').dataFormatter({ value: _item.UnitName })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>返工人员:</span></p>').dataFormatter({ value: _item.BackUser })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>类别:</span></p>').dataFormatter({ value: _item.Type, | |||||
// type: 'dataItem', | |||||
// code: 'EUserType' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>所在部门:</span></p>').dataFormatter({ value: _item.Department })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>关系:</span></p>').dataFormatter({ value: _item.RelationShip, | |||||
// type: 'dataItem', | |||||
// code: 'ERelationship' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>性别:</span></p>').dataFormatter({ | |||||
// value: _item.Gender, | |||||
// type: 'dataItem', | |||||
// code: 'usersex' | |||||
//})); | |||||
_$item.append($('<p class="lr-ellipsis"><span>填报时间:</span></p>').dataFormatter({ value: _item.CreateTime, | |||||
_$item.append($('<p class="lr-ellipsis"><span>填报时间:</span></p>').dataFormatter({ | |||||
value: _item.CreateTime, | |||||
type: 'datetime', | type: 'datetime', | ||||
dateformat: 'yyyy-MM-dd' | dateformat: 'yyyy-MM-dd' | ||||
})); | })); | ||||
//_$item.append($('<p class="lr-ellipsis"><span>身份证号:</span></p>').dataFormatter({ value: _item.IDCard })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>家庭住址:</span></p>').dataFormatter({ value: _item.HomeAddress })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>联系方式:</span></p>').dataFormatter({ value: _item.Mobile })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>前往省份:</span></p>').dataFormatter({ value: _item.Provice, | |||||
// type: 'dataSource', | |||||
// code: 'DIC_PROVINCE', | |||||
// keyId: 'pcode', | |||||
// text: 'pname' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>前往详细地址:</span></p>').dataFormatter({ value: _item.Objective })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>外出原因:</span></p>').dataFormatter({ | |||||
// value: _item.OutReason, | |||||
// type: 'dataItem', | |||||
// code: 'OutReason' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>外出时间:</span></p>').dataFormatter({ value: _item.OutTime, | |||||
// type: 'datetime', | |||||
// dateformat: 'yyyy-MM-dd' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>返回时间:</span></p>').dataFormatter({ value: _item.BackHomeTime, | |||||
// type: 'datetime', | |||||
// dateformat: 'yyyy-MM-dd' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>交通工具:</span></p>').dataFormatter({ value: _item.Vehicle, | |||||
// type: 'dataItem', | |||||
// code: 'Vehicle' | |||||
//})); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>交通工具号码:</span></p>').dataFormatter({ value: _item.VehicleNum })); | |||||
//_$item.append($('<p class="lr-ellipsis"><span>返回抵达目的地:</span></p>').dataFormatter({ value: _item.BackAddress })); | |||||
return ''; | return ''; | ||||
}, | }, | ||||
rowClick: function (item, $item, $page) {// 列表行点击触发方法 | rowClick: function (item, $item, $page) {// 列表行点击触发方法 | ||||
@@ -1,4 +1,4 @@ | |||||
<div class="lr-form-container"> | |||||
<div class="lr-form-container"> | |||||
<div class="lr-form-row " data-table="EpidemicSituation"> | <div class="lr-form-row " data-table="EpidemicSituation"> | ||||
<label>填报人员</label> | <label>填报人员</label> | ||||
@@ -1,4 +1,4 @@ | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | * Copyright (c) 2013-2018 北京泉江科技有限公司 | ||||
* 创建人:超级管理员 | * 创建人:超级管理员 | ||||
* 日 期:2020-02-03 14:37 | * 日 期:2020-02-03 14:37 | ||||
@@ -174,6 +174,8 @@ | |||||
$header.find('.lr-form-header-btnlist').show(); | $header.find('.lr-form-header-btnlist').show(); | ||||
// 获取表单数据 | // 获取表单数据 | ||||
learun.layer.loading(true, '获取表单数据'); | learun.layer.loading(true, '获取表单数据'); | ||||
// console.log(11) | |||||
// console.log(keyValue) | |||||
learun.httpget(config.webapi + 'learun/PersonnelManagement/EpidemicSituationCopy/form', keyValue, (data) => { | learun.httpget(config.webapi + 'learun/PersonnelManagement/EpidemicSituationCopy/form', keyValue, (data) => { | ||||
if (data) { | if (data) { | ||||
//省市区数据处理 | //省市区数据处理 | ||||
@@ -194,8 +196,6 @@ | |||||
$page.find('[data-table="' + id + '"]').lrformSet(data[id]); | $page.find('[data-table="' + id + '"]').lrformSet(data[id]); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
learun.layer.loading(false); | learun.layer.loading(false); | ||||
}); | }); | ||||
@@ -322,6 +322,7 @@ | |||||
//新建时获取登陆人信息 | //新建时获取登陆人信息 | ||||
var userInfo = learun.storage.get('userinfo'); | var userInfo = learun.storage.get('userinfo'); | ||||
//console.log(userInfo) | |||||
if (!keyValue) { | if (!keyValue) { | ||||
@@ -340,6 +341,7 @@ | |||||
learun.httpget(config.webapi + 'learun/PersonnelManagement/EpidemicSituationCopy/getStuSource', | learun.httpget(config.webapi + 'learun/PersonnelManagement/EpidemicSituationCopy/getStuSource', | ||||
userInfo.baseinfo.account, | userInfo.baseinfo.account, | ||||
(data) => { | (data) => { | ||||
console.log(data) | |||||
if (data) { | if (data) { | ||||
$page.find('#HomeAddress').val(data.Address); | $page.find('#HomeAddress').val(data.Address); | ||||
$page.find('#StudentSource').val(data.res); | $page.find('#StudentSource').val(data.res); | ||||
@@ -1,4 +1,4 @@ | |||||
<div class="lr-form-container"> | |||||
<div class="lr-form-container"> | |||||
<div class="lr-form-row " hidden data-table="StuAttendanceLeave"> | <div class="lr-form-row " hidden data-table="StuAttendanceLeave"> | ||||
<label>学年度</label> | <label>学年度</label> | ||||
@@ -109,5 +109,4 @@ | |||||
<label>备注</label> | <label>备注</label> | ||||
<textarea id="Remark" style="height:100px;"></textarea> | <textarea id="Remark" style="height:100px;"></textarea> | ||||
</div> | </div> | ||||
</div> | </div> |
@@ -1,4 +1,4 @@ | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | * Copyright (c) 2013-2018 北京泉江科技有限公司 | ||||
* 创建人:超级管理员 | * 创建人:超级管理员 | ||||
* 日 期:2019-06-24 14:40 | * 日 期:2019-06-24 14:40 | ||||
@@ -50,35 +50,7 @@ | |||||
$header.find('.f-page-title').text('请假'); | $header.find('.f-page-title').text('请假'); | ||||
$page.find('.lr-form-container').setFormWrite(); | $page.find('.lr-form-container').setFormWrite(); | ||||
}); | }); | ||||
//// 更多 | |||||
//$header.find('.lr-form-header-more').on('tap', function () { | |||||
// learun.actionsheet({ | |||||
// id: 'more', | |||||
// data: [ | |||||
// { | |||||
// text: '删除', | |||||
// mark: true, | |||||
// event: function () {// 删除当前条信息 | |||||
// learun.layer.confirm('确定要删除该笔数据吗?', function (_index) { | |||||
// if (_index === '1') { | |||||
// learun.layer.loading(true, '正在删除该笔数据'); | |||||
// learun.httppost(config.webapi + 'learun/EducationalAdministration/StuAttendanceLeave/delete', keyValue, (data) => { | |||||
// learun.layer.loading(false); | |||||
// if (data) {// 删除数据成功 | |||||
// learun.nav.closeCurrent(); | |||||
// var prepage = learun.nav.getpage('EducationalAdministration/StuAttendanceLeave'); | |||||
// prepage.grid.reload(); | |||||
// } | |||||
// }); | |||||
// } | |||||
// }, '智慧校园提示', ['取消', '确定']); | |||||
// } | |||||
// } | |||||
// ], | |||||
// cancel: function () { | |||||
// } | |||||
// }); | |||||
//}); | |||||
// 提交 | // 提交 | ||||
$header.find('.lr-form-header-submit').on('tap', function () { | $header.find('.lr-form-header-submit').on('tap', function () { | ||||
// 获取表单数据 | // 获取表单数据 | ||||
@@ -115,10 +87,9 @@ | |||||
$header.find('.lr-form-header-btnlist').show(); | $header.find('.lr-form-header-btnlist').show(); | ||||
// 获取表单数据 | // 获取表单数据 | ||||
learun.layer.loading(true, '获取表单数据'); | learun.layer.loading(true, '获取表单数据'); | ||||
learun.httpget(config.webapi + 'learun/EducationalAdministration/StuAttendanceLeave/leaveform', keyValue, (data) => { | |||||
learun.httpget(config.webapi + 'learun/EducationalAdministration/StuAttendanceLeave/leaveform', {}, (data) => { | |||||
console.log(data); | console.log(data); | ||||
if (data) { | if (data) { | ||||
for (var id in data) { | for (var id in data) { | ||||
if (data[id]) { | if (data[id]) { | ||||
if (data[id].length) { | if (data[id].length) { | ||||
@@ -1 +1,11 @@ | |||||
@pubColor: #0C86D8; | |||||
@pubColor: #0C86D8; | |||||
.btn { | |||||
width: 50%; | |||||
line-height: 34px; | |||||
background-color: #0c86d8; | |||||
text-align: center; | |||||
color: #fff; | |||||
border-radius: 4px; | |||||
margin: 30px auto; | |||||
} |
@@ -37,6 +37,19 @@ export default { | |||||
SundayTime: SundayTime, | SundayTime: SundayTime, | ||||
Sunday: this.fmtDate(SundayTime) | Sunday: this.fmtDate(SundayTime) | ||||
} | } | ||||
}, | |||||
compare (key) { | |||||
return (obj1, obj2) => { | |||||
let value1 = obj1[key] | |||||
let value2 = obj2[key] | |||||
if (value1 < value2) { | |||||
return -1; | |||||
} else if (value1 > value2) { | |||||
return 1; | |||||
} else { | |||||
return 0 | |||||
} | |||||
} | |||||
} | } | ||||
} | } | ||||
@@ -0,0 +1,15 @@ | |||||
export default { | |||||
fmtDate(obj) { | |||||
let date =obj? new Date(obj) : new Date(); | |||||
let y = 1900+date.getYear(); | |||||
let m = "0"+(date.getMonth()+1); | |||||
let d = "0"+date.getDate(); | |||||
let h = "0"+date.getHours(); | |||||
let min = "0"+date.getMinutes(); | |||||
return { | |||||
ymdhMin:y+"-"+m.substring(m.length-2,m.length)+"-"+d.substring(d.length-2,d.length) + ' ' + h.substring(h.length-2,h.length) + ':' + min.substring(min.length-2,min.length), | |||||
ymd:y+"-"+m.substring(m.length-2,m.length)+"-"+d.substring(d.length-2,d.length) | |||||
}; | |||||
} | |||||
} | |||||
@@ -76,6 +76,7 @@ | |||||
@change="customChange" | @change="customChange" | ||||
title="结束时间" | title="结束时间" | ||||
placeholder="点击来选取" | placeholder="点击来选取" | ||||
/> | /> | ||||
</view> | </view> | ||||
</template> | </template> | ||||
@@ -26,7 +26,9 @@ export default { | |||||
required: {}, | required: {}, | ||||
value: {} | value: {} | ||||
}, | }, | ||||
created() { | |||||
console.log(this.end) | |||||
}, | |||||
methods: { | methods: { | ||||
click(e) { | click(e) { | ||||
if (this.disabled) { | if (this.disabled) { | ||||
@@ -5,6 +5,8 @@ import store from '@/common/store.js' | |||||
import mixins from '@/common/mixins.js' | import mixins from '@/common/mixins.js' | ||||
import '@/components/learun-mpui' | import '@/components/learun-mpui' | ||||
import '@/common/css/common.less'; | |||||
moment.locale('zh-cn') | moment.locale('zh-cn') | ||||
Vue.mixin(mixins) | Vue.mixin(mixins) | ||||
@@ -646,10 +646,89 @@ | |||||
"navigationBarTitleText": "考试安排", | "navigationBarTitleText": "考试安排", | ||||
"backgroundColor": "#ffffff" | "backgroundColor": "#ffffff" | ||||
} | } | ||||
}, | |||||
//奖励信息 | |||||
{ | |||||
"path": "pages/StuEncourgement/list", | |||||
"style": { | |||||
"navigationBarTitleText": "奖励信息" | |||||
} | |||||
}, | |||||
//我的课表 | |||||
{ | |||||
"path": "pages/timeTable/list", | |||||
"style": { | |||||
"navigationBarTitleText": "我的课表" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "pages/timeTable/leaveFrom", | |||||
"style": { | |||||
"navigationBarTitleText": "详细" | |||||
} | |||||
}, | |||||
//选修课选课(预) | |||||
{ | |||||
"path": "pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/list", | |||||
"style": { | |||||
"navigationBarTitleText": "选修课选课(预)" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/from", | |||||
"style": { | |||||
"navigationBarTitleText": "查看详情" | |||||
} | |||||
}, | |||||
//选修课选课 | |||||
{ | |||||
"path": "pages/EducationalAdministration/OpenLessonPlanOfElectiveStudent/list", | |||||
"style": { | |||||
"navigationBarTitleText": "选修课选课" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "pages/EducationalAdministration/OpenLessonPlanOfElectiveStudent/from", | |||||
"style": { | |||||
"navigationBarTitleText": "查看详情" | |||||
} | |||||
}, | |||||
//我的选修课 | |||||
{ | |||||
"path": "pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentSelected/list", | |||||
"style": { | |||||
"navigationBarTitleText": "我的选修课" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "pages/EducationalAdministration/OpenLessonPlanOfElectiveStudentSelected/from", | |||||
"style": { | |||||
"navigationBarTitleText": "查看详情" | |||||
} | |||||
}, | |||||
//学费查询 | |||||
{ | |||||
"path": "pages/StuPayFee/list", | |||||
"style": { | |||||
"navigationBarTitleText": "学费查询" | |||||
} | |||||
}, | |||||
//自诊打卡 | |||||
{ | |||||
"path": "pages/PersonnelManagement/EpidemicSituationCopy/list", | |||||
"style": { | |||||
"navigationBarTitleText": "自诊打卡" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "pages/PersonnelManagement/EpidemicSituationCopy/from", | |||||
"style": { | |||||
"navigationBarTitleText": "查看详情" | |||||
} | |||||
} | } | ||||
], | |||||
], | |||||
// 全局样式 | // 全局样式 | ||||
"globalStyle": { | "globalStyle": { | ||||
@@ -1,475 +1,428 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<!-- 主列表页 --> | |||||
<view :class="sideOpen ? 'show' : ''" class="mainpage" style="padding-top: 80rpx;"> | |||||
<!-- 顶部条目/分页信息栏 --> | |||||
<l-customlist-banner @buttonClick="sideOpen = true">{{ tips }}</l-customlist-banner> | |||||
<!-- 滚动列表,跨端支持上拉/下拉 --> | |||||
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list"> | |||||
<l-customlist :tips="loadState" showTips> | |||||
<!-- 单条记录 --> | |||||
<view class="customlist-item" v-for="item of list" :key="item.Id"> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">调度类型:</text> | |||||
{{ displayListItem(item, 'AttemperType') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">调度时限:</text> | |||||
{{ displayListItem(item, 'AttemperTimeType') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">调度时间:</text> | |||||
{{ showField(item, 'AttemperStartTime') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">学年学期:</text> | |||||
{{ showField(item, 'AcademicYearNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">系部:</text> | |||||
{{ displayListItem(item, 'DeptNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">专业:</text> | |||||
{{ displayListItem(item, 'MajorNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">课程:</text> | |||||
{{ displayListItem(item, 'LessonNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">班级信息:</text> | |||||
{{ displayListItem(item, 'TeachClassNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">教师:</text> | |||||
{{ displayListItem(item, 'EmpNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">教室:</text> | |||||
{{ displayListItem(item, 'ClassroomNo') }} | |||||
</view> | |||||
<view v-show="item.AttemperType!= '02'"> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新系部:</text> | |||||
{{ displayListItem(item, 'NewDeptNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新专业:</text> | |||||
{{ displayListItem(item, 'NewMajorNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新课程:</text> | |||||
{{ displayListItem(item, 'NewLessonNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新班级:</text> | |||||
{{ displayListItem(item, 'NewTeachClassNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新教师:</text> | |||||
{{ displayListItem(item, 'NewEmpNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新教室:</text> | |||||
{{ displayListItem(item, 'NewClassroomNo') }} | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</l-customlist> | |||||
</l-scroll-list> | |||||
</view> | |||||
<!-- 关闭侧边抽屉按钮 --> | |||||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"> | |||||
<l-icon type="pullright" color="blue" /> | |||||
</view> | |||||
<!-- 侧边栏,用于设置查询条件 --> | |||||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||||
<view v-if="ready" class="padding"> | |||||
<l-customlist-sidepage-datefilter | |||||
v-model="dateRange" | |||||
@change="searchChange" | |||||
title="按时间日期查询: " | |||||
ref="datefilter" | |||||
class="margin-bottom" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.AttemperType" | |||||
@change="searchChange" | |||||
:range="dataSource.AttemperType" | |||||
title ="调度类型" | |||||
placeholder="按调度类型查询" | |||||
/> | |||||
<l-input | |||||
v-model="queryData.AcademicYearNo" | |||||
@change="searchChange" | |||||
title ="学年学期" | |||||
placeholder="按学年学期查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.DeptNo" | |||||
@change="searchChange" | |||||
:range="dataSource.DeptNo" | |||||
title ="系部" | |||||
placeholder="按系部查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.MajorNo" | |||||
@change="searchChange" | |||||
:range="dataSource.MajorNo" | |||||
title ="专业" | |||||
placeholder="按专业查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.LessonNo" | |||||
@change="searchChange" | |||||
:range="dataSource.LessonNo" | |||||
title ="课程" | |||||
placeholder="按课程查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.TeachClassNo" | |||||
@change="searchChange" | |||||
:range="dataSource.TeachClassNo" | |||||
title ="班级信息" | |||||
placeholder="按班级信息查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.EmpNo" | |||||
@change="searchChange" | |||||
:range="dataSource.EmpNo" | |||||
title ="教师" | |||||
placeholder="按教师查询" | |||||
/> | |||||
<!-- 重置查询条件按钮 --> | |||||
<view class="padding-tb"> | |||||
<l-button @click="reset" line="orange" class="block" block>重置查询条件</l-button> | |||||
</view> | |||||
</view> | |||||
</scroll-view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
/* | |||||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 上海力软信息技术有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2020-10-20 14:32 | |||||
* 描 述:调度信息 | |||||
<template> | |||||
<view class="page"> | |||||
<!-- 主列表页 --> | |||||
<view :class="sideOpen ? 'show' : ''" class="mainpage" style="padding-top: 80rpx;"> | |||||
<!-- 顶部条目/分页信息栏 --> | |||||
<l-customlist-banner @buttonClick="sideOpen = true">{{ tips }}</l-customlist-banner> | |||||
<!-- 滚动列表,跨端支持上拉/下拉 --> | |||||
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list"> | |||||
<l-customlist :tips="loadState" showTips> | |||||
<!-- 单条记录 --> | |||||
<view class="customlist-item" v-for="item of list" :key="item.Id"> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">调度类型:</text> | |||||
{{ displayListItem(item, 'AttemperType') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">调度时限:</text> | |||||
{{ displayListItem(item, 'AttemperTimeType') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">调度时间:</text> | |||||
{{ showField(item, 'AttemperStartTime') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">学年学期:</text> | |||||
{{ showField(item, 'AcademicYearNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">系部:</text> | |||||
{{ displayListItem(item, 'DeptNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">专业:</text> | |||||
{{ displayListItem(item, 'MajorNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">课程:</text> | |||||
{{ displayListItem(item, 'LessonNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">班级信息:</text> | |||||
{{ displayListItem(item, 'TeachClassNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">教师:</text> | |||||
{{ displayListItem(item, 'EmpNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">教室:</text> | |||||
{{ displayListItem(item, 'ClassroomNo') }} | |||||
</view> | |||||
<view v-show="item.AttemperType != '02'"> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新系部:</text> | |||||
{{ displayListItem(item, 'NewDeptNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新专业:</text> | |||||
{{ displayListItem(item, 'NewMajorNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新课程:</text> | |||||
{{ displayListItem(item, 'NewLessonNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新班级:</text> | |||||
{{ displayListItem(item, 'NewTeachClassNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新教师:</text> | |||||
{{ displayListItem(item, 'NewEmpNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">新教室:</text> | |||||
{{ displayListItem(item, 'NewClassroomNo') }} | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</l-customlist> | |||||
</l-scroll-list> | |||||
</view> | |||||
<!-- 关闭侧边抽屉按钮 --> | |||||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"><l-icon type="pullright" color="blue" /></view> | |||||
<!-- 侧边栏,用于设置查询条件 --> | |||||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||||
<view v-if="ready" class="padding"> | |||||
<l-customlist-sidepage-datefilter v-model="dateRange" @change="searchChange" title="按时间日期查询: " ref="datefilter" class="margin-bottom" /> | |||||
<l-select v-model="queryData.AttemperType" @change="searchChange" :range="dataSource.AttemperType" title="调度类型" placeholder="按调度类型查询" /> | |||||
<l-input v-model="queryData.AcademicYearNo" @change="searchChange" title="学年学期" placeholder="按学年学期查询" /> | |||||
<l-select v-model="queryData.DeptNo" @change="searchChange" :range="dataSource.DeptNo" title="系部" placeholder="按系部查询" /> | |||||
<l-select v-model="queryData.MajorNo" @change="searchChange" :range="dataSource.MajorNo" title="专业" placeholder="按专业查询" /> | |||||
<l-select v-model="queryData.LessonNo" @change="searchChange" :range="dataSource.LessonNo" title="课程" placeholder="按课程查询" /> | |||||
<l-select v-model="queryData.TeachClassNo" @change="searchChange" :range="dataSource.TeachClassNo" title="班级信息" placeholder="按班级信息查询" /> | |||||
<l-select v-model="queryData.EmpNo" @change="searchChange" :range="dataSource.EmpNo" title="教师" placeholder="按教师查询" /> | |||||
<!-- 重置查询条件按钮 --> | |||||
<view class="padding-tb"><l-button @click="reset" line="orange" class="block" block>重置查询条件</l-button></view> | |||||
</view> | |||||
</scroll-view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
/* | |||||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 上海力软信息技术有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2020-10-20 14:32 | |||||
* 描 述:调度信息 | |||||
*/ | */ | ||||
/** | |||||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||||
* { "path": "pages/EducationalAdministration/ArrangeLessonTermAttemper/list", "style": { "navigationBarTitleText": "表单列表页" } } | |||||
* | |||||
* (navigationBarTitleText 字段为本页面的标题文本,可以修改) | |||||
* (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | |||||
/** | |||||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||||
* { "path": "pages/EducationalAdministration/ArrangeLessonTermAttemper/list", "style": { "navigationBarTitleText": "表单列表页" } } | |||||
* | |||||
* (navigationBarTitleText 字段为本页面的标题文本,可以修改) | |||||
* (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | |||||
*/ | */ | ||||
import moment from 'moment' | |||||
import get from 'lodash/get' | |||||
import set from 'lodash/set' | |||||
import pickBy from 'lodash/pickBy' | |||||
import mapValues from 'lodash/mapValues' | |||||
export default { | |||||
data() { | |||||
return { | |||||
// 数据项的数据类型、结构 | |||||
scheme: { | |||||
AttemperType: { type: 'select', itemCode: 'AttemperType', dataSource: '0' }, | |||||
AttemperTimeType: { type: 'select', itemCode: 'AttemperTimeType', dataSource: '0' }, | |||||
AttemperStartTime: { type: 'text' }, | |||||
AcademicYearNo: { type: 'text' }, | |||||
DeptNo: { type: 'select', dataSource: '1', dataSourceId: 'CdDeptInfo,deptname,deptno' }, | |||||
MajorNo: { type: 'select', dataSource: '1', dataSourceId: 'CdMajorInfo,majorname,majorno' }, | |||||
LessonNo: { type: 'select', dataSource: '1', dataSourceId: 'LessonInfo,lessonname,lessonno' }, | |||||
TeachClassNo: { type: 'select', dataSource: '1', dataSourceId: 'bjsj,classname,classno' }, | |||||
EmpNo: { type: 'select', dataSource: '1', dataSourceId: 'EmpInfo,empname,empno' }, | |||||
ClassroomNo: { type: 'select', dataSource: '1', dataSourceId: 'ClassRoomInfo,classroomname,classroomno' }, | |||||
NewDeptNo: { type: 'select', dataSource: '1', dataSourceId: 'CdDeptInfo,deptname,deptno' }, | |||||
NewMajorNo: { type: 'select', dataSource: '1', dataSourceId: 'CdMajorInfo,majorname,majorno' }, | |||||
NewLessonNo: { type: 'select', dataSource: '1', dataSourceId: 'LessonInfo,lessonname,lessonno' }, | |||||
NewTeachClassNo: { type: 'select', dataSource: '1', dataSourceId: 'bjsj,classname,classno' }, | |||||
NewEmpNo: { type: 'select', dataSource: '1', dataSourceId: 'EmpInfo,empname,empno' }, | |||||
NewClassroomNo: { type: 'select', dataSource: '1', dataSourceId: 'ClassRoomInfo,classroomname,classroomno' }, | |||||
}, | |||||
// 查询条件 | |||||
searchData: {}, | |||||
defaultQueryData: {}, | |||||
queryData: { | |||||
AttemperType: '', | |||||
AcademicYearNo: '', | |||||
DeptNo: '', | |||||
MajorNo: '', | |||||
LessonNo: '', | |||||
TeachClassNo: '', | |||||
EmpNo: '', | |||||
}, | |||||
// 数据源 | |||||
dataSource: { | |||||
AttemperType: Object.values(this.GET_GLOBAL('dataDictionary').AttemperType).map(t => ({ value: t.value, text: t.text })), | |||||
AttemperTimeType: Object.values(this.GET_GLOBAL('dataDictionary').AttemperTimeType).map(t => ({ value: t.value, text: t.text })), | |||||
DeptNo: [], | |||||
MajorNo: [], | |||||
LessonNo: [], | |||||
TeachClassNo: [], | |||||
EmpNo: [], | |||||
ClassroomNo: [], | |||||
NewDeptNo: [], | |||||
NewMajorNo: [], | |||||
NewLessonNo: [], | |||||
NewTeachClassNo: [], | |||||
NewEmpNo: [], | |||||
NewClassroomNo: [], | |||||
}, | |||||
// 时间查询参数 | |||||
dateRange: null, | |||||
// 页面相关参数 | |||||
ready: false, | |||||
tips: '加载中...', | |||||
loadState: '向下翻以加载更多', | |||||
sideOpen: false, | |||||
// 列表与分页信息 | |||||
page: 1, | |||||
total: 2, | |||||
list: [] | |||||
} | |||||
}, | |||||
async onLoad() { | |||||
await this.init() | |||||
}, | |||||
onUnload() { | |||||
this.OFF('EducationalAdministrationArrangeLessonTermAttemper-list-change') | |||||
}, | |||||
methods: { | |||||
// 页面初始化 | |||||
async init() { | |||||
this.ON('EducationalAdministrationArrangeLessonTermAttemper-list-change', this.refreshList) | |||||
// 拉取加载列表和数据源 | |||||
await Promise.all([ | |||||
this.FETCH_DATASOURCE('CdDeptInfo').then(result => { | |||||
this.dataSource.DeptNo = result.data.map(t => ({ text: t.deptname, value: t.deptno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||||
this.dataSource.MajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('LessonInfo').then(result => { | |||||
this.dataSource.LessonNo = result.data.map(t => ({ text: t.lessonname, value: t.lessonno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||||
this.dataSource.TeachClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('EmpInfo').then(result => { | |||||
this.dataSource.EmpNo = result.data.map(t => ({ text: t.empname, value: t.empno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('ClassRoomInfo').then(result => { | |||||
this.dataSource.ClassroomNo = result.data.map(t => ({ text: t.classroomname, value: t.classroomno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('CdDeptInfo').then(result => { | |||||
this.dataSource.NewDeptNo = result.data.map(t => ({ text: t.deptname, value: t.deptno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||||
this.dataSource.NewMajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('LessonInfo').then(result => { | |||||
this.dataSource.NewLessonNo = result.data.map(t => ({ text: t.lessonname, value: t.lessonno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||||
this.dataSource.NewTeachClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('EmpInfo').then(result => { | |||||
this.dataSource.NewEmpNo = result.data.map(t => ({ text: t.empname, value: t.empno })) | |||||
}), | |||||
this.FETCH_DATASOURCE('ClassRoomInfo').then(result => { | |||||
this.dataSource.NewClassroomNo = result.data.map(t => ({ text: t.classroomname, value: t.classroomno })) | |||||
}), | |||||
() => {} | |||||
]) | |||||
await this.fetchList() | |||||
// 初始化查询条件 | |||||
this.defaultQueryData = this.COPY(this.queryData) | |||||
this.ready = true | |||||
}, | |||||
// 拉取列表 | |||||
async fetchList() { | |||||
if (this.page > this.total) { return } | |||||
const result = await this.HTTP_GET( | |||||
'learun/adms/EducationalAdministration/ArrangeLessonTermAttemper/pagelist', | |||||
{ | |||||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | |||||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | |||||
pagination: { rows: 10, page: this.page, sidx: 'Id', sord: 'DESC' }, | |||||
queryJson: JSON.stringify(this.searchData) | |||||
}, | |||||
'加载数据时出错' | |||||
) | |||||
if (!result) { return } | |||||
this.total = result.total | |||||
this.page = result.page + 1 | |||||
this.list = this.list.concat(result.rows) | |||||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | |||||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | |||||
}, | |||||
// 刷新清空列表 | |||||
async refreshList() { | |||||
this.page = 1 | |||||
this.total = 2 | |||||
this.list = [] | |||||
await this.fetchList() | |||||
}, | |||||
// 列表下拉 | |||||
pullDown() { | |||||
this.refreshList().then(() => { | |||||
this.$refs.list.stopPullDown() | |||||
}) | |||||
}, | |||||
// 设置搜索条件 | |||||
async searchChange() { | |||||
const result = {} | |||||
// 时间查询相关参数 | |||||
if (this.dateRange) { | |||||
result.StartTime = this.dateRange.start | |||||
result.EndTime = this.dateRange.end | |||||
} | |||||
// 将其他查询项添加到查询 JSON 中 | |||||
const queryObj = pickBy(this.queryData, t => (Array.isArray(t) ? t.length > 0 : t)) | |||||
Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))) | |||||
this.searchData = result | |||||
await this.refreshList() | |||||
}, | |||||
// 点击「清空查询条件」按钮 | |||||
reset() { | |||||
this.$refs.datefilter.changeDateRange('all') | |||||
this.queryData = this.COPY(this.defaultQueryData) | |||||
this.searchChange() | |||||
}, | |||||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||||
async action(type, id = '') { | |||||
switch (type) { | |||||
case 'view': | |||||
this.NAV_TO(`./single?type=view&id=${id}`) | |||||
return | |||||
case 'add': | |||||
this.NAV_TO('./single?type=create') | |||||
return | |||||
case 'edit': | |||||
this.NAV_TO(`./single?type=edit&id=${id}`) | |||||
return | |||||
case 'delete': | |||||
if (!(await this.CONFIRM('删除项目', '确定要删除该项吗?', true))) { | |||||
return | |||||
} | |||||
this.HTTP_POST('learun/adms/EducationalAdministration/ArrangeLessonTermAttemper/delete', id, '删除失败').then(success => { | |||||
if(!success) { return } | |||||
this.TOAST('删除成功', 'success') | |||||
this.refreshList() | |||||
}) | |||||
return | |||||
default: | |||||
return | |||||
} | |||||
}, | |||||
// 显示列表中的标题项 | |||||
displayListItem(item, field) { | |||||
const fieldItem = this.scheme[field] | |||||
const value = item[field] | |||||
switch (fieldItem.type) { | |||||
case 'currentInfo': | |||||
case 'organize': | |||||
return fieldItem.dataType === 'time' ? value : get(this.GET_GLOBAL(fieldItem.dataType), `${value}.name`, '') | |||||
case 'radio': | |||||
case 'select': | |||||
const selectItem = this.dataSource[field].find(t => t.value === String(value)) | |||||
return get(selectItem, 'text', '') | |||||
case 'checkbox': | |||||
if (!value || value.split(',').length <= 0) { return '' } | |||||
const checkboxItems = value.split(',') | |||||
return this.dataSource[field].filter(t => checkboxItems.includes(t.value)).map(t => t.text).join(',') | |||||
case 'datetime': | |||||
if (!value) { return '' } | |||||
return moment(value).format(Number(fieldItem.dateformat) === 0 ? 'YYYY年 M月 D日' : 'YYYY-MM-DD HH:mm') | |||||
default: return value === null || value === undefined ? '' : value | |||||
} | |||||
}, | |||||
showField(item,field){ | |||||
switch(field){ | |||||
case 'AttemperStartTime': | |||||
return (item.AttemperStartTime == null ? "-" : item.AttemperStartTime) + "到" + (item.AttemperEndTime == null ? "-" : item.AttemperEndTime) | |||||
case 'AcademicYearNo': | |||||
return item.AcademicYearNo + "学年第" + item.Semester + "学期" | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</script> | |||||
<style lang="less" scoped> | |||||
@import '~@/common/css/sidepage.less'; | |||||
@import '~@/common/css/customlist.less'; | |||||
</style> | |||||
import moment from 'moment'; | |||||
import get from 'lodash/get'; | |||||
import set from 'lodash/set'; | |||||
import pickBy from 'lodash/pickBy'; | |||||
import mapValues from 'lodash/mapValues'; | |||||
export default { | |||||
data() { | |||||
return { | |||||
// 数据项的数据类型、结构 | |||||
scheme: { | |||||
AttemperType: { type: 'select', itemCode: 'AttemperType', dataSource: '0' }, | |||||
AttemperTimeType: { type: 'select', itemCode: 'AttemperTimeType', dataSource: '0' }, | |||||
AttemperStartTime: { type: 'text' }, | |||||
AcademicYearNo: { type: 'text' }, | |||||
DeptNo: { type: 'select', dataSource: '1', dataSourceId: 'CdDeptInfo,deptname,deptno' }, | |||||
MajorNo: { type: 'select', dataSource: '1', dataSourceId: 'CdMajorInfo,majorname,majorno' }, //code name id | |||||
LessonNo: { type: 'select', dataSource: '1', dataSourceId: 'LessonInfo,lessonname,lessonno' }, | |||||
TeachClassNo: { type: 'select', dataSource: '1', dataSourceId: 'bjsj,classname,classno' }, | |||||
EmpNo: { type: 'select', dataSource: '1', dataSourceId: 'EmpInfo,empname,empno' }, | |||||
ClassroomNo: { type: 'select', dataSource: '1', dataSourceId: 'ClassRoomInfo,classroomname,classroomno' }, | |||||
NewDeptNo: { type: 'select', dataSource: '1', dataSourceId: 'CdDeptInfo,deptname,deptno' }, | |||||
NewMajorNo: { type: 'select', dataSource: '1', dataSourceId: 'CdMajorInfo,majorname,majorno' }, | |||||
NewLessonNo: { type: 'select', dataSource: '1', dataSourceId: 'LessonInfo,lessonname,lessonno' }, | |||||
NewTeachClassNo: { type: 'select', dataSource: '1', dataSourceId: 'bjsj,classname,classno' }, | |||||
NewEmpNo: { type: 'select', dataSource: '1', dataSourceId: 'EmpInfo,empname,empno' }, | |||||
NewClassroomNo: { type: 'select', dataSource: '1', dataSourceId: 'ClassRoomInfo,classroomname,classroomno' } | |||||
}, | |||||
// 查询条件 | |||||
searchData: {}, | |||||
defaultQueryData: {}, | |||||
queryData: { | |||||
AttemperType: '', | |||||
AcademicYearNo: '', | |||||
DeptNo: '', | |||||
MajorNo: '', | |||||
LessonNo: '', | |||||
TeachClassNo: '', | |||||
EmpNo: '' | |||||
}, | |||||
// 数据源 | |||||
dataSource: { | |||||
AttemperType: Object.values(this.GET_GLOBAL('dataDictionary').AttemperType).map(t => ({ value: t.value, text: t.text })), | |||||
AttemperTimeType: Object.values(this.GET_GLOBAL('dataDictionary').AttemperTimeType).map(t => ({ value: t.value, text: t.text })), | |||||
DeptNo: [], | |||||
MajorNo: [], | |||||
LessonNo: [], | |||||
TeachClassNo: [], | |||||
EmpNo: [], | |||||
ClassroomNo: [], | |||||
NewDeptNo: [], | |||||
NewMajorNo: [], | |||||
NewLessonNo: [], | |||||
NewTeachClassNo: [], | |||||
NewEmpNo: [], | |||||
NewClassroomNo: [] | |||||
}, | |||||
// 时间查询参数 | |||||
dateRange: null, | |||||
// 页面相关参数 | |||||
ready: false, | |||||
tips: '加载中...', | |||||
loadState: '向下翻以加载更多', | |||||
sideOpen: false, | |||||
// 列表与分页信息 | |||||
page: 1, | |||||
total: 2, | |||||
list: [] | |||||
}; | |||||
}, | |||||
async onLoad() { | |||||
await this.init(); | |||||
}, | |||||
onUnload() { | |||||
this.OFF('EducationalAdministrationArrangeLessonTermAttemper-list-change'); | |||||
}, | |||||
methods: { | |||||
// 页面初始化 | |||||
async init() { | |||||
this.ON('EducationalAdministrationArrangeLessonTermAttemper-list-change', this.refreshList); | |||||
// 拉取加载列表和数据源 | |||||
await Promise.all([ | |||||
this.FETCH_DATASOURCE('CdDeptInfo').then(result => { | |||||
this.dataSource.DeptNo = result.data.map(t => ({ text: t.deptname, value: t.deptno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||||
this.dataSource.MajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('LessonInfo').then(result => { | |||||
this.dataSource.LessonNo = result.data.map(t => ({ text: t.lessonname, value: t.lessonno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||||
this.dataSource.TeachClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('EmpInfo').then(result => { | |||||
this.dataSource.EmpNo = result.data.map(t => ({ text: t.empname, value: t.empno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('ClassRoomInfo').then(result => { | |||||
this.dataSource.ClassroomNo = result.data.map(t => ({ text: t.classroomname, value: t.classroomno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('CdDeptInfo').then(result => { | |||||
this.dataSource.NewDeptNo = result.data.map(t => ({ text: t.deptname, value: t.deptno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||||
this.dataSource.NewMajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('LessonInfo').then(result => { | |||||
this.dataSource.NewLessonNo = result.data.map(t => ({ text: t.lessonname, value: t.lessonno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||||
this.dataSource.NewTeachClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('EmpInfo').then(result => { | |||||
this.dataSource.NewEmpNo = result.data.map(t => ({ text: t.empname, value: t.empno })); | |||||
}), | |||||
this.FETCH_DATASOURCE('ClassRoomInfo').then(result => { | |||||
this.dataSource.NewClassroomNo = result.data.map(t => ({ text: t.classroomname, value: t.classroomno })); | |||||
}), | |||||
() => {} | |||||
]); | |||||
await this.fetchList(); | |||||
// 初始化查询条件 | |||||
this.defaultQueryData = this.COPY(this.queryData); | |||||
this.ready = true; | |||||
}, | |||||
// 拉取列表 | |||||
async fetchList() { | |||||
if (this.page > this.total) { | |||||
return; | |||||
} | |||||
const result = await this.HTTP_GET( | |||||
'learun/adms/EducationalAdministration/ArrangeLessonTermAttemper/pagelist', | |||||
{ | |||||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | |||||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | |||||
pagination: { rows: 10, page: this.page, sidx: 'Id', sord: 'DESC' }, | |||||
queryJson: JSON.stringify(this.searchData) | |||||
}, | |||||
'加载数据时出错' | |||||
); | |||||
if (!result) { | |||||
return; | |||||
} | |||||
this.total = result.total; | |||||
this.page = result.page + 1; | |||||
this.list = this.list.concat(result.rows); | |||||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项`; | |||||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多'; | |||||
}, | |||||
// 刷新清空列表 | |||||
async refreshList() { | |||||
this.page = 1; | |||||
this.total = 2; | |||||
this.list = []; | |||||
await this.fetchList(); | |||||
}, | |||||
// 列表下拉 | |||||
pullDown() { | |||||
this.refreshList().then(() => { | |||||
this.$refs.list.stopPullDown(); | |||||
}); | |||||
}, | |||||
// 设置搜索条件 | |||||
async searchChange() { | |||||
const result = {}; | |||||
// 时间查询相关参数 | |||||
if (this.dateRange) { | |||||
result.StartTime = this.dateRange.start; | |||||
result.EndTime = this.dateRange.end; | |||||
} | |||||
// 将其他查询项添加到查询 JSON 中 | |||||
const queryObj = pickBy(this.queryData, t => (Array.isArray(t) ? t.length > 0 : t)); | |||||
Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))); | |||||
this.searchData = result; | |||||
await this.refreshList(); | |||||
}, | |||||
// 点击「清空查询条件」按钮 | |||||
reset() { | |||||
this.$refs.datefilter.changeDateRange('all'); | |||||
this.queryData = this.COPY(this.defaultQueryData); | |||||
this.searchChange(); | |||||
}, | |||||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||||
async action(type, id = '') { | |||||
switch (type) { | |||||
case 'view': | |||||
this.NAV_TO(`./single?type=view&id=${id}`); | |||||
return; | |||||
case 'add': | |||||
this.NAV_TO('./single?type=create'); | |||||
return; | |||||
case 'edit': | |||||
this.NAV_TO(`./single?type=edit&id=${id}`); | |||||
return; | |||||
case 'delete': | |||||
if (!(await this.CONFIRM('删除项目', '确定要删除该项吗?', true))) { | |||||
return; | |||||
} | |||||
this.HTTP_POST('learun/adms/EducationalAdministration/ArrangeLessonTermAttemper/delete', id, '删除失败').then(success => { | |||||
if (!success) { | |||||
return; | |||||
} | |||||
this.TOAST('删除成功', 'success'); | |||||
this.refreshList(); | |||||
}); | |||||
return; | |||||
default: | |||||
return; | |||||
} | |||||
}, | |||||
// 显示列表中的标题项 | |||||
displayListItem(item, field) { | |||||
const fieldItem = this.scheme[field]; | |||||
const value = item[field]; | |||||
switch (fieldItem.type) { | |||||
case 'currentInfo': | |||||
case 'organize': | |||||
return fieldItem.dataType === 'time' ? value : get(this.GET_GLOBAL(fieldItem.dataType), `${value}.name`, ''); | |||||
case 'radio': | |||||
case 'select': | |||||
const selectItem = this.dataSource[field].find(t => t.value === String(value)); | |||||
return get(selectItem, 'text', ''); | |||||
case 'checkbox': | |||||
if (!value || value.split(',').length <= 0) { | |||||
return ''; | |||||
} | |||||
const checkboxItems = value.split(','); | |||||
return this.dataSource[field] | |||||
.filter(t => checkboxItems.includes(t.value)) | |||||
.map(t => t.text) | |||||
.join(','); | |||||
case 'datetime': | |||||
if (!value) { | |||||
return ''; | |||||
} | |||||
return moment(value).format(Number(fieldItem.dateformat) === 0 ? 'YYYY年 M月 D日' : 'YYYY-MM-DD HH:mm'); | |||||
default: | |||||
return value === null || value === undefined ? '' : value; | |||||
} | |||||
}, | |||||
showField(item, field) { | |||||
switch (field) { | |||||
case 'AttemperStartTime': | |||||
return (item.AttemperStartTime == null ? '-' : item.AttemperStartTime) + '到' + (item.AttemperEndTime == null ? '-' : item.AttemperEndTime); | |||||
case 'AcademicYearNo': | |||||
return item.AcademicYearNo + '学年第' + item.Semester + '学期'; | |||||
} | |||||
} | |||||
} | |||||
}; | |||||
</script> | |||||
<style lang="less" scoped> | |||||
@import '~@/common/css/sidepage.less'; | |||||
@import '~@/common/css/customlist.less'; | |||||
</style> |
@@ -106,7 +106,7 @@ import mapValues from 'lodash/mapValues' | |||||
export default { | export default { | ||||
data() { | data() { | ||||
return { | |||||
return { | |||||
// 数据项的数据类型、结构 | // 数据项的数据类型、结构 | ||||
scheme: { | scheme: { | ||||
BorrowTime: { type: 'text' }, | BorrowTime: { type: 'text' }, | ||||
@@ -0,0 +1,91 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<l-input title="学年" placeholder="请填写学年" disabled left /> | |||||
<l-input title="学期" placeholder="请填写学期" disabled left /> | |||||
<l-input title="课程名称" placeholder="请填写课程名称" disabled left /> | |||||
<view class="txt">课程简介:</view> | |||||
<view class="bg-white"> | |||||
<l-textarea placeholder="输入点什么..." readonly="readonly" /> | |||||
</view> | |||||
<l-input title="上课节次" placeholder="请填写上课节次" disabled left /> | |||||
<l-input title="上课时间" placeholder="请填写上课时间" disabled left /> | |||||
<l-input title="学分" placeholder="请填写学分" disabled left /> | |||||
<l-input title="教师姓名" placeholder="请填写教师姓名" disabled left /> | |||||
<view class="txt">教师简介:</view> | |||||
<view class="bg-white"> | |||||
<l-textarea disabled placeholder="输入点什么..." readonly="readonly" /> | |||||
</view> | |||||
<l-input title="教室名称" placeholder="请填写教室名称" disabled left /> | |||||
<l-input title="姓名" placeholder="请填写姓名" disabled left /> | |||||
<l-input title="人数上限" placeholder="请填写人数上限" disabled left /> | |||||
<l-input title="已报名人数" placeholder="请填写已报名人数" disabled left /> | |||||
<view class="btn" @click="fromBtn">报名</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default{ | |||||
data() { | |||||
return { | |||||
weekChina: ["一", "二", "三", "四", "五", "六", "日"], | |||||
keyValue: '' | |||||
} | |||||
}, | |||||
methods:{ | |||||
init() { | |||||
this.keyValue = this.GET_PARAM(); //获取页面传递参数 | |||||
// console.log(this.keyValue); | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_GET('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form', { | |||||
"keyValue":_this.keyValue | |||||
}, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
console.log(res); | |||||
}); | |||||
}, | |||||
fromBtn() { | |||||
var _postData = {} | |||||
let _this = this; | |||||
let user = this.GET_GLOBAL('loginUser');; | |||||
_postData.keyValue = this.keyValue; | |||||
_postData.StuNo = user.account; | |||||
_this.LOADING('正在提交…'); | |||||
_this.HTTP_POST('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/SignInByMobile', _postData, '加载数据时出错').then((res,info, code) => { | |||||
// this.HIDE_LOADING(); | |||||
console.log(res); | |||||
console.log(info); | |||||
console.log(code); | |||||
if (res) {// 表单数据保存成功 | |||||
//判断队列结果 | |||||
let timer = setInterval(function () { | |||||
_this.HTTP_POST('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/GetApplyResult', | |||||
_postData, '加载数据时出错').then((dataresult, inforesult) => { | |||||
this.HIDE_LOADING(); | |||||
clearInterval(timer); | |||||
console.log(dataresult); | |||||
}); | |||||
}, 5000); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
created() { | |||||
this.init() | |||||
} | |||||
} | |||||
</script> | |||||
<style lang="less" scoped> | |||||
.txt{ | |||||
line-height: 24px; | |||||
font-size: 15px; | |||||
background-color: #fff; | |||||
padding: 10px 0 10px 15px; | |||||
} | |||||
.page{ | |||||
background-color: #fff; | |||||
padding-bottom: 1px; | |||||
} | |||||
</style> |
@@ -0,0 +1,239 @@ | |||||
<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('EducationalAdministrationBookBorrow-list-change'); | |||||
}, | |||||
methods: { | |||||
init() { | |||||
this.ON('EducationalAdministrationBookBorrow-list-change', 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) | |||||
// console.log(info) | |||||
// console.log(code) | |||||
if (data) {// 成功 | |||||
// _this.TOAST(info); | |||||
// item.pageType = | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
} | |||||
}, | |||||
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> |
@@ -0,0 +1,86 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<l-input title="学年" placeholder="请填写学年" disabled left /> | |||||
<l-input title="学期" placeholder="请填写学期" disabled left /> | |||||
<l-input title="课程名称" placeholder="请填写课程名称" disabled left /> | |||||
<view class="txt">课程简介:</view> | |||||
<view class="bg-white"> | |||||
<l-textarea placeholder="输入点什么..." readonly="readonly" /> | |||||
</view> | |||||
<l-input title="上课节次" placeholder="请填写上课节次" disabled left /> | |||||
<l-input title="上课时间" placeholder="请填写上课时间" disabled left /> | |||||
<l-input title="学分" placeholder="请填写学分" disabled left /> | |||||
<l-input title="教师姓名" placeholder="请填写教师姓名" disabled left /> | |||||
<view class="txt">教师简介:</view> | |||||
<view class="bg-white"> | |||||
<l-textarea disabled placeholder="输入点什么..." readonly="readonly" /> | |||||
</view> | |||||
<l-input title="教室名称" placeholder="请填写教室名称" disabled left /> | |||||
<l-input title="姓名" placeholder="请填写姓名" disabled left /> | |||||
<l-input title="人数上限" placeholder="请填写人数上限" disabled left /> | |||||
<l-input title="已报名人数" placeholder="请填写已报名人数" disabled left /> | |||||
<view class="btn" @click="fromBtn">报名</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default{ | |||||
data() { | |||||
return { | |||||
weekChina: ["一", "二", "三", "四", "五", "六", "日"], | |||||
keyValue: '' | |||||
} | |||||
}, | |||||
methods:{ | |||||
init() { | |||||
this.keyValue = this.GET_PARAM(); //获取页面传递参数 | |||||
// console.log(this.keyValue); | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_GET('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form', { | |||||
"keyValue":_this.keyValue | |||||
}, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
console.log(res); | |||||
}); | |||||
}, | |||||
fromBtn() { | |||||
var _postData = {} | |||||
let _this = this; | |||||
let user = this.GET_GLOBAL('loginUser');; | |||||
_postData.keyValue = this.keyValue; | |||||
_postData.StuNo = user.account; | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_POST('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/SignInPre', _postData, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
console.log(res); | |||||
}); | |||||
// learun.httppost(config.webapi + '', _postData, (data,info) => { | |||||
// learun.layer.loading(false); | |||||
// if (data) {// 表单数据保存成功 | |||||
// learun.layer.toast(info); | |||||
// learun.nav.closeCurrent(); | |||||
// var prepage = learun.nav.getpage('EducationalAdministration/OpenLessonPlanOfElectiveStudentPre'); | |||||
// prepage.grid.reload(); | |||||
// } | |||||
// }); | |||||
} | |||||
}, | |||||
created() { | |||||
this.init() | |||||
} | |||||
} | |||||
</script> | |||||
<style lang="less" scoped> | |||||
.txt{ | |||||
line-height: 24px; | |||||
font-size: 15px; | |||||
background-color: #fff; | |||||
padding: 10px 0 10px 15px; | |||||
} | |||||
.page{ | |||||
background-color: #fff; | |||||
padding-bottom: 1px; | |||||
} | |||||
</style> |
@@ -0,0 +1,238 @@ | |||||
<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('EducationalAdministrationBookBorrow-list-change'); | |||||
}, | |||||
methods: { | |||||
init() { | |||||
this.ON('EducationalAdministrationBookBorrow-list-change', 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 | |||||
}); | |||||
} | |||||
_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('正在取消报名…') | |||||
console.log(123); | |||||
_this.HTTP_POST( | |||||
'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/CancelPre', | |||||
_postData, | |||||
'加载数据时出错' | |||||
).then( (data) => { | |||||
_this.HIDE_LOADING() | |||||
console.log(data) | |||||
if (data) {// 成功 | |||||
_this.TOAST(info); | |||||
// item.pageType = | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
} | |||||
}, | |||||
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> |
@@ -0,0 +1,65 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<l-input title="学年" placeholder="请填写学年" disabled left /> | |||||
<l-input title="学期" placeholder="请填写学期" disabled left /> | |||||
<l-input title="课程名称" placeholder="请填写课程名称" disabled left /> | |||||
<view class="txt">课程简介:</view> | |||||
<view class="bg-white"> | |||||
<l-textarea placeholder="输入点什么..." readonly="readonly" /> | |||||
</view> | |||||
<l-input title="上课节次" placeholder="请填写上课节次" disabled left /> | |||||
<l-input title="上课时间" placeholder="请填写上课时间" disabled left /> | |||||
<l-input title="学分" placeholder="请填写学分" disabled left /> | |||||
<l-input title="教师姓名" placeholder="请填写教师姓名" disabled left /> | |||||
<view class="txt">教师简介:</view> | |||||
<view class="bg-white"> | |||||
<l-textarea disabled placeholder="输入点什么..." readonly="readonly" /> | |||||
</view> | |||||
<l-input title="教室名称" placeholder="请填写教室名称" disabled left /> | |||||
<l-input title="姓名" placeholder="请填写姓名" disabled left /> | |||||
<l-input title="人数上限" placeholder="请填写人数上限" disabled left /> | |||||
<l-input title="已报名人数" placeholder="请填写已报名人数" disabled left /> | |||||
<view class="btn" @click="fromBtn">报名</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default{ | |||||
data() { | |||||
return { | |||||
weekChina: ["一", "二", "三", "四", "五", "六", "日"], | |||||
keyValue: '' | |||||
} | |||||
}, | |||||
methods:{ | |||||
init() { | |||||
this.keyValue = this.GET_PARAM(); //获取页面传递参数 | |||||
// console.log(this.keyValue); | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_GET('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/form', { | |||||
"keyValue":_this.keyValue | |||||
}, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
console.log(res); | |||||
}); | |||||
} | |||||
}, | |||||
created() { | |||||
this.init() | |||||
} | |||||
} | |||||
</script> | |||||
<style lang="less" scoped> | |||||
.txt{ | |||||
line-height: 24px; | |||||
font-size: 15px; | |||||
background-color: #fff; | |||||
padding: 10px 0 10px 15px; | |||||
} | |||||
.page{ | |||||
background-color: #fff; | |||||
padding-bottom: 1px; | |||||
} | |||||
</style> |
@@ -0,0 +1,199 @@ | |||||
<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></view> | |||||
<view class="pageBox customlist-item" 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.Status) }}</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('EducationalAdministrationBookBorrow-list-change'); | |||||
}, | |||||
methods: { | |||||
init() { | |||||
this.ON('EducationalAdministrationBookBorrow-list-change', 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 | |||||
}); | |||||
} | |||||
_this.LOADING('加载数据中…') | |||||
_this.HTTP_GET('learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/studentpagelist', _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); | |||||
} | |||||
}, | |||||
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); | |||||
} | |||||
.pageBox { | |||||
padding: 5px 15px; | |||||
line-height: 24px; | |||||
border-bottom: 5px solid #f5f5f5; | |||||
background-color: #fff; | |||||
} | |||||
</style> |
@@ -1,146 +1,88 @@ | |||||
<template> | <template> | ||||
<view class="page"> | |||||
<!-- 主列表页 --> | |||||
<view | |||||
:class="sideOpen ? 'show' : ''" | |||||
class="mainpage" | |||||
style="padding-top: 80rpx" | |||||
> | |||||
<!-- 顶部条目/分页信息栏 --> | |||||
<l-customlist-banner @buttonClick="sideOpen = true">{{ | |||||
tips | |||||
}}</l-customlist-banner> | |||||
<!-- 滚动列表,跨端支持上拉/下拉 --> | |||||
<l-scroll-list | |||||
v-if="ready" | |||||
@pullDown="pullDown" | |||||
@toBottom="fetchList()" | |||||
ref="list" | |||||
> | |||||
<l-customlist :tips="loadState" showTips> | |||||
<!-- 单条记录 --> | |||||
<view class="customlist-item" v-for="item of list" :key="item.ID"> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">班级:</text> | |||||
{{ displayListItem(item, "ClassNo") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">测温人:</text> | |||||
{{ displayListItem(item, "MeasurerID") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">被测温人:</text> | |||||
{{ displayListItem(item, "PersonBeingMeasured") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">测量时间:</text> | |||||
{{ displayListItem(item, "MeasureDate") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">测温时间段:</text> | |||||
{{ displayListItem(item, "MeasureTime") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">状态:</text> | |||||
{{ displayListItem(item, "Status") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">温度:</text> | |||||
{{ displayListItem(item, "Temperature") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">处理结果:</text> | |||||
{{ displayListItem(item, "ProcessingResult") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">备注:</text> | |||||
{{ displayListItem(item, "Remark") }} | |||||
</view> | |||||
<l-customlist-action | |||||
showEdit | |||||
@edit="action('edit', item.ID)" | |||||
showDelete | |||||
@delete="action('delete', item.ID)" | |||||
@view="action('view', item.ID)" | |||||
/> | |||||
</view> | |||||
</l-customlist> | |||||
</l-scroll-list> | |||||
</view> | |||||
<!-- 关闭侧边抽屉按钮 --> | |||||
<view | |||||
@click="sideOpen = false" | |||||
:class="sideOpen ? 'show' : ''" | |||||
class="sideclose" | |||||
> | |||||
<l-icon type="pullright" color="blue" /> | |||||
</view> | |||||
<!-- 侧边栏,用于设置查询条件 --> | |||||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||||
<view v-if="ready" class="padding"> | |||||
<l-customlist-sidepage-datefilter | |||||
v-model="dateRange" | |||||
@change="searchChange" | |||||
title="按时间日期查询: " | |||||
ref="datefilter" | |||||
class="margin-bottom" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.ClassNo" | |||||
@change="searchChange" | |||||
:range="dataSource.ClassNo" | |||||
title="班级" | |||||
placeholder="按班级查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.PersonBeingMeasured" | |||||
@change="searchChange" | |||||
:range="dataSource.PersonBeingMeasured" | |||||
title="被测温人" | |||||
placeholder="按被测温人查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.MeasureTime" | |||||
@change="searchChange" | |||||
:range="dataSource.MeasureTime" | |||||
title="测温时间段" | |||||
placeholder="按测温时间段查询" | |||||
/> | |||||
<l-select | |||||
v-model="queryData.Status" | |||||
@change="searchChange" | |||||
:range="dataSource.Status" | |||||
title="状态" | |||||
placeholder="按状态查询" | |||||
/> | |||||
<!-- 重置查询条件按钮 --> | |||||
<view class="padding-tb"> | |||||
<l-button @click="reset" line="orange" class="block" block | |||||
>重置查询条件</l-button | |||||
> | |||||
</view> | |||||
</view> | |||||
</scroll-view> | |||||
<l-customlist-add v-if="!sideOpen" @click="action('add')" /> | |||||
</view> | |||||
<view class="page"> | |||||
<!-- 主列表页 --> | |||||
<view :class="sideOpen ? 'show' : ''" class="mainpage" style="padding-top: 80rpx"> | |||||
<!-- 顶部条目/分页信息栏 --> | |||||
<l-customlist-banner @buttonClick="sideOpen = true">{{ tips }}</l-customlist-banner> | |||||
<!-- 滚动列表,跨端支持上拉/下拉 --> | |||||
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list"> | |||||
<l-customlist :tips="loadState" showTips> | |||||
<!-- 单条记录 --> | |||||
<view class="customlist-item" v-for="item of list" :key="item.ID"> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">班级:</text> | |||||
{{ displayListItem(item, 'ClassNo') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">测温人:</text> | |||||
{{ displayListItem(item, 'MeasurerID') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">被测温人:</text> | |||||
{{ displayListItem(item, 'PersonBeingMeasured') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">测量时间:</text> | |||||
{{ displayListItem(item, 'MeasureDate') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">测温时间段:</text> | |||||
{{ displayListItem(item, 'MeasureTime') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">状态:</text> | |||||
{{ displayListItem(item, 'Status') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">温度:</text> | |||||
{{ displayListItem(item, 'Temperature') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">处理结果:</text> | |||||
{{ displayListItem(item, 'ProcessingResult') }} | |||||
</view> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">备注:</text> | |||||
{{ displayListItem(item, 'Remark') }} | |||||
</view> | |||||
<l-customlist-action showEdit @edit="action('edit', item.ID)" showDelete @delete="action('delete', item.ID)" @view="action('view', item.ID)" /> | |||||
</view> | |||||
</l-customlist> | |||||
</l-scroll-list> | |||||
</view> | |||||
<!-- 关闭侧边抽屉按钮 --> | |||||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"><l-icon type="pullright" color="blue" /></view> | |||||
<!-- 侧边栏,用于设置查询条件 --> | |||||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||||
<view v-if="ready" class="padding"> | |||||
<l-customlist-sidepage-datefilter v-model="dateRange" @change="searchChange" title="按时间日期查询: " ref="datefilter" class="margin-bottom" /> | |||||
<l-select v-model="queryData.ClassNo" @change="searchChange" :range="dataSource.ClassNo" title="班级" placeholder="按班级查询" /> | |||||
<l-select v-model="queryData.PersonBeingMeasured" @change="searchChange" :range="dataSource.PersonBeingMeasured" title="被测温人" placeholder="按被测温人查询" /> | |||||
<l-select v-model="queryData.MeasureTime" @change="searchChange" :range="dataSource.MeasureTime" title="测温时间段" placeholder="按测温时间段查询" /> | |||||
<l-select v-model="queryData.Status" @change="searchChange" :range="dataSource.Status" title="状态" placeholder="按状态查询" /> | |||||
<!-- 重置查询条件按钮 --> | |||||
<view class="padding-tb"><l-button @click="reset" line="orange" class="block" block>重置查询条件</l-button></view> | |||||
</view> | |||||
</scroll-view> | |||||
<l-customlist-add v-if="!sideOpen" @click="action('add')" /> | |||||
</view> | |||||
</template> | </template> | ||||
<script> | <script> | ||||
/* | /* | ||||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | * 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | ||||
@@ -158,299 +100,271 @@ | |||||
* (navigationBarTitleText 字段为本页面的标题文本,可以修改) | * (navigationBarTitleText 字段为本页面的标题文本,可以修改) | ||||
* (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | * (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | ||||
*/ | */ | ||||
import moment from "moment"; | |||||
import get from "lodash/get"; | |||||
import set from "lodash/set"; | |||||
import pickBy from "lodash/pickBy"; | |||||
import mapValues from "lodash/mapValues"; | |||||
import moment from 'moment'; | |||||
import get from 'lodash/get'; | |||||
import set from 'lodash/set'; | |||||
import pickBy from 'lodash/pickBy'; | |||||
import mapValues from 'lodash/mapValues'; | |||||
export default { | export default { | ||||
data() { | |||||
return { | |||||
// 数据项的数据类型、结构 | |||||
scheme: { | |||||
ClassNo: { | |||||
type: "select", | |||||
dataSource: "1", | |||||
dataSourceId: "bjsj,classname,classno", | |||||
}, | |||||
MeasurerID: { | |||||
type: "select", | |||||
dataSource: "1", | |||||
dataSourceId: "BaseUser,f_realname,f_account", | |||||
}, | |||||
PersonBeingMeasured: { | |||||
type: "select", | |||||
dataSource: "1", | |||||
dataSourceId: "StuInfoBasic,stuname,stuno", | |||||
}, | |||||
MeasureDate: { type: "datetime", dateformat: "0" }, | |||||
MeasureTime: { | |||||
type: "select", | |||||
itemCode: "MeasureTime", | |||||
dataSource: "0", | |||||
}, | |||||
Status: { | |||||
type: "select", | |||||
itemCode: "TemperatureMeasure", | |||||
dataSource: "0", | |||||
}, | |||||
Temperature: { type: "text" }, | |||||
ProcessingResult: { type: "textarea" }, | |||||
Remark: { type: "textarea" }, | |||||
}, | |||||
// 查询条件 | |||||
searchData: { | |||||
MeasurerID: this.GET_GLOBAL("loginUser").account, | |||||
}, | |||||
defaultQueryData: {}, | |||||
queryData: { | |||||
ClassNo: "", | |||||
PersonBeingMeasured: "", | |||||
MeasureTime: "", | |||||
Status: "", | |||||
MeasurerID: this.GET_GLOBAL("loginUser").account, | |||||
}, | |||||
// 数据源 | |||||
dataSource: { | |||||
ClassNo: [], | |||||
MeasurerID: [], | |||||
PersonBeingMeasured: [], | |||||
MeasureTime: Object.values( | |||||
this.GET_GLOBAL("dataDictionary").MeasureTime | |||||
).map((t) => ({ value: t.value, text: t.text })), | |||||
Status: Object.values( | |||||
this.GET_GLOBAL("dataDictionary").TemperatureMeasure | |||||
).map((t) => ({ value: t.value, text: t.text })), | |||||
}, | |||||
// 时间查询参数 | |||||
dateRange: null, | |||||
// 页面相关参数 | |||||
ready: false, | |||||
tips: "加载中...", | |||||
loadState: "向下翻以加载更多", | |||||
sideOpen: false, | |||||
// 列表与分页信息 | |||||
page: 1, | |||||
total: 2, | |||||
list: [], | |||||
}; | |||||
}, | |||||
async onLoad() { | |||||
await this.init(); | |||||
}, | |||||
onUnload() { | |||||
this.OFF("EducationalAdministrationThermography-list-change"); | |||||
}, | |||||
methods: { | |||||
// 页面初始化 | |||||
async init() { | |||||
this.ON( | |||||
"EducationalAdministrationThermography-list-change", | |||||
this.refreshList | |||||
); | |||||
// 拉取加载列表和数据源 | |||||
await Promise.all([ | |||||
this.FETCH_DATASOURCE("bjsj").then((data) => { | |||||
this.dataSource.ClassNo = data.data.map((t) => ({ | |||||
text: t.classname, | |||||
value: t.classno, | |||||
})); | |||||
}), | |||||
this.FETCH_DATASOURCE("BaseUser").then((data) => { | |||||
this.dataSource.MeasurerID = data.data.map((t) => ({ | |||||
text: t.f_realname, | |||||
value: t.f_account, | |||||
})); | |||||
}), | |||||
this.FETCH_DATASOURCE("StuInfoBasic").then((data) => { | |||||
this.dataSource.PersonBeingMeasured = data.data.map((t) => ({ | |||||
text: t.stuname, | |||||
value: t.stuno, | |||||
})); | |||||
}), | |||||
() => {}, | |||||
]); | |||||
await this.fetchList(); | |||||
// 初始化查询条件 | |||||
this.defaultQueryData = this.COPY(this.queryData); | |||||
this.ready = true; | |||||
}, | |||||
// 拉取列表 | |||||
async fetchList() { | |||||
if (this.page > this.total) { | |||||
return; | |||||
} | |||||
const result = await this.HTTP_GET( | |||||
"learun/adms/EducationalAdministration/Thermography/pagelist", | |||||
{ | |||||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | |||||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | |||||
pagination: { rows: 10, page: this.page, sidx: "ID", sord: "DESC" }, | |||||
queryJson: JSON.stringify(this.searchData), | |||||
}, | |||||
"加载数据时出错" | |||||
); | |||||
if (!result) { | |||||
return; | |||||
} | |||||
this.total = result.total; | |||||
this.page = result.page + 1; | |||||
this.list = this.list.concat(result.rows); | |||||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${ | |||||
result.total | |||||
} 页,共 ${result.records} 项`; | |||||
this.loadState = | |||||
result.page >= result.total ? "已加载所有项目" : "向下翻以加载更多"; | |||||
}, | |||||
// 刷新清空列表 | |||||
async refreshList() { | |||||
this.page = 1; | |||||
this.total = 2; | |||||
this.list = []; | |||||
await this.fetchList(); | |||||
}, | |||||
// 列表下拉 | |||||
pullDown() { | |||||
this.refreshList().then(() => { | |||||
this.$refs.list.stopPullDown(); | |||||
}); | |||||
}, | |||||
// 设置搜索条件 | |||||
async searchChange() { | |||||
const result = {}; | |||||
// 时间查询相关参数 | |||||
if (this.dateRange) { | |||||
result.StartTime = this.dateRange.start; | |||||
result.EndTime = this.dateRange.end; | |||||
} | |||||
// 将其他查询项添加到查询 JSON 中 | |||||
const queryObj = pickBy(this.queryData, (t) => | |||||
Array.isArray(t) ? t.length > 0 : t | |||||
); | |||||
Object.assign( | |||||
result, | |||||
mapValues(queryObj, (t) => (Array.isArray(t) ? t.join(",") : t)) | |||||
); | |||||
this.searchData = result; | |||||
await this.refreshList(); | |||||
}, | |||||
// 点击「清空查询条件」按钮 | |||||
reset() { | |||||
this.$refs.datefilter.changeDateRange("all"); | |||||
this.queryData = this.COPY(this.defaultQueryData); | |||||
this.searchChange(); | |||||
}, | |||||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||||
async action(type, id = "") { | |||||
switch (type) { | |||||
case "view": | |||||
this.NAV_TO(`./single?type=view&id=${id}`); | |||||
return; | |||||
case "add": | |||||
this.NAV_TO("./single?type=create"); | |||||
return; | |||||
case "edit": | |||||
this.NAV_TO(`./single?type=edit&id=${id}`); | |||||
return; | |||||
case "delete": | |||||
if (!(await this.CONFIRM("删除项目", "确定要删除该项吗?", true))) { | |||||
return; | |||||
} | |||||
this.HTTP_POST( | |||||
"learun/adms/EducationalAdministration/Thermography/delete", | |||||
id, | |||||
"删除失败" | |||||
).then((success) => { | |||||
if (!success) { | |||||
return; | |||||
} | |||||
this.TOAST("删除成功", "success"); | |||||
this.refreshList(); | |||||
}); | |||||
return; | |||||
default: | |||||
return; | |||||
} | |||||
}, | |||||
// 显示列表中的标题项 | |||||
displayListItem(item, field) { | |||||
const fieldItem = this.scheme[field]; | |||||
const value = item[field]; | |||||
switch (fieldItem.type) { | |||||
case "currentInfo": | |||||
case "organize": | |||||
return fieldItem.dataType === "time" | |||||
? value | |||||
: get(this.GET_GLOBAL(fieldItem.dataType), `${value}.name`, ""); | |||||
case "radio": | |||||
case "select": | |||||
const selectItem = this.dataSource[field].find( | |||||
(t) => t.value === String(value) | |||||
); | |||||
return get(selectItem, "text", ""); | |||||
case "checkbox": | |||||
if (!value || value.split(",").length <= 0) { | |||||
return ""; | |||||
} | |||||
const checkboxItems = value.split(","); | |||||
return this.dataSource[field] | |||||
.filter((t) => checkboxItems.includes(t.value)) | |||||
.map((t) => t.text) | |||||
.join(","); | |||||
case "datetime": | |||||
if (!value) { | |||||
return ""; | |||||
} | |||||
return moment(value).format( | |||||
Number(fieldItem.dateformat) === 0 | |||||
? "YYYY年 M月 D日" | |||||
: "YYYY-MM-DD HH:mm" | |||||
); | |||||
default: | |||||
return value === null || value === undefined ? "" : value; | |||||
} | |||||
}, | |||||
}, | |||||
data() { | |||||
return { | |||||
// 数据项的数据类型、结构 | |||||
scheme: { | |||||
ClassNo: { | |||||
type: 'select', | |||||
dataSource: '1', | |||||
dataSourceId: 'bjsj,classname,classno' | |||||
}, | |||||
MeasurerID: { | |||||
type: 'select', | |||||
dataSource: '1', | |||||
dataSourceId: 'BaseUser,f_realname,f_account' | |||||
}, | |||||
PersonBeingMeasured: { | |||||
type: 'select', | |||||
dataSource: '1', | |||||
dataSourceId: 'StuInfoBasic,stuname,stuno' | |||||
}, | |||||
MeasureDate: { type: 'datetime', dateformat: '0' }, | |||||
MeasureTime: { | |||||
type: 'select', | |||||
itemCode: 'MeasureTime', | |||||
dataSource: '0' | |||||
}, | |||||
Status: { | |||||
type: 'select', | |||||
itemCode: 'TemperatureMeasure', | |||||
dataSource: '0' | |||||
}, | |||||
Temperature: { type: 'text' }, | |||||
ProcessingResult: { type: 'textarea' }, | |||||
Remark: { type: 'textarea' } | |||||
}, | |||||
// 查询条件 | |||||
searchData: { | |||||
MeasurerID: this.GET_GLOBAL('loginUser').account | |||||
}, | |||||
defaultQueryData: {}, | |||||
queryData: { | |||||
ClassNo: '', | |||||
PersonBeingMeasured: '', | |||||
MeasureTime: '', | |||||
Status: '', | |||||
MeasurerID: this.GET_GLOBAL('loginUser').account | |||||
}, | |||||
// 数据源 | |||||
dataSource: { | |||||
ClassNo: [], | |||||
MeasurerID: [], | |||||
PersonBeingMeasured: [], | |||||
MeasureTime: Object.values(this.GET_GLOBAL('dataDictionary').MeasureTime).map(t => ({ value: t.value, text: t.text })), | |||||
Status: Object.values(this.GET_GLOBAL('dataDictionary').TemperatureMeasure).map(t => ({ value: t.value, text: t.text })) | |||||
}, | |||||
// 时间查询参数 | |||||
dateRange: null, | |||||
// 页面相关参数 | |||||
ready: false, | |||||
tips: '加载中...', | |||||
loadState: '向下翻以加载更多', | |||||
sideOpen: false, | |||||
// 列表与分页信息 | |||||
page: 1, | |||||
total: 2, | |||||
list: [] | |||||
}; | |||||
}, | |||||
async onLoad() { | |||||
await this.init(); | |||||
}, | |||||
onUnload() { | |||||
this.OFF('EducationalAdministrationThermography-list-change'); | |||||
}, | |||||
methods: { | |||||
// 页面初始化 | |||||
async init() { | |||||
this.ON('EducationalAdministrationThermography-list-change', this.refreshList); | |||||
// 拉取加载列表和数据源 | |||||
await Promise.all([ | |||||
this.FETCH_DATASOURCE('bjsj').then(data => { | |||||
this.dataSource.ClassNo = data.data.map(t => ({ | |||||
text: t.classname, | |||||
value: t.classno | |||||
})); | |||||
}), | |||||
this.FETCH_DATASOURCE('BaseUser').then(data => { | |||||
this.dataSource.MeasurerID = data.data.map(t => ({ | |||||
text: t.f_realname, | |||||
value: t.f_account | |||||
})); | |||||
}), | |||||
this.FETCH_DATASOURCE('StuInfoBasic').then(data => { | |||||
this.dataSource.PersonBeingMeasured = data.data.map(t => ({ | |||||
text: t.stuname, | |||||
value: t.stuno | |||||
})); | |||||
}), | |||||
() => {} | |||||
]); | |||||
await this.fetchList(); | |||||
// 初始化查询条件 | |||||
this.defaultQueryData = this.COPY(this.queryData); | |||||
this.ready = true; | |||||
}, | |||||
// 拉取列表 | |||||
async fetchList() { | |||||
if (this.page > this.total) { | |||||
return; | |||||
} | |||||
const result = await this.HTTP_GET( | |||||
'learun/adms/EducationalAdministration/Thermography/pagelist', | |||||
{ | |||||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | |||||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | |||||
pagination: { rows: 10, page: this.page, sidx: 'ID', sord: 'DESC' }, | |||||
queryJson: JSON.stringify(this.searchData) | |||||
}, | |||||
'加载数据时出错' | |||||
); | |||||
if (!result) { | |||||
return; | |||||
} | |||||
this.total = result.total; | |||||
this.page = result.page + 1; | |||||
this.list = this.list.concat(result.rows); | |||||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项`; | |||||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多'; | |||||
}, | |||||
// 刷新清空列表 | |||||
async refreshList() { | |||||
this.page = 1; | |||||
this.total = 2; | |||||
this.list = []; | |||||
await this.fetchList(); | |||||
}, | |||||
// 列表下拉 | |||||
pullDown() { | |||||
this.refreshList().then(() => { | |||||
this.$refs.list.stopPullDown(); | |||||
}); | |||||
}, | |||||
// 设置搜索条件 | |||||
async searchChange() { | |||||
const result = {}; | |||||
// 时间查询相关参数 | |||||
if (this.dateRange) { | |||||
result.StartTime = this.dateRange.start; | |||||
result.EndTime = this.dateRange.end; | |||||
} | |||||
// 将其他查询项添加到查询 JSON 中 | |||||
const queryObj = pickBy(this.queryData, t => (Array.isArray(t) ? t.length > 0 : t)); | |||||
Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))); | |||||
this.searchData = result; | |||||
await this.refreshList(); | |||||
}, | |||||
// 点击「清空查询条件」按钮 | |||||
reset() { | |||||
this.$refs.datefilter.changeDateRange('all'); | |||||
this.queryData = this.COPY(this.defaultQueryData); | |||||
this.searchChange(); | |||||
}, | |||||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||||
async action(type, id = '') { | |||||
switch (type) { | |||||
case 'view': | |||||
this.NAV_TO(`./single?type=view&id=${id}`); | |||||
return; | |||||
case 'add': | |||||
this.NAV_TO('./single?type=create'); | |||||
return; | |||||
case 'edit': | |||||
this.NAV_TO(`./single?type=edit&id=${id}`); | |||||
return; | |||||
case 'delete': | |||||
if (!(await this.CONFIRM('删除项目', '确定要删除该项吗?', true))) { | |||||
return; | |||||
} | |||||
this.HTTP_POST('learun/adms/EducationalAdministration/Thermography/delete', id, '删除失败').then(success => { | |||||
if (!success) { | |||||
return; | |||||
} | |||||
this.TOAST('删除成功', 'success'); | |||||
this.refreshList(); | |||||
}); | |||||
return; | |||||
default: | |||||
return; | |||||
} | |||||
}, | |||||
// 显示列表中的标题项 | |||||
displayListItem(item, field) { | |||||
const fieldItem = this.scheme[field]; | |||||
const value = item[field]; | |||||
switch (fieldItem.type) { | |||||
case 'currentInfo': | |||||
case 'organize': | |||||
return fieldItem.dataType === 'time' ? value : get(this.GET_GLOBAL(fieldItem.dataType), `${value}.name`, ''); | |||||
case 'radio': | |||||
case 'select': | |||||
const selectItem = this.dataSource[field].find(t => t.value === String(value)); | |||||
return get(selectItem, 'text', ''); | |||||
case 'checkbox': | |||||
if (!value || value.split(',').length <= 0) { | |||||
return ''; | |||||
} | |||||
const checkboxItems = value.split(','); | |||||
return this.dataSource[field] | |||||
.filter(t => checkboxItems.includes(t.value)) | |||||
.map(t => t.text) | |||||
.join(','); | |||||
case 'datetime': | |||||
if (!value) { | |||||
return ''; | |||||
} | |||||
return moment(value).format(Number(fieldItem.dateformat) === 0 ? 'YYYY年 M月 D日' : 'YYYY-MM-DD HH:mm'); | |||||
default: | |||||
return value === null || value === undefined ? '' : value; | |||||
} | |||||
} | |||||
} | |||||
}; | }; | ||||
</script> | </script> | ||||
<style lang="less" scoped> | <style lang="less" scoped> | ||||
@import "~@/common/css/sidepage.less"; | |||||
@import "~@/common/css/customlist.less"; | |||||
@import '~@/common/css/sidepage.less'; | |||||
@import '~@/common/css/customlist.less'; | |||||
</style> | </style> |
@@ -0,0 +1,307 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<view class="uni-list"> | |||||
<view class="uni-list-cell"> | |||||
<view class="uni-list-cell-left">当前选择</view> | |||||
<view class="uni-list-cell-db"> | |||||
<picker mode="multiSelector" @columnchange="bindMultiPickerColumnChange" :value="multiIndex" :range="multiArray"> | |||||
<view class="uni-input">{{ multiArray[0][multiIndex[0]] }},{{ multiArray[1][multiIndex[1]] }},{{ multiArray[2][multiIndex[2]] }}</view> | |||||
</picker> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<l-select v-model="queryData.Creater" :range="dataSource.Creater" title="填报人员" placeholder="请选择填报人员" /> | |||||
<l-date-picker v-model="queryData.CreateTime" title="填报时间" placeholder="" :start="todayTime" :end="todayTime" /> | |||||
<l-select v-model="queryData.Type" :range="dataSource.Type" title="类别" placeholder="请选择" /> | |||||
<l-select v-if="!DepartFlag" v-model="queryData.Department" :range="dataSource.Department" title="所在部门" placeholder="请选择" /> | |||||
<l-input v-if="DepartFlag" v-model="queryData.StudentSource" title="所在班级" placeholder="请填写所在班级" right /> | |||||
<l-select v-model="queryData.HealthSituation" :range="dataSource.HealthSituation" title="健康状况" placeholder="请选择" /> | |||||
<l-select v-model="queryData.Gender" :range="dataSource.Gender" title="性别" placeholder="请选择" /> | |||||
<l-input v-model="queryData.HomeAddress" title="家庭住址" placeholder="请填写家庭住址" right /> | |||||
<l-input v-model="queryData.Mobile" title="联系方式" placeholder="请填写联系方式" right /> | |||||
<l-input v-model="queryData.Objective" title="当前地址" placeholder="请填写当前地址" right /> | |||||
<l-select v-model="queryData.IsOut" :range="dataSource.YesOrNoInt" title="*是否外出" placeholder="请选择" /> | |||||
<view class="checkInBox" v-show="queryData.IsOut == 1"> | |||||
<view class="checkInCon" v-for="(item, i) in queryData.PassPlaces" :key="item.Time"> | |||||
<view class="checkInT"> | |||||
经过地点记录({{ i + 1 }}) | |||||
<text class="remove" v-show="queryData.PassPlaces.length > 1">删除</text> | |||||
</view> | |||||
<l-select v-model="item.PassType" :range="dataSource.Type" title="类别" placeholder="请选择" /> | |||||
<l-select v-model="item.ProvinceArea" :range="dataSource.Type" title="省市区" placeholder="请选择省市区(必填)" /> | |||||
<l-input v-model="item.Address" title="详细住址" placeholder="请填写详细住址" right /> | |||||
<l-select v-model="item.Time" :range="dataSource.Type" title="时间" placeholder="请选择时间" /> | |||||
<l-select v-model="item.Vehicle" :range="dataSource.Type" title="交通工具" placeholder="请选择交通工具" /> | |||||
<l-input v-model="item.VehicleNo" title="班次号" placeholder="请填写班次号" right /> | |||||
</view> | |||||
<view class="checkInBtn"> | |||||
<text class="text-xxl cuIcon cuIcon-add"></text> | |||||
增加经过地点记录 | |||||
</view> | |||||
</view> | |||||
<l-select v-model="queryData.HasFamily" :range="dataSource.YesOrNoInt" title="*家人异常" placeholder="请选择" /> | |||||
<view class="checkInBox" v-show="queryData.HasFamily == 1"> | |||||
<view class="checkInCon" v-for="(item, i) in queryData.ContactsDetails" :key="item.QTTime"> | |||||
<view class="checkInT"> | |||||
接触家人({{ i + 1 }}) | |||||
<text class="remove" v-show="queryData.ContactsDetails.length > 1">删除</text> | |||||
</view> | |||||
<l-input v-model="item.Name" title="名字" placeholder="请填写名字" right /> | |||||
<l-select v-model="item.Gender" :range="dataSource.Type" title="性别" placeholder="请选择性别" /> | |||||
<l-input v-model="item.Mobile" title="联系方式" placeholder="请填写联系方式" right /> | |||||
<l-select v-model="item.QTType" :range="dataSource.Type" title="隔离方式" placeholder="请选择隔离方式" /> | |||||
<l-select v-model="item.ProvinceArea" :range="dataSource.Type" title="省市区" placeholder="请选择省市区(必填)" /> | |||||
<l-input v-model="item.QTAddress" title="隔离地点" placeholder="请填写隔离地点" right /> | |||||
<l-select v-model="item.QTTime" :range="dataSource.Type" title="隔离时间" placeholder="请选择隔离时间" /> | |||||
<l-select v-model="item.QTContactTime" :range="dataSource.Type" title="接触隔离时间" placeholder="请选择" /> | |||||
<l-select v-model="item.Fever" :range="dataSource.Type" title="健康状况" placeholder="请选择健康状况" /> | |||||
</view> | |||||
<view class="checkInBtn"> | |||||
<text class="text-xxl cuIcon cuIcon-add"></text> | |||||
增加接触家人 | |||||
</view> | |||||
</view> | |||||
<l-select v-model="queryData.HasPeople" :range="dataSource.YesOrNoInt" title="*疫区人异常" placeholder="请选择" /> | |||||
<view class="checkInBox" v-show="queryData.HasPeople == 1"> | |||||
<view class="checkInCon" v-for="(item, i) in queryData.ContactsDetails" :key="item.QTTime"> | |||||
<view class="checkInT"> | |||||
接触人({{ i + 1 }}) | |||||
<text class="remove" v-show="queryData.PassPlaces.length > 1">删除</text> | |||||
</view> | |||||
<l-input v-model="queryData.PeopleDetails.Name" title="名字" placeholder="请填写名字" right /> | |||||
<l-select v-model="queryData.PeopleDetails.Gender" :range="dataSource.Type" title="性别" placeholder="请选择性别" /> | |||||
<l-input v-model="queryData.PeopleDetails.Mobile" title="联系方式" placeholder="请填写联系方式" right /> | |||||
<l-select v-model="queryData.PeopleDetails.QTType" :range="dataSource.Type" title="隔离方式" placeholder="请选择隔离方式" /> | |||||
<l-select v-model="queryData.PeopleDetails.ProvinceArea" :range="dataSource.Type" title="省市区" placeholder="请选择省市区(必填)" /> | |||||
<l-input v-model="queryData.PeopleDetails.QTAddress" title="隔离地点" placeholder="请填写隔离地点" right /> | |||||
<l-select v-model="queryData.PeopleDetails.QTTime" :range="dataSource.Type" title="隔离时间" placeholder="请选择隔离时间" /> | |||||
<l-select v-model="queryData.PeopleDetails.QTContactTime" :range="dataSource.Type" title="接触隔离时间" placeholder="请选择" /> | |||||
<l-select v-model="queryData.PeopleDetails.Fever" :range="dataSource.Type" title="健康状况" placeholder="请选择健康状况" /> | |||||
</view> | |||||
<view class="checkInBtn"> | |||||
<text class="text-xxl cuIcon cuIcon-add"></text> | |||||
增加接触人 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
import todayTime from '@/common/js/todayTime.js'; | |||||
import city from '@/common/js/city.js'; | |||||
export default { | |||||
data() { | |||||
return { | |||||
multiArray: [[], [], []], | |||||
multiIndex: [0, 0, 0], | |||||
select3: '0', | |||||
pageInfo: null, | |||||
userInfo: null, | |||||
todayTime: todayTime.fmtDate().ymd, | |||||
DepartFlag: true, | |||||
//下拉 | |||||
dataSource: { | |||||
Creater: [], | |||||
Type: [], | |||||
HealthSituation: [], | |||||
Gender: [], | |||||
YesOrNoInt: [], | |||||
Department: [] | |||||
}, | |||||
queryData: { | |||||
Creater: '', | |||||
Type: '', | |||||
Department: '', | |||||
CreateTime: todayTime.fmtDate().ymd, | |||||
StudentSource: '', | |||||
HealthSituation: '', | |||||
Gender: '', | |||||
HomeAddress: '', | |||||
Mobile: '', | |||||
Objective: '', | |||||
IsOut: '', | |||||
PassPlaces: [ | |||||
{ | |||||
PassType: '', | |||||
ProvinceArea: '', | |||||
Address: '', | |||||
Time: '', | |||||
Vehicle: '', | |||||
VehicleNo: '' | |||||
} | |||||
], | |||||
HasFamily: '', | |||||
ContactsDetails: [ | |||||
{ | |||||
Name: '', | |||||
Gender: '', | |||||
Mobile: '', | |||||
QTType: '', | |||||
ProvinceArea: '', | |||||
QTAddress: '', | |||||
QTTime: '', | |||||
QTContactTime: '', | |||||
Fever: '' | |||||
} | |||||
], | |||||
HasPeople: '', | |||||
PeopleDetails: [ | |||||
{ | |||||
Name: '', | |||||
Gender: '', | |||||
Mobile: '', | |||||
QTType: '', | |||||
ProvinceArea: '', | |||||
QTAddress: '', | |||||
QTTime: '', | |||||
QTContactTime: '', | |||||
Fever: '' | |||||
} | |||||
] | |||||
} | |||||
}; | |||||
}, | |||||
methods: { | |||||
bindMultiPickerColumnChange: function(e) { | |||||
// console.log(e); | |||||
console.log('修改的列为:' + e.detail.column + ',值为:' + e.detail.value); | |||||
let _this = this; | |||||
this.multiIndex[e.detail.column] = e.detail.value; | |||||
if(e.detail.column == 0){ | |||||
_this.multiArray[1].length = 0; | |||||
_this.multiArray[2].length = 0; | |||||
this.cityCl (city.cityData[_this.multiIndex[0]].children, 1) | |||||
}else if(e.detail.column == 1){ | |||||
_this.multiArray[2].length = 0; | |||||
this.cityCl (city.cityData[_this.multiIndex[0]].children[_this.multiIndex[1]].children, 2) | |||||
} | |||||
this.$forceUpdate(); | |||||
}, | |||||
cityCl (data, num){ | |||||
let _this = this; | |||||
data.forEach((n, i) => { | |||||
if(i == 0 ){ | |||||
if(n.children){ | |||||
let number = num + 1; | |||||
_this.cityCl (n.children, number) | |||||
}else{ | |||||
return | |||||
} | |||||
} | |||||
_this.multiArray[num].push(n.text) | |||||
}); | |||||
}, | |||||
async init() { | |||||
console.log(city.cityData); | |||||
let _this = this; | |||||
_this.cityCl (city.cityData, 0) | |||||
//console.log(this.multiArray) | |||||
// 拉取加载列表和数据源 | |||||
await Promise.all([ | |||||
this.FETCH_DATASOURCE('classdata').then(data => { | |||||
//console.log(data) | |||||
this.dataSource.Department = data.data.map(t => ({ | |||||
text: t.f_fullname, | |||||
value: t.f_parentid | |||||
})); | |||||
}), | |||||
() => {} | |||||
]); | |||||
let dataDictionary = this.GET_GLOBAL('dataDictionary'); | |||||
this.dataSource.Type = Object.values(dataDictionary.EUserType).map(t => ({ value: t.value, text: t.text })); | |||||
this.dataSource.HealthSituation = Object.values(dataDictionary.EpiHealth).map(t => ({ value: t.value, text: t.text })); | |||||
this.dataSource.Gender = Object.values(dataDictionary.usersex).map(t => ({ value: t.value, text: t.text })); | |||||
this.dataSource.YesOrNoInt = Object.values(dataDictionary.YesOrNoInt).map(t => ({ value: t.value, text: t.text })); | |||||
console.log(this.dataSource.YesOrNoInt); | |||||
// 拉取加载列表和数据源 | |||||
_this.pageInfo = _this.GET_PARAM(); //获取页面传递参数 | |||||
// console.log(_this.pageInfo.type); | |||||
_this.userInfo = _this.GET_GLOBAL('loginUser'); | |||||
// console.log(_this.userInfo); | |||||
//新建时获取登陆人信息 | |||||
if (_this.pageInfo.type == 'add') { | |||||
_this.dataSource.Creater = [ | |||||
{ | |||||
text: _this.userInfo.realName, | |||||
value: _this.userInfo.userId | |||||
} | |||||
]; | |||||
_this.queryData.Creater = _this.userInfo.userId; | |||||
_this.queryData.Department = _this.userInfo.departmentId; | |||||
_this.queryData.Gender = JSON.stringify(_this.userInfo.gender); | |||||
_this.queryData.Mobile = _this.userInfo.mobile; | |||||
_this.queryData.IsOut = '0'; | |||||
_this.queryData.HasFamily = '0'; | |||||
_this.queryData.HasPeople = '0'; | |||||
_this.queryData.HealthSituation = '0'; | |||||
//定位 | |||||
// $page.find('#Objective').val(returnCitySN.cname) | |||||
if (_this.userInfo.Description == '学生') { | |||||
_this.queryData.Type = '5'; | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_GET('learun/PersonnelManagement/EpidemicSituationCopy/getStuSource', _this.userInfo.account, '加载数据时出错').then(data => { | |||||
this.HIDE_LOADING(); | |||||
if (data) { | |||||
_this.queryData.HomeAddress = data.Address; | |||||
_this.queryData.StudentSource = data.res; | |||||
} | |||||
}); | |||||
} else { | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_GET('learun/PersonnelManagement/EpidemicSituationCopy/getUserSource', _this.userInfo.userId, '加载数据时出错').then(data => { | |||||
this.HIDE_LOADING(); | |||||
if (data) { | |||||
_this.queryData.HomeAddress = data.Address; | |||||
} | |||||
}); | |||||
} | |||||
if (_this.userInfo.Description != '学生') { | |||||
_this.DepartFlag = false; | |||||
} | |||||
// _this.LOADING('加载数据中…'); | |||||
// _this.HTTP_GET('learun/EducationalAdministration/StuAttendanceLeave/leaveform', {}, '加载数据时出错').then(res => { | |||||
// this.HIDE_LOADING(); | |||||
// _this.ProcessingData(res); | |||||
// }); | |||||
} | |||||
} | |||||
}, | |||||
created() { | |||||
this.init(); | |||||
} | |||||
}; | |||||
</script> | |||||
<style lang="less" scoped> | |||||
@import '~@/common/css/sidepage.less'; | |||||
@import '~@/common/css/customlist.less'; | |||||
@import '~@/common/css/common.less'; | |||||
.checkInT { | |||||
padding: 0.5px 15px; | |||||
line-height: 40px; | |||||
font-size: 12px; | |||||
} | |||||
.checkInBtn { | |||||
text-align: center; | |||||
line-height: 40px; | |||||
color: @pubColor; | |||||
background-color: #fff; | |||||
border-bottom: 0.5px solid #eee; | |||||
} | |||||
.checkInBtn text { | |||||
position: relative; | |||||
top: 2px; | |||||
margin-right: 5px; | |||||
font-size: 20px; | |||||
} | |||||
</style> |
@@ -0,0 +1,336 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<!-- 主列表页 --> | |||||
<view :class="sideOpen ? 'show' : ''" class="mainpage" style="padding-top: 80rpx"> | |||||
<!-- 顶部条目/分页信息栏 --> | |||||
<l-customlist-banner @buttonClick="sideOpen = true"> | |||||
共 | |||||
<text class="records">{{ records }}</text> | |||||
数据 | |||||
</l-customlist-banner> | |||||
<!-- 滚动列表,跨端支持上拉/下拉 --> | |||||
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list"> | |||||
<l-customlist :tips="loadState" showTips> | |||||
<view class=""></view> | |||||
<!-- 单条记录 --> | |||||
<view class="pageBox customlist-item" showDelete="true" v-for="(item, ind) in list" :key="item.MakeDate" @click="tapClick(item)"> | |||||
<view class=""> | |||||
<text>填表人员:</text> | |||||
{{ displayListItem(item, 'Creater') }} | |||||
</view> | |||||
<view class=""> | |||||
<text>填报时间:</text> | |||||
<!-- {{ item.CreateTime }} --> | |||||
{{ displayListItem(item, 'CreateTime') }} | |||||
</view> | |||||
<view class="listBtn" @click="action('delete', item.ID)">删除</view> | |||||
</view> | |||||
</l-customlist> | |||||
</l-scroll-list> | |||||
</view> | |||||
<!-- 关闭侧边抽屉按钮 --> | |||||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"><l-icon type="pullright" color="blue" /></view> | |||||
<!-- 侧边栏,用于设置查询条件 --> | |||||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||||
<view v-if="ready" class="padding"> | |||||
<l-input v-model="queryData.Creater" title="填表人员" placeholder="请填写填表人员" right /> | |||||
<l-select v-model="queryData.Type" :range="dataSource.Type" title="类别" placeholder="按类别查询" /> | |||||
<l-input v-model="queryData.UnitName" title="单位名称" placeholder="请填写单位名称" right /> | |||||
<l-input v-model="queryData.StudentSource" title="系专业班级" placeholder="请填写系专业班级" right /> | |||||
<!-- 重置查询条件按钮 --> | |||||
<view class="padding-tb"><l-button @click="reset" line="orange" class="block" block>重置查询条件</l-button></view> | |||||
<view class="padding-tb"><l-button @click="searchChange" line="orange" class="block" block>查询</l-button></view> | |||||
</view> | |||||
</scroll-view> | |||||
<l-customlist-add v-if="!sideOpen" @click="action('add')" /> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
/* | |||||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 上海力软信息技术有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2020-10-12 17:22 | |||||
* 描 述:班级自诊打卡 | |||||
*/ | |||||
/** | |||||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||||
* { "path": "pages/EducationalAdministration/Thermography/list", "style": { "navigationBarTitleText": "表单列表页" } } | |||||
* | |||||
* (navigationBarTitleText 字段为本页面的标题文本,可以修改) | |||||
* (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | |||||
*/ | |||||
import moment from 'moment'; | |||||
import get from 'lodash/get'; | |||||
import set from 'lodash/set'; | |||||
import pickBy from 'lodash/pickBy'; | |||||
import mapValues from 'lodash/mapValues'; | |||||
export default { | |||||
data() { | |||||
return { | |||||
user: null, | |||||
// 数据项的数据类型、结构 | |||||
scheme: { | |||||
Creater: { | |||||
type: 'select', | |||||
dataSource: '1', | |||||
dataSourceId: 'BaseUser,f_realname,f_userid' | |||||
}, | |||||
CreateTime: { | |||||
type: 'text' | |||||
} | |||||
}, | |||||
// 查询条件 | |||||
searchData: { | |||||
MeasurerID: this.GET_GLOBAL('loginUser').account | |||||
}, | |||||
defaultQueryData: {}, | |||||
queryData: { | |||||
Creater: '', | |||||
Type: '', | |||||
UnitName: '', | |||||
StudentSource: '' | |||||
}, | |||||
// 数据源 | |||||
dataSource: { | |||||
Creater: '', | |||||
Type: Object.values(this.GET_GLOBAL('dataDictionary').EUserType).map(t => ({ value: t.value, text: t.text })) | |||||
}, | |||||
// 时间查询参数 | |||||
dateRange: null, | |||||
// 页面相关参数 | |||||
ready: false, | |||||
tips: '加载中...', | |||||
loadState: '向下翻以加载更多', | |||||
sideOpen: false, | |||||
// 列表与分页信息 | |||||
page: 1, | |||||
total: 2, | |||||
rows: 10, | |||||
list: [], | |||||
// records: '加载中...', | |||||
records: 0, | |||||
multipleData: null | |||||
}; | |||||
}, | |||||
async onLoad() { | |||||
await this.init(); | |||||
}, | |||||
onUnload() { | |||||
this.OFF('EducationalAdministrationThermography-list-change'); | |||||
}, | |||||
methods: { | |||||
// 页面初始化 | |||||
async init() { | |||||
this.ON('EducationalAdministrationThermography-list-change', this.refreshList); | |||||
this.user = this.GET_GLOBAL('loginUser'); | |||||
// this.queryData.Creater = this.user.userId | |||||
// 拉取加载列表和数据源 | |||||
await Promise.all([ | |||||
this.FETCH_DATASOURCE('BaseUser').then(data => { | |||||
// console.log(data) | |||||
this.dataSource.Creater = data.data.map(t => ({ | |||||
text: t.f_realname, | |||||
value: t.f_userid | |||||
})); | |||||
}), | |||||
() => {} | |||||
]); | |||||
// console.log(this.page) | |||||
// console.log(this.dataSource.Type); | |||||
this.fetchList(); | |||||
// 初始化查询条件 | |||||
this.defaultQueryData = this.COPY(this.queryData); | |||||
this.ready = true; | |||||
}, | |||||
// 拉取列表 | |||||
async fetchList() { | |||||
// console.log(this.page) | |||||
// console.log(this.total) | |||||
this.sideOpen = false; | |||||
if (this.page > this.total) { | |||||
return; | |||||
} | |||||
let _this = this; | |||||
let _postParam = { | |||||
pagination: { | |||||
rows: _this.rows, | |||||
page: _this.page, | |||||
sidx: 'ID', | |||||
sord: 'DESC' | |||||
}, | |||||
queryJson: '{}' | |||||
}; | |||||
if(_this.queryData.Creater.length != 0){ | |||||
_postParam.queryJson = JSON.stringify(_this.queryData); | |||||
}else{ | |||||
_postParam.queryJson = JSON.stringify({ Creater: _this.user.userId }); | |||||
} | |||||
// console.log(_this.user) | |||||
_this.LOADING('加载数据中…'); | |||||
// _this.HIDE_LOADING(); | |||||
_this.HTTP_GET('learun/PersonnelManagement/EpidemicSituationCopy/pagelist', _postParam, '加载数据时出错').then(res => { | |||||
_this.HIDE_LOADING(); | |||||
// console.log(res); | |||||
_this.list = _this.list.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.list); | |||||
}); | |||||
}, | |||||
// 刷新清空列表 | |||||
async refreshList() { | |||||
this.page = 1; | |||||
this.total = 2; | |||||
this.list = []; | |||||
await this.fetchList(); | |||||
}, | |||||
// 列表下拉 | |||||
pullDown() { | |||||
this.refreshList().then(() => { | |||||
this.$refs.list.stopPullDown(); | |||||
}); | |||||
}, | |||||
// 设置搜索条件 | |||||
async searchChange() { | |||||
const result = {}; | |||||
// 时间查询相关参数 | |||||
if (this.dateRange) { | |||||
result.StartTime = this.dateRange.start; | |||||
result.EndTime = this.dateRange.end; | |||||
} | |||||
// 将其他查询项添加到查询 JSON 中 | |||||
// this.multipleData = data || {}; | |||||
console.log(this.queryData) | |||||
this.searchData = result; | |||||
await this.refreshList(); | |||||
}, | |||||
// 点击「清空查询条件」按钮 | |||||
reset() { | |||||
// this.$refs.datefilter.changeDateRange('all'); | |||||
this.queryData = this.COPY(this.defaultQueryData); | |||||
this.searchChange(); | |||||
}, | |||||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||||
async action(type, id = '') { | |||||
switch (type) { | |||||
case 'view': | |||||
this.NAV_TO(`./single?type=view&id=${id}`); | |||||
return; | |||||
case 'add': | |||||
this.NAV_TO('./from', {type: 'add'}, true); | |||||
return; | |||||
case 'delete': | |||||
if (!(await this.CONFIRM('删除项目', '确定要删除该数据吗?', true))) { | |||||
return; | |||||
} | |||||
this.LOADING('删除数据中…'); | |||||
// _this.HIDE_LOADING(); | |||||
this.HTTP_POST('learun/PersonnelManagement/EpidemicSituationCopy/delete', id, '删除失败').then(success => { | |||||
if (!success) { | |||||
return; | |||||
} | |||||
this.HIDE_LOADING(); | |||||
this.TOAST('删除成功', 'success'); | |||||
this.refreshList(); | |||||
}); | |||||
return; | |||||
default: | |||||
return; | |||||
} | |||||
}, | |||||
// 显示列表中的标题项 | |||||
displayListItem(item, field) { | |||||
const fieldItem = this.scheme[field]; | |||||
const value = item[field]; | |||||
switch (fieldItem.type) { | |||||
case 'currentInfo': | |||||
case 'organize': | |||||
return fieldItem.dataType === 'time' ? value : get(this.GET_GLOBAL(fieldItem.dataType), `${value}.name`, ''); | |||||
case 'radio': | |||||
case 'select': | |||||
const selectItem = this.dataSource[field].find(t => t.value === String(value)); | |||||
return get(selectItem, 'text', ''); | |||||
case 'checkbox': | |||||
if (!value || value.split(',').length <= 0) { | |||||
return ''; | |||||
} | |||||
const checkboxItems = value.split(','); | |||||
return this.dataSource[field] | |||||
.filter(t => checkboxItems.includes(t.value)) | |||||
.map(t => t.text) | |||||
.join(','); | |||||
case 'datetime': | |||||
if (!value) { | |||||
return ''; | |||||
} | |||||
return moment(value).format(Number(fieldItem.dateformat) === 0 ? 'YYYY年 M月 D日' : 'YYYY-MM-DD HH:mm'); | |||||
default: | |||||
return value === null || value === undefined ? '' : value; | |||||
} | |||||
} | |||||
} | |||||
}; | |||||
</script> | |||||
<style lang="less" scoped> | |||||
@import '~@/common/css/sidepage.less'; | |||||
@import '~@/common/css/customlist.less'; | |||||
@import '~@/common/css/common.less'; | |||||
.records { | |||||
display: inline-block; | |||||
width: 16px; | |||||
height: 16px; | |||||
background-color: @pubColor; | |||||
border-radius: 50%; | |||||
color: #fff; | |||||
font-size: 12px; | |||||
line-height: 16px; | |||||
text-align: center; | |||||
margin: 0 5px; | |||||
} | |||||
.listBtn{ | |||||
background-color: @pubColor; | |||||
border-radius: 3px; | |||||
display: inline-block; | |||||
padding: 3px 10px; | |||||
color: #fff; | |||||
margin-top: 5px; | |||||
} | |||||
</style> |
@@ -0,0 +1,191 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<view class="studSeeSec1"> | |||||
<view class="studSeeSec1Box"> | |||||
<l-select :range="selectArr1" :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"> | |||||
<div> | |||||
<text>{{ n.EncourgeName }}</text> | |||||
<text class="EncourgeLevel" v-if="n.EncourgeLevel != null">【 {{ n.EncourgeLevel }} 】 【 {{ n.EncourgeSort }} 】</text> | |||||
</div> | |||||
<div>奖励金额:<text>{{ n.Fee }}</text>元</div> | |||||
<div>{{ n.Reason }}</div> | |||||
<div class="dateRow">奖励日期:{{ n.EncourgeDate }}</div> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default{ | |||||
data() { | |||||
return { | |||||
value: 0, | |||||
flag:false, | |||||
selectArr1: [], | |||||
placeholder: '请选择学期', | |||||
data: [] | |||||
} | |||||
}, | |||||
methods:{ | |||||
init() { | |||||
//获取学年学期列表 | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…') | |||||
_this.HTTP_GET( | |||||
'StuEncourgement/academicAndSemesterList', | |||||
{}, | |||||
'加载数据时出错' | |||||
).then( res => { | |||||
this.HIDE_LOADING() | |||||
// console.log(res) | |||||
_this.selectArr1 = res; | |||||
_this.placeholder = res[0].text; | |||||
_this.getListAjax(res[0].value); | |||||
}) | |||||
}, | |||||
bindDateChange: function(e) { | |||||
// console.log(e); | |||||
this.getListAjax(e) | |||||
}, | |||||
getListAjax(id) { | |||||
var param = { value: id }; | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…') | |||||
_this.HTTP_GET( | |||||
'StuEncourgement/encourgementList', | |||||
param, | |||||
'加载数据时出错' | |||||
).then( res => { | |||||
this.HIDE_LOADING() | |||||
// console.log(res) | |||||
if (res == null || res.length <= 0) { | |||||
_this.flag = false; | |||||
return; | |||||
} | |||||
_this.flag = true; | |||||
_this.data = res; | |||||
}) | |||||
} | |||||
}, | |||||
created() { | |||||
this.init() | |||||
} | |||||
} | |||||
</script> | |||||
<style lang="less" scoped> | |||||
/deep/ .picker { | |||||
text-align: center; | |||||
} | |||||
/deep/ .cu-form-group { | |||||
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; | |||||
} | |||||
.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; | |||||
} | |||||
.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: 24px; | |||||
font-size: 13px; | |||||
color: #7a7a7a; | |||||
position: relative; | |||||
} | |||||
.studSeeSec2Li:before { | |||||
/*content: '';*/ | |||||
position: absolute; | |||||
top: 0; | |||||
bottom: 0; | |||||
left: 12px; | |||||
margin: auto; | |||||
width: 6px; | |||||
height: 6px; | |||||
background: #8ac9ff; | |||||
border-radius: 50%; | |||||
} | |||||
.studSeeSec2List .EncourgeLevel { | |||||
float: right; | |||||
} | |||||
.studSeeSec2List image { | |||||
width: 12px; | |||||
margin-right: 5px; | |||||
position: relative; | |||||
top: 2px; | |||||
} | |||||
.studSeeSec2Li .dateRow { | |||||
text-align: right; | |||||
} | |||||
.studSeeSec2 .tips { | |||||
text-align: center; | |||||
} | |||||
</style> |
@@ -0,0 +1,103 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<!--标题--> | |||||
<view class="noticeT"><text id="AcademicYearNo">{{ data.AcademicYearNo }}</text>学年第<text id="Semester">{{ data.Semester }}</text>学期收费标准</view> | |||||
<!--简介--> | |||||
<view class="noticeBox"> | |||||
<view class="noticeTitle">费用明细</view> | |||||
<view id="list"> | |||||
<view class="noticeTxt" v-for="(item, i) in data.FinaChargesStandardList" :key="item.ChargeItemID"> | |||||
<text> {{ item.ChargeItemName }} :</text><text> {{ item.Standard }} 元</text> | |||||
</view> | |||||
</view> | |||||
<view class="noticeTxt"> | |||||
<text>合计:</text><text><text id="total">{{ data.PayFeeTotal }}</text>元</text> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default{ | |||||
data() { | |||||
return { | |||||
data: null | |||||
} | |||||
}, | |||||
methods:{ | |||||
init() { | |||||
//数据绑定 | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…') | |||||
_this.HTTP_GET('StuInfoFresh/payFeeDetail', {}, '加载数据时出错').then(res => { | |||||
_this.HIDE_LOADING(); | |||||
console.log(res); | |||||
_this.data = res; | |||||
}); | |||||
} | |||||
}, | |||||
created() { | |||||
this.init() | |||||
} | |||||
} | |||||
</script> | |||||
<style scoped lang="less"> | |||||
/deep/ uni-page{ | |||||
background-color: #fff; | |||||
} | |||||
.f-page-body { | |||||
background: #fff; | |||||
} | |||||
.page { | |||||
padding: 10px 12px; | |||||
background: #fff; | |||||
} | |||||
.noticeT { | |||||
font-size: 20px; | |||||
line-height: 26px; | |||||
text-align: center; | |||||
} | |||||
.noticeTitle { | |||||
font-size: 16px; | |||||
/* border-top: 10px #f9f9f9 solid; */ | |||||
/* margin: 0 -12px; */ | |||||
margin: 15px 0 10px; | |||||
} | |||||
.noticeBox { | |||||
margin: 10px 0; | |||||
padding: 12px; | |||||
background: #f9f9f9; | |||||
border-radius: 14px; | |||||
} | |||||
.noticeBox .noticeTitle:first-child { | |||||
margin-top: 0; | |||||
} | |||||
.noticeTxt, | |||||
.noticeText { | |||||
font-size: 14px; | |||||
line-height: 24px; | |||||
overflow: hidden; | |||||
margin: 5px 0; | |||||
} | |||||
.noticeText { | |||||
text-align: right; | |||||
} | |||||
.noticeTxt > *:last-child { | |||||
float: right; | |||||
} | |||||
.noticeLine { | |||||
height: 1px; | |||||
margin: 10px 0; | |||||
background: #e4e4e4; | |||||
} | |||||
</style> |
@@ -15,12 +15,12 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="timeTable_sec2"> | <view class="timeTable_sec2"> | ||||
<ul class="tSec2Top"> | |||||
<view class="tSec2Top"> | |||||
<view class="tSec2TopLi" v-for="(item, ind) in weekArr" :key="item.en" @click="liTap(ind)" :class="ind == num ? 'active' : ''"> | <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.en }}</text> | ||||
<text>{{ item.cn }}</text> | <text>{{ item.cn }}</text> | ||||
</view> | </view> | ||||
</ul> | |||||
</view> | |||||
<view class="tSec2Box"> | <view class="tSec2Box"> | ||||
<view class="tSec2Con" v-for="(items, i) in dataArr" :key="items.num" v-show="i == num"> | <view class="tSec2Con" v-for="(items, i) in dataArr" :key="items.num" v-show="i == num"> | ||||
<view class="tSec2List"> | <view class="tSec2List"> | ||||
@@ -119,9 +119,7 @@ export default { | |||||
_this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday); | _this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday); | ||||
}, | }, | ||||
loadData(start, end) { | loadData(start, end) { | ||||
// judgeDate(todayWeek.SundayTime); | |||||
var param = { startTime: start, endTime: end }; | var param = { startTime: start, endTime: end }; | ||||
let _this = this; | let _this = this; | ||||
_this.LOADING('加载数据中…'); | _this.LOADING('加载数据中…'); | ||||
_this.HTTP_GET('arrangeExam/stuList', param, '加载数据时出错').then(res => { | _this.HTTP_GET('arrangeExam/stuList', param, '加载数据时出错').then(res => { | ||||
@@ -177,6 +175,9 @@ export default { | |||||
} | } | ||||
}); | }); | ||||
}); | }); | ||||
dataM.forEach((n, i) => { | |||||
n.lessonData.sort(common.compare('sectionTime')); | |||||
}); | |||||
this.dataArr = dataM; | this.dataArr = dataM; | ||||
} | } | ||||
}, | }, | ||||
@@ -187,7 +188,6 @@ export default { | |||||
</script> | </script> | ||||
<style lang="less" scoped> | <style lang="less" scoped> | ||||
.page { | .page { | ||||
background: #fff; | background: #fff; | ||||
padding-bottom: 1px; | padding-bottom: 1px; | ||||
@@ -110,7 +110,7 @@ export default { | |||||
'learun/adms/timetable/StuLessonInfo', | 'learun/adms/timetable/StuLessonInfo', | ||||
{StartDate:Monday, EndDate:Sunday}, | {StartDate:Monday, EndDate:Sunday}, | ||||
'加载数据时出错' | '加载数据时出错' | ||||
).then( res => { | |||||
).then( res => { | |||||
_this.HIDE_LOADING() | _this.HIDE_LOADING() | ||||
//console.log(res) | //console.log(res) | ||||
_this.dataArr.length = 0; | _this.dataArr.length = 0; | ||||
@@ -0,0 +1,67 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<l-input title="学年度" placeholder="请填写学年度" disabled left /> | |||||
<l-input title="学期" placeholder="请填写学期" disabled left /> | |||||
<l-input title="学号" placeholder="请填写学号" disabled left /> | |||||
<l-input title="姓名" placeholder="请填写姓名" disabled left /> | |||||
<l-input title="年级" placeholder="请填写年级" disabled left /> | |||||
<l-input title="教师号" placeholder="请填写教师号" disabled left /> | |||||
<l-input title="系所码" placeholder="请填写系所码" disabled left /> | |||||
<l-input title="系名" placeholder="请填写系名" disabled left /> | |||||
<l-input title="专业码" placeholder="请填写专业码" disabled left /> | |||||
<l-input title="专业名" placeholder="请填写专业名" disabled left /> | |||||
<l-input title="所在行政班号" placeholder="请填写所在行政班号" disabled left /> | |||||
<l-input title="班级名称" placeholder="请填写班级名称" disabled left /> | |||||
<l-input title="课程号" placeholder="请填写课程号" disabled left /> | |||||
<l-input title="课程名称" placeholder="请填写课程名称" disabled left /> | |||||
<l-input title="课程类别码" placeholder="请填写课程类别码" disabled left /> | |||||
<l-input title="课程类别" placeholder="请填写课程类别" disabled left /> | |||||
<l-input title="教室码" placeholder="请填写教室码" disabled left /> | |||||
<l-input title="教室名称" placeholder="请填写教室名称" disabled left /> | |||||
<l-input title="原上课日期" placeholder="请填写原上课日期" disabled left /> | |||||
<l-input title="上课时间" placeholder="请填写上课时间" disabled left /> | |||||
<div class="lr-form-row " data-table="StuAttendanceLeave"> | |||||
<label>请假类型</label> | |||||
<div id="LeaveType"></div> | |||||
</div> | |||||
<l-title>备注:</l-title> | |||||
<view class="bg-white"> | |||||
<l-textarea placeholder="输入点什么..." /> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default { | |||||
data() { | |||||
return { | |||||
pageInfo: null | |||||
}; | |||||
}, | |||||
methods: { | |||||
init() { | |||||
this.pageInfo = this.GET_PARAM(); //获取页面传递参数 | |||||
console.log(this.pageInfo); | |||||
let _this = this; | |||||
// _this.LOADING('加载数据中…'); | |||||
_this.LOADING('页面未做完…'); | |||||
setTimeout(function(){ | |||||
_this.HIDE_LOADING(); | |||||
}, 2000) | |||||
_this.HTTP_GET('learun/EducationalAdministration/StuAttendanceLeave/leaveform', {}, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
// console.log(res); | |||||
_this.ProcessingData(res); | |||||
}); | |||||
} | |||||
}, | |||||
created() { | |||||
this.init(); | |||||
} | |||||
}; | |||||
</script> | |||||
<style lang="less" scoped> | |||||
</style> |
@@ -0,0 +1,384 @@ | |||||
<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> | |||||
<!--<span class="tSec1Line"></span>--> | |||||
<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"> | |||||
<view 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> | |||||
</view> | |||||
<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="j" @click="classTap(k)"> | |||||
<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, | |||||
user: null, | |||||
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: { | |||||
async init() { | |||||
let _this = this; | |||||
_this.todayWeek = common.weekday(); | |||||
_this.semester = common.judgeDate(); | |||||
_this.weekDayTime = 7 * common.oneDayTime(); | |||||
_this.user = _this.GET_GLOBAL('loginUser'); | |||||
_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) { | |||||
// var param = { StartDate: start, EndDate: end }; | |||||
let param = { StartDate: '2018-11-05', EndDate: '2018-11-11' }; | |||||
let _this = this; | |||||
_this.LOADING('加载数据中…'); | |||||
_this.HTTP_GET('learun/adms/timetable/list', param, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
// console.log(res); | |||||
_this.ProcessingData(res); | |||||
}); | |||||
}, | |||||
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); | |||||
} | |||||
}); | |||||
}); | |||||
dataM.forEach((n, i) => { | |||||
n.lessonData.sort(common.compare('sectionTime')); | |||||
}); | |||||
this.dataArr = dataM; | |||||
}, | |||||
classTap(data) { | |||||
let _this = this; | |||||
// console.log(_this.user) | |||||
if (_this.user.Description == "教师") { | |||||
//console.log("教师"); | |||||
} else if (_this.user.Description == "学生") { | |||||
let LeaveType = data.LeaveType; | |||||
//console.log(LeaveType); | |||||
let IsCheck = data.IsCheck; | |||||
//console.log(IsCheck); | |||||
if (LeaveType == "1") { | |||||
let msg = "请假申请中"; | |||||
if (IsCheck == "1") { | |||||
msg = "请假通过"; | |||||
} | |||||
if (IsCheck == "2") { | |||||
msg = "请假未通过"; | |||||
} | |||||
_this.TOAST(msg); | |||||
} | |||||
else { | |||||
var param = { | |||||
AcademicYearNo: data.AcademicYear, | |||||
ClassRoomNo: data.ClassRoomNo, | |||||
EmpNo: data.EmpNo, | |||||
LessonDate: data.LessonDate, | |||||
LessonNo: data.LessonNo, | |||||
LessonSortNo: data.LessonSortNo, | |||||
LessonTime: data.LessonTime, | |||||
Semester: data.Semester | |||||
}; | |||||
this.NAV_TO('./leaveFrom', data, true); | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
created() { | |||||
this.init() | |||||
} | |||||
}; | |||||
</script> | |||||
<style lang="less" scoped> | |||||
.page{ | |||||
background: #fff; | |||||
} | |||||
.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; | |||||
} | |||||
.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> |