index.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  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 (e) {
  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. if (e && e.currentTarget.dataset.info === 'needBack') {
  104. wx.navigateBack()
  105. } else {
  106. this.nodeDetail()
  107. }
  108. },
  109. // 获取输入的数据
  110. setDefaultData () {
  111. let that = this
  112. Object.keys(this.data.mainData).map((key,index)=>{
  113. Object.keys(this.data.form).map((key2,index)=>{
  114. if (key === key2) {
  115. that.data.form[key2] = that.data.mainData[key2]
  116. }
  117. })
  118. })
  119. this.setData({
  120. form:this.data.form
  121. })
  122. },
  123. // 跳转到添加人员
  124. addTrainers () {
  125. wx.navigateTo({
  126. url: '/Eservice/addTrainers/index',
  127. })
  128. },
  129. // 添加人员
  130. getAddTrainers(data) {
  131. this.data.form.trainers.push(data)
  132. this.data.mainData.trainers = this.data.form.trainers
  133. this.setData({
  134. // form:this.data.form,
  135. mainData:this.data.mainData
  136. })
  137. this.updateNode()
  138. },
  139. // 删除人员
  140. deleteMenber (data) {
  141. this.data.mainData.trainers = this.data.mainData.trainers.filter(e=>{
  142. return e.sa_workorder_node_teamid !== data.detail.sa_workorder_node_teamid
  143. })
  144. this.data.form.trainers = this.data.mainData.trainers
  145. this.setData({
  146. form:this.data.form,
  147. mainData:this.data.mainData
  148. })
  149. this.updateNode()
  150. },
  151. // 跳转到物料添加
  152. addProduct () {
  153. wx.navigateTo({
  154. url: '/Eservice/serviceMaterial/index',
  155. })
  156. },
  157. // 添加物料
  158. getAdd(selection) {
  159. this.data.form.traintitem = selection.map(e=>{
  160. return {
  161. "itemname":e.itemname,
  162. "itemid":e.itemid,
  163. "model":e.model,
  164. "spec":e.spec,
  165. "qty":1
  166. }
  167. })
  168. this.setData({
  169. titems:this.data.form.traintitem
  170. })
  171. this.updateNode()
  172. },
  173. // 修改物料数量
  174. qtyChange (data) {
  175. clearTimeout(this.data.timerid)
  176. this.data.timerid = setTimeout(()=>{
  177. this.data.titems.forEach(e=>{
  178. if (e.itemid == data.detail.itemid) {
  179. e.qty = data.detail.qty
  180. }
  181. })
  182. this.setData({
  183. titems: this.data.titems
  184. })
  185. this.updateNode()
  186. },1000)
  187. this.setData({
  188. timerid:this.data.timerid
  189. })
  190. },
  191. // 删除物料
  192. deleteMaterial (data) {
  193. this.setData({
  194. titems:this.data.titems.filter(e=>{
  195. return e.itemid !== data.detail.itemid
  196. })
  197. })
  198. this.updateNode()
  199. },
  200. /**
  201. * 生命周期函数--监听页面加载
  202. */
  203. onLoad(options) {
  204. this.data.bindContractData.ownerid = options.id
  205. this.data.bindNormalData.ownerid = options.id
  206. this.data.bindSignNameData.ownerid = options.id
  207. this.setData({
  208. bindContractData:this.data.bindContractData,
  209. bindNormalData:this.data.bindNormalData,
  210. bindSignNameData:this.data.bindSignNameData,
  211. sa_workorder_nodeid:options.id,
  212. sa_workorderid:options.wid,
  213. stopClick:options.class
  214. })
  215. this.nodeDetail()
  216. },
  217. /**
  218. * 生命周期函数--监听页面初次渲染完成
  219. */
  220. onReady() {
  221. },
  222. /**
  223. * 生命周期函数--监听页面显示
  224. */
  225. onShow() {
  226. this.setData({
  227. SignName:true
  228. })
  229. },
  230. /**
  231. * 生命周期函数--监听页面隐藏
  232. */
  233. onHide() {
  234. this.setData({
  235. SignName:false
  236. })
  237. },
  238. /**
  239. * 生命周期函数--监听页面卸载
  240. */
  241. onUnload() {
  242. },
  243. /**
  244. * 页面相关事件处理函数--监听用户下拉动作
  245. */
  246. onPullDownRefresh() {
  247. },
  248. /**
  249. * 页面上拉触底事件的处理函数
  250. */
  251. onReachBottom() {
  252. },
  253. /**
  254. * 用户点击右上角分享
  255. */
  256. onShareAppMessage() {
  257. }
  258. })