| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536 |
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@include file="/context/mytags.jsp"%>
- <link rel="stylesheet" type="text/css" href="css/commoncss.css"/>
- <t:base type="jquery,easyui,tools,DatePicker"></t:base>
- <div class="easyui-layout" fit="true">
- <div region="center" style="padding:0px;border:0px">
- <t:datagrid name="userWageList" pagination="false" checkbox="true" fitColumns="false" title="员工工资核算表" autoLoadData="false" sortName="username" sortOrder="desc"
- actionUrl="userWageController.do?datagrid2" idField="id" fit="true" queryMode="group">
- <t:dgCol title="主键" field="id" hidden="true" frozenColumn="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="员工id" hidden="true" field="userid" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="员工ids" hidden="true" field="userids" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="员工工号" sortable="false" frozenColumn="true" query="false" field="username" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="员工姓名" sortable="false" frozenColumn="true" query="false" field="realname" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="所属单位" sortable="false" frozenColumn="true" field="belongUnitName" queryMode="single" width="120"></t:dgCol>
- <%-- <t:dgCol title="职务层级" align="center" sortable="false" field="pduname" queryMode="single" width="120"></t:dgCol> --%>
- <t:dgCol title="身份证号" align="center" sortable="false" field="pduname" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="职务" sortable="true" field="duname" queryMode="single" width="180"></t:dgCol>
- <t:dgCol title="工资月度" align="center" sortable="false" field="monthly" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="基本工资" style="text-align:right," sortable="false" field="basicWage" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="职务津贴" style="text-align:right," sortable="false" field="dutiesAllowance" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="证书补贴" style="text-align:right," sortable="false" field="certificateSubsidy" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="交通补贴" style="text-align:right," sortable="false" field="trafficSubsidy" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="高温补贴" style="text-align:right," sortable="false" field="megathermalSubsidy" queryMode="single" extendParams="editor:{type:'numberbox',options:{ min:0,max:9999.99,precision:2}}" width="120"></t:dgCol>
- <t:dgCol title="独生子女费" style="text-align:right," sortable="false" field="onlyChildCost" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="其他补贴" style="text-align:right," sortable="false" field="otherSubsidy" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="奖金" style="text-align:right," sortable="false" field="bonus" queryMode="single" extendParams="editor:{type:'numberbox',options:{ min:0,max:9999.99,precision:2}}" width="120"></t:dgCol>
- <t:dgCol title="项目绩效" style="text-align:right," sortable="false" field="projectPerformance" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="餐补白班津贴" style="text-align:right," sortable="false" field="mealsSubsidyDay" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="餐补夜班津贴" style="text-align:right," sortable="false" field="mealsSubsidyNight" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="餐费补助" style="text-align:right," sortable="false" field="mealsSubsidy" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="加班超时费" style="text-align:right," sortable="false" field="overtimepayTimeout" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="国定加班费" style="text-align:right," sortable="false" field="overtimepayFixed" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="值班费" style="text-align:right," sortable="false" field="duty" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="特殊加班费" style="text-align:right," sortable="false" field="specialOvertime" extendParams="editor:{type:'numberbox',options:{ min:0,max:9999.99,precision:2}}" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="病假扣" style="text-align:right," sortable="false" field="sickLeaveDebit" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="事假扣" style="text-align:right," sortable="false" field="thingLeaveDebit" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="缺勤扣" style="text-align:right," sortable="false" field="absenceDebit" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="代扣款" style="text-align:right," sortable="false" field="daikouDebit" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="其他扣除" style="text-align:right," sortable="false" field="otherDebit" extendParams="editor:{type:'numberbox',options:{ min:0,max:9999.99,precision:2}}" queryMode="single" width="120"></t:dgCol>
-
- <t:dgCol title="缴金补贴" style="text-align:right," sortable="false" field="paymentSubsidy" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="补发调整" style="text-align:right," sortable="false" field="reissue" extendParams="editor:{type:'numberbox',options:{ min:0,max:9999.99,precision:2}}" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="应发工资" style="text-align:right," sortable="false" field="preTaxMone" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="社保扣除" style="text-align:right," sortable="false" field="socialSecurityDebit" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="公积金扣除" style="text-align:right," sortable="false" field="providentFundDebit" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="扣税金额" style="text-align:right," sortable="false" field="taxMoney" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="实发金额" style="text-align:right," sortable="false" field="actualMoney" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="状态" extendParams="align:'center'," sortable="false" field="status" query="false" dictionary="businesStatus" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="备注说明" sortable="false" field="remark" extendParams="editor:'text'" queryMode="single" width="400"></t:dgCol>
- <t:dgToolBar operationCode="edit" title="手动核算" icon="icon-calculation" funname="userPayrollBySelectUser"></t:dgToolBar>
- <t:dgToolBar operationCode="edit" title="修改" icon="icon-edit" operationCode="edit" funname="editRow"></t:dgToolBar>
- <t:dgToolBar operationCode="save" title="保存" icon="icon-save" url="userWageController.do?saveRows" funname="saveData"></t:dgToolBar>
- <t:dgToolBar operationCode="undo" title="取消编辑" icon="icon-cancel1" funname="reject"></t:dgToolBar>
- <%-- <t:dgToolBar title="刷新" icon="icon-search" url="" funname="refresh"></t:dgToolBar> --%>
- <t:dgToolBar title="查看" icon="icon-view" url="userWageController.do?logrp" funname="goBaobiao"></t:dgToolBar>
- <t:dgToolBar operationCode="edit" title="上报" url="userWageController.do?updateStatus" icon="icon-report" funname="updateStatus"></t:dgToolBar>
- <t:dgToolBar title="导出" icon="icon-put" operationCode="put" funname="ExportXls"></t:dgToolBar>
- <t:dgToolBar title="导出工资条" icon="icon-putout" operationCode="putout" funname="exportWagePaperXls"></t:dgToolBar>
- </t:datagrid>
- </div>
- <script>
- $(function() {
- var datagrid = $("#userWageListtb");
- datagrid.prepend($("#pinjie1 div[name='pinjie2']").html());
- $("#pinjie1").html('');
-
-
- datagrid.children(".datagrid-toolbar").children("span:first").after($("#pinjiechaxun1 div[name='pinjiechaxun2']").html());
- $("#pinjiechaxun1").html('');
- });
- </script>
- <div id="pinjie1">
- <div name="pinjie2" style="padding:3px; height: auto" class="datagrid-toolbar">
- <div name="searchColums" style="margin:23px 0 18px 0;">
- <table style="padding:0px" cellpadding="0" cellspacing="1" >
- <tbody>
- <tr>
- <td align="right" style="width: 74px;">
- <label class="Validform_label">
- 员工姓名:
- </label>
- </td>
- <td class="value">
- <input id="realname" name="realname" type="text" style="width: 157px; " class="inputxt" placeholder="请输入员工姓名">
- </td>
- <td align="right" style="width: 74px;">
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>
- 项目名称:
- </label>
- </td>
- <td class="value" colspan="3">
- <input readonly="true" type="text" id="departname" name="departname" value="${departname}" style="width: 157px" placeholder="请选择项目名称" onclick="openDepartmentSelect()">
- <input id="orgIds" name="orgIds" type="hidden" value="${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">
- <t:dictSelect field="status" type="select" typeGroupCode="businesStatus" hasLabel="false" title="状态" ></t:dictSelect>
- </td>
- <td align="right" style="width: 74px;">
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>
- 工资月度:
- </label>
- </td>
- <td class="value">
- <input class="Wdate" id= "monthlys" name="monthlys" style="width: 157px; height: 28px;border-radius: 3px;" onClick="WdatePicker({readOnly:true,enableKeyboard:false,enableInputMask:false,dateFmt:'yyyy-MM'})"/>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
-
- <div id="pinjiechaxun1">
- <div name="pinjiechaxun2" style="padding:3px; height: auto" class="datagrid-toolbar">
- <span style="float:right;margin-bottom:4px;">
- <span>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="personnelBaseArchivesManageSearch" onclick="userWageListsearch()">查询</a>
- </span>
- <span>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-reload " id="personnelBaseArchivesManageRedo" onclick="searchReset('userWageList')">重置</a>
- </span>
- </div>
- </div>
- </div>
- </div>
- <script src = "webpage/cn/com/lzt/userwage/userWageList.js"></script>
- <script type="text/javascript">
-
- //上报
- function updateStatus(title,addurl,gname){
- var rows=$('#'+gname).datagrid("getChecked");
- if(rows.length==0){
- layer.alert("请选择条目");
- //tip("请选择条目");
- return false;
- }
- var result = "";
- for(var i=0;i<rows.length;i++){
- if(rows[i].status == '2'){
- layer.alert("员工【"+rows[i].realname+"】的工资已确认,不可上报");
- //tip("员工【"+rows[i].realname+"】的工资已确认,不可上报");
- result = "";
- return;
- }
- if(rows[i].id.indexOf("temp") > -1){
- layer.alert("员工【"+rows[i].realname+"】的工资没有核算,不可上报");
- return;
- //tip("员工【"+rows[i].realname+"】的工资没有核算,不可上报");
- }
- result += rows[i].id+",";
- }
- $.ajax({
- url:"<%=basePath%>/"+addurl,
- type:"post",
- data:{ids:result,status:true},
- dataType:"json",
- success:function(data){
- layer.alert(data.msg, function(index){
- //reloadTable();
- layer.close(index);
- refresh();
- /* window.location.href="leaveController.do?list"
- layer.close(index); */
- });
- //layer.alert(data.msg);
- //tip(data.msg);
- }
- });
- }
-
- //手动核算员工选择
- function userPayrollBySelectUser(){
- //项目id
- var pid = $("#orgIds").val();
- var monthly = $("#monthlys").val();
-
- // var date = new Date();
- // var day = date.getDate();
-
- // if(day> 1 && day <6){
- // layer.alert("每月2日~5日为考勤和工资核算期, 不能手工核算工资");
- // return false;
- // }
-
- $.dialog({content: 'url:userPayrollController.do?personnelBaseArchivesManageSelectList&pid='+pid, zIndex: getzIndex(), title: '员工选择', lock: true, width: '650px', height: '400px',
- opacity: 0.4, button: [
- {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
- //var postGeneralId=$("#id").val();
- //父页面接子页面传值
-
- //获得子页面getReason()方法中的值
- var iframe = this.iframe.contentWindow;
- var userid="";
- if(iframe.getReason().length>0){
- var strData=eval(iframe.getReason());
- for(var key in strData[0]){
- if(key=="strUserId"){
- userid = strData[0][key];
- }
- }
- $.ajax({
- url:"userPayrollController.do?userPayrollByUserId",
- async:true,
- type:"post",
- data: {
- userid : userid,
- pid : pid,
- monthly : monthly,
- isproject:'1'
- },
- cache : false,
- success:function(aj){
- data=JSON.parse(aj);
- if (data.success) {
- tip("手动核算完成");
- //刷新表格数据
- refresh();
- } else {
- layer.alert(data.msg);
- }
- }
- });
- }
-
- }, focus: true},
- {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
- ]}).zindex();
- }
-
- //核算
- function userPayroll(title,addurl,gname){
- var rows=$('#'+gname).datagrid("getChecked");
- var date = $(".Wdate").val();
-
- if(rows.length==0){
- layer.alert("请选择需要重新核算工资的员工!");
- //tip("请选择需要重新核算工资的员工!");
- return;
- }
- var result = "";
- for(var i=0;i<rows.length;i++){
- if(rows[i].status == '2'){
- layer.alert("员工【"+rows[i].realname+"】的工资已确认,不可再点击核算");
- //tip("员工【"+rows[i].realname+"】的工资已确认,不可再点击核算");
- return;
- }
- if(rows[i].duname == ''){
- layer.alert("员工【"+rows[i].realname+"】没有职务,请先设定职务");
- //tip("员工【"+rows[i].realname+"】的工资已确认,不可再点击核算");
- return;
- }
- result += rows[i].userid+",";
- }
-
- $.ajax({
- url:"<%=basePath%>/"+addurl,
- type:"post",
- data:{ids:result,status:true,moth:date},
- dataType:"json",
- success:function(data){
- layer.alert(data.msg, function(index){
- //reloadTable();
- layer.close(index);
- refresh();
- /* window.location.href="leaveController.do?list"
- layer.close(index); */
- });
- //layer.alert(data.msg);
- //tip(data.msg);
- }
- });
- }
-
- //保存数据
- function saveData(title,addurl,gname){
- if(!endEdit(gname))
- return false;
- var rows=$('#'+gname).datagrid("getChanges","inserted");
- var uprows=$('#'+gname).datagrid("getChanges","updated");
- rows=rows.concat(uprows);
- if(rows.length<=0){
- layer.alert("没有需要保存的数据!");
- //tip("没有需要保存的数据!");
- return false;
- }
- var result={};
- for(var i=0;i<rows.length;i++){
- for(var d in rows[i]){
- result["userWageList["+i+"]."+d]=rows[i][d];
- }
- }
- $.ajax({
- url:"<%=basePath%>/"+addurl,
- type:"post",
- data:result,
- dataType:"json",
- success:function(data){
- layer.alert(data.msg);
- reloadTable();
- }
- })
- }
- //结束编辑
- function endEdit(gname){
- var editIndex = $('#'+gname).datagrid('getRows').length-1;
- for(var i=0;i<=editIndex;i++){
- if($('#'+gname).datagrid('validateRow', i))
- $('#'+gname).datagrid('endEdit', i);
- else
- return false;
- }
- return true;
- }
- //编辑行
- function editRow(title,addurl,gname){
- var rows=$('#'+gname).datagrid("getChecked");
- if(rows.length==0){
- layer.alert("请选择条目");
- //tip("请选择条目");
- return false;
- }
- var result = "";
- var rowdatas={};
- for(var i=0;i<rows.length;i++){
- if(rows[i].status == '2'){
- layer.alert("员工【"+rows[i].realname+"】的工资已确认,不可编辑");
- //tip("员工【"+rows[i].realname+"】的工资已确认,不可上报");
- result = "";
- return;
- }
- if(rows[i].id.indexOf("temp") > -1){
- layer.alert("员工【"+rows[i].realname+"】的工资没有核算,不可编辑");
- return;
- //tip("员工【"+rows[i].realname+"】的工资没有核算,不可上报");
- }
- result += rows[i].id+",";
- for(var d in rows[i]){
- rowdatas["userWageList["+i+"]."+d]=rows[i][d];
- }
- }
-
- /* if(rows.id.indexOf("temp") < 0){
- layer.alert("员工【"+rows.realname+"】的工资没有核算,不可编辑");
- //tip("员工【"+rows.realname+"】的工资没有核算,不可编辑");
- return;
- }
-
- if(rows.status == '2'){
- layer.alert("员工【"+rows.realname+"】的工资已确认,不可编辑");
- //tip("员工【"+rows.realname+"】的工资已确认,不可编辑");
- return;
- } */
- //***** 一线员工,未排班,不能编辑,后台判断,给提示 ****
- $.ajax({
- url:"userWageController.do?checkRowEdit",
- type:"post",
- data:rowdatas,
- dataType:"json",
- success:function(data){
- if(!data.success){
- layer.alert(data.msg);
- return false;
- }else{
- for(var i=0;i<rows.length;i++){
- var index= $('#'+gname).datagrid('getRowIndex', rows[i]);
- $('#'+gname).datagrid('beginEdit', index);
- }
- }
- }
- })
- //****** end *****
- }
- //update-begin--Author:张忠亮 Date:20150709 for:修正 取消编辑后再次点击录入不进入编辑状态
- //取消编辑
- function reject(title,addurl,gname){
- $('#'+gname).datagrid('clearChecked');
- $('#'+gname).datagrid('rejectChanges');
- }
-
- //导入
- function ImportXls() {
- openuploadwin('Excel导入', 'userWageController.do?upload', "userWageList");
- }
- //导出
- function ExportXls() {
- /* var orgIds = $("#orgIds").val();
- if(orgIds ==null||orgIds ==''){
- layer.alert('请选择项目名称');
- return false;
- }
- var monthlys = $("#monthlys").val();
- if(monthlys ==null||monthlys ==''){
- layer.alert('请选择工资月度');
- return false;
- } */
- JeecgExcelExport("userWageController.do?exportXls","userWageList");
- }
- //导出
- function exportWagePaperXls() {
- /* var orgIds = $("#orgIds").val();
- if(orgIds ==null||orgIds ==''){
- layer.alert('请选择项目名称');
- return false;
- }
- var monthlys = $("#monthlys").val();
- if(monthlys ==null||monthlys ==''){
- layer.alert('请选择工资月度');
- return false;
- } */
- JeecgExcelExport("userWageController.do?exportWagePaperXls","userWageList");
- }
- //模板下载
- function ExportXlsByT() {
- JeecgExcelExport("userWageController.do?exportXlsByT","userWageList");
- }
- //新增
- function add(title,url,id){
- window.location.href=url
- }
- //修改
- function update(title,url, id){
- updateNotCreateWin("修改",url, "userWageList",false);
- }
- //查看
- function view(title,url, id){
- viewNotCreateWin("查看",url, "userWageList",false)
- }
- function goBaobiao(title,addurl,gname){
- var rows=$('#'+gname).datagrid("getChecked");
- console.log(rows);
- if(rows.length==0){
- layer.alert("请选择条目");
- //tip("请选择条目");
- return false;
- }
- if (rows.length>1) {
- layer.alert('请选择一条记录再查看');
- //tip('请选择一条记录再查看');
- return;
- }
-
- if(rows[0].id.indexOf("temp") > -1){
- layer.alert('该员工的工资没有进行核算,不可查看');
- //tip('该员工的工资没有进行核算,不可查看');
- return;
- }
-
- addurl=addurl+"&id="+rows[0].id;
- createdetailwindow(title,addurl);
- }
-
- //选择项目名称,列表================
- function openDepartmentSelect() {
- //$.dialog.setting.zIndex = getzIndex();
- var orgIds = $("#belongUnitid").val();
- $.dialog({
- content: 'url:dialogDealController.do?projectDepartTablePart&ids='+orgIds, zIndex: getzIndex(), title: '项目名称列表', lock: true, width: '600px', height: '400px', 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"){
- $("#orgIds").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 callbackClean(){
- $('#departname').val('');
- $('#orgIds').val('');
- }
-
- //刷新表格数据
- function refresh(){
- $("#userWageList").datagrid('reload');
- }
-
-
- function userWageListsearch() {
- try {
- if (!$("#userWageListForm").Validform({
- tiptype : 3
- }).check()) {
- return false;
- }
- } catch (e) {
- }
- if (true) {
- var queryParams = $('#userWageList').datagrid('options').queryParams;
- $('#userWageListtb').find('*').each(function() {
- queryParams[$(this).attr('name')] = $(this).val();
- });
-
- if(queryParams.orgIds ==null||queryParams.orgIds ==''){
- layer.alert('请选择项目名称');
- return false;
- }
- if(queryParams.monthlys ==null||queryParams.monthlys ==''){
- layer.alert('请选择工资月度');
- return false;
- }
-
- $('#userWageList')
- .datagrid(
- {
- url : 'userWageController.do?datagrid2&field=id,userid,userids,username,realname,belongUnitName,pduname,duname,monthly,basicWage,dutiesAllowance,certificateSubsidy,trafficSubsidy,megathermalSubsidy,onlyChildCost,otherSubsidy,bonus,projectPerformance,mealsSubsidyDay,mealsSubsidyNight,mealsSubsidy,overtimepayTimeout,overtimepayFixed,duty,specialOvertime,sickLeaveDebit,thingLeaveDebit,absenceDebit,paymentSubsidy,socialSecurityDebit,providentFundDebit,daikouDebit,otherDebit,reissue,preTaxMone,taxMoney,actualMoney,status,remark,',
- pageNumber : 1
- });
- }
- }
-
- </script>
|