customer-list.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 编辑履历:
  6. * 作者 日期 版本 修改内容
  7. * 于继渤 2024-1-23 1.00 客户档案新增
  8. *******************************************************************************/
  9. const Constants = require('@/utils/Constants.js');
  10. const util = require('@/utils/util.js')
  11. const mixins = require('@/mixins/index.js')
  12. const app = getApp()
  13. Page({
  14. mixins: [mixins],
  15. /**
  16. * 页面的初始数据
  17. */
  18. data: {
  19. tagList: [{ title: "潜在客户" }, { title: "公海客户" }, { title: "邀约进店" }, { title: "预约量尺" }],
  20. // 查询条件
  21. searchContent: [{
  22. code: 'createtime',
  23. title: '近30天',
  24. defaultValue: 5,
  25. searchType: Constants.searchType.date
  26. }, {
  27. code: 'staff',
  28. title: '业务员',
  29. dropType: 'staff'
  30. }, {
  31. code: 'orderStatus',
  32. title: '订单状态',
  33. searchType: Constants.searchType.switch,
  34. list: [
  35. {
  36. checked: true,
  37. text: "异常",
  38. value: "审-异常"
  39. },
  40. {
  41. checked: true,
  42. text: "待审",
  43. value: "审-待审"
  44. },
  45. {
  46. checked: true,
  47. text: "审批中",
  48. value: "审-审中"
  49. },
  50. {
  51. checked: true,
  52. text: "通过",
  53. value: "审-通过"
  54. },
  55. {
  56. checked: true,
  57. text: "拒绝",
  58. value: "审-拒绝"
  59. },
  60. {
  61. checked: false,
  62. text: "冲正",
  63. value: "订单状态-冲正"
  64. }
  65. ]
  66. }, {
  67. code: 'choose',
  68. title: '筛选',
  69. searchType: Constants.searchType.pick
  70. }],
  71. // 查询条件-筛选
  72. pullMenuList: [{
  73. code: 'customerFrom',
  74. pullType: 'mSelect',
  75. typeName: 'customerFrom'
  76. }, {
  77. code: 'fitupType',
  78. pullType: 'mSelect',
  79. typeName: 'fitupType'
  80. }, {
  81. code: 'houseType',
  82. pullType: 'mSelect',
  83. typeName: 'houseType'
  84. }, {
  85. code: 'ageComposition',
  86. pullType: 'mSelect',
  87. typeName: 'ageComposition'
  88. }],
  89. // 列表区(脚部信息)
  90. footerInfo: [{
  91. name: 'categoryQuantity',
  92. title: '跟进'
  93. }, {
  94. name: 'tsumQuantity',
  95. title: '件'
  96. }],
  97. // 列表区(内容)
  98. contentList: [ {
  99. name: 'cusPhone',
  100. title: '客户电话',
  101. phone: true
  102. }, {
  103. name: 'addressFull',
  104. title: '客户地址'
  105. }, {
  106. name: [{
  107. name: 'orgName',
  108. title: ''
  109. }, {
  110. name: 'staffName',
  111. title: '业务员'
  112. }],
  113. title: '门店信息'
  114. }, {
  115. name: 'data',
  116. title: '提醒时间'
  117. }],
  118. contentObj: {
  119. '成交': [
  120. { name: 'orderNo', title: '订单单号' },
  121. {
  122. name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: '业务员' }
  123. ],
  124. title: '客户地址'
  125. }],
  126. '未成交': [{
  127. name: 'orderNo',
  128. title: '订单单号'
  129. }, {
  130. name: 'customerPhone',
  131. title: '客户电话'
  132. }, {
  133. name: [{
  134. name: 'orgName',
  135. title: ''
  136. }, {
  137. name: 'staffName',
  138. title: '业务员'
  139. }],
  140. title: '客户地址'
  141. }]
  142. },
  143. // 弹出按钮
  144. buttonList: [{
  145. name: 'customerRefund',
  146. title: '出库办理'
  147. }, {
  148. name: 'customerRefundList',
  149. title: '作废'
  150. }, {
  151. name: 'customerRefundList',
  152. title: '打印票据'
  153. }
  154. ],
  155. totallength: 0, //视图下方提醒数量
  156. // 路由
  157. routeObjName: 'customer',
  158. active: 0
  159. },
  160. /**
  161. * 切换 已出库 未出库
  162. */
  163. onChangeTabs(e) {
  164. let index = e.detail.detail.index
  165. console.log("qeaqwewa", index)
  166. console.log("qeaqwewa", e)
  167. this.setData({
  168. active: index,
  169. })
  170. },
  171. /**
  172. * 跳转客户详细
  173. */
  174. toDetail(e) {
  175. wx.navigateTo({
  176. url: './detail/detail?item=' + encodeURIComponent(JSON.stringify(e.currentTarget.dataset.item)) + '&sourcePage=outbound-processing',
  177. })
  178. },
  179. toTitle(e) {
  180. console.log('t1', e);
  181. },
  182. toStatus(e) {
  183. console.log('t2', e);
  184. },
  185. toPoint(e) {
  186. console.log('t3', e);
  187. this.setData({
  188. showShare: true
  189. })
  190. },
  191. toAdd() {
  192. wx.navigateTo({
  193. url: './add/add',
  194. })
  195. },
  196. /**
  197. * @desc : 右上角三个小点 点击回调事件
  198. * @date : 2024/2/1 15:49
  199. * @author : 王英杰
  200. */
  201. open(e) {
  202. let name = e.detail.name
  203. let item = e.detail.item
  204. if (name == 'customerRefund') { //客户收款
  205. wx.navigateTo({
  206. url: '/package-sales/pages/order-billing/customer-collection-refund/customer-collection-refund?form=' + encodeURIComponent(JSON.stringify(item)) + '&page=customer-collection' + '&pageIndex=customer-collection',
  207. })
  208. }
  209. if (name == 'customerRefundList') { //客户退款
  210. wx.navigateTo({
  211. url: '/package-sales/pages/order-billing/customer-collection/refund-record/refund-record?form=' + encodeURIComponent(JSON.stringify(item)) + '&page=customer-collection',
  212. })
  213. }
  214. },
  215. /**
  216. * @desc : 校验
  217. * @date : 2024/2/1 15:49
  218. * @author : 周兴
  219. */
  220. openValidData(item, name) {
  221. console.log('item', item, name, item.customerId);
  222. if (!item.customerId) {
  223. wx.showToast({
  224. title: '无此联系人,或陌生接待',
  225. icon: 'none'
  226. })
  227. return false;
  228. }
  229. return true;
  230. },
  231. /**
  232. * @desc : 查询
  233. * @date : 2024/2/1 15:49
  234. * @author : 周兴
  235. */
  236. getData(params) {
  237. return this.excute(this.data.service, this.data.service.selectByCond, params);
  238. },
  239. /**
  240. * 生命周期函数--监听页面加载
  241. */
  242. onLoad: function (options) {
  243. //按钮权限
  244. // let Customer_Follow = common.hasButtonRight(Constants.Customer_Follow) //跟进
  245. // let Customer_Follow_Task = common.hasButtonRight(Constants.Customer_Follow_Task) //跟进任务
  246. // let Customer_Order = common.hasButtonRight(Constants.Customer_Order) //销售订单
  247. // let Customer_Receive = common.hasButtonRight(Constants.Customer_Receive) //客户收款
  248. // let Customer_Add = common.hasButtonRight(Constants.Customer_Add) //客户新建
  249. this.setData({
  250. Customer_Follow: true,
  251. Customer_Follow_Task: true,
  252. Customer_Order: true,
  253. Customer_Receive: true,
  254. Customer_Add: true
  255. })
  256. if (JSON.stringify(options) !== '{}') {
  257. if (options.frommine) {
  258. let frommine = JSON.parse(options.frommine)
  259. var createtime = this.selectComponent('#createtime');
  260. createtime.data.dataDefaultSearch = util.jumpPageDate(frommine.date.value)
  261. createtime.data.createTimeType = frommine.date
  262. let keyType = this.selectComponent('#keyType')
  263. let keyTypeList = keyType.data.moreList
  264. keyTypeList.forEach(kIt => {
  265. if (frommine.keyTypeList) {
  266. if (frommine.keyTypeList.some(it => kIt.id === it)) {
  267. kIt.infotype = 'info'
  268. }
  269. }
  270. })
  271. keyType.setData({
  272. moreList: keyTypeList
  273. })
  274. let searchForm = {
  275. ...this.data.searchForm
  276. }
  277. searchForm.keyTypeList = frommine.keyTypeNameList
  278. this.setData({
  279. active: frommine.active,
  280. createTimeType: frommine.date,
  281. searchForm: searchForm,
  282. searchFormNumber: (frommine.keyTypeNameList && frommine.keyTypeNameList.length > 0) ? 1 : null,
  283. createTimeSearch: util.jumpPageDate(frommine.date.value),
  284. staffIds: frommine.staffId ? [frommine.staffId] : [],
  285. staffNames: frommine.staffNames,
  286. })
  287. createtime.init()
  288. }
  289. } else {
  290. // this.searchData()
  291. }
  292. },
  293. /**
  294. * 生命周期函数--监听页面显示
  295. */
  296. onShow: function () {
  297. if (this.data.selectflag) {
  298. // this.searchData()
  299. }
  300. },
  301. })