f25842ce90e7984d0809a07adf4ae726af7bbeb4..e0f1bd3b8d1a68e0fd2f55c5fd69a04ad8fc3e86
2022-02-19 shuishen
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/qfqk-android
e0f1bd diff | tree
2022-02-19 shuishen
部分更改
de32c7 diff | tree
2 files modified
573 ■■■■ changed files
pages/grabOrders/grabOrders.vue 567 ●●●● patch | view | raw | blame | history
pages/registerUser/registerUser.vue 6 ●●●● patch | view | raw | blame | history
pages/grabOrders/grabOrders.vue
@@ -1,286 +1,319 @@
<template>
    <view class="grabOrders">
        <view>
            <u-tabs-swiper ref="uTabs" :list="list" :current="current" @change="tabsChange" :is-scroll="false"
                swiperWidth="750"></u-tabs-swiper>
        </view>
        <!-- @animationfinish="animationfinish" -->
        <swiper :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish"
            :style="{height: 'calc(' +  useHeight+' - 40px)', width: '100%'}">
            <swiper-item class="swiper-item" v-for="(item, index) in list" :key="index"
                :style="{height: useHeight, width: '100%'}">
                <scroll-view scroll-y :style="{height: useHeight, width: '100%'}" @scrolltolower="onreachBottom">
                    <page0 :listData="leftdata" :swiperCurrent="0" v-if="item.name == '正在进行'" @openOnce="openOnce"
                        @getOrders="getOrders"></page0>
                    <page1 :listData="rightdata" :swiperCurrent="1" v-if="item.name == '可参与'" @openOnce="openOnce"
                        @getOrders="getOrders"></page1>
    <view class="grabOrders">
        <view>
            <u-tabs-swiper
                ref="uTabs"
                :list="list"
                :current="current"
                @change="tabsChange"
                :is-scroll="false"
                swiperWidth="750"
            ></u-tabs-swiper>
        </view>
        <!-- @animationfinish="animationfinish" -->
        <swiper
            :current="swiperCurrent"
            @transition="transition"
            @animationfinish="animationfinish"
            :style="{height: 'calc(' +  useHeight+' - 40px)', width: '100%'}"
        >
            <swiper-item
                class="swiper-item"
                v-for="(item, index) in list"
                :key="index"
                :style="{height: useHeight, width: '100%'}"
            >
                <scroll-view
                    scroll-y
                    :style="{height: useHeight, width: '100%'}"
                    @scrolltolower="onreachBottom"
                >
                    <page0
                        :listData="leftdata"
                        :swiperCurrent="0"
                        v-if="item.name == '正在进行'"
                        @openOnce="openOnce"
                        @getOrders="getOrders"
                    ></page0>
                    <page1
                        :listData="rightdata"
                        :swiperCurrent="1"
                        v-if="item.name == '可参与'"
                        @openOnce="openOnce"
                        @getOrders="getOrders"
                    ></page1>
                    <!-- <view class="a" v-if="item.name == '正在进行'">
                    <!-- <view class="a" v-if="item.name == '正在进行'">
                             {{leftdata}}
                         </view>
                         <view class="b" v-if="item.name == '可参与'">
                             {{rightdata}}
                         </view> -->
                </scroll-view>
            </swiper-item>
        </swiper>
        <view>
            <u-modal v-model="showPopup" :content="appdetitle" :show-cancel-button="true" @confirm="confirms"></u-modal>
            <!-- <u-button @click="open">
                    </view>-->
                </scroll-view>
            </swiper-item>
        </swiper>
        <view>
            <u-modal
                v-model="showPopup"
                :content="appdetitle"
                :show-cancel-button="true"
                @confirm="confirms"
            ></u-modal>
            <!-- <u-button @click="open">
                打开模态框
            </u-button> -->
        </view>
    </view>
            </u-button>-->
        </view>
    </view>
