detail.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. tabsActive: 0, //tabs 选中项
  5. sa_customersid: 0,
  6. detail: {}, //详情数据
  7. briefs: [], //简介列表
  8. tabsList: [{
  9. label: "跟进动态",
  10. num: 132
  11. }, {
  12. label: "详细信息",
  13. num: 132
  14. }, {
  15. label: "客户地址",
  16. num: 132
  17. }, {
  18. label: "联系人",
  19. num: 132
  20. }, {
  21. label: "客户财务信息",
  22. num: 132
  23. }],
  24. list1: [], //基本信息
  25. list2: [], //系统信息
  26. },
  27. onLoad(options) {
  28. this.setData({
  29. sa_customersid: options.id
  30. })
  31. this.getDetail();
  32. },
  33. /* 获取详情 */
  34. getDetail() {
  35. /* 基本信息 */
  36. _Http.basic({
  37. "id": 20221012164302,
  38. "content": {
  39. sa_customersid: this.data.sa_customersid
  40. },
  41. }).then(res => {
  42. console.log("详情", res)
  43. if (res.msg != '成功') return wx.showToast({
  44. title: res.data,
  45. icon: "none"
  46. })
  47. /* 摘要信息 */
  48. let briefs = [{
  49. label: "客户级别",
  50. value: res.data.grade
  51. }, {
  52. label: "客户类型",
  53. value: res.data.type
  54. }, {
  55. label: "上级企业",
  56. value: res.data.superiorenterprisename
  57. }];
  58. /* 基本信息 */
  59. let list1 = [{
  60. label: "客户名称",
  61. value: res.data.enterprisename
  62. }, {
  63. label: "客户编号",
  64. value: res.data.sa_customersid
  65. }, {
  66. label: "客户级别",
  67. value: res.data.grade
  68. }, {
  69. label: "客户类型",
  70. value: res.data.type
  71. }, {
  72. label: "上级企业",
  73. value: res.data.superiorenterprisename
  74. }, {
  75. label: "分配状态",
  76. value: ""
  77. }, {
  78. label: "锁定状态",
  79. value: (function () {
  80. if (res.data.datastatu == 0) {
  81. return "正常"
  82. } else {
  83. return res.data.datastatu == 1 ? "作废" : "锁定"
  84. }
  85. })(),
  86. }, {
  87. label: "来源",
  88. value: res.data.source
  89. }];
  90. /* 系统信息 */
  91. const list2 = [{
  92. label: "创建人",
  93. value: res.data.createby
  94. }, {
  95. label: "创建时间",
  96. value: res.data.createdate
  97. }, {
  98. label: "成交状态",
  99. value: res.data.tradingstatus
  100. }, {
  101. label: "转手次数",
  102. value: ""
  103. }, {
  104. label: "最近编辑人",
  105. value: ""
  106. }, {
  107. label: "最近编辑时间",
  108. value: ""
  109. }, {
  110. label: "最近跟进人",
  111. value: ""
  112. }, {
  113. label: "最近跟进时间",
  114. value: ""
  115. }, {
  116. label: "客户资料完善度",
  117. value: ""
  118. }];
  119. this.setData({
  120. detail: res.data,
  121. briefs,
  122. list1,
  123. list2
  124. });
  125. //负责人
  126. _Http.basic({
  127. "id": 20220930103501,
  128. "content": {
  129. "ownertable": "sa_customers",
  130. "ownerid": this.data.sa_customersid
  131. }
  132. }).then(s => {
  133. console.log("负责人", res)
  134. let list = list1.concat([{
  135. label: "负责人",
  136. value: s.data[0].name
  137. }, {
  138. label: "负责人部门",
  139. value: s.data[0].position
  140. }])
  141. list[5].value = s.data.length > 0 ? '已分配' : '未分配';
  142. this.setData({
  143. principal: s.data,
  144. list1: list,
  145. briefs: this.data.briefs.concat([{
  146. label: "负责人",
  147. value: s.data[0].name
  148. }, {
  149. label: "最近跟进时间",
  150. value: s.data[0].changedate
  151. }])
  152. });
  153. });
  154. //获取标签
  155. this.getTags();
  156. this.getGroup()
  157. this.partialRenewal();
  158. });
  159. },
  160. //tabs 切换
  161. tabsChange({
  162. detail
  163. }) {
  164. this.setData({
  165. tabsActive: detail
  166. });
  167. this.partialRenewal();
  168. },
  169. //局部数据更新 tabs
  170. partialRenewal(init = false) {
  171. const id = this.data.detail.sys_enterpriseid;
  172. let model = '';
  173. let name = this.data.tabsList[this.data.tabsActive].label;
  174. switch (name) {
  175. case "跟进动态":
  176. model = "#Trace"
  177. break;
  178. case "客户地址":
  179. model = "#Address"
  180. break;
  181. case "联系人":
  182. model = "#Contacts"
  183. break;
  184. case "客户财务信息":
  185. model = "#Financing"
  186. break;
  187. default:
  188. break;
  189. };
  190. if (model) {
  191. // 确定好模块ID total = null 是第一次加载 加载数据
  192. // init是新增或修改需要清数据
  193. let Component = this.selectComponent(model);
  194. const {
  195. total,
  196. pageNumber,
  197. pageTotal
  198. } = Component.data.content;
  199. if (total == null || init) {
  200. console.log(1)
  201. Component.getList(id, init);
  202. } else if (pageNumber <= pageTotal) {
  203. console.log(2)
  204. Component.getList(id, false);
  205. } else {
  206. //用来判断 在搜索页面修改,与tabs选项不一致 但是切换到该选项 重置数据
  207. }
  208. }
  209. },
  210. //更新标签
  211. getTags() {
  212. this.selectComponent("#Tags").getTags();
  213. },
  214. //更新团队成员
  215. getGroup() {
  216. this.selectComponent("#Group").getList();
  217. },
  218. onReachBottom() {
  219. this.partialRenewal();
  220. },
  221. onShareAppMessage() {}
  222. })