insert.js 8.1 KB

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