duties-add.jsp 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  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,DatePicker"></t:base>
  8. <style type="text/css">
  9. .combo_self{height: 22px !important;width: 150px !important;}
  10. .layout-header .btn {
  11. margin:0;
  12. float: none !important;
  13. }
  14. .btn-default {
  15. height: 35px;
  16. line-height: 35px;
  17. font-size:14px;
  18. }
  19. .clearTd input{
  20. border-radius: 3px;
  21. display: inline-block;
  22. letter-spacing: 3px;
  23. line-height: 1;
  24. margin-left: 6px;
  25. overflow: visible;
  26. padding: 3px 10px 3px 12px;
  27. text-align: center;
  28. /* text-shadow: 0 1px 1px rgba(255, 255, 255, 1); */
  29. transition: box-shadow 0.2s linear 0s;
  30. cursor: pointer;
  31. }
  32. .clearBtn{
  33. background: #5187c9 none repeat scroll 0 0;
  34. border: 1px solid #437ABD;
  35. color: #fff;
  36. text-shadow: 0 -1px 1px #1c6a9e;
  37. height: 30px;
  38. }
  39. </style>
  40. <script type="text/javascript">
  41. $(function(){
  42. $(".combo").removeClass("combo").addClass("combo combo_self");
  43. $(".combo").each(function(){
  44. $(this).parent().css("line-height","0px");
  45. });
  46. });
  47. /**树形列表数据转换**/
  48. function convertTreeData(rows, textField) {
  49. for(var i = 0; i < rows.length; i++) {
  50. var row = rows[i];
  51. row.text = row[textField];
  52. if(row.children) {
  53. row.state = "open";
  54. convertTreeData(row.children, textField);
  55. }
  56. }
  57. }
  58. /**树形列表加入子元素**/
  59. function joinTreeChildren(arr1, arr2) {
  60. for(var i = 0; i < arr1.length; i++) {
  61. var row1 = arr1[i];
  62. for(var j = 0; j < arr2.length; j++) {
  63. if(row1.id == arr2[j].id) {
  64. var children = arr2[j].children;
  65. if(children) {
  66. row1.children = children;
  67. }
  68. }
  69. }
  70. }
  71. }
  72. //岗位选择
  73. function openPostSelect() {
  74. $.dialog.setting.zIndex = getzIndex();
  75. var orgIds = $("#post").val();
  76. $.dialog({content: 'url:projectPostDetailController.do?postSelectNoCheckBox&orgIds='+orgIds,
  77. zIndex:2100, title: '岗位列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  78. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackPostSelect, focus: true},
  79. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  80. ]}).zindex();
  81. }
  82. // 岗位回调
  83. function callbackPostSelect() {
  84. var iframe = this.iframe.contentWindow;
  85. var treeObj = iframe.$.fn.zTree.getZTreeObj("postSelect");
  86. console.log(treeObj);
  87. var nodes = treeObj.getCheckedNodes(true);
  88. // var nodes = treeObj.getSelectedNodes(true);
  89. // console.log(nodes);
  90. if(nodes.length>0){
  91. var ids='',names='';
  92. for(i=0;i<nodes.length;i++){
  93. var node = nodes[i];
  94. ids += node.id+',';
  95. names += node.name+',';
  96. }
  97. ids = ids.substring(0,ids.length - 1);
  98. names = names.substring(0,names.length - 1);
  99. $("#postName").val(names);
  100. $("#postName").blur();
  101. $("#post").val(ids);
  102. }
  103. }
  104. function postClean(){
  105. $("#postName").val('');
  106. $("#post").val('');
  107. }
  108. </script>
  109. <script type="text/javascript">
  110. //编写自定义JS代码
  111. </script>
  112. </head>
  113. <body>
  114. <t:formvalid formid="formobj" dialog="true" beforeSubmit="checkPostName" usePlugin="password" layout="table" action="dutiesController.do?doAdd" >
  115. <input id="id" name="id" type="hidden" value="${dutiesPage.id }"/>
  116. <table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
  117. <!-- <tr>
  118. <td align="right">
  119. <label class="Validform_label">
  120. 职务编码:
  121. </label>
  122. </td>
  123. <td class="value">
  124. <input id="dutiesCode" name="dutiesCode" type="text" style="width: 150px" class="inputxt" datatype="*" ignore="checked" />
  125. <span class="Validform_checktip"></span>
  126. <label class="Validform_label" style="display: none;">职务编码</label>
  127. </td>
  128. </tr> -->
  129. <tr>
  130. <td align="right">
  131. <label class="Validform_label">
  132. <span color="red" class="requiredIcon">*</span>职务名称:
  133. </label>
  134. </td>
  135. <td class="value">
  136. <input id="dutiesName" name="dutiesName" type="text" style="width: 150px" class="inputxt" datatype="s1-18" ignore="checked" />
  137. <span class="Validform_checktip" id="vdutiesName"></span>
  138. <label class="Validform_label" style="display: none;">职务名称</label>
  139. </td>
  140. </tr>
  141. <tr>
  142. <td align="right">
  143. <label class="Validform_label">
  144. <span color="red" class="requiredIcon">*</span>所属岗位:
  145. </label>
  146. </td>
  147. <td class="value">
  148. <input id="post" name="post" type="hidden" />
  149. <input id="postName" name="postName" type="text" style="width: 300px" ignore="ignore" onclick="openPostSelect()" placeholder="请输入所属岗位"/>
  150. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="postSearch" onclick="openPostSelect()">选择</a>
  151. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="postRedo" onclick="postClean()">清空</a>
  152. <span class="Validform_checktip"></span>
  153. <label class="Validform_label" style="display: none;">所属岗位</label>
  154. </td>
  155. </tr>
  156. <tr>
  157. <td align="right">
  158. <label class="Validform_label">
  159. <span color="red" class="requiredIcon">*</span>管理类型:
  160. </label>
  161. </td>
  162. <td class="value">
  163. <t:dictSelect field="manageType" id="manageType" type="list" typeGroupCode="manageType" datatype="*" defaultVal="2" hasLabel="false" title="管理类型"></t:dictSelect>
  164. <span class="Validform_checktip"></span>
  165. <label class="Validform_label" style="display: none;">管理类型</label>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td align="right">
  170. <label class="Validform_label">
  171. 上级职务:
  172. </label>
  173. </td>
  174. <td class="value">
  175. <input id="parentDutiesid" name="parentDutiesid" type="text" style="width: 150px" class="inputxt easyui-combotree" ignore="ignore"
  176. data-options="panelHeight:'220',
  177. url: 'dutiesController.do?datagrid&field=id,dutiesName',
  178. loadFilter: function(data) {
  179. var rows = data.rows || data;
  180. var win = frameElement.api.opener;
  181. var listRows = win.getDataGrid().treegrid('getData');
  182. joinTreeChildren(rows, listRows);
  183. convertTreeData(rows, 'dutiesName');
  184. return rows;
  185. },
  186. onSelect:function(node){
  187. $('#parentDutiesid').val(node.id);
  188. },
  189. onLoadSuccess: function() {
  190. var win = frameElement.api.opener;
  191. var currRow = win.getDataGrid().treegrid('getSelected');
  192. if(!'${dutiesPage.id}') {
  193. //增加时,选择当前父菜单
  194. if(currRow) {
  195. $('#parentDutiesid').combotree('setValue', currRow.id);
  196. }
  197. }else {
  198. //编辑时,选择当前父菜单
  199. if(currRow) {
  200. $('#parentDutiesid').combotree('setValue', currRow.parentDutiesid);
  201. }
  202. }
  203. }"/>
  204. <span class="Validform_checktip"></span>
  205. <label class="Validform_label" style="display: none;">上级职务</label>
  206. <span class="clearTd">
  207. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" onclick="clearParentPostid()">清空</a>
  208. </span>
  209. </td>
  210. </tr>
  211. <tr>
  212. <td align="right">
  213. <label class="Validform_label">
  214. 职务描述:
  215. </label>
  216. </td>
  217. <td class="value" >
  218. <textarea style="width:300px; height:100px;" class="inputxt" rows="6" id="dutiesDesc" name="dutiesDesc" maxlength="100" ignore="ignore" ></textarea>
  219. <span class="Validform_checktip"></span>
  220. <label class="Validform_label" style="display: none;">职务描述</label>
  221. </td>
  222. </tr>
  223. </table>
  224. </t:formvalid>
  225. </body>
  226. <script src = "webpage/cn/com/lzt/duties/duties.js"></script>
  227. <script type="text/javascript">
  228. function clearParentPostid(){
  229. $(".combo-text").val("");
  230. $(".combo-value").val("");
  231. }
  232. function checkPostName(){
  233. if($("#post").val() === ""){
  234. tip("请输入所属岗位!");
  235. return false;
  236. }else{
  237. var result =false;
  238. $.ajax({
  239. type : "post",
  240. url : "dutiesController.do?checkDutiesName",
  241. data : {id:$("#id").val(),dutiesName:$("#dutiesName").val(),parentDutiesid:$(".combo-value").val()},
  242. dataType : "json",
  243. async : false,
  244. cache : false,
  245. success : function(json) {
  246. if(!json.flag){
  247. $("#vdutiesName").html("职务名称重复");
  248. $("#vdutiesName").addClass("Validform_wrong");
  249. result = false;
  250. }else{
  251. result = true;
  252. }
  253. }
  254. });
  255. return result;
  256. }
  257. }
  258. </script>