From d5902c4065c586d15ee44dea03ab147412e2dabe Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Wed, 6 Sep 2023 13:56:44 +0800 Subject: [PATCH 01/33] =?UTF-8?q?=E5=A7=94=E6=89=98=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/shoppinglist/shoppinglist.vue | 84 ++++++++++++++---- pages.json | 4 +- pages/admin/order/index.vue | 1 - .../commissionedSales/addDelegation/index.vue | 8 +- .../delegation_details/index.vue | 67 ++++++++++++-- .../initiateDelegation/index.vue | 88 ++++++++++++++++--- pages/gather/gather.vue | 3 +- pages/moreProject/moreProject.vue | 4 +- 8 files changed, 215 insertions(+), 44 deletions(-) diff --git a/components/shoppinglist/shoppinglist.vue b/components/shoppinglist/shoppinglist.vue index 3b921a9..29d6598 100644 --- a/components/shoppinglist/shoppinglist.vue +++ b/components/shoppinglist/shoppinglist.vue @@ -62,12 +62,13 @@ 出售数量 + :isMax="true" :isMin="true" index="11" @eventChange="numberChange($event,i)"> + :isMin="true" index="11" @increment="incrementTotal($event,i,item)" + @eventChange="numberChange($event,i)"> @@ -130,7 +131,7 @@ bought: [], checkedArr: [], - + aryys: [], // picker下拉数据源 storageCustomList: [{ CustGoodsCode: "TEST001", @@ -165,14 +166,35 @@ }, mounted() { this.checkedArr = this.checkedObj + this.aryys = this.checkedObj this.getBounht(); }, methods: { //价格 - producrprice(e, i,item) { - + producrprice(e, i, item) { this.bought[i].price = e.detail.value - this.$set(item, 'check',false); + this.$set(item, 'check', false); + for (let i in this.checkedArr) { + if (this.checkedArr[i].product_id == item.product_id) { + this.checkedArr.splice(i, 1) + } + } + + + + }, + incrementTotal(e, i, item) { + this.$set(item, 'check', false); + for (let i in this.checkedArr) { + if (this.checkedArr[i].product_id == item.product_id) { + this.checkedArr.splice(i, 1) + } + } + + + + + }, // picker修改事件 bindPickerChange: function(e, storage, num) { @@ -220,15 +242,22 @@ setValue: function(event) { this.$set(this.whereb, 'keyword', event.detail.value); + if (!event.detail.value) { + this.whereb.page = 1 + this.loadedb = false + this.getBounht() + } }, searchBut() { - this.whereb.page = this.wherec.page = this.wheres.page = - this.bought = [] - this.isActive == 0 ? this.getBounht() : '' + this.bought = [] + this.whereb.page = 1 + this.loadedb = false + this.getBounht() }, getBounht() { var that = this; + // console.log('1111111', that.loadingb, that.loadedb) if (that.loadingb || that.loadedb) return; that.loadingb = true; @@ -268,7 +297,9 @@ getCheckedGoods() { this.checked = [] this.checkedArr.forEach((item, index) => { - this.check.push(item) + this.checkedArr.push(item) + + }) }, /*点击选中与否*/ @@ -278,22 +309,41 @@ if (this.peicenumber == 0) { item.number = 1 } - if (!item.product_attr_unique) { item.product_attr_unique = item.attrValue[0].unique } this.checkedArr.push(item) - + this.arrayUnique(this.checkedArr, 'product_id') } else { - this.checkedArr.splice(this.checkedArr.findIndex(itemn => ((itemn.spu_id == item.spu_id) || (item - .spu_id == ( - itemn.spu && itemn.spu.spu_id)))), 1) + this.checkedArr.splice(this.checkedArr.findIndex(itemn => ((itemn.product_id == item.product_id))), 1) } + }, + //去重 + arrayUnique(arr, name) { + let hash = {} + const result = arr.reduce((acc, cru, index) => { + if (!hash[cru[name]]) { + hash[cru[name]] = { + index: acc.length + } + acc.push(cru) + } else { + console.log(acc, hash[cru[name]]) + acc.splice(hash[cru[name]]['index'], 1, cru) + } + + + return acc; + + }, []) + this.checkedArr = result + + }, /*确定提交*/ submit() { - + this.$emit('getProduct', this.checkedArr); }, @@ -302,6 +352,8 @@ \ No newline at end of file diff --git a/pages/commissionedSales/initiateDelegation/index.vue b/pages/commissionedSales/initiateDelegation/index.vue index ce2d100..1f8eaf2 100644 --- a/pages/commissionedSales/initiateDelegation/index.vue +++ b/pages/commissionedSales/initiateDelegation/index.vue @@ -6,7 +6,7 @@ - + @@ -35,7 +35,7 @@ 处理 - + 详情 @@ -90,7 +90,15 @@ + + + + + + 新增委托 + + @@ -235,6 +243,7 @@ \ No newline at end of file diff --git a/pages/commissionedSales/delegation_details/index.vue b/pages/commissionedSales/delegation_details/index.vue index bf4a44a..0bd7f4f 100644 --- a/pages/commissionedSales/delegation_details/index.vue +++ b/pages/commissionedSales/delegation_details/index.vue @@ -117,7 +117,7 @@ 拒绝原因: - + 通滩镇镇街店铺通滩镇镇街店铺通滩镇镇街店铺通滩镇镇街店铺通滩镇镇街店铺通滩镇镇街店铺 @@ -272,7 +272,7 @@ .center-twob { width: 360rpx; text-align: right; - border: 1px solid; + word-wrap: break-word; font-size: 32rpx; font-family: PingFang SC; diff --git a/pages/commissionedSales/initiateDelegation/index.vue b/pages/commissionedSales/initiateDelegation/index.vue index 1f8eaf2..e066e04 100644 --- a/pages/commissionedSales/initiateDelegation/index.vue +++ b/pages/commissionedSales/initiateDelegation/index.vue @@ -317,6 +317,10 @@ // url: '/pages/commissionedSales/delegation_details/index' // }) }, + //获取分类数据 + commislist(){ + + }, //选择 tabClick(e) { //点击获取当前标签数据 @@ -808,7 +812,7 @@ .entrust_bg-content { position: absolute; - top: 404rpx; + top: 304rpx; .bg-content-a { margin-left: 242rpx; @@ -854,7 +858,7 @@ .bg-content_textarea { width: 624rpx; - height: 152rpx; + height: 242rpx; padding: 25rpx 18rpx; background: #F5F5F5; diff --git a/pages/commissionedSales/receivedCommission/index.vue b/pages/commissionedSales/receivedCommission/index.vue index 4df6855..4009e74 100644 --- a/pages/commissionedSales/receivedCommission/index.vue +++ b/pages/commissionedSales/receivedCommission/index.vue @@ -738,7 +738,7 @@ .entrust_bg-content { position: absolute; - top: 404rpx; + top: 304rpx; .bg-content-a { margin-left: 242rpx; @@ -784,7 +784,7 @@ .bg-content_textarea { width: 624rpx; - height: 152rpx; + height: 242rpx; padding: 25rpx 18rpx; background: #F5F5F5; diff --git a/pages/gather/gather.vue b/pages/gather/gather.vue index 8baff7b..d7a80d2 100644 --- a/pages/gather/gather.vue +++ b/pages/gather/gather.vue @@ -74,6 +74,9 @@ --> @@ -357,7 +360,6 @@ }, confirm(e) { this.street = e.value[1].name - this.$nextTick(() => { this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code); }) @@ -383,7 +385,6 @@ this.$nextTick(() => { this.$bus.$emit('value-updated', this.street + ',' + street_id); - }) }).catch(err => { diff --git a/pages/index/index.vue b/pages/index/index.vue index 5a9597f..86bccf5 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -42,10 +42,13 @@ - @@ -197,13 +200,13 @@ // #endif }, onTabItemTap(e) { - - uni.pageScrollTo({ - selector: ".Circle_friends", - scrollTop: 0 - }) - + uni.pageScrollTo({ + selector: ".Circle_friends", + scrollTop: 0 + }) + + }, onReachBottom() { if (this.status == 'nomore') return; @@ -249,7 +252,7 @@ this.backColor = 'rgba(252, 252, 252, 1.0)' this.isFshow = true this.show = false - this.$nextTick(()=>{ + this.$nextTick(() => { uni.setTabBarItem({ index: 0, text: '返回顶部', diff --git a/pages/moreProject/moreProject.vue b/pages/moreProject/moreProject.vue index cd2f1b5..9c098a5 100644 --- a/pages/moreProject/moreProject.vue +++ b/pages/moreProject/moreProject.vue @@ -124,7 +124,7 @@ 商户设置 - @@ -140,7 +140,7 @@ 发布管理 - + --> @@ -237,6 +239,7 @@ }, onLoad() { + this.list() this.Area() @@ -320,7 +323,9 @@ if (id) { spuInfo(id, this.where1).then(res => { this.cateGoods.push(...res.data.list) + }) + } else { getProductHot(this.where.page, this.where.limit).then(res => { this.cateGoods.push(...res.data.list) @@ -390,7 +395,8 @@ this.street = e.value[1].name this.street_id = e.value[1].code this.town = e.value[1].name - + this.cateGoods=[] + this.list(this.street_id) this.$nextTick(() => { this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code); @@ -480,6 +486,8 @@ this.street = e.value[1].name this.street_id = e.value[1].code this.town = e.value[1].name + this.cateGoods=[] + this.list(this.street_id) }, selfLocation() { if (uni.getStorageSync('loction') == true) { diff --git a/pages/user/index.vue b/pages/user/index.vue index c514b00..0f97ec5 100644 --- a/pages/user/index.vue +++ b/pages/user/index.vue @@ -228,6 +228,9 @@ --> From 1da1b052e60c82d54bed51a54ca449fa8e31f87e Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Thu, 7 Sep 2023 17:09:36 +0800 Subject: [PATCH 03/33] =?UTF-8?q?=E4=BA=A4=E6=98=93=E5=A4=A7=E5=8E=85=20?= =?UTF-8?q?=E5=95=86=E5=93=81=E5=BC=B9=E7=AA=97=E4=BB=A3=E7=A0=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20=E5=95=86=E5=93=81=E5=85=A5=E5=BA=93=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86=20=E5=A7=94?= =?UTF-8?q?=E6=89=98=E6=96=B0=E5=A2=9E=E8=AE=A2=E5=8D=95=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E8=B4=A2=E5=8A=A1=E7=AE=A1=E7=90=86=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/WaterfallsFlow/WaterfallsFlows.vue | 29 +++-- .../WaterfallsFlowItems.vue | 26 ++-- components/realselist/realselist.vue | 5 +- components/shoppinglist/shoppinglist.vue | 33 ++--- components/subtractive/subtractive.vue | 10 +- pages.json | 12 ++ .../delegation_details/index.vue | 3 +- .../initiateDelegation/index.vue | 119 +++++++++--------- .../receivedCommission/index.vue | 40 ++++-- pages/index/index.vue | 3 +- pages/moreProject/moreProject.vue | 30 ++++- pages/order_details/index.vue | 21 +++- pages/product/basicSet.vue | 30 +++-- pages/product/list/index.vue | 10 +- pages/supply_chains/supply_chains.vue | 1 + pages/trading_hall/transfer_goods/index.vue | 2 +- pages/users/online_warehousing/index.vue | 2 +- 17 files changed, 217 insertions(+), 159 deletions(-) diff --git a/components/WaterfallsFlow/WaterfallsFlows.vue b/components/WaterfallsFlow/WaterfallsFlows.vue index e954156..e5f9b95 100644 --- a/components/WaterfallsFlow/WaterfallsFlows.vue +++ b/components/WaterfallsFlow/WaterfallsFlows.vue @@ -2,13 +2,12 @@ - - + @@ -17,7 +16,7 @@ - + @@ -26,7 +25,9 @@ + + \ No newline at end of file diff --git a/pages/users/order_list/relase.vue b/pages/users/order_list/relase.vue new file mode 100644 index 0000000..4014b4e --- /dev/null +++ b/pages/users/order_list/relase.vue @@ -0,0 +1,1313 @@ + + + + \ No newline at end of file diff --git a/static/images/bubble.png b/static/images/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..3509978c95e0e86bf4d13362a8a9a17cd0560257 GIT binary patch literal 2425 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 bPayN6+uQ8>Mb+?K3gL0U*R5_p>HPlzrFK^T literal 0 HcmV?d00001 diff --git a/static/images/relase.png b/static/images/relase.png new file mode 100644 index 0000000000000000000000000000000000000000..a35dc02065a892fd088d8340a8c0609f6fdb3998 GIT binary patch literal 1815 zcmV+y2k7{TP)Px*(Md!>RA@u(SZQojRTTd2Oj|nB1+WMjkf?|tZZRMc5&=m&Q&4+5gHnN|d92r#9~%zNjU`<8icmUf18 zrb@!3&CI-e-@NpZ)=L+28FL95rANK+L*9@kNfjzU~oR;lepXPV$wew%0YLnXyR7zgxxhOMJQb{RvAnL0YjgPfoT~bny$XPrjZSaN z$(shoSV6+Ypz~Q9>%QnH)d5(G({#@u-U|gzR>dr1(NO^Wa|%{~_z3~gE|^ZZFW)>M zPM!=V3M^p;+Dp7I1EL(nk4qIZX=-k8Z}Poj0>tbv`a1MMbhZWB9;!Wd zy|oJfIuM$dQ+;T6j{vll7H$@Vw_^ezG=s5M11A5$AOoazEyR{SN1LZD&e#x9%#0!C z=9mm<@620rs_NhA5rFp9g*(7l6b8Utq!kMmJ0vMG(v=O2EpGI2b6$8%8DskWf>EAb zRj1{Wu3m8^bRR&-9&J+ke=r~u70MhCziYZTwXGW3)^u(VFEejQ`{CDB@Cc|_4i+L@ z|EZP`Q0d;_D~jjSiH!Sa7gT~UqgMei^J%y0d{Jzv=}csiUCrSsQ~I=KD?fwqY-$16 z+{Gv(WI1sa#8*SEW4cnvrPwSvba#A!;X`0qcH*SUa)8mPf$i4kg;qJTsu4FfCNBd2pGjtxg+U$AR_TF!I!nk zSJ)H%oA>&Q3w&UBdM5@f+D}yfRFD`N!GI!|k1z{=SiaC=LDFd0EMWjx zj0eLJHV?_Hg~;d!%!@GVEpd*sm^&XjmvCg;-Nz2`L6Y~hufAHlrW3W1Yv`FTkQvJZ+Z4H zW0KYj+cUILy~;2Uge$D_)?cnEWn=oMF9qXs5S$Wt@+3sOC_LTsSGUrzvTwSh1q2sJ zo&xbo_xjq+9ZL(QG8_Z`xpliDZ(#0CR*_-vzBKii<+r`0AZ`?_%*w84xS9xS=A6Vj zGE+j912wzaGDdVh5ExG^_6XwshJL@k*wpmq(-mjs!4$Wz@JwKZU(kDC?Y|F`SOvm^ zArPh;>1RS0go-LXLWHC_c{S>PBIA-RwN(BPpBX^l^UHiM9CCuVWkPO})FhGDqU|LpX-N7D7 zC|FuJPEq+-jAO;nS&+pJ?{uX*-{=61r7+fv!cFe5(Un<2Y&)%x$C9B z=6ts;Yg`wS=-W%YbpY}s4tApeupW@d-GM-nD8D;9yc_GZ&rJw`cJ>Kz1dNegR*$+3 zTA*ybZFnVWJC(DJ=_BtuhhWEqoSLI8@qi@+K>o;$W%+$GvmI*%#9}7o#Oh;X0*Kl7 zMwHW5gYOqAwg-a#HF-71Z^v7_maP++WS?_s(WK15{rZejRmurnm)bR7u|9V*ZVowA z)qnj4oqepK!8pH8Y-M*1AhDnAy;=7G^xj^_e$qY9z`rCFFpE?}Bjo@9002ovPDHLk FV1gwaT~Po4 literal 0 HcmV?d00001 From 98fff8a58bbf72f55328c0307f612267982160d0 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Fri, 8 Sep 2023 10:15:07 +0800 Subject: [PATCH 05/33] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E6=A8=AA=E7=AB=96=E5=B1=8F=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E5=95=86=E5=93=81=E5=88=97=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WaterfallsFlowItems.vue | 33 ++- pages/admin/financial_management/index.vue | 4 +- .../receivedCommission/index.vue | 2 +- pages/plantGrass/plant_detail/index.vue | 2 +- pages/short_video/appSwiper/index.nvue | 6 +- pages/trading_hall/transfer_goods/index.vue | 4 +- pages/users/order_confirm/index.vue | 10 +- utils/uniMP.js | 262 +++++++++--------- 8 files changed, 170 insertions(+), 153 deletions(-) diff --git a/components/WaterfallsFlowItem/WaterfallsFlowItems.vue b/components/WaterfallsFlowItem/WaterfallsFlowItems.vue index c648c9a..b619aaf 100644 --- a/components/WaterfallsFlowItem/WaterfallsFlowItems.vue +++ b/components/WaterfallsFlowItem/WaterfallsFlowItems.vue @@ -23,7 +23,7 @@ require: true }, userid: { - type: String|Number, + type: String | Number, require: true }, }, @@ -38,22 +38,29 @@ methods: { - gogogo(item) { - if (item.video_link.length > 0) { - uni.navigateTo({ - // #ifdef MP || H5 - url: `/pages/short_video/nvueSwiper/index?id=${item.community_id}&uid=${this.userid}&user=1` - // #endif - // #ifdef APP - url: `/pages/short_video/appSwiper/index?id=${item.community_id}&uid=${this.userid}&user=1` - // #endif - }) + if (this.userid) { + if (item.video_link.length > 0) { + uni.navigateTo({ + // #ifdef MP || H5 + url: `/pages/short_video/nvueSwiper/index?id=${item.community_id}&uid=${this.userid}&user=1` + // #endif + // #ifdef APP + url: `/pages/short_video/appSwiper/index?id=${item.community_id}&uid=${this.userid}&user=1` + // #endif + }) + } else { + uni.navigateTo({ + url: `/pages/plantGrass/plant_detail/index?id=${item.community_id}` + }) + } } else { - uni.navigateTo({ - url: `/pages/plantGrass/plant_detail/index?id=${item.community_id}` + this.$util.Tips({ + title: '用户信息不存在,请完成登录在进行该操作', + icon: 'error' }) } + }, } diff --git a/pages/admin/financial_management/index.vue b/pages/admin/financial_management/index.vue index dc31959..751c9a5 100644 --- a/pages/admin/financial_management/index.vue +++ b/pages/admin/financial_management/index.vue @@ -116,12 +116,12 @@ 任务名称: {{ item.remark }} - + --> 收益来源: diff --git a/pages/commissionedSales/receivedCommission/index.vue b/pages/commissionedSales/receivedCommission/index.vue index 40d36ef..2a290fc 100644 --- a/pages/commissionedSales/receivedCommission/index.vue +++ b/pages/commissionedSales/receivedCommission/index.vue @@ -23,7 +23,7 @@ - + 待处理 diff --git a/pages/plantGrass/plant_detail/index.vue b/pages/plantGrass/plant_detail/index.vue index 37d7269..bc8f403 100644 --- a/pages/plantGrass/plant_detail/index.vue +++ b/pages/plantGrass/plant_detail/index.vue @@ -23,7 +23,7 @@ - + {{followDetail.author.nickname}} diff --git a/pages/short_video/appSwiper/index.nvue b/pages/short_video/appSwiper/index.nvue index c245860..212a0f7 100644 --- a/pages/short_video/appSwiper/index.nvue +++ b/pages/short_video/appSwiper/index.nvue @@ -401,7 +401,7 @@ newTime: 0, //跟手滑动后的最新时间💗 timeNumber: 0, //🌟💗 ProgressBarBottom: 20, //进度条离底部的距离💗 - object_fit: 'cover', //视频样式默认包含🌟💗 + object_fit: 'contain', //视频样式默认包含🌟💗 mode: 'aspectFit', //图片封面样式🌟💗 timeout: "", //🌟用来阻止 setTimeout()方法 voice: "", //🌟用来阻止 setTimeout()方法 @@ -1116,7 +1116,7 @@ /* #ifdef MP */ padding-top: 200rpx; /* #endif */ - // background-color: #000000; + background-color: #000000; background-color: #F5F5F5; .goods_item { @@ -1238,7 +1238,7 @@ left: 0; top: 70rpx; height: 86rpx; - + .icon-xiangzuo { margin-left: 10px; diff --git a/pages/trading_hall/transfer_goods/index.vue b/pages/trading_hall/transfer_goods/index.vue index 895a38c..fec3e7c 100644 --- a/pages/trading_hall/transfer_goods/index.vue +++ b/pages/trading_hall/transfer_goods/index.vue @@ -616,10 +616,8 @@ if (this.type == 'edit') { this.formData.product_info = [] } - this.productList = [] - this.price = 0; - + this.price = 0; if (data.length > 0) { this.productList = data; for (let i in data) { diff --git a/pages/users/order_confirm/index.vue b/pages/users/order_confirm/index.vue index 911d4ba..fae8f15 100644 --- a/pages/users/order_confirm/index.vue +++ b/pages/users/order_confirm/index.vue @@ -8,10 +8,10 @@ {{addressInfo.phone}} - - [默认]{{addressInfo.province}}{{addressInfo.city}}{{addressInfo.district}}{{addressInfo.street || ''}}{{typeof(addressInfo.brigade)=='string'?addressInfo.brigade:addressInfo.brigade.name }}{{addressInfo.detail}} + [默认]{{addressInfo.province}}{{addressInfo.city}}{{addressInfo.district}}{{addressInfo.street || ''}} + {{typeof(addressInfo.brigade)=='string'?addressInfo.brigade:addressInfo.brigade.name }}{{addressInfo.detail}} { this.getConfirm(that.addressId); }) diff --git a/utils/uniMP.js b/utils/uniMP.js index 6872c60..0bd86ef 100644 --- a/utils/uniMP.js +++ b/utils/uniMP.js @@ -1,4 +1,9 @@ -import { getGXconfig } from "@/api/uniMP.js"; +import { + getGXconfig +} from "@/api/uniMP.js"; +import { + HTTP_REQUEST_URL +} from '@/config/app'; const mp = uni.requireNativePlugin('uniMP'); let appid = ''; // 应用id @@ -7,146 +12,153 @@ let timer = null; // 加载计时器 // 比较版本号大小 function compareVersions(version1, version2) { - const arr1 = version1.split('.').map(Number); - const arr2 = version2.split('.').map(Number); - for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) { - const num1 = i < arr1.length ? arr1[i] : 0; - const num2 = i < arr2.length ? arr2[i] : 0; - if (num1 > num2) { - return 1; - } else if (num1 < num2) { - return -1; - } - } - return 0; + const arr1 = version1.split('.').map(Number); + const arr2 = version2.split('.').map(Number); + for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) { + const num1 = i < arr1.length ? arr1[i] : 0; + const num2 = i < arr2.length ? arr2[i] : 0; + if (num1 > num2) { + return 1; + } else if (num1 < num2) { + return -1; + } + } + return 0; } // 加载小程序 const loadMP = async (id) => { - appid = id; - let info = await getGXconfig(); - console.log('最新版本', info.data); - console.log(mp, uni); - // return ; - uni.showLoading({ - title: '下载中...', - mask: true - }) - mp.getUniMPVersion(id, (ret) => { - console.log('当前版本', ret); - if (0 != ret.code || compareVersions(info.data.version, ret.versionInfo.name) == 1 || true) { - let count = 0; - timer = setInterval(() => { - if (count < 100) uni.showLoading({ - title: `下载中... ${count}%`, - mask: true - }) - else uni.showLoading({ - title: '安装中...', - mask: true - }) - }, 600) - let downloadTask = uni.downloadFile({ - url: info.data.version_info?.dow_url, - success(res) { - wgtFile = res.tempFilePath; - console.log('下载完成', wgtFile); - installMP(); - } - }); - downloadTask.onProgressUpdate((res) => { - // console.log('下载进度' + res.progress); - if (res.progress > count) count += 10; - if (count >= 90) { - clearInterval(timer); - timer = null; - } - }); - } else { - open() - } - }); + appid = id; + let info = await getGXconfig(); + console.log('最新版本', info.data); + console.log(mp, uni); + // return ; + uni.showLoading({ + title: '下载中...', + mask: true + }) + mp.getUniMPVersion(id, (ret) => { + console.log('当前版本', ret); + let flag; + if (HTTP_REQUEST_URL == 'https://shop.lihaink.cn') { + flag = false + } else { + flag = true + } + if (0 != ret.code || compareVersions(info.data.version, ret.versionInfo.name) == 1 || flag == + true) { + let count = 0; + timer = setInterval(() => { + if (count < 100) uni.showLoading({ + title: `下载中... ${count}%`, + mask: true + }) + else uni.showLoading({ + title: '安装中...', + mask: true + }) + }, 600) + let downloadTask = uni.downloadFile({ + url: info.data.version_info?.dow_url, + success(res) { + wgtFile = res.tempFilePath; + console.log('下载完成', wgtFile); + installMP(); + } + }); + downloadTask.onProgressUpdate((res) => { + // console.log('下载进度' + res.progress); + if (res.progress > count) count += 10; + if (count >= 90) { + clearInterval(timer); + timer = null; + } + }); + } else { + open() + } + }); }; // 小程序版本信息 const getVersion = (id) => { - appid = id; - return new Promise((resolve, reject) => { - mp.getUniMPVersion(appid, (ret) => { - console.log('供销', ret); - }); - }) + appid = id; + return new Promise((resolve, reject) => { + mp.getUniMPVersion(appid, (ret) => { + console.log('供销', ret); + }); + }) } // 安装小程序 const installMP = () => { - mp.getUniMPVersion(appid, (ret) => { - console.log('安装:供销', ret); - doInstallMP(); - // if (0 != ret.code) { //获取失败时安装应用 - // doInstallMP(); - // } else { - // uni.showModal({ - // title: '提示', - // content: 'uni小程序已安装,是否覆盖?', - // success: res => { - // res.confirm && doInstallMP(); - // } - // }); - // } - console.log('getUniMPVersion: ' + JSON.stringify(ret)); - }); + mp.getUniMPVersion(appid, (ret) => { + console.log('安装:供销', ret); + doInstallMP(); + // if (0 != ret.code) { //获取失败时安装应用 + // doInstallMP(); + // } else { + // uni.showModal({ + // title: '提示', + // content: 'uni小程序已安装,是否覆盖?', + // success: res => { + // res.confirm && doInstallMP(); + // } + // }); + // } + console.log('getUniMPVersion: ' + JSON.stringify(ret)); + }); }; const doInstallMP = () => { - mp.installUniMP({ - appid: appid, - wgtFile: wgtFile - }, (r) => { - if (0 == r.code) { - // uni.showToast({ - // title: '安装成功' - // }); - console.log('小程序安装成功'); - open(); - } else { - uni.hideLoading(); - uni.showModal({ - title: '安装失败', - content: JSON.stringify(r), - showCancel: false - }); - } - console.log('安装供销: ' + JSON.stringify(r)); - }); + mp.installUniMP({ + appid: appid, + wgtFile: wgtFile + }, (r) => { + if (0 == r.code) { + // uni.showToast({ + // title: '安装成功' + // }); + console.log('小程序安装成功'); + open(); + } else { + uni.hideLoading(); + uni.showModal({ + title: '安装失败', + content: JSON.stringify(r), + showCancel: false + }); + } + console.log('安装供销: ' + JSON.stringify(r)); + }); }; const open = (id = null) => { - let token = uni.getStorageSync('LOGIN_STATUS_TOKEN'); - if (!token) return uni.showToast({ - icon: 'none', - title: '请先登录' - }) - mp.openUniMP({ - appid: id || appid, - extraData: { - uniMP: true, - token: token, - } - }, (ret) => { - uni.hideLoading(); - if (0 != ret.code) { - uni.showModal({ - title: '启动失败', - content: JSON.stringify(ret), - showCancel: false - }); - } - console.log('openUniMP: ' + JSON.stringify(ret)); - }); + let token = uni.getStorageSync('LOGIN_STATUS_TOKEN'); + if (!token) return uni.showToast({ + icon: 'none', + title: '请先登录' + }) + mp.openUniMP({ + appid: id || appid, + extraData: { + uniMP: true, + token: token, + } + }, (ret) => { + uni.hideLoading(); + if (0 != ret.code) { + uni.showModal({ + title: '启动失败', + content: JSON.stringify(ret), + showCancel: false + }); + } + console.log('openUniMP: ' + JSON.stringify(ret)); + }); } export default { - loadMP, - installMP, - doInstallMP, - getVersion, - open + loadMP, + installMP, + doInstallMP, + getVersion, + open } \ No newline at end of file From 4d8835187c60ad172942677f098f4b1cb4558c62 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Fri, 8 Sep 2023 18:52:15 +0800 Subject: [PATCH 06/33] =?UTF-8?q?=E5=95=86=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=B8=8A=E6=9E=B6=E6=95=B0=E6=8D=AE=E6=9C=AA=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98,=E5=9B=BE=E7=89=87=E5=A4=B1?= =?UTF-8?q?=E7=9C=9F=E5=A4=84=E7=90=86=EF=BC=8C=E5=A7=94=E6=89=98=E9=94=80?= =?UTF-8?q?=E5=94=AE=E5=88=97=E8=A1=A8=20=E6=96=B0=E5=A2=9E=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 88 +- api/sale.js | 34 +- components/WaterfallsFlow/WaterfallsFlows.vue | 25 +- .../WaterfallsFlowItems.vue | 36 +- components/plantConSwiper/index.vue | 2 +- pages.json | 38 +- pages/columnGoods/goods_search_con/index.vue | 2 + .../commissionedSales/addDelegation/index.vue | 143 +- .../initiateDelegation/index.vue | 96 +- pages/index/index.vue | 157 +- pages/product/list/index.vue | 1527 +++++++++-------- pages/users/online_warehousing/index.vue | 4 +- 12 files changed, 1204 insertions(+), 948 deletions(-) diff --git a/App.vue b/App.vue index 08a81ad..082dc17 100644 --- a/App.vue +++ b/App.vue @@ -202,6 +202,8 @@ + this.checknetwork() + }, onShow() { let that = this @@ -242,10 +244,81 @@ // }) }); - uni.setTabBarItem((e) => { console.log("点击了", e)}); + uni.setTabBarItem((e) => { + console.log("点击了", e) + }); }, methods: { + //网络检测 + checknetwork() { + + uni.onNetworkStatusChange(function(res) { + + if (res.isConnected) { + + + uni.reLaunch({ + + url: '/pages/index/index' + + }) + + } else { + + uni.showModal({ + + title: '系统提示', + + content: '当前设备无网络或网络较差', + + cancelText: '取消', + + confirmText: '确定', + + success: (res) => { + + if (res.confirm) { + + uni.reLaunch({ + + url: '/pages/index/index' + + }) + + } else { + + // #ifdef H5 + + uni.navigateTo({ + + url: '/pages/users/login/login_copy' + + }) + + // #endif + + // #ifdef APP-PLUS + + plus.runtime.quit() + + // #endif + + } + + } + + }) + + } + + }) + + }, + + + + /** * 语音播报 * @@ -399,12 +472,13 @@ margin-top: -50rpx; // box-shadow: 0px 5px 10px 1px rgba(32, 161, 98, 0.3); } - .custom_style-txt{ - display: flex; - flex-direction: column; - align-items: center; - margin-top: 5rpx; - + + .custom_style-txt { + display: flex; + flex-direction: column; + align-items: center; + margin-top: 5rpx; + } } diff --git a/api/sale.js b/api/sale.js index 7fc62dc..a11ed19 100644 --- a/api/sale.js +++ b/api/sale.js @@ -7,4 +7,36 @@ // +---------------------------------------------------------------------- // | Author: CRMEB Team // +---------------------------------------------------------------------- -import request from "@/utils/request.js"; \ No newline at end of file +import request from "@/utils/request.js"; + +//发布委托商品选择 供应链商家接口 +export function supplychain(data) { + return request.get("community/supplychain/list", data); +} + +//普通商家发布委托商品 +export function entrustchain(data) { + return request.post("community/entrust", data); +} + + +//获取委托商品列表 +export function entrustlist(data) { + return request.get("community/entrust/list", data); +} + +//供应链商家是否同意委托 +export function checkchain(id,data) { + return request.post("community/entrust/check/"+id, data); +} + + +//供应链商家申请结束委托 +export function finishchain(id,data) { + return request.post("community/entrust/apply/finish/"+id, data); +} + +//委托商品加入购物车 +export function addEntrustCart(data) { + return request.post("community/entrust/addEntrustCart", data); +} \ No newline at end of file diff --git a/components/WaterfallsFlow/WaterfallsFlows.vue b/components/WaterfallsFlow/WaterfallsFlows.vue index e5f9b95..a5312c8 100644 --- a/components/WaterfallsFlow/WaterfallsFlows.vue +++ b/components/WaterfallsFlow/WaterfallsFlows.vue @@ -7,7 +7,7 @@ - + @@ -16,7 +16,7 @@ - + @@ -25,9 +25,7 @@ \ No newline at end of file diff --git a/pages/users/online_warehousing/index.vue b/pages/users/online_warehousing/index.vue index 75bfcaf..b22c69e 100644 --- a/pages/users/online_warehousing/index.vue +++ b/pages/users/online_warehousing/index.vue @@ -155,7 +155,7 @@ that.where.page = 1; that.shopList = []; getOrderList(that.where, that.mer_id).then(res => { - console.log(res); + // console.log(res); that.shopList = res.data.list console.log(that.shopList); }) @@ -166,7 +166,7 @@ getOrderList(this.where, this.mer_id).then(res => { // console.log(res); this.shopList = res.data.list - console.log(this.shopList); + // console.log(this.shopList); }) }, importshop(order_id, product_id, unique) { From 7b3b789853befca8b50aed39b38fe09a278634e5 Mon Sep 17 00:00:00 2001 From: weipengfei <2187978347@qq.com> Date: Fri, 8 Sep 2023 18:54:12 +0800 Subject: [PATCH 07/33] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 2 + pages.json | 20 +- store/modules/app.js | 67 ++++- uni_modules/guyue-updater/assets/bg1.png | Bin 0 -> 34588 bytes uni_modules/guyue-updater/assets/bg2.png | Bin 0 -> 12855 bytes uni_modules/guyue-updater/assets/close.png | Bin 0 -> 1343 bytes uni_modules/guyue-updater/changelog.md | 6 + uni_modules/guyue-updater/index.js | 24 ++ uni_modules/guyue-updater/interface.ts | 12 + uni_modules/guyue-updater/package.json | 82 +++++ uni_modules/guyue-updater/pages/updater.vue | 315 ++++++++++++++++++++ uni_modules/guyue-updater/readme.md | 65 ++++ uni_modules/guyue-updater/updater.js | 31 ++ 13 files changed, 622 insertions(+), 2 deletions(-) create mode 100644 uni_modules/guyue-updater/assets/bg1.png create mode 100644 uni_modules/guyue-updater/assets/bg2.png create mode 100644 uni_modules/guyue-updater/assets/close.png create mode 100644 uni_modules/guyue-updater/changelog.md create mode 100644 uni_modules/guyue-updater/index.js create mode 100644 uni_modules/guyue-updater/interface.ts create mode 100644 uni_modules/guyue-updater/package.json create mode 100644 uni_modules/guyue-updater/pages/updater.vue create mode 100644 uni_modules/guyue-updater/readme.md create mode 100644 uni_modules/guyue-updater/updater.js diff --git a/App.vue b/App.vue index 08a81ad..fc58122 100644 --- a/App.vue +++ b/App.vue @@ -76,6 +76,8 @@ onLaunch: function(option) { this.globalData.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px'; this.globalData.uid = this.$store.state.app.uid; + + this.$store.dispatch('INIT_CONFIG'); // #ifdef APP-PLUS //监听uni小程序发送的事件 diff --git a/pages.json b/pages.json index 45db4e9..a6f4b73 100644 --- a/pages.json +++ b/pages.json @@ -102,7 +102,25 @@ } } - ], + ,{ + "path": "uni_modules/guyue-updater/pages/updater", + "style": { + "app-plus": { + "animationDuration": 200, + "animationType": "fade-in", + "background": "transparent", + "backgroundColorTop": "transparent", + "bounce": "none", + "popGesture": "none", + "scrollIndicator": false, + "titleNView": false + }, + "backgroundColor": "transparent", + "disableScroll": true, + "navigationStyle": "custom" + } +} +], "subPackages": [{ "root": "pages/goods_cate", "name": "goods_cate", diff --git a/store/modules/app.js b/store/modules/app.js index 9c5e7c0..b0b862e 100644 --- a/store/modules/app.js +++ b/store/modules/app.js @@ -9,6 +9,9 @@ import Cache from '../../utils/cache'; import { USER_INFO } from '../../config/cache'; +// #ifdef APP-PLUS +import Updater from '@/uni_modules/guyue-updater/index'; +// #endif const state = { location: Cache.get('LOCATION_DATA', true) || {}, @@ -99,9 +102,71 @@ const actions = { }).catch(() => { }); - } + }, + async INIT_CONFIG({ state, commit }, data = false) { + // let res = await getConfig(); + let res = { + data: { + version: '1.2.1', + version_info: { + "id": 4, + "title": "正式IOS测试", + "content": "IOS正式", + "type": 1, + "version": "1.2.1", + "dow_url": "https://worker-task.lihaink.cn/uploads/files/20230908/20230908174409996e65763.wgt", + "force": 0, + "quiet": 0, + "create_time": "2023-09-04 15:28:29", + "update_time": "2023-09-04 15:28:29", + "delete_time": null + } + } + } + const wgt_v = uni.getStorageSync('wgt_version')||'1.0.0'; + // #ifdef APP-PLUS + let os = uni.getSystemInfoSync(); + if(data) uni.showLoading({ + title: '检查更新中' + }) + // 版本更新 + if(compareVersions(res.data.version, os.appVersion||wgt_v)==1&&compareVersions(res.data.version, wgt_v)==1){ + try{ + let info = res.data.version_info||{}; + let version = { + title: info.title||'发现新版本', + content: info.content||'修复了部分BUG', + versionName: info.version||'1.0.1', + downUrl: info.dow_url||'', + force: info.force==1?true:false, // 是否强制更新 + quiet: info.quiet==1?true:false // 是否静默更新 + } + Updater.update(version); + }catch(e){ + console.log(e); + } + if(data) uni.hideLoading(); + } + // #endif + } }; +function compareVersions(version1, version2) { + const arr1 = version1.split('.').map(Number); + const arr2 = version2.split('.').map(Number); + for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) { + const num1 = i < arr1.length ? arr1[i] : 0; + const num2 = i < arr2.length ? arr2[i] : 0; + + if (num1 > num2) { + return 1; + } else if (num1 < num2) { + return -1; + } + } + return 0; +} + export default { state, mutations, diff --git a/uni_modules/guyue-updater/assets/bg1.png b/uni_modules/guyue-updater/assets/bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..5eef28ee4a639eda7c7975e0c87a18f3cb922040 GIT binary patch literal 34588 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 + + + + + + + {{ updateParams.title }} + V{{ updateParams.versionName }} + + 更新内容: + + + + + + + + + + {{ progress }}% + + + + + + + {{ downloadText }} + + + + + + + + + + + + + diff --git a/uni_modules/guyue-updater/readme.md b/uni_modules/guyue-updater/readme.md new file mode 100644 index 0000000..ccb2b01 --- /dev/null +++ b/uni_modules/guyue-updater/readme.md @@ -0,0 +1,65 @@ +# App热更新 + +App热更新模块,支持apk安装以及wgt升级,支持显示弹窗升级、静默更新以及强制更新,支持进度显示,支持覆盖原生tabbar、原生导航栏。 +可用于自建热更新渠道,不依赖于云服务,无云服务费用支出,也可以适配官方更新中心。 + +## 使用说明 +### 1.将此项目导入自己的项目工程 +### 2.在page.json中注册页面,如下 + ```javascript + { + "path": "uni_modules/guyue-updater/pages/updater", + "style": { + "navigationStyle": "custom", + "backgroundColor": "transparent", + "disableScroll": true, + "app-plus": { + "backgroundColorTop": "transparent", + "background": "transparent", + "scrollIndicator": false, + "titleNView": false, + "popGesture": "none", + "bounce": "none", + "animationType": "fade-in", + "animationDuration": 200 + } + } + } + ``` +### 3.将版本检测函数导入需要使用的页面 + 一般在App.vue中的onLaunch导入或者首页导入,需要自行完成热更新检查,一般在APP启动时发起一个请求获取热更新数据,数据获取后,可以调用该组件完成更新。 + ```javascript + import Updater from '@/uni_modules/guyue-updater/index'; + + // 仅在app平台有效,其他平台调用无效 + Updater.update({ + title: '发现新版本', + content: '1. 我们更新了新的UI设计\n2. 我们更新了新的UI设计\n3. 我们更新了新的UI设计\n4. 我们更新了新的UI设计\n', + versionName: '1.3.6', + downUrl: 'https://cdn.xxx.cn/mp/__UNI__1F29D65.wgt', + force: false, + }) + ``` +## 参数说明 +```javascript +export type UpdateParams = { + content: string; // 必填,更新内容,内容中使用 \n 进行换行 + downUrl: string; // 必填,wgt热更新请给出 .wgt 的文件地址,APK整包更新请设置下载apk地址,ios请设置苹果商店的连接地址; + title?: string; // 用于显示弹窗标题,默认 发现新版本 + versionName?: string; // 版本名,用于显示更新版本,如 1.0.0 + quiet?: boolean; // 是否是静默更新,开启后,不会有弹窗,会在后台下载更新文件,在下次启动APP时使用更新 + force?: boolean; // 是否是强制更新,开启后,弹窗无法被关闭,必须更新 + updateBtnText?: string; // 升级按钮文字,默认 立即升级 + downMsgTip?: string; // 仅android,默认 下载中,请稍后 + downSucTip?: string; // 仅android,默认 下载完成,安装中 + downErrorTip?: string; // 仅android,默认 下载失败,请重试 +} +``` + +## Android如何跳转到应用市场更新 + +downUrl 设置为应用市场的地址即可,如: market://details?id={这里写你的应用包名} + +## iOS 如何跳转到AppStore + +downUrl 设置为AppStore的地址即可,如: itms-apps://itunes.apple.com/cn/app/hello-uni-app/id1417078253 \ No newline at end of file diff --git a/uni_modules/guyue-updater/updater.js b/uni_modules/guyue-updater/updater.js new file mode 100644 index 0000000..fbdf8b6 --- /dev/null +++ b/uni_modules/guyue-updater/updater.js @@ -0,0 +1,31 @@ + +export const download = ({ url, onProgress, onSuccess, onFail }) => { + const task = uni.downloadFile({ + url, + success(res) { + if (res.statusCode === 200) { + onSuccess && onSuccess(res.tempFilePath); + } + }, + fail() { + onFail && onFail(); + } + }); + task.onProgressUpdate(res => { + onProgress && onProgress(res.progress); + }); +}; + +export const install = (filePath, restart = false, version='') => { + plus.runtime.install(filePath, { + force: true + }, () => { + console.log('install success...'); + if (restart) { + uni.setStorageSync('wgt_version', version); + plus.runtime.restart(); + } + }, (e) => { + console.error('install fail...', e); + }); +}; \ No newline at end of file From 83a891cddada0d1ee6694ae5406532f2c24588b4 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Fri, 8 Sep 2023 19:19:23 +0800 Subject: [PATCH 08/33] =?UTF-8?q?=E5=BC=95=E5=AF=BC=E7=95=8C=E9=9D=A2=20?= =?UTF-8?q?=E6=94=B6=E5=88=B0=E5=A7=94=E6=89=98=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WaterfallsFlowItem/WaterfallsFlowItem.vue | 2 +- config/app.js | 8 +- manifest.json | 4 +- .../initiateDelegation/index.vue | 26 +- .../receivedCommission/index.vue | 261 +++++++++----- pages/guide/guide.vue | 323 ++++++++++++++++++ pages/guide/judge.vue | 34 ++ pages/moreProject/moreProject.vue | 4 +- static/images/guide.png | Bin 0 -> 642862 bytes 9 files changed, 562 insertions(+), 100 deletions(-) create mode 100644 pages/guide/guide.vue create mode 100644 pages/guide/judge.vue create mode 100644 static/images/guide.png diff --git a/components/WaterfallsFlowItem/WaterfallsFlowItem.vue b/components/WaterfallsFlowItem/WaterfallsFlowItem.vue index 620dbcf..09a9e07 100644 --- a/components/WaterfallsFlowItem/WaterfallsFlowItem.vue +++ b/components/WaterfallsFlowItem/WaterfallsFlowItem.vue @@ -80,7 +80,7 @@ export default { require: true }, type: { - type: Number, + type: Number|String, default: 0 }, isStore: { diff --git a/config/app.js b/config/app.js index 29070a6..f6c51a7 100644 --- a/config/app.js +++ b/config/app.js @@ -9,8 +9,8 @@ let httpApiThree // 网络接口修改此字符 小程序域名要求https // let httpApi = 'http://192.168.31.110:8324' // 测试 if (process.env.NODE_ENV === "development") { - httpApi = 'https://shop.lihaink.cn' // 生产 - // httpApi = "https://crmeb-test.shop.lihaink.cn" + // httpApi = 'https://shop.lihaink.cn' // 生产 + httpApi = "https://crmeb-test.shop.lihaink.cn" // httpApi = "http://192.168.0.222" // httpApi = "http://192.168.0.108:8325" // httpApi = 'http://192.168.0.108:8325' @@ -20,12 +20,12 @@ if (process.env.NODE_ENV === "development") { // #endif // #ifdef H5 // httpApiTwo = "baseUrl" // h5跨域配置 - httpApiTwo = "https://nk.lihaink.cn" // h5跨域配置 + httpApiTwo = "https://nk.lihaink.cn" // h5跨域配置 // httpApiThree = 'baseUrlTest' // h5跨域配置 // #endif } else if (process.env.NODE_ENV === 'production') { httpApi = 'https://shop.lihaink.cn' // 生产 - // httpApi = "https://crmeb-test.shop.lihaink.cn" + //httpApi = "https://crmeb-test.shop.lihaink.cn" httpApiTwo = 'https://nk.lihaink.cn' // 生产 httpApiThree = 'http://ceshi-oa.lihaink.cn' //生产 } diff --git a/manifest.json b/manifest.json index e07e880..abe0f2c 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "惠农生活", "appid" : "__UNI__3A527D1", "description" : "", - "versionName" : "1.3.0", - "versionCode" : 130, + "versionName" : "1.3.1", + "versionCode" : 131, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/pages/commissionedSales/initiateDelegation/index.vue b/pages/commissionedSales/initiateDelegation/index.vue index bc22a0f..bbc03ad 100644 --- a/pages/commissionedSales/initiateDelegation/index.vue +++ b/pages/commissionedSales/initiateDelegation/index.vue @@ -33,6 +33,10 @@ 处理 + + 删除 + + 详情 @@ -309,7 +313,11 @@ //获取分类数据 commislist() { entrustlist(this.where).then((res) => { - this.orderList = res.data.list + this.orderList.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 + }) }, @@ -363,14 +371,22 @@ }, //删除订单 deleteOrder(item) { - + checkchain(item.entrust_mer_id).then(res => { + this.$util.Tips({ + title: res.message, + icon: 'success' + }) + this.orderList = [] + this.tabTitle = "tabOne" + this.commislist() + }) }, // 审核未通过 编辑 auditEdit() { }, //审核通过 拒绝 - passDelete() { + passDelete(item) { checkchain(item.entrust_mer_id, { status: 2 }).then((res) => { @@ -379,7 +395,7 @@ icon: 'success' }) this.orderList = [] - this.tabTitle ="tabOne" + this.tabTitle = "tabOne" this.commislist() }) }, @@ -393,7 +409,7 @@ icon: 'success' }) this.orderList = [] - this.tabTitle ="tabOne" + this.tabTitle = "tabOne" this.commislist() this.$refs.bindmobile.close() }) diff --git a/pages/commissionedSales/receivedCommission/index.vue b/pages/commissionedSales/receivedCommission/index.vue index 2a290fc..6e0bd48 100644 --- a/pages/commissionedSales/receivedCommission/index.vue +++ b/pages/commissionedSales/receivedCommission/index.vue @@ -5,8 +5,8 @@ - - + + @@ -14,81 +14,90 @@ - {{item.content}} + {{item.title}} - 委托周期:{{item.day}} + 委托周期:{{item.credit_buy}} - - + + + + 待处理 - + 处理 - + + 删除 + + + 详情 - + 已接受 - 结束委托 - + 详情 - + 已拒绝 - + 删除 - + 详情 - - 已完成 - + 删除 - + 详情 - + + + + + + 新增委托 + + - @@ -100,19 +109,16 @@ 委托申请处理 - 结算周期: 30天 - - + 结算周期: {{obj.settle_cycle}}天 - 利息比例: 0.05% + 利息比例: {{obj.interest_rate}}% - - + 拒绝 - + 接受 @@ -122,7 +128,6 @@ - @@ -142,15 +147,11 @@ - - - - @@ -163,13 +164,10 @@ 结算周期: 30天 - - 利息比例: 0.05% - 拒绝 @@ -197,20 +195,15 @@ 结算周期: 30天 - - 利息比例: 0.05% - 拒绝原因: - - - - 确认提交 - - - - - + + + 共{{ item.total_num }}件商品, + + + 支付 + ¥{{ item.pay_price }} (邮费 + ¥{{ item.pay_postage}}) + + + 先货后款 + + + 支付 + ¥0.00 (邮费 ¥{{ item.pay_postage}}) + + + 共{{item.total_num}}件商品,结算周期到期后付款¥{{ item.pay_price }} + + + + + + + 同意 + + + 拒绝 + + + 一键改价 + + 订单备注 + 去发货 + + 收件码 + + 去核销 + + + + + + + + 暂无订单~ + + + + + + 订单备注 + + + + + + + 确认提交 + + + + + + + 请把二维码展示给取货人员 + + + + + + + + \ No newline at end of file diff --git a/pages/chat/customer_list/chat.vue b/pages/chat/customer_list/chat.vue index f0408ef..40a218e 100644 --- a/pages/chat/customer_list/chat.vue +++ b/pages/chat/customer_list/chat.vue @@ -789,6 +789,7 @@ +
@@ -1944,6 +1945,7 @@ position: fixed; bottom: 0; left: 0; + margin-bottom: var(--status-bar-height);; } .broadcast-details .footerCon.on { diff --git a/pages/columnGoods/goods_search/index.vue b/pages/columnGoods/goods_search/index.vue index 3d663eb..4442f82 100644 --- a/pages/columnGoods/goods_search/index.vue +++ b/pages/columnGoods/goods_search/index.vue @@ -158,9 +158,9 @@ } else { this.$set(this, 'searchValue', event); } - this.$nextTick(() => { - this.focus = true - }) + // this.$nextTick(() => { + // this.focus = true + // }) this.searchBut() }, setValue: function(event) { diff --git a/pages/columnGoods/goods_search_con/index.vue b/pages/columnGoods/goods_search_con/index.vue index 6e93048..27e017d 100644 --- a/pages/columnGoods/goods_search_con/index.vue +++ b/pages/columnGoods/goods_search_con/index.vue @@ -2,19 +2,17 @@ - - - + @@ -22,7 +20,7 @@ 店铺 - + {{downMenu[downKey].title}} @@ -413,7 +411,7 @@ } } }); - this.mTop = this.hide_mer_status == 0 ? '238rpx' : '170rpx' + this.mTop = this.hide_mer_status == 0 ? '308rpx' : '170rpx' }, computed: { shopTab: function() { @@ -561,9 +559,10 @@ limit: this.sotreParam.limit, order: this.sotreParam.order, category_id: this.sotreParam.category_id, - type_id: 10 + type_id: this.sotreParam.type_id } + console.log(this.sotreParam.category_id) if (this.latitude) { serachData.location = this.latitude + ',' + this.longitude } @@ -578,7 +577,7 @@ this.storeList = this.storeList.concat(res.data.list) this.count = res.data.count this.loading = false - console.log(this.storeList); + }) }, // 店铺排序 @@ -684,6 +683,7 @@ }, // 组件确定 confirm2(data) { + let arr1 = [], arr2 = [] if (data.storeTypeArr.length == 0) { @@ -821,8 +821,10 @@ //查找产品 get_product_list: function(isPage) { let that = this; + if (that.loadend) return; if (that.loading) return; + if (isPage === true) that.$set(that, 'productList', []); that.loading = true; that.loadTitle = ''; @@ -897,13 +899,14 @@ .productList .search { width: 100%; - height: 86rpx; - padding: 0 20rpx; - box-sizing: border-box; - position: fixed; - left: 0; - top: 0; - z-index: 9; + height: 170rpx; + padding: 0 20rpx; + // box-sizing: border-box; + position: fixed; + left: 0; + top: 0rpx; + padding-top: 60rpx; + z-index: 9; background-color: var(--view-theme); .icon-dingwei { @@ -966,7 +969,7 @@ z-index: 9; position: fixed; left: 0; - top: 0; + top: 70rpx; width: 100%; margin-top: 86rpx; background-color: var(--view-theme); @@ -1040,6 +1043,7 @@ .productList .list { padding: 0 20rpx; + } .productList .list.on { @@ -1075,6 +1079,7 @@ position: relative; width: 100%; height: 345rpx; + } .productList .list .item .pictrue.on { @@ -1417,7 +1422,8 @@ } .store-wrapper { - margin-top: 240rpx; + margin-top: 310rpx; + border-top: 1px solid #F6F6F6; .star-box { diff --git a/pages/gather/gather.vue b/pages/gather/gather.vue index 87c764a..e8fbae7 100644 --- a/pages/gather/gather.vue +++ b/pages/gather/gather.vue @@ -1,216 +1,94 @@ \ No newline at end of file diff --git a/pages/index/component/pictureCube.vue b/pages/index/component/pictureCube.vue index 6538d07..5840f27 100644 --- a/pages/index/component/pictureCube.vue +++ b/pages/index/component/pictureCube.vue @@ -28,7 +28,7 @@ - + diff --git a/pages/index/index.vue b/pages/index/index.vue index 478e22c..3fbc553 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,394 +1,1151 @@ - \ No newline at end of file diff --git a/pages/news_details/index.vue b/pages/news_details/index.vue index 63b9c5b..d1ccac2 100644 --- a/pages/news_details/index.vue +++ b/pages/news_details/index.vue @@ -1,269 +1,352 @@ \ No newline at end of file diff --git a/pages/news_list/index.vue b/pages/news_list/index.vue index a03bd95..255639e 100644 --- a/pages/news_list/index.vue +++ b/pages/news_list/index.vue @@ -1,339 +1,352 @@ \ No newline at end of file diff --git a/pages/nongKe/cloud_entrepot/index.vue b/pages/nongKe/cloud_entrepot/index.vue index ec30a2f..a04503e 100644 --- a/pages/nongKe/cloud_entrepot/index.vue +++ b/pages/nongKe/cloud_entrepot/index.vue @@ -1,142 +1,1020 @@ - \ No newline at end of file diff --git a/pages/nongKe/gather/select_warehouse.vue b/pages/nongKe/gather/select_warehouse.vue index 498460b..7a03a32 100644 --- a/pages/nongKe/gather/select_warehouse.vue +++ b/pages/nongKe/gather/select_warehouse.vue @@ -1,736 +1,737 @@ \ No newline at end of file diff --git a/pages/nongKe/goods_list/index.vue b/pages/nongKe/goods_list/index.vue index 31033ee..29b320f 100644 --- a/pages/nongKe/goods_list/index.vue +++ b/pages/nongKe/goods_list/index.vue @@ -1,1008 +1,1023 @@ \ No newline at end of file diff --git a/pages/nongKe/supply_chain/component/shop_card.vue b/pages/nongKe/supply_chain/component/shop_card.vue index 21c6271..cec9e10 100644 --- a/pages/nongKe/supply_chain/component/shop_card.vue +++ b/pages/nongKe/supply_chain/component/shop_card.vue @@ -11,7 +11,7 @@ {{ store_item.street_name }} {{ store_item.mer_name }} - + {{ store_item.product_score }}分 @@ -32,7 +32,7 @@ - + {{itemn.store_name}} ¥{{itemn.price}} diff --git a/pages/nongKe/supply_chain/goods_list.vue b/pages/nongKe/supply_chain/goods_list.vue index 43a20d5..cda2a3d 100644 --- a/pages/nongKe/supply_chain/goods_list.vue +++ b/pages/nongKe/supply_chain/goods_list.vue @@ -1,334 +1,358 @@ - \ No newline at end of file diff --git a/pages/nongKe/supply_chain/merchant.vue b/pages/nongKe/supply_chain/merchant.vue index 5027e61..e137b68 100644 --- a/pages/nongKe/supply_chain/merchant.vue +++ b/pages/nongKe/supply_chain/merchant.vue @@ -20,7 +20,7 @@ - + {{ item.store_name }} @@ -41,6 +41,35 @@ 采购清单 + + +

