index.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. const api = require("../api/api")
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. timerid:null,
  8. bindSignNameData:{
  9. "ownertable": "sa_workorder_confirmation",
  10. "ownerid": 0,
  11. "usetype": "signature",
  12. }
  13. },
  14. async billData () {
  15. const res = await api._post({
  16. "id": "20230211105803",
  17. "content": {
  18. "sa_workorder_confirmationid":this.data.id
  19. }
  20. })
  21. this.setData({
  22. mainData:res.data,
  23. stopClick:res.data.status !== '新建'?'stopClick':this.data.stopClick
  24. })
  25. this.setInputData()
  26. },
  27. setInputData () {
  28. this.data.mainData.confirmationcontent.forEach(e=>{
  29. Object.keys(e).map((key,index)=>{
  30. if (key.includes('现场培训内容')) {
  31. this.setData({
  32. trainerContent:e[key].confirm_value
  33. })
  34. } else if(key.includes('现场互动及测试培训效果')) {
  35. this.setData({
  36. trainerResult:e[key].confirm_value
  37. })
  38. } else {
  39. }
  40. })
  41. })
  42. },
  43. async updateBill () {
  44. if (this.data.mainData.status !== '新建') return wx.showToast({
  45. title: '非新建状态,修改的数据将不会保存',
  46. icon:'none'
  47. })
  48. const res = await api._post({
  49. "id": "20230211105703",
  50. "content": this.data.mainData
  51. })
  52. },
  53. // 跳转到物料添加
  54. addProduct () {
  55. wx.navigateTo({
  56. url: '/Eservice/serviceMaterial/index',
  57. })
  58. },
  59. // 跳转到添加人员
  60. addTrainers () {
  61. wx.navigateTo({
  62. url: '/Eservice/addTrainers/index',
  63. })
  64. },
  65. // 添加人员
  66. async getAddTrainers(data) {
  67. data.sa_workorder_node_teamid = 0
  68. this.data.mainData.trainers.push(data)
  69. const res = await api._post({
  70. "id": "20230215202103",
  71. "content": {
  72. "sa_workorder_confirmationid":this.data.mainData.sa_workorder_confirmationid,
  73. "sa_workorderid":this.data.mainData.workorder.sa_workorderid,
  74. "trainers":this.data.mainData.trainers
  75. }
  76. })
  77. this.billData()
  78. },
  79. // 删除人员
  80. async deleteMenber (data) {
  81. let id = data.detail.sa_workorder_node_teamid
  82. const res = await api._post({
  83. "id": "20230215202203",
  84. "version":1,
  85. "content": {
  86. "sa_workorder_node_teamids":[id]
  87. }
  88. })
  89. this.billData()
  90. },
  91. // 添加物料
  92. async getAdd(selection) {
  93. let arr = selection.map(e=>{
  94. return {
  95. "sa_workorder_node_itemsid":0,
  96. "itemid":e.itemid,
  97. "qty":1
  98. }
  99. })
  100. this.data.mainData.trainertitems = this.data.mainData.trainertitems.concat(arr)
  101. this.updateMaterial(this.data.mainData.trainertitems)
  102. },
  103. async updateMaterial (trainertitems) {
  104. const res = await api._post({
  105. "id": "20230215201903",
  106. "content": {
  107. "sa_workorder_confirmationid":this.data.mainData.sa_workorder_confirmationid,
  108. "sa_workorderid":this.data.mainData.workorder.sa_workorderid,
  109. "iteminfos":trainertitems
  110. }
  111. })
  112. this.billData()
  113. },
  114. // 修改物料数量
  115. qtyChange (data) {
  116. clearTimeout(this.data.timerid)
  117. this.data.timerid = setTimeout(()=>{
  118. this.data.mainData.trainertitems.forEach(e=>{
  119. if (e.itemid == data.detail.itemid) {
  120. e.qty = data.detail.qty
  121. }
  122. })
  123. this.updateMaterial(this.data.mainData.trainertitems)
  124. },1000)
  125. this.setData({
  126. timerid:this.data.timerid
  127. })
  128. },
  129. // 删除物料
  130. async deleteMaterial (data) {
  131. let itemid = data.detail.sa_workorder_node_itemsid
  132. const res = await api._post({
  133. "id": "20230215202003",
  134. "content": {
  135. "sa_workorder_node_itemsids":[itemid]
  136. }
  137. })
  138. this.billData()
  139. },
  140. // 改变评分
  141. onChange(e) {
  142. this.data.mainData[e.currentTarget.dataset.name] = e.detail.value
  143. this.setData({
  144. mainData:this.data.mainData
  145. });
  146. this.updateBill()
  147. },
  148. async submit () {
  149. const res = await api._post({
  150. "id": "20230211110003",
  151. "content": {
  152. "sa_workorder_confirmationid":this.data.mainData.sa_workorder_confirmationid
  153. }
  154. })
  155. if (res.code == 1) {
  156. wx.showToast({
  157. title: '提交成功',
  158. icon:"success"
  159. })
  160. this.billData()
  161. }
  162. },
  163. async delete () {
  164. const res = await api._post({
  165. "id": "20230211110103",
  166. "content": {
  167. "sa_workorder_confirmationids":[this.data.mainData.sa_workorder_confirmationid]
  168. }
  169. })
  170. if (res.code == 1) {
  171. wx.navigateBack()
  172. }
  173. },
  174. inputChange (data) {
  175. let keyValue = data.currentTarget.dataset.name
  176. this.data.mainData.confirmationcontent.forEach(e=>{
  177. Object.keys(e).map((key,index)=>{
  178. if (key.includes(keyValue)) {
  179. console.log(e)
  180. e[key].confirm_value = data.detail.value
  181. }
  182. })
  183. })
  184. this.updateBill()
  185. },
  186. createImage () {
  187. let token = wx.getStorageSync('userMsg').token
  188. let parentid = wx.getStorageSync('siteP').appfolderid
  189. let url = `${getApp().globalData.host}/comfirmBill/#/htmlToImageTrain?token=${token}&parentid=${parentid}&ownerid=${this.data.mainData.sa_workorder_confirmationid}`
  190. this.setData({
  191. url:url
  192. })
  193. wx.navigateTo({
  194. url: '/Eservice/webView/index',
  195. })
  196. },
  197. /**
  198. * 生命周期函数--监听页面加载
  199. */
  200. onLoad(options) {
  201. this.data.bindSignNameData.ownerid = options.id
  202. this.setData({
  203. stopClick:options.class,
  204. id:options.id,
  205. bindSignNameData:this.data.bindSignNameData
  206. })
  207. this.billData()
  208. },
  209. /**
  210. * 生命周期函数--监听页面初次渲染完成
  211. */
  212. onReady() {
  213. },
  214. /**
  215. * 生命周期函数--监听页面显示
  216. */
  217. onShow() {
  218. this.setData({
  219. SignName:true
  220. })
  221. },
  222. /**
  223. * 生命周期函数--监听页面隐藏
  224. */
  225. onHide() {
  226. this.setData({
  227. SignName:false
  228. })
  229. },
  230. /**
  231. * 生命周期函数--监听页面卸载
  232. */
  233. onUnload() {
  234. },
  235. /**
  236. * 页面相关事件处理函数--监听用户下拉动作
  237. */
  238. onPullDownRefresh() {
  239. },
  240. /**
  241. * 页面上拉触底事件的处理函数
  242. */
  243. onReachBottom() {
  244. },
  245. /**
  246. * 用户点击右上角分享
  247. */
  248. onShareAppMessage() {
  249. }
  250. })