add.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. routeObjName: 'customer',
  20. cardList: ['main', 'center', 'remarks'],
  21. buttonSaveList: [{ code: 'add', title: mixins.$t('save'), width: '120rpx' }],
  22. contentObj: {
  23. main: [
  24. { code: 'cusName', type: 'str', required: true, title: mixins.$t('customerName') },
  25. { code: 'cusPhone', type: 'phone', title: mixins.$t('cusPhone'), required: true },
  26. { code: 'addressFull', type: 'address', title: mixins.$t('addressFull'), required: true },
  27. { code: 'addressNo', type: 'str', required: true, title: mixins.$t('addressNo') },
  28. { code: 'cusFrom', name: 'cusFromName', type: 'drop', required: true, dropType: 'customerFrom', title: mixins.$t('customerSource') },
  29. { code: 'contactName', type: 'str', required: false, title: mixins.$t('contactName') },
  30. { code: 'contactPhone', type: 'str', title: mixins.$t('cpPhone'), required: false },
  31. ],
  32. center: [
  33. { code: 'channelId', name: 'channelName', type: 'drop', dropType: 'saleChannel',required: true, title: mixins.$t('saleChannel') },
  34. { code: 'staffId', name: 'staffName', type: 'choose', required: true, title: mixins.$t('saleStaff'), urlKey: 'chooseStaff' },
  35. { code: 'orgId', name: 'orgName', type: 'choose', required: true, title: mixins.$t('saleOrg'), urlKey: 'chooseOrg' },
  36. { code: 'initialDebt', type: 'number', required: false, title: mixins.$t('initialDebtOwed') },
  37. ],
  38. remarks: [
  39. { code: 'remarks', type: 'textarea', title: mixins.$t('remarks') }
  40. ]
  41. },
  42. },
  43. /**
  44. * @desc : 选择数据源
  45. * @date : 2024/2/1 15:49
  46. * @author : 于继渤
  47. */
  48. chooseData(e) {
  49. let formData = JSON.parse(this.data.formData)
  50. let code = e.detail.code
  51. let data = e.detail.data.data
  52. if (code == "staffId") { //员工
  53. formData.staffId = data.id
  54. formData.staffName = data.name
  55. }
  56. if (code == "orgId") { //部门
  57. formData.orgId = data.id
  58. formData.orgName = data.name
  59. }
  60. this.setData({
  61. formData: JSON.stringify(formData)
  62. })
  63. },
  64. /**
  65. * @desc : 保存数据服务
  66. * @date : 2024/2/1 15:49
  67. * @author : 于继渤
  68. */
  69. saveData() {
  70. if (this.data.formMode == Constants.formMode.edit) {
  71. return this.excute(this.data.service, this.data.service.update, this.data.params);
  72. } else {
  73. return this.excute(this.data.service, this.data.service.insert, this.data.params);
  74. }
  75. },
  76. /**
  77. * @desc : 给表单赋值
  78. * @date : 2024/2/1 15:49
  79. * @author : 于继渤
  80. */
  81. setValuesByEdit(data) {
  82. //处理地址
  83. data.address = {
  84. address: data.addressFull,
  85. addressFull: data.addressFull,
  86. addressArea: data.addressArea,
  87. addressGcj02: data.addressGcj02,
  88. addressName: data.addressName,
  89. }
  90. this.setData({
  91. formData: JSON.stringify(data)
  92. })
  93. },
  94. /**
  95. * 生命周期函数--监听页面加载
  96. */
  97. loadInit(options) {
  98. //TODO 销售渠道默认 零售 ,销售部门销售员工默认当前登录人的
  99. if (this.data.formMode == Constants.formMode.edit) {
  100. wx.setNavigationBarTitle({
  101. title: mixins.$t('editCus'),
  102. })
  103. }
  104. },
  105. })