| | |
| | | <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> |