</template>
<script>
    import page0 from "./inPage/page0.vue";
    import page1 from "./inPage/page1.vue";
    export default {
        components: {
            page0,
            page1,
        },
        data() {
            return {
                list: [{
                        name: "正在进行",
                    },
                    {
                        name: "可参与",
                    },
                ],
                // 因为内部的滑动机制限制,请将tabs组件和swiper组件的current用不同变量赋值
                current: 0, // tabs组件的current值,表示当前活动的tab选项
                swiperCurrent: 0, // swiper组件的current值,表示当前那个swiper-item是活动的
                leftdata: [],
                rightdata: [],
                showPopup: false,
                appdetitle: "",
                popupData: {},
                useHeight: '100%'
            };
        },
        watch: {
            current() {
                // console.log(this.current)
                this.getGrabOrders(this.current);
            },
            change() {
                this.getGrabOrders(this.current);
            },
        },
        mounted() {
            // this.getGrabOrders(this.current);
            let type = uni.getSystemInfoSync().platform;
            if (type == "android") {
                this.useHeight = "100vh";
            }
        },
        computed: {
            change() {
                return this.$store.state.gotuGrabOrders;
            },
        },
        onLoad: function(options) {
            // debugger
            // console.log(options)
            if (options.detailData == 0) {
                this.current = 0;
                this.swiperCurrent = 0;
            } else {
                this.current = 1;
                this.swiperCurrent = 1;
            }
            this.getGrabOrders(this.current);
        },
        methods: {
            // tabs通知swiper切换
            tabsChange(index) {
                this.swiperCurrent = index;
            },
            // swiper-item左右移动,通知tabs的滑块跟随移动
            transition(e) {
                let dx = e.detail.dx;
                this.$refs.uTabs.setDx(dx);
            },
            // 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
            // swiper滑动结束,分别设置tabs和swiper的状态
            animationfinish(e) {
                let current = e.detail.current;
                this.$refs.uTabs.setFinishCurrent(current);
                this.swiperCurrent = current;
                this.current = current;
            },
            // scroll-view到底部加载更多
            onreachBottom() {},
            openOnce(val) {
                //打开地图
                // console.log(this.swiperCurrent)
                val["buttype"] = this.swiperCurrent; //tab标识,0正在进行,1可参与
                val["serid"] = uni.getStorageSync("ids") + ",";
                val["appenUrl"] = this.$store.state.piAPI;
                //打开地图
import page0 from "./inPage/page0.vue"
import page1 from "./inPage/page1.vue"
export default {
    components: {
        page0,
        page1,
    },
    data () {
        return {
            list: [{
                name: "正在进行",
            },
            {
                name: "可参与",
            },
            ],
            // 因为内部的滑动机制限制,请将tabs组件和swiper组件的current用不同变量赋值
            current: 0, // tabs组件的current值,表示当前活动的tab选项
            swiperCurrent: 0, // swiper组件的current值,表示当前那个swiper-item是活动的
            leftdata: [],
            rightdata: [],
            showPopup: false,
            appdetitle: "",
            popupData: {},
            useHeight: '100%'
        }
    },
    watch: {
        current () {
            // console.log(this.current)
            this.getGrabOrders(this.current)
        },
        change () {
            this.getGrabOrders(this.current)
        },
    },
    mounted () {
        // this.getGrabOrders(this.current);
        let type = uni.getSystemInfoSync().platform
        if (type == "android") {
            this.useHeight = "100vh"
        }
    },
    computed: {
        change () {
            return this.$store.state.gotuGrabOrders
        },
    },
    onLoad: function (options) {
        // debugger
        // console.log(options)
        if (options.detailData == 0) {
            this.current = 0
            this.swiperCurrent = 0
        } else {
            this.current = 1
            this.swiperCurrent = 1
        }
        this.getGrabOrders(this.current)
    },
    methods: {
        // tabs通知swiper切换
        tabsChange (index) {
            this.swiperCurrent = index
        },
        // swiper-item左右移动,通知tabs的滑块跟随移动
        transition (e) {
            let dx = e.detail.dx
            this.$refs.uTabs.setDx(dx)
        },
        // 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
        // swiper滑动结束,分别设置tabs和swiper的状态
        animationfinish (e) {
            let current = e.detail.current
            this.$refs.uTabs.setFinishCurrent(current)
            this.swiperCurrent = current
            this.current = current
        },
        // scroll-view到底部加载更多
        onreachBottom () { },
        openOnce (val) {
            //打开地图
            // console.log(this.swiperCurrent)
            val["buttype"] = this.swiperCurrent //tab标识,0正在进行,1可参与
            val["serid"] = uni.getStorageSync("ids") + ","
            val["appenUrl"] = this.$store.state.piAPI
            //打开地图
                if (val.iscation == 1) {
                    if (val.type == 0) {
                        //是队长-上传反馈
                        val["butCT"] = "beginUp";
                    } else if (val.type == 2) {
                        //是队长-开始任务
                        val["butCT"] = "begin";
                    } else {
                        //是队长-完成任务任务
                        val["butCT"] = "over";
                    }
                } else {
                    if (val.type == 0) {
                        //不是队长-上传反馈
                        val["butCT"] = "over";
                    } else if (val.type == 2) {
                        //不是队长-开始任务
                        val["butCT"] = "over";
                    } else {
                        //不是队长-完成任务任务
                        val["butCT"] = "over";
                    }
                }
                console.log(val);
                // return
                uni.navigateTo({
                    url: "./map?data=" + JSON.stringify(val),
                });
            },
            getGrabOrders(val = 0) {
                //获取全部的数据
                let that = this,
                    d = {
                        serid: uni.getStorageSync("ids"),
                        type: val + "",
                    };
            if (val.iscation == 1) {
                if (val.type == 0) {
                    //是队长-上传反馈
                    val["butCT"] = "beginUp"
                } else if (val.type == 2) {
                    //是队长-开始任务
                    val["butCT"] = "begin"
                } else {
                    //是队长-完成任务任务
                    val["butCT"] = "over"
                }
            } else {
                if (val.type == 0) {
                    //不是队长-上传反馈
                    val["butCT"] = "over"
                } else if (val.type == 2) {
                    //不是队长-开始任务
                    val["butCT"] = "over"
                } else {
                    //不是队长-完成任务任务
                    val["butCT"] = "over"
                }
            }
            console.log(val)
            // return
            uni.navigateTo({
                url: "./map?data=" + JSON.stringify(val),
            })
        },
        getGrabOrders (val = 0) {
            //获取全部的数据
            let that = this,
                d = {
                    serid: uni.getStorageSync("ids"),
                    type: val + "",
                }
                if (val == 1) {
                    d.jurisdiction = this.$store.state.UserData.jurisdiction;
                }
            if (val == 1) {
                d.jurisdiction = this.$store.state.UserData.jurisdiction
            }
                uni.request({
                    url: this.$store.state.piAPI + "taskqd/selectLi",
                    method: "POST",
                    data: d,
                    header: {
                        "content-type": "application/x-www-form-urlencoded",
                    },
                    success(res) {
                        const data = res.data.data;
                        // console.log(data);
                        if (val == 1) {
                            that.rightdata = data;
                        } else {
                            let no = [],
                                ok = [],
                                bigin = [],
                                no1 = [],
                                ok1 = [],
                                bigin1 = [];
                            for (var k in data) {
                                if (data[k].iscation == 1) {
                                    if (data[k].type == 0) {
                                        //是队长-上传反馈
                                        no1.push(data[k]);
                                    } else if (data[k].type == 2) {
                                        //是队长-开始任务
                                        bigin1.push(data[k]); //是队长-上传反馈
                                    } else {
                                        //是队长-完成任务任务
                                        ok1.push(data[k]);
                                    }
                                } else {
                                    if (data[k].type == 0) {
                                        //不是队长-上传反馈
                                        no.push(data[k]);
                                    } else if (data[k].type == 2) {
                                        //不是队长-开始任务
                                        bigin.push(data[k]);
                                    } else {
                                        //不是队长-完成任务任务
                                        ok.push(data[k]);
                                    }
                                }
                            }
            uni.request({
                url: this.$store.state.piAPI + "taskqd/selectLi",
                method: "POST",
                data: d,
                header: {
                    "content-type": "application/x-www-form-urlencoded",
                },
                success (res) {
                    const data = res.data.data
                    // console.log(data);
                    if (val == 1) {
                        that.rightdata = data
                    } else {
                        let no = [],
                            ok = [],
                            bigin = [],
                            no1 = [],
                            ok1 = [],
                            bigin1 = []
                        for (var k in data) {
                            if (data[k].iscation == 1) {
                                if (data[k].type == 0) {
                                    //是队长-上传反馈
                                    no1.push(data[k])
                                } else if (data[k].type == 2) {
                                    //是队长-开始任务
                                    bigin1.push(data[k]) //是队长-上传反馈
                                } else {
                                    //是队长-完成任务任务
                                    ok1.push(data[k])
                                }
                            } else {
                                if (data[k].type == 0) {
                                    //不是队长-上传反馈
                                    no.push(data[k])
                                } else if (data[k].type == 2) {
                                    //不是队长-开始任务
                                    bigin.push(data[k])
                                } else {
                                    //不是队长-完成任务任务
                                    ok.push(data[k])
                                }
                            }
                        }
                            that.leftdata = [...bigin1, ...bigin, ...no1, ...no, ...ok1, ...ok];
                        }
                    },
                });
            },
            getOrders(b) {
                let val = b.val,
                    item = b.item;
                // console.log(val, item)
                let that = this;
                if (val != 0) {
                    //接单
                    this.appdetitle = "是否参与任务:" + item.rname;
                    this.showPopup = true;
                    this.popupData = item;
                    // return;
                } else {
                    //反馈
                    //
                    uni.navigateTo({
                        url: "./feedback?data=" + JSON.stringify(item),
                        // url: "./feedback"
                    });
                }
            },
            confirms() {
                let that = this;
                this.popupData["serid"] = uni.getStorageSync("ids") + ",";
                this.popupData["captain"] = uni.getStorageSync("name");
                // console.log(item)
                // return;
                uni.request({
                    url: this.$store.state.piAPI + "taskqd/Graborder",
                    method: "POST",
                    // data: {
                    //     securityId: this.$store.state.puserID,
                    //     status: tab
                    // },
                    header: {
                        "content-type": "application/json",
                    },
                    data: this.popupData,
                    success(res) {
                        const data = res.data.msg;
                        // console.log(data);
                        if (data == "抢单成功") {
                            uni.showToast({
                                title: data,
                                duration: 2000,
                            });
                        }
                        // that.listData = data;
                        // that.getGrabOrders(this.);
                        that.$store.commit("changegotuGrabOrders");
                    },
                });
            },
        },
    };
                        that.leftdata = [...bigin1, ...bigin, ...no1, ...no, ...ok1, ...ok]
                    }
                },
            })
        },
        getOrders (b) {
            let val = b.val,
                item = b.item
            // console.log(val, item)
            let that = this
            if (val != 0) {
                //接单
                this.appdetitle = "是否参与任务:" + item.rname
                this.showPopup = true
                this.popupData = item
                // return;
            } else {
                //反馈
                //
                uni.navigateTo({
                    url: "./feedback?data=" + JSON.stringify(item),
                    // url: "./feedback"
                })
            }
        },
        confirms () {
            let that = this
            this.popupData["serid"] = uni.getStorageSync("ids") + ","
            this.popupData["captain"] = uni.getStorageSync("name")
            // console.log(item)
            // return;
            uni.request({
                url: this.$store.state.piAPI + "taskqd/Graborder",
                method: "POST",
                // data: {
                //     securityId: this.$store.state.puserID,
                //     status: tab
                // },
                header: {
                    "content-type": "application/json",
                },
                data: this.popupData,
                success (res) {
                    const data = res.data.msg
                    // console.log(data);
                    if (data == "抢单成功") {
                        uni.showToast({
                            title: data,
                            duration: 2000,
                        })
                    }
                    // that.listData = data;
                    // that.getGrabOrders(this.);
                    that.$store.commit("changegotuGrabOrders")
                },
            })
        },
    },
};
</script>
<style scoped lang="scss">
    page,
    .grabOrders {
        height: 100% !important;
        width: 100% !important;
    }
page,
.grabOrders {
    height: 100% !important;
    width: 100% !important;
}
    page {
        overflow: hidden !important;
    }
page {
    overflow: hidden !important;
}
    // .uni-scroll-view{
    //     height: 100% !important;
    //     border: 1px solid red
    // }
// .uni-scroll-view{
//     height: 100% !important;
//     border: 1px solid red
// }
</style>
pages/registerUser/registerUser.vue
@@ -26,12 +26,12 @@
                </u-radio-group>
            </u-form-item>
        </u-form>
        <u-popup v-model="mapShow" mode="bottom" border-radius="14" height="60%" :closeable="true" open="getLocation">
        <div v-show="mapShow" style="position: fixed; bottom: 0; left: 0; width: 100%; height: 60%; z-index: 111; border-radius: 15px;">
            <map style="width: 100%; height: 100%;" :latitude="latitude" :longitude="longitude" :markers="marker"
                :scale="scale" :polyline="polyline">
            </map>
        </u-popup>
        </div>
        <u-button @click="mapShow = true">打开</u-button>