takeOrder.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. Page({
  4. data: {
  5. loading: false,
  6. showAll: false,
  7. disabled: false,
  8. form: [{
  9. label: "是否外包",
  10. error: false,
  11. errMsg: "",
  12. hint: "",
  13. type: "radio",
  14. value: 0,
  15. interrupt: true,
  16. radioList: [{
  17. id: 1,
  18. name: "是"
  19. }, {
  20. id: 0,
  21. name: "否"
  22. }],
  23. valueName: "isout", //绑定的字段名称
  24. required: true, //必填
  25. checking: `base`,
  26. }],
  27. sa_workorderid: 0,
  28. users: []
  29. },
  30. onLoad(options) {
  31. getApp().globalData.Language.getLanguagePackage(this, '接单');
  32. let form = this.data.form,
  33. data = getCurrentPages().find(v => v.__route__ == 'E-service/workOrder/detail').data.detail;
  34. form = form.map(v => {
  35. switch (v.valueName) {
  36. default:
  37. v.value = data[v.valueName]
  38. break;
  39. }
  40. return v
  41. })
  42. let leader = '';
  43. try {
  44. leader = data.team.find(v => v.isleader).userid || 0
  45. } catch (error) {
  46. }
  47. this.setData({
  48. form,
  49. sa_workorderid: data.sa_workorderid,
  50. leader
  51. })
  52. },
  53. async interrupt({
  54. detail
  55. }) {
  56. if (detail.data.valueName == "isout") {
  57. detail.form[detail.form.findIndex(v => v.valueName == 'isout')] = detail.data;
  58. if (detail.data.value == 1) {
  59. this.setData({
  60. form: detail.form
  61. })
  62. let users = this.data.users;
  63. if (users.length == 0) await _Http.basic({
  64. id: 20230213143003,
  65. content: {
  66. pageSize: 9999
  67. }
  68. }).then(res => {
  69. console.log("服务人员", res)
  70. if (res.code != '1') return wx.showToast({
  71. title: res.msg,
  72. icon: "none"
  73. })
  74. users = res.data;
  75. })
  76. if (users.length) {
  77. let leaderdata = users.find(v => v.userid == this.data.leader)
  78. detail.form = detail.form.concat([{
  79. label: "服务负责人",
  80. error: false,
  81. errMsg: "",
  82. hint: "",
  83. type: "radio",
  84. value: leaderdata.userid || '',
  85. interrupt: true,
  86. radioList: users.map(v => {
  87. v.id = v.userid
  88. return v
  89. }),
  90. valueName: "userid", //绑定的字段名称
  91. required: true, //必填
  92. checking: `base`,
  93. }, {
  94. label: "服务负责人电话",
  95. error: false,
  96. errMsg: "",
  97. hint: "",
  98. type: "number",
  99. value: leaderdata.phonenumber || '',
  100. interrupt: true,
  101. valueName: "phonenumber111", //绑定的字段名称
  102. required: false, //必填
  103. checking: `base`,
  104. disabled: true
  105. }]);
  106. this.setData({
  107. form: detail.form
  108. })
  109. }
  110. } else {
  111. this.setData({
  112. form: detail.form.filter(v => v.valueName == 'isout')
  113. })
  114. }
  115. } else if (detail.data.valueName == "userid") {
  116. detail.form[detail.form.findIndex(v => v.valueName == 'userid')] = detail.data;
  117. detail.form[detail.form.findIndex(v => v.valueName == 'phonenumber111')].value = detail.data.radioList.find(v => v.id == detail.data.value).phonenumber || detail.data.radioList.find(v => v.id == detail.data.value).userphonenumber;
  118. this.setData({
  119. form: detail.form,
  120. leader: detail.data.value
  121. })
  122. }
  123. },
  124. submit() {
  125. this.setData({
  126. loading: true
  127. })
  128. let content = {
  129. sa_workorderid: this.data.sa_workorderid,
  130. ...this.selectComponent("#Form").submit()
  131. };
  132. _Http.basic({
  133. "id": 20230210101103,
  134. content
  135. }).then(res => {
  136. this.setData({
  137. loading: false
  138. })
  139. console.log("确认信息", res)
  140. if (res.code == 1) {
  141. getCurrentPages().find(v => v.__route__ == 'E-service/workOrder/detail').getDetail();
  142. wx.navigateBack({
  143. success() {
  144. wx.showToast({
  145. title: getApp().globalData.Language.getMapText('接单成功'),
  146. icon: "none",
  147. mask: true
  148. })
  149. }
  150. });
  151. } else {
  152. wx.showToast({
  153. title: res.code != '1' ? res.msg : getApp().globalData.Language.getMapText('保存成功'),
  154. icon: "none",
  155. mask: true
  156. })
  157. }
  158. })
  159. },
  160. // 是否显示全部
  161. onChange({
  162. detail
  163. }) {
  164. this.setData({
  165. showAll: detail
  166. })
  167. },
  168. /* 表单必填项是否完成 */
  169. onConfirm({
  170. detail
  171. }) {
  172. this.setData({
  173. disabled: detail
  174. })
  175. }
  176. })