ourCanteen.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. // pages/ourCanteen/index.js
  2. import {
  3. imgUrl
  4. } from "../api/request"
  5. import {
  6. request,
  7. baseUrl
  8. } from "../api/canteen-request.js";
  9. Page({
  10. /**
  11. * 页面的初始数据
  12. */
  13. data: {
  14. canteenEmpty: false,
  15. isLoading: false,
  16. imgUrl: imgUrl,
  17. baseUrl: baseUrl + '/',
  18. tab: 0,
  19. item: '',
  20. canteenList: [],
  21. isManager: false,
  22. },
  23. /**
  24. * 生命周期函数--监听页面加载
  25. */
  26. onLoad: function (options) {
  27. // 查询用户所属角色
  28. request({
  29. url: '/mini/worker/getUserType',
  30. method: 'GET',
  31. data: {
  32. userId: wx.getStorageSync('userid')
  33. }
  34. }).then(res => {
  35. if (res.result) {
  36. let userType = res.data;
  37. // 政府工作人员
  38. if ("0" == userType || '2' == userType) {
  39. this.setData({
  40. isManager: false
  41. });
  42. this.canteenList();
  43. } else if ('1' == userType) {
  44. this.setData({
  45. isManager: true
  46. });
  47. this.canteenList();
  48. } else {
  49. wx.navigateBack();
  50. }
  51. } else {
  52. wx.navigateBack();
  53. }
  54. });
  55. },
  56. /**
  57. * 生命周期函数--监听页面初次渲染完成
  58. */
  59. onReady: function () {
  60. },
  61. /**
  62. * 生命周期函数--监听页面显示
  63. */
  64. onShow: function () {
  65. this.setData({
  66. item: 0,
  67. isLoading: false,
  68. canteenEmpty: false
  69. })
  70. if (this.data.loginReturnFlag) {
  71. this.setData({
  72. loginReturnFlag: false
  73. })
  74. this.onLoad()
  75. }
  76. },
  77. /**
  78. * 生命周期函数--监听页面隐藏
  79. */
  80. onHide: function () {
  81. },
  82. /**
  83. * 生命周期函数--监听页面卸载
  84. */
  85. onUnload: function () {
  86. },
  87. /**
  88. * 页面相关事件处理函数--监听用户下拉动作
  89. */
  90. onPullDownRefresh: function () {
  91. },
  92. /**
  93. * 页面上拉触底事件的处理函数
  94. */
  95. onReachBottom: function () {
  96. },
  97. /**
  98. * 用户点击右上角分享
  99. */
  100. onShareAppMessage: function () {
  101. return {
  102. title: '食堂'
  103. }
  104. },
  105. imageError(e) {
  106. let temp = this.data.canteenList;
  107. temp[e.currentTarget.dataset.index].canteenPhotoPath = '';
  108. this.setData({
  109. canteenList: temp
  110. })
  111. },
  112. changeItem: function (e) {
  113. if (e.currentTarget.dataset.item == 1) {
  114. wx.navigateTo({
  115. url: '/pages/deliciousList/deliciousList'
  116. })
  117. } else {
  118. this.setData({
  119. item: e.currentTarget.dataset.item
  120. })
  121. }
  122. },
  123. changeTab: function (e) {
  124. this.setData({
  125. tab: e.detail.current
  126. })
  127. },
  128. toMenu: function (e) {
  129. var canteenId = e.currentTarget.dataset.item;
  130. var canteenName = e.currentTarget.dataset.name;
  131. var time = e.currentTarget.dataset.time;
  132. if (canteenId && canteenId != '') {
  133. wx.navigateTo({
  134. url: `/pagesPublic/pages/menu/menu?canteenId=${canteenId}&canteenName=${canteenName}&time=${time}`
  135. })
  136. }
  137. },
  138. // 阻止手动拖动
  139. catchTouchMove: function (res) {
  140. return true
  141. },
  142. islogin() {
  143. let userid = wx.getStorageSync('userId');
  144. if (userid === null || userid === '') {
  145. this.showDialog();
  146. }
  147. },
  148. showDialog() {
  149. wx.showModal({
  150. title: '掌新南岸欢迎您!',
  151. content: '您当前尚未登录,请登录!',
  152. showCancel: false,
  153. confirmText: '登录',
  154. success: function (res) {
  155. wx.navigateTo({
  156. url: '/pages/login/login',
  157. });
  158. },
  159. });
  160. },
  161. back() {
  162. wx.navigateBack({
  163. delta: 1,
  164. })
  165. },
  166. canteenList() {
  167. this.setData({
  168. isLoading: true
  169. })
  170. let reqData = {};
  171. if (this.data.isManager) {
  172. reqData = {
  173. userId: wx.getStorageSync('userid')
  174. };
  175. }
  176. request({
  177. url: '/mini/canteen/getCanteenList',
  178. method: 'GET',
  179. data: reqData,
  180. }).then(res => {
  181. if (res.result) {
  182. let data = res.data
  183. if (data.length < 1) {
  184. this.setData({
  185. canteenEmpty: true
  186. })
  187. }
  188. for (let i = 0; i < data.length; i++) {
  189. const element = data[i];
  190. var timeFrame = "";
  191. var timeFrameinfo = [];
  192. var supplyTime = element.supplyTimeMaps.sort((a, b) => {
  193. return a.timeNode - b.timeNode
  194. })
  195. for (let j = 0; j < supplyTime.length; j++) {
  196. const childElement = supplyTime[j];
  197. switch (childElement.timeNode) {
  198. case 1:
  199. timeFrame += "早";
  200. childElement.timeNode = "早上";
  201. break
  202. case 2:
  203. timeFrame += "中";
  204. childElement.timeNode = "中午";
  205. break
  206. case 3:
  207. timeFrame += "晚";
  208. childElement.timeNode = "晚上";
  209. break
  210. case 4:
  211. timeFrame += "外卖";
  212. childElement.timeNode = "外卖";
  213. break
  214. }
  215. if (j != supplyTime.length - 1) {
  216. timeFrame += "/"
  217. }
  218. timeFrameinfo.push(childElement)
  219. }
  220. data[i].timeFrame = timeFrame;
  221. data[i].timeFrameinfo = timeFrameinfo;
  222. }
  223. this.setData({
  224. isLoading: false,
  225. canteenList: data
  226. })
  227. } else {
  228. this.setData({
  229. isLoading: false,
  230. })
  231. }
  232. })
  233. }
  234. })