main.address.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /**
  2. * 作者:王成
  3. * 创建日期:2022年1月13日
  4. * 操作系统:MAC
  5. * 描述:通讯录独立脚本
  6. */
  7. /* mui初始化 */
  8. mui.init();
  9. /* 必须加 否则将导致数据表无法滚动 */
  10. mui('.mui-scroll-wrapper').scroll({
  11. scrollY: true, //是否竖向滚动
  12. scrollX: true, //是否横向滚动
  13. startX: 0, //初始化时滚动至x
  14. startY: 0, //初始化时滚动至y
  15. indicators: false, //是否显示滚动条
  16. deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏
  17. bounce: false, //是否启用回弹
  18. });
  19. /* 绑定搜索框 */
  20. document.getElementById('search').addEventListener('keypress', function(e) {
  21. //判断点击的是否是 搜索 按钮
  22. if (e.keyCode == 13) {
  23. var value = this.value;
  24. document.activeElement.blur();
  25. /* 过滤数据 */
  26. filterAddress(value);
  27. }
  28. });
  29. /**
  30. * 根据用户名查询过滤数据
  31. * @param {String} userName
  32. */
  33. function filterAddress(userName) {
  34. if (userName == undefined || userName === '') {
  35. showAddressInfo(addressList);
  36. } else {
  37. let tempList = [];
  38. for (let address of addressList) {
  39. if (address.userName.indexOf(userName) != -1) {
  40. tempList.push(address);
  41. }
  42. }
  43. showAddressInfo(tempList);
  44. }
  45. }
  46. /* 地址数据 */
  47. let addressList = undefined;
  48. /* plus初始化完成执行 */
  49. plusInit(function() {
  50. sendAjax({
  51. type: 'post',
  52. waitMessage: '正在同步通讯录...',
  53. url: 'appQueryUserAddress',
  54. success: function(resData) {
  55. addressList = resData;
  56. showAddressInfo(addressList);
  57. },
  58. error: function(err) {
  59. muiAlertError(err);
  60. }
  61. });
  62. });
  63. /**
  64. * 展示通讯录数据
  65. * @param {JSON} addressDatas 通讯录数据
  66. */
  67. function showAddressInfo(addressDatas) {
  68. var title = '';
  69. var aHtml = "";
  70. for (var i in addressDatas) {
  71. var address = addressDatas[i];
  72. if (title != address.userDwmc) {
  73. title = address.userDwmc;
  74. aHtml += "<h5>" + title + "</h5>";
  75. aHtml += "<ul class='mui-table-view cr-table-view' id='panel" + address.userDwmc + "'>";
  76. aHtml += "</ul>";
  77. }
  78. }
  79. $('#divContent').html(aHtml);
  80. showAddressSubInfo(addressDatas);
  81. }
  82. /**
  83. * 展示通讯录数据子数据
  84. * @param {JSON} addressDatas 通讯录数据
  85. */
  86. function showAddressSubInfo(addressDatas) {
  87. for (var i in addressDatas) {
  88. var address = addressDatas[i];
  89. var li = document.createElement('li');
  90. li.className = 'mui-table-view-cell cr-table-view-cell';
  91. var liHtml = "";
  92. liHtml += "<span class='icon'>" + address.userName.substr(0, 1) + "</span>";
  93. liHtml += "<span class='title'>" + address.userName + "</span>";
  94. liHtml += "<div class='cr-btn' onclick=\"callPhone(" + JSON.stringify(address).replace(/\"/g, "'") +
  95. ")\"><span class='app-icon app-icon-address-phone'></span></div>";
  96. li.innerHTML = liHtml;
  97. $('#panel' + address.userDwmc).append(li);
  98. }
  99. }
  100. /**
  101. * 打电话
  102. * @param {JSON} user 用户
  103. */
  104. function callPhone(user) {
  105. var message = "确认要给<font class='f-important'>" + user.userName + "</font>拨打电话吗?";
  106. mui.confirm(message, '提示', ['取消', '拨打'], function(e) {
  107. if (e.index == 1) {
  108. plus.device.dial(user.userPhone, true);
  109. }
  110. }, 'div');
  111. }
  112. /**
  113. * 发消息
  114. * @param {JSON} user 用户
  115. */
  116. function callMessage(user) {
  117. var message = "确认要给<font class='f-important'>" + user.userName + "</font>发送消息吗?";
  118. mui.confirm(message, '提示', ['取消', '发送'], function(e) {
  119. if (e.index == 1) {
  120. muiAlert("此项功能开发中!");
  121. }
  122. }, 'div');
  123. }