addSetclientOffer.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. Page({
  4. data: {
  5. showAll: false,
  6. form: [{
  7. label: "选择客户",
  8. error: false,
  9. errMsg: "",
  10. type: "route",
  11. url: "/packageA/select/setclient/select",
  12. radio: true,
  13. value: "",
  14. params: {
  15. id: 20221012164402,
  16. content: {
  17. nocache: true,
  18. type: 0,
  19. pageNumber: 1,
  20. pageSize: 20,
  21. isExport: 0,
  22. where: {
  23. condition: "",
  24. }
  25. },
  26. },
  27. placeholder: "选择客户",
  28. valueName: "sys_enterpriseid",
  29. checking: "base",
  30. required: true
  31. }, {
  32. label: "报价日期",
  33. error: false,
  34. errMsg: "",
  35. type: "date",
  36. start: getTime.formatTime(new Date(), '-').split(' ')[0],
  37. value: getTime.formatTime(new Date(), '-').split(' ')[0],
  38. placeholder: "报价日期",
  39. valueName: "billdate",
  40. checking: "base",
  41. required: false
  42. }, {
  43. label: "有效期",
  44. error: false,
  45. errMsg: "",
  46. type: "dateRange",
  47. start: getTime.formatTime(new Date(), '-').split(' ')[0],
  48. value: [getTime.formatTime(new Date(), '-').split(' ')[0], ""],
  49. placeholder: ['生效日期', '截止日期'],
  50. valueName: "invaliddate",
  51. checking: "base",
  52. required: true
  53. }],
  54. "content": {
  55. "sa_quotedpriceid": 0, //报价单id
  56. "sa_projectid": 0, //项目id
  57. "contactsid": 0, //联系人id
  58. "sys_enterpriseid": 0, //合作客户ID
  59. "invaliddate": "", //有效截止日期
  60. "billdate": "", //报价日期
  61. discountrate: "",
  62. remarks: "",
  63. projectname: "",
  64. address: ""
  65. },
  66. disabled: true
  67. },
  68. onLoad(options) {
  69. if (options.data) {
  70. let data = JSON.parse(options.data);
  71. let form = this.data.form;
  72. if (data.sys_enterpriseid) {
  73. form[0].value = data.sys_enterpriseid;
  74. form.splice(1, 0, {
  75. label: "联系人",
  76. error: false,
  77. errMsg: "",
  78. type: "route",
  79. url: "/packageA/select/contacts/select",
  80. model: "#Form",
  81. value: "",
  82. radio: true,
  83. params: {
  84. "id": "20221022165503",
  85. "version": 1,
  86. "content": {
  87. "sys_enterpriseid": data.sys_enterpriseid[1][0],
  88. "where": {
  89. "condition": "",
  90. "workaddress": 0
  91. }
  92. }
  93. },
  94. placeholder: "选择客户联系人",
  95. valueName: "contactsid",
  96. checking: "base",
  97. required: true
  98. })
  99. };
  100. this.setData({
  101. disabled: false,
  102. form
  103. })
  104. }
  105. },
  106. /* 打断处理form */
  107. interrupt(e) {
  108. let {
  109. data,
  110. form
  111. } = e.detail;
  112. console.log("处理", data, form)
  113. //选择客户
  114. if (data.valueName == "sys_enterpriseid") {
  115. let obj = {
  116. label: "联系人",
  117. error: false,
  118. errMsg: "",
  119. type: "route",
  120. url: "/packageA/select/contacts/select",
  121. model: "#Form",
  122. value: "",
  123. radio: true,
  124. params: {
  125. "id": "20221022165503",
  126. "version": 1,
  127. "content": {
  128. "sys_enterpriseid": data.value[1][0],
  129. "where": {
  130. "condition": "",
  131. "workaddress": 0
  132. }
  133. }
  134. },
  135. placeholder: "选择客户联系人",
  136. valueName: "contactsid",
  137. checking: "base",
  138. required: true
  139. };
  140. if (form[1].label == "联系人") {
  141. form[1] = obj
  142. } else {
  143. form.splice(1, 0, obj)
  144. }
  145. this.setData({
  146. form
  147. })
  148. }
  149. /* */
  150. },
  151. submit() {
  152. let content = {
  153. ...this.data.content,
  154. ...this.selectComponent("#Form").submit()
  155. };
  156. content.sys_enterpriseid = content.sys_enterpriseid[1][0] || '';
  157. content.contactsid = content.contactsid[1][0] || '';
  158. content.begdate = content.invaliddate[0];
  159. content.enddate = content.invaliddate[1];
  160. delete(content.invaliddate)
  161. _Http.basic({
  162. "id": 20221020164803,
  163. "version": 1,
  164. content
  165. }).then(res => {
  166. console.log("添加客户报价单", res)
  167. wx.showToast({
  168. title: res.msg != '成功' ? res.msg : '保存成功',
  169. icon: "none"
  170. })
  171. if (res.msg != '成功') return;
  172. setTimeout(() => {
  173. let pages = getCurrentPages(),
  174. page = pages[pages.length - 2];
  175. if (page.__route__ == 'packageA/offers/index') {
  176. page.getList(true);
  177. } else if (['packageA/setclient/detail', 'packageA/publicCustomer/detail'].includes(page.__route__)) {
  178. let model = page.selectComponent("#Offers");
  179. model.getList(model.data.sys_enterpriseid, true);
  180. }
  181. wx.redirectTo({
  182. url: '/packageA/offers/detail?sa_quotedpriceid=' + res.data.sa_quotedpriceid
  183. })
  184. }, 300)
  185. })
  186. },
  187. // 是否显示全部
  188. onChange({
  189. detail
  190. }) {
  191. this.setData({
  192. showAll: detail
  193. })
  194. },
  195. /* 表单必填项是否完成 */
  196. onConfirm({
  197. detail
  198. }) {
  199. this.setData({
  200. disabled: detail
  201. })
  202. }
  203. })