insert.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. let _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. Page({
  4. data: {
  5. loading: false,
  6. showAll: false,
  7. content: {
  8. sa_trialid: 0,
  9. sa_hospitaldepid: 0
  10. },
  11. disabled: true,
  12. },
  13. onLoad(options) {
  14. let form = [{
  15. label: "申请日期",
  16. error: false,
  17. errMsg: "",
  18. type: "date",
  19. start: '',
  20. value: new Date().toISOString().split('T')[0],
  21. placeholder: "申请日期",
  22. valueName: "applydate",
  23. checking: "base",
  24. required: true,
  25. interrupt: true
  26. }, {
  27. label: "试用类型",
  28. error: false,
  29. errMsg: "",
  30. type: "option",
  31. optionNmae: "testtype",
  32. optionType: "radio", //复选 radio 单选
  33. value: "",
  34. placeholder: "试用类型",
  35. valueName: "type",
  36. checking: "base",
  37. required: true
  38. }, {
  39. label: "医院",
  40. error: false,
  41. errMsg: "",
  42. type: "route",
  43. url: "/prsx/select/hospital/index",
  44. value: "",
  45. placeholder: "医院",
  46. valueName: "sa_customersid",
  47. checking: "base",
  48. required: true,
  49. params: {
  50. "content": {
  51. "isExport": 0,
  52. "pageNumber": 1,
  53. "pageSize": 20,
  54. "where": {
  55. "condition": ""
  56. }
  57. },
  58. "id": 2025102814083902,
  59. },
  60. query: "&radio=true",
  61. required: true,
  62. interrupt: true,
  63. }, {
  64. label: "医生",
  65. error: false,
  66. errMsg: "",
  67. type: "route",
  68. url: "/prsx/select/docter/index",
  69. value: "",
  70. placeholder: "医生",
  71. valueName: "sa_doctorid",
  72. checking: "base",
  73. required: true,
  74. params: {
  75. "content": {
  76. "isExport": 0,
  77. "sa_customersid": 0,
  78. "pageNumber": 1,
  79. "pageSize": 20,
  80. "where": {
  81. "condition": ""
  82. }
  83. },
  84. "id": 2025102310134602,
  85. },
  86. query: "&radio=true",
  87. required: true,
  88. interrupt: true,
  89. disabled: true,
  90. }, {
  91. label: "科室",
  92. error: false,
  93. errMsg: "",
  94. type: "route",
  95. value: "",
  96. placeholder: "科室",
  97. valueName: "sa_hospitaldepid",
  98. checking: "base",
  99. required: false,
  100. disabled: true,
  101. }, {
  102. label: "经销商",
  103. error: false,
  104. errMsg: "",
  105. type: "route",
  106. url: "/prsx/select/firm/index",
  107. value: "",
  108. placeholder: "选择经销商",
  109. valueName: "sa_agentsid",
  110. checking: "base",
  111. required: true,
  112. params: {
  113. id: 2025111915343902,
  114. "content": {
  115. "pageSize": 20,
  116. "pageNumber": 1,
  117. sa_hospitaldepid: 0
  118. },
  119. },
  120. query: "&radio=true",
  121. valueName: "sa_agentsid",
  122. checking: "base",
  123. required: false,
  124. interrupt: true,
  125. disabled: true,
  126. }, {
  127. label: "发货日期",
  128. error: false,
  129. errMsg: "",
  130. type: "date",
  131. start: '',
  132. value: '',
  133. placeholder: "发货日期",
  134. valueName: "deliverydate",
  135. checking: "base",
  136. required: true,
  137. interrupt: true
  138. }, {
  139. label: "领用人",
  140. error: false,
  141. errMsg: "",
  142. type: "textarea",
  143. value: "",
  144. placeholder: "领用人",
  145. valueName: "user",
  146. checking: "base",
  147. required: true
  148. }, {
  149. label: "试用结束日期",
  150. error: false,
  151. errMsg: "",
  152. type: "date",
  153. start: '',
  154. value: '',
  155. placeholder: "试用结束日期",
  156. valueName: "enddate",
  157. checking: "base",
  158. required: true,
  159. interrupt: true
  160. }, {
  161. label: "备注",
  162. error: false,
  163. errMsg: "",
  164. type: "textarea",
  165. value: "",
  166. placeholder: "备注",
  167. valueName: "remarks",
  168. checking: "base",
  169. required: false
  170. }]
  171. if (options.data) {
  172. let data = JSON.parse(options.data);
  173. console.log(data,'1111')
  174. data.sa_customersid = [data.hospitalname, [data.sa_customersid]]
  175. data.sa_agentsid = data.agentname?[data.agentname, [data.sa_agentsid]]:0
  176. data.sa_doctorid = [data.doctorname, [data.sa_doctorid]]
  177. data.sa_hospitaldepid = [data.hospitaldepname, [data.sa_hospitaldepid]]
  178. form = form.map(v => {
  179. v.value = data[v.valueName];
  180. if (v.label == '经销商') {
  181. v.disabled = false
  182. v.params.content.sa_hospitaldepid = data.sa_hospitaldepid[1][0]
  183. }
  184. if (v.label == '医生') {
  185. v.disabled = false
  186. v.params.content.sa_customersid = data.sa_customersid[1][0]
  187. }
  188. return v
  189. })
  190. this.setData({
  191. disabled: false,
  192. content: {
  193. sa_trialid: data.sa_trialid,
  194. },
  195. form
  196. })
  197. }
  198. this.setData({
  199. form
  200. })
  201. getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑试用申请' : '新建试用申请');
  202. },
  203. interrupt(e) {
  204. console.log(e)
  205. const {
  206. data,
  207. form,
  208. temporary
  209. } = e.detail;
  210. console.log(data, form, temporary)
  211. if (temporary.item.label == '医院') {
  212. form.find(v => v.label == '医院').value = data.value;
  213. let obj2 = form.find(v => v.label == '医生')
  214. obj2.params.content.sa_customersid = data.id[0];
  215. obj2.value = '';
  216. obj2.disabled = false;
  217. let obj3 = form.find(v => v.label == '科室')
  218. obj3.value = '';
  219. let obj4 = form.find(v => v.label == '经销商')
  220. obj4.value = '';
  221. wx.navigateBack()
  222. } else if (temporary.item.label == '医生') {
  223. form.find(v => v.label == '医生').value = data.value;
  224. let obj2 = form.find(v => v.label == '经销商')
  225. obj2.params.content.sa_hospitaldepid = data.item.sa_hospitaldepid;
  226. obj2.value = '';
  227. obj2.disabled = false;
  228. form.find(v => v.label == '科室').value = [data.item.hospitaldepname, [data.item.sa_hospitaldepid]];
  229. wx.navigateBack()
  230. } else if (temporary.item.label == '经销商') {
  231. form.find(v => v.label == '经销商').value = data.value;
  232. wx.navigateBack()
  233. } else if (temporary.item.label == '申请日期') {
  234. let obj2 = form.find(v => v.label == '发货日期')
  235. if (new Date(data.value).getTime() > new Date(obj2.value)) {
  236. obj2.errMsg = '发货日期不可小于申请日期'
  237. } else {
  238. obj2.errMsg = ''
  239. }
  240. } else if (temporary.item.label == '发货日期') {
  241. let obj2 = form.find(v => v.label == '发货日期')
  242. let obj3 = form.find(v => v.label == '申请日期')
  243. if (new Date(obj3.value).getTime() > new Date(obj2.value)) {
  244. obj2.errMsg = '发货日期不可小于申请日期'
  245. } else {
  246. obj2.errMsg = ''
  247. }
  248. } else if (temporary.item.label == '试用结束日期') {
  249. let obj2 = form.find(v => v.label == '试用结束日期')
  250. let obj3 = form.find(v => v.label == '发货日期')
  251. if (new Date(obj3.value).getTime() > new Date(obj2.value)) {
  252. obj2.errMsg = '试用结束日期不可小于发货日期'
  253. } else {
  254. obj2.errMsg = ''
  255. }
  256. }
  257. this.selectComponent("#Form").confirm();
  258. this.setData({
  259. form
  260. })
  261. },
  262. /* 表单必填项是否完成 */
  263. onConfirm({
  264. detail
  265. }) {
  266. this.setData({
  267. disabled: detail
  268. })
  269. },
  270. // 是否显示全部
  271. onChange({
  272. detail
  273. }) {
  274. this.setData({
  275. showAll: detail
  276. })
  277. },
  278. async submit() {
  279. this.setData({
  280. loading: true
  281. })
  282. let data = this.selectComponent("#Form").submit(),
  283. content = this.data.content;
  284. data.sa_customersid = data.sa_customersid.length ? data.sa_customersid[1][0] : 0
  285. data.sa_agentsid = data.sa_agentsid.length ? data.sa_agentsid[1][0] : 0
  286. data.sa_doctorid = data.sa_doctorid.length ? data.sa_doctorid[1][0] : 0
  287. data.sa_hospitaldepid = data.sa_hospitaldepid.length ? data.sa_hospitaldepid[1][0] : 0
  288. _Http.basic({
  289. "id": 2025110710322702,
  290. "content": {
  291. ...content,
  292. ...data,
  293. }
  294. }).then(res => {
  295. this.setData({
  296. loading: false
  297. })
  298. wx.showToast({
  299. title: res.code != '1' ? res.msg : '保存成功',
  300. icon: "none",
  301. mask: res.code == '1'
  302. })
  303. if (res.code != '1') return;
  304. getCurrentPages().forEach(v => {
  305. if (v.route == 'prsx/tryOut/detail') v.getDetail()
  306. })
  307. setTimeout(() => {
  308. if (content.sa_trialid == 0) {
  309. wx.redirectTo({
  310. url: '/prsx/tryOut/detail?id=' + res.data.sa_trialid,
  311. })
  312. } else {
  313. wx.navigateBack()
  314. }
  315. }, 300)
  316. })
  317. },
  318. })