seeAico.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. import api from "../../utils/api";
  2. Page({
  3. data: {
  4. pageStatus: 2,
  5. notesInput: '',
  6. room_name: '--',
  7. hotel_name: '--',
  8. count: 0,
  9. normal: 0,
  10. abnormal: 0,
  11. abnormal_d_name: '--',
  12. room_id: 0,
  13. show1: false,
  14. show2: false,
  15. show2Text: '',
  16. roomInfo: {},
  17. logsInfo: {},
  18. statusFlag:false,
  19. deviceList: []
  20. },
  21. onLoad: function (options) {
  22. this.setData({
  23. room_id: options.room_id
  24. , room_name: options.room_name
  25. , hotel_name: options.hotel_name,
  26. pageStatus: 0
  27. })
  28. },
  29. bindNotesInput: function (e) {
  30. this.setData({
  31. notesInput: e.detail.value
  32. });
  33. console.log(this.data.notesInput)
  34. },
  35. onClose() {
  36. this.setData({
  37. show1: false, show2: false
  38. });
  39. },
  40. onClose2() {
  41. this.setData({
  42. pageStatus: 0
  43. , notesInput: ''
  44. , deviceList: []
  45. , logsInfo: {}
  46. , roomInfo: {}
  47. });
  48. this.setData({
  49. show1: false, show2: false
  50. });
  51. },
  52. onShow() {
  53. },
  54. onShow1() {
  55. this.setData({
  56. show1: true
  57. });
  58. },
  59. onShow2(text = null) {
  60. this.setData({
  61. show2: true,
  62. show2Text: text
  63. });
  64. },
  65. onStartInspection() {
  66. wx.showToast({
  67. icon: 'none',
  68. title: "开始巡检",
  69. });
  70. this.setData({pageStatus: 1});
  71. this.setData({
  72. deviceList: [],
  73. logsInfo: {},
  74. statusFlag:false,
  75. roomInfo: {}
  76. })
  77. api.startCheck({
  78. params: {room_id: this.data.room_id},
  79. headers: {unionid: wx.getStorageSync("unionid")},
  80. })
  81. .then(data => {
  82. if (data.code === 1) {
  83. this.getNucEquips(data.data.logs.id)
  84. setInterval(() => {
  85. this.setData({
  86. statusFlag:true,
  87. })
  88. }, (data.data.ex_time||6)*1000)
  89. } else {
  90. this.setData({
  91. deviceList: [],
  92. logsInfo: {},
  93. statusFlag:false,
  94. roomInfo: {}
  95. })
  96. this.setData({pageStatus: 0});
  97. if (data[0]==="["){
  98. this.onShow2("当前巡检并未结束,运行结束后再进行操作!")
  99. }else{
  100. this.onShow2(data.info || "巡检异常请联系管理员")
  101. }
  102. }
  103. })
  104. .catch(err => {
  105. console.log( err)
  106. this.setData({
  107. deviceList: [],
  108. statusFlag:false,
  109. logsInfo: {},
  110. roomInfo: {}
  111. })
  112. this.setData({pageStatus: 0});
  113. this.onShow2("巡检异常请联系管理员")
  114. });
  115. }
  116. ,
  117. getNucEquips(id) {
  118. api.nucEquips({
  119. params: {room_id: this.data.room_id,id: id},
  120. headers: {unionid: wx.getStorageSync("unionid")}
  121. }).then(data => {
  122. if (data.code === 1) {
  123. var logs = data.data.logs || {};
  124. this.setData({
  125. deviceList: logs.inspection || [],
  126. logsInfo: logs,
  127. roomInfo: data.data.room || {}
  128. })
  129. } else {
  130. this.onShow2(data.info || "获取设备列表失败,请联系管理员!")
  131. }
  132. }).catch(err => {
  133. this.onShow2("获取设备列表失败,请联系管理员!")
  134. });
  135. },
  136. onConfirm() {
  137. api.confirm({
  138. body: {note: this.data.notesInput, id: this.data.logsInfo.id},
  139. headers: {unionid: wx.getStorageSync("unionid")}
  140. }).then(data => {
  141. if (data.code === 1) {
  142. this.setData({
  143. pageStatus: 0
  144. , notesInput: ''
  145. , deviceList: []
  146. , logsInfo: {}
  147. , roomInfo: {}
  148. });
  149. } else {
  150. this.onShow2(data.info || "提交失败,请联系管理员!")
  151. }
  152. }).catch(err => {
  153. this.onShow2("提交失败,请联系管理员!")
  154. });
  155. this.onClose()
  156. },
  157. onClosePage() {
  158. this.onConfirm()
  159. wx.navigateBack({
  160. delta: 1
  161. });
  162. },
  163. onSubmit() {
  164. api.inspect({
  165. body: {inspection: this.data.deviceList, id: this.data.logsInfo.id},
  166. headers: {unionid: wx.getStorageSync("unionid")}
  167. }).then(data => {
  168. if (data.code === 1) {
  169. let {count = 0, normal = 0, abnormal = 0, inspection = []} = data.data || {}
  170. wx.showToast({
  171. icon: 'none',
  172. title: data.info || "提交成功!",
  173. });
  174. this.setData({
  175. pageStatus: 2,
  176. count,
  177. normal,
  178. abnormal,
  179. abnormal_d_name: inspection
  180. .filter(item => item.checked === 0)
  181. .map(item => item.entity_name)
  182. .join(',') || '--'
  183. });
  184. } else {
  185. this.onShow2(data.info || "提交失败,请联系管理员!")
  186. }
  187. }).catch(err => {
  188. this.onShow2("提交失败,请联系管理员!")
  189. });
  190. },
  191. setDeviceStats(e) {
  192. let {index, status} = e.currentTarget.dataset
  193. this.setData({
  194. [`deviceList[${index}].checked`]: status
  195. })
  196. }
  197. });