insert.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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: "remarks",
  70. checking: "base",
  71. required: false
  72. }]
  73. if (options.data) {
  74. let data = JSON.parse(options.data);
  75. form = form.map(v => {
  76. v.value = data[v.valueName] || "";
  77. return v
  78. })
  79. this.setData({
  80. disabled: false,
  81. content: {
  82. sa_hospitaldepid: data.sa_hospitaldepid,
  83. },
  84. form
  85. })
  86. } else if (options.sa_customersid) {
  87. let item = form.find(v => v.label == '所属医院')
  88. item.value = [options.name, [options.sa_customersid]];
  89. item.disabled = true;
  90. }
  91. this.setData({
  92. form
  93. })
  94. getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑科室' : '新建科室');
  95. },
  96. /* 表单必填项是否完成 */
  97. onConfirm({
  98. detail
  99. }) {
  100. this.setData({
  101. disabled: detail
  102. })
  103. },
  104. // 是否显示全部
  105. onChange({
  106. detail
  107. }) {
  108. this.setData({
  109. showAll: detail
  110. })
  111. },
  112. async submit() {
  113. this.setData({
  114. loading: true
  115. })
  116. let data = this.selectComponent("#Form").submit(),
  117. content = this.data.content
  118. data.sa_customersid = data.sa_customersid.length ? data.sa_customersid[1][0] : 0
  119. _Http.basic({
  120. "id": 2025101409385002,
  121. "content": {
  122. ...content,
  123. ...data,
  124. }
  125. }).then(res => {
  126. this.setData({
  127. loading: false
  128. })
  129. wx.showToast({
  130. title: res.code != '1' ? res.msg : '保存成功',
  131. icon: "none",
  132. mask: res.code == '1'
  133. })
  134. if (res.code != '1') return;
  135. getCurrentPages().forEach(v => {
  136. switch (v.route) {
  137. case 'prsx/department/detail':
  138. v.getDetail()
  139. break;
  140. }
  141. })
  142. setTimeout(() => {
  143. if (content.sa_hospitaldepid == 0) {
  144. wx.redirectTo({
  145. url: '/prsx/department/detail?id=' + res.data.sa_hospitaldepid,
  146. })
  147. } else {
  148. wx.navigateBack()
  149. }
  150. }, 300)
  151. })
  152. },
  153. })