diff --git a/pages/component/proRec/proRec.js b/pages/component/proRec/proRec.js
new file mode 100644
index 0000000..1a34128
--- /dev/null
+++ b/pages/component/proRec/proRec.js
@@ -0,0 +1,78 @@
+// pages/component/TitleHeader.js
+import commonApi from "../../../utils/https/common.js"
+import util from '../../../utils/util'
+var app = getApp()
+Component({
+ options: {
+ styleIsolation: 'apply-shared',
+ addGlobalClass: true
+ },
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ title: {
+ type: String,
+ value: ""
+ },
+ transparent: {
+ type: String,
+ value: "0"
+ },
+ clickid: {
+ type: String,
+ value: ""
+ }
+ },
+ lifetimes: {
+ created() {
+ commonApi._post("product/get_product_by_type", {
+ offset: 0,
+ limit: 6,
+ rand: true,
+ type: "venue,post,line,ticket"
+ }).then(res => {
+ this.setData({
+ showLoading: false
+ })
+ try {
+ this.setData({
+ tjList: res.data.list
+ })
+ } catch (error) {
+ console.log(error);
+ }
+ })
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ tjList: [],
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ gotoDetail: function (e) {
+ let item = e.currentTarget.dataset.item;
+ util.pagePoint({
+ event: 'recommend_click',
+ param: {
+ id: item.id,
+ type: item.type
+ }
+ }, 1)
+ if (item.type == 'travels') {
+ // 游记做特殊处理 其他都按照原来的来
+ wx.navigateTo({
+ url: '/pages/info/strategyInfo/index?id=' + item.s_id,
+ })
+ } else {
+ util.gotoDetail(item);
+ }
+ },
+ }
+})
\ No newline at end of file
diff --git a/pages/component/proRec/proRec.json b/pages/component/proRec/proRec.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/pages/component/proRec/proRec.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/component/proRec/proRec.wxml b/pages/component/proRec/proRec.wxml
new file mode 100644
index 0000000..cd6fe91
--- /dev/null
+++ b/pages/component/proRec/proRec.wxml
@@ -0,0 +1,17 @@
+
+ 商品推荐
+ 加载中...
+
+
+
+
+
+
+ {{item.title}}
+
+ {{item.price/100}}
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/component/proRec/proRec.wxss b/pages/component/proRec/proRec.wxss
new file mode 100644
index 0000000..a1a7b78
--- /dev/null
+++ b/pages/component/proRec/proRec.wxss
@@ -0,0 +1,53 @@
+.tj-title{
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ }
+ .tj-list{
+ display: flex;
+ align-items: center;
+ overflow-x: scroll;
+ overflow-y: hidden;
+ }
+
+ .proitem{
+ width: 226rpx;
+ height: 234rpx;
+ background: #F5F5F5;
+ border-radius: 10rpx;
+ margin-top: 20rpx;
+ margin-right: 20rpx;
+ }
+ .item-hd image{
+ width: 226rpx;
+ height: 130rpx;
+ border-radius: 10rpx 10rpx 0px 0px;
+ }
+ .item-bm{
+ padding: 8rpx 12rpx;
+ }
+ .protitle{
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ color: #000000;
+ }
+ .pro-price{
+ color: #D62828;
+ font-weight: 500;
+ font-size: 30rpx;
+ }
+ .pro-price:before {
+ display: inline-block;
+ content:"¥";
+ color: #D62828;
+ font-size: 20rpx;
+ }
+
+ .pro-price:after {
+ display: inline-block;
+ content:'起';
+ color: #999999;
+ font-size: 10px;
+ }
\ No newline at end of file
diff --git a/pages/info/sceneProductInfo/index.js b/pages/info/sceneProductInfo/index.js
index 9ff83c7..4303194 100644
--- a/pages/info/sceneProductInfo/index.js
+++ b/pages/info/sceneProductInfo/index.js
@@ -25,7 +25,7 @@ Page({
allowance_data: null,
//购物车数量
producNum: 1,
- skuIndex: 0,
+ skuIndex:null,
aniSkuIndex: -1,
cartCount: 0,
cartImgInfo: null,
@@ -256,7 +256,6 @@ Page({
icon: 'none'
})
return
-
}
let index = e.currentTarget.dataset.index;
this.setData({
diff --git a/pages/info/sceneProductInfo/index.wxml b/pages/info/sceneProductInfo/index.wxml
index d8d9145..56416ff 100644
--- a/pages/info/sceneProductInfo/index.wxml
+++ b/pages/info/sceneProductInfo/index.wxml
@@ -115,17 +115,17 @@
-
+
- {{tool.toFix(skuList[skuIndex].price)}}
+ {{ isNaN(tool.toFix(skuList[skuIndex].price))?tool.toFix(skuList[skuIndex].price):tool.toFix(skuList[0].price) }}
补贴价:¥{{ (1 - allowance_data.discount_rate / 100) * info.sku[skuIndex].price / 100 }}
- 已选择:{{skuList[skuIndex].sku_name}}
+ 已选择:{{skuList[skuIndex].sku_name || skuList[0].sku_name}}
- {{item.sku_name}}
+ {{item.sku_name}}
数量
diff --git a/pages/user/cartlist/list.js b/pages/user/cartlist/list.js
index d6a16bb..66b35b2 100644
--- a/pages/user/cartlist/list.js
+++ b/pages/user/cartlist/list.js
@@ -1,5 +1,6 @@
// pages/user/cartlist/list.js
-const device = wx.getSystemInfoSync(),rect = wx.getMenuButtonBoundingClientRect(); // 获取设备信息
+const device = wx.getSystemInfoSync(),
+ rect = wx.getMenuButtonBoundingClientRect(); // 获取设备信息
const ratio = 750 / device.windowWidth;
console.log(rect)
const width = device.windowWidth // 示例为一个与屏幕等宽的正方形裁剪框
@@ -13,12 +14,13 @@ Page({
* 页面的初始数据
*/
data: {
- menuWidth:width - rect.right + rect.width + 6,
- list:[],
- allChecked:false,
- allPrice:0,
- productType:'',
- flag:false,//判断订单是否同时有商品和票
+ menuWidth: width - rect.right + rect.width + 6,
+ list: [],
+ allChecked: false,
+ allPrice: 0,
+ productType: '',
+ manageFlag: false,
+ flag: false, //判断订单是否同时有商品和票
},
/**
@@ -27,145 +29,164 @@ Page({
onLoad: function (options) {
this.getList();
},
- gotoDetail:function(e){
- console.log(e)
+ manage: function () {
+ let list = this.data.list;
+ list.map(item => {
+ item.checked = 0;
+ })
+ this.setData({
+ manageFlag: !this.data.manageFlag,
+ allChecked: 0,
+ list: list,
+ allPrice: 0
+ })
+ },
+ gotoDetail: function (e) {
+ console.log(e)
let item = e.currentTarget.dataset.item.product;
- util.gotoDetail(item,1);
+ util.gotoDetail(item, 1);
},
- getList:function(){
- commonApi.user_post("cart/get_list",{
- // type: '1'
- }).then(res=>{
+ getList: function () {
+ commonApi.user_post("cart/get_list", {
+ // type: '1'
+ }).then(res => {
this.setData({
- list:res.data
+ list: res.data
})
})
},
- minus:function(e){
- let index = e.currentTarget.dataset.index,list = this.data.list;
+ minus: function (e) {
+ let index = e.currentTarget.dataset.index,
+ list = this.data.list;
let num = list[index].num;
- if(num<=1) return;
+ if (num <= 1) return;
num = num - 1;
list[index].num = num;
this.setData({
- list:list
+ list: list
})
this.changeNumber(list[index])
this.updatePrice()
},
- add:function(e){
- let index = e.currentTarget.dataset.index,list = this.data.list;
- let num = list[index].num+1;
+ add: function (e) {
+ let index = e.currentTarget.dataset.index,
+ list = this.data.list;
+ let num = list[index].num + 1;
list[index].num = num;
this.setData({
- list:list
+ list: list
})
this.changeNumber(list[index])
this.updatePrice()
},
- select:function(e){
- let index = e.currentTarget.dataset.index,list = this.data.list;
- if(list[index].product.flag!=1 || list[index].sku.flag!='on'){
+ select: function (e) {
+ let index = e.currentTarget.dataset.index,
+ list = this.data.list;
+ if (list[index].product.flag != 1 || list[index].sku.flag != 'on') {
wx.showToast({
title: '产品已下架',
- icon:'none'
+ icon: 'none'
})
return;
}
- list[index].checked = list[index].checked?false:true;
+ list[index].checked = list[index].checked ? false : true;
this.setData({
- list:list
+ list: list
})
this.updatePrice()
},
- selectAll:function(){
- let list = this.data.list,allChecked = this.data.allChecked?false:true;
- list.map(item=>{
- if(item.sku.flag=='on' && item.product.flag==1){
+ selectAll: function () {
+ let list = this.data.list,
+ allChecked = this.data.allChecked ? false : true;
+ list.map(item => {
+ if (item.sku.flag == 'on' && item.product.flag == 1) {
item.checked = allChecked;
}
})
this.setData({
- allChecked:allChecked,
- list:list
+ allChecked: allChecked,
+ list: list
})
this.updatePrice()
},
- changeNumber(item){
- commonApi.user_post("cart/update_sku",{
- sku_id:item.sku.id,
- num:item.num
- }).then(res=>{
- })
+ changeNumber(item) {
+ commonApi.user_post("cart/update_sku", {
+ sku_id: item.sku.id,
+ num: item.num
+ }).then(res => {})
},
- updatePrice:function(){
- let list = this.data.list,price=0;
- list.map(item=>{
- if(item.checked){
+ updatePrice: function () {
+ let list = this.data.list,
+ price = 0;
+ list.map(item => {
+ if (item.checked) {
price = price + item.sku.price * item.num;
}
})
this.setData({
- allPrice:price
+ allPrice: price
})
},
- order:function(){
+ order: function () {
app.globalData.couponInfo = null;
util.pagePoint({
- event:'cart_order'
- },1)
- let list = this.data.list,price=0,product=[],product1=[]
- list.map(item=>{
- if(item.checked){
+ event: 'cart_order'
+ }, 1)
+ let list = this.data.list,
+ price = 0,
+ product = [],
+ product1 = []
+ list.map(item => {
+ if (item.checked) {
// item.product.type="post";
- if(item.product.type == 'post'){
- product.push({
- product:item.product,
- sku:item.sku,
- productNum:item.num
- })
- }else{
- product1.push(item)
- app.globalData.list = product1
- }
- if(item.product.type.includes('post')){
- this.data.productType = 'post'
- }
+ if (item.product.type == 'post') {
+ product.push({
+ product: item.product,
+ sku: item.sku,
+ productNum: item.num
+ })
+ } else {
+ product1.push(item)
+ app.globalData.list = product1
+ }
+ if (item.product.type.includes('post')) {
+ this.data.productType = 'post'
+ }
}
})
- if(product.length==0 && product1.length==0) {
+ if (product.length == 0 && product1.length == 0) {
wx.showToast({
title: '请先选择产品',
icon: 'none'
})
return;
}
- if (product.length>0 && product1.length>0) {
+ if (product.length > 0 && product1.length > 0) {
this.setData({
flag: 'mix'
})
}
app.globalData.postProduct = product;
- if(app.globalData.list){
- app.globalData.product = app.globalData.list[app.globalData.index]
- }
- if(this.data.productType == 'post'){
+ if (app.globalData.list) {
+ app.globalData.product = app.globalData.list[app.globalData.index]
+ }
+ if (this.data.productType == 'post') {
console.log(this.data.flag);
- wx.navigateTo({
- url: '/pages/order/postOrder/index?from=cart&flag='+this.data.flag,
- })
- }else{
- wx.navigateTo({
- url: '/pages/order/scene/index',
- })
- }
+ wx.navigateTo({
+ url: '/pages/order/postOrder/index?from=cart&flag=' + this.data.flag,
+ })
+ } else {
+ wx.navigateTo({
+ url: '/pages/order/scene/index',
+ })
+ }
},
- touchStart(e){//移动前点击的位置
+ touchStart(e) { //移动前点击的位置
console.log(e)
// 在开始触摸时将所有startTouchMove设置为flase,对当前的为true
- this.data.list.forEach(cart =>{
- if(cart.isTouchMove)//当istouchMove为true
- cart.isTouchMove = false;//其它的对象都为false
+ this.data.list.forEach(cart => {
+ if (cart.isTouchMove) //当istouchMove为true
+ cart.isTouchMove = false; //其它的对象都为false
})
this.setData({
startX: e.changedTouches[0].clientX,
@@ -173,61 +194,101 @@ Page({
list: this.data.list
})
},
- touchmove(e){//移动的位置,用于计算用户滑动的弧度向左还是向右,移动了多少,可以确定删除功能的显示和隐藏
+ touchmove(e) { //移动的位置,用于计算用户滑动的弧度向左还是向右,移动了多少,可以确定删除功能的显示和隐藏
let index = e.currentTarget.dataset.index;
// 获取开始的x,y坐标
let startX = this.data.startX,
- startY = this.data.startY;
+ startY = this.data.startY;
// 获取移动的x,x坐标
let touchMoveX = e.changedTouches[0].clientX,
- touchMoveY = e.changedTouches[0].clientY;
+ touchMoveY = e.changedTouches[0].clientY;
// 调用计算角度的方法,获取角度
- var angel = this.angel({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY })
+ var angel = this.angel({
+ X: startX,
+ Y: startY
+ }, {
+ X: touchMoveX,
+ Y: touchMoveY
+ })
// 遍历cartArray
- this.data.list.forEach((cart, i ) =>{
+ this.data.list.forEach((cart, i) => {
cart.isTouchMove = false;
// 滑动角度大于30,直接return 视为非滑动意思
- if(Math.abs(angel) > 30) return;
+ if (Math.abs(angel) > 30) return;
// 匹配当前所点击的list和滑动的list
- if(i == index){
+ if (i == index) {
// 匹配上后判断滑动方向
- if (touchMoveX > startX){//左滑动隐藏删除
+ if (touchMoveX > startX) { //左滑动隐藏删除
cart.isTouchMove = false;
- }else{
+ } else {
cart.isTouchMove = true;
}
}
})
// 更新数据
this.setData({
- list:this.data.list
+ list: this.data.list
})
},
- angel(start,end){//计算滑动的角度
+ angel(start, end) { //计算滑动的角度
// console.log(start,end)
// 移动坐标减去对应的开始坐标
var _X = end.X - start.X,
_Y = end.Y - start.Y;
- // 返回角度 Math.atan() 返回数字的正切值
- return 360 * Math.atan(_Y / _X) / (2 * Math.PI)
+ // 返回角度 Math.atan() 返回数字的正切值
+ return 360 * Math.atan(_Y / _X) / (2 * Math.PI)
},
- del:function(e){
- let index = e.currentTarget.dataset.index,list = this.data.list;
- commonApi.user_post("cart/del_sku",{
- sku_id:list[index].sku_id
- }).then(res=>{
- if(res.code==1){
+ del: function (e) {
+ let index = e.currentTarget.dataset.index,
+ list = this.data.list;
+ commonApi.user_post("cart/del_sku", {
+ sku_id: list[index].sku_id
+ }).then(res => {
+ if (res.code == 1) {
wx.showToast({
title: '删除成功',
- icon:"success"
+ icon: "success"
})
- list.splice(index,1);
+ list.splice(index, 1);
this.setData({
- list:list
+ list: list
})
}
})
},
+ delM() {
+ let that = this
+ let arr = this.data.list
+ let suid = []
+ arr.forEach(item => {
+ if (item.checked) {
+ suid.push(item.sku_id)
+ }
+ });
+ let skuids = suid.join(',')
+ wx.showModal({
+ title: '提示',
+ content: '确定要删除选定的产品?',
+ success: function (res) {
+ if (res.confirm) {
+ commonApi.user_post("cart/del_sku", {
+ sku_id:skuids
+ }).then(res => {
+ if (res.code == 1) {
+ wx.showToast({
+ title: '删除成功',
+ icon: "success"
+ })
+ that.getList();
+ }
+ })
+
+ } else {
+ console.log('取消')
+ }
+ }
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
@@ -240,14 +301,14 @@ Page({
*/
onShow: function () {
util.pagePoint({
- event:'cart_view'
- },1)
- app.globalData.list = null
- app.globalData.createDate = null
- app.globalData.index = 0
- app.globalData.productPrice = 0
- app.globalData.ticketPrice = 0
- this.data.productType = ''
+ event: 'cart_view'
+ }, 1)
+ app.globalData.list = null
+ app.globalData.createDate = null
+ app.globalData.index = 0
+ app.globalData.productPrice = 0
+ app.globalData.ticketPrice = 0
+ this.data.productType = ''
},
/**
diff --git a/pages/user/cartlist/list.wxml b/pages/user/cartlist/list.wxml
index 073eed0..970316e 100644
--- a/pages/user/cartlist/list.wxml
+++ b/pages/user/cartlist/list.wxml
@@ -1,11 +1,11 @@
-
+ {{manageFlag?'关闭':'管理'}}
-
+
{{item.product.title}}
@@ -28,7 +28,7 @@
暂无内容
-
+
合计:
¥{{allPrice/100}}
@@ -36,3 +36,9 @@
去下单
+
+
+
+ 全选
+ 删除
+
\ No newline at end of file
diff --git a/pages/user/cartlist/list.wxss b/pages/user/cartlist/list.wxss
index 6904e2d..4f59ab3 100644
--- a/pages/user/cartlist/list.wxss
+++ b/pages/user/cartlist/list.wxss
@@ -157,4 +157,21 @@ page {
}
.icon-gou {
color: #D62828;
+}
+.fixed-btn {
+ width: 202rpx;
+ line-height: 84rpx;
+ background: #FB6E4D;
+ border-radius: 42rpx;
+ font-size: 36rpx;
+ font-weight: 500;
+ color: #fff;
+ text-align: center;
+}
+.del-btn {
+ box-sizing: border-box;
+ border: 1rpx solid #FB6E4D;
+ color: #FB6E4D;
+ background: white;
+ margin-right:40rpx ;
}
\ No newline at end of file
diff --git a/pages/user/order/hotelOrderInfo/index.json b/pages/user/order/hotelOrderInfo/index.json
index 35cf02f..cef374c 100644
--- a/pages/user/order/hotelOrderInfo/index.json
+++ b/pages/user/order/hotelOrderInfo/index.json
@@ -1,5 +1,7 @@
{
"usingComponents": {
- "title":"/pages/component/TitleHeader"
+ "title":"/pages/component/TitleHeader",
+ "sptj":"/pages/component/proRec/proRec"
+
}
}
\ No newline at end of file
diff --git a/pages/user/order/hotelOrderInfo/index.wxml b/pages/user/order/hotelOrderInfo/index.wxml
index 5d14b9a..11bbfd8 100644
--- a/pages/user/order/hotelOrderInfo/index.wxml
+++ b/pages/user/order/hotelOrderInfo/index.wxml
@@ -40,6 +40,7 @@
立即支付
+
diff --git a/pages/user/order/hotelOrderInfo/index.wxss b/pages/user/order/hotelOrderInfo/index.wxss
index c20a26f..dc9d442 100644
--- a/pages/user/order/hotelOrderInfo/index.wxss
+++ b/pages/user/order/hotelOrderInfo/index.wxss
@@ -281,4 +281,5 @@ page {
font-size: 24rpx;
color: #999;
margin-top: 30rpx;
-}
\ No newline at end of file
+}
+
diff --git a/pages/user/order/lineOrderInfo/index.json b/pages/user/order/lineOrderInfo/index.json
index 35cf02f..3418379 100644
--- a/pages/user/order/lineOrderInfo/index.json
+++ b/pages/user/order/lineOrderInfo/index.json
@@ -1,5 +1,6 @@
{
"usingComponents": {
- "title":"/pages/component/TitleHeader"
+ "title":"/pages/component/TitleHeader",
+ "sptj":"/pages/component/proRec/proRec"
}
}
\ No newline at end of file
diff --git a/pages/user/order/lineOrderInfo/index.wxml b/pages/user/order/lineOrderInfo/index.wxml
index 728b55d..47f7682 100644
--- a/pages/user/order/lineOrderInfo/index.wxml
+++ b/pages/user/order/lineOrderInfo/index.wxml
@@ -44,6 +44,9 @@
+
+
+
diff --git a/pages/user/order/museumOrderInfo/index.json b/pages/user/order/museumOrderInfo/index.json
index 35cf02f..cef374c 100644
--- a/pages/user/order/museumOrderInfo/index.json
+++ b/pages/user/order/museumOrderInfo/index.json
@@ -1,5 +1,7 @@
{
"usingComponents": {
- "title":"/pages/component/TitleHeader"
+ "title":"/pages/component/TitleHeader",
+ "sptj":"/pages/component/proRec/proRec"
+
}
}
\ No newline at end of file
diff --git a/pages/user/order/museumOrderInfo/index.wxml b/pages/user/order/museumOrderInfo/index.wxml
index 18db481..df360d4 100644
--- a/pages/user/order/museumOrderInfo/index.wxml
+++ b/pages/user/order/museumOrderInfo/index.wxml
@@ -55,6 +55,8 @@
+
+
{{info.order_product_list[0].scene_detail.title}}
diff --git a/pages/user/order/postOrderInfo/index.json b/pages/user/order/postOrderInfo/index.json
index 35cf02f..3418379 100644
--- a/pages/user/order/postOrderInfo/index.json
+++ b/pages/user/order/postOrderInfo/index.json
@@ -1,5 +1,6 @@
{
"usingComponents": {
- "title":"/pages/component/TitleHeader"
+ "title":"/pages/component/TitleHeader",
+ "sptj":"/pages/component/proRec/proRec"
}
}
\ No newline at end of file
diff --git a/pages/user/order/postOrderInfo/index.wxml b/pages/user/order/postOrderInfo/index.wxml
index b60f190..e7a33ed 100644
--- a/pages/user/order/postOrderInfo/index.wxml
+++ b/pages/user/order/postOrderInfo/index.wxml
@@ -12,23 +12,7 @@
{{info.order_product_list[0].consignee_info.name}}{{info.order_product_list[0].consignee_info.tel}}
{{info.order_product_list[0].consignee_info.address}}
-
- 商品推荐
- 加载中...
-
-
-
-
-
-
- {{item.title}}
-
- {{item.price/100}}
-
-
-
-
-
+
diff --git a/pages/user/order/sceneOrderInfo/index.json b/pages/user/order/sceneOrderInfo/index.json
index 35cf02f..cef374c 100644
--- a/pages/user/order/sceneOrderInfo/index.json
+++ b/pages/user/order/sceneOrderInfo/index.json
@@ -1,5 +1,7 @@
{
"usingComponents": {
- "title":"/pages/component/TitleHeader"
+ "title":"/pages/component/TitleHeader",
+ "sptj":"/pages/component/proRec/proRec"
+
}
}
\ No newline at end of file
diff --git a/pages/user/order/sceneOrderInfo/index.wxml b/pages/user/order/sceneOrderInfo/index.wxml
index 89a50c3..e304840 100644
--- a/pages/user/order/sceneOrderInfo/index.wxml
+++ b/pages/user/order/sceneOrderInfo/index.wxml
@@ -16,6 +16,9 @@
{{info.order_product_list[0].qrcode[codeIndex].stateText}} {{codeIndex+1}}/{{codeImgs.length}}
+
+
+
@@ -100,7 +103,6 @@
行程规划
-