takePhoto.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. // pages/takePhoto/takePhoto.js
  2. import { postApi, getApi } from "../../apis/api";
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. terminalServices: [], // 码头服务列表
  9. searchWords: "", // 搜索关键词
  10. loading: false, // 加载状态
  11. waterLevels: [], // 水位数据
  12. },
  13. /**
  14. * 生命周期函数--监听页面加载
  15. */
  16. onLoad(options) {
  17. this.getTerminalServices();
  18. this.getWaterLevel();
  19. },
  20. /**
  21. * 生命周期函数--监听页面初次渲染完成
  22. */
  23. onReady() {},
  24. /**
  25. * 生命周期函数--监听页面显示
  26. */
  27. onShow() {
  28. if (typeof this.getTabBar === "function" && this.getTabBar()) {
  29. this.getTabBar().setData({
  30. selected: 0,
  31. });
  32. }
  33. },
  34. /**
  35. * 生命周期函数--监听页面隐藏
  36. */
  37. onHide() {},
  38. /**
  39. * 生命周期函数--监听页面卸载
  40. */
  41. onUnload() {},
  42. /**
  43. * 页面相关事件处理函数--监听用户下拉动作
  44. */
  45. onPullDownRefresh() {},
  46. /**
  47. * 页面上拉触底事件的处理函数
  48. */
  49. onReachBottom() {},
  50. /**
  51. * 用户点击右上角分享
  52. */
  53. onShareAppMessage() {},
  54. /**
  55. * 获取码头服务数据
  56. */
  57. getTerminalServices(searchWords = "") {
  58. this.setData({
  59. loading: true,
  60. });
  61. postApi("/pallet/terminal/services", {
  62. searchWords: searchWords,
  63. })
  64. .then((res) => {
  65. if (res.data && res.data.status === 0) {
  66. this.setData({
  67. terminalServices: res.data.result || [],
  68. loading: false,
  69. });
  70. } else {
  71. this.setData({
  72. loading: false,
  73. });
  74. wx.showToast({
  75. title: res.data.msg || "获取数据失败",
  76. icon: "none",
  77. });
  78. }
  79. })
  80. .catch((res) => {
  81. console.log(res);
  82. this.setData({
  83. loading: false,
  84. });
  85. wx.showToast({
  86. title: "网络请求失败",
  87. icon: "none",
  88. });
  89. });
  90. },
  91. /**
  92. * 搜索码头服务
  93. */
  94. searchTerminalServices() {
  95. this.getTerminalServices(this.data.searchWords);
  96. },
  97. /**
  98. * 输入框内容变化事件
  99. */
  100. onSearchInput(e) {
  101. this.setData({
  102. searchWords: e.detail.value,
  103. });
  104. },
  105. /**
  106. * 拨打电话
  107. */
  108. makePhoneCall(e) {
  109. const phone = e.currentTarget.dataset.phone;
  110. if (phone) {
  111. wx.makePhoneCall({
  112. phoneNumber: phone,
  113. });
  114. } else {
  115. wx.showToast({
  116. title: "电话号码不存在",
  117. icon: "none",
  118. });
  119. }
  120. },
  121. async getWaterLevel() {
  122. let { data } = await getApi("/pallet/water/level");
  123. if (data.status === 0) {
  124. // 判断data.result是数组内对象waterLevelFluctuation字段的第一个字符如果是负号,新增change字段的值为down,如果是正号,新增change字段的值为up,如果是0,新增change字段的值为zero
  125. data.result.forEach((item) => {
  126. if (item.waterLevelFluctuation[0] === "-") {
  127. item.change = "falling";
  128. item.changeIcon = "↓";
  129. }
  130. if (item.waterLevelFluctuation[0] === "+") {
  131. item.change = "rising";
  132. item.changeIcon = "↑";
  133. }
  134. if (item.waterLevelFluctuation[0] === "0") {
  135. item.change = "stable";
  136. }
  137. });
  138. this.setData({
  139. waterLevels: data.result,
  140. });
  141. } else {
  142. this.setData({
  143. waterLevels: [],
  144. });
  145. wx.showToast({
  146. title: data.msg,
  147. icon: "none",
  148. });
  149. }
  150. },
  151. });