create.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. loading: false,
  5. disabled: false,
  6. showAll: false,
  7. activeTab: 0,
  8. form: [{
  9. label: "客户",
  10. error: false,
  11. errMsg: "",
  12. type: "text",
  13. value: "",
  14. placeholder: "客户名称",
  15. valueName: "name",
  16. required: false,
  17. checking: "base",
  18. disabled: true
  19. },
  20. {
  21. label: "门店",
  22. error: false,
  23. errMsg: "",
  24. type: "text",
  25. value: "",
  26. placeholder: "门店名称",
  27. valueName: "storename",
  28. required: false,
  29. checking: "base",
  30. disabled: true
  31. },
  32. {
  33. label: "开单日期",
  34. error: false,
  35. errMsg: "",
  36. type: "date",
  37. value: "",
  38. placeholder: "请选择开单日期",
  39. valueName: "billdate",
  40. required: false,
  41. checking: "base"
  42. },
  43. {
  44. label: "订单数量",
  45. error: false,
  46. errMsg: "",
  47. type: "number",
  48. value: "0",
  49. placeholder: "订单数量",
  50. valueName: "orderCount",
  51. required: false,
  52. checking: "base",
  53. disabled: true
  54. },
  55. {
  56. label: "订单金额",
  57. error: false,
  58. errMsg: "",
  59. type: "number",
  60. value: "0",
  61. placeholder: "订单金额",
  62. valueName: "amount",
  63. required: false,
  64. checking: "base",
  65. disabled: true
  66. },
  67. {
  68. label: "备注",
  69. error: false,
  70. errMsg: "",
  71. type: "textarea",
  72. value: "",
  73. placeholder: "请输入备注",
  74. valueName: "remarks",
  75. required: false,
  76. checking: "base"
  77. }
  78. ],
  79. "content": {
  80. "sa_custorderid": 0,
  81. "sa_customersid": "",
  82. "name": "",
  83. "storename": "",
  84. "billdate": "",
  85. "orderCount": 0,
  86. "amount": 0,
  87. "remarks": "",
  88. "siteid": "MD"
  89. }
  90. },
  91. onLoad(options) {
  92. // 获取客户ID和客户信息
  93. if (options.sa_customersid) {
  94. this.setData({
  95. "content.sa_customersid": options.sa_customersid
  96. });
  97. // 如果传递了客户信息,填充到表单
  98. try {
  99. const customerInfo = getCurrentPages().find(v => v.__route__ == 'CRM/customer/detail').data.detail;
  100. let form = this.data.form;
  101. console.log("customerInfo", customerInfo)
  102. // 填充客户信息到表单
  103. form.forEach(item => {
  104. if (item.valueName === 'name' && customerInfo.name) {
  105. item.value = customerInfo.name;
  106. }
  107. if (item.valueName === 'storename' && customerInfo.storename) {
  108. item.value = customerInfo.storename;
  109. }
  110. });
  111. this.setData({
  112. form
  113. });
  114. } catch (error) {
  115. console.error("解析客户信息失败", error);
  116. }
  117. }
  118. // 设置默认开单日期为当天
  119. const today = new Date().toISOString().split('T')[0];
  120. let form = this.data.form;
  121. form.forEach(item => {
  122. if (item.valueName === 'billdate') {
  123. item.value = today;
  124. this.setData({
  125. "content.billdate": today
  126. });
  127. }
  128. });
  129. this.setData({
  130. form
  131. });
  132. },
  133. submit() {
  134. this.setData({
  135. loading: true
  136. });
  137. let formData = this.selectComponent("#Form").submit();
  138. if (!formData) {
  139. this.setData({
  140. loading: false
  141. });
  142. return;
  143. }
  144. let content = {
  145. ...this.data.content,
  146. ...formData
  147. };
  148. _Http.basic({
  149. "id": "2026031309441701", // 创建订单的接口ID
  150. content
  151. }).then(res => {
  152. this.setData({
  153. loading: false
  154. });
  155. console.log("保存订单", res);
  156. if (res.code == 1) {
  157. // 刷新客户详情页面
  158. const pages = getCurrentPages();
  159. const detailPage = pages.find(v => v.__route__ == 'CRM/customer/detail');
  160. if (detailPage) {
  161. detailPage.partialRenewal(true);
  162. }
  163. wx.navigateBack({
  164. success() {
  165. wx.showToast({
  166. title: "开单成功",
  167. icon: "success"
  168. });
  169. }
  170. });
  171. } else {
  172. wx.showToast({
  173. title: res.msg || '保存失败',
  174. icon: 'none'
  175. });
  176. }
  177. }).catch(err => {
  178. this.setData({
  179. loading: false
  180. });
  181. console.error("保存订单失败", err);
  182. wx.showToast({
  183. title: '网络错误',
  184. icon: 'none'
  185. });
  186. });
  187. },
  188. interrupt({
  189. detail
  190. }) {
  191. // 处理中断逻辑,如果需要的话
  192. },
  193. /* 表单必填项是否完成 */
  194. onConfirm({
  195. detail
  196. }) {
  197. this.setData({
  198. disabled: detail
  199. });
  200. },
  201. onChange(e) {
  202. this.setData({
  203. showAll: e.detail
  204. });
  205. },
  206. closePage() {
  207. wx.navigateBack({
  208. delta: 1
  209. });
  210. },
  211. // tab切换
  212. onTabChange(e) {
  213. this.setData({
  214. activeTab: e.detail
  215. });
  216. }
  217. });