MrShi
2025-07-19 e17698d3d99039b1c3532d490687f8492ca87704
调接口
已修改8个文件
220 ■■■■ 文件已修改
small-program/pages/demand-hall/demand-hall.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/freight/freight.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/index/index.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/order-details/order-details.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/packaging-worker/packaging-worker.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/sorting/sorting.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/success/success.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/using-workers/using-workers.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
small-program/pages/demand-hall/demand-hall.vue
@@ -213,6 +213,13 @@
            } else {
                this.typeViewId = 0
            }
            if (!this.isOnce) {
                this.commentStatus = ''
                this.orderList = []
                this.next = true
                this.page = 1
                this.getOrderList()
            }
        },
        data() {
            return {
@@ -242,7 +249,8 @@
                
                next: true,
                page: 1,
                orderList: []
                orderList: [],
                isOnce: true
            };
        },
        async onLoad() {
@@ -327,6 +335,8 @@
                        queryLgt: this.longitude
                    }
                }).then(res => {
                    if (res.code !== 200) return;
                    this.isOnce = false
                    res.data.records.forEach(item => {
                        // 订餐单
                        if (item.type === 2) {
small-program/pages/freight/freight.vue
@@ -6,6 +6,8 @@
                    <view class="list-item-label-x"></view>
                    <text>车辆及路线</text>
                </view>
                <template v-if="!(info.type !== 2 && info.status === 2)">
                <view class="list-item-row" @click="show = true">
                    <view class="list-item-row-label">车辆类型<b>*</b></view>
                    <view class="list-item-row-val">
@@ -20,6 +22,8 @@
                        <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
                    </view>
                </view>
                </template>
                <view class="list-item-row" @click="show2 = true">
                    <view class="list-item-row-label">用车时间<b>*</b></view>
                    <view class="list-item-row-val">
@@ -27,6 +31,8 @@
                        <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
                    </view>
                </view>
                <template v-if="!(info.type !== 2 && info.status === 2)">
                <view class="list-item-row">
                    <view class="list-item-row-label">
                        运货地址<b>*</b>
@@ -59,7 +65,10 @@
                        </view>
                    </view>
                </view>
                </template>
            </view>
            <template v-if="!(info.type !== 2 && info.status === 2)">
            <view class="list-item">
                <view class="list-item-label">
                    <view class="list-item-label-x"></view>
@@ -97,7 +106,7 @@
                    <view class="list-item-row-label">图片</view>
                    <view class="list-item-row-upload">
                        <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index">
                            <image :src="item.url" mode="widthFix"></image>
                                <image :src="item.url || item.fileurlFull" mode="widthFix"></image>
                            <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image>
                        </view>
                        <view class="upload-item" @click="uploadImg">
@@ -153,6 +162,7 @@
                    </view>
                </view>
            </view>
            </template>
        </view>
        <view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view>
        <view class="footer">
@@ -228,12 +238,14 @@
        },
        data() {
            return {
                info: {},
                show: false,
                show1: false,
                show2: false,
                show3: false,
                show4: false,
                form: {
                    id: null,
                    startDate: '',
                    endDate: '',
                    lat: '',
@@ -284,7 +296,25 @@
                }
            }
        },
        onLoad() {
        onLoad(option) {
            if (option.id) {
                this.form.id = option.id
                this.$u.api.getDetail({
                    orderId: option.id
                }).then(res => {
                    this.info = res.data
                    for (const key in this.form) {
                        this.form[key] = res.data[key]
                    }
                    this.form.price = Number(this.form.price) / 100
                    if (!this.form.multifileList) {
                        this.form.multifileList = []
                    }
                    if (!this.form.wayInfoDTOList) {
                        this.form.wayInfoDTOList = []
                    }
                })
            } else {
            const res = uni.getStorageSync('carData');
            this.form.linkPhone = this.userInfo.telephone
            this.form.startDate = res.startDate
@@ -300,6 +330,7 @@
            this.form.locationEnd = res.locationEnd
            this.form.wayInfoDTOList = res.wayInfoDTOList
            uni.removeStorageSync('carData');
            }
            this.getCategoryLists()
        },
        methods: {
@@ -349,6 +380,7 @@
                })
            },
            uploadImg() {
                var that = this;
                uni.chooseImage({
                    success: (chooseImageRes) => {
                        const tempFilePaths = chooseImageRes.tempFilePaths;
@@ -361,7 +393,7 @@
                            },
                            success: (uploadFileRes) => {
                                const res = JSON.parse(uploadFileRes.data)
                                this.form.multifileList.push({
                                that.form.multifileList.push({
                                    fileurl: res.data.imgaddr,
                                    name: res.data.originname,
                                    url: res.data.url,
small-program/pages/index/index.vue
@@ -223,10 +223,10 @@
                            </view>
                            <view class="box-hz-list-item" @click="selectAddress(1)">
                                <view class="box-hz-list-item-label"><text>用工地点:</text></view>
                                <view :class="form.location ? 'box-hz-list-item-val active' :'box-hz-list-item-val'">
                                <view :class="form.address ? 'box-hz-list-item-val active' :'box-hz-list-item-val'">
                                    <view class="box-hz-list-item-val-left">
                                        <image class="icon" src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
                                        <text>{{form.location ? form.location : '请选择用工地点'}}</text>
                                        <text>{{form.address ? form.address : '请选择用工地点'}}</text>
                                    </view>
                                    <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
                                </view>
@@ -326,15 +326,6 @@
                return this.form.estimatedAccount / 100
            }
        },
        onShow(options) {
            this.typeViewId = 0
            if(this.token && this.token != '' && this.userInfo && JSON.stringify(this.userInfo) != '{}'){
                this.isLogin = true
            }
            if (this.userInfo && this.userInfo.useIdentity == 1) {
                this.typeViewId = 1
            }
        },
        data() {
            return {
                show: false,
@@ -394,7 +385,9 @@
                orderList: [],
                typeVal: '',
                page: 1,
                next: true
                next: true,
                isOnce: true
            }
        },
        async onLoad() {
@@ -402,6 +395,21 @@
            this.getCategoryLists()
            this.getOrderList()
            this.form.linkPhone = this.userInfo.telephone
        },
        onShow(options) {
            this.typeViewId = 0
            if(this.token && this.token != '' && this.userInfo && JSON.stringify(this.userInfo) != '{}'){
                this.isLogin = true
            }
            if (this.userInfo && this.userInfo.useIdentity == 1) {
                this.typeViewId = 1
            }
            if (!this.isOnce && this.userInfo.useIdentity == 1) {
                this.page = 1
                this.next = true
                this.orderList = []
                this.getOrderList()
            }
        },
        watch: {
            typeId: {
@@ -496,6 +504,8 @@
                        queryLgt: this.longitude
                    }
                }).then(res => {
                    if (res.code !== 200) return;
                    this.isOnce = false
                    res.data.records.forEach(item => {
                        // 订餐单
                        if (item.type === 2) {
@@ -689,17 +699,17 @@
                    // 采摘工
                    if (this.form.workType === 0) {
                        uni.navigateTo({
                            url: `/pages/using-workers/using-workers?days=${form.days}&startDate=${form.startDate}&endDate=${form.endDate}&latitude=${form.latitude}&longitude=${form.longitude}&address=${form.location}&workType=${form.workType}`
                            url: `/pages/using-workers/using-workers?days=${form.days}&startDate=${form.startDate}&endDate=${form.endDate}&latitude=${form.latitude}&longitude=${form.longitude}&address=${form.address}&workType=${form.workType}`
                        })
                    // 分拣工
                    } else if (this.form.workType === 1) {
                        uni.navigateTo({
                            url: `/pages/sorting/sorting?days=${form.days}&startDate=${form.startDate}&endDate=${form.endDate}&latitude=${form.latitude}&longitude=${form.longitude}&address=${form.location}&workType=${form.workType}`
                            url: `/pages/sorting/sorting?days=${form.days}&startDate=${form.startDate}&endDate=${form.endDate}&latitude=${form.latitude}&longitude=${form.longitude}&address=${form.address}&workType=${form.workType}`
                        })
                    // 包装工
                    } else if (this.form.workType === 2) {
                        uni.navigateTo({
                            url: `/pages/packaging-worker/packaging-worker?days=${form.days}&startDate=${form.startDate}&endDate=${form.endDate}&latitude=${form.latitude}&longitude=${form.longitude}&address=${form.location}&workType=${form.workType}`
                            url: `/pages/packaging-worker/packaging-worker?days=${form.days}&startDate=${form.startDate}&endDate=${form.endDate}&latitude=${form.latitude}&longitude=${form.longitude}&address=${form.address}&workType=${form.workType}`
                        })
                    }
                // 运货
small-program/pages/order-details/order-details.vue
@@ -163,8 +163,8 @@
                </view>
            </view>
        </view>
        <view style="width: 100%; height: calc(108rpx + env(safe-area-inset-bottom));"></view>
        <view class="order-footer">
        <view style="width: 100%; height: calc(108rpx + env(safe-area-inset-bottom));" v-if="![4, 99].includes(info.status)"></view>
        <view class="order-footer" v-if="![4, 99].includes(info.status)">
            <view class="order-footer-btn"> 
                <view class="order-footer-btn-a" @click="show = true" v-if="userInfo.id === info.acceptMemberId && info.status ===2">取消订单</view>
                <view class="order-footer-btn-a" @click="show = true" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 ||  info.status ===1|| info.status ===2)">取消订单</view>
@@ -231,7 +231,9 @@
            </view>
            <view slot="confirmButton" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
                <view class="btn1" @click="show5=false">我再想想</view>
                <view class="btn2" style="color: red;" @click="confirmUpdDo(1)">不同意</view>
                <view style="width: 20rpx; height: 100%;"></view>
                <view class="btn2" style="background-color: #f56c6c; color: #ffffff;" @click="confirmUpdDo(1)">不同意</view>
                <view style="width: 20rpx; height: 100%;"></view>
                <view class="btn2" @click="confirmUpdDo(0)">同意</view>
            </view>
        </u-modal>
small-program/pages/packaging-worker/packaging-worker.vue
@@ -13,6 +13,8 @@
                        <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
                    </view>
                </view>
                <template v-if="!(info.type !== 2 && info.status === 2)">
                <view class="list-item-row" @click="selectAddress()">
                    <view class="list-item-row-label">用工地点<b>*</b></view>
                    <view class="list-item-row-val">
@@ -26,7 +28,10 @@
                        <input type="text" v-model="form.locationRemark" placeholder="请输入" />
                    </view>
                </view>
                </template>
            </view>
            <template v-if="!(info.type !== 2 && info.status === 2)">
            <view class="list-item">
                <view class="list-item-label">
                    <view class="list-item-label-x"></view>
@@ -56,7 +61,7 @@
                    <view class="list-item-row-label">图片</view>
                    <view class="list-item-row-upload">
                        <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index">
                            <image :src="item.url" mode="widthFix"></image>
                                <image :src="item.url || item.fileurlFull" mode="widthFix"></image>
                            <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image>
                        </view>
                        <view class="upload-item" @click="uploadImg">
@@ -112,6 +117,8 @@
                    </view>
                </view>
            </view>
            </template>
        </view>
        <view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view>
        <view class="footer">
@@ -162,9 +169,11 @@
        },
        data() {
            return {
                info: {},
                show: false,
                show1: false,
                form: {
                    id: null,
                    days: '',
                    startDate: '',
                    endDate: '',
@@ -197,6 +206,23 @@
            };
        },
        onLoad(option) {
            if (option.id) {
                this.form.id = option.id
                this.$u.api.getDetail({
                    orderId: option.id
                }).then(res => {
                    this.info = res.data
                    for (const key in this.form) {
                        this.form[key] = res.data[key]
                    }
                    this.form.days = res.data.totalDays
                    this.form.price = Number(this.form.price) / 100
                    if (!this.form.multifileList) {
                        this.form.multifileList = []
                    }
                    // this.clickType()
                })
            } else {
            this.form.linkPhone = this.userInfo.telephone
            this.form.priceNum1 = option.days
            this.form.startDate = option.startDate
@@ -205,6 +231,7 @@
            this.form.lgt = option.longitude
            this.form.location = option.address
            this.form.workType = option.workType
            }
            this.getCateList()
        },
        methods: {
@@ -222,6 +249,7 @@
                if (!this.form.linkPhone) {
                    return uni.showToast({ title: '请输入联系电话', icon: 'none' })
                }
                if (!this.form.id) {
                this.$u.api.release({ ...this.form, price: Number(this.form.price) * 100 })
                    .then(res => {
                        if (res.code == 200) {
@@ -230,6 +258,20 @@
                            })
                        }
                    })
                } else {
                    this.$u.api.updateOrder({ ...this.form, price: Number(this.form.price) * 100 })
                        .then(res => {
                            if (res.code == 200) {
                                if (res.code == 200) {
                                    uni.showToast({ title: '编辑成功', icon: 'success', mask: true, duration: 2000 })
                                    setTimeout(() => {
                                        uni.navigateBack({ delta: 1 });
                                        uni.$emit('refresh')
                                    }, 1500)
                                }
                            }
                        })
                }
            },
            // 计算金额
            getPrice() {
@@ -248,8 +290,9 @@
            confirmDate(e) {
                this.form.startDate = e[0]
                this.form.endDate = e[e.length - 1]
                this.form.days = e.length;
                this.form.priceNum1 = e.length;
                this.show = false
                this.getPrice()
            },
            selectAddress() {
                uni.chooseLocation({
small-program/pages/sorting/sorting.vue
@@ -13,6 +13,7 @@
                        <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
                    </view>
                </view>
                <template v-if="!(info.type !== 2 && info.status === 2)">
                <view class="list-item-row" @click="selectAddress()">
                    <view class="list-item-row-label">用工地点<b>*</b></view>
                    <view class="list-item-row-val">
@@ -26,7 +27,10 @@
                        <input type="text" v-model="form.locationRemark" placeholder="请输入" />
                    </view>
                </view>
                </template>
            </view>
            <template v-if="!(info.type !== 2 && info.status === 2)">
            <view class="list-item">
                <view class="list-item-label">
                    <view class="list-item-label-x"></view>
@@ -56,7 +60,7 @@
                    <view class="list-item-row-label">图片</view>
                    <view class="list-item-row-upload">
                        <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index">
                            <image :src="item.url" mode="widthFix"></image>
                                <image :src="item.url || item.fileurlFull" mode="widthFix"></image>
                            <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image>
                        </view>
                        <view class="upload-item" @click="uploadImg">
@@ -109,6 +113,8 @@
                    </view>
                </view>
            </view>
            </template>
        </view>
        <view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view>
        <view class="footer">
@@ -159,9 +165,11 @@
        },
        data() {
            return {
                info: {},
                show: false,
                show1: false,
                form: {
                    id: null,
                    days: '',
                    startDate: '',
                    endDate: '',
@@ -188,6 +196,22 @@
            };
        },
        onLoad(option) {
            if (option.id) {
                this.form.id = option.id
                this.$u.api.getDetail({
                    orderId: option.id
                }).then(res => {
                    this.info = res.data
                    for (const key in this.form) {
                        this.form[key] = res.data[key]
                    }
                    this.form.days = res.data.totalDays
                    this.form.price = Number(this.form.price) / 100
                    if (!this.form.multifileList) {
                        this.form.multifileList = []
                    }
                })
            } else {
            this.form.linkPhone = this.userInfo.telephone
            this.form.priceNum1 = option.days
            this.form.startDate = option.startDate
@@ -196,6 +220,7 @@
            this.form.lgt = option.longitude
            this.form.location = option.address
            this.form.workType = option.workType
            }
            this.getCateList()
        },
        methods: {
@@ -213,6 +238,7 @@
                if (!this.form.linkPhone) {
                    return uni.showToast({ title: '请输入联系电话', icon: 'none' })
                }
                if (!this.form.id) {
                this.$u.api.release({ ...this.form, price: Number(this.form.price) * 100 })
                    .then(res => {
                        if (res.code == 200) {
@@ -221,6 +247,18 @@
                            })
                        }
                    })
                } else {
                    this.$u.api.updateOrder({ ...this.form, price: Number(this.form.price) * 100 })
                        .then(res => {
                            if (res.code == 200) {
                                uni.showToast({ title: '编辑成功', icon: 'success', mask: true, duration: 2000 })
                                setTimeout(() => {
                                    uni.navigateBack({ delta: 1 });
                                    uni.$emit('refresh')
                                }, 1500)
                            }
                        })
                }
            },
            // 计算金额
            getPrice() {
@@ -240,8 +278,9 @@
            confirmDate(e) {
                this.form.startDate = e[0]
                this.form.endDate = e[e.length - 1]
                this.form.days = e.length;
                this.form.priceNum1 = e.length;
                this.show = false
                this.getPrice()
            },
            selectAddress() {
                uni.chooseLocation({
small-program/pages/success/success.vue
@@ -4,9 +4,9 @@
        <text class="success-a">发单成功</text>
        <text class="success-b">请等待接单</text>
        <view class="success-footer">
            <view class="success-footer-btn">回到首页</view>
            <view class="success-footer-btn" @click="toIndex">回到首页</view>
            <view style="width: 20rpx; height: 100%;"></view>
            <view class="success-footer-btn1">查看详情</view>
            <view class="success-footer-btn1" @click="toDesc">查看详情</view>
        </view>
    </view>
</template>
@@ -15,8 +15,23 @@
    export default {
        data() {
            return {
                orderId: null
            };
        },
        onLoad(option) {
            this.orderId = option.orderId
        },
        methods: {
            toIndex() {
                uni.switchTab({
                    url: '/pages/index/index'
                });
            },
            toDesc() {
                uni.navigateTo({
                    url: `/pages/order-details/order-details?id=${this.orderId}`
                })
            }
        }
    }
</script>
small-program/pages/using-workers/using-workers.vue
@@ -13,6 +13,7 @@
                        <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
                    </view>
                </view>
                <template v-if="!(info.type !== 2 && info.status === 2)">
                <view class="list-item-row" @click="selectAddress()">
                    <view class="list-item-row-label">用工地点<b>*</b></view>
                    <view class="list-item-row-val">
@@ -26,7 +27,10 @@
                        <input type="text" v-model="form.locationRemark" placeholder="请输入" />
                    </view>
                </view>
                </template>
            </view>
            <template v-if="!(info.type !== 2 && info.status === 2)">
            <view class="list-item">
                <view class="list-item-label">
                    <view class="list-item-label-x"></view>
@@ -102,6 +106,8 @@
                    </view>
                </view>
            </view>
            </template>
        </view>
        <view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view>
        <view class="footer">
@@ -152,6 +158,7 @@
        },
        data() {
            return {
                info: {},
                show: false,
                show1: false,
                form: {
@@ -188,11 +195,15 @@
                this.$u.api.getDetail({
                    orderId: option.id
                }).then(res => {
                    this.info = res.data
                    for (const key in this.form) {
                        this.form[key] = res.data[key]
                    }
                    this.form.days = res.data.totalDays
                    this.form.price = Number(this.form.price) / 100
                    if (!this.form.multifileList) {
                        this.form.multifileList = []
                    }
                })
            } else {
                this.form.linkPhone = this.userInfo.telephone