Browse Source

feat: 添加快捷下单组件到多个页面

- 在多个页面中添加 QuickOrderEntry 组件以提供快捷下单功能
- 全局注册 QuickOrderEntry 组件
- 优化 QuickOrderEntry 组件逻辑,添加 token 检查
- 移除部分页面中不必要的 QuickOrderEntry 导入和刷新逻辑
- 修改首页轮播图点击跳转到快速创建订单页面
master
前端-胡立永 1 week ago
parent
commit
4667b2f4ba
19 changed files with 72 additions and 42 deletions
  1. +8
    -5
      components/QuickOrderEntry.vue
  2. +2
    -1
      components/productItem.vue
  3. +2
    -0
      main.js
  4. +5
    -0
      pages/index/cart.vue
  5. +2
    -9
      pages/index/category.vue
  6. +3
    -14
      pages/index/center.vue
  7. +6
    -12
      pages/index/index.vue
  8. +4
    -0
      pages/index/order.vue
  9. +4
    -0
      pages_order/mine/about.vue
  10. +3
    -0
      pages_order/mine/address.vue
  11. +4
    -0
      pages_order/mine/help.vue
  12. +4
    -0
      pages_order/mine/individualTeam.vue
  13. +5
    -1
      pages_order/mine/promotion.vue
  14. +4
    -0
      pages_order/mine/purse.vue
  15. +4
    -0
      pages_order/mine/runningWater.vue
  16. +4
    -0
      pages_order/order/orderDetail.vue
  17. +3
    -0
      pages_order/product/productDetail.vue
  18. +4
    -0
      pages_order/product/productList.vue
  19. +1
    -0
      store/store.js

+ 8
- 5
components/QuickOrderEntry.vue View File

