No Description

addOrEditNotice.js 5.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. /**
  2. * 修改增加公告通知
  3. * */
  4. $(function() {
  5. autosize($('textarea'));
  6. var edit_id = helper.request.queryString("edit_id");
  7. if (edit_id) {
  8. getNotice(edit_id);
  9. }else{
  10. initTree();
  11. }
  12. $('#save_btns').on('click', saveNotice)
  13. });
  14. //获取公告通知详情
  15. function getNotice(ids) {
  16. $.getJSON(huayi.config.callcenter_url + "Notice/GetNotice", {
  17. noticeid: ids, //公告通知id
  18. token: $.cookie("token")
  19. }, function(data) {
  20. if (data.state.toLowerCase() == "success") {
  21. var noticeInfo = data.data;
  22. if (noticeInfo) {
  23. $('#title').val(noticeInfo.F_Title);
  24. $('#content').val(noticeInfo.F_Content);
  25. initTree(noticeInfo.F_NoticeId);
  26. if(noticeInfo.F_isCus){
  27. $('#iscus').prop('checked', true);
  28. }
  29. }
  30. }
  31. });
  32. }
  33. //保存
  34. function saveNotice() {
  35. if (!$.trim($('#title').val())) {
  36. layer.confirm('请输入标题!', {
  37. icon: 2,
  38. btn: ['确定']
  39. });
  40. return;
  41. }
  42. if (!$.trim($('#content').val())) {
  43. layer.confirm('请输入内容!', {
  44. icon: 2,
  45. btn: ['确定']
  46. });
  47. return;
  48. }
  49. var userids = [],
  50. roleids = [];
  51. var ztreeCheckeds = $.fn.zTree.getZTreeObj("treeDemo").getCheckedNodes(true);
  52. if (ztreeCheckeds.length) {
  53. $.each(ztreeCheckeds, function(i, n) {
  54. if (n.F_Pid == 0) {
  55. roleids.push(n.F_Id);
  56. } else {
  57. userids.push(n.F_Id);
  58. }
  59. });
  60. }
  61. var wURL, loadIndex;
  62. var edit_id = helper.request.queryString("edit_id");
  63. if (edit_id) {
  64. wURL = "Notice/EditNotice";
  65. } else {
  66. wURL = "Notice/AddNotice";
  67. }
  68. $.ajax({
  69. type: 'post',
  70. url: huayi.config.callcenter_url + wURL,
  71. dataType: 'json',
  72. async: true,
  73. beforeSend: function() { //触发ajax请求开始时执行
  74. $('#save_btns').attr("disabled", true);
  75. $('#save_btns').text('保存中...');
  76. loadIndex = layer.load();
  77. },
  78. data: {
  79. noticeid: edit_id, //int公告通知id,允许为0
  80. title: $('#title').val(), //标题
  81. content: helper.filter.delHtmlTag($('#content').val()), //内容
  82. userid: userids.length ? userids.join(',') : '', // 用户id集合,拼接字符串,内容格式:1,2,3
  83. roleid: roleids.length ? roleids.join(',') : '', // 角色id集合,拼接字符串,内容格式:1,2,3
  84. iscus: $('#iscus').prop('checked') ? 1 : 0, // 是否客户查看,0否 1是 默认0
  85. token: $.cookie("token")
  86. },
  87. success: function(data) {
  88. layer.close(loadIndex);
  89. if (data.state === "success") {
  90. var index = parent.layer.getFrameIndex(window.name);
  91. parent.layer.close(index);
  92. parent.$('#noticeList').bootstrapTable('refresh');
  93. parent.layer.msg("保存成功");
  94. } else {
  95. $('#save_btns').attr("disabled", false);
  96. $('#save_btns').text('保存');
  97. }
  98. },
  99. error: function(textStatus) {
  100. layer.close(loadIndex);
  101. layer.confirm('网络繁忙,请稍后再试...', {
  102. icon: 7,
  103. closeBtn: 0,
  104. btn: ['确定'] //按钮
  105. });
  106. $('#save_btns').attr("disabled", false);
  107. $('#save_btns').text('保存');
  108. },
  109. complete: function(XMLHttpRequest, textStatus) {
  110. layer.close(loadIndex);
  111. if (textStatus == 'timeout') {
  112. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  113. xmlhttp.abort();
  114. layer.confirm('网络超时,请稍后再试...', {
  115. icon: 7,
  116. closeBtn: 0,
  117. btn: ['确定'] //按钮
  118. });
  119. }
  120. $('#save_btns').attr("disabled", false);
  121. $('#save_btns').text('保存');
  122. },
  123. });
  124. }
  125. //树形结构 所有角色
  126. function initTree(nid) {
  127. nid = nid || '';
  128. $.get(huayi.config.callcenter_url + 'Notice/GetRoleUsersList', {
  129. noticeid: nid, // 公告id,用于编辑时填充数据
  130. "token": $.cookie("token"),
  131. }, function(result) {
  132. result = $.parseJSON(result);
  133. if(result.state === 'success'){
  134. // if(nid && result.data && result.data.length){
  135. // $(result.data).each(function(i, n) {
  136. // if(n.F_ischeck) {
  137. // n.checked = "true";
  138. // }
  139. // })
  140. // }
  141. $.fn.zTree.init($("#treeDemo"), setting, result.data);
  142. }
  143. });
  144. }
  145. var setting = {
  146. check: {
  147. enable: true,
  148. //chkboxType: {"Y":"", "N":""},
  149. },
  150. data: {
  151. key: {
  152. name: "F_Name",
  153. checked: "F_ischeck"
  154. },
  155. simpleData: {
  156. enable: true,
  157. idKey: "F_Id",
  158. pIdKey: "F_Pid",
  159. rootPId: 0
  160. }
  161. },
  162. callback: {
  163. onCheck: zTreeOnClick
  164. }
  165. };
  166. function zTreeOnClick(e, treeId, treeNode) {
  167. var zTree = $.fn.zTree.getZTreeObj("treeDemo");
  168. var node = zTree.getNodes();
  169. var nodes = zTree.transformToArray(node).length;
  170. var checkNode = zTree.getCheckedNodes().length;
  171. if(nodes === checkNode){
  172. $('#checkAll').prop('checked', true);
  173. }else{
  174. $('#checkAll').prop('checked', false)
  175. }
  176. }
  177. // 全选
  178. $('#checkAll').on('click',function (e) {
  179. var zTree = $.fn.zTree.getZTreeObj("treeDemo");
  180. var node = zTree.getNodes();
  181. var nodes = zTree.transformToArray(node);
  182. var checkNode = zTree.getCheckedNodes().length;
  183. //已选中的节点数小于总数 - 全选
  184. if (checkNode < nodes.length) {
  185. $('#checkAll').prop('checked', true)
  186. zTree.checkAllNodes(true);
  187. } else{
  188. zTree.checkAllNodes(false);
  189. }
  190. })
  191. /**
  192. * 角色用户列表下拉
  193. * el 元素
  194. * nid 公告id
  195. * */
  196. function getRoleUsersList(el, nid) {
  197. var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
  198. nid = nid || '';
  199. $.ajax({
  200. type: "get",
  201. url: huayi.config.callcenter_url + "Notice/GetRoleUsersList",
  202. dataType: 'json',
  203. async: true,
  204. data: {
  205. noticeid: nid, // 公告id,用于编辑时填充数据
  206. token: $.cookie("token")
  207. },
  208. success: function(data) {
  209. if (data.state.toLowerCase() === 'success') {
  210. var res = data.data;
  211. if (res && res.length) {
  212. for (var i = 0; i < res.length; i++) {
  213. $('<option value=' + res[i].F_Id + '>' + res[i].F_Name + '</option>').appendTo(el);
  214. }
  215. }
  216. el.selectpicker('refresh');
  217. dtd.resolve(); // 改变Deferred对象的执行状态
  218. }
  219. }
  220. });
  221. return dtd.promise(); // 返回promise对象
  222. }