|
@@ -15,18 +15,18 @@ Component({
|
|
|
customHeight: 0,
|
|
|
bottomNavHeight: 0,
|
|
|
contentHeight: 0,
|
|
|
-
|
|
|
+
|
|
|
date_start: '',
|
|
|
date_end: '',
|
|
|
date_start1: '',
|
|
|
date_end1: '',
|
|
|
- istoday:true,
|
|
|
- daysBetween:1,
|
|
|
+ istoday: true,
|
|
|
+ daysBetween: 1,
|
|
|
show: false,
|
|
|
//店铺数据
|
|
|
- storeList:[],
|
|
|
+ storeList: [],
|
|
|
//价格
|
|
|
- price:211
|
|
|
+ price: 211
|
|
|
},
|
|
|
lifetimes: {
|
|
|
detached: function () {},
|
|
@@ -59,7 +59,7 @@ Component({
|
|
|
const today = new Date();
|
|
|
const tomorrow = new Date();
|
|
|
tomorrow.setDate(today.getDate() + 1);
|
|
|
-
|
|
|
+
|
|
|
this.setData({
|
|
|
date_start: this.formatDate(today),
|
|
|
date_end: this.formatDate(tomorrow),
|
|
@@ -103,14 +103,14 @@ Component({
|
|
|
date_end: `${this.formatDate(end)}`,
|
|
|
daysBetween
|
|
|
});
|
|
|
- if(this.data.date_start.trim()==this.data.date_start1.trim()&&this.data.date_end.trim()==this.data.date_end1.trim()){
|
|
|
+ if (this.data.date_start.trim() == this.data.date_start1.trim() && this.data.date_end.trim() == this.data.date_end1.trim()) {
|
|
|
this.setData({
|
|
|
- istoday:true
|
|
|
+ istoday: true
|
|
|
})
|
|
|
console.log(this.data.istoday);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.setData({
|
|
|
- istoday:false
|
|
|
+ istoday: false
|
|
|
})
|
|
|
console.log(this.data.istoday);
|
|
|
}
|
|
@@ -120,21 +120,21 @@ Component({
|
|
|
gourl(e) {
|
|
|
const url = e.currentTarget.dataset.url;
|
|
|
const id = e.currentTarget.dataset.id;
|
|
|
-
|
|
|
+
|
|
|
// 构造要传递的信息
|
|
|
const info = {
|
|
|
objectId: id,
|
|
|
date_start: this.data.date_start,
|
|
|
date_end: this.data.date_end,
|
|
|
daysBetween: this.data.daysBetween,
|
|
|
- istoday:this.data.istoday,
|
|
|
+ istoday: this.data.istoday,
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
// 将信息转为查询字符串
|
|
|
const queryString = Object.keys(info)
|
|
|
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(info[key])}`)
|
|
|
.join('&');
|
|
|
-
|
|
|
+
|
|
|
// 使用查询字符串跳转
|
|
|
wx.navigateTo({
|
|
|
url: `${url}?${queryString}`,
|
|
@@ -146,20 +146,137 @@ Component({
|
|
|
ShopStore.equalTo('company', company);
|
|
|
ShopStore.equalTo('type', "stay");
|
|
|
ShopStore.notEqualTo('isDeleted', "true");
|
|
|
-
|
|
|
+
|
|
|
let store = await ShopStore.find();
|
|
|
- let storeList = store.map(item => {
|
|
|
+ let storeListPromises = store.map(async item => {
|
|
|
let storeItem = item.toJSON();
|
|
|
// 为每一项添加价格属性
|
|
|
- storeItem.price = storeItem.perCapita*this.data.daysBetween;
|
|
|
+ storeItem.price = storeItem.perCapita * this.data.daysBetween;
|
|
|
+ storeItem.iscollect = await this.iscollect(storeItem.objectId); // 等待iscollect的结果
|
|
|
return storeItem;
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
+ let storeList = await Promise.all(storeListPromises); // 等待所有的Promise完成
|
|
|
+
|
|
|
this.setData({
|
|
|
storeList
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
console.log(this.data.storeList);
|
|
|
- }
|
|
|
+ },
|
|
|
+ //收藏功能
|
|
|
+ async iscollect(object) {
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let Collect = new Parse.Query('DramaShopCollect');
|
|
|
+ Collect.equalTo('company', company);
|
|
|
+ Collect.equalTo('user', currentUser.id);
|
|
|
+ Collect.equalTo('homestayStore', object);
|
|
|
+ Collect.equalTo('isCollect', 'true');
|
|
|
+ Collect.notEqualTo('isDeleted', "true");
|
|
|
+ let collect = await Collect.first();
|
|
|
+ if (collect) {
|
|
|
+ return true
|
|
|
+ } else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //点击收藏
|
|
|
+ async submit(e) {
|
|
|
+ const object = e.currentTarget.dataset.id
|
|
|
+ console.log(object);
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let Collect = new Parse.Query('DramaShopCollect');
|
|
|
+ Collect.equalTo('company', company);
|
|
|
+ Collect.equalTo('user', currentUser.id);
|
|
|
+ Collect.equalTo('homestayStore', object);
|
|
|
+ Collect.notEqualTo('isDeleted', "true");
|
|
|
+ let collect = await Collect.first();
|
|
|
+
|
|
|
+ await this.changeiscollect(object)
|
|
|
+
|
|
|
+ if (collect) {
|
|
|
+ collect.set('isCollect', true)
|
|
|
+ try {
|
|
|
+ let saveDate = await collect.save();
|
|
|
+ console.log(saveDate);
|
|
|
+ console.log("收藏成功1");
|
|
|
+ } catch (error) {
|
|
|
+ console.error("保存数据时出现错误:", error);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //user
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let userquery2 = new Parse.Query('_User');
|
|
|
+ userquery2.equalTo('company', company);
|
|
|
+ userquery2.equalTo('objectId', currentUser.id);
|
|
|
+ userquery2.notEqualTo('isDeleted', true)
|
|
|
+ let user2 = await userquery2.first();
|
|
|
+ //店铺
|
|
|
+ let Collect3 = new Parse.Query('ShopStore');
|
|
|
+ Collect3.equalTo('company', company);
|
|
|
+ Collect3.equalTo('objectId', object);
|
|
|
+ Collect3.notEqualTo('isDeleted', "true");
|
|
|
+ let collect3 = await Collect3.first();
|
|
|
+
|
|
|
+ let companyPointer = Parse.Object.extend('Company').createWithoutData(company);
|
|
|
+ let Comment = new Parse.Object('DramaShopCollect');
|
|
|
+ Comment.set('company', companyPointer);
|
|
|
+ Comment.set('homestayStore', collect3.toPointer());
|
|
|
+ Comment.set('user', user2.toPointer());
|
|
|
+ Comment.set('isCollect', true);
|
|
|
+ try {
|
|
|
+ let saveDate2 = await Comment.save();
|
|
|
+ console.log(saveDate2);
|
|
|
+ console.log("收藏成功");
|
|
|
+ } catch (error) {
|
|
|
+ console.error("保存数据时出现错误:", error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ // 点击收藏后把storeList中对应的isCollect变成true
|
|
|
+ changeiscollect(objectId) {
|
|
|
+ // 创建一个新的 storeList 数组,以确保视图更新
|
|
|
+ const updatedStoreList = this.data.storeList.map(item => {
|
|
|
+ if (item.objectId === objectId) {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ iscollect: !item.iscollect // 切换 iscollect 的值
|
|
|
+ };
|
|
|
+ }
|
|
|
+ return item; // 返回未修改的项
|
|
|
+ });
|
|
|
+
|
|
|
+ // 更新 storeList
|
|
|
+ this.setData({
|
|
|
+ storeList: updatedStoreList
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log('修改成功', objectId);
|
|
|
+ },
|
|
|
+ //点击取消
|
|
|
+ async cancle(e) {
|
|
|
+ const object = e.currentTarget.dataset.id
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let Collect = new Parse.Query('DramaShopCollect');
|
|
|
+ Collect.equalTo('company', company);
|
|
|
+ Collect.equalTo('user', currentUser.id);
|
|
|
+ Collect.equalTo('isCollect', true);
|
|
|
+ Collect.equalTo('homestayStore', object);
|
|
|
+ Collect.notEqualTo('isDeleted', "true");
|
|
|
+ let collect = await Collect.first();
|
|
|
+
|
|
|
+ await this.changeiscollect(object)
|
|
|
+ if (collect) {
|
|
|
+ collect.set('isCollect', false)
|
|
|
+ try {
|
|
|
+ let saveDate = await collect.save();
|
|
|
+ console.log(saveDate);
|
|
|
+ console.log("取消成功");
|
|
|
+ } catch (error) {
|
|
|
+ console.error("保存数据时出现错误:", error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
});
|