|
@@ -7,107 +7,104 @@
|
|
|
:headerBtnPosi="headerBtnPosi"
|
|
|
:isDelete="isDelete"
|
|
|
@goSearchPath="handlSearchPath"
|
|
|
- ></header-back>
|
|
|
- <view class="order-section-top" :style="{ marginTop: navbarHeight + 'px' }">
|
|
|
- <scroll-view scroll-x scroll-with-animation class="tab-view" :scroll-left="scrollLeft">
|
|
|
- <view
|
|
|
- v-for="(item, index) in orderTabBar"
|
|
|
- :key="index"
|
|
|
- class="tab-bar-item"
|
|
|
- :class="[currentTab == index ? 'active' : '']"
|
|
|
- :data-current="index"
|
|
|
- @tap.stop="onClickTab"
|
|
|
- >
|
|
|
- <text class="tab-bar-title">{{ item.text }}</text>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- </view>
|
|
|
- <swiper
|
|
|
- class="tab-content"
|
|
|
- :current="currentTab"
|
|
|
- duration="80"
|
|
|
- @animationfinish="onChange"
|
|
|
- :style="{ height: winHeight + 'px' }"
|
|
|
- >
|
|
|
- <swiper-item v-for="(tabItem, index) in orderTabBar" :key="index">
|
|
|
- <tui-skeleton
|
|
|
- v-if="skeletonShow"
|
|
|
- backgroundColor="#fafafa"
|
|
|
- borderRadius="10rpx"
|
|
|
- :isLoading="false"
|
|
|
- :loadingType="5"
|
|
|
- ></tui-skeleton>
|
|
|
- <scroll-view scroll-y class="scoll-y tui-skeleton" @scrolltolower="scrolltolower">
|
|
|
- <view :class="{ 'tui-order-list': scrollTop >= 0 }" class="tui-skeleton clearfix">
|
|
|
- <!-- 空白页 -->
|
|
|
- <empty
|
|
|
- v-if="tabItem.loaded === true && tabItem.orderList.length === 0"
|
|
|
- :typeIndex="currentTab"
|
|
|
- :navbarHeight="navbarHeight"
|
|
|
- ></empty>
|
|
|
- <!-- 列表 -->
|
|
|
- <view v-else class="tui-order-content">
|
|
|
- <view
|
|
|
- class="tui-order-item"
|
|
|
- v-for="(order, orderIndex) in tabItem.orderList"
|
|
|
- :key="orderIndex"
|
|
|
- >
|
|
|
- <view class="order-title">
|
|
|
- <view class="order-title-t">
|
|
|
- <text
|
|
|
- class="bage-buss tui-skeleton-fillet"
|
|
|
- v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4"
|
|
|
- >协销</text
|
|
|
- >
|
|
|
- <text
|
|
|
- class="bage-auto tui-skeleton-fillet"
|
|
|
- v-if="
|
|
|
- order.orderSubmitType == 0 ||
|
|
|
- order.orderSubmitType == 1 ||
|
|
|
- order.orderSubmitType == 2
|
|
|
- "
|
|
|
- >自主</text
|
|
|
- >
|
|
|
- <text class="bage-text tui-skeleton-fillet">订单编号:{{ order.orderNo }}</text>
|
|
|
- <image
|
|
|
- class="bage-icon"
|
|
|
- src="https://static.caimei365.com/app/img/icon/icon-type@3x.png"
|
|
|
- mode="widthFix"
|
|
|
- v-if="order.secondHandOrderFlag == 1"
|
|
|
- ></image>
|
|
|
- </view>
|
|
|
- <view class="order-title-b">
|
|
|
- <view class="order-title-btxt tui-skeleton-fillet"
|
|
|
- >下单时间:{{ order.orderTime }}</view
|
|
|
- >
|
|
|
- <view class="order-title-tip tui-skeleton-fillet">{{
|
|
|
- StateExpFormat(order.status)
|
|
|
- }}</view>
|
|
|
+ />
|
|
|
+ <tui-skeleton
|
|
|
+ v-if="skeletonShow"
|
|
|
+ backgroundColor="#fafafa"
|
|
|
+ borderRadius="10rpx"
|
|
|
+ :isLoading="true"
|
|
|
+ :loadingType="5"
|
|
|
+ />
|
|
|
+ <template v-else>
|
|
|
+ <view class="order-section-top" :style="{ marginTop: navbarHeight + 'px' }">
|
|
|
+ <scroll-view scroll-x scroll-with-animation class="tab-view" :scroll-left="scrollLeft">
|
|
|
+ <view
|
|
|
+ v-for="(item, index) in orderTabBar"
|
|
|
+ :key="index"
|
|
|
+ class="tab-bar-item"
|
|
|
+ :class="[currentTab == index ? 'active' : '']"
|
|
|
+ :data-current="index"
|
|
|
+ @tap.stop="onClickTab"
|
|
|
+ >
|
|
|
+ <text class="tab-bar-title">{{ item.text }}</text>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ <swiper
|
|
|
+ class="tab-content"
|
|
|
+ :current="currentTab"
|
|
|
+ duration="80"
|
|
|
+ @animationfinish="onChange"
|
|
|
+ :style="{ height: winHeight + 'px' }"
|
|
|
+ >
|
|
|
+ <swiper-item v-for="(tabItem, index) in orderTabBar" :key="index">
|
|
|
+ <scroll-view scroll-y class="scoll-y tui-skeleton" @scrolltolower="scrolltolower">
|
|
|
+ <view :class="{ 'tui-order-list': scrollTop >= 0 }" class="tui-skeleton clearfix">
|
|
|
+ <!-- 空白页 -->
|
|
|
+ <empty
|
|
|
+ v-if="tabItem.loaded === true && tabItem.orderList.length === 0"
|
|
|
+ :typeIndex="currentTab"
|
|
|
+ :navbarHeight="navbarHeight"
|
|
|
+ />
|
|
|
+ <!-- 列表 -->
|
|
|
+ <view v-else class="tui-order-content">
|
|
|
+ <view
|
|
|
+ class="tui-order-item"
|
|
|
+ v-for="(order, orderIndex) in tabItem.orderList"
|
|
|
+ :key="orderIndex"
|
|
|
+ >
|
|
|
+ <view class="order-title">
|
|
|
+ <view class="order-title-t">
|
|
|
+ <text
|
|
|
+ class="bage-buss tui-skeleton-fillet"
|
|
|
+ v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4"
|
|
|
+ >协销</text
|
|
|
+ >
|
|
|
+ <text
|
|
|
+ class="bage-auto tui-skeleton-fillet"
|
|
|
+ v-if="
|
|
|
+ order.orderSubmitType == 0 ||
|
|
|
+ order.orderSubmitType == 1 ||
|
|
|
+ order.orderSubmitType == 2
|
|
|
+ "
|
|
|
+ >自主</text
|
|
|
+ >
|
|
|
+ <text class="bage-text tui-skeleton-fillet">订单编号:{{ order.orderNo }}</text>
|
|
|
+ <image
|
|
|
+ class="bage-icon"
|
|
|
+ src="https://static.caimei365.com/app/img/icon/icon-type@3x.png"
|
|
|
+ mode="widthFix"
|
|
|
+ v-if="order.secondHandOrderFlag == 1"
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ <view class="order-title-b">
|
|
|
+ <view class="order-title-btxt tui-skeleton-fillet"
|
|
|
+ >下单时间:{{ order.orderTime }}</view
|
|
|
+ >
|
|
|
+ <view class="order-title-tip tui-skeleton-fillet">{{
|
|
|
+ StateExpFormat(order.status)
|
|
|
+ }}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <block v-for="(shop, sindex) in order.shopOrderList" :key="sindex">
|
|
|
<view class="goods-title">
|
|
|
- <view v-if="shop.shopPromotion" class="floor-item-act">
|
|
|
- <view class="floor-tags">{{ shop.shopPromotion.name }}</view>
|
|
|
+ <view v-if="order.shopPromotion" class="floor-item-act">
|
|
|
+ <view class="floor-tags">{{ order.shopPromotion.name }}</view>
|
|
|
</view>
|
|
|
<view class="title-text" v-if="order.secondHandOrderFlag == 1"
|
|
|
- >{{ shop.shopName }}
|
|
|
+ >{{ order.shopName }}
|
|
|
<label class="paymenttext" v-if="order.affirmPaymentFlag == 1"
|
|
|
>已确认打款供应商</label
|
|
|
>
|
|
|
</view>
|
|
|
- <view
|
|
|
- class="title-text tui-skeleton-fillet"
|
|
|
- v-else
|
|
|
- @click="goShophome(shop)"
|
|
|
- >{{ shop.shopName }}<label class="iconfont icon-jinrudianpu"></label
|
|
|
+ <view class="title-text tui-skeleton-fillet" v-else @click="goShophome(order)"
|
|
|
+ >{{ order.shopName }}<label class="iconfont icon-jinrudianpu"></label
|
|
|
></view>
|
|
|
</view>
|
|
|
<view
|
|
|
class="goods-item"
|
|
|
- v-for="(pros, prosIndex) in shop.orderProductList"
|
|
|
+ v-for="(pros, prosIndex) in order.orderProductList"
|
|
|
:key="prosIndex"
|
|
|
- @click.stop="detail(order.orderId)"
|
|
|
+ @click.stop="detail(order.shopOrderId)"
|
|
|
>
|
|
|
<view class="goods-pros-t">
|
|
|
<view class="pros-img tui-skeleton-fillet">
|
|
@@ -177,49 +174,46 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </block>
|
|
|
- <view class="order-footer">
|
|
|
- <view class="order-footer-top" v-if="order.discountFee != 0"
|
|
|
- >经理折扣:¥{{ order.discountFee | NumFormat }}</view
|
|
|
- >
|
|
|
- <view class="order-footer-bot">
|
|
|
- <view class="count tui-skeleton-fillet">共{{ order.productCount }}件商品</view>
|
|
|
- <view
|
|
|
- class="money tui-skeleton-fillet"
|
|
|
- v-if="order.status == 31 || order.status == 32 || order.status == 33"
|
|
|
- >
|
|
|
- 已支付:<label style="color:#f94b4b ;"
|
|
|
- >¥{{ order.receiptAmount | NumFormat }}</label
|
|
|
- >
|
|
|
- </view>
|
|
|
- <view class="money tui-skeleton-fillet" v-else>
|
|
|
- 待付总额:<label style="color:#f94b4b ;"
|
|
|
- >¥{{ order.pendingPayments | NumFormat }}</label
|
|
|
+ <view class="order-footer">
|
|
|
+ <view class="order-footer-bot">
|
|
|
+ <view class="count tui-skeleton-fillet">共{{ order.itemCount }}件商品</view>
|
|
|
+ <view
|
|
|
+ class="money tui-skeleton-fillet"
|
|
|
+ v-if="order.status == 31 || order.status == 32 || order.status == 33"
|
|
|
>
|
|
|
+ 已支付:<label style="color:#f94b4b ;"
|
|
|
+ >¥{{ order.receiptAmount | NumFormat }}</label
|
|
|
+ >
|
|
|
+ </view>
|
|
|
+ <view class="money tui-skeleton-fillet" v-else>
|
|
|
+ 待付总额:<label style="color:#f94b4b ;"
|
|
|
+ >¥{{ order.obligation | NumFormat }}</label
|
|
|
+ >
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <!-- 底部button -->
|
|
|
+ <cm-list-button
|
|
|
+ ref="orderButton"
|
|
|
+ :status="order.status"
|
|
|
+ :order="order"
|
|
|
+ @buttonConfirm="handButtonConfirm"
|
|
|
+ />
|
|
|
</view>
|
|
|
- <!-- 底部button -->
|
|
|
- <cm-list-button
|
|
|
- ref="orderButton"
|
|
|
- :status="order.status"
|
|
|
- :order="order"
|
|
|
- @buttonConfirm="handButtonConfirm"
|
|
|
+ <!--加载loadding-->
|
|
|
+ <tui-loadmore :visible="loadding" :index="3" type="black"/>
|
|
|
+ <tui-nomore
|
|
|
+ :visible="!pullUpOn"
|
|
|
+ :backgroundColor="'#ffffff'"
|
|
|
+ :text="nomoreText"
|
|
|
/>
|
|
|
+ <!--加载loadding-->
|
|
|
</view>
|
|
|
- <!--加载loadding-->
|
|
|
- <tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
|
|
|
- <tui-nomore
|
|
|
- :visible="!pullUpOn"
|
|
|
- :backgroundColor="'#ffffff'"
|
|
|
- :text="nomoreText"
|
|
|
- ></tui-nomore>
|
|
|
- <!--加载loadding-->
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- </swiper-item>
|
|
|
- </swiper>
|
|
|
+ </scroll-view>
|
|
|
+ </swiper-item>
|
|
|
+ </swiper>
|
|
|
+ </template>
|
|
|
<!-- 付款弹窗 -->
|
|
|
<cm-orderpay-popup
|
|
|
v-if="isPayModel"
|
|
@@ -229,7 +223,7 @@
|
|
|
@paymentConfirm="hanldPaymentConfirm"
|
|
|
/>
|
|
|
<!-- 分享弹窗 -->
|
|
|
- <cm-share-popup :orderId="btnoRderID" v-if="isShareModal" @shareConfirm="onShareAppMessage" />
|
|
|
+ <cm-share-popup :shopOrderId="handleShopOrderId" v-if="isShareModal" @shareConfirm="onShareAppMessage" />
|
|
|
<!-- 采美豆提示弹窗 -->
|
|
|
<activityBean
|
|
|
v-if="isActivityBean"
|
|
@@ -238,8 +232,19 @@
|
|
|
:beanNumber="beanNumber"
|
|
|
@cancel="handleBeanlClick"
|
|
|
/>
|
|
|
+ <!-- 提示弹窗 -->
|
|
|
+ <tui-modal
|
|
|
+ :show="modal"
|
|
|
+ @click="handleClick"
|
|
|
+ :content="contentModalText"
|
|
|
+ :button="modalButton"
|
|
|
+ color="#333"
|
|
|
+ :size="32"
|
|
|
+ shape="circle"
|
|
|
+ :maskClosable="false"
|
|
|
+ />
|
|
|
<!-- 透明模态层 -->
|
|
|
- <modal-layer v-if="isModalLayer"/>
|
|
|
+ <modal-layer v-if="isModalLayer" />
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -250,7 +255,7 @@ import modalLayer from '@/components/modal-layer'
|
|
|
import empty from '@/components/empty'
|
|
|
import cmListButton from './components/cm-list-button' //底部按钮
|
|
|
import cmSharePopup from './components/cm-share-popup' //分享弹窗
|
|
|
-import cmPrderpayPopup from './components/cm-orderpay-popup' //付款弹窗
|
|
|
+import cmOrderpayPopup from './components/cm-orderpay-popup' //付款弹窗
|
|
|
import activityBean from '@/components/cm-module/activity/activityBean.vue'
|
|
|
|
|
|
export default {
|
|
@@ -261,7 +266,7 @@ export default {
|
|
|
btSearch,
|
|
|
cmListButton,
|
|
|
cmSharePopup,
|
|
|
- cmPrderpayPopup,
|
|
|
+ cmOrderpayPopup,
|
|
|
activityBean
|
|
|
},
|
|
|
data() {
|
|
@@ -286,11 +291,13 @@ export default {
|
|
|
winHeight: '', //窗口高度
|
|
|
currentTab: 0, //预设当前项的值
|
|
|
scrollLeft: 0, //tab标题的滚动条位置
|
|
|
- userId: 0,
|
|
|
+ listQuery: {
|
|
|
+ orderState: 0,
|
|
|
+ userId: 0,
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10
|
|
|
+ },
|
|
|
orderData: [],
|
|
|
- btnoRderID: 0, //点击按钮传入的的订单ID
|
|
|
- pageNum: 1, //页数
|
|
|
- pageSize: 10, //条数
|
|
|
scrollTop: 0,
|
|
|
skeletonShow: true,
|
|
|
isDelete: false,
|
|
@@ -304,13 +311,31 @@ export default {
|
|
|
pullFlag: true,
|
|
|
navbarHeight: '',
|
|
|
payModelData: {},
|
|
|
- hanldOrderData: {},
|
|
|
modelType: 0,
|
|
|
nomoreText: '上拉显示更多',
|
|
|
isOnloadFlag: false,
|
|
|
beansType: 1,
|
|
|
beanNumber: 0,
|
|
|
- isActivityBean: false
|
|
|
+ isActivityBean: false,
|
|
|
+ handleShopOrderId: 0, //点击按钮传入的的子订单ID
|
|
|
+ handleModelEven: 0,
|
|
|
+ modal: false,
|
|
|
+ contentModalText: '订单查询失败,请稍候重试~', //操作文字提示语句
|
|
|
+ modalButton: [
|
|
|
+ {
|
|
|
+ text: '取消',
|
|
|
+ type: 'gray',
|
|
|
+ plain: true //是否空心
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '确定',
|
|
|
+ customStyle: {
|
|
|
+ color: '#fff',
|
|
|
+ bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
|
|
|
+ },
|
|
|
+ plain: false
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
},
|
|
|
onLoad(e) {
|
|
@@ -321,13 +346,7 @@ export default {
|
|
|
this.currentTab = e.state
|
|
|
this.isOnloadFlag = true
|
|
|
this.getHeaderTopHeight() //设置自定义导航高度
|
|
|
- // 高度自适应
|
|
|
- uni.getSystemInfo({
|
|
|
- success: function(res) {
|
|
|
- let calc = res.windowHeight
|
|
|
- self.winHeight = calc - self.CustomBar
|
|
|
- }
|
|
|
- })
|
|
|
+ this.initStorage()
|
|
|
},
|
|
|
filters: {
|
|
|
NumFormat(value) {
|
|
@@ -336,11 +355,11 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- goShophome(shop) {
|
|
|
- if(shop.shopType === 2){
|
|
|
- return
|
|
|
- }
|
|
|
- this.$api.navigateTo(`/pages/supplier/user/my-shop?shopId=${shop.shopId}`)
|
|
|
+ async initStorage() {
|
|
|
+ //初始化
|
|
|
+ const usrInfo = await this.$api.getStorage()
|
|
|
+ this.listQuery.userId = usrInfo.userId ? usrInfo.userId : 0
|
|
|
+ this.getOrderDatainit(this.currentTab)
|
|
|
},
|
|
|
// 滚动切换标签样式
|
|
|
onChange: function(e) {
|
|
@@ -353,7 +372,6 @@ export default {
|
|
|
this.isClickChange = false
|
|
|
this.currentTab = index
|
|
|
this.checkCor()
|
|
|
- this.pageNum = 1
|
|
|
this.pullUpOn = true //切换时隐藏
|
|
|
this.loadding = false //切换时隐藏
|
|
|
this.nomoreText = ''
|
|
@@ -362,21 +380,20 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
// 点击标题切换当前页时改变样式
|
|
|
- onClickTab: function(e) {
|
|
|
+ onClickTab(e) {
|
|
|
let tabIndex = e.target.dataset.current || e.currentTarget.dataset.current
|
|
|
if (this.currentTab === tabIndex) {
|
|
|
return false
|
|
|
} else {
|
|
|
this.isClickChange = true
|
|
|
this.currentTab = tabIndex
|
|
|
- this.pageNum = 1
|
|
|
this.pullUpOn = true //切换时隐藏
|
|
|
this.loadding = false //切换时隐藏
|
|
|
this.getOrderDatainit(this.currentTab)
|
|
|
}
|
|
|
},
|
|
|
//判断当前滚动超过一屏时,设置tab标题滚动条。
|
|
|
- checkCor: function() {
|
|
|
+ checkCor() {
|
|
|
if (this.currentTab > 3) {
|
|
|
//这里距离按实际计算
|
|
|
this.scrollLeft = 300
|
|
@@ -384,276 +401,255 @@ export default {
|
|
|
this.scrollLeft = 0
|
|
|
}
|
|
|
},
|
|
|
- getOrderDatainit(index, source) {
|
|
|
- /**
|
|
|
- * @订单初始化加载 仅加载第一页码
|
|
|
- * @param:orderState(订单状态:0全部,1待付款,2待发货,3已发货,4退货款)
|
|
|
- * @param:userId(用户ID)
|
|
|
- * @param:pageNum(页码数)
|
|
|
- * @param:pageSize(每页条数)
|
|
|
- * @param:organizeID(全局变量组织ID)
|
|
|
- */
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- this.skeletonShow = false
|
|
|
- this.isOnloadFlag = false
|
|
|
- }, 1500)
|
|
|
+ async getOrderDatainit(index, source) {
|
|
|
let orderItem = this.orderTabBar[index]
|
|
|
if (source === 'tabChange' && orderItem.loaded === true) {
|
|
|
//tab切换只有第一次需要加载数据
|
|
|
return
|
|
|
}
|
|
|
- setTimeout(() => {
|
|
|
- this.$api.getStorage().then(resolve => {
|
|
|
- this.userId = resolve.userId ? resolve.userId : 0
|
|
|
- let params = { orderState: index, userId: this.userId, pageNum: 1, pageSize: this.pageSize }
|
|
|
- this.OrderService.QueryOrderList(params)
|
|
|
- .then(response => {
|
|
|
- let data = response.data
|
|
|
- let orderList = data.list.filter(item => {
|
|
|
- //添加不同状态下订单的表现形式
|
|
|
- item = Object.assign(item, this.StateExpFormat(item.status))
|
|
|
- return item
|
|
|
- })
|
|
|
- orderItem.orderList = []
|
|
|
- orderList.forEach(item => {
|
|
|
- orderItem.orderList.push(item)
|
|
|
- })
|
|
|
- //loaded新字段用于表示数据加载完毕,如果为空可以显示空白页
|
|
|
- this.$set(orderItem, 'loaded', true)
|
|
|
- this.hasNextPage = data.hasNextPage
|
|
|
- if (this.hasNextPage) {
|
|
|
- this.pullUpOn = false
|
|
|
- this.nomoreText = '上拉显示更多'
|
|
|
- } else {
|
|
|
- if (orderItem.orderList.length < 2) {
|
|
|
- this.pullUpOn = true
|
|
|
- } else {
|
|
|
- this.pullUpOn = false
|
|
|
- this.nomoreText = '已至底部'
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
+ try {
|
|
|
+ this.listQuery.pageNum = 1
|
|
|
+ this.listQuery.orderState = index
|
|
|
+ const res = await this.OrderService.QueryOrderList(this.listQuery)
|
|
|
+ const data = res.data
|
|
|
+ const orderList = data.list.filter(item => {
|
|
|
+ //添加不同状态下订单的表现形式
|
|
|
+ item = Object.assign(item, this.StateExpFormat(item.status))
|
|
|
+ return item
|
|
|
})
|
|
|
- }, 600)
|
|
|
- },
|
|
|
- getOnReachBottomData(index) {
|
|
|
- //上拉加载
|
|
|
- this.pageNum += 1
|
|
|
- let params = { orderState: index, userId: this.userId, pageNum: this.pageNum, pageSize: this.pageSize }
|
|
|
- this.OrderService.QueryOrderList(params)
|
|
|
- .then(response => {
|
|
|
- let data = response.data
|
|
|
- let orderItem = this.orderTabBar[index]
|
|
|
- this.hasNextPage = data.hasNextPage
|
|
|
- orderItem.orderList = orderItem.orderList.concat(data.list)
|
|
|
- this.pullFlag = false // 防上拉暴滑
|
|
|
- setTimeout(() => {
|
|
|
- this.pullFlag = true
|
|
|
- }, 500)
|
|
|
- if (this.hasNextPage) {
|
|
|
- this.pullUpOn = false
|
|
|
- this.nomoreText = '上拉显示更多'
|
|
|
+ orderItem.orderList = []
|
|
|
+ orderList.forEach(item => {
|
|
|
+ orderItem.orderList.push(item)
|
|
|
+ })
|
|
|
+ //loaded新字段用于表示数据加载完毕,如果为空可以显示空白页
|
|
|
+ this.$set(orderItem, 'loaded', true)
|
|
|
+ this.hasNextPage = data.hasNextPage
|
|
|
+ if (this.hasNextPage) {
|
|
|
+ this.pullUpOn = false
|
|
|
+ this.nomoreText = '上拉显示更多'
|
|
|
+ } else {
|
|
|
+ if (orderItem.orderList.length < 2) {
|
|
|
+ this.pullUpOn = true
|
|
|
} else {
|
|
|
- this.loadding = false
|
|
|
this.pullUpOn = false
|
|
|
this.nomoreText = '已至底部'
|
|
|
}
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
- },
|
|
|
- scrolltolower() {
|
|
|
- if (this.hasNextPage) {
|
|
|
- this.loadding = true
|
|
|
- this.pullUpOn = true
|
|
|
- this.getOnReachBottomData(this.currentTab)
|
|
|
+ }
|
|
|
+ this.skeletonShow = false
|
|
|
+ this.isOnloadFlag = false
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
}
|
|
|
},
|
|
|
- detail(orderId) {
|
|
|
- //订单详情跳转
|
|
|
- this.isModalLayer = true
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderId=${orderId}`)
|
|
|
+ async getOnReachBottomData(index) {
|
|
|
+ //上拉加载
|
|
|
+ try {
|
|
|
+ this.listQuery.pageNum += 1
|
|
|
+ this.listQuery.orderState = index
|
|
|
+ const res = await this.OrderService.QueryOrderList(this.listQuery)
|
|
|
+ const data = res.data
|
|
|
+ const orderItem = this.orderTabBar[index]
|
|
|
+ this.hasNextPage = data.hasNextPage
|
|
|
+ orderItem.orderList = orderItem.orderList.concat(data.list)
|
|
|
+ this.pullFlag = false // 防上拉暴滑
|
|
|
+ setTimeout(() => {
|
|
|
+ this.pullFlag = true
|
|
|
+ }, 500)
|
|
|
+ if (this.hasNextPage) {
|
|
|
+ this.pullUpOn = false
|
|
|
+ this.nomoreText = '上拉显示更多'
|
|
|
+ } else {
|
|
|
+ this.loadding = false
|
|
|
+ this.pullUpOn = false
|
|
|
+ this.nomoreText = '已至底部'
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
},
|
|
|
handButtonConfirm(data) {
|
|
|
//获取点击
|
|
|
- this.handShowAlert(data)
|
|
|
- this.btnoRderID = data.orderId
|
|
|
- },
|
|
|
- handShowAlert(data) {
|
|
|
- //执行
|
|
|
+ this.handleShopOrderId = data.shopOrderId
|
|
|
switch (data.type) {
|
|
|
- case 'delete':
|
|
|
- this.handOrderDetele(data.orderId)
|
|
|
+ case 'cancel': //取消订单
|
|
|
+ this.modal = true
|
|
|
+ this.contentModalText = '确认取消该订单吗?'
|
|
|
+ this.handleModelEven = 1
|
|
|
break
|
|
|
- case 'cancel':
|
|
|
- this.handCenceConfirm(data.orderId)
|
|
|
+ case 'confirm': //确认收货
|
|
|
+ this.modal = true
|
|
|
+ this.contentModalText = '确认收货吗?'
|
|
|
+ this.handleModelEven = 2
|
|
|
break
|
|
|
- case 'query':
|
|
|
- this.isModalLayer = true
|
|
|
- this.$api.navigateTo('/pages/user/order/order-logistics?orderId=' + data.orderId)
|
|
|
+ case 'delete': //删除订单
|
|
|
+ this.modal = true
|
|
|
+ this.contentModalText = '确认删除该订单吗?'
|
|
|
+ this.handleModelEven = 3
|
|
|
break
|
|
|
- case 'confirm':
|
|
|
- this.handOrderConfirm(data.orderId)
|
|
|
+ case 'confirmation': // 确认订单
|
|
|
+ this.modal = true
|
|
|
+ this.contentModalText = '确认此订单吗?'
|
|
|
+ this.handleModelEven = 4
|
|
|
+ break
|
|
|
+ case 'payment': //打款给供应商
|
|
|
+ this.modal = true
|
|
|
+ this.contentModalText = '确定委托采美平台打款给供应商吗?确定之前请务必确保货品完好!'
|
|
|
+ this.handleModelEven = 5
|
|
|
break
|
|
|
case 'pay':
|
|
|
- this.hanldOrderData = data.order
|
|
|
this.getOrderPaymentValidation(data)
|
|
|
break
|
|
|
- case 'confirmation':
|
|
|
- this.handOrderConfirmation(data.orderId)
|
|
|
- break
|
|
|
- case 'payment':
|
|
|
- this.hanldConfirmFn(data.orderId)
|
|
|
+ case 'query':
|
|
|
+ this.isModalLayer = true
|
|
|
+ this.$api.navigateTo('/pages/user/order/order-logistics?shopOrderId=' + data.shopOrderId)
|
|
|
break
|
|
|
}
|
|
|
},
|
|
|
- getOrderPaymentValidation(data) {
|
|
|
- //监听根据付款状态做操作
|
|
|
- this.OrderService.OrderPaymentValidation({ orderId: data.orderId })
|
|
|
- .then(response => {
|
|
|
- let data = response.data
|
|
|
- this.payModelData = data
|
|
|
- if(data.balanceFlag == 1){// 0可以走余额抵扣,1不能走余额抵扣
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
|
|
|
- }else{
|
|
|
- switch (data.code) {
|
|
|
- case 1:
|
|
|
- this.isPayModel = true
|
|
|
- this.modelType = 1
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.isPayModel = true
|
|
|
- this.modelType = 2
|
|
|
- break
|
|
|
- case -1:
|
|
|
- this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
|
|
|
- break
|
|
|
- default:
|
|
|
- if (data.onlinePayFlag == 1) {// 只能线下
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
|
|
|
- } else {
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
+ handleClick(e) {
|
|
|
+ //确认操作
|
|
|
+ if (e.index == 1) {
|
|
|
+ switch (this.handleModelEven) {
|
|
|
+ case 1: //取消订单
|
|
|
+ this.cancelOrder(this.handleShopOrderId)
|
|
|
+ break
|
|
|
+ case 2: //确认收货
|
|
|
+ this.confirmReceipt(this.handleShopOrderId)
|
|
|
+ break
|
|
|
+ case 3: //删除订单
|
|
|
+ this.deleteOrder(this.handleShopOrderId)
|
|
|
+ break
|
|
|
+ case 4: //确认订单
|
|
|
+ this.affirmOrder(this.handleShopOrderId)
|
|
|
+ break
|
|
|
+ case 5: //打款给供应商
|
|
|
+ this.confirmpayment(this.handleShopOrderId)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.modal = false
|
|
|
},
|
|
|
- hanldPaymentConfirm(data) {
|
|
|
- //余额抵扣跳转
|
|
|
- this.OrderService.OrderBalanceDeduction({ orderId: data.order.orderId })
|
|
|
- .then(response => {
|
|
|
- if (data.type === 2) {
|
|
|
- let _data = { orderId: data.order.orderId }
|
|
|
- this.$api.navigateTo(
|
|
|
- `/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: _data })}`
|
|
|
- )
|
|
|
- } else {
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.order.orderId}`)
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
+ //取消订单
|
|
|
+ async cancelOrder(shopOrderId) {
|
|
|
+ try {
|
|
|
+ const res = await this.OrderService.CancelOrder({ shopOrderId: shopOrderId, userIdentity: 0 })
|
|
|
+ this.$util.msg(res.msg, 2000, true, 'success')
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getOrderDatainit(this.currentTab)
|
|
|
+ }, 2000)
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
},
|
|
|
- hanldCancelConfirm(data) {
|
|
|
- //不使用余额抵扣直接跳转收银台
|
|
|
- if (data.onlinePayFlag === 1) {// 只能线下
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
|
|
|
- } else {
|
|
|
- this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
|
|
|
+ //确认收货
|
|
|
+ async confirmReceipt(shopOrderId) {
|
|
|
+ try {
|
|
|
+ const res = await this.OrderService.ConfirmReceipt({ shopOrderId: shopOrderId })
|
|
|
+ this.beansType = 7
|
|
|
+ this.beanNumber = 100
|
|
|
+ this.isActivityBean = true
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //删除订单
|
|
|
+ async deleteOrder(shopOrderId) {
|
|
|
+ try {
|
|
|
+ const res = await this.OrderService.DeleteOrder({ shopOrderId: shopOrderId })
|
|
|
+ this.$util.msg(res.msg, 2000, true, 'success')
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getOrderDatainit(this.currentTab)
|
|
|
+ }, 2000)
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
}
|
|
|
},
|
|
|
- hanldConfirmFn(orderId) {
|
|
|
- //确认打款供应商
|
|
|
- this.$util.modal(
|
|
|
- '提示',
|
|
|
- '确定委托采美平台打款给供应商吗?确定之前请务必确保货品完好?',
|
|
|
- '确定',
|
|
|
- '取消',
|
|
|
- true,
|
|
|
- () => {
|
|
|
- this.OrderService.confirmpayment({ orderId: orderId })
|
|
|
- .then(response => {
|
|
|
- this.$util.msg('确认成功', 2000, true, 'success')
|
|
|
- setTimeout(() => {
|
|
|
- this.getOrderDatainit(this.currentTab)
|
|
|
- }, 2000)
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
+ //确认订单
|
|
|
+ async affirmOrder(shopOrderId) {
|
|
|
+ try {
|
|
|
+ const res = await this.OrderService.AffirmOrder({ shopOrderId: shopOrderId })
|
|
|
+ this.$util.msg(res.msg, 2000, true, 'success')
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getOrderDatainit(this.currentTab)
|
|
|
+ }, 2000)
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //确认打款给供应商
|
|
|
+ async confirmpayment(shopOrderId) {
|
|
|
+ try {
|
|
|
+ const res = await this.OrderService.confirmpayment({ shopOrderId: shopOrderId })
|
|
|
+ this.$util.msg(res.msg, 2000, true, 'success')
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getOrderDatainit(this.currentTab)
|
|
|
+ }, 2000)
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //监听根据付款状态做操作
|
|
|
+ async getOrderPaymentValidation(data) {
|
|
|
+ try {
|
|
|
+ const res = await this.OrderService.OrderPaymentValidation({ shopOrderId: data.shopOrderId })
|
|
|
+ const data = res.data
|
|
|
+ this.payModelData = data
|
|
|
+ if (data.balanceFlag == 1) {
|
|
|
+ // 0可以走余额抵扣,1不能走余额抵扣
|
|
|
+ this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
|
|
|
+ } else {
|
|
|
+ switch (data.code) {
|
|
|
+ case 1:
|
|
|
+ this.isPayModel = true
|
|
|
+ this.modelType = 1
|
|
|
+ break
|
|
|
+ case 2:
|
|
|
+ this.isPayModel = true
|
|
|
+ this.modelType = 2
|
|
|
+ break
|
|
|
+ case -1:
|
|
|
+ this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
|
|
|
+ }
|
|
|
}
|
|
|
- )
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
},
|
|
|
- handOrderConfirm(orderId) {
|
|
|
- //确认收货
|
|
|
- this.$util.modal('提示', '是否确认收货', '确定', '取消', true, () => {
|
|
|
- this.OrderService.ConfirmReceipt({ orderId: orderId })
|
|
|
- .then(response => {
|
|
|
- this.beansType = 7
|
|
|
- this.beanNumber = 100
|
|
|
- this.isActivityBean = true
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
- })
|
|
|
+ //余额抵扣跳转
|
|
|
+ async hanldPaymentConfirm(data) {
|
|
|
+ try {
|
|
|
+ await this.OrderService.OrderBalanceDeduction({ shopOrderId: data.order.shopOrderId })
|
|
|
+ const data = { shopOrderId: data.order.shopOrderId }
|
|
|
+ if (data.type === 2) {
|
|
|
+ this.$api.navigateTo(
|
|
|
+ `/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: data })}`
|
|
|
+ )
|
|
|
+ } else {
|
|
|
+ this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.order.orderId}`)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ this.$util.msg(error.msg, 2000)
|
|
|
+ }
|
|
|
},
|
|
|
- handOrderConfirmation(orderId) {
|
|
|
- //确认订单
|
|
|
- this.$util.modal('提示', '确认此订单?', '确定', '取消', true, () => {
|
|
|
- this.OrderService.AffirmOrder({ orderId: orderId })
|
|
|
- .then(response => {
|
|
|
- this.$util.msg(response.msg, 2000, true, 'success')
|
|
|
- setTimeout(() => {
|
|
|
- this.getOrderDatainit(this.currentTab)
|
|
|
- }, 2000)
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
- })
|
|
|
+ hanldCancelConfirm(data) {
|
|
|
+ //不使用余额抵扣直接跳转收银台
|
|
|
+ this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
|
|
|
},
|
|
|
- handOrderDetele(orderId) {
|
|
|
- //删除订单
|
|
|
- this.$util.modal('提示', '确认删除该订单吗?', '确定', '取消', true, () => {
|
|
|
- this.OrderService.DeleteOrder({ orderId: orderId })
|
|
|
- .then(response => {
|
|
|
- this.$util.msg(response.msg, 2000, true, 'success')
|
|
|
- setTimeout(() => {
|
|
|
- this.getOrderDatainit(this.currentTab)
|
|
|
- }, 2000)
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
- })
|
|
|
+ goShophome(order) {
|
|
|
+ if (order.shopType === 2) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$api.navigateTo(`/pages/supplier/user/my-shop?shopId=${order.shopId}`)
|
|
|
},
|
|
|
- handCenceConfirm(orderId) {
|
|
|
- //取消订单
|
|
|
- this.$util.modal('提示', '确认取消该订单吗?', '确定', '取消', true, () => {
|
|
|
- this.OrderService.CancelOrder({ orderId: orderId , userIdentity : 0})
|
|
|
- .then(response => {
|
|
|
- this.$util.msg(response.msg, 2000, true, 'success')
|
|
|
- setTimeout(() => {
|
|
|
- this.getOrderDatainit(this.currentTab)
|
|
|
- }, 2000)
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
- })
|
|
|
+ detail(shopOrderId) {
|
|
|
+ //订单详情跳转
|
|
|
+ this.isModalLayer = true
|
|
|
+ this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&shopOrderId=${shopOrderId}`)
|
|
|
},
|
|
|
handlSearchPath() {
|
|
|
- this.$api.navigateTo('/pages/order/search-order')
|
|
|
+ this.$api.navigateTo('/pages/user/order/search-order')
|
|
|
},
|
|
|
onShareAppMessage(res) {
|
|
|
//分享转发
|
|
@@ -663,17 +659,20 @@ export default {
|
|
|
}
|
|
|
return {
|
|
|
title: '您有新的分享订单,快来查看吧~',
|
|
|
- path: `/pages/user/order/order-sharelogin?orderId=${this.btnoRderID}&userId=${this.userId}`,
|
|
|
+ path: `/pages/user/order/order-sharelogin?shopOrderId=${this.handleShopOrderId}&userId=${this.userId}`,
|
|
|
imageUrl: 'https://img.caimei365.com/group1/M00/03/95/Cmis216Sk_SABnOFABZCgCzFV_g063.png'
|
|
|
}
|
|
|
},
|
|
|
- orderPriceToFixed(n) {
|
|
|
- let price = ''
|
|
|
- price = n.toFixed(2)
|
|
|
- return price
|
|
|
+ scrolltolower() {
|
|
|
+ if (this.hasNextPage) {
|
|
|
+ this.loadding = true
|
|
|
+ this.pullUpOn = true
|
|
|
+ this.getOnReachBottomData(this.currentTab)
|
|
|
+ }
|
|
|
},
|
|
|
getHeaderTopHeight() {
|
|
|
// 状态栏高度
|
|
|
+ let self = this
|
|
|
let statusBarHeight = this.systeminfo.statusBarHeight
|
|
|
let headerPosi = this.headerBtnPosi
|
|
|
let btnPosi = {
|
|
@@ -688,6 +687,13 @@ export default {
|
|
|
right: this.systeminfo.screenWidth - headerPosi.right
|
|
|
}
|
|
|
this.navbarHeight = headerPosi.bottom + btnPosi.bottom // 原胶囊bottom + 现胶囊bottom
|
|
|
+ // 高度自适应
|
|
|
+ uni.getSystemInfo({
|
|
|
+ success: function(res) {
|
|
|
+ let calc = res.windowHeight
|
|
|
+ self.winHeight = calc - self.CustomBar
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
setHeaderBtnPosi() {
|
|
|
// 获得胶囊按钮位置信息
|
|
@@ -1052,14 +1058,6 @@ page {
|
|
|
height: 78rpx;
|
|
|
float: left;
|
|
|
margin-top: 20rpx;
|
|
|
- .order-footer-top {
|
|
|
- width: 100%;
|
|
|
- height: 34rpx;
|
|
|
- line-height: 34rpx;
|
|
|
- font-size: $font-size-24;
|
|
|
- color: #999999;
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
.order-footer-bot {
|
|
|
width: 100%;
|
|
|
float: left;
|