ourCanteen.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  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. showDialog();
  146. }
  147. },
  148. showDialog() {
  149. wx.showModal({
  150. title: '掌新南岸欢迎您!',
  151. content: '使用完整服务需要登录!',
  152. confirmText: '登录',
  153. cancelText:"取消",
  154. success: function (res) {
  155. if (res.confirm) {
  156. wx.navigateTo({
  157. url: '/pages/login/login',
  158. });
  159. }if (res.cancel){
  160. wx.navigateTo({
  161. url: '/pages/index/index',
  162. })
  163. }
  164. },
  165. });
  166. },
  167. back() {
  168. wx.navigateBack({
  169. delta: 1,
  170. })
  171. },
  172. canteenList() {
  173. this.setData({
  174. isLoading: true
  175. })
  176. let reqData = {};
  177. if (this.data.isManager) {
  178. reqData = {
  179. userId: wx.getStorageSync('userid')
  180. };
  181. }
  182. request({
  183. url: '/mini/canteen/getCanteenList',
  184. method: 'GET',
  185. data: reqData,
  186. }).then(res => {
  187. if (res.result) {
  188. let data = res.data
  189. if (data.length < 1) {
  190. this.setData({
  191. canteenEmpty: true
  192. })
  193. }
  194. for (let i = 0; i < data.length; i++) {
  195. const element = data[i];
  196. var timeFrame = "";
  197. var timeFrameinfo = [];
  198. var supplyTime = element.supplyTimeMaps.sort((a, b) => {
  199. return a.timeNode - b.timeNode
  200. })
  201. for (let j = 0; j < supplyTime.length; j++) {
  202. const childElement = supplyTime[j];
  203. switch (childElement.timeNode) {
  204. case 1:
  205. timeFrame += "早";
  206. childElement.timeNode = "早上";
  207. break
  208. case 2:
  209. timeFrame += "中";
  210. childElement.timeNode = "中午";
  211. break
  212. case 3:
  213. timeFrame += "晚";
  214. childElement.timeNode = "晚上";
  215. break
  216. case 4:
  217. timeFrame += "外卖";
  218. childElement.timeNode = "外卖";
  219. break
  220. }
  221. if (j != supplyTime.length - 1) {
  222. timeFrame += "/"
  223. }
  224. timeFrameinfo.push(childElement)
  225. }
  226. data[i].timeFrame = timeFrame;
  227. data[i].timeFrameinfo = timeFrameinfo;
  228. }
  229. this.setData({
  230. isLoading: false,
  231. canteenList: data
  232. })
  233. } else {
  234. this.setData({
  235. isLoading: false,
  236. })
  237. }
  238. })
  239. }
  240. })