index.js 5.8 KB

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