userInfo-base-add.jsp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <title>用户基本信息</title>
  7. <t:base type="jquery,easyui,tools"></t:base>
  8. <script>
  9. function btn_ok(){
  10. $("#btnsub").click();
  11. }
  12. //返回按钮
  13. function backHome(){
  14. window.location.href="personnelInfoUploadController.do?list";
  15. }
  16. function openDepartmentSelect() {
  17. // var windowapi;
  18. // try {
  19. // windowapi = frameElement.api, W = windowapi.opener;
  20. // } catch (e) {
  21. // }
  22. // var orgIds = $("#projectId").val();
  23. // if(typeof(windowapi) == 'undefined'){
  24. // $.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '所属部门列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  25. // {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
  26. // {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){close();}}
  27. // ]})
  28. // }else{
  29. // $.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '所属部门列表', lock: true,parent : windowapi, width: '400px', height: '350px', opacity: 0.4,button: [
  30. // {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
  31. // {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){close();}}
  32. // ]})
  33. // }
  34. var orgIds = $("#orgIds").val();
  35. $.dialog({
  36. content: 'url:dialogDealController.do?projectDepartTablePartChild&ids='+orgIds, zIndex: getzIndex(), title: '项目名称列表', lock: true, width: '600px', height: '400px', opacity: 0.4, button: [
  37. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
  38. var iframe = this.iframe.contentWindow;
  39. if(iframe.getReason().length>0){
  40. var strData=eval(iframe.getReason());
  41. for(var key in strData[0]){
  42. if(key=="strPId"){
  43. $("#orgIds").val(strData[0][key]);
  44. }else if(key=="strDepartName"){
  45. $("#departname").val(strData[0][key]);
  46. }
  47. }
  48. }
  49. }, focus: true},
  50. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){
  51. $('#departname').val('');
  52. $('#orgIds').val('');
  53. }}
  54. ]}).zindex();
  55. }
  56. function callbackDepartmentSelect() {
  57. // var iframe = this.iframe.contentWindow;
  58. // var treeObj = iframe.$.fn.zTree.getZTreeObj("departSelect");
  59. // var nodes = treeObj.getCheckedNodes(true);
  60. // if(nodes.length>0){
  61. // var ids='',names='';
  62. // for(i=0;i<nodes.length;i++){
  63. // var node = nodes[i];
  64. // ids += node.id+',';
  65. // names += node.name+',';
  66. // }
  67. // // 把最后的逗号去掉
  68. // names = names.substring(0,names.length - 1);
  69. // //判断兼容机构里有没有所属机构
  70. // $('#departname').val(names);
  71. // $('#departname').blur();
  72. // $('#orgIds').val(ids);
  73. // }
  74. }
  75. function callbackClean(){
  76. $('#departname').val('');
  77. $('#orgIds').val('');
  78. }
  79. $(function(){
  80. $("#departname").prev().hide();
  81. });
  82. //兼职机构 start
  83. function openDepartmentSelectjz() {
  84. /**
  85. $.dialog.setting.zIndex = getzIndex();
  86. var jzorgIds = $("#jzorgIds").val();
  87. $.dialog({content: 'url:departController.do?jzdepartSelect&jzorgIds='+jzorgIds, zIndex: 3100, title: '兼职机构列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  88. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelectjz, focus: true},
  89. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  90. ]}).zindex();
  91. */
  92. var windowapi;
  93. try {
  94. windowapi = frameElement.api, W = windowapi.opener;
  95. } catch (e) {
  96. }
  97. var jzorgIds = $("#jzorgIds").val();
  98. if(typeof(windowapi) == 'undefined'){
  99. $.dialog({content: 'url:departController.do?jzdepartSelect&jzorgIds='+jzorgIds, zIndex: getzIndex(), title: '兼职机构列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  100. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelectjz, focus: true},
  101. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){close();}}
  102. ]})
  103. }else{
  104. $.dialog({content: 'url:departController.do?jzdepartSelect&jzorgIds='+jzorgIds, zIndex: getzIndex(), title: '兼职机构列表', lock: true, parent : windowapi, width: '400px', height: '350px', opacity: 0.4,button: [
  105. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelectjz, focus: true},
  106. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){close();}}
  107. ]})
  108. }
  109. }
  110. function callbackDepartmentSelectjz() {
  111. var iframe = this.iframe.contentWindow;
  112. var treeObj = iframe.$.fn.zTree.getZTreeObj("jzdepartSelect");
  113. var nodes = treeObj.getCheckedNodes(true);
  114. if(nodes.length>0){
  115. var ids='',names='';
  116. for(i=0;i<nodes.length;i++){
  117. var node = nodes[i];
  118. ids += node.id+',';
  119. names += node.name+',';
  120. }
  121. // 把最后的逗号去掉
  122. names = names.substring(0,names.length - 1);
  123. //判断兼容机构里有没有所属机构
  124. if(ids.length>0 && $('#orgIds').val().length>0){
  125. if(ids.indexOf( $('#orgIds').val() )>=0){
  126. //console.info("ids:"+ids);
  127. //console.info("orgIds:"+$('#orgIds').val());
  128. $.messager.alert("错误","所属部门和兼容机构不能有重叠!");
  129. }else{
  130. $('#jzdepartname').val(names);
  131. $('#jzdepartname').blur();
  132. $('#jzorgIds').val(ids);
  133. }
  134. }else{
  135. $('#jzdepartname').val(names);
  136. $('#jzdepartname').blur();
  137. $('#jzorgIds').val(ids);
  138. }
  139. }
  140. }
  141. function callbackCleanjz(){
  142. $('#jzdepartname').val('');
  143. $('#jzorgIds').val('');
  144. }
  145. //兼职机构 end
  146. function contains(arr, obj) {
  147. var i = arr.length;
  148. while (i--) {
  149. if (arr[i] === obj) {
  150. return true;
  151. }
  152. }
  153. return false;
  154. }
  155. function formcallback(data){
  156. if(data.success) {
  157. layer.confirm('保存成功!请继续完善 <b>【人事信息】 </b>和 <b>【员工工资策略】</b>,否则无法进行排班', {
  158. btn: ['知道了'] //按钮
  159. }, function(){
  160. window.location.href="personnelInfoUploadController.do?list";
  161. });
  162. } else {
  163. layer.alert(data.msg);
  164. }
  165. }
  166. </script>
  167. </head>
  168. <body style="overflow-y: hidden;" scroll="no" >
  169. <t:formvalid formid="formobj" dialog="false" usePlugin="password" layout="table" action="personnelInfoUploadController.do?saveUser" tiptype="1" callback="formcallback">
  170. <input id="id" name="id" type="hidden" value="${userInfo.id }">
  171. <table style="width: 600px; " cellpadding="0" cellspacing="1" class="formtable">
  172. <%-- <tr>
  173. <td align="right" width="25%" nowrap>
  174. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>员工登录类型: </label>
  175. </td>
  176. <td class="value" width="85%">
  177. <t:dictSelect field="userType" id="userType" type="list" typeGroupCode="userType" defaultVal="${userInfo.userType}" hasLabel="false" datatype="*" title="员工登录类型"></t:dictSelect>
  178. <span class="Validform_checktip"></span>
  179. <label class="Validform_label" style="display: none;">员工登录类型</label>
  180. </td>
  181. </tr>--%>
  182. <tr>
  183. <td align="right" width="25%" nowrap>
  184. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>员工工号: </label>
  185. </td>
  186. <td class="value" width="85%">
  187. <c:if test="${userInfo.id!=null }"> ${userInfo.userNum } </c:if>
  188. <c:if test="${userInfo.id==null }">
  189. <input id="userNum" class="inputxt" name="userNum" value="${userInfo.userNum }" datatype="s2-10" />
  190. <span class="Validform_checktip"> 员工工号范围在2~10位字符</span>
  191. </c:if>
  192. </td>
  193. </tr>
  194. <tr>
  195. <td align="right" width="10%" nowrap>
  196. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>员工姓名: </label>
  197. </td>
  198. <td class="value" width="60%">
  199. <input id="realName" class="inputxt" name="realName" value="${userInfo.realName }" datatype="s2-10">
  200. <span class="Validform_checktip"><t:mutiLang langKey="fill.realname"/></span>
  201. </td>
  202. </tr>
  203. <%-- <c:if test="${userInfo.id==null }">
  204. <tr>
  205. <td align="right"><label class="Validform_label"><span color="red" class="requiredIcon">*</span><t:mutiLang langKey="common.password"/>: </label></td>
  206. <td class="value">
  207. <input type="password" class="inputxt" value="" name="password" plugin="passwordStrength" datatype="*6-18" errormsg="" />
  208. <span class="passwordStrength" style="display: none;">
  209. <span><t:mutiLang langKey="common.weak"/></span>
  210. <span><t:mutiLang langKey="common.middle"/></span>
  211. <span class="last"><t:mutiLang langKey="common.strong"/></span>
  212. </span>
  213. <span class="Validform_checktip"> <t:mutiLang langKey="password.rang6to18"/></span>
  214. </td>
  215. </tr>
  216. <tr>
  217. <td align="right"><label class="Validform_label"><span color="red" class="requiredIcon">*</span><t:mutiLang langKey="common.repeat.password"/>: </label></td>
  218. <td class="value">
  219. <input id="repassword" class="inputxt" type="password" value="${userInfo.password}" recheck="password" datatype="*6-18" errormsg="两次输入的密码不一致!">
  220. <span class="Validform_checktip"><t:mutiLang langKey="common.repeat.password"/></span>
  221. </td>
  222. </tr>
  223. </c:if> --%>
  224. <tr>
  225. <td align="right">
  226. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>性别</label>
  227. </td>
  228. <td class="value">
  229. <t:dictSelect field="gender" id="gender" type="list" typeGroupCode="sex" defaultVal="${userInfo.gender}" hasLabel="false" datatype="*" title="性别"></t:dictSelect>
  230. <span class="Validform_checktip"></span>
  231. <label class="Validform_label" style="display: none;">性别</label>
  232. </td>
  233. </tr>
  234. <tr>
  235. <td align="right">
  236. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>民族</label>
  237. </td>
  238. <td class="value">
  239. <t:dictSelect field="nation" id="nation" type="list" typeGroupCode="nation" defaultVal="hanzu" hasLabel="false" datatype="*" title="民族"></t:dictSelect>
  240. <span class="Validform_checktip"></span>
  241. <label class="Validform_label" style="display: none;">民族</label>
  242. </td>
  243. </tr>
  244. <!-- 所属部门 start -->
  245. <tr>
  246. <td align="right">
  247. <label class="Validform_label"><span color="red" class="requiredIcon">*</span><t:mutiLang langKey="common.department"/>: </label>
  248. </td>
  249. <td class="value">
  250. <input id="departname" name="departname" type="text" readonly="readonly" class="inputxt" datatype="*" value="${departname}">
  251. <input id="orgIds" name="orgIds" type="hidden" value="${orgIds}">
  252. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openDepartmentSelect()">选择</a>
  253. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackClean()">清空</a>
  254. <span class="Validform_checktip">所属部门只能单选</span>
  255. </td>
  256. </tr>
  257. <!-- 所属部门 end -->
  258. <!-- 兼职机构 start
  259. <tr>
  260. <td align="right">
  261. <label class="Validform_label"> <t:mutiLang langKey="common.jianzhidepartment"/>: </label>
  262. </td>
  263. <td class="value">
  264. <input id="jzdepartname" name="jzdepartname" type="text" readonly="readonly" class="inputxt" value="${jzdepartname}">
  265. <input id="jzorgIds" name="jzorgIds" type="hidden" value="${jzorgIds}">
  266. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="jzdepartSearch" onclick="openDepartmentSelectjz()">选择</a>
  267. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="jzdepartRedo" onclick="callbackCleanjz()">清空</a>
  268. <span class="Validform_checktip">兼职机构可多选</span>
  269. </td>
  270. </tr>
  271. 兼职机构 end -->
  272. <%-- <tr>
  273. <td align="right">
  274. <label class="Validform_label"><span color="red" class="requiredIcon">*</span><t:mutiLang langKey="common.role"/>: </label>
  275. </td>
  276. <td class="value" nowrap>
  277. <input id="roleid" name="roleid" type="hidden" value="${id}"/>
  278. <input name="roleName" id="roleName" class="inputxt" value="${roleName }" readonly="readonly" datatype="*" />
  279. <t:choose hiddenName="roleid" hiddenid="id" textname="roleName" url="userController.do?roles" name="roleList" icon="icon-search" title="common.role.list" isclear="true" isInit="true"></t:choose>
  280. <span class="Validform_checktip"><t:mutiLang langKey="role.muti.select"/></span>
  281. </td>
  282. </tr> --%>
  283. <tr>
  284. <td align="right" nowrap>
  285. <label class="Validform_label"><span color="red" class="requiredIcon">*</span><t:mutiLang langKey="common.phone"/>: </label>
  286. </td>
  287. <td class="value">
  288. <input class="inputxt" name="mobilePhone" value="${userInfo.mobilePhone}" datatype="m" errormsg="手机号码不正确"<%-- userInfoValidType="t_s_user,mobilePhone,id"--%>>
  289. <span class="Validform_checktip"></span>
  290. </td>
  291. </tr>
  292. <%-- <tr>
  293. <td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.tel"/>: </label></td>
  294. <td class="value">
  295. <input class="inputxt" name="officePhone" value="${userInfo.officePhone}" datatype="n" errormsg="办公电话不正确" ignore="ignore">
  296. <span class="Validform_checktip"></span>
  297. </td>
  298. </tr>
  299. <tr>
  300. <td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.common.mail"/>: </label></td>
  301. <td class="value">
  302. <input class="inputxt" name="email" value="${userInfo.email}" datatype="e" errormsg="邮箱格式不正确!" ignore="ignore">
  303. <span class="Validform_checktip"></span>
  304. </td>
  305. </tr>--%>
  306. <tr>
  307. <td align="right">
  308. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>身份证号</label>
  309. </td>
  310. <td class="value">
  311. <input id="idcard" name="idcard" type="text" style="width: 149px" value='${userInfo.idcard}' placeholder="" datatype="idcard" errormsg="请填写正确的身份证号码!"/>
  312. <span class="Validform_checktip"></span>
  313. <label class="Validform_label" style="display: none;">身份证号</label>
  314. </td>
  315. </tr>
  316. <tr>
  317. <td align="right">
  318. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>学历</label>
  319. </td>
  320. <td class="value">
  321. <%-- <input id="education" name="address" type="text" style="width: 200px" value='${userInfo.education}' placeholder="" datatype="*0-100" ignore="ignore" errormsg="居住地址最多填写100文字!"/> --%>
  322. <!-- <select id="education" name="education" style="width: 150px"> -->
  323. <!-- <option value="3">高中</option> -->
  324. <!-- <option value="2">初中</option> -->
  325. <!-- <option value="1">小学</option> -->
  326. <!-- <option value="4">大专</option> -->
  327. <!-- <option value="5">本科</option> -->
  328. <!-- <option value="6">硕士</option> -->
  329. <!-- <option value="7">博士</option> -->
  330. <!-- <option value="0">无学历</option> -->
  331. <!-- </select> -->
  332. <t:dictSelect field="education" id="education" type="list" typeGroupCode="education" hasLabel="false" datatype="*" title="学历"></t:dictSelect>
  333. <span class="Validform_checktip"></span>
  334. <label class="Validform_label" style="display: none;">学历</label>
  335. </td>
  336. </tr>
  337. <tr>
  338. <td align="right">
  339. <label class="Validform_label"><span color="red" class="requiredIcon">*</span>户口属性</label>
  340. </td>
  341. <td class="value">
  342. <%-- <input id="hktype" name="hktype" type="text" style="width: 200px" value='${userInfo.hkaddress}' placeholder="" datatype="*0-100" ignore="ignore" errormsg="户口地址最多填写100文字!"/> --%>
  343. <!-- <select id="hktype" name="hktype" style="width: 150px"> -->
  344. <!-- <option value="3">城镇</option> -->
  345. <!-- <option value="2">农业</option> -->
  346. <!-- <option value="1">非农</option> -->
  347. <!-- </select> -->
  348. <t:dictSelect field="hktype" id="hktype" type="list" typeGroupCode="hktype" hasLabel="false" datatype="*" title="户口属性"></t:dictSelect>
  349. <span class="Validform_checktip"></span>
  350. <label class="Validform_label" style="display: none;">户口属性</label>
  351. </td>
  352. </tr>
  353. <tr>
  354. <td align="right">
  355. <label class="Validform_label">居住地址</label>
  356. </td>
  357. <td class="value">
  358. <input id="address" name="address" type="text" style="width: 440px" value='${userInfo.address}' placeholder="" datatype="*0-100" ignore="ignore" errormsg="居住地址最多填写100文字!"/>
  359. <span class="Validform_checktip"></span>
  360. <label class="Validform_label" style="display: none;">居住地址</label>
  361. </td>
  362. </tr>
  363. </tr>
  364. <tr>
  365. <td align="right">
  366. <label class="Validform_label">户口地址</label>
  367. </td>
  368. <td class="value">
  369. <input id="hkaddress" name="hkaddress" type="text" style="width: 440px" value='${userInfo.hkaddress}' placeholder="" datatype="*0-100" ignore="ignore" errormsg="户口地址最多填写100文字!"/>
  370. <span class="Validform_checktip"></span>
  371. <label class="Validform_label" style="display: none;">户口地址</label>
  372. </td>
  373. </tr>
  374. <tr style="display: none">
  375. <td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.common.dev"/>: </label></td>
  376. <td class="value">
  377. <c:if test="${userInfo.devFlag == null || userInfo.devFlag == ''}" >
  378. <t:dictSelect id="devFlag" field="devFlag" typeGroupCode="dev_flag" hasLabel="false" datatype="*" defaultVal="0" type="radio"></t:dictSelect>
  379. </c:if>
  380. <c:if test="${userInfo.devFlag != null && userInfo.devFlag != ''}" >
  381. <t:dictSelect id="devFlag" field="devFlag" typeGroupCode="dev_flag" hasLabel="false" datatype="*" defaultVal="${userInfo.devFlag}" type="radio"></t:dictSelect>
  382. </c:if>
  383. <span class="Validform_checktip"></span>
  384. </td>
  385. </tr>
  386. <tr style="display: none">
  387. <td align="right">
  388. <label class="Validform_label">
  389. 工作流引擎:
  390. </label>
  391. </td>
  392. <td class="value">
  393. <c:if test="${userInfo.activitiSync == null || userInfo.activitiSync == ''}" >
  394. <input name="activitiSync" type="radio" datatype="min" min="1" value="1" checked="checked">
  395. 同步
  396. <input name="activitiSync" type="radio" value="0">
  397. 不同步
  398. <span class="Validform_checktip">是否同步工作流引擎</span>
  399. </c:if>
  400. <c:if test="${userInfo.activitiSync != null && userInfo.activitiSync != ''}" >
  401. <input name="activitiSync" type="radio" datatype="min" min="1" <c:if test="${userInfo.activitiSync eq 1}">checked="true"</c:if> value="1">
  402. 同步
  403. <input name="activitiSync" type="radio" <c:if test="${userInfo.activitiSync eq 0}">checked="true"</c:if> value="0">
  404. 不同步
  405. <span class="Validform_checktip">是否同步工作流引擎</span>
  406. </c:if>
  407. </td>
  408. </tr>
  409. <tr>
  410. <td height="50px" align="center" colspan="2">
  411. <!-- <a style="margin-left:80px" href="#" class="easyui-linkbutton l-btn" plain="true" iconcls="icon-le-back" onclick="backHome()">返回</a>
  412. <div style="display:none"><input type="submit" id ="btnsub" value=""/></div>
  413. <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-le-ok" onclick="btn_ok()">提交</a> -->
  414. <div style="display:none"><input type="submit" id ="btnsub" value=""/></div>
  415. <a href="#" class="easyui-linkbutton l-btn l-btn-plain" iconcls="icon-save" onclick="btn_ok()">确定</a>
  416. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-return" onclick="backHome()">取消</a>
  417. </td>
  418. </tr>
  419. </table>
  420. </t:formvalid>
  421. </body>