detail.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  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. label: "开票信息",
  25. num: 132
  26. }],
  27. list1: [], //基本信息
  28. list2: [], //系统信息
  29. tabbarList: [{
  30. icon: "icon-genjin",
  31. label: "跟进"
  32. }, {
  33. icon: "icon-bianji",
  34. label: "编辑"
  35. }, {
  36. icon: "icon-zhuanyi",
  37. label: "更换负责人"
  38. }, {
  39. icon: "icon-shanchu",
  40. label: "作废"
  41. }]
  42. },
  43. onLoad(options) {
  44. this.setData({
  45. sa_customersid: options.id
  46. })
  47. this.getDetail();
  48. },
  49. //详情按钮回调
  50. tabbarOnClick({
  51. detail
  52. }) {
  53. let data = this.data.detail;
  54. switch (detail.label) {
  55. case "跟进":
  56. wx.navigateTo({
  57. url: `/packageA/setclient/modules/trace/add/index?ownertable=sa_customers&ownerid=${data.sa_customersid}`,
  58. })
  59. break;
  60. case "编辑":
  61. wx.navigateTo({
  62. url: `/packageA/setclient/addAndEditor?data=${JSON.stringify(data)}`,
  63. })
  64. break;
  65. case "作废":
  66. wx.navigateTo({
  67. url: `/packageA/setclient/delete?item=${JSON.stringify({
  68. "sa_customersids": [this.data.detail.sa_customersid],
  69. datastatus: 1, //(0:正常;1:作废;2:锁定)
  70. })}`,
  71. })
  72. break;
  73. case "更换负责人":
  74. wx.navigateTo({
  75. url: `/pages/group/select?data=${JSON.stringify({
  76. ownertable:"sa_customers",
  77. ownerid:this.data.sa_customersid,
  78. })}&radio=true&principal=true`,
  79. })
  80. break;
  81. default:
  82. console.log(detail)
  83. break;
  84. }
  85. },
  86. /* 更换负责人 */
  87. handelSubmit(arr) {
  88. const that = this;
  89. wx.showModal({
  90. title: '提示',
  91. content: '是否确认更换负责人',
  92. complete: ({
  93. confirm
  94. }) => {
  95. if (confirm) _Http.basic({
  96. "id": 20220930103701,
  97. "content": {
  98. ownertable: "sa_customers",
  99. ownerid: that.data.sa_customersid,
  100. userid: arr[0]
  101. }
  102. }).then(res => {
  103. console.log("更换负责人", res)
  104. if (res.msg != '成功') return wx.showToast({
  105. title: res.data,
  106. icon: "none"
  107. });
  108. wx.showToast({
  109. title: '更换成功!',
  110. icon: "none"
  111. });
  112. setTimeout(() => {
  113. that.getDetail();
  114. getCurrentPages().forEach(v => {
  115. if (['packageA/setclient/index'].includes(v.__route__)) v.getList(true)
  116. })
  117. wx.navigateBack();
  118. }, 300)
  119. })
  120. }
  121. })
  122. },
  123. /* 获取详情 */
  124. getDetail() {
  125. /* 基本信息 */
  126. _Http.basic({
  127. "id": 20221012164302,
  128. "content": {
  129. sa_customersid: this.data.sa_customersid
  130. },
  131. }).then(res => {
  132. console.log("详情", res)
  133. if (res.msg != '成功') return wx.showToast({
  134. title: res.data,
  135. icon: "none"
  136. })
  137. /* 摘要信息 */
  138. let briefs = [{
  139. label: "客户级别",
  140. value: res.data.grade
  141. }, {
  142. label: "客户类型",
  143. value: res.data.type
  144. }, {
  145. label: "上级企业",
  146. value: res.data.superiorenterprisename
  147. }];
  148. /* 基本信息 */
  149. let list1 = [{
  150. label: "客户名称",
  151. value: res.data.enterprisename
  152. }, {
  153. label: "客户编号",
  154. value: res.data.sa_customersid
  155. }, {
  156. label: "客户级别",
  157. value: res.data.grade
  158. }, {
  159. label: "客户类型",
  160. value: res.data.type
  161. }, {
  162. label: "上级企业",
  163. value: res.data.superiorenterprisename
  164. }, {
  165. label: "分配状态",
  166. value: ""
  167. }, {
  168. label: "成交次数",
  169. value: res.data.contact_signnum
  170. }, {
  171. label: "锁定状态",
  172. value: (function () {
  173. if (res.data.datastatu == 0) {
  174. return "正常"
  175. } else {
  176. return res.data.datastatu == 1 ? "作废" : "锁定"
  177. }
  178. })(),
  179. }, {
  180. label: "来源",
  181. value: res.data.source
  182. }];
  183. /* 系统信息 */
  184. let list2 = [{
  185. label: "创建人",
  186. value: res.data.createby
  187. }, {
  188. label: "创建时间",
  189. value: res.data.createdate
  190. }, {
  191. label: "成交状态",
  192. value: res.data.tradingstatus
  193. }];
  194. this.setData({
  195. detail: res.data,
  196. briefs,
  197. list1,
  198. list2
  199. });
  200. //负责人
  201. _Http.basic({
  202. "id": 20220930103501,
  203. "content": {
  204. "ownertable": "sa_customers",
  205. "ownerid": this.data.sa_customersid
  206. }
  207. }).then(s => {
  208. console.log("负责人", s)
  209. if (s.data.length != 0) {
  210. let list = list1.concat([{
  211. label: "负责人",
  212. value: s.data[0].teamleader[0].name
  213. }, {
  214. label: "负责人部门",
  215. value: s.data[0].teamleader[0].position
  216. }])
  217. list[5].value = s.data.length > 0 ? '已分配' : '未分配';
  218. this.setData({
  219. principal: s.data,
  220. list1: list,
  221. briefs: this.data.briefs.concat([{
  222. label: "负责人",
  223. value: s.data[0].teamleader[0].name
  224. }, {
  225. label: "最近跟进时间",
  226. value: s.data[0].teamleader[0].changedate
  227. }])
  228. });
  229. }
  230. });
  231. //系统信息
  232. _Http.basic({
  233. "id": 20221019091602,
  234. "content": {
  235. "sa_customersid": this.data.sa_customersid
  236. }
  237. }).then(s => {
  238. console.log("系统信息", s)
  239. let list = this.data.list2.concat([{
  240. label: "转手次数",
  241. value: s.data.changecount
  242. }, {
  243. label: "最近编辑人",
  244. value: s.data.changeby
  245. }, {
  246. label: "最近编辑时间",
  247. value: s.data.changedate
  248. }, {
  249. label: "最近跟进人",
  250. value: s.data.followby
  251. }, {
  252. label: "最近跟进时间",
  253. value: s.data.followdate
  254. }, {
  255. label: "客户资料完善度",
  256. value: s.data.tradingstatus
  257. }])
  258. this.setData({
  259. list2: list
  260. })
  261. })
  262. //获取标签
  263. this.getTags();
  264. this.getGroup()
  265. this.partialRenewal();
  266. });
  267. },
  268. //tabs 切换
  269. tabsChange({
  270. detail
  271. }) {
  272. this.setData({
  273. tabsActive: detail
  274. });
  275. this.partialRenewal();
  276. },
  277. //局部数据更新 tabs
  278. partialRenewal(init = false) {
  279. const id = this.data.detail.sys_enterpriseid;
  280. let model = '';
  281. let name = this.data.tabsList[this.data.tabsActive].label;
  282. switch (name) {
  283. case "跟进动态":
  284. model = "#Trace"
  285. break;
  286. case "客户地址":
  287. model = "#Address"
  288. break;
  289. case "报价单":
  290. model = "#Offers"
  291. break;
  292. case "联系人":
  293. model = "#Contacts"
  294. break;
  295. case "开票信息":
  296. model = "#Financing"
  297. break;
  298. default:
  299. break;
  300. };
  301. if (model) {
  302. // 确定好模块ID total = null 是第一次加载 加载数据
  303. // init是新增或修改需要清数据
  304. let Component = this.selectComponent(model);
  305. const {
  306. total,
  307. pageNumber,
  308. pageTotal
  309. } = Component.data.content;
  310. if (total == null || init) {
  311. console.log(1)
  312. Component.getList(id, init);
  313. } else if (pageNumber <= pageTotal) {
  314. console.log(2)
  315. Component.getList(id, false);
  316. } else {
  317. //用来判断 在搜索页面修改,与tabs选项不一致 但是切换到该选项 重置数据
  318. }
  319. }
  320. },
  321. //更新标签
  322. getTags() {
  323. this.selectComponent("#Tags").getTags();
  324. },
  325. //更新团队成员
  326. getGroup() {
  327. this.selectComponent("#Group").getList();
  328. },
  329. onReachBottom() {
  330. this.partialRenewal();
  331. },
  332. onShareAppMessage() {}
  333. })