index.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. const api = require("../api/api");
  2. const _Http = getApp().globalData.http;
  3. import Dialog from 'tdesign-miniprogram/dialog/index';
  4. Page({
  5. data: {
  6. },
  7. // 跳转到物料添加
  8. addProduct() {
  9. wx.navigateTo({
  10. url: '/Eservice/agent/billCanUseProduct/index?id=' + this.data.billData.sa_workorderid
  11. })
  12. },
  13. // 添加物料
  14. async getAdd(selection) {
  15. let arr = selection.map(e => {
  16. return {
  17. "sa_workorder_node_itemsid": 0,
  18. "itemid": e,
  19. "qty": 1
  20. }
  21. })
  22. this.data.billData.titems = this.data.billData.titems.concat(arr)
  23. this.updateMaterial(this.data.billData.titems)
  24. },
  25. //修改物料
  26. changeItem({
  27. detail
  28. }) {
  29. let index = this.data.billData.titems.findIndex(v => v.sa_workorder_node_itemsid == detail.sa_workorder_node_itemsid)
  30. if (index != -1) this.setData({
  31. [`billData.titems[${index}]`]: detail
  32. })
  33. },
  34. /* 移除物料 */
  35. deleteMaterial({
  36. detail
  37. }) {
  38. wx.showModal({
  39. title: '提示',
  40. content: `是否确认删除“${detail.itemname}”`,
  41. complete: (res) => {
  42. if (res.confirm) api._post({
  43. "id": "20230215202003",
  44. "version": 1,
  45. "content": {
  46. "sa_workorder_node_itemsids": [detail.sa_workorder_node_itemsid]
  47. }
  48. }).then(res => {
  49. wx.showToast({
  50. title: res.msg == '成功' ? '删除成功' : res.msg,
  51. icon: "none",
  52. mask: true
  53. });
  54. this.setData({
  55. "billData.titems": this.data.billData.titems.filter(v => v.sa_workorder_node_itemsid != detail.sa_workorder_node_itemsid)
  56. })
  57. })
  58. }
  59. })
  60. },
  61. async updateMaterial(titems) {
  62. console.log(this.data.confirmBills[0])
  63. const res = await api._post({
  64. "id": "20230215201903",
  65. "content": {
  66. "sa_workorder_confirmationid": 0,
  67. "sa_workorderid": this.data.billData.sa_workorderid,
  68. "iteminfos": titems
  69. }
  70. })
  71. this.mainData()
  72. },
  73. /* 修改团队 */
  74. checkTeam(e) {
  75. const {
  76. status,
  77. sa_workorderid
  78. } = this.data.billData;
  79. console.log("工单状态", status)
  80. wx.navigateTo({
  81. url: `/Universal/dataTeam/index?ownertable=sa_workorder&ownerid=${sa_workorderid}`,
  82. })
  83. },
  84. /* 是否阻止跳转 */
  85. isStopToPage() {
  86. if (this.data.billData.status != '进行中') {
  87. wx.showToast({
  88. title: '当前工单状态不支持操作!',
  89. icon: "none"
  90. })
  91. }
  92. },
  93. async mainData() {
  94. const res = await api._post({
  95. "id": "20230208140103",
  96. "content": {
  97. nocache: true,
  98. "sa_workorderid": this.data.id
  99. }
  100. })
  101. console.log("详情", res)
  102. this.setData({
  103. billData: res.data
  104. })
  105. },
  106. changeBillStatus(data) {
  107. let id = data.currentTarget.dataset.id;
  108. if (id == 20230209144903 && this.data.billData.titems.length == 0 && this.data.billData.actiontype === "非工序模板") return wx.showToast({
  109. title: '还未添加产品,不可完结',
  110. icon: "none",
  111. mask: true
  112. })
  113. const dialogConfig = {
  114. context: this,
  115. title: '提示',
  116. content: '确认执行当前操作吗?',
  117. confirmBtn: '确定',
  118. cancelBtn: '取消',
  119. };
  120. Dialog.confirm(dialogConfig)
  121. .then(async () => {
  122. if (id == '20230209144503') {
  123. getApp().globalData.handelSelect = this
  124. wx.navigateTo({
  125. url: '/Eservice/workBillConfirmInfo/index',
  126. })
  127. } else {
  128. const res = await api._post({
  129. "id": id,
  130. "content": {
  131. "sa_workorderid": this.data.id
  132. }
  133. })
  134. this.mainData()
  135. }
  136. })
  137. .catch(() => console.log('点击了取消'))
  138. .finally(() => Dialog.close());
  139. },
  140. async addConfirmBill() {
  141. const res = await api._post({
  142. "id": "20230211105703",
  143. "version": 1,
  144. "content": {
  145. "sa_workorder_confirmationid": 0,
  146. "sa_workorderid": this.data.id,
  147. "attitudescore": 0,
  148. "responsescore": 0,
  149. }
  150. })
  151. if (this.data.billData.actiontype === "非工序模板") {
  152. wx.navigateTo({
  153. url: '/Eservice/materielConfirmBill/index?id=' + res.data.sa_workorder_confirmationid,
  154. })
  155. } else if (this.data.billData.type === '安装培训') {
  156. wx.navigateTo({
  157. url: '/Eservice/trainConfirmBill/index?id=' + res.data.sa_workorder_confirmationid,
  158. })
  159. } else if (this.data.billData.type === '安装调试') {
  160. wx.navigateTo({
  161. url: '/Eservice/installConfirmBill/index?id=' + res.data.sa_workorder_confirmationid,
  162. })
  163. } else {
  164. wx.navigateTo({
  165. url: '/Eservice/serviceConfirmBill/index?id=' + res.data.sa_workorder_confirmationid,
  166. })
  167. }
  168. },
  169. toConfirmBill(data) {
  170. if (this.data.billData.actiontype === "非工序模板") {
  171. wx.navigateTo({
  172. url: '/Eservice/materielConfirmBill/index?id=' + data.currentTarget.dataset.item.sa_workorder_confirmationid + '&class=' + this.data.stopClick,
  173. })
  174. } else if (this.data.billData.type === '安装培训') {
  175. wx.navigateTo({
  176. url: '/Eservice/trainConfirmBill/index?id=' + data.currentTarget.dataset.item.sa_workorder_confirmationid + '&class=' + this.data.stopClick,
  177. })
  178. } else if (this.data.billData.type === '安装调试') {
  179. wx.navigateTo({
  180. url: '/Eservice/installConfirmBill/index?id=' + data.currentTarget.dataset.item.sa_workorder_confirmationid + '&class=' + this.data.stopClick,
  181. })
  182. } else {
  183. wx.navigateTo({
  184. url: '/Eservice/serviceConfirmBill/index?id=' + data.currentTarget.dataset.item.sa_workorder_confirmationid + '&class=' + this.data.stopClick,
  185. })
  186. }
  187. },
  188. async confirmBillList() {
  189. const res = await api._post({
  190. "id": "20230211105903",
  191. "content": {
  192. "where": {
  193. "condition": "",
  194. "sa_workorderid": this.data.id
  195. }
  196. }
  197. })
  198. this.setData({
  199. confirmBills: res.data
  200. })
  201. },
  202. toWorkConfirmInfo() {
  203. getApp().globalData.handelSelect = this
  204. wx.navigateTo({
  205. url: '/Eservice/workBillConfirmInfo/index?class=' + this.data.stopClick,
  206. })
  207. },
  208. onLoad(options) {
  209. this.setData({
  210. id: options.id,
  211. stopClick: options.class
  212. })
  213. },
  214. onShow() {
  215. this.mainData()
  216. this.confirmBillList()
  217. },
  218. })