index.js 6.9 KB

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