index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. const _Http = getApp().globalData.http;
  2. Component({
  3. options: {
  4. addGlobalClass: true
  5. },
  6. properties: {
  7. list: Array,
  8. changeTotal: Function
  9. },
  10. data: {
  11. radio: 0, //默认
  12. },
  13. methods: {
  14. // 修改默认
  15. radioChange({
  16. detail
  17. }) {
  18. let list = this.data.list,
  19. data = list.find(v => v.contactsid == detail)
  20. _Http.basic({
  21. "id": "20221018144702",
  22. "content": {
  23. "contactsid": data.contactsid,
  24. "sys_enterpriseid": data.sys_enterpriseid
  25. }
  26. }, false).then(res => {
  27. if (res.msg != '成功') return wx.showToast({
  28. title: res.data,
  29. icon: "none"
  30. });
  31. getCurrentPages().forEach(v => {
  32. //更新列表
  33. if (["packageA/setclient/detail", "packageA/setclient/modules/contacts/detail/index"].includes(v.__route__)) {
  34. let page = v.selectComponent("#Address").selectComponent("#List");
  35. const lists = page.data.list.map(value => {
  36. value.isdefault = value.contactsid == data.contactsid ? 1 : 0
  37. return value
  38. });
  39. page.setData({
  40. list: lists
  41. })
  42. setTimeout(() => {
  43. page.initRadio();
  44. }, 200)
  45. };
  46. if (["packageA/setclient/modules/address/search/index"].includes(v.__route__)) {
  47. let page = v.selectComponent("#List");
  48. const lists = page.data.list.map(value => {
  49. value.isdefault = value.contactsid == data.contactsid ? 1 : 0
  50. return value
  51. });
  52. page.setData({
  53. list: lists
  54. })
  55. setTimeout(() => {
  56. page.initRadio();
  57. }, 200)
  58. };
  59. })
  60. })
  61. }, //处理操作
  62. handleItem(e) {
  63. const {
  64. name,
  65. item
  66. } = e.target.dataset,
  67. that = this;
  68. if (!name) return;
  69. switch (name) {
  70. case 'call':
  71. wx.makePhoneCall({
  72. phoneNumber: item.phonenumber,
  73. })
  74. break;
  75. case 'copy':
  76. let str = `联系人:${item.name}\n手机号码:${item.phonenumber}\n所在地区:${item.province+item.city+item.county}\n详细地址:${item.province+item.city+item.county+item.address}`
  77. wx.setClipboardData({
  78. data: str,
  79. })
  80. break;
  81. case 'edit':
  82. wx.navigateTo({
  83. url: '/packageA/setclient/modules/address/add/index?data=' + JSON.stringify(item),
  84. })
  85. break;
  86. case 'delete':
  87. wx.showModal({
  88. title: '提示',
  89. content: `是否确认删除"${item.name}"`,
  90. complete: (res) => {
  91. if (res.confirm) {
  92. _Http.basic({
  93. "id": "20221018145502",
  94. "content": {
  95. "contactsid": item.contactsid,
  96. "sys_enterpriseid": item.sys_enterpriseid
  97. }
  98. }).then(res => {
  99. console.log("删除地址", res)
  100. if (res.msg != '成功') return wx.showToast({
  101. title: res.data,
  102. icon: "none"
  103. });
  104. wx.showToast({
  105. title: `删除成功!`,
  106. icon: "none"
  107. });
  108. getCurrentPages().forEach(v => {
  109. switch (v.__route__) {
  110. case "packageA/setclient/detail":
  111. let model = v.selectComponent("#Address");
  112. model.setData({
  113. list: model.data.list.filter(value => value.contactsid != item.contactsid)
  114. });
  115. model.changeTotal();
  116. break;
  117. case "packageA/setclient/modules/address/search/index":
  118. v.setData({
  119. list: v.data.list.filter(value => value.contactsid != item.contactsid)
  120. });
  121. break;
  122. }
  123. })
  124. })
  125. }
  126. }
  127. })
  128. break;
  129. }
  130. },
  131. initRadio() {
  132. let data = this.data.list.find(v => v.isdefault == 1);
  133. this.setData({
  134. radio: data ? data.contactsid : 0
  135. })
  136. },
  137. }
  138. })