付延余
2023-03-14 78ef511b22e6a16fd85e102333a0c03dda463bd4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<template>
    <view class="driver-index">
        <view class="driver-index-body">
            <!-- 待领取提煤单 -->
            <combined-title title="待领取"></combined-title>
            <card v-for="(item, index) in driverBillOfLoadingData.list1" :key="index" :name="item.id" backgroundType="2">
                <template v-slot:left>
                    <view class="card-left__top">
                        <text>{{ item.carNum }}</text>
                        张
                    </view>
                    <view class="card-left__utils"><u-button @tap.stop="qiangDanClick(item.orderPlanId)" text="抢单" type="primary" shape="circle"></u-button></view>
                </template>
                <template v-slot:right-top>
                    <view class="right-top">
                        <view class="card-right-top-row">
                            <view>
                                <text>{{ item.compName }}</text>
                            </view>
                            <view>
                                <text>{{ item.coalName }}</text>
                            </view>
                        </view>
                        <view class="card-right-top-row">
                            <view>
                                <text>剩余{{ item.carNum - item.taskNum }}张</text>
                            </view>
                        </view>
                    </view>
                </template>
            </card>
 
            <!-- 我的提煤单 -->
            <combined-title title="我的提煤单"></combined-title>
            <!-- 卡片 -->
            <!-- <view v-for="(item, index) in driverBillOfLoadingData.list2" :key="index"> -->
            <view>
                <!-- 待预约提煤单 -->
                <view class="daiYuYue" v-for="(item, index) in driverBillOfLoadingData.list3" :key="index">
                    <view class="daiYuYueTop">
                        <text>提煤单编号:{{ item.code }}</text>
                    </view>
                    <view class="daiYuYueTable">
                        <view>{{ item.deptName }}</view>
                        <view>{{ item.coalName }}</view>
                        <view>已预约:{{ item.cars }} 车</view>
                    </view>
                    <view><u-button text="预约" type="primary" @click="toAppointmentClick(item.id)"></u-button></view>
                </view>
                <!-- 已预约提煤单 -->
                <view @click="list3CardIconClick(item)" class="haveYuYue" v-for="(item, index) in driverBillOfLoadingData.list2" :key="index">
                    <view class="haveYuYueTop">
                        <text>提煤单编号:{{ item.code || '' }}</text>
                    </view>
                    <view class="haveYuYueCenter">
                        <view>{{ item.deptName || '' }}</view>
                        <view>{{ item.coalName || '' }}</view>
                        <view>排队数:暂无{{}}</view>
                    </view>
                    <view class="haveYuYueBottom">
                        <text>{{ item.yuYueTime || '时段' }}</text>
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
 
<script>
import { customerId } from '@/utils/status';
export default {
    data() {
        return {
            driverBillOfLoadingData: []
        };
    },
    onShow() {
        this.init();
    },
    methods: {
        init() {
            this.qiangDanList();
        },
        // 司机首页列表
        qiangDanList() {
            uni.showLoading({
                title: '加载中...'
            });
            // this.$reqGet('qiangDanList', { id: customerId }).then(res => {
            this.$reqGet('qiangDanList').then(res => {
                console.log('抢单列表', res);
                uni.hideLoading();
                this.driverBillOfLoadingData = res.data;
            });
        },
        // 抢单
        qiangDanClick(id) {
            // this.$reqPost('qiangDan', { orderPlanId: id, wxUserId: customerId }, 'params').then(res => {
            this.$reqPost('qiangDan', { orderPlanId: id }, 'params').then(res => {
                if (res.code == 0) {
                    this.$u.toast('抢单成功');
                }
                console.log('抢单', res);
                this.qiangDanList();
            });
        },
        list3CardIconClick(value) {
            uni.navigateTo({
                url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${value.id}&yyId=${value.yyId}`
            });
        },
        // 提煤单详情
        cardBodyClick(name) {
            uni.navigateTo({
                url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${name}`
            });
        },
        // 去预约
        toAppointmentClick(id) {
            uni.navigateTo({
                url: `/pages/driver-page/appointment/appointment?takeCoalId=${id}`
            });
        }
    }
};
</script>
 
<style lang="scss" scoped>
::v-deep.driver-index {
    width: 94%;
    margin: 0 auto;
    // 主体
    .driver-index-body {
        margin-bottom: vww(56);
        // 卡片样式
        .card-left__top {
            margin-top: vww(26);
            text-align: center;
            color: #ffffff;
            text {
                font-size: vww(48);
                font-weight: 800;
            }
        }
        .card-left__utils {
            display: flex;
            padding: 0 vww(15) 0 vww(15);
            .u-button {
                width: vww(55);
                height: vww(24);
                background-color: #fff;
                color: #1987ff;
            }
        }
        .right-top {
            display: flex;
            flex-flow: column nowrap;
            align-content: space-around;
            .card-right-top-row {
                margin-top: vww(8);
                text-align: center;
                &:nth-child(1) {
                    display: flex;
                    justify-content: space-between;
                    view {
                        text-align: center;
                        width: 50%;
                    }
                }
            }
        }
 
        // 待预约
        .daiYuYue {
            margin-top: vww(24);
            font-size: 16px;
            font-weight: 300;
            &Top {
                background-color: #f5f5f5;
                height: vww(40);
                padding-left: vww(12);
                line-height: vww(40);
                border: vww(1) solid #eeeeee;
                font-weight: 400;
            }
            &Table {
                border: vww(1) solid #eeeeee;
                border-top: none;
                display: flex;
                flex: 1;
                height: vww(40);
                line-height: vww(40);
                view {
                    border-right: vww(1) solid #eeeeee;
                    width: 33.3%;
                    text-align: center;
                    &:nth-child(3) {
                        border-right: none;
                    }
                }
            }
        }
        // 已预约
        .haveYuYue {
            font-size: 16px;
            font-weight: 300;
            margin-top: vww(24);
            &Top {
                background-color: #f5f5f5;
                height: vww(40);
                padding-left: vww(12);
                line-height: vww(40);
                border: vww(1) solid #eeeeee;
                font-weight: 400;
            }
            &Center {
                border: vww(1) solid #eeeeee;
                border-top: none;
                display: flex;
                flex: 1;
                height: vww(40);
                line-height: vww(40);
                view {
                    border-right: vww(1) solid #eeeeee;
                    width: 33.3%;
                    text-align: center;
                    &:nth-child(3) {
                        border-right: none;
                    }
                }
            }
            &Bottom {
                border: vww(1) solid #eeeeee;
                border-top: none;
                height: vww(40);
                line-height: vww(40);
                text-align: center;
            }
        }
    }
}
</style>