|
@@ -2,13 +2,12 @@
|
|
|
import moment, { parseTwoDigitYear } from '../../utils/moment.min';
|
|
|
moment.locale('en', {
|
|
|
longDateFormat: {
|
|
|
- l: "YYYY-MM-DD",
|
|
|
- L: "YYYY-MM-DD HH:mm:ss",
|
|
|
+ l: 'YYYY-MM-DD',
|
|
|
+ L: 'YYYY-MM-DD HH:mm:ss',
|
|
|
},
|
|
|
-})
|
|
|
-const app = getApp()
|
|
|
+});
|
|
|
+const app = getApp();
|
|
|
Page({
|
|
|
-
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
@@ -16,7 +15,7 @@ Page({
|
|
|
height: app.globalData.height * 2 + 25,
|
|
|
windowHeight: app.globalData.windowHeight,
|
|
|
navbarData: {
|
|
|
- name: '报餐'
|
|
|
+ name: '报餐',
|
|
|
},
|
|
|
tenant: '',
|
|
|
logo: '',
|
|
@@ -24,7 +23,7 @@ Page({
|
|
|
// 点餐
|
|
|
currentTab: 0,
|
|
|
// 早餐,午餐,晚餐
|
|
|
- infoTab: 0,
|
|
|
+ infoTab: '0',
|
|
|
// 餐列表
|
|
|
breakfastList: [],
|
|
|
lunchList: [],
|
|
@@ -35,23 +34,23 @@ Page({
|
|
|
thrStepper: 0,
|
|
|
// 选餐表单
|
|
|
form: {
|
|
|
- breakfast: { reserve: 0, list: [], },
|
|
|
- lunch: { reserve: 0, list: [], },
|
|
|
- dinner: { reserve: 0, list: [], },
|
|
|
+ breakfast: { reserve: 0, list: [] },
|
|
|
+ lunch: { reserve: 0, list: [] },
|
|
|
+ dinner: { reserve: 0, list: [] },
|
|
|
},
|
|
|
// 时间选择范围
|
|
|
picker: {},
|
|
|
},
|
|
|
// 选择日期
|
|
|
bindDateChange: async function (e) {
|
|
|
- console.log('picker发送选择改变,携带值为', e.detail.value)
|
|
|
- this.setData({ today: e.detail.value })
|
|
|
+ console.log('picker发送选择改变,携带值为', e.detail.value);
|
|
|
+ this.setData({ today: e.detail.value });
|
|
|
await this.searchDate();
|
|
|
await this.searchOrder();
|
|
|
},
|
|
|
// 禁止左右滑动
|
|
|
stopTab: function (e) {
|
|
|
- return false
|
|
|
+ return false;
|
|
|
},
|
|
|
//点击切换
|
|
|
clickTab: function (e) {
|
|
@@ -60,8 +59,8 @@ Page({
|
|
|
return false;
|
|
|
} else {
|
|
|
that.setData({
|
|
|
- currentTab: e.target.dataset.current
|
|
|
- })
|
|
|
+ currentTab: e.target.dataset.current,
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
// 点击选择餐食
|
|
@@ -70,57 +69,63 @@ Page({
|
|
|
let data = e.target.dataset.current;
|
|
|
if (this.data.infoTab === data) return false;
|
|
|
else that.setData({ infoTab: data });
|
|
|
-
|
|
|
},
|
|
|
// 选择餐数量
|
|
|
// 早餐,午餐,晚餐
|
|
|
oneChange: function (e) {
|
|
|
console.log(e);
|
|
|
- const { data, type } = e.target.dataset
|
|
|
+ const { data, type } = e.target.dataset;
|
|
|
const { detail } = e;
|
|
|
- this.menuNumOpera(type, detail, data._id)
|
|
|
+ this.menuNumOpera(type, detail, data._id);
|
|
|
},
|
|
|
// 增加
|
|
|
onePlus: function (e) {
|
|
|
console.log('增加');
|
|
|
let data = e.target.dataset.data;
|
|
|
let type = this.data.infoTab;
|
|
|
+ console.log(typeof type);
|
|
|
+ let initMealData = { list: [], reserve: 0 };
|
|
|
let meal;
|
|
|
let mw;
|
|
|
- if (type == 0) {//早餐
|
|
|
- mw = 'breakfast';
|
|
|
- meal = this.data.form.breakfast;
|
|
|
- // 计算卡路里
|
|
|
- let reserve = meal.reserve + data.reserve;
|
|
|
- this.setData({ 'form.breakfast.reserve': reserve })
|
|
|
- } else if (type == 1) {//午餐
|
|
|
- mw = 'lunch';
|
|
|
- meal = this.data.form.lunch;
|
|
|
- // 计算卡路里
|
|
|
- let reserve = meal.reserve + data.reserve;
|
|
|
- this.setData({ 'form.lunch.reserve': reserve })
|
|
|
- } else if (type == 2) {//晚餐
|
|
|
- mw = 'dinner';
|
|
|
- meal = this.data.form.dinner;
|
|
|
- // 计算卡路里
|
|
|
- let reserve = meal.reserve + data.reserve;
|
|
|
- this.setData({ 'form.dinner.reserve': reserve })
|
|
|
+ switch (type) {
|
|
|
+ case '0':
|
|
|
+ mw = 'breakfast';
|
|
|
+ meal = this.data.form.breakfast;
|
|
|
+ break;
|
|
|
+ case '1':
|
|
|
+ mw = 'lunch';
|
|
|
+ meal = this.data.form.lunch;
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ mw = 'dinner';
|
|
|
+ meal = this.data.form.dinner;
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
+ if (!meal) meal = initMealData;
|
|
|
+ // 计算卡路里
|
|
|
+ meal.reserve = meal.reserve + data.reserve;
|
|
|
// 查询下标
|
|
|
- let res = meal.list.findIndex(i => i.id === data.id);
|
|
|
+ let res = meal.list.findIndex((i) => i._id === data._id);
|
|
|
// 查询数据
|
|
|
- let arr = meal.list.find(i => i.id === data.id);
|
|
|
+ let arr = meal.list.find((i) => i._id === data._id);
|
|
|
let onum = 0;
|
|
|
- if (arr) {//已有值
|
|
|
+ if (arr) {
|
|
|
+ //已有值
|
|
|
onum = arr.num + 1;
|
|
|
- let qwe = { ...arr, num: onum } //id: arr.id, title: arr.title
|
|
|
- meal.list.splice(res, 1, qwe)
|
|
|
- } else {//没有值
|
|
|
- console.log(data)
|
|
|
+ let qwe = { ...arr, num: onum }; //id: arr.id, title: arr.title
|
|
|
+ meal.list.splice(res, 1, qwe);
|
|
|
+ } else {
|
|
|
+ //没有值
|
|
|
let onum = 1;
|
|
|
- let arr = { ...data, num: onum } //id: data.id, title: data.title
|
|
|
- meal.list.push(arr)
|
|
|
+ let arr = { ...data, num: onum }; //id: data.id, title: data.title
|
|
|
+ meal.list.push(arr);
|
|
|
}
|
|
|
+ const key = `form.${mw}`;
|
|
|
+ this.setData({ [key]: meal });
|
|
|
+ this.computedTotalReserve();
|
|
|
},
|
|
|
/**
|
|
|
* 更新菜单的数量
|
|
@@ -130,16 +135,16 @@ Page({
|
|
|
*/
|
|
|
menuNumOpera(type, num, id) {
|
|
|
let list = this.data[`${type}List`];
|
|
|
- console.log(list)
|
|
|
- const li = list.findIndex(f => f._id === id)
|
|
|
- const ld = list.find(f => f._id === id)
|
|
|
- console.log(li, id)
|
|
|
+ console.log(list);
|
|
|
+ const li = list.findIndex((f) => f._id === id);
|
|
|
+ const ld = list.find((f) => f._id === id);
|
|
|
+ console.log(li, id);
|
|
|
if (ld) {
|
|
|
ld.num = num;
|
|
|
- list.splice(li, 1, ld)
|
|
|
+ list.splice(li, 1, ld);
|
|
|
this.setData({
|
|
|
- [`${type}List`]: list
|
|
|
- })
|
|
|
+ [`${type}List`]: list,
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -148,51 +153,62 @@ Page({
|
|
|
console.log('减少');
|
|
|
let data = e.target.dataset.data;
|
|
|
let type = this.data.infoTab;
|
|
|
+ let initMealData = { list: [], reserve: 0 };
|
|
|
let meal;
|
|
|
let mw;
|
|
|
- if (type == 0) {//早餐
|
|
|
- mw = 'breakfast';
|
|
|
- meal = this.data.form.breakfast;
|
|
|
- // 计算减少卡路里
|
|
|
- let reserve = meal.reserve - data.reserve;
|
|
|
- this.setData({ 'form.breakfast.reserve': reserve })
|
|
|
- } else if (type == 1) {//午餐
|
|
|
- mw = 'lunch';
|
|
|
- meal = this.data.form.lunch;
|
|
|
- // 计算减少卡路里
|
|
|
- let reserve = meal.reserve - data.reserve;
|
|
|
- this.setData({ 'form.lunch.reserve': reserve })
|
|
|
- } else if (type == 2) {//晚餐
|
|
|
- mw = 'dinner';
|
|
|
- meal = this.data.form.dinner;
|
|
|
- // 计算减少卡路里
|
|
|
- let reserve = meal.reserve - data.reserve;
|
|
|
- this.setData({ 'form.dinner.reserve': reserve })
|
|
|
+ switch (type) {
|
|
|
+ case '0':
|
|
|
+ mw = 'breakfast';
|
|
|
+ meal = this.data.form.breakfast;
|
|
|
+ break;
|
|
|
+ case '1':
|
|
|
+ mw = 'lunch';
|
|
|
+ meal = this.data.form.lunch;
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ mw = 'dinner';
|
|
|
+ meal = this.data.form.dinner;
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
+ if (!meal) meal = initMealData;
|
|
|
+ // 计算卡路里
|
|
|
+ meal.reserve = meal.reserve - data.reserve;
|
|
|
// 查询下标
|
|
|
- let res = meal.list.findIndex(i => i.id === data.id);
|
|
|
+ let res = meal.list.findIndex((i) => i._id === data._id);
|
|
|
// 查询数据
|
|
|
- let arr = meal.list.find(i => i.id === data.id);
|
|
|
+ let arr = meal.list.find((i) => i._id === data._id);
|
|
|
if (arr) {
|
|
|
- if (arr.num - 1 <= 0) meal.list.splice(res, 1)
|
|
|
+ if (arr.num - 1 <= 0) meal.list.splice(res, 1);
|
|
|
else {
|
|
|
- let qwe = { ...arr, num: arr.num - 1 }
|
|
|
- meal.list.splice(res, 1, qwe)
|
|
|
+ let qwe = { ...arr, num: arr.num - 1 };
|
|
|
+ meal.list.splice(res, 1, qwe);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
- // this.menuNumOpera(mw, onum, data._id)
|
|
|
+ const key = `form.${mw}`;
|
|
|
+ this.setData({ [key]: meal });
|
|
|
+ this.computedTotalReserve();
|
|
|
+ },
|
|
|
+ computedTotalReserve() {
|
|
|
+ const form = this.data.form;
|
|
|
+ const br = form.breakfast && form.breakfast.reserve ? form.breakfast.reserve : 0;
|
|
|
+ const lr = form.lunch && form.lunch.reserve ? form.lunch.reserve : 0;
|
|
|
+ const dr = form.dinner && form.dinner.reserve ? form.dinner.reserve : 0;
|
|
|
+ const total = br + lr + dr;
|
|
|
+ this.setData({ totalReserve: total });
|
|
|
},
|
|
|
// 提交
|
|
|
onSubmit: async function () {
|
|
|
- const data = JSON.parse(JSON.stringify(this.data.form))
|
|
|
+ const data = JSON.parse(JSON.stringify(this.data.form));
|
|
|
if (app.globalData.wxInfo) data.openid = app.globalData.wxInfo.openid;
|
|
|
if (this.data.today) data.date = this.data.today;
|
|
|
let url;
|
|
|
- if (data._id) url = `${app.globalData.publicUrl}/api/st/dining/order/update/${data._id}`
|
|
|
- else url = `${app.globalData.publicUrl}/api/st/dining/order`;
|
|
|
+ if (data._id) url = `/order/update/${data._id}`;
|
|
|
+ else url = `/order`;
|
|
|
const res = await app.$post(url, data);
|
|
|
- if (res.errcode === 0) wx.showToast({ title: '点餐成功', icon: 'success' })
|
|
|
+ if (res.errcode === 0) wx.showToast({ title: '点餐成功', icon: 'success' });
|
|
|
},
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
@@ -201,66 +217,69 @@ Page({
|
|
|
this.searchST();
|
|
|
let today = moment().add(1, 'days').format('YYYY-MM-DD');
|
|
|
let endday = moment().add(1, 'months').format('YYYY-MM-DD');
|
|
|
- this.setData({ today: today, picker: { start: today, end: endday } })
|
|
|
+ this.setData({ today: today, picker: { start: today, end: endday } });
|
|
|
await this.searchDate();
|
|
|
await this.searchOrder();
|
|
|
},
|
|
|
// 查询时间
|
|
|
searchDate: async function () {
|
|
|
let today = this.data.today;
|
|
|
- const res = await app.$get(`${app.globalData.publicUrl}/api/st/dining/arrange/getByDate?date=${today}`)
|
|
|
+ const res = await app.$get(`/arrange/getByDate?date=${today}`);
|
|
|
const { arrange } = res.data;
|
|
|
if (!arrange) return;
|
|
|
- let { breakfast, lunch, dinner } = arrange
|
|
|
- breakfast = this.dealImg(breakfast)
|
|
|
- lunch = this.dealImg(lunch)
|
|
|
- dinner = this.dealImg(dinner)
|
|
|
+ let { breakfast, lunch, dinner } = arrange;
|
|
|
+ breakfast = this.dealImg(breakfast);
|
|
|
+ lunch = this.dealImg(lunch);
|
|
|
+ dinner = this.dealImg(dinner);
|
|
|
this.setData({
|
|
|
breakfastList: breakfast,
|
|
|
lunchList: lunch,
|
|
|
- dinnerList: dinner
|
|
|
- })
|
|
|
+ dinnerList: dinner,
|
|
|
+ });
|
|
|
},
|
|
|
dealImg(list) {
|
|
|
for (let i of list) {
|
|
|
- if (i.img && i.img.length > 0 && i.img[0]) i.url = `${app.globalData.fileUrl}${i.img[0].url}`;
|
|
|
+ if (i.img && i.img.length > 0 && i.img[0]) i.url = `${i.img[0].url}`;
|
|
|
else i.url = this.data.logo;
|
|
|
}
|
|
|
return list;
|
|
|
},
|
|
|
searchST: async function () {
|
|
|
- wx.request({
|
|
|
- url: `${app.globalData.publicUrl}/api/st/system/tenant/getTenant/${app.globalData.tenant}`,
|
|
|
- method: "get",
|
|
|
- header: { 'x-tenant': app.globalData.tenant },
|
|
|
- data: {},
|
|
|
- success: res => {
|
|
|
- const { data } = res.data;
|
|
|
- this.setData({ tenant: data.name });
|
|
|
- this.setData({ logo: `${app.globalData.fileUrl}` + data.img.logo })
|
|
|
- },
|
|
|
- error: err => {
|
|
|
- wx.showToast({
|
|
|
- title: err.msg,
|
|
|
- icon: 'error'
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
+ const res = await app.$get('/config');
|
|
|
+ const logo = `${res.data.logo[0].url || ''}`;
|
|
|
+ this.setData({ logo });
|
|
|
+ // wx.request({
|
|
|
+ // url: `${app.globalData.publicUrl}/api/st/system/tenant/getTenant/${app.globalData.tenant}`,
|
|
|
+ // method: "get",
|
|
|
+ // data: {},
|
|
|
+ // success: res => {
|
|
|
+ // const { data } = res.data;
|
|
|
+ // this.setData({ tenant: data.name });
|
|
|
+ // this.setData({ logo: `${app.globalData.fileUrl}` + data.img.logo })
|
|
|
+ // },
|
|
|
+ // error: err => {
|
|
|
+ // wx.showToast({
|
|
|
+ // title: err.msg,
|
|
|
+ // icon: 'error'
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
},
|
|
|
// 查订单
|
|
|
async searchOrder() {
|
|
|
let today = this.data.today;
|
|
|
let openid = app.globalData.wxInfo.openid;
|
|
|
- const res = await app.$get(`${app.globalData.publicUrl}/api/st/dining/order/getByOpenid?date=${today}&openid=${openid}`)
|
|
|
- const { data } = res
|
|
|
- if (!data) return
|
|
|
+ const res = await app.$get(`/order/getByOpenid?date=${today}&openid=${openid}`);
|
|
|
+ const { data } = res;
|
|
|
+ if (!data) return;
|
|
|
this.setData({
|
|
|
form: res.data,
|
|
|
- })
|
|
|
- const robj = res.data
|
|
|
- if (robj.breakfast && robj.breakfast.list && robj.breakfast.list.length > 0) this.dealOrderToMenu('breakfast', robj.breakfast.list)
|
|
|
- if (robj.lunch && robj.lunch.list && robj.lunch.list.length > 0) this.dealOrderToMenu('lunch', robj.lunch.list)
|
|
|
- if (robj.dinner && robj.dinner.list && robj.dinner.list.length > 0) this.dealOrderToMenu('dinner', robj.dinner.list)
|
|
|
+ });
|
|
|
+ const robj = res.data;
|
|
|
+ if (robj.breakfast && robj.breakfast.list && robj.breakfast.list.length > 0) this.dealOrderToMenu('breakfast', robj.breakfast.list);
|
|
|
+ if (robj.lunch && robj.lunch.list && robj.lunch.list.length > 0) this.dealOrderToMenu('lunch', robj.lunch.list);
|
|
|
+ if (robj.dinner && robj.dinner.list && robj.dinner.list.length > 0) this.dealOrderToMenu('dinner', robj.dinner.list);
|
|
|
+ this.computedTotalReserve();
|
|
|
},
|
|
|
/**
|
|
|
* 将点过的单还原,继续修改
|
|
@@ -268,70 +287,57 @@ Page({
|
|
|
* @param {Array} list 某餐的内容
|
|
|
*/
|
|
|
dealOrderToMenu(type, list) {
|
|
|
- console.log(type, list)
|
|
|
+ console.log(type, list);
|
|
|
if (list.length <= 0) return;
|
|
|
- const menu = this.data[`${type}List`]
|
|
|
+ const menu = this.data[`${type}List`];
|
|
|
if (!menu) {
|
|
|
- console.log('没找到菜单')
|
|
|
+ console.log('没找到菜单');
|
|
|
return;
|
|
|
}
|
|
|
for (const o of list) {
|
|
|
- const { num, _id } = o
|
|
|
- this.menuNumOpera(type, num, _id)
|
|
|
+ const { num, _id } = o;
|
|
|
+ this.menuNumOpera(type, num, _id);
|
|
|
}
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
*/
|
|
|
- onReady: function () {
|
|
|
-
|
|
|
- },
|
|
|
+ onReady: function () {},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
onShow: function () {
|
|
|
- if (typeof this.getTabBar === 'function' &&
|
|
|
- this.getTabBar()) {
|
|
|
+ if (typeof this.getTabBar === 'function' && this.getTabBar()) {
|
|
|
this.getTabBar().setData({
|
|
|
- selected: 1
|
|
|
- })
|
|
|
+ selected: 1,
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
*/
|
|
|
- onHide: function () {
|
|
|
-
|
|
|
- },
|
|
|
+ onHide: function () {},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
*/
|
|
|
- onUnload: function () {
|
|
|
-
|
|
|
- },
|
|
|
+ onUnload: function () {},
|
|
|
|
|
|
/**
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
*/
|
|
|
- onPullDownRefresh: function () {
|
|
|
-
|
|
|
- },
|
|
|
+ onPullDownRefresh: function () {},
|
|
|
|
|
|
/**
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
*/
|
|
|
- onReachBottom: function () {
|
|
|
-
|
|
|
- },
|
|
|
+ onReachBottom: function () {},
|
|
|
|
|
|
/**
|
|
|
* 用户点击右上角分享
|
|
|
*/
|
|
|
- onShareAppMessage: function () {
|
|
|
-
|
|
|
- }
|
|
|
-})
|
|
|
+ onShareAppMessage: function () {},
|
|
|
+});
|