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