sysMsg-add.jsp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  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. <script src="plug-in/layer/layer.js"></script>
  9. <script type="text/javascript">
  10. //编写自定义JS代码
  11. </script>
  12. <!-- 添加编辑跳转页面白色背景填充CSS -->
  13. <style type="text/css">
  14. .fixed-h{
  15. float:left;
  16. width:100%;
  17. height:940px;
  18. background:#ffffff;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <t:formvalid formid="formobj" dialog="false" usePlugin="password" layout="table" action="sysMsgController.do?doAdd" tiptype="1" callback="callback">
  24. <input id="id" name="id" type="hidden" value="${sysMsgPage.id }"/>
  25. <!-- <table style="position:fixed;width:100%;height:100%;" cellpadding="0" cellspacing="1" class="formtable"> -->
  26. <div class="fixed-h">
  27. <table style="width: 100%;" cellpadding="0" cellspacing="1" class="formtable">
  28. <tr>
  29. <td align="right">
  30. <label class="Validform_label">
  31. <span color="red" class="requiredIcon">*</span>消息标题:
  32. </label>
  33. </td>
  34. <td class="value">
  35. <input id="msgTitle" name="msgTitle" placeholder="请输入消息标题,最多30文字" maxlength="30" datatype="*1-30" type="text" style="width: 300px" class="inputxt" ignore="ignore" />
  36. <span class="Validform_checktip"></span>
  37. <label class="Validform_label" style="display: none;">消息标题</label>
  38. </td>
  39. </tr>
  40. <tr>
  41. <td align="right">
  42. <label class="Validform_label">
  43. <span color="red" class="requiredIcon">*</span>消息内容:
  44. </label>
  45. </td>
  46. <td class="value">
  47. <textarea id="msgContent" name="msgContent" style="width:600px;height: 200px;" class="inputxt" rows="9" placeholder="请输入消息内容(最多输入文字500)" maxlength="500" ignore="ignore"></textarea>
  48. <span class="Validform_checktip"></span>
  49. <label class="Validform_label" style="display: none;">消息内容</label>
  50. </td>
  51. </tr>
  52. <!-- <tr>
  53. <td align="right">
  54. <label class="Validform_label">
  55. 发送人ID:
  56. </label>
  57. </td>
  58. <td class="value">
  59. <input id="sendId" name="sendId" type="text" style="width: 150px" class="inputxt" ignore="ignore" />
  60. <span class="Validform_checktip"></span>
  61. <label class="Validform_label" style="display: none;">发送人ID</label>
  62. </td>
  63. </tr> -->
  64. <!-- <tr>
  65. <td align="right">
  66. <label class="Validform_label">
  67. 发送状态:
  68. </label>
  69. </td>
  70. <td class="value">
  71. <input id="sendStatus" name="sendStatus" type="text" style="width: 150px" class="inputxt" ignore="ignore" />
  72. <span class="Validform_checktip"></span>
  73. <label class="Validform_label" style="display: none;">发送状态</label>
  74. </td>
  75. </tr> -->
  76. <!-- <tr>
  77. <td align="right">
  78. <label class="Validform_label">
  79. 创建时间:
  80. </label>
  81. </td>
  82. <td class="value">
  83. <input id="createDate" name="createDate" type="text" style="width: 150px" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" ignore="ignore" />
  84. <span class="Validform_checktip"></span>
  85. <label class="Validform_label" style="display: none;">创建时间</label>
  86. </td>
  87. </tr> -->
  88. <!-- <tr>
  89. <td align="right">
  90. <label class="Validform_label">
  91. 发送时间:
  92. </label>
  93. </td>
  94. <td class="value">
  95. <input id="sendTime" name="sendTime" type="text" style="width: 150px" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" ignore="ignore" />
  96. <span class="Validform_checktip"></span>
  97. <label class="Validform_label" style="display: none;">发送时间</label>
  98. </td>
  99. </tr> -->
  100. <!-- <tr>
  101. <td align="right">
  102. <label class="Validform_label">
  103. 是否推送给app:
  104. </label>
  105. </td>
  106. <td class="value">
  107. <input id="isPushapp" name="isPushapp" type="text" style="width: 150px" class="inputxt" ignore="ignore" />
  108. <span class="Validform_checktip"></span>
  109. <label class="Validform_label" style="display: none;">是否推送给app</label>
  110. </td>
  111. </tr> -->
  112. <tr>
  113. <td align="right">
  114. <label class="Validform_label">
  115. <span color="red" class="requiredIcon">*</span>接收范围:
  116. </label>
  117. </td>
  118. <td>
  119. <table>
  120. <tr>
  121. <td>
  122. <input id="received_range_0" name="radio" checked="checked" class="checkOne" type="radio">公司全员
  123. </td>
  124. </tr>
  125. <tr>
  126. <td>
  127. <input id="received_range_1" name="radio" class="checkOne" type="radio">按单位&nbsp;&nbsp;&nbsp;&nbsp;
  128. <input id="orgIds" name=orgIds type="hidden" value="">
  129. <input type="text" id="departname" name="departname" readonly="readonly" class="inputxt" style="width: 150px" placeholder="请选择接收单位" onclick="openDepartmentSelect()">
  130. <span class="Validform_checktip"></span>
  131. <label class="Validform_label" style="display: none;">单位</label>
  132. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openDepartmentSelect()">选择</a>
  133. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackClean()">清空</a>
  134. </td>
  135. </tr>
  136. <tr>
  137. <td>
  138. <input id="received_range_2" name="radio" class="checkOne" type="radio">按用户&nbsp;&nbsp;&nbsp;&nbsp;
  139. <input id="userid" name="userid" type="hidden" value="">
  140. <input readonly="readonly" type="text" id="realname" name="realname" value="" style="width: 150px" placeholder="请选择接收用户" onclick="openPersonnelSelect()" >
  141. <span class="Validform_checktip"></span>
  142. <label class="Validform_label" style="display: none;">用户</label>
  143. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openPersonnelSelect()">选择</a>
  144. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackPersonnelSelectClean()">清空</a>
  145. </td>
  146. </tr>
  147. </table>
  148. </td>
  149. <!-- <td class="value">
  150. <input id="receivedRange" name="receivedRange" type="text" style="width: 150px" class="inputxt" ignore="ignore" />
  151. <span class="Validform_checktip"></span>
  152. <label class="Validform_label" style="display: none;">接收范围</label>
  153. </td> -->
  154. </tr>
  155. <!-- <tr>
  156. <td align="right">
  157. <label class="Validform_label">
  158. 业务ID:
  159. </label>
  160. </td>
  161. <td class="value">
  162. <input id="busid" name="busid" type="text" style="width: 150px" class="inputxt" ignore="ignore" />
  163. <span class="Validform_checktip"></span>
  164. <label class="Validform_label" style="display: none;">业务ID</label>
  165. </td>
  166. </tr> -->
  167. <tr>
  168. <td height="50px" align="center" colspan="2">
  169. <div style="display:none"><input type="submit" id ="btnsub" value=""/></div>
  170. <a href="#" class="easyui-linkbutton l-btn l-btn-plain" iconcls="icon-save" onclick="btn_ok()">确定</a>
  171. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-return" onclick="backHome()">取消</a>
  172. </td>
  173. </tr>
  174. </table>
  175. <div>
  176. </t:formvalid>
  177. </body>
  178. <script src = "webpage/cn/com/lzt/sysmsg/sysMsg.js"></script>
  179. <script type="text/javascript">
  180. //保存数据
  181. function btn_ok(){
  182. var msgTitle=$("#msgTitle").val();
  183. var msgContent=$("#msgContent").val();
  184. if(msgTitle.length==0){
  185. layer.alert("请输入消息标题");
  186. return false;
  187. }
  188. if(msgContent.length==0){
  189. layer.alert("请输入消息内容");
  190. return false;
  191. }
  192. var receivedRange="";
  193. var busid="";
  194. var flag=false;
  195. $(".checkOne").each(function(){
  196. if($(this).prop("checked")){
  197. flag=true;
  198. /* console.log($(this).prop("id"));//获取属性名称
  199. console.log($(this).attr("id"));//获取属性名称
  200. console.log($(this).next().val());//获取选择的值 */
  201. /* receivedRange='{"receivedRange":"received_range_0","receivedRangeData":""}';
  202. receivedRange='{"receivedRange":"received_range_1","receivedRangeData":"'+$(this).next().val()+'"}';
  203. receivedRange='{"receivedRange":"received_range_2","receivedRangeData":"'+$(this).next().val()+'"}'; */
  204. if($(this).prop("id")=="received_range_0"){
  205. receivedRange="0";
  206. }else if($(this).prop("id")=="received_range_1"){
  207. receivedRange="1";
  208. busid=$(this).next().val();
  209. if(busid.length==0){
  210. flag=false;
  211. }
  212. }else if($(this).prop("id")=="received_range_2"){
  213. receivedRange="2";
  214. busid=$(this).next().val();
  215. if(busid.length==0){
  216. flag=false;
  217. }
  218. }
  219. }
  220. });
  221. if(flag==false){
  222. layer.alert("请选择接收范围");
  223. return false;
  224. }
  225. $.ajax({
  226. url : "sysMsgController.do?saveSysMsgAndSysMsgDetail",
  227. type : 'post',
  228. data : {
  229. msgTitle : msgTitle,
  230. msgContent: msgContent,
  231. receivedRange : receivedRange,
  232. busid : busid
  233. },
  234. cache : false,
  235. success : function(data) {
  236. var d = data; // ------ $.parseJSON(data);
  237. callback(d);
  238. }
  239. });
  240. }
  241. function callback(data){
  242. if(data.success){
  243. layer.alert(data.msg, function(index){
  244. window.location.href="sysMsgController.do?list";
  245. layer.close(index);
  246. });
  247. }
  248. else{
  249. layer.alert(data.msg);
  250. }
  251. }
  252. /* function callback(data){
  253. if(data.success){
  254. layer.alert(data.msg, function(index){
  255. window.location.href="sysMsgController.do?list";
  256. layer.close(index);
  257. });
  258. }
  259. else{
  260. layer.alert(data.msg);
  261. }
  262. }
  263. //自定义保存按钮
  264. function btn_ok(){
  265. var spunchMinute=$("#spunchMinute").val();
  266. var epunchMinute=$("#epunchMinute").val();
  267. var datumWorkhours=$("#datumWorkhours").val();
  268. var shiftWorkhours=$("#shiftWorkhours").val();
  269. var timeOutOvertimeHours=$("#timeOutOvertimeHours").val();
  270. if(spunchMinute.length>0){
  271. if(dealInputT(spunchMinute)==false){
  272. layer.alert("请正确输入几分钟前开始打卡");
  273. return false;
  274. }
  275. }
  276. if(spunchMinute.length>0){
  277. if(dealInputT(spunchMinute)==false){
  278. layer.alert("请正确输入几分钟后结束打卡");
  279. return false;
  280. }
  281. }
  282. if(datumWorkhours.length>0){
  283. if(dealInputF(datumWorkhours)==false){
  284. layer.alert("请正确输入基准工时");
  285. return false;
  286. }
  287. if(dealInputMInValue(datumWorkhours)==false){
  288. layer.alert("请正确输入基准工时");
  289. return false;
  290. }
  291. }
  292. if(shiftWorkhours.length>0){
  293. if(dealInputF(shiftWorkhours)==false){
  294. layer.alert("请正确输入班次工时");
  295. return false;
  296. }
  297. if(dealInputMInValue(shiftWorkhours)==false){
  298. layer.alert("请正确输入班次工时");
  299. return false;
  300. }
  301. }
  302. if(timeOutOvertimeHours.length>0){
  303. if(dealInputF(timeOutOvertimeHours)==false){
  304. layer.alert("请正确输入超时加班时长");
  305. return false;
  306. }
  307. if(dealInputMInValue(timeOutOvertimeHours)==false){
  308. layer.alert("请正确输入超时加班时长");
  309. return false;
  310. }
  311. }
  312. $("#btnsub").click();
  313. } */
  314. //返回按钮
  315. function backHome(){
  316. window.location.href="sysMsgController.do?list";
  317. }
  318. //选择所属部门zTree,有禁用不能选中功能 多选================
  319. function openDepartmentSelect() {
  320. //$.dialog.setting.zIndex = getzIndex();
  321. var orgIds = $("#orgIds").val();
  322. $.dialog({content: 'url:dialogDealController.do?departZTreeCheckBoxPart&orgIds='+orgIds,
  323. zIndex: getzIndex(), title: '所属部门列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
  324. {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
  325. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  326. ]});
  327. }
  328. function callbackDepartmentSelect() {
  329. var iframe = this.iframe.contentWindow;
  330. var treeObj = iframe.$.fn.zTree.getZTreeObj("departSelect");
  331. var nodes = treeObj.getCheckedNodes(true);
  332. if(nodes.length>0){
  333. var ids='',names='';
  334. for(i=0;i<nodes.length;i++){
  335. var node = nodes[i];
  336. ids += node.id+',';
  337. names += node.name+',';
  338. }
  339. // window.opener.returnValue=ids;
  340. //子页面向父页面传值
  341. //parent.document.all.returnValue=ids;
  342. //setCookie(ids);
  343. $('#departname').val(names);
  344. $('#departname').blur();
  345. $('#orgIds').val(ids);
  346. }
  347. }
  348. function callbackClean(){
  349. $('#departname').val('');
  350. $('#orgIds').val('');
  351. }
  352. //选择所属部门zTree================
  353. //所有员工选择==============
  354. function openPersonnelSelect(){
  355. var userid=$("#userid").val();
  356. $.dialog({content: 'url:dialogDealController.do?personnelTableAll&userid='+userid, zIndex: getzIndex(), title: '用户选择', lock: true, width: '800px', height: '400px',
  357. opacity: 0.4, button: [
  358. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
  359. //var postGeneralId=$("#id").val();
  360. //父页面接子页面传值
  361. //获得子页面getReason()方法中的值
  362. var iframe = this.iframe.contentWindow;
  363. var userid="";
  364. if(iframe.getReason().length>0){
  365. var strData=eval(iframe.getReason());
  366. for(var key in strData[0]){
  367. if(key=="strUserId"){
  368. $("#userid").val(strData[0][key]);
  369. userid=strData[0][key];
  370. }else if(key=="strRealName"){
  371. $("#realname").val(strData[0][key]);
  372. }
  373. }
  374. }
  375. if(userid.length==0){
  376. layer.alert("请选择用户");
  377. return false;
  378. }
  379. }, focus: true},
  380. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  381. ]}).zindex();
  382. }
  383. //清空班次员工
  384. function callbackPersonnelSelectClean(){
  385. $("#userid").val("");
  386. $("#realname").val("");
  387. }
  388. //所有员工选择==============
  389. </script>