page-send-sms.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>发送短消息</title>
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8. <link href="../css/mui.min.css" rel="stylesheet" />
  9. <!-- 引入自定义样式 -->
  10. <link rel="stylesheet" type="text/css" href="../css/app.css" />
  11. <link rel="stylesheet" type="text/css" href="../css/app.new.css" />
  12. <!-- 引入字体 -->
  13. <link rel="stylesheet" href="../fonts/TTTGB-Medium.css" />
  14. <link rel="stylesheet" href="../fonts/font-time.css" />
  15. <link rel="stylesheet" href="../fonts/font-jt.css" />
  16. <!-- 引入弹窗及选择器样式 -->
  17. <link rel="stylesheet" type="text/css" href="../css/mui.picker.min.css" />
  18. <link rel="stylesheet" type="text/css" href="../css/mui.poppicker.css" />
  19. <!-- 引入空间分析结果样式 -->
  20. <link rel="stylesheet" href="../css/sms.css">
  21. <link rel="stylesheet" href="../css/cr.map.css">
  22. </head>
  23. <body>
  24. <div class="cr-layout-flex-v" id="divResult">
  25. </div>
  26. </body>
  27. </html>
  28. <!-- 引入mui脚本 -->
  29. <script src="../js/mui.min.js" type="text/javascript" charset="utf-8"></script>
  30. <!-- 引入弹窗及选择器脚本 -->
  31. <script src="../js/mui.picker.min.js" type="text/javascript" charset="utf-8"></script>
  32. <script src="../js/mui.poppicker.js" type="text/javascript" charset="utf-8"></script>
  33. <!-- 引入jQuery脚本 -->
  34. <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
  35. <!-- 引入通用脚本 -->
  36. <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
  37. <!-- 进入webview脚本 -->
  38. <script src="../js/webview.js" type="text/javascript" charset="utf-8"></script>
  39. <!-- 引入存储脚本 -->
  40. <script src="../js/save.js" type="text/javascript" charset="utf-8"></script>
  41. <!-- 引入ajax脚本 -->
  42. <script src="../js/ajax.js" type="text/javascript" charset="utf-8"></script>
  43. <script type="text/javascript">
  44. /* mui初始化 */
  45. mui.init({
  46. swipeBack: false,
  47. });
  48. /* 初始化 */
  49. plusInit(function() {
  50. /* 增加右侧菜单 */
  51. var wv = plus.webview.currentWebview();
  52. wv.setStyle({
  53. titleNView: {
  54. buttons: [{
  55. 'float': 'right',
  56. fontSrc: '../fonts/iconfont.ttf',
  57. text: '\ue827',
  58. onclick: EventSendSMS,
  59. }, {
  60. 'float': 'right',
  61. fontSrc: '../fonts/iconfont.ttf',
  62. text: '\ue6c6',
  63. onclick: EventSelectAll,
  64. }]
  65. }
  66. });
  67. beginQuerySMS();
  68. });
  69. /* 统计分析结果 */
  70. let smsResult = [];
  71. /**
  72. * 查询短消息内容
  73. */
  74. function beginQuerySMS() {
  75. sendAjax({
  76. url: 'appQuerySMS',
  77. waitMessage: '查询中...',
  78. data: {},
  79. success: function(resData) {
  80. $("#divResult").html('');
  81. countResult = [];
  82. let index = 1;
  83. for (let item of resData) {
  84. smsResult.push({
  85. number: index++,
  86. toName: item.toName,
  87. toMobile: '18954008227', //item.toMobile,
  88. msg: item.msg,
  89. cDate: item.cDate,
  90. isOk: false,
  91. })
  92. }
  93. muiShowWaitLoading('加载中...');
  94. createOACItem('divResult', smsResult, 0);
  95. },
  96. error: function(err) {
  97. muiAlertError(err);
  98. }
  99. })
  100. }
  101. /**
  102. * 创建展示项
  103. * @param {string} domId 控件Id
  104. * @param {JSON} datas 数据集
  105. * @param {int} index 索引
  106. */
  107. function createOACItem(domId, datas, index) {
  108. if (index == datas.length) {
  109. muiCloseWaitLoading();
  110. muiToast('加载完成!');
  111. appendClickEventByClassName('jt-nowrap');
  112. };
  113. var div = document.createElement('div');
  114. var data = datas[index];
  115. if (index == datas.length - 1) {
  116. div.className = 'jt-sms-content-row jt-sms-content-row-last';
  117. } else {
  118. div.className = 'jt-sms-content-row';
  119. }
  120. var strHtml = "";
  121. strHtml += "<span class='jt-icon'>" + data.number + "</span>";
  122. strHtml += "<span class='jt-name jt-nowrap'>" + data.toName + "</span>";
  123. strHtml += "<span class='jt-mobile jt-nowrap'>" + data.toMobile + "</span>";
  124. strHtml += "<span class='jt-message jt-nowrap'>" + data.msg + "</span>";
  125. strHtml += "<input name='checkbox' type='checkbox' onclick=\"selSMS(this,'" + index + "')\">";
  126. div.innerHTML = strHtml;
  127. $(div).hide();
  128. $('#' + domId).append(div);
  129. $(div).slideDown(200, function() {
  130. createOACItem(domId, datas, index + 1);
  131. });
  132. }
  133. /**
  134. * 选择发送
  135. * @param {Object} obj checkbox
  136. * @param {int} index 索引
  137. */
  138. function selSMS(obj, index) {
  139. smsResult[index].isOk = obj.checked;
  140. console.log(JSON.stringify(smsResult[index]));
  141. }
  142. /**
  143. * 发送短消息
  144. */
  145. function EventSendSMS() {
  146. sendSMSCollection = [];
  147. sendSMSError = [];
  148. for (let item of smsResult) {
  149. if (item.isOk) {
  150. sendSMSCollection.push(item);
  151. }
  152. }
  153. if (sendSMSCollection.length === 0) {
  154. muiAlert('请先选择需要发送短消息的账号!', '警告');
  155. } else {
  156. sendSMSToServer(0);
  157. }
  158. }
  159. let isAllChecked = false;
  160. /**
  161. * 全选
  162. */
  163. function EventSelectAll() {
  164. isAllChecked = !isAllChecked;
  165. $('[name="checkbox"]').each(function(index, element) {
  166. $(element).prop('checked', isAllChecked);
  167. smsResult[index].isOk = isAllChecked;
  168. })
  169. }
  170. /* 需要发送消息的主体 */
  171. let sendSMSCollection = [];
  172. let sendSMSError = [];
  173. /**
  174. * 发送消息
  175. * @param {int} index sms索引
  176. */
  177. function sendSMSToServer(index) {
  178. if (index === sendSMSCollection.length) {
  179. /* 发送完成 */
  180. if (sendSMSError.length === 0) {
  181. muiAlert('全部发送成功!', '提示');
  182. } else {
  183. let errName = undefined;
  184. for (let err of sendSMSError) {
  185. if (errName) {
  186. errName = errName + "," + err.name;
  187. } else {
  188. errName = err.name;
  189. }
  190. }
  191. muiAlertError('以下账号消息发送失败:' + errName);
  192. }
  193. } else {
  194. let sms = sendSMSCollection[index];
  195. sendAjax({
  196. waitMessage: '发送中...',
  197. data: {
  198. name: '[' + sms.toName + ']',
  199. content: sms.msg,
  200. mobile: sms.toMobile,
  201. },
  202. url: 'appSendSMS',
  203. success: function(resData) {
  204. sendSMSToServer(index + 1);
  205. },
  206. error: function(err) {
  207. sendSMSToServer(index + 1);
  208. sendSMSError.push({
  209. name: sms.toName,
  210. });
  211. }
  212. })
  213. }
  214. }
  215. </script>