index.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. // pages/nodeDetail/index.js
  2. import api from '../api/api'
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. SignName:true,
  9. timerid:null,
  10. act_confirm_value:'是',
  11. form:{
  12. "sa_workorderid":0,
  13. "sa_workorder_nodeid":0,
  14. "remarks":"",
  15. "textcontent":"",
  16. "confirm_value":"",
  17. "amount":0,
  18. "isconfirm":0,
  19. "team":[],
  20. "trainers":[
  21. ],
  22. "traintitem":[],
  23. },
  24. bindNormalData:{
  25. ownertable: 'sa_workorder_node',
  26. ownerid: 0,
  27. usetype: 'default'
  28. },
  29. bindContractData:{
  30. "ownertable": "sa_workorder_node",
  31. "ownerid": 0,
  32. "usetype": "contract",
  33. },
  34. bindSignNameData:{
  35. "ownertable": "sa_workorder_node",
  36. "ownerid": 0,
  37. "usetype": "signature",
  38. }
  39. },
  40. async nodeDetail () {
  41. const res = await api._post({
  42. "id": "20230209091103",
  43. "version":1,
  44. "content": {
  45. "sa_workorderid":this.data.sa_workorderid,
  46. "sa_workorder_nodeid":this.data.sa_workorder_nodeid
  47. }
  48. })
  49. this.setData({
  50. mainData:res.data[0],
  51. titems:res.data[0].titems
  52. })
  53. this.setDefaultData()
  54. },
  55. // 是否确认
  56. confirmValue (data) {
  57. this.data.form.confirm_value = data.currentTarget.dataset.item
  58. this.setData({
  59. form:this.data.form
  60. })
  61. this.updateNode()
  62. },
  63. // 文本信息
  64. textContent (data) {
  65. this.data.form.textcontent = data.detail.value
  66. this.setData({
  67. form:this.data.form
  68. })
  69. this.updateNode()
  70. },
  71. // 是否有偿
  72. amountPay (data) {
  73. this.data.form.amount = data.detail.value
  74. this.setData({
  75. form:this.data.form
  76. })
  77. this.updateNode()
  78. },
  79. // 备 注
  80. remarkEdit (data) {
  81. this.data.form.remarks = data.detail.value
  82. this.setData({
  83. form:this.data.form
  84. })
  85. this.updateNode()
  86. },
  87. confirmBill () {
  88. this.data.form.isconfirm = 1
  89. this.setData({
  90. form:this.data.form
  91. })
  92. this.updateNode()
  93. },
  94. // 更新节点
  95. async updateNode () {
  96. this.data.form.traintitem = this.data.titems
  97. this.data.form.sa_workorderid = this.data.sa_workorderid
  98. this.data.form.sa_workorder_nodeid = this.data.sa_workorder_nodeid
  99. const res = await api._post({
  100. "id": "20230209094203",
  101. "content":this.data.form
  102. })
  103. this.nodeDetail()
  104. },
  105. // 获取输入的数据
  106. setDefaultData () {
  107. let that = this
  108. Object.keys(this.data.mainData).map((key,index)=>{
  109. Object.keys(this.data.form).map((key2,index)=>{
  110. if (key === key2) {
  111. that.data.form[key2] = that.data.mainData[key2]
  112. }
  113. })
  114. })
  115. this.setData({
  116. form:this.data.form
  117. })
  118. },
  119. // 跳转到添加人员
  120. addTrainers () {
  121. wx.navigateTo({
  122. url: '/pages/addTrainers/index',
  123. })
  124. },
  125. // 添加人员
  126. getAddTrainers(data) {
  127. this.data.form.trainers.push(data)
  128. this.data.mainData.trainers = this.data.form.trainers
  129. this.setData({
  130. // form:this.data.form,
  131. mainData:this.data.mainData
  132. })
  133. this.updateNode()
  134. },
  135. // 删除人员
  136. deleteMenber (data) {
  137. this.data.mainData.trainers = this.data.mainData.trainers.filter(e=>{
  138. return e.sa_workorder_node_teamid !== data.detail.sa_workorder_node_teamid
  139. })
  140. this.data.form.trainers = this.data.mainData.trainers
  141. this.setData({
  142. form:this.data.form,
  143. mainData:this.data.mainData
  144. })
  145. this.updateNode()
  146. },
  147. // 跳转到物料添加
  148. addProduct () {
  149. wx.navigateTo({
  150. url: '/pages/serviceMaterial/index',
  151. })
  152. },
  153. // 添加物料
  154. getAdd(selection) {
  155. this.data.form.traintitem = selection.map(e=>{
  156. return {
  157. "itemname":e.itemname,
  158. "itemid":e.itemid,
  159. "model":e.model,
  160. "spec":e.spec,
  161. "qty":1
  162. }
  163. })
  164. this.setData({
  165. titems:this.data.form.traintitem
  166. })
  167. this.updateNode()
  168. },
  169. // 修改物料数量
  170. qtyChange (data) {
  171. clearTimeout(this.data.timerid)
  172. this.data.timerid = setTimeout(()=>{
  173. this.data.titems.forEach(e=>{
  174. if (e.itemid == data.detail.itemid) {
  175. e.qty = data.detail.qty
  176. }
  177. })
  178. this.setData({
  179. titems: this.data.titems
  180. })
  181. this.updateNode()
  182. },1000)
  183. this.setData({
  184. timerid:this.data.timerid
  185. })
  186. },
  187. // 删除物料
  188. deleteMaterial (data) {
  189. this.setData({
  190. titems:this.data.titems.filter(e=>{
  191. return e.itemid !== data.detail.itemid
  192. })
  193. })
  194. this.updateNode()
  195. },
  196. /**
  197. * 生命周期函数--监听页面加载
  198. */
  199. onLoad(options) {
  200. this.data.bindContractData.ownerid = options.id
  201. this.data.bindNormalData.ownerid = options.id
  202. this.data.bindSignNameData.ownerid = options.id
  203. this.setData({
  204. bindContractData:this.data.bindContractData,
  205. bindNormalData:this.data.bindNormalData,
  206. bindSignNameData:this.data.bindSignNameData,
  207. sa_workorder_nodeid:options.id,
  208. sa_workorderid:options.wid,
  209. stopClick:options.class
  210. })
  211. this.nodeDetail()
  212. },
  213. /**
  214. * 生命周期函数--监听页面初次渲染完成
  215. */
  216. onReady() {
  217. },
  218. /**
  219. * 生命周期函数--监听页面显示
  220. */
  221. onShow() {
  222. this.setData({
  223. SignName:true
  224. })
  225. },
  226. /**
  227. * 生命周期函数--监听页面隐藏
  228. */
  229. onHide() {
  230. this.setData({
  231. SignName:false
  232. })
  233. },
  234. /**
  235. * 生命周期函数--监听页面卸载
  236. */
  237. onUnload() {
  238. },
  239. /**
  240. * 页面相关事件处理函数--监听用户下拉动作
  241. */
  242. onPullDownRefresh() {
  243. },
  244. /**
  245. * 页面上拉触底事件的处理函数
  246. */
  247. onReachBottom() {
  248. },
  249. /**
  250. * 用户点击右上角分享
  251. */
  252. onShareAppMessage() {
  253. }
  254. })