addSetclientOffer.js 6.3 KB

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