index.js 6.6 KB

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