index.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. const api = require("../api/api")
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. dateVisible: false,
  8. timerid: null,
  9. bindSignNameData: {
  10. "ownertable": "sa_workorder_confirmation",
  11. "ownerid": 0,
  12. "usetype": "signature",
  13. },
  14. SignName: true,
  15. paidServiceAmount: 0
  16. },
  17. async billData() {
  18. const res = await api._post({
  19. "id": "20230211105803",
  20. "content": {
  21. "sa_workorder_confirmationid": this.data.id
  22. }
  23. })
  24. let ishave = false
  25. res.data.confirmationcontent.forEach(item => {
  26. if (item.nextTreatmentTime) {
  27. ishave = true
  28. }
  29. })
  30. if (!ishave) {
  31. let arr = [{
  32. nextTreatmentTime: {
  33. confirm_value: ''
  34. }
  35. }, {
  36. treatment: {
  37. confirm_value: ''
  38. }
  39. }, {
  40. explain: {
  41. confirm_value: ''
  42. }
  43. }, {
  44. repairResult: {
  45. confirm_value: ''
  46. }
  47. }, {
  48. rebackTime: {
  49. confirm_value: ''
  50. }
  51. }, {
  52. nextRebackTime: {
  53. confirm_value: ''
  54. }
  55. }, {
  56. text: {
  57. confirm_value: ''
  58. }
  59. }]
  60. arr.forEach(e => {
  61. res.data.confirmationcontent.push(e)
  62. }, this)
  63. }
  64. console.log(res.data)
  65. this.setData({
  66. mainData: res.data,
  67. stopClick: res.data.status !== '新建' ? 'stopClick' : this.data.stopClick
  68. })
  69. this.setInputData()
  70. },
  71. setInputData() {
  72. let that = this
  73. that.data.mainData.confirmationcontent.forEach(e => {
  74. Object.keys(e).map((key, index) => {
  75. that.setData({
  76. paidServiceAmount: that.data.paidServiceAmount + e[key].amount
  77. })
  78. if (key === 'nextTreatmentTime') {
  79. this.setData({
  80. nextTreatmentTime: e[key].confirm_value
  81. })
  82. }
  83. if (key === 'treatment') {
  84. this.setData({
  85. treatment: e[key].confirm_value
  86. })
  87. }
  88. if (key === 'explain') {
  89. this.setData({
  90. explain: e[key].confirm_value
  91. })
  92. }
  93. if (key === 'nextRebackTime') {
  94. this.setData({
  95. nextRebackTime: e[key].confirm_value
  96. })
  97. }
  98. if (key === 'text') {
  99. this.setData({
  100. text: e[key].confirm_value
  101. })
  102. }
  103. })
  104. })
  105. },
  106. async updateBill() {
  107. if (this.data.mainData.status !== '新建') return wx.showToast({
  108. title: '非新建状态,修改的数据将不会保存',
  109. icon: 'none'
  110. })
  111. const res = await api._post({
  112. "id": "20230211105703",
  113. "content": this.data.mainData
  114. })
  115. },
  116. /* 查看单据 */
  117. checkImage() {
  118. let attinfos = this.data.mainData.attinfos.map(v => v.usetype);
  119. let index = attinfos.lastIndexOf("comfirmbill");
  120. //没有查询到有效单据 跳转生成
  121. if (index == -1) return this.createImage(true);
  122. wx.previewImage({
  123. urls: [this.data.mainData.attinfos[index].url],
  124. })
  125. },
  126. // 改变评分
  127. onChange(e) {
  128. this.data.mainData[e.currentTarget.dataset.name] = e.detail.value
  129. this.setData({
  130. mainData: this.data.mainData
  131. });
  132. this.updateBill()
  133. },
  134. async submit() {
  135. this.createImage(true);
  136. const res = await api._post({
  137. "id": "20230211110003",
  138. "content": {
  139. "sa_workorder_confirmationid": this.data.mainData.sa_workorder_confirmationid
  140. }
  141. })
  142. if (res.code == 1) {
  143. wx.showToast({
  144. title: getApp().globalData.Language.getMapText('提交成功'),
  145. icon: "success"
  146. })
  147. this.billData()
  148. }
  149. },
  150. async delete() {
  151. const res = await api._post({
  152. "id": "20230211110103",
  153. "content": {
  154. "sa_workorder_confirmationids": [this.data.mainData.sa_workorder_confirmationid]
  155. }
  156. })
  157. if (res.code == 1) {
  158. wx.navigateBack()
  159. }
  160. },
  161. inputChange(data) {
  162. console.log(data)
  163. let name = data.currentTarget.dataset.name
  164. this.data.mainData.confirmationcontent.forEach(e => {
  165. Object.keys(e).map((key, index) => {
  166. if (name === key) {
  167. e[key].confirm_value = data.detail.value
  168. }
  169. })
  170. })
  171. this.updateBill()
  172. },
  173. showNextTimePicker(data) {
  174. let name = data.currentTarget.dataset.name
  175. this.setData({
  176. pickkerName: name,
  177. dateVisible: !this.data.dateVisible
  178. })
  179. },
  180. onConfirm(data) {
  181. let name = this.data.pickkerName
  182. this.data.mainData.confirmationcontent.forEach(e => {
  183. Object.keys(e).map((key, index) => {
  184. if (name === key) {
  185. e[key].confirm_value = data.detail.value
  186. }
  187. })
  188. })
  189. this.setData({
  190. mainData: this.data.mainData
  191. })
  192. this.updateBill()
  193. this.setInputData()
  194. },
  195. createImage(active = false) {
  196. let token = wx.getStorageSync('userMsg').token
  197. let parentid = wx.getStorageSync('siteP').appfolderid
  198. let url = `${getApp().globalData.http.baseUrl}/yosweb/#/printTable??token=${token}&parentid=${parentid}&ownerid=${this.data.mainData.sa_workorder_confirmationid}${active==true?'&action=1':''}`
  199. this.setData({
  200. url: url
  201. })
  202. wx.navigateTo({
  203. url: '/Eservice/webView/index',
  204. })
  205. },
  206. onLoad(options) {
  207. this.data.bindSignNameData.ownerid = options.id
  208. this.setData({
  209. stopClick: options.class,
  210. id: options.id,
  211. bindSignNameData: this.data.bindSignNameData
  212. })
  213. },
  214. onReady() {
  215. },
  216. onShow() {
  217. this.setData({
  218. SignName: true
  219. })
  220. this.billData()
  221. },
  222. onHide() {
  223. this.setData({
  224. SignName: false
  225. })
  226. },
  227. })