index.js 5.8 KB

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