personnelInfoUploadList.jsp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <t:base type="jquery,easyui,tools,DatePicker"></t:base>
  4. <link rel="stylesheet" type="text/css" href="css/commoncss.css"/>
  5. <!-- 员工基本档案管理 -->
  6. <div class="easyui-layout" fit="true">
  7. <div region="center" style="padding:0px;border:0px">
  8. <t:datagrid name="neiqin_personnalInfoUploadList" pageSize="100" autoLoadData="false" checkbox="false" pagination="true" fitColumns="true" title="员工基本档案管理" actionUrl="personnelInfoUploadController.do?program_datagrid" idField="id" fit="true" queryMode="group">
  9. <t:dgCol title="主键" field="id" hidden="true" queryMode="single" width="120" sortable="false"></t:dgCol>
  10. <t:dgCol title="员工工号" field="userId" queryMode="single" query="false" width="50" sortable="false"></t:dgCol>
  11. <t:dgCol title="员工姓名" field="userName" queryMode="single" query="false" width="50" sortable="false"></t:dgCol>
  12. <t:dgCol title="手机号" field="telphone" queryMode="single" query="false" width="90" sortable="false"></t:dgCol>
  13. <t:dgCol title="身份证号" field="idcard" queryMode="single" query="false" width="100" sortable="false"></t:dgCol>
  14. <t:dgCol title="在职状态" field="positionStatus" hidden="true" queryMode="single" query="false" dictionary="jobStatus" width="60" sortable="false"></t:dgCol>
  15. <%--<t:dgCol title="common.status" sortable="false" field="status" width="50" replace="common.active_1,common.inactive_0,super.admin_-1" ></t:dgCol>--%>
  16. <t:dgCol title="所属部门" field="orgId" queryMode="single" query="false" width="200" sortable="false"></t:dgCol>
  17. <%--<t:dgCol title="兼职机构" field="jzorgId" queryMode="single" query="false" width="100" sortable="false"></t:dgCol>--%>
  18. <t:dgCol title="职务" field="dutiesId" queryMode="single" query="false" dictionary="t_bus_duties,id,duties_name, and delete_flag != '1' and status != '1' " width="100" sortable="false"></t:dgCol>
  19. <t:dgCol title="岗位" field="inPostid" queryMode="single" query="false" dictionary="t_bus_post,id,post_name, and delete_flag = '0' and status = '0'" width="100" sortable="false"></t:dgCol>
  20. <t:dgCol title="所持证书" field="certificateName" queryMode="single" query="false" width="120" sortable="false"></t:dgCol>
  21. <t:dgCol title="是否已同步至考勤机" sortable="false" field="dingIsSynchronization" hidden="false" query="false" dictionary="shifou_01" extendParams="align:'center',"></t:dgCol>
  22. <t:dgCol title="操作" field="opt"></t:dgCol>
  23. <t:dgFunOpt urlclass="ace_button" urlfont="fa-list-ol" urlStyle="background-color:#32CD32;" funname="initClothing(id,inPostid,userName)" title=" 服装登记" />
  24. <!-- #4589f1 -->
  25. <%-- <t:dgToolBar title="录入" icon="icon-add" operationCode="add" url="personnelBaseArchivesManageController.do?goAdd" funname="add"></t:dgToolBar> --%>
  26. <%-- <t:dgToolBar title="新建员工" icon="icon-add" operationCode="add" url="personnelBaseArchivesManageController.do?addorupdate" funname="add"></t:dgToolBar> --%>
  27. <%-- <t:dgToolBar title="完善员工信息" icon="icon-edit" operationCode="edit" url="personnelBaseArchivesManageController.do?goUpdateTab" funname="update"></t:dgToolBar> --%>
  28. <t:dgToolBar title="新建员工" icon="icon-add" operationCode="add" url="personnelInfoUploadController.do?goAddBase" funname="add"></t:dgToolBar>
  29. <%--<t:dgToolBar title="修改基础信息" icon="icon-edit" operationCode="edit" url="personnelInfoUploadController.do?goUpdateBase" funname="update"></t:dgToolBar>
  30. <t:dgToolBar title="修改合同信息" icon="icon-edit" operationCode="edit" url="personnelInfoUploadController.do?goUpdateHetong" funname="update"></t:dgToolBar>
  31. <t:dgToolBar title="上传员工照片" icon="icon-edit" operationCode="edit" url="personnelBaseArchivesManageController.do?goUpdatePhoto" funname="update"></t:dgToolBar>
  32. <t:dgToolBar title="上传其它附件" icon="icon-edit" operationCode="edit" url="accessoryController.do?list" funname="update"></t:dgToolBar> --%>
  33. <t:dgToolBar title="完善员工信息" icon="icon-edit" operationCode="edit" url="personnelInfoUploadController.do?goUpdateTab" funname="update"></t:dgToolBar>
  34. <%--<t:dgToolBar title="查看" icon="icon-search" url="personnelBaseArchivesManageController.do?goUpdate" funname="detail"></t:dgToolBar>
  35. <t:dgToolBar title="取消" icon="icon-redo" url="" funname="cancelData"></t:dgToolBar> --%>
  36. <t:dgToolBar title="导出" icon="icon-put" operationCode="put" funname="ExportXls"></t:dgToolBar>
  37. <t:dgToolBar title="同步考勤机" icon="icon-synchronization" url="personnelBaseArchivesManageController.do?synchronization" funname="synchronization"></t:dgToolBar>
  38. <%-- <t:dgToolBar title="证书批量上传" icon="icon-putout" operationCode="putout" funname="batchUploadFileCertificate"></t:dgToolBar>
  39. <t:dgToolBar title="附件追加批量上传" icon="icon-putout" operationCode="putout" funname="batchUploadFileAccessory"></t:dgToolBar> --%>
  40. </t:datagrid>
  41. </div>
  42. </div>
  43. <script>
  44. $(function() {
  45. var datagrid = $("#neiqin_personnalInfoUploadListtb");
  46. datagrid.prepend($("#pinjie1 div[name='pinjie2']").html());
  47. $("#pinjie1").html('');
  48. datagrid.children(".datagrid-toolbar").children("span:first").after($("#pinjiechaxun1 div[name='pinjiechaxun2']").html());
  49. $("#pinjiechaxun1").html('');
  50. $(".Wdate").attr("readonly","readonly");
  51. setTimeout(function(){neiqin_personnalInfoUploadListsearch();},10);
  52. });
  53. //逻辑删除
  54. function logicDel(){
  55. var id ="";
  56. var rows = $("#neiqin_personnalInfoUploadList").datagrid('getSelections');
  57. if (rows.length > 0) {
  58. $.messager.confirm("确认", "确定要删除这条数据?", function (r) {
  59. if (r) {
  60. for ( var i = 0; i < rows.length; i++) {
  61. id=rows[i].id;
  62. }
  63. $.ajax({
  64. url : "personnelBaseArchivesManageController.do?logicDel",
  65. type : 'post',
  66. data : {
  67. id : id
  68. },
  69. cache : false,
  70. success : function(data) {
  71. var d = data; // ------ $.parseJSON(data);
  72. if (d.success) {
  73. var msg = d.msg;
  74. tip(msg);
  75. $("#neiqin_personnalInfoUploadList").datagrid('reload');
  76. clearData();
  77. id='';
  78. } else {
  79. layer.alert(d.msg);
  80. }
  81. }
  82. });
  83. }
  84. });
  85. } else {
  86. layer.alert("请选择需要删除的数据");
  87. }
  88. }
  89. function lockObj(title,url, id) {
  90. gridname=id;
  91. var rowsData = $('#'+id).datagrid('getSelections');
  92. if (!rowsData || rowsData.length==0) {
  93. layer.alert("请选择需要锁定的员工");
  94. return;
  95. }
  96. url += '&id='+rowsData[0].id;
  97. $.messager.confirm("确认","确定锁定此员工吗?", function(){
  98. lockuploadify(url, '&id');
  99. }, function(){
  100. });
  101. }
  102. function unlockObj(title,url, id) {
  103. gridname=id;
  104. var rowsData = $('#'+id).datagrid('getSelections');
  105. if (!rowsData || rowsData.length==0) {
  106. layer.alert("请选择需要激活的员工");
  107. return;
  108. }
  109. url += '&id='+rowsData[0].id;
  110. $.messager.confirm("确认","确定激活此员工吗?", function(){
  111. lockuploadify(url, '&id');
  112. }, function(){
  113. });
  114. }
  115. function lockuploadify(url, id) {
  116. $.ajax({
  117. async : false,
  118. cache : false,
  119. type : 'POST',
  120. url : url,// 请求的action路径
  121. error : function() {// 请求失败处理函数
  122. },
  123. success : function(data) {
  124. var d = data; // ------ $.parseJSON(data);
  125. if (d.success) {
  126. var msg = d.msg;
  127. tip(msg);
  128. reloadTable();
  129. } else {
  130. layer.alert(d.msg)
  131. }
  132. }
  133. });
  134. }
  135. // 钉钉同步
  136. function synchronization() {
  137. var url = "personnelBaseArchivesManageController.do?synchronization";
  138. var rowsData = $('#neiqin_personnalInfoUploadList').datagrid('getSelections');
  139. if (!rowsData || rowsData.length==0) {
  140. layer.alert("请选择需要同步的员工");
  141. return;
  142. }
  143. url += '&id='+rowsData[0].id;
  144. $.ajax({
  145. async : false,
  146. cache : false,
  147. type : 'POST',
  148. url : url,// 请求的action路径
  149. error : function() {// 请求失败处理函数
  150. },
  151. success : function(data) {
  152. var d = data; // ------ $.parseJSON(data);
  153. if (d.success) {
  154. var msg = d.msg;
  155. tip(msg);
  156. reloadTable();
  157. } else {
  158. layer.alert(d.msg)
  159. }
  160. }
  161. });
  162. }
  163. </script>
  164. <div id="pinjie1">
  165. <div name="pinjie2" style="padding:3px; height: auto" class="datagrid-toolbar">
  166. <table style="height:85px;padding:0px" cellpadding="0" cellspacing="1" >
  167. <tbody>
  168. <tr>
  169. <td align="right">
  170. <label class="Validform_label">
  171. 员工工号:
  172. </label>
  173. </td>
  174. <td class="value">
  175. <input id="userId" name="userId" type="text" value="${queryParams.userId}" style="width: 157px;" class="inputxt" >
  176. </td>
  177. <td align="right" style="width: 74px;">
  178. <label class="Validform_label">
  179. 员工姓名:
  180. </label>
  181. </td>
  182. <td class="value">
  183. <input id="userName" name="userName" type="text" style="width: 157px; " class="inputxt" placeholder="" value="${queryParams.userName}">
  184. </td>
  185. <!-- <td align="right" style="width: 74px;">
  186. <label class="Validform_label">
  187. 所属部门:
  188. </label>
  189. </td>
  190. <td class="value">
  191. <input readonly="true" type="text" id="departname" name="departname" value="${queryParams.departname}" style="width: 157px" placeholder="" onclick="openDepartmentSelect()">
  192. <input id="orgIds" name="orgIds" type="hidden" value="${queryParams.orgIds}">
  193. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openDepartmentSelect()">选择</a>
  194. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackClean()">清空</a>
  195. </td>-->
  196. <td align="right" style="width: 74px;">
  197. <label class="Validform_label">
  198. 手机号:
  199. </label>
  200. </td>
  201. <td class="value">
  202. <input id="telphone" name="telphone" type="text" value="${queryParams.telphone}" style="width: 157px; " class="inputxt" placeholder="" onkeyup="this.value=this.value.replace(/[^0-9_]/g,'');" maxlength="11">
  203. </td>
  204. </tr>
  205. <tr>
  206. <td align="right">
  207. <label class="Validform_label">
  208. 身份证号:
  209. </label>
  210. </td>
  211. <td class="value">
  212. <input id="idcard" name="idcard" type="text" value="${queryParams.idcard}" style="width: 157px;" class="inputxt" placeholder="" onkeyup="this.value=this.value.replace(/[^Xx0-9_]/g,'');" maxlength="18">
  213. </td>
  214. <!-- <td align="right"> -->
  215. <!-- <label class="Validform_label"> -->
  216. <!-- 在职状态: -->
  217. <!-- </label> -->
  218. <!-- </td> -->
  219. <!-- <td class="value"> -->
  220. <%-- <t:dictSelect field="positionStatus" type="select" defaultVal="${queryParams.positionStatus}" typeGroupCode="jobStatus" hasLabel="false" title="在职状态" ></t:dictSelect> --%>
  221. <!-- </td> -->
  222. <!-- <td align="right">
  223. <label class="Validform_label">
  224. 所持证书:
  225. </label>
  226. </td>
  227. <td class="value">
  228. <t:dictSelect field="certificateId" defaultVal="${queryParams.certificateId}" dictTable="t_bus_certificate_subsidy" dictCondition="where delete_flag=0 and status=0" dictField="id" dictText="certificate_name" title="所持证书" ></t:dictSelect>
  229. </td>-->
  230. <td align="right">
  231. <!-- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="personnelBaseArchivesManageSearch" onclick="neiqin_personnalInfoUploadListsearch()">查询</a> -->
  232. </td>
  233. <td class="value">
  234. <!-- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-redo" id="personnelBaseArchivesManageRedo" onclick="searchReset('neiqin_personnalInfoUploadList')">重置</a> -->
  235. </td>
  236. </tr>
  237. </tbody>
  238. </table>
  239. </div>
  240. </div>
  241. <div id="pinjiechaxun1">
  242. <div name="pinjiechaxun2" style="padding:3px; height: auto" class="datagrid-toolbar">
  243. <div style="float: right;">
  244. <span>
  245. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="personnelBaseArchivesManageSearch" onclick="neiqin_personnalInfoUploadListsearch()">查询</a>
  246. </span>
  247. <span>
  248. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-reload " id="personnelBaseArchivesManageRedo" onclick="searchReset('neiqin_personnalInfoUploadList')">重置</a>
  249. </span>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <script src = "webpage/cn/com/lzt/personnelInfoUpload/neiqin_personnelInfoUploadList.js"></script>
  255. <script type="text/javascript">
  256. function addUser() {
  257. var url = "personnelInfoUploadController.do?goAddBase";
  258. add("新建员工", url, "personnalInfoUploadList","660","430");
  259. }
  260. /* function addUser() {
  261. // $.dialog.setting.zIndex = getzIndex();
  262. $.dialog({content: 'url:personnelBaseArchivesManageController.do?addorupdate', zIndex: 1000, title: '新建员工', lock: true, width: '660px', height: '530px', opacity: 0.4, button: [
  263. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){}, focus: true},
  264. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  265. ]}).zindex();
  266. } */
  267. //员工照片批量上传//证书批量上传//附件追加批量上传
  268. function batchUploadFile() {
  269. $.dialog.setting.zIndex = getzIndex();
  270. $.dialog({content: 'url:personnelBaseArchivesManageController.do?batchUploadFile', zIndex: getzIndex(), title: '员工附件批量上传', lock: true, width: '800px', height: '500px', opacity: 0.4, button: [
  271. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){}, focus: true},
  272. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  273. ]}).zindex();
  274. }
  275. //证书批量上传
  276. /* function batchUploadFileCertificate() {
  277. $.dialog.setting.zIndex = getzIndex();
  278. $.dialog({content: 'url:personnelBaseArchivesManageController.do?batchUploadFileCertificate', zIndex: getzIndex(), title: '证书批量上传', lock: true, width: '800px', height: '500px', opacity: 0.4, button: [
  279. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){}, focus: true},
  280. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  281. ]}).zindex();
  282. } */
  283. //附件追加批量上传
  284. /* function batchUploadFileAccessory() {
  285. $.dialog.setting.zIndex = getzIndex();
  286. $.dialog({content: 'url:personnelBaseArchivesManageController.do?batchUploadFileAccessory', zIndex: getzIndex(), title: '附件追加批量上传', lock: true, width: '800px', height: '500px', opacity: 0.4, button: [
  287. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){}, focus: true},
  288. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  289. ]}).zindex();
  290. } */
  291. function openDepartmentSelect() {
  292. $.dialog.setting.zIndex = getzIndex();
  293. var orgIds = $("#orgIds").val();
  294. /** 按照登录用户的组织查询所有子组织
  295. $.dialog({content: 'url:departController.do?departSelectByIds&orgIds='+orgIds, zIndex: 2100, title: '所属部门列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  296. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
  297. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  298. ]}).zindex();
  299. */
  300. // 查询所有组织结构
  301. $.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '所属部门列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  302. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
  303. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  304. ]}).zindex();
  305. }
  306. function callbackDepartmentSelect() {
  307. /** 按照登录用户的组织查询所有子组织
  308. var iframe = this.iframe.contentWindow;
  309. var treeObj = iframe.$.fn.zTree.getZTreeObj("departSelectByIds");
  310. var nodes = treeObj.getCheckedNodes(true);
  311. if(nodes.length>0){
  312. var ids='',names='';
  313. for(i=0;i<nodes.length;i++){
  314. var node = nodes[i];
  315. ids += node.id+',';
  316. names += node.name+',';
  317. }
  318. ids = ids.substring(0,ids.length - 1);
  319. names = names.substring(0,names.length - 1);
  320. $('#departname').val(names);
  321. $('#departname').blur();
  322. $('#orgIds').val(ids);
  323. }
  324. */
  325. // 查询所有组织结构
  326. var iframe = this.iframe.contentWindow;
  327. var treeObj = iframe.$.fn.zTree.getZTreeObj("departSelect");
  328. var nodes = treeObj.getCheckedNodes(true);
  329. if(nodes.length>0){
  330. var ids='',names='';
  331. for(i=0;i<nodes.length;i++){
  332. var node = nodes[i];
  333. ids += node.id+',';
  334. names += node.name+',';
  335. }
  336. // 把最后的逗号去掉
  337. names = names.substring(0,names.length - 1);
  338. $('#departname').val(names);
  339. $('#departname').blur();
  340. $('#orgIds').val(ids);
  341. }
  342. }
  343. function callbackClean(){
  344. $('#departname').val('');
  345. $('#orgIds').val('');
  346. }
  347. //编辑
  348. function update(title,url, id){
  349. var rowsData = $('#' + id).datagrid('getSelections');
  350. if (!rowsData || rowsData.length == 0) {
  351. layer.alert('请选择编辑项目');
  352. return;
  353. }
  354. if (rowsData.length > 1) {
  355. layer.alert('请选择一条记录再编辑');
  356. return;
  357. }
  358. url += '&id=' + rowsData[0].id;
  359. var queryParams = $('#neiqin_personnalInfoUploadList').datagrid('options').queryParams;
  360. $('#neiqin_personnalInfoUploadListtb').find('*').each(function() {
  361. queryParams[$(this).attr('name')] = $(this).val();
  362. });
  363. url +="&queryParams="+encodeURI(JSON.stringify(queryParams));
  364. window.location.href = url;
  365. // updateNotCreateWin("修改",url, "neiqin_personnalInfoUploadList",false);
  366. }
  367. //取消
  368. function cancelData(title,url,gname){
  369. $('#'+gname).datagrid('clearChecked');
  370. $('#'+gname).datagrid('rejectChanges');
  371. }
  372. //导入
  373. function ImportXls() {
  374. // openuploadwin('Excel导入', 'personnelBaseArchivesManageController.do?upload', "neiqin_personnalInfoUploadList");
  375. gridname="neiqin_personnalInfoUploadList";
  376. $.dialog({
  377. content: 'url: personnelBaseArchivesManageController.do?upload',
  378. zIndex: getzIndex(),
  379. title: '视窗',
  380. lock: true,
  381. width: '650',
  382. height: '400',
  383. opacity: 0.4,
  384. button: [
  385. {
  386. name: "开始上传",
  387. callback: function(){
  388. iframe = this.iframe.contentWindow;
  389. iframe.upload();
  390. return false;
  391. },
  392. focus: true
  393. },
  394. {
  395. name: "取消上传",
  396. callback: function(){
  397. iframe = this.iframe.contentWindow;
  398. iframe.cancel();
  399. }
  400. }
  401. ]
  402. });
  403. }
  404. //导出
  405. function ExportXls() {
  406. JeecgExcelExport("personnelInfoUploadController.do?exportXls4Perm","neiqin_personnalInfoUploadList");
  407. }
  408. //模板下载
  409. function ExportXlsByT() {
  410. window.location.href="export/template/员工基本档案导入模板.xls";
  411. // window.location.href="export/template/员工基本档案列表测试1.xls";
  412. }
  413. //新增
  414. function add(title,url,id){
  415. window.location.href=url
  416. }/*
  417. //修改
  418. function update(title,url, id){
  419. updateNotCreateWin("修改",url, "neiqin_personnalInfoUploadList",false);
  420. }
  421. //查看
  422. function view(title,url, id){
  423. viewNotCreateWin("查看",url, "neiqin_personnalInfoUploadList",false)
  424. } */
  425. function initClothing(id,inPostid,userName){
  426. var url = "clothingUserController.do?initList&userid="+id+"&postid="+inPostid;
  427. var width = 880;//window.top.document.body.offsetWidth-100;
  428. var height =window.top.document.body.offsetHeight-100;
  429. $.dialog({
  430. title:'员工服装使用情况登记:'+userName,
  431. content: 'url:'+url,
  432. zIndex: getzIndex(),
  433. lock: true, width: width, height: height,
  434. cache:false,
  435. });
  436. }
  437. </script>