index.js 6.6 KB

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