| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 |
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@include file="/context/mytags.jsp"%>
- <t:base type="jquery,easyui,tools,DatePicker"></t:base>
- <link rel="stylesheet" type="text/css" href="css/commoncss.css"/>
- <div class="easyui-layout" fit="true">
- <div region="center" style="padding:0px;border:0px">
- <t:datagrid name="userAttendanceTotalList"
- autoLoadData="false"
- checkbox="true" fitColumns="true" title="考勤上报" pagination="false" sortName="inPostid" sortOrder="asc"
- actionUrl="userAttendanceTotalController.do?datagrid" idField="id" fit="true" queryMode="group">
- <t:dgCol title="主键" field="id" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="员工工号" field="userCode" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="员工姓名" field="userId" queryMode="single" dictionary="t_s_base_user,id,realname" width="120"></t:dgCol>
- <t:dgCol title="月度" field="yearmonth" queryMode="single" style="text-align:center," width="100"></t:dgCol>
- <%--
- 修复bug :WYH-66
- 2017/12/13下午确认结果:
- 1,所属部门 显示OK
- 2,考勤上报一览里,有项目 "所属项目",考勤审核一览里 没有。
- 其实 如果 项目名称必须 输入的 话,显示 的人 应该都是同一个项目的。一览里,项目名称 可以不显示。
- 也就是说 考勤上报一览里 ,可以去掉 所属项目。
- <t:dgCol title="所属项目" field="pid" dictionary="t_s_depart,id,departname, and org_type != '1' " queryMode="single" width="120"></t:dgCol>
- --%>
- <t:dgCol title="所属部门" field="departid" dictionary="t_s_depart,id,departname, and org_type != '1' " queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="所属岗位" field="inPostid" defaultVal="${queryParams.inPostid}" query="false" queryMode="single" dictionary="t_bus_post,id,post_name, and delete_flag = 0 and status = 0" width="120"></t:dgCol>
- <t:dgCol title="应出勤时长" field="datumAttendanceDate" formatterjs="minsToHoursandMinsfmt" style="text-align:right," queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="实际出勤时长" field="actualAttendanceDate" formatterjs="minsToHoursandMinsfmt" style="text-align:right," queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="时间差" field="timeDifferenceTotal" formatterjs="minsToHoursandMinsfmt" style="text-align:right," queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="加班时长" field="overtimeTotalTime" formatterjs="minsToHoursandMinsfmt" style="text-align:right," queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="休假时长" field="leaveTotalTime" formatterjs="minsToHoursandMinsfmt" style="text-align:right," queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="调整记录" field="adjustRecord" defaultVal="${queryParams.adjustRecord}" style="text-align:center," query="false" dictionary="attendance_adjust_status" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="状态" field="confirmStatus" defaultVal="${queryParams.confirmStatus}" style="text-align:center," query="false" dictionary="attendance_report_status" queryMode="single" width="120"></t:dgCol>
- <%-- <t:dgToolBar title="计算考勤(临时按钮)" operationCode="readonly" icon="icon-add" operationCode="add" url="userAttendanceTotalController.do?goAdd" funname="chongxinjisuan"></t:dgToolBar> --%>
- <t:dgToolBar title="修改" operationCode="updatebtn" icon="icon-edit" operationCode="edit" url="userAttendanceTotalController.do?goUpdate&conform=false" funname="update"></t:dgToolBar>
- <t:dgToolBar title="上报" icon="icon-report" url="userAttendanceTotalController.do?doBatchReport" funname="BatchReport"></t:dgToolBar>
- <t:dgToolBar title="导出" icon="icon-put" operationCode="put" funname="ExportXls"></t:dgToolBar>
- </t:datagrid>
- </div>
- </div>
- <div id="pinjie1">
- <div name="pinjie2" style="padding:3px; height: auto" class="datagrid-toolbar">
- <table style="height:85px;padding:0px" cellpadding="0" cellspacing="1" >
- <tbody>
- <tr>
- <td align="right" style="width: 74px;">
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>项目名称:
- </label>
- </td>
- <td class="value">
- <input readonly="true" type="text" id="departname" value="${queryParams.departname}" name="departname" style="width: 157px" placeholder="请选择项目名称" onclick="openDepartmentSelect()"/>
- <input id="departid" name='departid' type="hidden" value="${queryParams.departid}" />
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openDepartmentSelect()">选择</a>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackClean()">清空</a>
- </td>
- <td align="right" style="width: 74px;">
- <label class="Validform_label">
- 员工姓名:
- </label>
- </td>
- <td class="value">
- <input type="text" id="userId" name="userId" value="${queryParams.userId}" style="width: 157px" placeholder="请输入员工姓名" />
- </td>
- <td align="right" style="width: 74px;">
- <label class="Validform_label">
- 月度:
- </label>
- </td>
- <td class="value">
- <input type="text" id="yearmonth" name="yearmonth" style="width: 157px" value="${queryParams.yearmonth}" class="Wdate" onClick='WdatePicker({readOnly:true,maxDate:"${maxdate}",enableKeyboard:false,enableInputMask:false,dateFmt: "yyyy-MM"})' />
- </td>
- </tr>
- <tr>
- <td align="right">
- <label class="Validform_label">
- 所属岗位:
- </label>
- </td>
- <td class="value">
- <t:dictSelect field="inPostid" defaultVal="${queryParams.inPostid}" dictTable="t_bus_post" dictCondition="where delete_flag=0 and status=0" dictField="id" dictText="post_name" title="所属岗位" ></t:dictSelect>
- </td>
- <td align="right">
- <label class="Validform_label">
- 调整记录:
- </label>
- </td>
- <td class="value">
- <t:dictSelect field="adjustRecord" type="select" defaultVal="${queryParams.adjustRecord}" typeGroupCode="attendance_adjust_status" hasLabel="false" title="调整记录" ></t:dictSelect>
- </td>
- <td align="right">
- <label class="Validform_label">
- 状态:
- </label>
- </td>
- <td class="value">
- <t:dictSelect field="confirmStatus" type="select" defaultVal="${queryParams.confirmStatus}" typeGroupCode="attendance_report_status" hasLabel="false" title="状态" ></t:dictSelect>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div id="pinjiechaxun1">
- <div name="pinjiechaxun2" style="padding:3px; height: auto" class="datagrid-toolbar">
- <div style="float: right;">
- <span>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="userAttendanceTotalSearch" onclick="userAttendanceTotalListsearch()">查询</a>
- </span>
- <span>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-reload " id="userAttendanceTotalRedo" onclick="searchReset('userAttendanceTotalList')">重置</a>
- </span>
- </div>
- </div>
- </div>
- <!--
- <div id="yearmonth1" style="display: none;">
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>项目名称:
- </label>
- <input readonly="true" type="text" id="departname" value="${queryParams.departname}" name="departname" style="width: 150px" placeholder="请选择项目名称" onclick="openDepartmentSelect()"/>
- <input id="departid" name='departid' type="hidden" value="${queryParams.departid}" />
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="departSearch" onclick="openDepartmentSelect()">选择</a>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-redo" id="departRedo" onclick="callbackClean()">清空</a>
- <label class="Validform_label">
- 员工姓名:
- </label>
- <input type="text" id="userId" name="userId" value="${queryParams.userId}" style="width: 150px" placeholder="请输入员工姓名" />
- <label class="Validform_label">
- 月度:
- </label>
- <input type="text" id="yearmonth" name="yearmonth" value="${queryParams.yearmonth}" class="Wdate" onClick='WdatePicker({readOnly:true,maxDate:"${maxdate}",enableKeyboard:false,enableInputMask:false,dateFmt: "yyyy-MM"})' />
-
- </div>
- -->
- <script type="text/javascript">
- $(function() {
- /**
- var datagrid = $("#userAttendanceTotalListtb");
- datagrid.find("div[name='searchColums']").find("form#userAttendanceTotalListForm").prepend($("#yearmonth1").html());
- $("#yearmonth1").html('');
- */
- var datagrid = $("#userAttendanceTotalListtb");
- datagrid.prepend($("#pinjie1 div[name='pinjie2']").html());
- $("#pinjie1").html('');
- datagrid.children(".datagrid-toolbar").children("span:first").after($("#pinjiechaxun1 div[name='pinjiechaxun2']").html());
- $("#pinjiechaxun1").html('');
-
- var queryParams = $('#userAttendanceTotalList').datagrid('options').queryParams;
- $('#userAttendanceTotalListtb').find('*').each(function() {
- queryParams[$(this).attr('name')] = $(this).val();
- });
- if(null!= queryParams.departid&&''!=queryParams.departid){
- userAttendanceTotalListsearch();
- }
-
- });
-
-
-
- /**
- * 批量上报
- * @param title
- * @param url
- * @param gname
- * @return
- */
- function BatchReport(title,url,gname) {
- gridname=gname;
- var ids = [];
- var rows = $("#"+gname).datagrid('getSelections');
- if (rows.length > 0) {
- for ( var i = 0; i < rows.length; i++) {
- ids.push(rows[i].id);
- if(rows[i].confirmStatus==0||rows[i].confirmStatus=="0"){
- }else{
- layer.alert("该员工考勤已上报");
- return false;
- }
- }
- $.ajax({
- url : url,
- type : 'post',
- data : {
- ids : ids.join(',')
- },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- if (d.success) {
- var msg = d.msg;
- tip(msg);
- reloadTable();
- $("#"+gname).datagrid('unselectAll');
- ids='';
- } else {
- layer.alert(d.msg);
- }
- }
- });
- } else {
- layer.alert("请选择需要上报的数据");
- }
- }
- function callbackClean(){
- $('#departname').val('');
- $('#departid').val('');
- }
- //导入
- function ImportXls() {
- openuploadwin('Excel导入', 'userAttendanceTotalController.do?upload', "userAttendanceTotalList");
- }
-
- //导出
- function ExportXls() {
- JeecgExcelExport("userAttendanceTotalController.do?exportXls","userAttendanceTotalList");
- }
- //选择项目名称,列表================
- function openDepartmentSelect() {
- //$.dialog.setting.zIndex = getzIndex();
- var orgIds = $("#departid").val();
- $
- .dialog(
- {
- content : 'url:dialogDealController.do?projectDepartTablePart&ids='
- + orgIds,
- zIndex : getzIndex(),
- title : '项目列表',
- lock : true,
- width : '600px',
- height : '350px',
- opacity : 0.4,
- button : [
- {
- name : '<t:mutiLang langKey="common.confirm"/>',
- callback : function() {
- var iframe = this.iframe.contentWindow;
- if (iframe.getReason().length > 0) {
- var strData = eval(iframe
- .getReason());
- for ( var key in strData[0]) {
- if (key == "strPId") {
- $("#departid")
- .val(
- strData[0][key]);
- } else if (key == "strDepartName") {
- $("#departname")
- .val(
- strData[0][key]);
- }
- }
- }
- },
- focus : true
- },
- {
- name : '<t:mutiLang langKey="common.cancel"/>',
- callback : function() {
- }
- }
- ]
- }).zindex();
- }
- //模板下载
- function ExportXlsByT() {
- JeecgExcelExport("userAttendanceTotalController.do?exportXlsByT",
- "userAttendanceTotalList");
- }
- //新增
- function add(title, url, id) {
- window.location.href = url;
- }
- //修改
- function update(title, url, id) {
- var rowsData = $('#' + id).datagrid('getSelections');
- if (!rowsData || rowsData.length == 0) {
- layer.alert('请选择编辑项目');
- return;
- }
- if (rowsData.length > 1) {
- layer.alert('请选择一条记录再编辑');
- return;
- }
- url += '&id=' + rowsData[0].id;
- var queryParams = $('#userAttendanceTotalList').datagrid('options').queryParams;
- $('#userAttendanceTotalListtb').find('*').each(function() {
- queryParams[$(this).attr('name')] = $(this).val();
- });
- url +="&queryParams="+encodeURI(JSON.stringify(queryParams));
-
- if (rowsData[0].confirmStatus != '2') {
- window.location.href = url;
- } else {
- layer.alert('该考勤已确认, 不可再编辑');
- }
-
- // updateNotCreateWin("修改",url, "userAttendanceTotalList",false);
- }
-
-
- function chongxinjisuan(){
- layer.alert("重新计算考勤相关数据 会删除掉数据库中现有的未上报&&未调整的数据(已调整的 以及已确认的数据不再清除),你确定要重新计算考勤吗? ", function(index){
- layer.close(index);
- createwindow('', 'userAttendanceTotalController.do?goAdd');
- });
-
- }
- function userAttendanceTotalListsearch() {
- try {
- if (!$("#userAttendanceTotalListForm").Validform({
- tiptype : 3
- }).check()) {
- return false;
- }
- } catch (e) {
- }
- if (true) {
- var queryParams = $('#userAttendanceTotalList').datagrid('options').queryParams;
- $('#userAttendanceTotalListtb').find('*').each(function() {
- queryParams[$(this).attr('name')] = $(this).val();
- });
- if(queryParams.departid ==null||queryParams.departid ==''){
- layer.alert('项目名称必须输入');
- return false;
- }
- $('#userAttendanceTotalList')
- .datagrid(
- {
- url : 'userAttendanceTotalController.do?datagrid&field=id,userCode,userId,yearmonth,pid,departid,inPostid,datumAttendanceDate,actualAttendanceDate,timeDifferenceTotal,overtimeTotalTime,leaveTotalTime,adjustRecord,confirmStatus,',
- pageNumber : 1
- });
- }
- }
- </script>
|