颜色规格

+ + + + + + {{item.sku}} + 库存: {{item.stock}} + + + + - + + + + + + + + +
+
@@ -52,6 +81,9 @@ } from '@/api/store.js' import { Toast } from '@/libs/uniApi' import goodsPopup from '../cpns/goodsPopup.vue' + import { + changeCartNum + } from '@/api/order.js'; export default { components: { goodsPopup @@ -88,7 +120,16 @@ }, id: '', order: true, - num: '' + num: '', + show: false, + scrollTop: 0, + attrValue: [], + Image: '', + goods: [{ + cart_num: 0 + }], + goodsLite: {}, + goodsindexL: '' } }, onLoad(e) { @@ -176,23 +217,27 @@ * 获取产品详情 */ getGoodsDetails(item) { - // console.log('e,item',e,item); - // let that = this; - // const count = e.value - // getProductDetail(item.product_id).then(res => { - // const unique = Object.values(res.data.sku)[0].unique - // console.log(res.data.product_id, count, unique,'123123'); - // that.goCat(res.data.product_id, count, unique) - // }) - let that = this; - const count = '1' - // console.log(111); - getProductDetail(item.product_id, { product_type: 98 }).then(res => { - const unique = Object.values(res.data.sku)[0].unique - that.goCat(res.data.product_id, count, unique) - }).catch(err => { - Toast(err) - }) + console.log(item); + if (item.product.attrValue.length == 1) { + let that = this; + const count = '1' + getProductDetail(item.product_id, { product_type: 98 }).then(res => { + const unique = Object.values(res.data.sku)[0].unique + that.goCat(res.data.product_id, count, unique) + }).catch(err => { + Toast(err) + }) + } else { + this.show = true + this.attrValue = item.product.attrValue + this.Image = item.image + for (let i = 1; i < item.product.attrValue.length; i++) { + this.goods.push({ + cart_num: 0 + }) + } + } + }, /* * 加入购物车 @@ -220,7 +265,96 @@ }); }); }, + close() { + this.show = false + }, + //购物车增加 + addCart(item, index) { + let that = this + that.goods[index].cart_num = that.goods[index].cart_num + 1 + that.goods.numAdd = true + that.goodsLite = item + that.goodsindexL = index + let q = { + is_new: 0, + product_id: that.goodsLite.product_id, + cart_num: that.goods[that.goodsindexL].cart_num, + product_attr_unique: that.goodsLite.unique, + // source: this.source, + product_type: 98, + spread_id: '' + }; + postCartAdd(q).then(res => { + that.$util.Tips({ + title: "添加购物车成功", + }); + }) + .catch(res => { + this.show = false + return that.$util.Tips({ + title: res + }); + }); + }, + subCart(item, index) { + let that = this + if (that.goods[index].cart_num == 0) { + return + } else { + that.goods[index].cart_num = that.goods[index].cart_num - 1 + that.goods.numAdd = true + that.goodsLite = item + that.goodsindexL = index + let q = { + is_new: 0, + product_id: that.goodsLite.product_id, + cart_num: that.goods[that.goodsindexL].cart_num, + product_attr_unique: that.goodsLite.unique, + // source: this.source, + product_type: 98, + spread_id: '' + }; + postCartAdd(q).then(res => { + that.$util.Tips({ + title: "添加购物车成功", + }); + }) + .catch(res => { + this.show = false + return that.$util.Tips({ + title: res + }); + }); + } + }, + addshopcart() { + console.log(this.goodsLite); + console.log(this.goodsindexL); + this.show = false + // let that = this + // let q = { + // is_new: 0, + // product_id: that.goodsLite.product_id, + // cart_num: that.goods[that.goodsindexL].cart_num, + // product_attr_unique: that.goodsLite.unique, + // // source: this.source, + // product_type: 98, + // spread_id: '' + // }; + // postCartAdd(q).then(res => { + // this.show = false + // that.$util.Tips({ + // title: "添加购物车成功", + // }); + // }) + // .catch(res => { + // this.show = false + // return that.$util.Tips({ + // title: res + // }); + // }); + } }, onReachBottom() { //如果状态为nomore 则不能在触发上拉事件 @@ -395,4 +529,91 @@ background-color: $uni-theme-color; color: #fff; } + + .scroll-Y { + height: 50vh; + width: 90%; + margin: auto; + + } + + .scroll-view-item { + font-size: 36rpx; + border-bottom: 1px solid #ccc; + + .scroll_item_top { + height: 60px; + display: flex; + justify-content: flex-start; + align-items: center; + + image { + width: 50px; + height: 50px; + margin: 5px; + } + + .text { + width: 200px; + height: 60px; + float: left; + + view { + height: 30px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + + text { + color: #F84221; + } + } + } + } + + .scroll_item_bon { + width: 100%; + height: 40px; + display: flex; + justify-content: flex-end; + align-items: center; + + .reduce { + width: 30px; + height: 30px; + text-align: center; + color: #BDC4CE; + background: #EEEEEE; + } + + input { + width: 50px; + height: 30px; + text-align: center; + } + + .plus { + width: 30px; + text-align: center; + height: 30px; + color: #FFFFFF; + background: linear-gradient(180deg, #F98649 0%, #F34E45 100%); + } + + .on { + background-color: #e3e3e3; + color: #dedede; + } + + } + } + + .btn { + width: 100%; + height: 50px; + background: linear-gradient(84deg, #F98649 0%, #F34E45 100%); + border-radius: 24px 24px 24px 24px; + line-height: 50px; + color: white; + } \ No newline at end of file diff --git a/pages/nongKe/supply_chain/shopping_trolley.vue b/pages/nongKe/supply_chain/shopping_trolley.vue index fea09f7..20276af 100644 --- a/pages/nongKe/supply_chain/shopping_trolley.vue +++ b/pages/nongKe/supply_chain/shopping_trolley.vue @@ -242,6 +242,7 @@ currSku: '', newData: {}, activeRouter: '', + type_id:'' }; }, computed: configMap({ hide_mer_status: 1, recommend_switch: 0, navigation: {} }, mapGetters(['isLogin', @@ -348,7 +349,7 @@ this.cartList.valid.forEach(el => { el.list.forEach(goods => { if (goods.check) { - type_id.push(goods.spu.spu_id) + type_id.push(goods.product_id) } }) }) @@ -357,6 +358,8 @@ title: '请选择产品' }); } else { + + collectAll({ type_id: type_id, type: 1 @@ -568,7 +571,7 @@ }) if (selectValue.length > 0) { uni.navigateTo({ - url: '/pages/users/order_confirm/index?product_type=98&cartId=' + selectValue.join(',') + url: `/pages/users/order_confirm/index?product_type=98&cartId=${selectValue.join(',')}&type_id=12` }); } else { return this.$util.Tips({ @@ -578,12 +581,13 @@ }, // 购物车增加 addCart: function(goods, index) { + console.log(goods.cart_id); let that = this; changeCartNum(goods.cart_id, { cart_num: goods.cart_num + 1 }).then(res => { goods.cart_num = Number(goods.cart_num) + 1 - that.cartTotalCount = Number(that.cartTotalCount) + 1; + // that.cartTotalCount = Number(that.cartTotalCount) + 1; if (goods.hasOwnProperty('productAttr') && goods.cart_num > goods.productAttr.stock) { goods.cart_num = goods.productAttr.stock; goods.numAdd = true; @@ -649,7 +653,7 @@ goods.numSub = true; } goods.cart_num = Number(goods.cart_num) - 1 - this.cartTotalCount = Number(this.cartTotalCount) - 1; + // this.cartTotalCount = Number(this.cartTotalCount) - 1; this.cartAllCheck('goodsCheck') }).catch(error => { this.$util.Tips({ @@ -671,6 +675,7 @@ let that = this; getCartList({ product_type: 98 }).then(res => { // console.log("购物车", res) + this.type_id=res.data.list[0].type_id res.data.list.forEach((item, index) => { item.allCheck = true item.list.forEach((goods, j) => { diff --git a/pages/nongKe/supply_chain/supplier-copy.vue b/pages/nongKe/supply_chain/supplier-copy.vue index 2abb398..728e9ae 100644 --- a/pages/nongKe/supply_chain/supplier-copy.vue +++ b/pages/nongKe/supply_chain/supplier-copy.vue @@ -33,7 +33,7 @@ - + diff --git a/pages/nongKe/supply_chain/supplier.vue b/pages/nongKe/supply_chain/supplier.vue index 2d45244..8e24527 100644 --- a/pages/nongKe/supply_chain/supplier.vue +++ b/pages/nongKe/supply_chain/supplier.vue @@ -1,26 +1,112 @@ - + \ No newline at end of file diff --git a/pages/order_details/index.vue b/pages/order_details/index.vue index 94e9364..fd8c56e 100644 --- a/pages/order_details/index.vue +++ b/pages/order_details/index.vue @@ -4,30 +4,40 @@ - + {{ orderInfo.status == 11 ? '交易已关闭' : '待付尾款' }} - 请在{{orderInfo.orderProduct[0].cart_info.productPresell.final_end_time}}前完成支付,超时订单将自动取消 + + 请在{{orderInfo.orderProduct[0].cart_info.productPresell.final_end_time}}前完成支付,超时订单将自动取消 + - + + + + - 待发货 + 待发货 等待其他人参加拼团 - 待核销 - {{orderInfo.is_virtual == 1 ? '服务商品已虚拟发货' : '待收货'}} - 待评价 - 已完成 + 待核销 + + {{orderInfo.is_virtual == 1 ? '服务商品已虚拟发货' : '待收货'}} + + 待评价 + 已完成 已为您退款,感谢您的支持 {{orderInfo.pay_time}} @@ -36,23 +46,59 @@ - 待付款 - 待发货 - 待核销 - 待收货 - 待评价 - 已完成 + + 待付款 + 待发货 + 待核销 + 待收货 + + 待评价 + 已完成 - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + @@ -63,7 +109,9 @@ - {{orderInfo.real_name}}{{orderInfo.user_phone}} + {{orderInfo.real_name}} + {{orderInfo.user_phone}} + {{orderInfo.user_address}} @@ -88,11 +136,13 @@ 营业时间 - 周一至周日: + 周一至周日: {{'周'+ toChinese(item)}}, - {{orderInfo.take.mer_take_time[0]}}-{{orderInfo.take.mer_take_time[1]}} + {{orderInfo.take.mer_take_time[0]}}-{{orderInfo.take.mer_take_time[1]}} @@ -103,16 +153,27 @@ - + {{orderInfo.merchant.mer_name}} - - - + + + + + + + + +
联系客服
@@ -148,7 +209,7 @@ 配送员未接单
查看详情 + :url="'/pages/order_details/delivery?orderId=' + orderInfo.order_id">查看详情
@@ -157,7 +218,8 @@ {{ orderInfo.remark }}
- + + 订单编号: {{orderInfo.order_sn}} @@ -189,7 +251,9 @@ 支付方式: 余额支付 支付宝支付 - 微信支付 + 微信支付 + 先货后款 买家留言: @@ -198,11 +262,13 @@ - + {{index}}: {{item}} - + @@ -223,46 +289,103 @@ 实付款: ¥{{orderInfo.presell_price}} - - 实付款: - ¥{{orderInfo.pay_price}} + + + 实付款: + ¥{{orderInfo.pay_price}} + + + 结算周期到期后付款 ¥100.00 + + + + 结算周期:30天 日利率:0.05% + - 申请开票 - - {{ orderInfo.presellOrder.final_start_time | filterDay }} 付尾款 - 立即付款 - 取消订单 + + + + {{ orderInfo.presellOrder.final_start_time | filterDay }} 付尾款 + + + + 立即付款 + + 取消订单 + - 批量退款 + 批量退款 取消拼团 - 查看拼团 + + 取消订单 + + 立即付款 + + + + 查看拼团 - 批量退款 - 查看物流 - 确认收货 + + 查看物流 + + + + 确认收货 + + 确认收货 + + + + 取件码 + + + - 批量退款 - 查看物流 - 再次购买 + 批量退款 + 查看物流 + + + 再次购买 + + + 去结算 + + 删除订单 - 批量退款 - 再次购买 + 批量退款 + + + 再次购买 - + + + @@ -280,6 +403,31 @@ {{orderInfo.verify_code}} + + + + + + + 下单时实付¥0,确认收货后将开始计算结算周期,结算周期内按照订单金额付款。如未在结算周期内付款平台将在xx天xx小时后计息。 + + + + + + + + + +

确认收到货了吗?

+ 此订单为先货后款订单,确认收货后将开始计算结算周期。为保障售后权益,请检查后再确认收货。 + + 取消 +
+
@@ -925,3 +641,644 @@ margin-right: 20rpx; } + \ No newline at end of file diff --git a/pages/order_pay_status/index.vue b/pages/order_pay_status/index.vue index af9c930..a28f466 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,26 +14,30 @@ 支付方式 - 微信 - 支付宝 + 微信 + 支付宝 + 余额 支付金额 {{order_pay_info.pay_price}} - + 赠送积分 {{order_pay_info.give_integral}}个 - + 失败原因 {{order_pay_info.pay_type==0 ? '余额不足':msg}} - + - - + + @@ -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,14 +133,16 @@ isShowAuth: false, //是否隐藏授权 status: 0, msg: '', - couponList:[], //优惠券列表 - isOpen:false ,//展开 + couponList: [], //优惠券列表 + isOpen: false, //展开 moneyBg: '/static/images/couponBg', text: '展开更多', - timer: null + timer: null, + product_type: '', + }; }, - computed: mapGetters(['isLogin','viewColor','keyColor']), + computed: mapGetters(['isLogin', 'viewColor', 'keyColor']), onLoad: function(options) { if (!options.order_id) return this.$util.Tips({ title: '缺少参数无法查看订单支付状态' @@ -134,21 +154,21 @@ this.order_type = options.order_type; this.status = options.status || 0; this.msg = options.msg || ''; + this.product_type = options.product_type if (this.isLogin) { this.refreshData(); } else { this.isAuto = true; this.isShowAuth = true - } + } }, methods: { - refreshData(){ - this.timer = setInterval(()=>{ - this.getOrderPayInfo(); - },1000) + refreshData() { + + this.getOrderPayInfo(); }, // 优惠券展开 - bindMore(){ + bindMore() { this.isOpen = !this.isOpen this.text = this.text == '展开更多' ? '收起' : '展开更多'; }, @@ -158,7 +178,7 @@ }, // 授权关闭 authColse: function(e) { - this.isShowAuth = e; + this.isShowAuth = e; }, /** * @@ -173,7 +193,7 @@ uni.setNavigationBarTitle({ title: res.data.paid == 1 ? '支付成功' : '支付失败' }); - if(res.data.paid == 1){ + if (res.data.paid == 1) { clearInterval(this.timer); this.timer = null; } @@ -199,16 +219,41 @@ * * 去订单详情页面 */ - goOrderDetails: function(e) { + goOrderDetails: function(val) { let that = this; - if (this.order_pay_info.paid == 0) { - uni.redirectTo({ - url: '/pages/users/order_list/index' - }) + if (this.product_type == 98) { + if(val==1){ + uni.navigateTo({ + url: `/pages/users/order_list/indexCopy?status=1&product_type=${this.product_type}` + }) + }else{ + uni.navigateTo({ + url: `/pages/users/order_list/indexCopy?status=0&product_type=${this.product_type}` + }) + } + + } else if (this.product_type == 99) { + if(val==1){ + uni.navigateTo({ + url: `/pages/users/order_list/relase?status=1&product_type=${this.product_type}` + }) + }else{ + uni.navigateTo({ + url: `/pages/users/order_list/relase?status=0&product_type=${this.product_type}` + }) + } + } else { - uni.redirectTo({ - url: '/pages/users/order_list/index?status=1' - }) + if(val==1){ + uni.navigateTo({ + url: '/pages/users/order_list/index?status=1&product_type=0' + }) + }else{ + uni.navigateTo({ + url: '/pages/users/order_list/index?status=0&product_type=0' + }) + } + } } @@ -231,6 +276,7 @@ border-radius: 10rpx; padding: 1rpx 0 28rpx 0; } + .payment-status .icon { font-size: 70rpx; width: 140rpx; @@ -242,19 +288,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; @@ -262,16 +312,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; @@ -281,46 +335,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; @@ -328,40 +392,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/plantGrass/plant_detail/index.vue b/pages/plantGrass/plant_detail/index.vue index 37d7269..d7a6d6f 100644 --- a/pages/plantGrass/plant_detail/index.vue +++ b/pages/plantGrass/plant_detail/index.vue @@ -1,40 +1,51 @@