|
@@ -74,16 +74,21 @@
|
|
|
<u-checkbox :name="item.orderId" shape="circle" v-model="item.checked"></u-checkbox>
|
|
<u-checkbox :name="item.orderId" shape="circle" v-model="item.checked"></u-checkbox>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="order-card" v-for="(eItem, ei) in item.merchantPackageOrderDTOS" :key="ei">
|
|
|
|
|
- <u-image width="84rpx" height="84rpx" border-radius="12rpx" :src="eItem.productImage && `${$config.apiUrl}/${eItem.productImage.split(',')[0]}`" mode="aspectFill"></u-image>
|
|
|
|
|
- <view class="order-info">
|
|
|
|
|
- <view class="order-title">{{ eItem.packageName }}</view>
|
|
|
|
|
- <view class="order-line">
|
|
|
|
|
- <view class="leader-name">{{ eItem.dishName }}</view>
|
|
|
|
|
- <view class="quantity-tag">{{ eItem.numberUserCount }}份</view>
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <ListExpand :items="item.merchantPackageOrderDTOS">
|
|
|
|
|
+ <template v-slot:="{ items }">
|
|
|
|
|
+ <view class="order-card" v-for="(eItem, ei) in items" :key="ei">
|
|
|
|
|
+ <u-image width="84rpx" height="84rpx" border-radius="12rpx" :src="eItem.productImage && `${$config.apiUrl}/${eItem.productImage.split(',')[0]}`" mode="aspectFill"></u-image>
|
|
|
|
|
+ <view class="order-info">
|
|
|
|
|
+ <view class="order-title">{{ eItem.packageName }}</view>
|
|
|
|
|
+ <view class="order-line">
|
|
|
|
|
+ <view class="leader-name">{{ eItem.dishName }}</view>
|
|
|
|
|
+ <view class="quantity-tag">{{ eItem.numberUserCount }}份</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </ListExpand>
|
|
|
</view>
|
|
</view>
|
|
|
</u-checkbox-group>
|
|
</u-checkbox-group>
|
|
|
</template>
|
|
</template>
|
|
@@ -113,11 +118,13 @@
|
|
|
<script>
|
|
<script>
|
|
|
import Modal from '@/components/modal/index.vue';
|
|
import Modal from '@/components/modal/index.vue';
|
|
|
import Tabbar from '@/pages/groupMeal/tabbar/index.vue';
|
|
import Tabbar from '@/pages/groupMeal/tabbar/index.vue';
|
|
|
|
|
+import ListExpand from '@/components/list-scroll-view/list-expand.vue';
|
|
|
import ListScrollView from '@/components/list-scroll-view/index.vue';
|
|
import ListScrollView from '@/components/list-scroll-view/index.vue';
|
|
|
export default {
|
|
export default {
|
|
|
components: {
|
|
components: {
|
|
|
Modal,
|
|
Modal,
|
|
|
Tabbar,
|
|
Tabbar,
|
|
|
|
|
+ ListExpand,
|
|
|
ListScrollView
|
|
ListScrollView
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
@@ -174,14 +181,12 @@ export default {
|
|
|
},
|
|
},
|
|
|
toggleManageMode() {
|
|
toggleManageMode() {
|
|
|
this.isManaging = !this.isManaging;
|
|
this.isManaging = !this.isManaging;
|
|
|
- this.selectedOrders = [];
|
|
|
|
|
- this.isAllSelected = false;
|
|
|
|
|
|
|
+ this.onClearSel();
|
|
|
},
|
|
},
|
|
|
onTabChange(e) {
|
|
onTabChange(e) {
|
|
|
this.currentStatusTab = e;
|
|
this.currentStatusTab = e;
|
|
|
// 清除已选数据
|
|
// 清除已选数据
|
|
|
- this.selectedOrders = [];
|
|
|
|
|
- this.isAllSelected = false;
|
|
|
|
|
|
|
+ this.onClearSel();
|
|
|
// 关闭批量
|
|
// 关闭批量
|
|
|
this.isManaging = false;
|
|
this.isManaging = false;
|
|
|
// 触发更新
|
|
// 触发更新
|
|
@@ -210,6 +215,11 @@ export default {
|
|
|
item.checked = e.value;
|
|
item.checked = e.value;
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ // 完成某种操作后,清空数据
|
|
|
|
|
+ onClearSel() {
|
|
|
|
|
+ this.selectedOrders = [];
|
|
|
|
|
+ this.isAllSelected = false;
|
|
|
|
|
+ },
|
|
|
handleBatchAction() {
|
|
handleBatchAction() {
|
|
|
if (this.selectedOrders.length === 0) {
|
|
if (this.selectedOrders.length === 0) {
|
|
|
this.$tip.toast("请先选择订单")
|
|
this.$tip.toast("请先选择订单")
|
|
@@ -223,6 +233,13 @@ export default {
|
|
|
this.$http.get('/groupmeal/merchantPackageOrder/orderReady', {params}).then(res => {
|
|
this.$http.get('/groupmeal/merchantPackageOrder/orderReady', {params}).then(res => {
|
|
|
if (res.data.code === 200) {
|
|
if (res.data.code === 200) {
|
|
|
this.$tip.success(res.data.message);
|
|
this.$tip.success(res.data.message);
|
|
|
|
|
+ // 触发更新
|
|
|
|
|
+ this.isManaging = false;
|
|
|
|
|
+ this.currentStatusTab = 1;
|
|
|
|
|
+ this.onClearSel();
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.listScroll.downCallback();
|
|
|
|
|
+ });
|
|
|
} else {
|
|
} else {
|
|
|
this.$tip.error(res.data.message);
|
|
this.$tip.error(res.data.message);
|
|
|
}
|
|
}
|
|
@@ -352,6 +369,7 @@ export default {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
.leader-name {
|
|
.leader-name {
|
|
|
|
|
+ flex: 1;
|
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
|
font-size: 22rpx;
|
|
font-size: 22rpx;
|
|
|
color: #8A91A8;
|
|
color: #8A91A8;
|