@ -45,6 +45,9 @@ export default {
isInitialized: false
}
},
mounted() {
this.getQuickOrderInfo()
},
methods: {
//
handleClick() {
@ -69,6 +72,11 @@ export default {
//
getQuickOrderInfo() {
if(!uni.getStorageSync('token')){
return
}
//
this.$api('getOrderInfo', {}, res => {
if (res.code === 200 && res.result) {
@ -137,11 +145,6 @@ export default {
getMessageCount() {
return this.innerMessageCount;
},
//
getOrderInfo() {
return this.orderInfo;
}
},
}
</script>


+ 2
- 1
components/productItem.vue View File

@ -13,10 +13,11 @@
<text style="font-size: 30rpx; ">{{item.price}}</text>/{{item.unit}}
</view>
</view>
<view class="buy-shop" v-if="btn">
<view class="buy-shop">
<uv-button
type="primary"
shape="circle"
v-if="btn"
text="立即购买"></uv-button>
<view class="tips">


+ 2
- 0
main.js View File

@ -22,10 +22,12 @@ Vue.mixin(mixinConfigList)
import configPopup from '@/components/config/configPopup.vue'
import navbar from '@/components/base/navbar.vue'
import kefu from '@/components/base/kefu.vue'
import QuickOrderEntry from '@/components/QuickOrderEntry.vue'
Vue.component('configPopup',configPopup)
Vue.component('navbar',navbar)
Vue.component('kefu',kefu)
Vue.component('QuickOrderEntry', QuickOrderEntry)
const app = new Vue({
...App,


+ 5
- 0
pages/index/cart.vue View File

@ -101,6 +101,11 @@
</view>
</view>
<quick-order-entry
ref="quickOrderEntry"
bottom="50vh"
/>
<kefu></kefu>
<tabber select="cart" />


+ 2
- 9
pages/index/category.vue View File

@ -54,7 +54,7 @@
<quick-order-entry
ref="quickOrderEntry"
ref="quickOrderEntry"
/>
<kefu/>
@ -66,14 +66,10 @@
<script>
import tabber from '@/components/base/tabbar.vue'
import productItem from '@/components/productItem.vue'
import QuickOrderEntry from '@/components/QuickOrderEntry.vue'
export default {
components: {
tabber,
productItem,
QuickOrderEntry,
},
data() {
return {
@ -99,10 +95,7 @@
this.getCategory()
},
onShow() {
if(uni.getStorageSync('token')){
//
this.$refs.quickOrderEntry.refresh();
}
this.$refs.quickOrderEntry.refresh();
},
methods: {
clickTabs({index}){


+ 3
- 14
pages/index/center.vue View File

@ -60,9 +60,8 @@
<uv-swiper
class="uv-swaip"
height="240rpx"
:list="bannerList"
:list="[configList.banner_icon]"
circular
keyName="image"
indicator="true"
bgColor="#ffffff">
</uv-swiper>
@ -131,10 +130,10 @@
</view>
<!-- <quick-order-entry
<quick-order-entry
ref="quickOrderEntry"
bottom="50vh"
/> -->
/>
<kefu/>
@ -158,7 +157,6 @@
data() {
return {
list: [],
bannerList : [],
}
},
onShow() {
@ -166,17 +164,8 @@
//
this.$store.commit('getUserInfo')
}
this.getBanner()
},
methods: {
//
getBanner() {
this.$api('getBanner', res => {
if (res.code == 200) {
this.bannerList = res.result
}
})
},
}
}
</script>


+ 6
- 12
pages/index/index.vue View File

@ -27,10 +27,14 @@
</view>
</view>
<view class="image-home">
<view class="image-home"
@click="$utils.navigateTo('/pages_order/order/fastCreateOrder')">
<uv-swiper class="uv-swaip"
keyName="image"
height="350rpx" :list="bannerList" circular bgColor="#ffffff">
height="350rpx"
:list="bannerList"
circular
bgColor="#ffffff">
</uv-swiper>
</view>
@ -72,7 +76,6 @@
<script>
import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
import tabber from '@/components/base/tabbar.vue'
import QuickOrderEntry from '@/components/QuickOrderEntry.vue'
import productItem from '@/components/productItem.vue'
import mixinsList from '@/mixins/list.js'
export default {
@ -80,7 +83,6 @@ export default {
components: {
tabber,
PrivacyAgreementPoup,
QuickOrderEntry,
productItem,
},
data() {
@ -99,8 +101,6 @@ export default {
this.getBanner()
this.getMenu()
if(uni.getStorageSync('token')){
//
this.refreshQuickOrder()
this.$store.commit('getUserInfo')
}
},
@ -142,12 +142,6 @@ export default {
// url: item.url,
// })
},
//
refreshQuickOrder() {
if (this.$refs.quickOrderEntry) {
this.$refs.quickOrderEntry.refresh();
}
},
}
}
</script>


+ 4
- 0
pages/index/order.vue View File

@ -61,6 +61,10 @@
</view>
<kefu/>
<quick-order-entry
ref="quickOrderEntry"
/>
</view>
</template>


+ 4
- 0
pages_order/mine/about.vue View File

@ -10,6 +10,10 @@
<uv-parse :content="configList.config_aboutus"></uv-parse>
</view>
<quick-order-entry
ref="quickOrderEntry"
/>
</view>
</template>


+ 3
- 0
pages_order/mine/address.vue View File

@ -19,6 +19,9 @@
@saveOrUpdate="saveOrUpdate"
:title="title"></redactAddress>
<quick-order-entry
ref="quickOrderEntry"
/>
<view class="add-btn">
<view @click="addBtn" class="btn">


+ 4
- 0
pages_order/mine/help.vue View File

@ -51,6 +51,10 @@
<view @click="submit">确认</view>
</view>
</view>
<quick-order-entry
ref="quickOrderEntry"
/>
</view>
</template>


+ 4
- 0
pages_order/mine/individualTeam.vue View File

@ -62,6 +62,10 @@
</view>
</view>
</view>
<quick-order-entry
ref="quickOrderEntry"
/>
</view>
</template>


+ 5
- 1
pages_order/mine/promotion.vue View File

@ -2,7 +2,7 @@
<view class="promotion">
<navbar title="二维码"
bgColor="rgb(235, 51, 0)"
bgColor="#DC2828"
color="#fff"
leftClick @leftClick="$utils.navigateBack" />
@ -19,6 +19,10 @@
保存到相册
</view>
<!-- <quick-order-entry
ref="quickOrderEntry"
/> -->
</view>
</template>


+ 4
- 0
pages_order/mine/purse.vue View File

@ -35,6 +35,10 @@
<view class="b-fiexd">
<view class="button-submit">提交</view>
</view>
<quick-order-entry
ref="quickOrderEntry"
/>
</view>
</template>


+ 4
- 0
pages_order/mine/runningWater.vue View File

@ -48,6 +48,10 @@
<uv-empty mode="history" textSize="28rpx" iconSize="100rpx" />
</view>
</view>
<quick-order-entry
ref="quickOrderEntry"
/>
<!-- 日历选择器 -->
<uv-calendars


+ 4
- 0
pages_order/order/orderDetail.vue View File

@ -182,6 +182,10 @@
<kefu></kefu>
<quick-order-entry
ref="quickOrderEntry"
/>
<!-- 联系客服弹框 -->
<customerServicePopup ref="customerServicePopup" />
</view>


+ 3
- 0
pages_order/product/productDetail.vue View File

@ -68,6 +68,9 @@
<!-- 联系客服弹框 -->
<customerServicePopup ref="customerServicePopup" />
<quick-order-entry
ref="quickOrderEntry"
/>
<kefu/>
</view>


+ 4
- 0
pages_order/product/productList.vue View File

@ -18,6 +18,10 @@
:item="item" v-for="(item, index) in list" :key="index"/>
</view>
<quick-order-entry
ref="quickOrderEntry"
/>
<kefu/>
</view>
</template>


+ 1
- 0
store/store.js View File

@ -166,6 +166,7 @@ const store = new Vuex.Store({
uni.getImageInfo({
src: `${Vue.prototype.$config.baseUrl}/info/createQrCode?token=${uni.getStorageSync('token')}`,
success : res => {
uni.hideLoading()
that.commit('setPromotionUrl', res.path)
},
fail : err => {


Loading…
Cancel
Save