insert.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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_doctorid: 0
  11. },
  12. disabled: true,
  13. },
  14. onLoad(options) {
  15. let form = [{
  16. label: "是否科室负责人",
  17. error: false,
  18. errMsg: "",
  19. hint: "",
  20. type: "radio",
  21. value: "0",
  22. radioList: [{
  23. id: '1',
  24. name: '是'
  25. }, {
  26. id: '0',
  27. name: '否'
  28. }],
  29. valueName: "isleader", //绑定的字段名称
  30. required: true, //必填
  31. direction: "horizontal",
  32. interrupt: true
  33. }, {
  34. label: "医生名称",
  35. error: false,
  36. errMsg: "",
  37. type: "textarea",
  38. value: "",
  39. placeholder: "医生名称",
  40. valueName: "doctorname",
  41. checking: "base",
  42. required: true
  43. }, {
  44. label: "联系方式",
  45. error: false,
  46. errMsg: "",
  47. type: "number",
  48. value: "",
  49. placeholder: "联系方式",
  50. valueName: "phonenumber",
  51. required: true,
  52. checking: "phone"
  53. }, {
  54. label: "职称",
  55. error: false,
  56. errMsg: "",
  57. type: "option",
  58. optionNmae: "careertitle",
  59. optionType: "radio", //复选 radio 单选
  60. value: "",
  61. placeholder: "职称",
  62. valueName: "professional",
  63. checking: "base",
  64. required: true
  65. }, {
  66. label: "所属科室",
  67. error: false,
  68. errMsg: "",
  69. type: "route",
  70. url: "/prsx/select/department/index",
  71. value: "",
  72. placeholder: "所属科室",
  73. valueName: "sa_hospitaldepid",
  74. checking: "base",
  75. required: true,
  76. params: {
  77. "content": {
  78. "pageNumber": 1,
  79. "pageSize": 20,
  80. "where": {
  81. "condition": ""
  82. }
  83. },
  84. "id": 2025102208540702,
  85. },
  86. query: "&radio=true",
  87. required: true
  88. }, {
  89. label: "备注",
  90. error: false,
  91. errMsg: "",
  92. type: "textarea",
  93. value: "",
  94. placeholder: "备注",
  95. valueName: "remarks",
  96. checking: "base",
  97. required: false
  98. }]
  99. if (options.data) {
  100. let data = JSON.parse(options.data);
  101. data.isleader = data.isleader + '';
  102. data.sa_hospitaldepid = [data.hospitaldepname, [data.sa_hospitaldepid]]
  103. form = form.map(v => {
  104. v.value = data[v.valueName] || "";
  105. return v
  106. })
  107. this.setData({
  108. disabled: false,
  109. content: {
  110. sa_doctorid: data.sa_doctorid,
  111. },
  112. form
  113. })
  114. }
  115. if (options.department) {
  116. let department = JSON.parse(options.department);
  117. let item = form.find(v => v.valueName == 'sa_hospitaldepid')
  118. item.value = department;
  119. item.disabled = true;
  120. }
  121. this.setData({
  122. form
  123. })
  124. getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑医生' : '新建医生');
  125. },
  126. /* 表单必填项是否完成 */
  127. onConfirm({
  128. detail
  129. }) {
  130. this.setData({
  131. disabled: detail
  132. })
  133. },
  134. // 是否显示全部
  135. onChange({
  136. detail
  137. }) {
  138. this.setData({
  139. showAll: detail
  140. })
  141. },
  142. async submit() {
  143. this.setData({
  144. loading: true
  145. })
  146. let data = this.selectComponent("#Form").submit(),
  147. content = this.data.content
  148. data.sa_hospitaldepid = data.sa_hospitaldepid.length ? data.sa_hospitaldepid[1][0] : 0
  149. _Http.basic({
  150. "id": 2025102116461002,
  151. "content": {
  152. ...content,
  153. ...data,
  154. }
  155. }).then(res => {
  156. this.setData({
  157. loading: false
  158. })
  159. wx.showToast({
  160. title: res.code != '1' ? res.msg : '保存成功',
  161. icon: "none",
  162. mask: res.code == '1'
  163. })
  164. if (res.code != '1') return;
  165. getCurrentPages().forEach(v => {
  166. if (v.route == 'prsx/doctors/detail') v.getDetail()
  167. })
  168. setTimeout(() => {
  169. if (content.sa_doctorid == 0) {
  170. wx.redirectTo({
  171. url: '/prsx/doctors/detail?id=' + res.data.sa_doctorid,
  172. })
  173. } else {
  174. wx.navigateBack()
  175. }
  176. }, 300)
  177. })
  178. },
  179. })