shuishen
2022-02-19 de32c7451277b2f23f5567745e858611202a7706
部分更改
3 files modified
570 ■■■■ changed files
manifest.json 14 ●●●● patch | view | raw | blame | history
pages/grabOrders/grabOrders.vue 550 ●●●● patch | view | raw | blame | history
pages/registerUser/registerUser.vue 6 ●●●● patch | view | raw | blame | history
manifest.json
@@ -128,12 +128,12 @@
            "base" : "",
            "mode" : "history"
        },
        "sdkConfigs" : {
            "maps" : {
                "qqmap" : {
                    "key" : "7WKBZ-QDY62-WEEUG-C7KUN-ADAF5-L5BKZ"
                }
            }
        }
        "sdkConfigs" : {
            "maps" : {
                "qqmap" : {
                    "key" : "7WKBZ-QDY62-WEEUG-C7KUN-ADAF5-L5BKZ"
                }
            }
        }
    }
}
pages/grabOrders/grabOrders.vue
@@ -1,314 +1,278 @@
<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(100% - 40px); width: 100%"
    >
      <swiper-item
        class="swiper-item"
        v-for="(item, index) in list"
        :key="index"
        style="height: 100%; width: 100%"
      >
        <scroll-view
          scroll-y
          style="height: 100%; 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(100% - 40px); width: 100%">
            <swiper-item class="swiper-item" v-for="(item, index) in list" :key="index"
                style="height: 100%; width: 100%">
                <scroll-view scroll-y style="height: 100%; 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">
                </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>
        </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: {},
    };
  },
  watch: {
    current() {
      // console.log(this.current)
      this.getGrabOrders(this.current);
    },
    change() {
      this.getGrabOrders(this.current);
    },
  },
  mounted() {
    this.getGrabOrders(this.current);
  },
  computed: {
    change() {
      return this.$store.state.gotuGrabOrders;
    },
  },
  onLoad: function(options) {
      debugger
      console.log(options)
      if(options.detailData == 0){
          this.current = 0;
      }
      else{
          this.current = 1;
  },
  methods: {
    // tabs通知swiper切换
    tabsChange(index) {
      this.swiperCurrent = index;
      // console.log(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: {},
            };
        },
        watch: {
            current() {
                // console.log(this.current)
                this.getGrabOrders(this.current);
            },
            change() {
                this.getGrabOrders(this.current);
            },
        },
        mounted() {
            this.getGrabOrders(this.current);
        },
        computed: {
            change() {
                return this.$store.state.gotuGrabOrders;
            },
        },
        onLoad: function(options) {
            console.log(options)
            if (options.detailData == 0) {
                this.current = 0;
            } else {
                this.current = 1;
            }
        },
        methods: {
            // tabs通知swiper切换
            tabsChange(index) {
                this.swiperCurrent = index;
                // console.log(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>