main.address.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. /* plus初始化完成执行 */
  20. plusInit(function() {
  21. sendAjax({
  22. type: 'post',
  23. waitMessage: '正在同步通讯录...',
  24. url: 'appQueryUserAddress',
  25. success: function(resData) {
  26. showAddressInfo(resData);
  27. showAddressSubInfo(resData);
  28. },
  29. error: function(err) {
  30. muiAlertError(err);
  31. }
  32. });
  33. });
  34. /**
  35. * 展示通讯录数据
  36. * @param {JSON} addressDatas 通讯录数据
  37. */
  38. function showAddressInfo(addressDatas) {
  39. var title = '';
  40. var aHtml = "";
  41. for (var i in addressDatas) {
  42. var address = addressDatas[i];
  43. if (title != address.userTypeName) {
  44. title = address.userTypeName;
  45. aHtml += "<h5>" + title + "</h5>";
  46. aHtml += "<ul class='mui-table-view cr-table-view' id='panel" + address.userType + "'>";
  47. aHtml += "</ul>";
  48. }
  49. }
  50. $('.mui-content').html(aHtml);
  51. }
  52. /**
  53. * 展示通讯录数据子数据
  54. * @param {JSON} addressDatas 通讯录数据
  55. */
  56. function showAddressSubInfo(addressDatas) {
  57. for (var i in addressDatas) {
  58. var address = addressDatas[i];
  59. var li = document.createElement('li');
  60. li.className = 'mui-table-view-cell cr-table-view-cell';
  61. var liHtml = "";
  62. liHtml += "<span class='icon'>" + address.userName.substr(0, 1) + "</span>";
  63. liHtml += "<span class='title'>" + address.userName + "</span>";
  64. liHtml += "<div class='cr-btn' onclick=\"callPhone(" + JSON.stringify(address).replace(/\"/g, "'") +
  65. ")\"><span class='app-icon app-icon-address-phone'></span></div>";
  66. liHtml += "<div class='cr-btn' onclick=\"callMessage(" + JSON.stringify(address).replace(/\"/g, "'") +
  67. ")\"><span class='app-icon app-icon-address-message'></span></div>";
  68. li.innerHTML = liHtml;
  69. $('#panel' + address.userType).append(li);
  70. }
  71. }
  72. /**
  73. * 打电话
  74. * @param {JSON} user 用户
  75. */
  76. function callPhone(user) {
  77. var message = "确认要给<font class='f-important'>" + user.userName + "</font>拨打电话吗?";
  78. mui.confirm(message,'提示',['取消','拨打'],function (e) {
  79. if(e.index == 1){
  80. plus.device.dial(user.userPhone, true);
  81. }
  82. },'div');
  83. }
  84. /**
  85. * 发消息
  86. * @param {JSON} user 用户
  87. */
  88. function callMessage(user) {
  89. var message = "确认要给<font class='f-important'>" + user.userName + "</font>发送消息吗?";
  90. mui.confirm(message,'提示',['取消','发送'],function (e) {
  91. if(e.index == 1){
  92. muiAlert("此项功能开发中!");
  93. }
  94. },'div');
  95. }