insert.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. let _Http = getApp().globalData.http,
  2. count = null;
  3. Page({
  4. data: {
  5. loading: false,
  6. showAll: false,
  7. repetitionShow: false,
  8. repetitionList: [],
  9. content: {
  10. sa_hospitaldepid: 0
  11. },
  12. disabled: true,
  13. },
  14. onLoad(options) {
  15. console.log(options)
  16. let form = [{
  17. label: "科室名称",
  18. error: false,
  19. errMsg: "",
  20. type: "textarea",
  21. value: "",
  22. placeholder: "科室名称",
  23. valueName: "hospitaldepname",
  24. checking: "base",
  25. slot: "info",
  26. required: true
  27. }, {
  28. label: "科室类型",
  29. error: false,
  30. errMsg: "",
  31. type: "option",
  32. optionNmae: "depttype",
  33. optionType: "radio", //复选 radio 单选
  34. value: "",
  35. placeholder: "科室类型",
  36. valueName: "type",
  37. checking: "base",
  38. required: true
  39. }, {
  40. label: "所属医院",
  41. error: false,
  42. errMsg: "",
  43. type: "route",
  44. url: "/prsx/select/hospital/index",
  45. value: "",
  46. placeholder: "所属医院",
  47. valueName: "sa_customersid",
  48. checking: "base",
  49. required: true,
  50. params: {
  51. "content": {
  52. "pageNumber": 1,
  53. "pageSize": 20,
  54. "where": {
  55. "condition": ""
  56. }
  57. },
  58. "id": 2025101409411402,
  59. },
  60. query: "&radio=true",
  61. required: true
  62. }, {
  63. label: "科室床位",
  64. error: false,
  65. errMsg: "",
  66. type: "textarea",
  67. value: "",
  68. placeholder: "请输入科室床位数量",
  69. valueName: "bedcount",
  70. checking: "base",
  71. required: true
  72. },{
  73. label: "医生数量",
  74. error: false,
  75. errMsg: "",
  76. type: "textarea",
  77. value: "",
  78. placeholder: "请输入医生数量",
  79. valueName: "doctorcount",
  80. checking: "base",
  81. required: true
  82. },{
  83. label: "备注",
  84. error: false,
  85. errMsg: "",
  86. type: "textarea",
  87. value: "",
  88. placeholder: "备注",
  89. valueName: "remarks",
  90. checking: "base",
  91. required: false
  92. }]
  93. if (options.data) {
  94. let data = JSON.parse(options.data);
  95. form = form.map(v => {
  96. v.value = data[v.valueName] || "";
  97. return v
  98. })
  99. this.setData({
  100. disabled: false,
  101. content: {
  102. sa_hospitaldepid: data.sa_hospitaldepid,
  103. },
  104. form
  105. })
  106. } else if (options.sa_customersid) {
  107. let item = form.find(v => v.label == '所属医院')
  108. item.value = [options.name, [options.sa_customersid]];
  109. item.disabled = true;
  110. }
  111. this.setData({
  112. form
  113. })
  114. getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑科室' : '新建科室');
  115. },
  116. /* 表单必填项是否完成 */
  117. onConfirm({
  118. detail
  119. }) {
  120. this.setData({
  121. disabled: detail
  122. })
  123. },
  124. // 是否显示全部
  125. onChange({
  126. detail
  127. }) {
  128. this.setData({
  129. showAll: detail
  130. })
  131. },
  132. async submit() {
  133. this.setData({
  134. loading: true
  135. })
  136. let data = this.selectComponent("#Form").submit(),
  137. content = this.data.content
  138. data.sa_customersid = data.sa_customersid.length ? data.sa_customersid[1][0] : 0
  139. _Http.basic({
  140. "id": 2025101409385002,
  141. "content": {
  142. ...content,
  143. ...data,
  144. }
  145. }).then(res => {
  146. this.setData({
  147. loading: false
  148. })
  149. wx.showToast({
  150. title: res.code != '1' ? res.msg : '保存成功',
  151. icon: "none",
  152. mask: res.code == '1'
  153. })
  154. if (res.code != '1') return;
  155. getCurrentPages().forEach(v => {
  156. switch (v.route) {
  157. case 'prsx/department/detail':
  158. v.getDetail()
  159. break;
  160. }
  161. })
  162. setTimeout(() => {
  163. if (content.sa_hospitaldepid == 0) {
  164. wx.redirectTo({
  165. url: '/prsx/department/detail?id=' + res.data.sa_hospitaldepid,
  166. })
  167. } else {
  168. wx.navigateBack()
  169. }
  170. }, 300)
  171. })
  172. },
  173. })