insert.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  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. params: {
  109. id: 2025111915343902,
  110. "content": {
  111. "pageSize": 20,
  112. "pageNumber": 1,
  113. sa_hospitaldepid: 0
  114. },
  115. },
  116. query: "&radio=true",
  117. placeholder: "选择经销商",
  118. valueName: "sa_agentsid",
  119. checking: "base",
  120. required: false,
  121. interrupt: true,
  122. }, {
  123. label: "发货日期",
  124. error: false,
  125. errMsg: "",
  126. type: "date",
  127. start: '',
  128. value: '',
  129. placeholder: "发货日期",
  130. valueName: "deliverydate",
  131. checking: "base",
  132. required: true,
  133. interrupt:true
  134. }, {
  135. label: "领用人",
  136. error: false,
  137. errMsg: "",
  138. type: "textarea",
  139. value: "",
  140. placeholder: "领用人",
  141. valueName: "user",
  142. checking: "base",
  143. required: true
  144. }, {
  145. label: "试用结束日期",
  146. error: false,
  147. errMsg: "",
  148. type: "date",
  149. start: '',
  150. value: '',
  151. placeholder: "试用结束日期",
  152. valueName: "enddate",
  153. checking: "base",
  154. required: true,
  155. interrupt:true
  156. }, {
  157. label: "备注",
  158. error: false,
  159. errMsg: "",
  160. type: "textarea",
  161. value: "",
  162. placeholder: "备注",
  163. valueName: "remarks",
  164. checking: "base",
  165. required: false
  166. }]
  167. if (options.data) {
  168. let data = JSON.parse(options.data);
  169. data.sa_customersid = [data.hospitalname, [data.sa_customersid]]
  170. data.sa_agentsid = [data.agentname, [data.sa_agentsid]]
  171. data.sa_doctorid = [data.doctorname,[data.sa_doctorid]]
  172. data.sa_hospitaldepid = [data.hospitaldepname,[data.sa_hospitaldepid]]
  173. form = form.map(v => {
  174. v.value = data[v.valueName];
  175. if (v.label == '经销商') v.disabled = false
  176. return v
  177. })
  178. this.setData({
  179. disabled: false,
  180. content: {
  181. sa_trialid: data.sa_trialid,
  182. },
  183. form
  184. })
  185. }
  186. this.setData({
  187. form
  188. })
  189. getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑试用申请' : '新建试用申请');
  190. },
  191. interrupt(e) {
  192. console.log(e,'输出222')
  193. const {
  194. data,
  195. form,
  196. temporary
  197. } = e.detail;
  198. console.log(data, form, temporary)
  199. if (temporary.item.label == '医院') {
  200. form.find(v => v.label == '医院').value = data.value;
  201. let obj2 = form.find(v => v.label == '医生')
  202. obj2.params.content.sa_customersid = data.id[0];
  203. obj2.value = '';
  204. obj2.disabled = false;
  205. wx.navigateBack()
  206. }else if(temporary.item.label == '医生'){
  207. form.find(v => v.label == '医生').value = data.value;
  208. let obj2 = form.find(v => v.label == '经销商')
  209. obj2.params.content.sa_hospitaldepid = data.item.sa_hospitaldepid;
  210. obj2.value = '';
  211. obj2.disabled = false;
  212. form.find(v => v.label == '科室').value = [data.item.hospitaldepname, [data.item.sa_hospitaldepid]];
  213. wx.navigateBack()
  214. }else if(temporary.item.label == '经销商'){
  215. form.find(v => v.label == '经销商').value = data.value;
  216. wx.navigateBack()
  217. }else if(temporary.item.label == '申请日期'){
  218. let obj2 = form.find(v => v.label == '发货日期')
  219. if(new Date(data.value).getTime() > new Date(obj2.value)){
  220. obj2.errMsg = '发货日期不可小于申请日期'
  221. }else {
  222. obj2.errMsg = ''
  223. }
  224. }else if(temporary.item.label == '发货日期'){
  225. let obj2 = form.find(v => v.label == '发货日期')
  226. let obj3 = form.find(v => v.label == '申请日期')
  227. if(new Date(obj3.value).getTime() > new Date(obj2.value)){
  228. obj2.errMsg = '发货日期不可小于申请日期'
  229. }else {
  230. obj2.errMsg = ''
  231. }
  232. }else if(temporary.item.label == '试用结束日期'){
  233. let obj2 = form.find(v => v.label == '试用结束日期')
  234. let obj3 = form.find(v => v.label == '发货日期')
  235. if(new Date(obj3.value).getTime() > new Date(obj2.value)){
  236. obj2.errMsg = '试用结束日期不可小于发货日期'
  237. }else {
  238. obj2.errMsg = ''
  239. }
  240. }
  241. this.selectComponent("#Form").confirm();
  242. this.setData({
  243. form
  244. })
  245. },
  246. /* 表单必填项是否完成 */
  247. onConfirm({
  248. detail
  249. }) {
  250. this.setData({
  251. disabled: detail
  252. })
  253. },
  254. // 是否显示全部
  255. onChange({
  256. detail
  257. }) {
  258. this.setData({
  259. showAll: detail
  260. })
  261. },
  262. async submit() {
  263. this.setData({
  264. loading: true
  265. })
  266. let data = this.selectComponent("#Form").submit(),
  267. content = this.data.content;
  268. data.sa_customersid = data.sa_customersid.length ? data.sa_customersid[1][0] : 0
  269. data.sa_agentsid = data.sa_agentsid.length ? data.sa_agentsid[1][0] : 0
  270. data.sa_doctorid = data.sa_doctorid.length ? data.sa_doctorid[1][0] : 0
  271. data.sa_hospitaldepid = data.sa_hospitaldepid.length ? data.sa_hospitaldepid[1][0] : 0
  272. _Http.basic({
  273. "id": 2025110710322702,
  274. "content": {
  275. ...content,
  276. ...data,
  277. }
  278. }).then(res => {
  279. this.setData({
  280. loading: false
  281. })
  282. wx.showToast({
  283. title: res.code != '1' ? res.msg : '保存成功',
  284. icon: "none",
  285. mask: res.code == '1'
  286. })
  287. if (res.code != '1') return;
  288. getCurrentPages().forEach(v => {
  289. if (v.route == 'prsx/tryOut/detail') v.getDetail()
  290. })
  291. setTimeout(() => {
  292. if (content.sa_trialid == 0) {
  293. wx.redirectTo({
  294. url: '/prsx/tryOut/detail?id=' + res.data.sa_trialid,
  295. })
  296. } else {
  297. wx.navigateBack()
  298. }
  299. }, 300)
  300. })
  301. },
  302. })