From 10e260bbcc9f477ba30d1e79845f349e12b6dca5 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Thu, 17 Aug 2023 17:58:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E5=A7=94=E6=89=98=E9=94=80=E5=94=AE=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=BC=98=E5=8C=96=20=EF=BC=8C=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=A4=84=E7=90=86=EF=BC=8C=E4=BA=A4=E6=98=93=E5=A4=A7?= =?UTF-8?q?=E5=8E=85bug=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 767 ++++++++++--------- components/shoppinglist/shoppinglist.vue | 26 +- pages/index/index.vue | 27 +- pages/order_pay_status/index.vue | 150 ++-- pages/trading_hall/product_details/index.vue | 4 +- pages/trading_hall/transfer_goods/index.vue | 3 +- pages/users/order_confirm/index.vue | 2 +- plugin/voice/voice.js | 125 --- static/audio/order.mp3 | Bin 11088 -> 11376 bytes 9 files changed, 535 insertions(+), 569 deletions(-) delete mode 100644 plugin/voice/voice.js diff --git a/App.vue b/App.vue index 9965722..06359fb 100644 --- a/App.vue +++ b/App.vue @@ -1,385 +1,424 @@ \ No newline at end of file diff --git a/components/shoppinglist/shoppinglist.vue b/components/shoppinglist/shoppinglist.vue index a15c8a6..5357014 100644 --- a/components/shoppinglist/shoppinglist.vue +++ b/components/shoppinglist/shoppinglist.vue @@ -38,7 +38,7 @@ :range="item.attrValue" :range-key="'sku'"> {{item.attrValue[index].sku}} - + 库存:{{item.attrValue[index].stock}} @@ -272,12 +272,11 @@ /*点击选中与否*/ goodsCheck(item) { this.$set(item, 'check', !item.check); - console.log( item.num) if (item.check) { - if (this.peicenumber > 0) { - item.num = this.peicenumber - } - + if (this.peicenumber == 0) { + item.num = 1 + } + if (!item.product_attr_unique) { item.product_attr_unique = item.attrValue[0].unique } @@ -405,17 +404,22 @@ position: relative; align-items: center; justify-content: space-between; - + border-top: 2rpx solid #E7E6E4; - + + .picTxt_one { + white-space: nowrap; + overflow: hidden; + } + .picTxt_one { display: flex; margin-top: 20rpx; - + .slecte { margin-right: 30rpx; - width: 280rpx; + width: 280rpx; height: 60rpx; line-height: 60rpx; text-align: center; @@ -427,7 +431,7 @@ border-radius: 10rpx 10rpx 10rpx 10rpx; white-space: nowrap; overflow: hidden; - + } } diff --git a/pages/index/index.vue b/pages/index/index.vue index 99809c9..fe30cb6 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -217,22 +217,27 @@ }) }, getGoods: function(item) { - // console.log(item); + graphicLstApi(this.where).then(res => { this.cateGoods.push(...res.data.list) if (res.data.list.length < this.where.limit) this.status = 'nomore' if (this.where.page == 1 && res.data.list.length <= 0) this.emptyShow = true - if (item.index == 1) { - uni.navigateTo({ - // #ifdef MP || H5 - url: '/pages/short_video/nvueSwiper/index?id=' + this.cateGoods[0] - .community_id - // #endif - // #ifdef APP - url: `/pages/short_video/appSwiper/index?id=${this.cateGoods[0].community_id}` - // #endif - }) + + if(item){ + + if (item.index == 1 ) { + uni.navigateTo({ + // #ifdef MP || H5 + url: '/pages/short_video/nvueSwiper/index?id=' + this.cateGoods[0] + .community_id + // #endif + // #ifdef APP + url: `/pages/short_video/appSwiper/index?id=${this.cateGoods[0].community_id}` + // #endif + }) + } } + }) }, /*获取分类列表*/ diff --git a/pages/order_pay_status/index.vue b/pages/order_pay_status/index.vue index 52a7b35..0667e2b 100644 --- a/pages/order_pay_status/index.vue +++ b/pages/order_pay_status/index.vue @@ -2,7 +2,7 @@ - + {{order_pay_info.paid == 1 ?'支付成功':'订单未支付'}} @@ -14,20 +14,24 @@ 支付方式 - 微信 - 支付宝 + 微信 + 支付宝 + 余额 支付金额 {{order_pay_info.pay_price}} - + 赠送积分 {{order_pay_info.give_integral}}个 - + 失败原因 {{order_pay_info.pay_type==0 ? '余额不足':msg}} @@ -42,8 +46,10 @@ - - + + @@ -53,12 +59,16 @@ - {{item.coupon_price}} + + {{item.coupon_price}} + {{item.title}} 满{{item.use_min_price}}元可用 - 有效期:{{ item.use_start_time |timeYMD }}-{{ item.use_end_time |timeYMD}} + + 有效期:{{ item.use_start_time |timeYMD }}-{{ item.use_end_time |timeYMD}} 领取后{{ item.coupon_time}}天内可用 @@ -88,22 +98,30 @@ // +---------------------------------------------------------------------- // | Author: CRMEB Team // +---------------------------------------------------------------------- - import {getPayOrder} from '@/api/order.js'; - import {openOrderSubscribe} from '@/utils/SubscribeMessage.js'; - import {mapGetters} from "vuex"; + import { + getPayOrder + } from '@/api/order.js'; + import { + openOrderSubscribe + } from '@/utils/SubscribeMessage.js'; + import { + mapGetters + } from "vuex"; import authorize from '@/components/Authorize'; - import { HTTP_REQUEST_URL } from '@/config/app'; + import { + HTTP_REQUEST_URL + } from '@/config/app'; export default { components: { authorize, }, filters: { - timeYMD: function (value) { - if(value){ - var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(value) + timeYMD: function(value) { + if (value) { + var newDate = /\d{4}-\d{1,2}-\d{1,2}/g.exec(value) return newDate[0] } - } + } }, data() { return { @@ -115,15 +133,16 @@ isShowAuth: false, //是否隐藏授权 status: 0, msg: '', - couponList:[], //优惠券列表 - isOpen:false ,//展开 + couponList: [], //优惠券列表 + isOpen: false, //展开 moneyBg: '/static/images/couponBg', text: '展开更多', timer: null, - product_type:'', + product_type: '', + }; }, - computed: mapGetters(['isLogin','viewColor','keyColor']), + computed: mapGetters(['isLogin', 'viewColor', 'keyColor']), onLoad: function(options) { if (!options.order_id) return this.$util.Tips({ title: '缺少参数无法查看订单支付状态' @@ -135,23 +154,22 @@ this.order_type = options.order_type; this.status = options.status || 0; this.msg = options.msg || ''; - this.product_type=options.product_type + this.product_type = options.product_type if (this.isLogin) { this.refreshData(); } else { this.isAuto = true; this.isShowAuth = true - } - console.log(options); + } + console.log(options); }, methods: { - refreshData(){ - this.timer = setInterval(()=>{ - this.getOrderPayInfo(); - },1000) + refreshData() { + + this.getOrderPayInfo(); }, // 优惠券展开 - bindMore(){ + bindMore() { this.isOpen = !this.isOpen this.text = this.text == '展开更多' ? '收起' : '展开更多'; }, @@ -161,7 +179,7 @@ }, // 授权关闭 authColse: function(e) { - this.isShowAuth = e; + this.isShowAuth = e; }, /** * @@ -176,7 +194,7 @@ uni.setNavigationBarTitle({ title: res.data.paid == 1 ? '支付成功' : '支付失败' }); - if(res.data.paid == 1){ + if (res.data.paid == 1) { clearInterval(this.timer); this.timer = null; } @@ -203,11 +221,10 @@ * 去订单详情页面 */ goOrderDetails: function(e) { - console.log(this.product_type); let that = this; if (this.product_type == 98) { uni.navigateTo({ - url: `/pages/users/order_list/index?status=1&product_type=${this.product_type}` + url: `/pages/users/order_list/indexCopy?status=1&product_type=${this.product_type}` }) } else { uni.navigateTo({ @@ -235,6 +252,7 @@ border-radius: 10rpx; padding: 1rpx 0 28rpx 0; } + .payment-status .icon { font-size: 70rpx; width: 140rpx; @@ -246,19 +264,23 @@ border: 6rpx solid #f5f5f5; margin: -76rpx auto 0 auto; background-color: #999; - &.icon-duihao2{ + + &.icon-duihao2 { background-color: var(--view-theme); } } + .payment-status .icon.fail { text-shadow: 0px 4px 0px #7a7a7a; } + .payment-status .status { font-size: 32rpx; font-weight: bold; text-align: center; margin: 25rpx 0 37rpx 0; } + .payment-status .wrapper { border: 1px solid #eee; margin: 0 30rpx 47rpx 30rpx; @@ -266,16 +288,20 @@ border-left: 0; border-right: 0; } + .payment-status .wrapper .item { font-size: 28rpx; color: #282828; } + .payment-status .wrapper .item~.item { margin-top: 20rpx; } + .payment-status .wrapper .item .itemCom { color: #666; } + .payment-status .returnBnt { width: 630rpx; height: 86rpx; @@ -285,46 +311,56 @@ text-align: center; line-height: 86rpx; margin: 0 auto 20rpx auto; - &.gColor{ + + &.gColor { background-color: var(--view-theme); } - &.s-Color{ + + &.s-Color { color: var(--view-theme); - border: 1px solid var(--view-theme); + border: 1px solid var(--view-theme); } } + .t-color { - color: var(--view-theme)!important; + color: var(--view-theme) !important; } - .coupon-wrapper{ - .hd{ + + .coupon-wrapper { + .hd { display: flex; align-items: center; justify-content: center; margin: 30rpx 0; color: #999999; font-size: 24rpx; - .line{ + + .line { width: 70rpx; height: 1px; background: #DCDCDC; } - .txt{ + + .txt { margin: 0 20rpx; } } - .coupon-box{ + + .coupon-box { height: 356rpx; padding: 0 20rpx; overflow: hidden; - &.on{ + + &.on { height: auto; } - .coupon-item{ + + .coupon-item { width: 100%; margin-bottom: 20rpx; - box-shadow:0px 2px 10px 0px rgba(0, 0, 0, 0.06); - .left-bg{ + box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.06); + + .left-bg { display: flex; align-items: center; justify-content: center; @@ -332,40 +368,46 @@ height: 160rpx; color: #fff; font-size: 64rpx; - text{ + + text { margin-top: 26rpx; font-size: 36rpx; } } - .info{ + + .info { display: flex; flex-direction: column; justify-content: space-between; margin-left: 20rpx; padding: 20rpx 0; - .title{ + + .title { color: #282828; font-size: 30rpx; } - .des{ + + .des { font-size: 24rpx; color: #999999; } } } } - .more{ + + .more { display: flex; align-items: center; justify-content: center; padding-top: 24rpx; font-size: 24rpx; color: #999999; - .iconfont{ + + .iconfont { margin-top: 6rpx; margin-left: 10rpx; font-size: 20rpx; } } } - + \ No newline at end of file diff --git a/pages/trading_hall/product_details/index.vue b/pages/trading_hall/product_details/index.vue index dc7811e..0d27caa 100644 --- a/pages/trading_hall/product_details/index.vue +++ b/pages/trading_hall/product_details/index.vue @@ -72,7 +72,7 @@ 类型 - + 调货 @@ -83,7 +83,7 @@ - + 查看TA提到的宝贝({{listobj.resale.length}}) diff --git a/pages/trading_hall/transfer_goods/index.vue b/pages/trading_hall/transfer_goods/index.vue index ba786bc..9b6a619 100644 --- a/pages/trading_hall/transfer_goods/index.vue +++ b/pages/trading_hall/transfer_goods/index.vue @@ -582,8 +582,9 @@ /*获取选中的宝贝*/ getProduct(data) { this.productList=[] - this.price = 0 + this.price = 0; if (data.length > 0) { + this.productList = data; for (let i in data) { console.log(Number(data[i].num) , Number(data[i].price),(Number(data[i].num) * Number(data[i].price))) diff --git a/pages/users/order_confirm/index.vue b/pages/users/order_confirm/index.vue index b4cf658..1636c32 100644 --- a/pages/users/order_confirm/index.vue +++ b/pages/users/order_confirm/index.vue @@ -1027,7 +1027,7 @@ use_integral: that.use_integral }).then(res => { // 默认选中 - console.log(res); + that.product_type=res.data.order_type that.is_take = false res.data.order.forEach(el => { if (el.order.isTake == 1) that.is_take = true diff --git a/plugin/voice/voice.js b/plugin/voice/voice.js deleted file mode 100644 index e0999fa..0000000 --- a/plugin/voice/voice.js +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Notes: APP语音播报 - * @author WJD - * @version 1.0.0 - * @Date 2022-01-26 - */ - -// 是否播放中 -let isPlaying = false; -// 播放列表 -let currentAudio = ['/static/audio/order.mp3']; -// 播放顺序 -let playIndex = 0 -// 播放器 -let audioPlayer = null; -// 平台 -let platform = 'iOS'; -// 定时器 -let timer = null; - - -const voice = { - // 创建播放器 - init: () => { - platform = plus.os.name; - if (platform == 'Android') { - let MediaPlayer = plus.android.importClass("android.media.MediaPlayer"); - audioPlayer = new MediaPlayer() - } - if (platform == "iOS") { - let AVAudioPlayer = plus.ios.importClass("AVAudioPlayer"); - audioPlayer = new AVAudioPlayer(); - } - console.log('创建播放器成功'); - voice.playAudio(); - }, - - // 重置播放列表 - resetPlayList: () => { - playIndex = 0; - currentAudio = ['/static/audio/order.mp3']; - }, - clearTimer: () => { - if (timer) { - clearInterval(timer); - timer = null; - } - - }, - // 播放音频 - playAudio: () => { - - if (isPlaying) { - console.log('播放中,请等待...') - return false; - } - if (audioPlayer == null) { - console.log('未启动音频播放器'); - return false; - } - - let audioList = currentAudio; - // voice.resetPlayList(); - // if (currentAudio.length == 0) { - // const keys = Object.keys(audioList) - // console.log(audioList) - // if (keys.length) { - // currentAudio = Object.values(audioList)[0] - // delete audioList[keys[0]] - // playIndex = 0 - // } else { - // voice.resetPlayList(); - // } - // } - console.log('正在播报:', currentAudio[playIndex]); - let path = plus.io.convertLocalFileSystemURL(currentAudio[playIndex]); - let currentTime = 0; // 当前流媒体的播放的位置,单位是秒 - let currentDuration = 0; // 当前文件时长 - if (platform == 'iOS') { - let NSData = plus.ios.importClass("NSData"); - let AVAudioPlayer = plus.ios.importClass("AVAudioPlayer"); - let pathFileData = NSData.dataWithContentsOfFile(path); - audioPlayer.initWithDataerror(pathFileData, null); - // audioPlayer.setNumberOfLoops(-1); //-1:无限循环 - audioPlayer.prepareToPlay(); //初始化播放器 - audioPlayer.play(); - isPlaying = audioPlayer.isPlaying(); - // 当前播放进度 currentTime 秒 - } else { - let MediaPlayer = plus.android.importClass("android.media.MediaPlayer"); - audioPlayer.setDataSource(path); //指定音频文件路径 - // audioPlayer.setLooping(true); //设置为循环播放 - audioPlayer.prepare(); //初始化播放器MediaPlayer - audioPlayer.start(); - isPlaying = audioPlayer.isPlaying(); - // 获取音乐的总时长 - console.log(isPlaying, audioPlayer.getDuration()); - // 当前播放进度 getCurrentPosition 毫秒 - } - - timer = setInterval(function() { - currentTime = platform == 'iOS' ? audioPlayer.currentTime() : audioPlayer - .getCurrentPosition() / 1000; - currentDuration = platform == 'iOS' ? audioPlayer.duration() : audioPlayer - .getDuration() / 1000; - // console.log(currentTime, currentDuration) - if (currentTime == currentDuration || currentTime == 0) { - isPlaying = false; - voice.clearTimer(); - if (playIndex < currentAudio.length - 1) { - playIndex++ - } else { - currentAudio = []; - playIndex = 0; - } - if (Object.keys(audioList).length == 0 && currentAudio.length == 0) { - voice.resetPlayList(); - } - // voice.playAudio(); - } - }, 200); - } -} - -export default voice \ No newline at end of file diff --git a/static/audio/order.mp3 b/static/audio/order.mp3 index 3bec7be6020527c90e2d72bb8f00ea586e94f124..3cc34996f320522761a53e9974cff0c56aaa4a0c 100644 GIT binary patch literal 11376 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 literal 11088 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