add.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. let _Http = getApp().globalData.http,
  2. count = null;
  3. Page({
  4. data: {
  5. loading: false,
  6. showAll: false,
  7. content: {
  8. sa_orderid: 0
  9. },
  10. disabled: true,
  11. sa_saleareaid: '',
  12. type: ''
  13. },
  14. onLoad(options) {
  15. let type = '',
  16. hrid = '';
  17. if (options.type) type = options.type;
  18. let form = [{
  19. label: "购货类型",
  20. error: false,
  21. errMsg: "",
  22. type: "option",
  23. optionNmae: "purchasetype",
  24. optionType: "radio", //复选 radio 单选
  25. value: "",
  26. placeholder: "购货类型",
  27. valueName: "shoppingtype",
  28. checking: "base",
  29. required: true
  30. }, {
  31. label: "交货日期",
  32. error: false,
  33. errMsg: "",
  34. type: "date",
  35. start: '',
  36. value: '',
  37. placeholder: "交货日期",
  38. valueName: "deliverydate",
  39. checking: "base",
  40. required: false,
  41. }, {
  42. label: "业务员",
  43. error: false,
  44. errMsg: "",
  45. type: "route",
  46. url: "/prsx/select/saler/index",
  47. value: "",
  48. placeholder: "业务员",
  49. valueName: "saler_hrid",
  50. checking: "base",
  51. required: true,
  52. params: {
  53. "content": {
  54. "sa_agentsid": 0, //经销商订单时传经销商id
  55. "pageNumber": 1,
  56. "pageSize": 20,
  57. "where": {
  58. "condition": ""
  59. }
  60. },
  61. "id": 2025102815162702,
  62. },
  63. query: "&radio=true",
  64. interrupt: true,
  65. disabled: true
  66. }, {
  67. label: "营销区域",
  68. error: false,
  69. errMsg: "",
  70. type: "selector",
  71. range: [],
  72. rangeKey: "areaname",
  73. selectKey: "areaname",
  74. rangeIndex: "",
  75. value: "",
  76. placeholder: "营销区域",
  77. valueName: "sa_saleareaid",
  78. required: true, //必填
  79. disabled: true
  80. }, {
  81. label: "备注",
  82. error: false,
  83. errMsg: "",
  84. type: "textarea",
  85. value: "",
  86. placeholder: "备注",
  87. valueName: "remarks",
  88. checking: "base",
  89. required: false
  90. }]
  91. if (type == '医院订单') form.unshift({
  92. label: "医院",
  93. error: false,
  94. errMsg: "",
  95. type: "route",
  96. url: "/prsx/select/hospital/index",
  97. value: "",
  98. placeholder: "医院",
  99. valueName: "sa_customersid",
  100. checking: "base",
  101. required: true,
  102. params: {
  103. "content": {
  104. "isExport": 0,
  105. "pageNumber": 1,
  106. "pageSize": 20,
  107. "where": {
  108. "condition": ""
  109. }
  110. },
  111. "id": 2025102814083902,
  112. },
  113. query: "&radio=true",
  114. required: true,
  115. interrupt: true,
  116. }, {
  117. label: "科室",
  118. error: false,
  119. errMsg: "",
  120. type: "route",
  121. url: "/prsx/select/department/index",
  122. value: "",
  123. placeholder: "科室",
  124. valueName: "sa_hospitaldepid",
  125. checking: "base",
  126. required: true,
  127. params: {
  128. "content": {
  129. "sa_customersid": 0, //经销商订单时传经销商id
  130. "pageNumber": 1,
  131. "pageSize": 20,
  132. "where": {
  133. "condition": ""
  134. }
  135. },
  136. "id": 2025102310143002,
  137. },
  138. query: "&radio=true",
  139. interrupt: true,
  140. disabled: true
  141. }, {
  142. label: "经销商",
  143. error: false,
  144. errMsg: "",
  145. type: "route",
  146. url: "/prsx/select/firm/index",
  147. value: "",
  148. params: {
  149. id: 2025102814092602,
  150. "content": {
  151. "pageSize": 20,
  152. "pageNumber": 1,
  153. "sa_hospitaldepid": 0,
  154. "where": {
  155. "condition": ""
  156. }
  157. },
  158. },
  159. query: "&radio=true",
  160. placeholder: "选择经销商",
  161. valueName: "sa_agentsid",
  162. checking: "base",
  163. required: options.type == '经销商订单',
  164. interrupt: options.type == '经销商订单',
  165. disabled: options.type == '医院订单'
  166. })
  167. if (type == '经销商订单') form.unshift({
  168. label: "经销商",
  169. error: false,
  170. errMsg: "",
  171. type: "route",
  172. url: "/prsx/select/firm/index",
  173. value: "",
  174. params: {
  175. id: 2025102814092602,
  176. "content": {
  177. "pageSize": 20,
  178. "pageNumber": 1,
  179. "sa_customersid": 0,
  180. "where": {
  181. "condition": ""
  182. }
  183. },
  184. },
  185. query: "&radio=true",
  186. placeholder: "选择经销商",
  187. valueName: "sa_agentsid",
  188. checking: "base",
  189. required: options.type == '经销商订单',
  190. interrupt: options.type == '经销商订单',
  191. disabled: options.type == '医院订单'
  192. }, {
  193. label: "科室",
  194. error: false,
  195. errMsg: "",
  196. type: "route",
  197. url: "/prsx/select/department/index",
  198. value: "",
  199. placeholder: "科室",
  200. valueName: "sa_hospitaldepid",
  201. checking: "base",
  202. required: true,
  203. params: {
  204. "content": {
  205. "sa_agentsid": 0, //经销商订单时传经销商id
  206. "pageNumber": 1,
  207. "pageSize": 20,
  208. "where": {
  209. "condition": ""
  210. }
  211. },
  212. "id": 2025111909582402,
  213. },
  214. query: "&radio=true",
  215. interrupt: true,
  216. disabled: true
  217. })
  218. if (hrid) {
  219. _Http.basic({
  220. "method": "query_hrMain",
  221. "classname": "webmanage.hr.hr",
  222. "content": {
  223. hrid
  224. },
  225. }).then(res => {
  226. if (res.code != 1) return;
  227. let obj = form.find(v => v.label == '营销区域')
  228. obj.range = res.data.salearea;
  229. if (obj.range.length == 1) obj.value = obj.range[0].areaname;
  230. obj.disabled = false;
  231. this.setData({
  232. form
  233. })
  234. })
  235. }
  236. this.setData({
  237. form,
  238. type
  239. })
  240. getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑' + type : '新建' + type);
  241. },
  242. interrupt(e) {
  243. const {
  244. data,
  245. form,
  246. temporary
  247. } = e.detail;
  248. console.log(data, form, temporary)
  249. if (temporary.item.label == '业务员') {
  250. form.find(v => v.label == '业务员').value = [data.item.name, [data.item.hrid]];
  251. // form.find(v => v.label == '业务员').value = data.value;
  252. let obj = form.find(v => v.label == '营销区域')
  253. console.log(data.item, 'data.item')
  254. obj.value = data.item.areaname;
  255. this.setData({
  256. sa_saleareaid: data.item.sa_saleareaid
  257. })
  258. wx.navigateBack()
  259. } else if (temporary.item.label == '医院') {
  260. form.find(v => v.label == '医院').value = data.value;
  261. let leader = data.item.leader[0];
  262. let obj1 = form.find(v => v.label == '业务员')
  263. obj1.value = [leader.name, ['']]
  264. let obj = form.find(v => v.label == '营销区域')
  265. obj.value = data.item.areaname;
  266. obj.range = [{
  267. areaname: data.item.areaname,
  268. sa_saleareaid: ""
  269. }];
  270. let obj2 = form.find(v => v.label == '经销商')
  271. obj2.value = '';
  272. let obj3 = form.find(v => v.label == '科室')
  273. obj3.params.content.sa_customersid = data.id[0];
  274. obj3.value = '';
  275. obj3.disabled = false;
  276. // let obj3 = form.find(v => v.label == '合同')
  277. // obj3.params.content.sa_customersid = data.id[0];
  278. // obj3.disabled = false;
  279. // obj3.value = '';
  280. wx.navigateBack()
  281. } else if (temporary.item.label == '经销商') {
  282. form.find(v => v.label == '经销商').value = data.value;
  283. let obj = form.find(v => v.label == '业务员')
  284. obj.params.content.sa_agentsid = data.id[0]
  285. obj.disabled = false;
  286. if (this.data.type == '经销商订单') {
  287. let obj3 = form.find(v => v.label == '科室')
  288. obj3.params.content.sa_agentsid = data.id[0];
  289. obj3.value = '';
  290. obj3.disabled = false;
  291. // let obj3 = form.find(v => v.label == '合同')
  292. // obj3.params.content.sa_agentsid = data.id[0];
  293. // obj3.disabled = false;
  294. // obj3.value = '';
  295. }
  296. wx.navigateBack()
  297. } else if (temporary.item.label == '科室') {
  298. if (this.data.type == '医院订单') {
  299. form.find(v => v.label == '科室').value = data.value;
  300. let obj2 = form.find(v => v.label == '经销商')
  301. obj2.params.content.sa_hospitaldepid = data.id[0];
  302. obj2.value = ''
  303. obj2.disabled = false
  304. wx.navigateBack()
  305. } else {
  306. form.find(v => v.label == '科室').value = data.value;
  307. wx.navigateBack()
  308. }
  309. }
  310. this.selectComponent("#Form").confirm();
  311. this.setData({
  312. form
  313. })
  314. },
  315. /* 表单必填项是否完成 */
  316. onConfirm({
  317. detail
  318. }) {
  319. this.setData({
  320. disabled: detail
  321. })
  322. },
  323. // 是否显示全部
  324. onChange({
  325. detail
  326. }) {
  327. this.setData({
  328. showAll: detail
  329. })
  330. },
  331. async submit() {
  332. this.setData({
  333. loading: true
  334. })
  335. let data = this.selectComponent("#Form").submit(),
  336. content = this.data.content
  337. data.sa_agentsid = data.sa_agentsid.length ? data.sa_agentsid[1][0] : 0
  338. data.saler_hrid = data.saler_hrid.length ? data.saler_hrid[1][0] : 0
  339. data.sa_hospitaldepid = data.sa_hospitaldepid.length ? data.sa_hospitaldepid[1][0] : 0
  340. try {
  341. data.sa_customersid = data.sa_customersid.length ? data.sa_customersid[1][0] : 0
  342. } catch (error) {
  343. }
  344. // data.sa_saleareaid = this.data.form.find(v => v.label == '营销区域').range.find(v => v.areaname == data.sa_saleareaid).sa_saleareaid || '';
  345. data.sa_saleareaid = this.data.sa_saleareaid
  346. // data.sa_contractid = data.sa_contractid.length ? data.sa_contractid[1][0] : 0
  347. _Http.basic({
  348. "id": 20221108111402,
  349. "content": {
  350. ...content,
  351. ...data,
  352. }
  353. }).then(res => {
  354. this.setData({
  355. loading: false
  356. })
  357. wx.showToast({
  358. title: res.code != '1' ? res.msg : '保存成功',
  359. icon: "none",
  360. mask: res.code == '1'
  361. })
  362. if (res.code != '1') return;
  363. getCurrentPages().forEach(v => {
  364. if (v.route == 'prsx/orderForm/detail') v.getDetail()
  365. })
  366. setTimeout(() => {
  367. if (content.sa_orderid == 0) {
  368. wx.redirectTo({
  369. url: '/prsx/orderForm/detail?id=' + res.data.sa_orderid,
  370. })
  371. } else {
  372. wx.navigateBack()
  373. }
  374. }, 300)
  375. })
  376. },
  377. })