@@ -14,12 +14,12 @@ | |||||
<div id="multiple_condition_query"> | <div id="multiple_condition_query"> | ||||
<div class="lr-query-formcontent"> | <div class="lr-query-formcontent"> | ||||
<div class="col-xs-6 lr-form-item" id="TCNameDiv"> | <div class="col-xs-6 lr-form-item" id="TCNameDiv"> | ||||
<div class="lr-form-item-title">年度</div> | |||||
<div id="Year"></div> | |||||
<div class="lr-form-item-title">年度<font face="宋体">*</font></div> | |||||
<div id="Year" isvalid="yes" checkexpession="NotNull" ></div> | |||||
</div> | </div> | ||||
<div class="col-xs-6 lr-form-item"> | <div class="col-xs-6 lr-form-item"> | ||||
<div class="lr-form-item-title">月份</div> | |||||
<div id="Month"></div> | |||||
<div class="lr-form-item-title">月份<font face="宋体">*</font></div> | |||||
<div id="Month" isvalid="yes" checkexpession="NotNull" ></div> | |||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item"> | <div class="col-xs-12 lr-form-item"> | ||||
<div class="lr-form-item-title">职工号/学号</div> | <div class="lr-form-item-title">职工号/学号</div> | ||||
@@ -5,6 +5,7 @@ var refreshGirdData; | |||||
var tempData; | var tempData; | ||||
var headData; | var headData; | ||||
var days; | var days; | ||||
var date = new Date; | |||||
var Year; | var Year; | ||||
var Month; | var Month; | ||||
var StrYearMonth = '合计'; | var StrYearMonth = '合计'; | ||||
@@ -15,16 +16,61 @@ var bootstrap = function ($, learun) { | |||||
var endTime; | var endTime; | ||||
var page = { | var page = { | ||||
init: function () { | init: function () { | ||||
var date = new Date; | |||||
Year = date.getFullYear(); | Year = date.getFullYear(); | ||||
Month = date.getMonth() + 1; | Month = date.getMonth() + 1; | ||||
page.bind(); | page.bind(); | ||||
page.initGird(); | page.initGird(); | ||||
page.search(); | |||||
}, | }, | ||||
bind: function () { | bind: function () { | ||||
page.bindColumn(); | |||||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||||
if (!!queryJson.Year && !!queryJson.Month) { | |||||
Year = queryJson.Year; | |||||
Month = Number(queryJson.Month) + 1; | |||||
} else { | |||||
Year = date.getFullYear(); | |||||
Month = date.getMonth() + 1; | |||||
} | |||||
page.bindColumn(); | |||||
page.search(queryJson); | |||||
}, 250, 400); | |||||
//年度 | |||||
$('#Year').lrselect({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
$('#Year').lrselectSet(Year); | |||||
//月份 | |||||
$('#Month').lrDataItemSelect({ code: 'MPMonth' }); | |||||
$('#Month').lrselectSet(Month - 1); | |||||
$('#Departmentid').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=classdata', | |||||
param: { strWhere: "1=1 " }, | |||||
value: "id", | |||||
text: "name" | |||||
}); | |||||
$('#ClassNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||||
param: { strWhere: "1=1 " }, | |||||
value: "classno", | |||||
text: "classname" | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
}, | |||||
bindColumn: function () { | |||||
StrYearMonth = Year + '年' + Month + '月合计'; | |||||
tempData = [ | tempData = [ | ||||
{ label: "31", name: "num31", width: 50, align: "left" }, | { label: "31", name: "num31", width: 50, align: "left" }, | ||||
]; | ]; | ||||
headData = [ | headData = [ | ||||
{ label: "职工编号/学号", name: "account", width: 120, align: "left" }, | { label: "职工编号/学号", name: "account", width: 120, align: "left" }, | ||||
{ label: "姓名", name: "name", width: 120, align: "left" }, | { label: "姓名", name: "name", width: 120, align: "left" }, | ||||
@@ -85,38 +131,14 @@ var bootstrap = function ($, learun) { | |||||
{ label: "29", name: "num29", width: 50, align: "left" }, | { label: "29", name: "num29", width: 50, align: "left" }, | ||||
{ label: "30", name: "num30", width: 50, align: "left" }, | { label: "30", name: "num30", width: 50, align: "left" }, | ||||
]; | ]; | ||||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||||
page.search(queryJson); | |||||
}, 250, 400); | |||||
//年度 | |||||
$('#Year').lrselect({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
$('#Year').lrselectSet(Year); | |||||
//月份 | |||||
$('#Month').lrDataItemSelect({ code: 'MPMonth' }); | |||||
$('#Month').lrselectSet(Month); | |||||
$('#Departmentid').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=classdata', | |||||
param: { strWhere: "1=1 " }, | |||||
value: "id", | |||||
text: "name" | |||||
}); | |||||
$('#ClassNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||||
param: { strWhere: "1=1 " }, | |||||
value: "classno", | |||||
text: "classname" | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
getDays(Year, Month); | |||||
if (days == 31) { | |||||
headData = headData.concat(tempData); | |||||
} | |||||
$("#gridtable")[0].dfop = undefined; | |||||
page.initGird(); | |||||
}, | }, | ||||
// 初始化列表 | // 初始化列表 | ||||
initGird: function () { | initGird: function () { | ||||
@@ -126,28 +148,20 @@ var bootstrap = function ($, learun) { | |||||
mainId: 'account', | mainId: 'account', | ||||
isPage: false, | isPage: false, | ||||
}); | }); | ||||
page.search(); | |||||
//page.search(); | |||||
}, | }, | ||||
search: function (param) { | search: function (param) { | ||||
param = param || {}; | param = param || {}; | ||||
console.log('123', param); | |||||
if (!param.Year) { | |||||
console.log(123); | |||||
param.Year = Year; | |||||
} | |||||
if (!param.Month) { | |||||
console.log(1234); | |||||
param.Month = Month; | |||||
if (!!param.Year) { | |||||
} else { | |||||
param.Year = date.getFullYear(); | |||||
} | } | ||||
console.log('123_2', param); | |||||
StrYearMonth = param.Year + '年' + param.Month + '月合计'; | |||||
getDays(param.Year, param.Month); | |||||
console.log('天数', days); | |||||
if (days == 31) { | |||||
console.log('31'); | |||||
headData = headData.concat(tempData); | |||||
if (!!param.Month) { | |||||
param.Month = Number(param.Month) + 1; | |||||
} else { | |||||
param.Month = date.getMonth() + 1; | |||||
} | } | ||||
//$("#gridtable")[0].dfop = undefined; | |||||
console.log(param); | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | ||||
} | } | ||||
}; | }; | ||||
@@ -163,7 +177,6 @@ var bootstrap = function ($, learun) { | |||||
async: false, | async: false, | ||||
cache: false, | cache: false, | ||||
success: function (data) { | success: function (data) { | ||||
console.log(data); | |||||
days = data.data; | days = data.data; | ||||
}, | }, | ||||
error: function (XMLHttpRequest, textStatus, errorThrown) { | error: function (XMLHttpRequest, textStatus, errorThrown) { | ||||
@@ -42,6 +42,16 @@ var bootstrap = function ($, learun) { | |||||
return flog; | return flog; | ||||
} | } | ||||
function flogs2(num, data, obj) { | |||||
var arr = new Array(); | |||||
$.each(data, | |||||
function (i, n) { | |||||
if (n[obj] == num) { | |||||
arr.push(n); | |||||
} | |||||
}) | |||||
return arr; | |||||
} | |||||
//某节课空 | //某节课空 | ||||
function tdHandle() { | function tdHandle() { | ||||
var html = ''; | var html = ''; | ||||
@@ -50,30 +60,40 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
return html; | return html; | ||||
} | } | ||||
//某节课不空 | //某节课不空 | ||||
function tdHandles(lists) { | function tdHandles(lists) { | ||||
var html = ''; | var html = ''; | ||||
for (var k = 1; k < 8; k++) { | for (var k = 1; k < 8; k++) { | ||||
(function (arg) { | (function (arg) { | ||||
var args = arg - 1; | var args = arg - 1; | ||||
var datas = flogs(arg, lists, 'day'); | |||||
if (datas) { | |||||
html += '<td data=' + JSON.stringify(datas) + ' class="active"><div>课程:' + | |||||
datas.lessonName + | |||||
'</div>' + | |||||
'<div>教师:' + | |||||
datas.teacher + | |||||
'</div>' + | |||||
'<div>班级:' + | |||||
datas.className + | |||||
'</div>' + | |||||
'<div>教室:' + | |||||
datas.classRoom + | |||||
'</div></td>'; | |||||
var datas = flogs2(arg, lists, 'day'); | |||||
if (datas.length > 0) { | |||||
html += '<td class="active">'; | |||||
$.each(datas, function (i, item) { | |||||
if (i > 0) { | |||||
html += '<hr>'; | |||||
} | |||||
html += '<div><span class="leave" curriculum=' + item.curriculum + ' academicyear=' + item.academicyear + ' semester=' + item.semester + ' empno=' + item.empno + ' lessonNo=' + item.lessonNo + ' teachClassNo=' + item.teachClassNo + ' lessonTime=' + item.lessonTime + ' lessonDate=' + item.lessonDate + ' lessonSortNo=' + item.lessonSortNo + ' classRoomNo=' + item.classRoomNo +' data=' + item + '>课程:' + | |||||
item.curriculum + | |||||
'</span></div>' + | |||||
'<div>教师:' + | |||||
item.teacher + | |||||
'</div>' + | |||||
'<div>班级:' + | |||||
item.className + | |||||
'</div>' + | |||||
'<div>教室:' + | |||||
item.classRoom + | |||||
'</div>'; | |||||
}); | |||||
html += '</td>'; | |||||
} else { | } else { | ||||
html += '<td><div></div><div></div><div></div><div></div></td>'; | html += '<td><div></div><div></div><div></div><div></div></td>'; | ||||
} | } | ||||
})(k); | })(k); | ||||
} | } | ||||
return html; | return html; | ||||
@@ -123,15 +143,26 @@ var bootstrap = function ($, learun) { | |||||
page.search(); | page.search(); | ||||
} | } | ||||
}); | }); | ||||
//'td.active1', | |||||
$('.perFestivalsBox').on('click', | $('.perFestivalsBox').on('click', | ||||
'td.active', | |||||
'.leave', | |||||
function () { | function () { | ||||
var params = JSON.parse($(this).attr('data')); | |||||
var $this = $(this); | |||||
var curriculum = $this.attr('curriculum'); | |||||
var academicyear = $this.attr('academicyear'); | |||||
var semester = $this.attr('semester'); | |||||
var empno = $this.attr('empno'); | |||||
var lessonNo = $this.attr('lessonNo'); | |||||
var teachClassNo = $this.attr('teachClassNo'); | |||||
var lessonTime = $this.attr('lessonTime'); | |||||
var lessonDate = $this.attr('lessonDate'); | |||||
var lessonSortNo = $this.attr('lessonSortNo'); | |||||
var classRoomNo = $this.attr('classRoomNo'); | |||||
learun.layerForm({ | learun.layerForm({ | ||||
id: 'form', | id: 'form', | ||||
title: "[" + params.curriculum + "]课堂考勤", | |||||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/AttendanceDetail?year=' + params.academicyear + '&semester=' + params.semester + '&empno=' + params.empno + '&lessonNo=' + params.lessonNo + '&teachClassNo=' + params.teachClassNo + '&lessonTime=' + params.lessonTime + '&lessonDate=' + params.lessonDate + '&lessonSortNo=' + params.lessonSortNo + '&classRoomNo=' + params.classRoomNo, | |||||
title: "[" + curriculum + "]课堂考勤", | |||||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/AttendanceDetail?year=' + academicyear + '&semester=' + semester + '&empno=' + empno + '&lessonNo=' + lessonNo + '&teachClassNo=' + teachClassNo + '&lessonTime=' + lessonTime + '&lessonDate=' + lessonDate + '&lessonSortNo=' + lessonSortNo + '&classRoomNo=' + classRoomNo, | |||||
width: 1000, | width: 1000, | ||||
height: 600, | height: 600, | ||||
btn: null | btn: null | ||||
@@ -23,7 +23,7 @@ namespace Learun.Application.TwoDevelopment.LR_Desktop | |||||
try | try | ||||
{ | { | ||||
var dbname_Mis = BaseRepository("CollegeMIS").getDbConnection().Database; | var dbname_Mis = BaseRepository("CollegeMIS").getDbConnection().Database; | ||||
var strSql = new StringBuilder("select name,account,classno,departmentid,daydata,num from ("); | |||||
var strSql = new StringBuilder("select distinct name,account,classno,departmentid,daydata,num from ("); | |||||
var sql = | var sql = | ||||
$@"select day(b.F_OperateTime) as daydata,a.f_operateaccount,c.classno,d.f_departmentid as departmentid, | $@"select day(b.F_OperateTime) as daydata,a.f_operateaccount,c.classno,d.f_departmentid as departmentid, | ||||
substring(a.f_operateaccount,charindex('(',a.f_operateaccount)+1,charindex(')',a.f_operateaccount)-charindex('(',a.f_operateaccount)-1) as name, | substring(a.f_operateaccount,charindex('(',a.f_operateaccount)+1,charindex(')',a.f_operateaccount)-charindex('(',a.f_operateaccount)-1) as name, | ||||
@@ -54,23 +54,19 @@ left join LR_Base_user d on a.f_operateuserid=d.f_userid | |||||
} | } | ||||
if (!queryParam["Account"].IsEmpty()) | if (!queryParam["Account"].IsEmpty()) | ||||
{ | { | ||||
dp.Add("Account", "%" + queryParam["Account"].ToString() + "%", DbType.String); | |||||
whereStr.Append(" AND account Like @Account "); | |||||
sql2.Append($" AND a.f_operateaccount like '%{queryParam["Account"].ToString()}%'"); | |||||
} | } | ||||
if (!queryParam["Name"].IsEmpty()) | if (!queryParam["Name"].IsEmpty()) | ||||
{ | { | ||||
dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String); | |||||
whereStr.Append(" AND name Like @Name "); | |||||
sql2.Append($" AND a.f_operateaccount like '%{queryParam["Name"].ToString()}%'"); | |||||
} | } | ||||
if (!queryParam["ClassNo"].IsEmpty()) | if (!queryParam["ClassNo"].IsEmpty()) | ||||
{ | { | ||||
dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String); | |||||
whereStr.Append(" AND ClassNo = @ClassNo "); | |||||
sql2.Append($" AND classno='{queryParam["ClassNo"].ToString()}'"); | |||||
} | } | ||||
if (!queryParam["Departmentid"].IsEmpty()) | if (!queryParam["Departmentid"].IsEmpty()) | ||||
{ | { | ||||
dp.Add("Departmentid", queryParam["Departmentid"].ToString(), DbType.String); | |||||
whereStr.Append(" AND Departmentid = @Departmentid "); | |||||
sql2.Append($" AND d.f_departmentid='{queryParam["Departmentid"].ToString()}'"); | |||||
} | } | ||||
strSql.Append(sql); | strSql.Append(sql); | ||||
strSql.Append(sql1); | strSql.Append(sql1); | ||||