MsgAdd.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. layui.config({
  2. base : "js/"
  3. }).use(['form','layer','jquery','layedit','laydate'],function(){
  4. var form = layui.form(),
  5. layer = parent.layer === undefined ? layui.layer : parent.layer,
  6. laypage = layui.laypage,
  7. layedit = layui.layedit,
  8. laydate = layui.laydate,
  9. $ = layui.jquery;
  10. var Select_IOS = true;
  11. var Select_Android = true;
  12. var SelectPushType = 0;
  13. //获取url中的参数
  14. function getUrlParam(name) {
  15. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  16. var r = window.location.search.substr(1).match(reg); //匹配目标参数
  17. if (r != null) return unescape(r[2]); return null; //返回参数值
  18. }
  19. $(document).ready(function () {
  20. var urlParam = getUrlParam("uid");
  21. var urlParamType= getUrlParam("type");
  22. if (urlParam) {
  23. $("#rdoTeiDing").attr("checked", "checked");
  24. SelectPushType = 3;
  25. $("#DrumBedLayer").removeClass("location0 location1");
  26. $("#DrumBedLayer").addClass("location2");
  27. $("#TargetIDValue").attr("lay-verify", "required");
  28. $("#TargetIDValue").val(getUrlParam("uid"));
  29. if (urlParamType == 0) {
  30. Select_IOS = true;
  31. Select_Android = false;
  32. $("#IOS").attr("checked", "checked");
  33. $("#Android").removeAttr("checked");
  34. } else {
  35. Select_IOS = false;
  36. Select_Android = true;
  37. $("#Android").attr("checked", "checked");
  38. $("#IOS").removeAttr("checked");
  39. }
  40. form.render();
  41. }
  42. });
  43. form.on('radio(select_RadioType)', function (data) {
  44. // console.log(data.elem); //得到radio原始DOM对象
  45. //console.log(data.value); //被点击的radio的value值
  46. // layer.alert('选择目标类型: ' + data.value, { icon: 6, title: '选择目标' });
  47. // lay-verify="required"
  48. SelectPushType = data.value;
  49. $("#TargetIDValue").val("");
  50. if (data.value == 0)
  51. {
  52. $("#DrumBedLayer").removeClass("location1 location2");
  53. $("#DrumBedLayer").addClass("location0");
  54. $("#TargetIDValue").removeAttr("lay-verify");
  55. } else if (data.value == 1)
  56. {
  57. $("#DrumBedLayer").removeClass("location0 location1");
  58. $("#DrumBedLayer").addClass("location1");
  59. $("#TargetIDValue").attr("lay-verify", "required");
  60. }
  61. });
  62. form.on('checkbox(select_checkboxType)', function (data) {
  63. // layer.alert('选择目标 ' + data.value+" " + data.elem.checked, { icon: 6, title: '选择目标' });
  64. if (data.value == "IOS") {
  65. Select_IOS = data.elem.checked;
  66. }
  67. if (data.value == "Android") {
  68. Select_Android = data.elem.checked;
  69. }
  70. });
  71. $("body").on("click", "#addTargetID", function () { //选择目标ID
  72. // var _this = $(this);
  73. // layer.alert('选择目标ID ', { icon: 6, title: '选择目标' });
  74. let layerUrl = "";
  75. let layerTitle = "";
  76. if (SelectPushType == 1)
  77. {
  78. layerTitle = "选择用户";
  79. layerUrl = '/admin/page/GtMsgList/SelectUserList.html';
  80. }
  81. let tempbody;
  82. layer.open({
  83. type: 2,
  84. title: "<i class=\"layui-icon\" style=\"color: #1E9FFF;\">&#xe608;</i>&nbsp;"+layerTitle,
  85. skin: 'layui-layer-rim', //加上边框
  86. shadeClose: true,
  87. shade: false,
  88. area: ['70%', '70%'],
  89. anim: 2,
  90. shadeClose: true, //开启遮罩关闭
  91. maxmin: true, //开启最大化最小化按钮
  92. content: layerUrl, //iframe的url
  93. end: function () {
  94. var TargetIDparameter = tempbody.find("#TargetIDparameter").val();
  95. if (TargetIDparameter.length>0)
  96. $("#TargetIDValue").val(TargetIDparameter);
  97. // layer.alert('选择目标 ' + TargetIDparameter, { icon: 6, title: '选择目标' });
  98. // console.log(tempbody.find("#TargetIDparameter").val());
  99. },
  100. success: function (layero, index) {
  101. tempbody = layer.getChildFrame('body', index);
  102. }
  103. });
  104. })
  105. form.verify({
  106. chkrequired: function (value, item) {
  107. if (!Select_IOS && !Select_Android)
  108. return "必须选择一个目标平台";
  109. }
  110. });
  111. function reloadMsgList()
  112. {
  113. parent.$(".top_tab li i.layui-tab-close").each(function () {
  114. let dataID = $(this).attr("data-id");
  115. let tabObj = $(this);
  116. parent.$("iframe").each(function () {
  117. let iframeDataID = $(this).attr("data-id");
  118. if (dataID == iframeDataID) {
  119. if ($(this).attr("src").indexOf("GtMsgList/MsgList.html") >= 0) {
  120. //刷新
  121. $(this).attr("src", "/admin/page/GtMsgList/MsgList.html?t=" + (Date.parse(new Date())/1000));
  122. }
  123. }
  124. });
  125. });
  126. }
  127. function GotoMsgList()
  128. {
  129. var index = parent.layer.getFrameIndex(window.name);
  130. try {
  131. // 此处是可能产生例外的语句
  132. parent.$(".top_tab li i.layui-tab-close").each(function () {
  133. let dataID = $(this).attr("data-id");
  134. let tabObj = $(this);
  135. parent.$("iframe").each(function () {
  136. let iframeDataID = $(this).attr("data-id");
  137. if (dataID == iframeDataID) {
  138. if ($(this).attr("src").indexOf("GtMsgList/MsgAdd.html") >= 0) {
  139. parent.$(".layui-nav .layui-nav-item a").each(function () {
  140. if ($(this).attr("data-url")) {
  141. if ($(this).attr("data-url").indexOf("GtMsgList/MsgList.html") >= 0) {
  142. // console.log($(this).attr("data-url"));
  143. window.parent.addTab($(this));
  144. }
  145. }
  146. });
  147. //刷新父页面
  148. // parent.location.reload();
  149. reloadMsgList();
  150. tabObj.click();
  151. }
  152. }
  153. });
  154. });
  155. } catch(error) {
  156. // 此处是负责例外处理的语句
  157. parent.layer.close(index);
  158. } finally {
  159. // 此处是出口语句
  160. }
  161. }
  162. //创建一个编辑器
  163. var editIndex = layedit.build('links_content');
  164. var addLinksArray = [],addLinks;
  165. form.on("submit(addLinks)",function(data){
  166. // console.log(data);
  167. //弹出loading
  168. var index = top.layer.msg('数据提交中,请稍候', { icon: 16, time: false, shade: 0.8 });
  169. let title = data.field.title;
  170. let description = data.field.description;
  171. let msgData = data.field.msgData;
  172. //目标用户 0 为全部用户 1 为企业用户 2 为特定用户
  173. let TargetUser = SelectPushType;//data.field.TargetUser;
  174. let targetList = data.field.targetList;
  175. let EnterpriseID = "E1000";
  176. let Platform = "";
  177. if (data.field.IOS)
  178. {
  179. Platform += data.field.IOS + ","
  180. }
  181. if (data.field.Android)
  182. {
  183. Platform += data.field.Android + ","
  184. }
  185. //console.log(Platform);
  186. // alert(TargetUser + " | " + data.field.TargetUser);
  187. // top.layer.close(index);
  188. // return;
  189. $.post("/BackgroundProcess.aspx?type=sendpushmsg&source=1", {
  190. title: title,
  191. description: description,
  192. msgData: msgData,
  193. TargetUser: TargetUser,
  194. targetList: targetList,
  195. EnterpriseID: EnterpriseID,
  196. Platform:Platform
  197. }, function (result) {
  198. top.layer.close(index);
  199. let retObj = JSON.parse(result);
  200. if (retObj["code"] == 200) {
  201. top.layer.msg("推送成功:" + retObj["data"]["msgid"]);
  202. GotoMsgList();
  203. } else {
  204. top.layer.msg(retObj["info"]);
  205. }
  206. });
  207. //刷新父页面
  208. //parent.location.reload();
  209. return false;
  210. })
  211. })