From cb8dc011962cd1e96ab6f1a3df53be302faf4a72 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Mon, 07 Mar 2022 15:08:01 +0800
Subject: [PATCH] +
---
pages/grabOrders/grabOrdersZAFFPX - 副本/feedback.vue | 412 ++++++
pages/grabOrders/grabOrdersZAFFPX - 副本/task.vue | 88 +
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/dinw3.png | 0
pages/grabOrders/grabOrdersZAFFPX - 副本/inPage/page0.vue | 221 +++
pages/grabOrders/grabOrdersZAFFPX/inPage/page1.vue | 20
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/dinw2.png | 0
pages/grabOrders/grabOrdersZAXC/inPage/page2.vue | 200 +++
pages/grabOrders/grabOrdersZAFFPX - 副本/grabOrders.vue | 408 ++++++
pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue | 22
pages/grabOrders/grabOrdersZAFFPX - 副本/map.vue | 1187 ++++++++++++++++++
pages/grabOrders/grabOrdersZAYWXC/inPage/page2.vue | 206 +++
pages/grabOrders/grabOrdersMain/business.vue | 6
pages/grabOrders/grabOrdersZAFFPX - 副本/inPage/page2.vue | 178 ++
store/positions.js | 6
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/dinw5.png | 0
store/apiConfig.js | 9
pages/grabOrders/grabOrdersZAXC/grabOrders.vue | 26
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/dinw6.png | 0
pages/grabOrders/grabOrdersZAFFPX - 副本/map/js/move.js | 173 ++
pages/grabOrders/grabOrdersZAFFPX/map.vue | 16
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/dinw4.png | 0
pages/grabOrders/grabOrdersZAXC/map.vue | 5
pages/grabOrders/grabOrdersZAFFPX - 副本/inPage/page1.vue | 178 ++
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/dinw1.png | 0
pages/grabOrders/grabOrdersZAFFPX/inPage/page2.vue | 179 ++
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dingwei.png | 0
pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue | 55
pages/grabOrders/grabOrdersZAFFPX - 副本/once.vue | 0
pages/grabOrders/grabOrdersZAYWXC/inPage/page0.vue | 10
pages/grabOrders/grabOrdersZAFFPX - 副本/task - 副本.vue | 88 +
pages/grabOrders/grabOrdersZAFFPX - 副本/map/img/dinw/location.png | 0
pages/grabOrders/grabOrdersZAFFPX - 副本/map/js/moveUniAppMap.js | 128 ++
32 files changed, 3,759 insertions(+), 62 deletions(-)
diff --git a/pages/grabOrders/grabOrdersMain/business.vue b/pages/grabOrders/grabOrdersMain/business.vue
index 3105822..cb89a3a 100644
--- a/pages/grabOrders/grabOrdersMain/business.vue
+++ b/pages/grabOrders/grabOrdersMain/business.vue
@@ -50,17 +50,17 @@
tabbar: this.$store.state.tabbar,
bashow: false,
dataOne: [{
- title: '治安巡查',
+ title: '参与治安防范巡查',
img: '/static/workbench/task2.png',
url: '../grabOrdersZAXC/grabOrders?detailData=0',
cout: 0
}, {
- title: '治安义务宣传',
+ title: '参与治安防范宣传',
img: '/static/workbench/task1.png',
url: '../grabOrdersZAYWXC/grabOrders?detailData=0',
cout: 0
}, {
- title: '治安防范培训',
+ title: '参与治安防范培训',
img: '/static/workbench/task3.png',
url: '../grabOrdersZAFFPX/grabOrders?detailData=0',
cout: 0
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/feedback.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/feedback.vue"
new file mode 100644
index 0000000..7957dd8
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/feedback.vue"
@@ -0,0 +1,412 @@
+<template>
+ <view class="mapJQtijiao">
+ <u-top-tips ref="uTips"></u-top-tips>
+ <!-- <view class="head">
+ <u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title=""
+ :background="{ background: '#0cd7e5' }">
+ <div>
+ 处理结果
+ </div>
+ </u-navbar>
+ </view> -->
+ <view class="mapJQtijiaomain">
+ <view class="title" style="padding-top: 0.5rem;">请输入任务心得:</view>
+ <view class="f">
+ <view class="main" style="margin:0 1rem;">
+ <textarea rows="9" cols="27" placeholder="请输入任务心得。" class="textareas" v-model="content"></textarea>
+ </view>
+ </view>
+ <view class="title" style="padding-top: 0.5rem;">请输入任务意见:</view>
+ <view class="f">
+ <view class="main" style="margin:0 1rem;">
+ <textarea rows="9" cols="27" placeholder="请输入任务意见。" class="textareas" v-model="yj"></textarea>
+ </view>
+ </view>
+ <view class="title">照片上传:</view>
+ <view class="t">
+ <view class="main">
+ <image @tap="takePhoto" src="/static/JQimg/xiangji.png" mode=""></image>
+ </view>
+ <view class="mains">
+ <seeImgs class="seeImgs" :imgs="imgs" :videos="[]" @del="delImg" :type="'imgs'"></seeImgs>
+ </view>
+ </view>
+ <view class="title">视频上传:</view>
+ <view class="s">
+ <view class="main">
+ <image @tap="takeVideo" src="/static/JQimg/shiping.png" mode=""></image>
+ </view>
+ <view class="mains">
+ <seeImgs class="seeImgsVideo" :imgs="[]" :videos="videos" @del="delVideo" :type="'videos'">
+ </seeImgs>
+ </view>
+ </view>
+ <view class="butb">
+ <!-- custom-style -->
+ <button class="submits" type="primary" @click="upData">我反馈</button>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import seeImgs from 'components/seeImges/seeImges.vue'
+ export default {
+ components: {
+ seeImgs
+ },
+ data() {
+ return {
+ content: '', //心得
+ yj: '', //意见
+ imgs: [],
+ videos: [],
+ data: {}
+ }
+ },
+ onBackPress(e) {
+ console.log("监听返回按钮事件1", e);
+ uni.redirectTo({
+ url: "/pages/grabOrders/grabOrdersZAFFPX/grabOrders?detailData=0"
+ })
+ // 此处一定姚要return为true,否则页面不会返回到指定路径
+ return true;
+ },
+ methods: {
+ onLoad: function(option) {
+ var b;
+ if (option.data == undefined) {
+ this.data = {
+ rname: '无数据',
+ content: '无数据',
+ district: '无数据',
+ place: '无数据',
+ time: '无数据',
+ num: "无数据",
+ ourNum: "无数据",
+ inNum: "无数据",
+ infor: "无数据"
+ }
+ return;
+ }
+ try {
+ b = JSON.parse(option.data);
+ } catch (e) {
+ //TODO handle the exception
+ }
+ // console.log(b);
+ console.log(b, "bbbbbbbb")
+ this.data = b;
+ },
+ upData() {
+ // console.log('开始上传');
+ let video = "",
+ imgs = "",
+ that = this;
+ for (let k in this.imgs) {
+ imgs += this.imgs[k].src;
+ if (k != this.imgs.length - 1) {
+ imgs += ","
+ }
+ }
+ for (let y in this.videos) {
+ video += this.videos[y].src;
+ if (y != this.videos.length - 1) {
+ video += ","
+ }
+ }
+ var dataList = {
+ content: this.content,
+ yj: this.yj,
+ tpurl: imgs,
+ spurl: video,
+ hdid: this.data.id,
+ serid: uni.getStorageSync("ids") || that.$store.state.puserID
+ // result: this.content,
+ };
+ wx.showLoading({
+ title: "提交中...",
+ mask: true
+ })
+ // console.log(dataList);
+ wx.request({
+ url: this.$store.state.piAPI + 'taskfk/save', //仅为示例,并非真实接口地址。
+ data: dataList,
+ method: 'POST',
+ header: {
+ // "Content-Type": "application/x-www-form-urlencoded",
+ "content-type": "application/json"
+ },
+ success: (res) => {
+ // console.log(res)
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: '提交成功!',
+ duration: 1000
+ });
+ var time = setTimeout(() => {
+ clearTimeout(time);
+ time = null;
+ uni.redirectTo({
+ url: './grabOrders?from="feedback"'
+ });
+ }, 1000)
+ }
+ wx.showToast({
+ title: 'over',
+ duration: 1000
+ });
+ }
+ });
+ let d = {
+ rid: this.data.id,
+ serid: this.data.serid,
+ type: "stop",
+ that: that
+ }
+ that.$store.commit('useWebScoketApi', d);
+ },
+ takePhoto() {
+ var that = this;
+ wx.chooseImage({
+ count: 4, //可选择数量,默认9
+ sizeType: ['compressed', 'original'], //上传压缩图,原图
+ sourceType: ['album', 'camera'], //从相册选择或从使用相机
+ success: async (res) => {
+ for (var i = 0; i < res.tempFiles.length; i++) {
+ if (res.tempFiles[i].size > 10 * 1024 * 1000) { //上传图片大小限制
+ uni.showToast({
+ title: "照片大小不能10MB",
+ icon: "none"
+ })
+ return
+ }
+ }
+ var tempFilePath = res.tempFilePaths;
+ // try {
+ wx.showLoading({
+ title: "上传中...",
+ mask: true
+ })
+ var that = this;
+ // 循环调用uni.uploadFile ,因微信小程序只支持单文件上传
+ for (var i = 0; i < tempFilePath.length; i++) {
+ wx.uploadFile({
+ // url: 'https://web.byisf.com/api/depl/put-depl', //仅为示例,非真实的接口地址
+ url: that.$store.state.piAPI + '/depl/put-depl',
+ filePath: tempFilePath[i],
+ name: 'file',
+ formData: {
+ 'user': 'test' // 上传附带参数
+ },
+ success: (data) => {
+ wx.showToast({
+ title: '上传图片成功!',
+ duration: 1000
+ });
+ // 根据接口具体返回格式 赋值具体对应url
+ that.imgs.push({
+ id: i,
+ src: JSON.parse(data.data).data
+ })
+ }
+ });
+ }
+ }
+ });
+ },
+ delImg(index) {
+ this.imgs.splice(index, 1);
+ // console.log(this.imgs)
+ },
+ takeVideo() {
+ var that = this;
+ wx.chooseVideo({
+ sourceType: ['album', 'camera'],
+ maxDuration: 60,
+ camera: 'back',
+ success(res) {
+ var tempFilePath = res.tempFilePath;
+ // try {
+ wx.showLoading({
+ title: "上传中...",
+ mask: true
+ })
+ wx.uploadFile({
+ // url: 'https://web.byisf.com/api/depl/put-depl', //仅为示例,非真实的接口地址
+ url: that.$store.state.piAPI + '/depl/put-depl',
+ filePath: tempFilePath,
+ name: 'file',
+ formData: {
+ 'user': 'test' // 上传附带参数
+ },
+ success: (data) => {
+ wx.showToast({
+ title: '上传视频成功!',
+ duration: 1000
+ });
+ // // 根据接口具体返回格式 赋值具体对应url
+ that.videos.push({
+ id: that.videos.length,
+ src: JSON.parse(data.data).data
+ })
+ // console.log(JSON.parse(data.data).data)
+ }
+ });
+ }
+ })
+ },
+ delVideo(index) {
+ this.videos.splice(index, 1);
+ // console.log(this.imgs)
+ },
+ beforeDestroy() {
+ this.$store.commit("changegotuGrabOrders");
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ page {
+ width: 100%;
+ height: 100%;
+ }
+
+ .mapJQtijiao {
+ width: 100%;
+ height: 100%;
+ margin: 0 auto;
+
+ // .head {
+ // position: relative;
+ // top: 0;
+ // left: 0;
+ // z-index: 1;
+ // font-size: 16px;
+ // font-weight: 600;
+ // text-align: center;
+
+ // div {
+ // width: 100%;
+ // border: 1px solid rgba($color: #000000, $alpha: 0);
+ // }
+ // }
+
+ .mapJQtijiaomain {
+ width: 100%;
+ height: 100%;
+ // border: 1px solid #000000;
+ box-sizing: border-box;
+ background-color: #F7F7F7;
+
+ .title {
+ margin-left: 1rem;
+ margin-bottom: 0.5rem;
+ }
+ }
+
+ .f {
+ background-color: #fff;
+ padding: 0.5rem 0 0.5rem 0;
+ margin-bottom: 0.5rem;
+
+ .main {
+ margin: 0.5rem;
+ // border: 1px solid rgba($color: #000000, $alpha: 0.5);
+ height: 8rem;
+ }
+ }
+
+ .t,
+ .s {
+ background-color: #fff;
+ padding: 0.5rem 0 0.5rem 0;
+ // margin-bottom: 0.5rem;
+ display: flex;
+ align-items: center;
+ // border: 1px solid green;
+ height: 95px;
+ width: 100%;
+
+ .main {
+ // border: 1px solid red;
+
+ image {
+ width: 3rem;
+ height: 3rem;
+ margin-left: 1rem;
+ }
+ }
+
+ .mains {
+ // border: 1px solid red;
+ width: calc(100% - 3rem);
+ height: 75px;
+ }
+ }
+
+ .butb {
+ // margin: 1rem auto;
+ // width: 6rem;
+ height: 3rem;
+ // // border: 1px solid rgb(46, 118, 228);
+ // border-radius: 1rem;
+ // display: flex;
+ // font-size: 18px;
+ // align-items: cent1er;
+ // justify-con1tent: center;
+ // color: #fff;
+ // background-image: linear-gradient(to right, #4adeff, #55ffff);
+ }
+ }
+
+ // .seeImgs{
+ // width: 80%;
+ // position:absolute ;
+ // top: 13.3rem;
+ // right: 0;
+ // }
+ // .seeImgsVideo{
+ // width: 80%;
+ // position:absolute ;
+ // top: 19.8rem;
+ // right: 0;
+ // }
+ .custom-style {
+ background-image: linear-gradient(to right, #08EFF6, #0693FD);
+ border-radius: 20px;
+ }
+
+ .submits {
+ margin: 60rpx 90rpx 0;
+ border: none;
+ width: 572rpx;
+ height: 86rpx;
+ // line-height: 86rpx;
+ box-sizing: border-box;
+ border-radius: 15rpx;
+ background-color: #103289 !important;
+ color: #ffffff;
+
+ &::after {
+ content: none;
+ }
+
+ &::before {
+ content: none;
+ }
+
+ &[disabled='true'] {
+ background: #e4e4e4;
+ font-size: 36rpx;
+ font-family: Source Han Sans CN;
+ font-weight: 500;
+ color: #ffffff;
+ }
+ }
+
+ // .main{
+ // border: 1px solid transparent;
+ // }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/grabOrders.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/grabOrders.vue"
new file mode 100644
index 0000000..c366cd3
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/grabOrders.vue"
@@ -0,0 +1,408 @@
+<template>
+ <view class="grabOrders">
+ <u-top-tips ref="uTips"></u-top-tips>
+ <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 v-for="(item, index) in list" :key="index" :style="{ height: useHeight, width: '100%' }">
+ <view class="swiper-item">
+ <scroll-view scroll-y :style="{ height: useHeight, width: '100%' }" @scrolltolower="onreachBottom">
+ <page0 :listData="rightdata" :swiperCurrent="1" v-if="item.name == '正在进行'" @openOnce="openOnce"
+ @getOrders="getOrders">
+ </page0>
+ <page1 :listData="leftdata" :swiperCurrent="0" v-if="item.name == '可参与'" @openOnce="openOnce"
+ @getOrders="getOrders">
+ </page1>
+ <page2 :listData="overdata" :swiperCurrent="2" v-if="item.name == '已完成'" @openOnce="openOnce"
+ @getOrders="getOrders"></page2>
+ <!-- <view class="a" v-if="item.name == '正在进行'">
+ {{leftdata}}
+ </view>
+ <view class="b" v-if="item.name == '可参与'">
+ {{rightdata}}
+ </view>-->
+ </scroll-view>
+ </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>
+</template>
+<script>
+ import page0 from "./inPage/page0.vue";
+ import page1 from "./inPage/page1.vue";
+ import page2 from "./inPage/page2.vue";
+ export default {
+ components: {
+ page0,
+ page1,
+ page2
+ },
+ data() {
+ return {
+ list: [{
+ name: "可参与",
+ }, {
+ name: "正在进行",
+ },
+ {
+ name: "已完成",
+ },
+ ],
+ // 因为内部的滑动机制限制,请将tabs组件和swiper组件的current用不同变量赋值
+ current: 0, // tabs组件的current值,表示当前活动的tab选项
+ swiperCurrent: 0, // swiper组件的current值,表示当前那个swiper-item是活动的
+ leftdata: [],
+ rightdata: [],
+ overdata: [],
+ showPopup: false,
+ appdetitle: "",
+ popupData: {},
+ useHeight: "100%",
+ };
+ },
+ onBackPress(e) {
+ console.log("监听返回按钮事件2", e);
+ uni.redirectTo({
+ url: "/pages/grabOrders/grabOrdersMain/business"
+ })
+ // 此处一定姚要return为true,否则页面不会返回到指定路径
+ return true;
+ },
+ watch: {
+ current() {
+ console.log(this.current)
+ // if (this.current == 0) {
+ // console.log(1)
+ // this.getGrabOrders(0);
+ this.getGrabOrders(this.current);
+ // }
+ },
+ change() {
+ this.getGrabOrders(this.current);
+ },
+
+ },
+ mounted() {
+ // this.getGrabOrders(this.current);
+ let type = uni.getSystemInfoSync().platform;
+ if (type == "android") {
+ this.useHeight = "calc(100vh - 40px)";
+ }
+ },
+ 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;
+ }
+ if (options.in) {
+ this.current = 0;
+ this.swiperCurrent = 0;
+ }
+ this.getGrabOrders(this.current);
+
+ if (options.from == "feedback") {
+ that.useWebScoketApi(item.id, item.serid, "stop");
+ }
+ },
+ methods: {
+ //实时位置传递
+ setNowposition(rid, jd, wd) {
+ console.log(uni.getStorageSync("ids") || this.$store.state.puserID, rid, jd, wd);
+ },
+ // 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 == 1 ? 0 : 1; //tab标识,0正在进行,1可参与
+ val["serid"] = (uni.getStorageSync("ids") || this.$store.state.puserID) + ",";
+ 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";
+ // }
+ // }
+ val["myid"] = uni.getStorageSync("ids") || this.$store.state.puserID;
+ val["myName"] = uni.getStorageSync("name") || this.$store.state.puserName;
+ console.log(val);
+ // return
+ uni.navigateTo({
+ url: "./map?data=" + JSON.stringify(val),
+ });
+ },
+ getGrabOrders(val = 0) {
+ //获取全部的数据
+ let that = this,
+ d = {
+ serid: uni.getStorageSync("ids") || that.$store.state.puserID,
+ type: val + "",
+ tasktype: '2'
+ };
+ let isWhere = val == 0 ? "可参与" : val == 1 ? "正在进行" : "已完成";
+ if (val == 1) {
+ d.jurisdiction = this.$store.state.UserData.jurisdiction;
+ d.workjurisdiction = this.$store.state.UserData.workjurisdiction;
+ }
+ // console.log(that.$store.state.puserID)
+ console.log(d)
+ 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 (isWhere == "可参与") {
+ that.rightdata = data;
+ } else if (isWhere == "正在进行") {
+ let no = [],
+ ok = [],
+ begin = [],
+ no1 = [],
+ ok1 = [],
+ begin1 = [];
+ for (var k in data) {
+ data[k].type = data[k].rtype;
+ if (data[k].iscation == 1) {
+ if (data[k].type == 0) {
+ //是队长-上传反馈
+ no1.push(data[k]);
+ } else if (data[k].type == 2) {
+ //是队长-开始任务
+ begin1.push(data[k]); //是队长-上传反馈
+ } else {
+ //是队长-完成任务任务
+ ok1.push(data[k]);
+ }
+ } else {
+ if (data[k].type == 0) {
+ //不是队长-上传反馈
+ no.push(data[k]);
+ } else if (data[k].type == 2) {
+ //不是队长-开始任务
+ begin.push(data[k]);
+ } else {
+ //不是队长-完成任务任务
+ ok.push(data[k]);
+ }
+ }
+ }
+
+ that.leftdata = [...begin1, ...begin, ...no1, ...no, ...ok1, ...ok];
+ // console.log(that.leftdata)
+ // for (let k in begin) {
+ // let id = begin[k].id;
+ // that.isBeginTask[id] = {
+ // id: id,
+ // // position: that.createPosition(id)
+ // }
+ // }
+ // for (let k in begin1) {
+ // let id = begin1[k].id;
+ // that.isBeginTask[id] = {
+ // id: id,
+ // // position: that.createPosition(id)
+ // }
+ // }
+ // for (let k in no1) {
+ // let id = no1[k].id;
+ // that.$store.commit("addTask", id)
+ // }
+ // for (let k in no) {
+ // let id = no[k].id;
+ // that.$store.commit("addTask", id)
+ // }
+ // that.isOnTask[44].position.continuedTime();
+ } else {
+ that.overdata = data;
+ }
+ },
+ });
+ },
+ createPosition(id) {
+ return new $getPositions({
+ id: id,
+ fn: function(res) {
+ console.log(res);
+ // that.setNowposition(re)
+ }
+ })
+ },
+ // tips(type, title) {
+ // this.$refs.uTips.show({
+ // title: title,
+ // type: type,
+ // duration: '2300'
+ // })
+ // this.getGrabOrders(this.current); //重获取数据
+ // },
+ // useWebScoketApi(rid, serid, type) {
+ // let that = this;
+ // uni.request({
+ // url: this.$store.state.piAPI + "taskqd/startTask?" + `rid=${rid}&serid=${serid}&type=${type}`,
+ // method: "GET",
+ // success(res) {
+ // let type = res.data.data.type;
+ // if (type == 'start') { //开启成功
+ // that.tips('success', '开启任务成功')
+ // return;
+ // }
+ // if (type == 'stop') { //开启成功
+ // that.tips('success', '反馈任务成功')
+ // return;
+ // }
+ // },
+ // });
+ // },
+ getOrders(b) {
+ let val = b.val,
+ item = b.item,
+ that = this;
+ console.log(val, item)
+
+ if (val == 0) { //正在进行
+ if (item.type == "2") { //开始任务按钮
+ // that.useWebScoketApi(item.id, item.serid, "start");
+ let d = {
+ rid: item.id,
+ serid: item.serid,
+ type: "start",
+ // data: JSON.stringify(item),
+ that: that,
+ fn: () => {
+ that.getGrabOrders(that.current); //重获取数据
+ // setTimeout(() => {
+ // that.openOnce(item);
+ // }, 500)
+ }
+ }
+ that.$store.commit('useWebScoketApi', d);
+ }
+ if (item.type == "0") { //上传反馈
+ //反馈
+ uni.navigateTo({
+ url: "./feedback?data=" + JSON.stringify(item),
+ // url: "./feedback"
+ });
+ }
+ } else { //可参与
+ //接单
+ this.appdetitle = "是否参与任务:" + item.rname;
+ this.showPopup = true;
+ this.popupData = item;
+ }
+ },
+ confirms() {
+ let that = this;
+ this.popupData["serid"] = (uni.getStorageSync("ids") || that.$store.state.puserID) + ",";
+ this.popupData["captain"] = uni.getStorageSync("name") || that.$store.state.puserName;
+ // 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.current = 0;
+ that.swiperCurrent = 0;
+ that.$store.commit("changegotuGrabOrders");
+
+ },
+ });
+ },
+ },
+ };
+</script>
+
+<style scoped lang="scss">
+ page,
+ .grabOrders {
+ height: 100% !important;
+ width: 100% !important;
+ }
+
+ page {
+ overflow: hidden !important;
+ }
+
+ .swiper-item {
+ flex: 1;
+ }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page0.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page0.vue"
new file mode 100644
index 0000000..aee0871
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page0.vue"
@@ -0,0 +1,221 @@
+<template>
+ <view class="onveMain">
+ <view class="once" v-for="(item,index) in listData" :key="index" @click="openOnce(item)">
+ <view class="onve-left">
+ <view class="o-l-img">
+ <image :src="item.url" mode=""></image>
+ </view>
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <!-- <view class="o-l-m-center">
+ <u-icon name="account" color="#d0d0d0" size="28"></u-icon>
+ 培训讲师:<span>{{item.fname}}</span>
+ </view> -->
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 培训开始时间:
+ </view>
+ <view class="o-l-m-center" style="padding-left: 13px;">
+ <!-- <u-icon name="volume" color="#d0d0d0" size="28"></u-icon> -->
+ <!-- 时间: -->
+ {{item.time}}
+ </view>
+ </view>
+ </view>
+ <view class="onve-right">
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini" :disabled="true"
+ v-if="item.iscation == 0" @click="getOrders(swiperCurrent,item)">
+ <!-- <span class="Cation notCation">队员</span> -->
+ {{item.type == 1?"完成反馈":item.type == 0?"正在进行":"还未开始"}}
+ </u-button>
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini"
+ :disabled="item.type == 1" v-if="item.iscation == 1" @click="getOrders(swiperCurrent,item)">
+ <!-- <span class="Cation">队长</span> -->
+ {{item.type == 1?"完成反馈":item.type == 0?"上传反馈":"开始任务"}}
+ </u-button>
+ <view class="o-r-$">
+ 积分:{{item.integral}}
+ </view>
+ </view>
+ </view>
+ <u-divider>没有更多了</u-divider>
+ <view class="">
+ {{res}}
+ </view>
+ <br />
+ </view>
+</template>
+
+<script>
+ export default {
+ props: ["listData", "swiperCurrent"],
+ data() {
+ return {
+ res: ''
+ }
+ },
+ computed: {
+ changes() {
+ return this.$store.state.changes;
+ }
+ },
+ watch: {
+ changes() {
+ console.log(this.$store.state.isOnTaskValue)
+ this.res = this.$store.state.isOnTaskValue.intlat;
+ }
+ },
+ methods: {
+ openOnce(val) {
+ this.$emit("openOnce", val);
+ },
+ getOrders(val, item) {
+ let b = {
+ val: val,
+ item: item
+ }
+ this.$emit("getOrders", b);
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .onveMain {
+ width: 100%;
+ height: auto;
+ }
+
+ .once {
+ width: calc(100% - 10px);
+ height: 100px;
+ border: 1px solid #d0d0d0;
+ padding: 8px;
+ box-sizing: border-box;
+ margin: 5px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .onve-left {
+ width: 75%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .o-l-img {
+ width: 80px;
+ height: 80px;
+ background-color: #d0d0d0;
+ margin-right: 5px;
+ border-radius: 7px;
+
+ image {
+ width: 100%;
+ height: 100%;
+ border-radius: 7px;
+ }
+ }
+
+ .o-l-main {
+ width: calc(100% - 85px);
+ height: 80px;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ .o-l-m-up {
+ height: 30px;
+ font-size: 16px;
+ }
+ }
+ }
+
+ .onve-right {
+ width: 25%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ view {
+ margin-top: 10px;
+ }
+ }
+
+ .o-l-m-center span {
+ display: inline-block;
+ padding: 0px 5px 1px;
+ margin: 0 5px;
+ background-color: #ECF5FF;
+ border: 0.5px solid #e4f1ff;
+ color: #429FFF;
+ border-radius: 8px;
+ }
+
+ // .onceUp {
+ // width: 100%;
+ // height: 25%;
+ // padding-bottom: 5px !important;
+ // border-bottom: 1px solid #d0d0d0;
+ // }
+
+ // .onceMain {
+ // width: 100%;
+ // height: 80%;
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+
+ // .o-m-left {
+ // width: 80%;
+ // height: 100%;
+ // border: 1 solid #d0d0d0;
+ // display: flex;
+ // // align-items: center;
+ // justify-content: center;
+ // flex-direction: column;
+
+ // view {
+ // margin-top: 2.5px;
+ // padding-bottom: 2.5px;
+ // }
+ // }
+ // }
+
+ }
+
+ .orange {
+ color: #FF7B15;
+ }
+
+ .green {
+ color: #00e713;
+ }
+
+ .greens {
+ color: #18a655 !important;
+ }
+
+ .blues {
+ color: #2680F0 !important;
+ }
+
+ .Cation {
+ display: inline-block;
+ position: absolute;
+ left: -35px;
+
+ &::after {
+ content: "";
+ }
+ }
+
+ .notCation {
+ color: #18a655;
+ }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page1.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page1.vue"
new file mode 100644
index 0000000..1efb40b
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page1.vue"
@@ -0,0 +1,178 @@
+<template>
+ <view class="onveMain">
+
+ <view class="once" v-for="(item,index) in listData" :key="index" @click="openOnce(item)">
+ <view class="onve-left">
+ <view class="o-l-img">
+ <image :src="item.url" mode=""></image>
+ </view>
+ <!-- <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="order" color="#d0d0d0" size="28"></u-icon>
+ 人数:{{item.num}}/ {{item.jnum}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 时间:{{item.time.slice(0,10)}}
+ </view>
+ </view> -->
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <!-- <view class="o-l-m-center">
+ <u-icon name="account" color="#d0d0d0" size="28"></u-icon>
+ 培训讲师:<span>{{item.fname}}</span>
+ </view> -->
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 培训开始时间:
+ </view>
+ <view class="o-l-m-center" style="padding-left: 13px;">
+ <!-- <u-icon name="volume" color="#d0d0d0" size="28"></u-icon> -->
+ <!-- 时间: -->
+ {{item.time}}
+ </view>
+ </view>
+ </view>
+ <view class="onve-right">
+ <u-button :class="[swiperCurrent == 0?'orange':'green']" size="mini" :disabled="item.num==item.jnum"
+ @click="getOrders(swiperCurrent,item)">
+ {{item.num==item.jnum?"人数已满":"我要参与"}}
+ </u-button>
+ <view class="o-r-$">
+ 积分:{{item.integral}}
+ </view>
+ </view>
+ </view>
+ <u-divider>没有更多了</u-divider>
+ <br />
+ </view>
+</template>
+
+<script>
+ export default {
+ props: ["listData", "swiperCurrent"],
+ methods: {
+ openOnce(val) {
+ this.$emit("openOnce", val);
+ },
+ getOrders(val, item) {
+ let b = {
+ val: val,
+ item: item
+ }
+ this.$emit("getOrders", b);
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .onveMain {
+ width: 100%;
+ height: auto;
+ }
+
+ .once {
+ width: calc(100% - 10px);
+ height: 100px;
+ border: 1px solid #d0d0d0;
+ padding: 8px;
+ box-sizing: border-box;
+ margin: 5px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .onve-left {
+ width: 75%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .o-l-img {
+ width: 80px;
+ height: 80px;
+ background-color: #d0d0d0;
+ margin-right: 5px;
+ border-radius: 7px;
+
+ image {
+ width: 100%;
+ height: 100%;
+ border-radius: 7px;
+ }
+ }
+
+ .o-l-main {
+ width: calc(100% - 85px);
+ height: 80px;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ .o-l-m-up {
+ height: 30px;
+ font-size: 16px;
+ }
+ }
+ }
+
+ .onve-right {
+ width: 25%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ view {
+ margin-top: 10px;
+ }
+ }
+
+ // .onceUp {
+ // width: 100%;
+ // height: 25%;
+ // padding-bottom: 5px !important;
+ // border-bottom: 1px solid #d0d0d0;
+ // }
+
+ // .onceMain {
+ // width: 100%;
+ // height: 80%;
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+
+ // .o-m-left {
+ // width: 80%;
+ // height: 100%;
+ // border: 1 solid #d0d0d0;
+ // display: flex;
+ // // align-items: center;
+ // justify-content: center;
+ // flex-direction: column;
+
+ // view {
+ // margin-top: 2.5px;
+ // padding-bottom: 2.5px;
+ // }
+ // }
+ // }
+
+ }
+
+ .orange {
+ color: orange;
+ }
+
+ .green {
+ color: #00ba15;
+ }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page2.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page2.vue"
new file mode 100644
index 0000000..1efb40b
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/inPage/page2.vue"
@@ -0,0 +1,178 @@
+<template>
+ <view class="onveMain">
+
+ <view class="once" v-for="(item,index) in listData" :key="index" @click="openOnce(item)">
+ <view class="onve-left">
+ <view class="o-l-img">
+ <image :src="item.url" mode=""></image>
+ </view>
+ <!-- <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="order" color="#d0d0d0" size="28"></u-icon>
+ 人数:{{item.num}}/ {{item.jnum}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 时间:{{item.time.slice(0,10)}}
+ </view>
+ </view> -->
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <!-- <view class="o-l-m-center">
+ <u-icon name="account" color="#d0d0d0" size="28"></u-icon>
+ 培训讲师:<span>{{item.fname}}</span>
+ </view> -->
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 培训开始时间:
+ </view>
+ <view class="o-l-m-center" style="padding-left: 13px;">
+ <!-- <u-icon name="volume" color="#d0d0d0" size="28"></u-icon> -->
+ <!-- 时间: -->
+ {{item.time}}
+ </view>
+ </view>
+ </view>
+ <view class="onve-right">
+ <u-button :class="[swiperCurrent == 0?'orange':'green']" size="mini" :disabled="item.num==item.jnum"
+ @click="getOrders(swiperCurrent,item)">
+ {{item.num==item.jnum?"人数已满":"我要参与"}}
+ </u-button>
+ <view class="o-r-$">
+ 积分:{{item.integral}}
+ </view>
+ </view>
+ </view>
+ <u-divider>没有更多了</u-divider>
+ <br />
+ </view>
+</template>
+
+<script>
+ export default {
+ props: ["listData", "swiperCurrent"],
+ methods: {
+ openOnce(val) {
+ this.$emit("openOnce", val);
+ },
+ getOrders(val, item) {
+ let b = {
+ val: val,
+ item: item
+ }
+ this.$emit("getOrders", b);
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .onveMain {
+ width: 100%;
+ height: auto;
+ }
+
+ .once {
+ width: calc(100% - 10px);
+ height: 100px;
+ border: 1px solid #d0d0d0;
+ padding: 8px;
+ box-sizing: border-box;
+ margin: 5px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .onve-left {
+ width: 75%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .o-l-img {
+ width: 80px;
+ height: 80px;
+ background-color: #d0d0d0;
+ margin-right: 5px;
+ border-radius: 7px;
+
+ image {
+ width: 100%;
+ height: 100%;
+ border-radius: 7px;
+ }
+ }
+
+ .o-l-main {
+ width: calc(100% - 85px);
+ height: 80px;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ .o-l-m-up {
+ height: 30px;
+ font-size: 16px;
+ }
+ }
+ }
+
+ .onve-right {
+ width: 25%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ view {
+ margin-top: 10px;
+ }
+ }
+
+ // .onceUp {
+ // width: 100%;
+ // height: 25%;
+ // padding-bottom: 5px !important;
+ // border-bottom: 1px solid #d0d0d0;
+ // }
+
+ // .onceMain {
+ // width: 100%;
+ // height: 80%;
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+
+ // .o-m-left {
+ // width: 80%;
+ // height: 100%;
+ // border: 1 solid #d0d0d0;
+ // display: flex;
+ // // align-items: center;
+ // justify-content: center;
+ // flex-direction: column;
+
+ // view {
+ // margin-top: 2.5px;
+ // padding-bottom: 2.5px;
+ // }
+ // }
+ // }
+
+ }
+
+ .orange {
+ color: orange;
+ }
+
+ .green {
+ color: #00ba15;
+ }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map.vue"
new file mode 100644
index 0000000..477f73a
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map.vue"
@@ -0,0 +1,1187 @@
+<template>
+ <view class="content">
+ <u-top-tips ref="uTips"></u-top-tips>
+ <!-- <u-button type="info" @click="acc">测试</u-button> -->
+ <!-- <web-view :src="urls" @message="message"></web-view> -->
+ <!-- <map :scale='18' id="myMap" style="width: 100%" :style="{height: mapHeight + 'px'}" :markers="markersCom"
+ :longitude="longitude" :latitude="latitude" :circles="circlesCom" :polyline="mypolylines"
+ show-location="true">
+ <cover-view class="dingwBut" @click="mapControlsBack">
+ <cover-image src="./map/img/dingwei.png" @click="mapControlsBack">
+ </cover-image>
+ </cover-view>
+
+ </map> -->
+ <view id="Umain" :style="{ height: activeHeight}" @touchstart="touchstart" @touchend="touchend"
+ @touchmove="touchmove">
+ <!-- <view :class="['activeTip',activeTip?'isOpens':'notOpens'] " :style="{height:'30px'}"></view> -->
+ <!-- <view class="once-b">
+ 任务详情
+ </view> -->
+ <view class="once">
+ <span class="once-left">
+ 培训标题
+ </span>
+ <span class="once-right">
+ {{ourData.rname}}
+ </span>
+ </view>
+ <view class="once">
+ <span class="once-left">
+ 培训内容
+ </span>
+ <span class="once-right">
+ {{ourData.content}}
+ </span>
+ </view>
+ <view class="once">
+ <span class="once-left">
+ 培训讲师
+ </span>
+ <span class="once-right">
+ <span>{{ourData.fname}}</span>
+ </span>
+ </view>
+ <view class="once">
+ <span class="once-left">
+ 联系方式
+ </span>
+ <span class="once-right">
+ <span>{{ourData.phone}}</span>
+ </span>
+ </view>
+ <view class="once">
+ <span class="once-left">
+ 培训地点
+ </span>
+ <span class="once-right">
+ {{ourData.gathername}}
+ </span>
+ </view>
+ <view class="once">
+ <span class="once-left">
+ 开始时间
+ </span>
+ <span class="once-right">
+ {{ourData.time}}
+ </span>
+ </view>
+ <view class="once">
+ <span class="once-left">
+ 参培队伍
+ </span>
+ <span class="once-right">
+ 保安员队伍
+ </span>
+ </view>
+ <!-- <view class="once">
+ <span class="once-left">
+ 队长
+ </span>
+ <span class="once-right">
+ <span>{{ourData.captain}}</span>
+ </span>
+ </view> -->
+ <view class="once">
+ <span class="once-left">
+ 参与者
+ </span>
+ <span class="once-right">
+ <span v-for="(item,index) in ourData.teams">{{item}}</span>
+ </span>
+ </view>
+ <view class="once-c" v-if="ourData.buttype == 0">
+ <u-button :type="ourData.butCT == 'beginUp'?'primary':ourData.butCT == 'begin'?'success':'info'"
+ @click="openAPP(ourData.buttype)" :disabled="ourData.butCT== 'over' || ourData.iscation == '0'">
+ {{ourData.butCT == 'beginUp'?(ourData.iscation == '0'?'正在培训':'上传反馈'):ourData.butCT == 'begin'?(ourData.iscation == '0'?'还未开始':'开始培训'):'培训结束'}}
+ </u-button>
+ </view>
+ <view class="once-c" v-if="ourData.buttype == 1">
+ <!-- <u-button :type="ourData.num==ourData.jnum?'info':'success'" @click="openAPP(ourData.buttype)"
+ :disabled="(ourData.num==ourData.jnum)&& ourData.buttype==1 ||ourData.type == 1">
+ {{ourData.num==ourData.jnum?"人数已满":'我参与'}}
+ </u-button> -->
+ <u-button type="success" @click="openAPP(ourData.buttype)">
+ 我参与
+ </u-button>
+ </view>
+
+ </view>
+ <u-popup v-model="showIn" mode="bottom" border-radius="14" z-index='1000001' :mask-close-able="true">
+ <view class="Info2">
+ <view class="Info4">是否参加活动</view>
+ <u-button class="Info5" type="primary" @click="openAPP('oks')">参加</u-button>
+ <u-button class="Info5" type="error" @click="openAPP('nos')">取消</u-button>
+ <!--<view class="Info3">
+ </view> -->
+ </view>
+ </u-popup>
+ </view>
+</template>
+
+<script>
+ import $moveUniAppMap from "./map/js/moveUniAppMap.js"
+ export default {
+ data() {
+ return {
+ urls: '',
+ // dataList: [],
+ fn: null,
+ rid: '',
+ webV: null,
+ wv: null,
+ mapHeight: 0,
+ latitude: 28.687205773173343,
+ longitude: 115.8995839881188,
+ circles: [], //圆
+ markers: [], //标记点
+ mypolylines: [{ //指定一系列坐标点,从数组第一项连线至最后一项
+ points: [],
+ color: "#FE0000", //线的颜色
+ width: 10, //线的宽度
+ dottedLine: false, //是否虚线
+ arrowLine: false, //带箭头的线 开发者工具暂不支持该属性
+ },
+ { //指定一系列坐标点,从数组第一项连线至最后一项
+ points: [],
+ color: "#10a4ff", //线的颜色
+ width: 10, //线的宽度
+ dottedLine: false, //是否虚线
+ arrowLine: false, //带箭头的线 开发者工具暂不支持该属性
+ },
+ ],
+ useTime: null,
+ useTimeSet: null,
+ times: 3000,
+ setTimes: 30000,
+ ourData: {},
+ map: null,
+ domMove: null,
+ query: null,
+ showIn: false,
+ customStyle: {
+ backgroundColor: "#FFF",
+ },
+ bye: true,
+ types: '', //android?
+ moveDom: null, //移动实体类
+ activeHeight: "auto ", //活动高度 默认自动
+ afterClass: {},
+ activeTip: false, //是否展开
+
+ mapControls: [{
+ id: "1",
+ position: 20,
+ iconPath: "/static/tabbar/addSelectedIcon.png",
+ clickable: true,
+ }], //地图控件
+ }
+ },
+ methods: {
+ mapControlsBack() {
+ // console.log(1111)
+ this.getLocationInfo("notSet");
+ // this.bye = false;
+ // this.timeBegin(1);
+ },
+ touchstart(e) {
+ // console.log(e.changedTouches[0].clientY)
+ if (this.moveDom) {
+ this.moveDom.ListenerTouchstart(e)
+ }
+ },
+ touchmove(e) {
+ // console.log(e.changedTouches[0].clientY)
+ if (this.moveDom) {
+ this.moveDom.ListenerTouchmove(e)
+ }
+ },
+ touchend(e) {
+ // console.log(e.changedTouches[0].clientY)
+ if (this.moveDom) {
+ this.moveDom.ListenerTouchend(e)
+ }
+ },
+ openAPP(type) {
+ let that = this;
+ if (type == "oks") {
+ let dataAppend = that.ourData;
+ dataAppend["serid"] = (uni.getStorageSync("ids") || that.$store.state.puserID) + ",";
+ dataAppend["captain"] = uni.getStorageSync("name") || that.$store.state.puserName;
+ uni.request({
+ url: that.$store.state.piAPI + "taskqd/Graborder",
+ method: "POST",
+ data: dataAppend,
+ header: {
+ "content-type": "application/json",
+ },
+ success(res) {
+ if (res.data.msg == "抢单成功") {
+ // appenUrl: "http://192.168.0.108:83/",
+ // butCT: "beginUp",
+ // buttype: 0,
+ // captain: "我",
+ // city: "南昌市",
+ // content: "测试",
+ // district: "西湖区",
+ // id: 37,
+ // integral: "222",
+ // iscation: "1",
+ // jnum: 3,
+ // line: "LINESTRING(115.8995839881188 28.687205773173343,115.89391916267935 28.678966027079593,115.90404718391959 28.673644524394046,115.91211526863638 28.681369286356936)",
+ // num: 1,
+ // nums: 0,
+ // province: "江西省",
+ // publisher: "管理",
+ // raddress: null,
+ // rname: "测试1",
+ // rtype: "0",
+ // serid: "1123598821738675201,",
+ // team: "你,他,它",
+ // time: "2022-02-18 14:15:52",
+ // type: "2",
+ // fname: "管理者",
+ // url: "http://2
+ // myid:111
+ //myName:222
+ // that.ourData.rtype = 2;
+ // that.ourData.type = 2;
+ // that.ourData.buttype = 0;
+ // that.ourData.butCT = "begin";
+ // if (that.ourData.num == 0) {
+ // that.ourData.iscation = "1";
+ // that.ourData.serid += that.ourData.myid + ',';
+ // that.ourData.captain = that.ourData.myName;
+ // } else {
+ // that.ourData.iscation = "0";
+ // that.ourData.serid += that.ourData.myid + ',';
+ // that.ourData.team += ',' + that.ourData.myid;
+ // }
+ // that.ourData.butCT = "begin";
+ uni.showToast({
+ title: res.data.msg,
+ duration: 2000,
+ });
+ setTimeout(function() {
+ uni.redirectTo({
+ url: "/pages/grabOrders/grabOrdersZAFFPX/grabOrders?in=true"
+ })
+ }, 2200)
+ }
+ },
+ complete() {
+ that.showIn = false;
+ }
+ })
+ return
+ } else if (type == "nos") {
+ this.showIn = false;
+ return
+ }
+ // console.log(type)
+ if (type != 1) {
+ if (that.ourData.butCT == "beginUp") {
+ // 反馈
+ // if (that.onPosition) {
+ // that.onPosition.overContinued();
+ // }
+ this.bye = true;
+ uni.redirectTo({
+ url: '/pages/grabOrders/grabOrdersZAFFPX/feedback?data=' + JSON.stringify(this
+ .ourData) +
+ '&other="11111"'
+ });
+ } else if (that.ourData.butCT == "begin") {
+ that.bye = true; //点击开始 这个页面就不用了
+ // 开始任务
+ // that.setUniAppMsg("hBackMsg", {
+ // type: "start",
+ // ourData: {
+ // id: that.ourData.id,
+ // serid: that.ourData.serid
+ // },
+ // fn: function(val) {
+ // if (val == "success") {
+ // // console.log("成功开启任务")
+ // that.ourData.butCT = "beginUp";
+ // that.ourData.rtype = '0';
+ // that.ourData.type = "0";
+ // }
+ // }
+ // })
+ let rid = that.ourData.id,
+ serid = that.ourData.serid,
+ type = 'start',
+ url = that.$store.state.piAPI + "taskqd/startTask?" +
+ `rid=${rid}&serid=${serid}&type=${type}`;
+ // uni.request({
+ // url: url,
+ // method: "get",
+ // // header: {
+ // // "content-type": "application/json",
+ // // },
+ // success(res) {
+ // // that.timeBegin(1);
+ // // that.ourData.butCT = "beginUp";
+ // // that.ourData.rtype = '0';
+ // // that.ourData.type = "0";
+ // },
+ // complete() {
+ // that.showIn = false;
+ // }
+ // })
+ let d = {
+ rid: rid,
+ serid: serid,
+ type: type,
+ // data: JSON.stringify(item),
+ goto: "grabOrdersZAFFPX",
+ that: that,
+ fn: () => {
+ // that.getGrabOrders(that.current); //重获取数据
+ // setTimeout(() => {
+ // that.openOnce(item);
+ // }, 500)
+ }
+ }
+ that.$store.commit('useWebScoketApi', d);
+ // axios.get(url).then((res) => {
+ // // console.log(res);
+
+ // })
+ }
+ } else {
+ this.showIn = true;
+ // this.openAPP('oks')
+ // this.$confirm('是否参与活动:' + this.ourData.rname + "?", '提示', {
+ // confirmButtonText: '确定',
+ // cancelButtonText: '取消',
+ // type: 'success',
+ // center: true,
+ // customClass: "customClass"
+ // }).then(() => {
+ // let url = that.ourData.appenUrl + "taskqd/Graborder",
+ // ourDataAppend = that.ourData;
+ // console.log(url, ourDataAppend)
+
+ // }).catch(() => {
+
+ // });
+ }
+ },
+ // message(event) {
+ // let data = event.detail.data;
+
+ // console.log(data);
+ // },
+ // sendRequestData(res, plt = 0) {
+ // let param = JSON.stringify(res)
+ // console.log(param);
+ // if (plt == 1) {
+ // this.webV.postMessage({
+ // type: 'new',
+ // data: param
+ // })
+ // } else {
+ // this.wv.evalJS(`requestData(${param})`);
+ // }
+ // },
+ timeBegin(val) {
+ // console.log(this.bye)
+ let that = this;
+ if (this.bye) {
+ console.log("再见")
+ if (that.useTime) {
+ clearTimeout(that.useTime);
+ that.useTime = null;
+ }
+ if (that.useTimeSet) {
+ clearTimeout(that.useTimeSet);
+ that.useTimeSet = null;
+ }
+ return
+ }
+ if (this.useTime) {
+ return
+ } else {
+ //加入自己的路线基础 索引1
+ // this.mypolylines[1] = { //指定一系列坐标点,从数组第一项连线至最后一项
+ // points: [],
+ // color: "#10a4ff", //线的颜色
+ // width: 10, //线的宽度
+ // dottedLine: false, //是否虚线
+ // arrowLine: false, //带箭头的线 开发者工具暂不支持该属性
+ // }
+ if (val == 1) {
+ that.getLocationInfo();
+ }
+ this.useTime = setTimeout(() => {
+ that.getLocationInfo();
+ clearTimeout(this.useTime);
+ that.useTime = null;
+ that.timeBegin();
+ }, that.times)
+ }
+ },
+ timeBeginSet(d) {
+ let that = this;
+ if (this.useTimeSet) {
+ return
+ } else {
+ that.$store.commit("setMsg", d)
+ this.useTimeSet = setTimeout(() => {
+ clearTimeout(this.useTimeSet);
+ that.useTimeSet = null;
+ }, that.setTimes)
+ }
+ },
+ mover(o, a) {
+ let that = this;
+ uni.createMapContext("myMap", this).moveToLocation({
+ longitude: o,
+ latitude: a,
+ });
+ },
+ getLocationInfo(val) {
+ var that = this;
+ uni.getLocation({
+ type: 'gcj02',
+ isHighAccuracy: true,
+ success(res) {
+ // console.log(res, "当前位置");
+ that.latitude = res.latitude
+ that.longitude = res.longitude
+ // console.log(that.latitude)
+ // console.log(that.longitude)
+ that.map.moveToLocation({
+ latitude: res.latitude,
+ longitude: res.longitude
+ });
+ // that.mover(res.longitude, res.latitude); //移动
+ // that.$store.commit("setMsg",d)
+ //标记点
+ that.markers = [{
+ id: 1,
+ latitude: res.latitude,
+ longitude: res.longitude,
+ iconPath: './map/img/dinw/dinw1.png',
+ }]
+ that.circles = [{ //在地图上显示圆
+ latitude: res.latitude,
+ longitude: res.longitude,
+ fillColor: "#D9E6EF", //填充颜色
+ color: "#A7B6CB", //描边的颜色
+ radius: 10, //半径
+ strokeWidth: 2 //描边的宽度
+ }]
+ if (val != "notSet") {
+ let d = {
+ id: that.ourData.id,
+ intlat: [res.longitude, res.latitude]
+ }
+ that.timeBeginSet(d) //30秒送数据
+ //加入绘制路线
+ let useDataPosition = {
+ latitude: res.latitude,
+ longitude: res.longitude
+ }
+ let lat = useDataPosition.latitude + '';
+ let long = useDataPosition.longitude + '';
+ let oldLat = that.mypolylines[1].points.length == 0 ? 1 : that.mypolylines[1].points[
+ that.mypolylines[1].points.length -
+ 1].latitude + '';
+ let oldLong = that.mypolylines[1].points.length == 0 ? 1 : that.mypolylines[1].points[
+ that.mypolylines[1].points.length -
+ 1].longitude + '';
+ if (lat != oldLat && long != oldLong) { //判断如果两次位置不一样 那就添加
+ that.mypolylines[1].points.push(useDataPosition);
+ }
+ // console.log(lat != oldLat && long != oldLong, 222222222222);
+ // console.log(that.mypolylines[1].points.length)
+ }
+ }
+ });
+ },
+ getDom(name, fn) {
+ this.query.select('#Umain').boundingClientRect(data => {
+ if (fn) {
+ fn(data);
+ }
+ }).exec()
+ },
+ checkDomHeight(data) {
+ // 声明定时器
+ var timer = null,
+ that = this;
+ // 检查dom是否执行完成
+ function checkDom() {
+ let useData;
+ that.query.select(data.name).boundingClientRect(data => {
+ // console.log('11111111')
+ // console.log(data);
+ if (data.fn) {
+ //回调函数
+ data.fn(data);
+ return;
+ } else {
+ return data;
+ }
+ }).exec()
+ return;
+
+ }
+ // 首次执行
+ checkDom();
+ },
+ showWindow() {
+ return
+ let sub = uni.getSubNVueById("myMap");
+ sub.show('slide-in-left', 200, () => {
+ console.log('subNVue 原生子窗体显示成功');
+ });
+ sub.setStyle({
+ "position": "absolute",
+ "width": "100%",
+ "height": "50%",
+ "left": "0px",
+ "bottom": "0px",
+ "background-color": "#FFF000",
+ "border-top-left-radius": "15px",
+ "border-top-right-radius": "15px"
+ });
+ },
+ sendMsg(data) {
+ uni.$emit('sub', {
+ project: data
+ });
+ },
+ hideWindow() {
+ let sub = uni.getSubNVueById("sub");
+ sub.hide('fade-out', 300)
+ },
+ },
+ computed: {
+ isOnTaskValue() {
+ if (this.$store.state.changes) {
+ return this.$store.state.isOnTaskValue;
+ } else {
+ return this.$store.state.isOnTaskValue;
+ }
+ },
+ circlesCom() {
+ return this.circles.slice(0);
+ },
+ markersCom() {
+ return this.markers.slice(0);
+ },
+ // mypolylinesCom() {
+ // // console.log(this.mypolylines,"333333333333333333333")
+ // return this.mypolylines.slice(0);
+ // },
+ socketValue() {
+ return this.$store.state.socketValue;
+ }
+ },
+ watch: {
+ socketValue() {
+ console.log(this.socketValue)
+ if (this.socketValue.type === "stop") {
+ // console.log("任务结束vuevueveu")
+ // this.$store.commit("stopTask", this.socketValue.rid);
+ this.bye = true;
+ uni.redirectTo({
+ url: "/pages/grabOrders/grabOrders"
+ });
+ }
+ },
+ isOnTaskValue: {
+ handler(newName, oldName) {
+ // console.log("map", this.isOnTaskValue);
+ for (let k in this.isOnTaskValue) {
+ if (this.isOnTaskValue[k].id == this.rid) {
+ if (this.fn) {
+ this.fn(this.isOnTaskValue[k].intlat);
+ }
+ }
+ }
+ },
+ deep: true
+ }
+ },
+ mounted() {},
+ onReady() {
+ let that = this;
+ return
+ this.types = uni.getSystemInfoSync();
+
+ var animation = uni.createAnimation({
+ duration: 1000,
+ timingFunction: 'linear',
+ })
+
+ this.animation = animation;
+
+ let activeHeight = 0;
+ this.getDom("#Umain", (res) => {
+ // console.log(res, 1111111111111111111111111111)
+ that.mapHeight = that.types.windowHeight - res.height + 30;
+ // that.mapHeight = 30;
+ that.activeHeight = res.height;
+ activeHeight = res.height;
+ let minHeight = 4 * 40 + 30
+ let d = {
+ activeDom: "#Umain",
+ adaptDom: "#myMap",
+ uni: uni,
+ maxHeight: activeHeight, //在外面获取活动区域的高度,
+ //在构造中动态获取会实时改变这个值
+ //导致改变固定的最高高度
+ useHeight: minHeight, //缩小后的高度、、可设置成保留高度
+ critical: (activeHeight - minHeight) / 3, //收缩程度,,可设置成总滑动距离的1/2 (maxHeight - useHeight) / 2
+ fn: (res) => {
+ // console.log(res)
+ if (res.state != 'on') {
+ that.mapHeight = that.types.windowHeight - res.height + 30;
+ } else {
+ if (res.translate) {
+ that.activeTip = true;
+ }
+ if (res.translate) {
+ that.activeTip = false;
+ }
+ }
+
+ if (res.translate === true) {
+ that.activeTip = true;
+ } else if (res.translate === false) {
+ that.activeTip = false;
+ }
+ that.activeHeight = res.height + 'px';
+ }
+ }
+ // that.moveDom = new $moveUniAppMap(d);
+ })
+ // if (type == "android") {
+ // this.useHeight = "calc(100vh - 40px)";
+ // }
+ // window['hBackMsg'] = (val) => {
+ // // console.log(val)
+ // let d = {
+ // rid: val.data.id,
+ // serid: val.data.serid,
+ // type: val.type,
+ // that: that,
+ // fn: () => {
+ // // that.getGrabOrders(that.current); //重获取数据
+ // if (val.fn) {
+ // // console.log(111)
+ // val.fn("success");
+ // }
+ // }
+ // }
+ // that.$store.commit('useWebScoketApi', d);
+ // }
+ // window['setIntLat'] = (val) => {
+ // // console.log(fn);
+ // that.fn = val.fn || '';
+ // that.rid = val.rid || '';
+ // }
+ // window['showTip '] = (val) => {
+ // that.$refs.uTips.show({
+ // title: val,
+ // type: "warning",
+ // duration: '2300'
+ // })
+ // }
+ },
+ //监听返回
+ onBackPress(event) {
+ this.bye = true;
+ },
+ onLoad: function(options) {
+ this.map = uni.createMapContext("myMap", this);
+ var datas = {},
+ data = {},
+ that = this;
+ if (options.data == undefined) {
+ // data = JSON.stringify({
+ datas = {
+ appenUrl: "http://192.168.0.108:83/",
+ butCT: "begin",
+ buttype: 0,
+ captain: "我",
+ city: "南昌市",
+ content: "测试培训内容",
+ district: "西湖区",
+ id: 37,
+ integral: "222",
+ iscation: "1",
+ jnum: 3,
+ line: "LINESTRING(115.8995839881188 28.687205773173343,115.89391916267935 28.678966027079593,115.90404718391959 28.673644524394046,115.91211526863638 28.681369286356936)",
+ num: 1,
+ nums: 0,
+ province: "江西省",
+ publisher: "管理",
+ raddress: null,
+ rname: "测试培训",
+ rtype: "0",
+ serid: "1123598821738675201,",
+ team: "你,他,它",
+ time: "2022-02-18 14:15:52",
+ type: "2",
+ fname: "培训老师张",
+ myid: 111,
+ myName: 222,
+ url: "http://223.82.109.183:2081/zhba/upload/20220218/67f0c8bf3e7b5024c64133691f265072.ico",
+ // })
+ }
+ } else {
+ datas = options.data;
+ }
+ // if (typeof data == "string") {
+ let i = 0;
+ let toStrings = (val) => {
+ // console.log(i++)
+ // console.log(val)
+ let d = {}
+ if (typeof val == "string") {
+ d = JSON.parse(val)
+ } else {
+ console.log(typeof val == "string")
+ // console.log(val)
+ data = val;
+ return
+ }
+ toStrings(d);
+ }
+ toStrings(datas);
+ // console.log(data)
+ if (data.team) {
+ data["teams"] = data.team.split(",");
+ }
+ that.ourData = data;
+
+ return
+ uni.getSystemInfo({ //初始化地图高度
+ success(res) {
+ that.mapHeight = res.windowHeight;
+ }
+ });
+ // console.log(data);
+ // return
+ // console.log(options.html)
+ // var a = options.html != undefined ? options.html : "xcxMapJQ/xcxmap.html";
+ // console.log(a)
+ // let a = "grabOrdersMap/xcxmap.html";
+ // this.urls = "http://223.82.109.183:2082/" + a + "?data=" + data;
+ // let name = 1; //1是本地 2是服务器
+ // // let name = 1;
+ // let b = this.$store.state.piAPI;
+ // if (b == '/api') {
+ // name = 1;
+ // }
+ // // "E:\liumy\qfqk\qfqks\qfqk-android\leafletMapOur\grabOrdersMap\xcxmap.html"
+ // let a = name == 1 ? "http://127.0.0.1:8848/qfqk-android/leafletMapOur/" : b.slice(0, b.indexOf('api'));
+ // // this.urls = a + "grabOrdersMap/xcxmap.html?data=" + data;
+ // // a = a.slice(0, a.indexOf('api'));
+ // this.urls = a + "grabOrdersMap/xcxmap.html?data=" + data;
+ // this.urls = "http://192.168.0.222:5500/xcxmap.html?data=" + data;
+ // // this.urls = "http://localhost:80?data=" + data;
+ // // http://127.0.0.1:8848/qfqk-android/grabOrdersMap/xcxmap.html
+ // // this.dataList = data;
+ // // console.log(this.urls);
+ // let type = uni.getSystemInfoSync().platform;
+ // if (type == "android") {
+ // //webView传值
+ // let currentWebview = this.$scope.$getAppWebview();
+ // setTimeout(() => {
+ // that.wv = currentWebview.children()[0];
+ // console.log(that.wv)
+ // }, 1000)
+ // window.addEventListener('message', e => {
+ // console.log(e)
+ // that.webV = e.source // window的对象
+ // console.log(e.data.data.arg, '接收h5页面发来的消息'); // 接收h5页面发来的消息(11) ====>H5端
+ // }, false)
+ // setTimeout(() => {
+ // that.sendRequestData("给html", 1);
+ // that.sendRequestData("给html", 2);
+ // }, 10000)
+ // }
+ that.query = uni.createSelectorQuery();
+ const _this = this;
+ // uni.getSystemInfo({
+ // success: (res) => {
+ // // _this.mapHeight = (res.screenHeight - res.statusBarHeight) /2
+ // // setTimeout(() => {
+ // // that.getDom('#Umain', data => {
+ // // console.log(res.statusBarHeight, res.screenHeight, data, 'dat')
+ // // console.log(res.screenHeight - data.height + res
+ // // .statusBarHeight)
+ // // _this.mapHeight = res.screenHeight - res.statusBarHeight - 420
+ // that.mapHeight = res.screenHeight - res.statusBarHeight - 466
+ // that.mapHeight = that.mapHeight
+ // // })
+ // // }, 1000)
+
+ // // that.query.select('#Umain').boundingClientRect(data => {
+ // // console.log('11111111')
+ // // console.log(data)
+ // // }).exec();
+ // // console.log(res)
+ // // let info = uni.createSelectorQuery().select("Umain");
+ // // info.boundingClientRect(function(data) { //data - 各种参数
+ // // console.log(data.width) // 获取元素宽度
+ // // }).exec()
+ // }
+ // })
+ // console.log(document.getElementById("Umain"))
+ // this.checkDomHeightId({
+ // domName: "getElementById",
+ // name: "Umain",
+ // fn: function(dom) {
+ // console.log(dom)
+ // let UmainHeights = dom.clientHeight;
+ // uni.getSystemInfo({
+ // success: (res) => {
+ // _this.mapHeight = res.screenHeight - res.statusBarHeight -
+ // UmainHeights
+ // _this.mapHeight = _this.mapHeight
+ // }
+ // })
+ // }
+ // })
+ // this.checkDomHeight({
+ // domName: "getElementsByClassName",
+ // name: "content",
+ // fn: function(dom) {
+ // // console.log(dom[0])
+ // // dom.style.height = h - UmainHeight + "px";
+ // // document.getElementsByClassName("dingwei")[0].style.bottom =
+ // // UmainHeight + 10 + "px";
+ // // that.map.invalidateSize(true);
+
+ // let h = dom[0].clientHeight;
+ // //因为按钮使用v-if所以在识别高度时候,but还没渲染所以手动添加 56px 不会变
+ // // console.log("应用数据")
+ // let UmainHeight = document.getElementById("Umain").clientHeight;
+ // // if (that.ourData.iscation == "1") {
+ // // UmainHeight += 56;
+ // // }
+ // //计算最小单位
+ // let rows = document.getElementsByClassName("once"),
+ // rowsHeight = 45;
+ // for (let ri = 0; ri < 3; ri++) {
+ // rowsHeight += rows[ri].clientHeight;
+ // }
+ // //适应高度
+ // that.domMove = new $moveWindow({
+ // id: "Umain",
+ // minHeight: rowsHeight,
+ // maxHeight: UmainHeight,
+ // critical: (UmainHeight - rowsHeight) / 4,
+ // openAnimation: false,
+ // fn: function(res) {
+ // // console.log(that.map.options)
+
+ // // document.getElementById("myMap").style.height = h - res.height + "px";
+ // // console.log(h, res.height)
+ // // uni.getSystemInfo({
+ // // success: (res) => {
+ // // _this.mapHeight = h - res.height
+ // // _this.mapHeight = _this.mapHeight
+ // // }
+ // // })
+ // // that.map.setView([that.map.options.center[0], +that.map.options.center[1] + 0.002], that.map
+ // // .options.zoom);
+ // // console.log(h - res.height)
+ // if (res.state === true || res.state === false) {
+ // // that.map.invalidateSize(true);
+ // // _this.mapHeight = h - res.height;
+ // // _this.map.moveToLocation({
+ // // latitude: _this.latitude,
+ // // longitude: _this.longitude
+ // // });
+ // document.getElementById("myMap").style.height = h - res
+ // .height + "px";
+ // }
+ // // document.getElementsByClassName("dingwei")[0].style.bottom = res.height +
+ // // 10 + "px";
+ // },
+ // });
+ // that.domMove.init();
+ // }
+ // })
+
+ return
+ //画线
+ // console.log(data)
+ if (data.line) {
+ let line = data.line.split("(")[1].split(")")[0].split(",");
+ }
+ // console.log(line[0].split(" ")[1])
+ // console.log(line[0].split(" ")[0])
+ this.latitude = line[0].split(" ")[1];
+ this.longitude = line[0].split(" ")[0];
+ this.map.moveToLocation({
+ // latitude: line[0].split(" ")[1],
+ // longitude: line[0].split(" ")[0]
+ latitude: 40.013305,
+ longitude: 118.685713
+ });
+ let ourline = [];
+ for (let k in line) {
+ let ins = line[k].split(" ");
+ ourline.push({
+ latitude: +ins[1],
+ longitude: +ins[0]
+ })
+ }
+ // setTimeout(() => {
+ // this.mypolylines[0] = { //指定一系列坐标点,从数组第一项连线至最后一项
+ // points: ourline,
+ // color: "#FE0000", //线的颜色
+ // width: 10, //线的宽度
+ // dottedLine: false, //是否虚线
+ // arrowLine: false, //带箭头的线 开发者工具暂不支持该属性
+ // }
+ that.mypolylines[0].points = ourline;
+ // console.log(this.mypolylines)
+ // }, 1000)
+ this.showWindow();
+ // this.getLocationInfo(data);
+ if (data.butCT == "beginUp" && data.buttype == 0) {
+ this.bye = false;
+ this.timeBegin(1);
+ }
+ },
+ beforeDestroy() {
+ this.$store.commit("changegotuGrabOrders");
+ }
+ }
+</script>
+
+<style lang="scss">
+ .content {
+ // flex: 1;
+ // height: 100%;
+ overflow: hidden;
+ // position: relative;
+ }
+
+ #Umain {
+ // position: absolute;
+ // bottom: 0;
+ // left: 0;
+ width: 100%;
+ // overflow: hidden;
+ }
+
+ .once {
+ width: 100%;
+ min-height: 40px;
+ background-color: #fff;
+ display: flex;
+ align-items: center;
+ /* margin-bottom: 10px; */
+ border-bottom: 1px solid #e8e8e8;
+ padding: 0 10px;
+ }
+
+ .once-left {
+ width: 25%;
+ text-align: justify;
+ text-align-last: justify;
+ padding-right: 20px;
+ box-sizing: border-box;
+ }
+
+ .once-left::after {
+ content: ":";
+ position: absolute;
+ }
+
+ .once-right {
+ width: calc(75% - 20px);
+ height: auto;
+ /* border: 1px solid red; */
+ box-sizing: border-box;
+ word-break: break-all;
+ }
+
+ .once-right span {
+ display: inline-block;
+ padding: 0px 5px 1px;
+ margin: 0 5px;
+ background-color: #ECF5FF;
+ border: 0.5px solid #e4f1ff;
+ color: #429FFF;
+ border-radius: 8px;
+ }
+
+ .once-c {
+ width: 100%;
+ height: 60px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 8px 0;
+ background-color: #fff;
+ }
+
+ .once-b {
+ width: 100%;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: #fff;
+ border-bottom: 1px solid #e8e8e8;
+ /* margin-bottom: 10px; */
+ }
+
+ .submits {
+ margin: 60rpx 90rpx 0;
+ border: none;
+ width: 572rpx;
+ height: 86rpx;
+ // line-height: 86rpx;
+ box-sizing: border-box;
+ border-radius: 15rpx;
+ background-color: #103289;
+ color: #ffffff;
+
+ &::after {
+ content: none;
+ }
+
+ &::before {
+ content: none;
+ }
+
+ &[disabled='true'] {
+ background: #e4e4e4;
+ font-size: 36rpx;
+ font-family: Source Han Sans CN;
+ font-weight: 500;
+ color: #ffffff;
+ }
+ }
+
+
+ .Info2 {
+ width: 100%;
+ // height: 100px;
+ padding: 0 10px;
+
+ .Info3 {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 50px;
+ }
+
+ .Info4 {
+ width: 100%;
+ line-height: 50px;
+ font-size: 18px;
+ text-align: center;
+ height: 50px;
+ }
+
+ .Info5 {
+ margin-bottom: 10px !important;
+ width: 70%;
+ }
+ }
+
+ .notOpens {
+ &::after {
+ content: "";
+ display: block;
+ width: 20px;
+ height: 4px;
+ background-color: rgba(202, 202, 202, 1);
+ position: absolute;
+ top: 10px;
+ left: calc(50% - 10px);
+ border-radius: 5px;
+ transition: all 0.5s;
+ }
+ }
+
+ .activeTip {
+ background-color: #fff;
+ }
+
+ .isOpens {
+ &::after {
+ content: "";
+ display: block;
+ width: 13px;
+ height: 4px;
+ background-color: rgba(202, 202, 202, 1);
+ position: absolute;
+ top: 10px;
+ left: calc(50% - 12px);
+ border-radius: 5px;
+ transform: rotate(30deg);
+ transition: all 0.5s;
+ }
+
+ &::before {
+ content: "";
+ display: block;
+ width: 13px;
+ height: 4px;
+ background-color: rgba(202, 202, 202, 1);
+ position: absolute;
+ top: 10px;
+ left: calc(50% - 4px);
+ border-radius: 5px;
+ transform: rotate(-30deg);
+ transition: all 0.5s;
+ }
+ }
+
+ .dingwBut {
+ width: 80upx;
+ height: 80upx;
+ background-color: #fff;
+ border-radius: 20upx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ bottom: 40upx;
+ right: 40upx;
+
+ // background-color: red;
+ // .dingwButImg {
+ // width: 80%;
+ // height: 80%;
+ // }
+ // .icon{
+ // }
+ // &::after{
+ // content: url(map/img/dingwei.png);
+ // }
+ // .dingwButImg {
+ // animation: mymove 5s infinite;
+ // animation-timing-function: linear;
+ // }
+ }
+
+
+
+ @keyframes mymove {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ 100% {
+ transform: rotate(1turn);
+ }
+ }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dingwei.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dingwei.png"
new file mode 100644
index 0000000..58a917e
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dingwei.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw1.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw1.png"
new file mode 100644
index 0000000..080b720
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw1.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw2.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw2.png"
new file mode 100644
index 0000000..a51e5d0
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw2.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw3.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw3.png"
new file mode 100644
index 0000000..76b6f88
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw3.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw4.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw4.png"
new file mode 100644
index 0000000..cd5de4d
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw4.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw5.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw5.png"
new file mode 100644
index 0000000..79a421a
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw5.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw6.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw6.png"
new file mode 100644
index 0000000..772af08
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/dinw6.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/location.png" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/location.png"
new file mode 100644
index 0000000..52d5d19
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/img/dinw/location.png"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/js/move.js" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/js/move.js"
new file mode 100644
index 0000000..21c94d7
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/js/move.js"
@@ -0,0 +1,173 @@
+class $moveWindow {
+ constructor(data) {
+ this.id = data.id;
+ this.start = 0;
+ this.end = 0;
+ this.domHeight = 0;
+ this.domMove = null;
+ this.openValue = false;
+ this.useHeight = data.minHeight;
+ this.maxHeight = data.maxHeight;
+ this.height = data.minHeight;
+ this.critical = data.critical;
+ this.openAnimation = data.openAnimation;
+ let that = this;
+ this.fn =
+ data.fn ? (function(res) {
+ // console.log("回调函数");
+ data.fn(res);
+ that.changeHeight(res);
+ // if (res.state === true) {
+ // console.log(that.openValue, res.state)
+ // } else if (res.state === false) {
+ // console.log(that.openValue, res.state)
+ // }
+ }) :
+ (function(res) {
+ console.log("未设置回调函数");
+ console.log(res);
+ });
+
+ this.ListenerTouchmove = function(window) {
+ let moseHeight = window.changedTouches[0].clientY;
+ // let windowHeight = document.body.clientHeight; //屏幕宽度
+ let endOn = moseHeight;
+ // console.log(that.domHeight, that.start, endOn)
+ let cha = that.domHeight + (+that.start - +endOn);
+ if (cha >= that.maxHeight) {
+ cha = that.maxHeight;
+ } else if (cha <= that.useHeight) {
+ cha = that.useHeight;
+ }
+ let d = {
+ state: "on",
+ height: cha,
+ };
+ that.fn(d);
+ };
+ this.ListenerTouchstart = function(window) {
+ let moseHeight = window.changedTouches[0].clientY;
+ that.start = moseHeight;
+ // that.domHeight = document
+ // .getElementById(that.id)
+ // .style.cssText.split("px")[0]
+ // .split("height:")[1];
+ that.domHeight = document
+ .getElementById(that.id)
+ .clientHeight;
+ };
+ this.ListenerTouchend = function(window) {
+ let moseHeight = window.changedTouches[0].clientY;
+ that.end = moseHeight;
+ let cha, states;
+ if (that.end >= that.start) {
+ states = false; //方向
+ cha = that.end - that.start;
+ } else {
+ states = true; //方向
+ cha = that.start - that.end;
+ }
+ if (cha >= that.critical) {
+ //高
+ that.opens(states, true); //程度
+ } else if (cha < that.critical) {
+ //低
+ that.opens(states, false); //程度
+ }
+ };
+ return this;
+ }
+ //启动监听事件
+ init() {
+ // this.domMove = document.getElementById(this.id);
+ let that = this;
+ this.checkDom(that.id, (dom) => {
+ //检测是否有dom
+ that.domMove = dom;
+ if (that.openAnimation) {
+ that.domMove.style.transition = 'all 0.2s';
+ }
+ that.domMove.addEventListener("touchmove", that.ListenerTouchmove);
+ // 结束位置靠滑动距离判断
+ that.domMove.addEventListener("touchstart", that.ListenerTouchstart);
+ that.domMove.addEventListener("touchend", that.ListenerTouchend);
+ });
+ }
+ //关闭监听事件
+ closeInit() {
+ this.domMove = document.getElementById(this.id);
+ this.domMove.removeEventListener("touchmove", this.ListenerTouchmove);
+ // 结束位置靠滑动距离判断
+ this.domMove.removeEventListener("touchstart", this.ListenerTouchstart);
+ this.domMove.removeEventListener("touchend", this.ListenerTouchend);
+ }
+ //输出事件
+ opens(val, chengdu) {
+ if (chengdu) {
+ this.openValue = val;
+ if (val) {
+ this.height = this.maxHeight;
+ } else {
+ this.height = this.useHeight;
+ }
+ } else {
+ this.height = this.domHeight;
+ }
+ let d = {
+ state: this.openValue,
+ height: this.height,
+ };
+ this.fn(d);
+ }
+ changeHeight(data) {
+ document
+ .getElementById(this.id).style.height = data.height + "px";
+ }
+ checkDom(name, fn) {
+ // 声明定时器
+ var timer = null;
+ // 检查dom是否执行完成
+ function checkDom() {
+ // let dom = that.$refs[name];
+ let dom = document.getElementById(name);
+ if (dom) {
+ // 执行dom加载完成后的操作
+ // 清除定时器
+ if (!timer) {
+ clearTimeout(timer);
+ }
+ if (fn) {
+ //回调函数
+ fn(dom);
+ return;
+ } else {
+ return dom;
+ }
+ } else {
+ // 自我调用
+ timer = setTimeout(checkDom, 100);
+ }
+ }
+ // 首次执行
+ checkDom();
+ }
+ // 结束位置是一半判断
+ // domMove.addEventListener("touchend", function (window) {
+ // let moseHeight = window.changedTouches[0].clientY;
+ // let windowHeight = document.body.clientHeight;
+ // let cha = windowHeight - moseHeight;
+ // console.log(cha, "最后位置");
+ // let centerPoint =
+ // (windowHeight / 2 - +that.useHeight) / 2 + +that.useHeight;
+ // if (cha >= centerPoint) {
+ // cha = windowHeight / 2;
+ // } else if (cha < centerPoint) {
+ // cha = that.useHeight;
+ // }
+ // that.height = cha;
+ // });
+}
+
+export default $moveWindow;
+
+// console.log(moveWindow)
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/js/moveUniAppMap.js" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/js/moveUniAppMap.js"
new file mode 100644
index 0000000..ac1c9c8
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/map/js/moveUniAppMap.js"
@@ -0,0 +1,128 @@
+class $moveUniAppMap {
+ constructor(arg) {
+ this.activeDom = arg.activeDom; //活动dom
+ this.adaptDom = arg.adaptDom; //适应dom
+ this.windowSize = arg.uni.getSystemInfoSync(); // 设备参数含屏幕尺寸
+ let doms = arg.uni.createSelectorQuery(); //获取dom参数uni工具
+ this.getDoms = (name, fn) => { //fn是会回调函数,不用promis
+ doms.select(name).boundingClientRect((data) => {
+ if (fn) {
+ fn(data)
+ }
+ }).exec()
+ }
+ // console.log(this.windowSize)
+
+ this.start = 0;
+ this.end = 0;
+ this.domHeight = 0;
+ this.openValue = false; //方向
+ this.useHeight = arg.useHeight; //使用的低高度
+ this.critical = arg.critical; //收缩展开的程度
+ // this.getDoms(this.activeDom, (res) => { //获取dom最大高度
+ this.maxHeight = arg.maxHeight;
+ // })
+ this.fn = (res) => {
+ if (arg.fn) {
+ arg.fn(res)
+ } else {
+ console.log(res, "未设置输出函数")
+ }
+ }
+
+ return this;
+ }
+ ListenerTouchstart(dom) { //开始移动,记录开始点和活动dom高度
+ this.start = dom.changedTouches[0].clientY;
+ this.getDoms(this.activeDom, (res) => { //动态获取当前活动dom高度
+ this.domHeight = res.height;
+ })
+ // let d = {
+ // state: "start",
+ // height: this.maxHeight,
+ // };
+ // // console.log(cha, "cha")
+ // // console.log(+endOn - +this.start, "cha")
+ // this.fn(d);
+ // console.log(this.start, "this.start")
+ }
+ ListenerTouchmove(dom) {
+ let endOn = dom.changedTouches[0].clientY;
+ // console.log(that.domHeight, that.start, endOn)
+ let usecha = +this.start - +endOn;
+ let cha = this.domHeight + usecha;
+ if (cha >= this.maxHeight) {
+ cha = this.maxHeight;
+ } else if (cha <= this.useHeight) {
+ cha = this.useHeight;
+ }
+ let translate = false;
+ if (usecha >= this.critical) {
+ translate = true;
+ }
+ if (usecha <= -this.critical) {
+ translate = true;
+ }
+ let d = {
+ state: "on",
+ height: cha,
+ translate: translate
+ };
+ if (usecha >= 0) {
+ d.state = "up";
+ }
+ // console.log(cha, "cha")
+ // console.log(usecha, "cha")
+ this.fn(d);
+ }
+ ListenerTouchend(dom) {
+ this.end = dom.changedTouches[0].clientY;
+ let cha, states;
+ if (this.end >= this.start) {
+ states = false; //方向向下收缩
+ cha = this.end - this.start;
+ } else {
+ states = true; //方向向上抬起
+ cha = this.start - this.end;
+ }
+ if (cha >= this.critical) {
+ //高
+ this.judge(states, true); //程度
+ } else if (cha < this.critical) {
+ //低
+ this.judge(states, false); //程度
+ }
+ // console.log(cha)
+ }
+ innit() {
+
+ }
+ //输出事件
+ judge(val, chengdu) {
+ let translate = '';
+ if (chengdu) {
+ this.openValue = val;
+ if (val) {
+ this.height = this.maxHeight; //给到向上的最高高度
+ } else {
+ this.height = this.useHeight; //给到向下的最低高度
+ }
+ } else {
+ this.height = this.domHeight; //给到当前高度
+ }
+ if (this.height == this.maxHeight) {
+ translate = false;
+ } else {
+ translate = true;
+ }
+ let d = {
+ state: this.openValue,
+ height: this.height,
+ translate: translate
+ };
+ // console.log(d)
+ this.fn(d);
+ }
+}
+
+export default $moveUniAppMap;
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/once.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/once.vue"
new file mode 100644
index 0000000..c8808b2
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/once.vue"
Binary files differ
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/task - \345\211\257\346\234\254.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/task - \345\211\257\346\234\254.vue"
new file mode 100644
index 0000000..5818cba
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/task - \345\211\257\346\234\254.vue"
@@ -0,0 +1,88 @@
+<template>
+ <view class="grabOrdersTask">
+ <once title="任务标题" :input="data.rname"></once>
+ <once title="任务内容" :input="data.content"></once>
+ <once title="任务地址" :input="data.place"></once>
+ </br>
+ <once title="开始时间" :input="data.time"></once>
+ <once title="结束时间" :input="data.alarmTime"></once>
+ </br>
+ <once title="活动要求" :input="data.infor">
+ </once>
+ </br>
+ <!-- <once title="结束时间" input="2021-08-10"></once> -->
+ <view class="but">
+ <u-button class="custom-style" type="primary" @click="inits(1)" v-show="data.current == 1"> 我参与</u-button>
+ <u-button class="custom-style" type="primary" @click="inits(2)" v-show="data.current == 0"> 我反馈</u-button>
+ </view>
+ </view>
+</template>
+
+<script>
+ import once from './once.vue'
+ export default {
+ components: {
+ once
+ },
+ data() {
+ return {
+ data: ''
+ };
+ },
+ methods: {
+ inits(val) {
+ //
+ if (val == 1) { //接受任务
+ //
+ } else { //跳转反馈
+ //
+ uni.navigateTo({
+ url: './feedback?data=' + JSON.stringify(val),
+ });
+ }
+ }
+ },
+ onLoad: function(option) {
+ var b;
+ if (option.data == undefined) {
+ this.data = {
+ rname: '无数据',
+ content: '无数据',
+ district: '无数据',
+ place: '无数据',
+ time: '无数据',
+ num: "无数据",
+ ourNum: "无数据",
+ inNum: "无数据",
+ infor: "无数据"
+ }
+ return;
+ }
+ try {
+ b = JSON.parse(option.data);
+ } catch (e) {
+ //TODO handle the exception
+ }
+ console.log(b);
+ this.data = b;
+ }
+ };
+</script>
+
+<style lang="scss" scoped>
+ page {
+ width: 100%;
+ height: 100%;
+ background-color: #F0EFF5;
+ }
+
+ .but {
+ width: 30%;
+ margin: 0 auto;
+
+ .custom-style {
+ background-image: linear-gradient(to right, #08EFF6, #0693FD);
+ border-radius: 20px;
+ }
+ }
+</style>
diff --git "a/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/task.vue" "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/task.vue"
new file mode 100644
index 0000000..5818cba
--- /dev/null
+++ "b/pages/grabOrders/grabOrdersZAFFPX - \345\211\257\346\234\254/task.vue"
@@ -0,0 +1,88 @@
+<template>
+ <view class="grabOrdersTask">
+ <once title="任务标题" :input="data.rname"></once>
+ <once title="任务内容" :input="data.content"></once>
+ <once title="任务地址" :input="data.place"></once>
+ </br>
+ <once title="开始时间" :input="data.time"></once>
+ <once title="结束时间" :input="data.alarmTime"></once>
+ </br>
+ <once title="活动要求" :input="data.infor">
+ </once>
+ </br>
+ <!-- <once title="结束时间" input="2021-08-10"></once> -->
+ <view class="but">
+ <u-button class="custom-style" type="primary" @click="inits(1)" v-show="data.current == 1"> 我参与</u-button>
+ <u-button class="custom-style" type="primary" @click="inits(2)" v-show="data.current == 0"> 我反馈</u-button>
+ </view>
+ </view>
+</template>
+
+<script>
+ import once from './once.vue'
+ export default {
+ components: {
+ once
+ },
+ data() {
+ return {
+ data: ''
+ };
+ },
+ methods: {
+ inits(val) {
+ //
+ if (val == 1) { //接受任务
+ //
+ } else { //跳转反馈
+ //
+ uni.navigateTo({
+ url: './feedback?data=' + JSON.stringify(val),
+ });
+ }
+ }
+ },
+ onLoad: function(option) {
+ var b;
+ if (option.data == undefined) {
+ this.data = {
+ rname: '无数据',
+ content: '无数据',
+ district: '无数据',
+ place: '无数据',
+ time: '无数据',
+ num: "无数据",
+ ourNum: "无数据",
+ inNum: "无数据",
+ infor: "无数据"
+ }
+ return;
+ }
+ try {
+ b = JSON.parse(option.data);
+ } catch (e) {
+ //TODO handle the exception
+ }
+ console.log(b);
+ this.data = b;
+ }
+ };
+</script>
+
+<style lang="scss" scoped>
+ page {
+ width: 100%;
+ height: 100%;
+ background-color: #F0EFF5;
+ }
+
+ .but {
+ width: 30%;
+ margin: 0 auto;
+
+ .custom-style {
+ background-image: linear-gradient(to right, #08EFF6, #0693FD);
+ border-radius: 20px;
+ }
+ }
+</style>
diff --git a/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue b/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue
index 5ab1efe..29f8c6c 100644
--- a/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue
+++ b/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue
@@ -11,17 +11,14 @@
<swiper-item v-for="(item, index) in list" :key="index" :style="{ height: useHeight, width: '100%' }">
<view class="swiper-item">
<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 == '正在进行'">
- {{leftdata}}
- </view>
- <view class="b" v-if="item.name == '可参与'">
- {{rightdata}}
- </view>-->
+ <page0 :listData="rightdata" :swiperCurrent="1" v-if="item.name == '正在进行'" @openOnce="openOnce"
+ @getOrders="getOrders">
+ </page0>
+ <page1 :listData="leftdata" :swiperCurrent="0" v-if="item.name == '可参与'" @openOnce="openOnce"
+ @getOrders="getOrders">
+ </page1>
+ <page2 :listData="overdata" :swiperCurrent="2" v-if="item.name == '已完成'" @openOnce="openOnce"
+ @getOrders="getOrders"></page2>
</scroll-view>
</view>
</swiper-item>
@@ -37,18 +34,22 @@
<script>
import page0 from "./inPage/page0.vue";
import page1 from "./inPage/page1.vue";
+ import page2 from "./inPage/page2.vue";
export default {
components: {
page0,
page1,
+ page2
},
data() {
return {
list: [{
+ name: "可参与",
+ }, {
name: "正在进行",
},
{
- name: "可参与",
+ name: "已完成",
},
],
// 因为内部的滑动机制限制,请将tabs组件和swiper组件的current用不同变量赋值
@@ -56,6 +57,7 @@
swiperCurrent: 0, // swiper组件的current值,表示当前那个swiper-item是活动的
leftdata: [],
rightdata: [],
+ overdata: [],
showPopup: false,
appdetitle: "",
popupData: {},
@@ -72,8 +74,12 @@
},
watch: {
current() {
- // console.log(this.current)
+ console.log(this.current)
+ // if (this.current == 0) {
+ // console.log(1)
+ // this.getGrabOrders(0);
this.getGrabOrders(this.current);
+ // }
},
change() {
this.getGrabOrders(this.current);
@@ -139,7 +145,7 @@
openOnce(val) {
//打开地图
// console.log(this.swiperCurrent)
- val["buttype"] = this.swiperCurrent; //tab标识,0正在进行,1可参与
+ val["buttype"] = this.swiperCurrent == 1 ? 0 : (this.swiperCurrent == 0 ? 1 : 2); //tab标识,0正在进行,1可参与
val["serid"] = (uni.getStorageSync("ids") || this.$store.state.puserID) + ",";
val["appenUrl"] = this.$store.state.piAPI;
//打开地图
@@ -180,15 +186,16 @@
let that = this,
d = {
serid: uni.getStorageSync("ids") || that.$store.state.puserID,
- type: val + "",
- tasktype:'2'
+ type: val == 1 ? 0 : (val == 0 ? 1 : 2) + "",
+ tasktype: '2'
};
-
- if (val == 1) {
+ let isWhere = val == 0 ? "可参与" : val == 1 ? "正在进行" : "已完成";
+ if (val == 0) {
d.jurisdiction = this.$store.state.UserData.jurisdiction;
d.workjurisdiction = this.$store.state.UserData.workjurisdiction;
}
// console.log(that.$store.state.puserID)
+ console.log(d)
uni.request({
url: this.$store.state.piAPI + "taskqd/selectLi",
method: "POST",
@@ -198,10 +205,10 @@
},
success(res) {
const data = res.data.data;
- // console.log(data);
- if (val == 1) {
- that.rightdata = data;
- } else {
+ console.log(data);
+ if (isWhere == "可参与") {
+ that.leftdata = data;
+ } else if (isWhere == "正在进行") {
let no = [],
ok = [],
begin = [],
@@ -235,7 +242,7 @@
}
}
- that.leftdata = [...begin1, ...begin, ...no1, ...no, ...ok1, ...ok];
+ that.rightdata = [...begin1, ...begin, ...no1, ...no, ...ok1, ...ok];
// console.log(that.leftdata)
// for (let k in begin) {
// let id = begin[k].id;
@@ -260,6 +267,8 @@
// that.$store.commit("addTask", id)
// }
// that.isOnTask[44].position.continuedTime();
+ } else {
+ that.overdata = data;
}
},
});
diff --git a/pages/grabOrders/grabOrdersZAFFPX/inPage/page1.vue b/pages/grabOrders/grabOrdersZAFFPX/inPage/page1.vue
index 58162b0..1efb40b 100644
--- a/pages/grabOrders/grabOrdersZAFFPX/inPage/page1.vue
+++ b/pages/grabOrders/grabOrdersZAFFPX/inPage/page1.vue
@@ -6,7 +6,7 @@
<view class="o-l-img">
<image :src="item.url" mode=""></image>
</view>
- <view class="o-l-main">
+ <!-- <view class="o-l-main">
<view class="o-l-m-up">
{{item.rname}}
</view>
@@ -18,6 +18,24 @@
<u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
时间:{{item.time.slice(0,10)}}
</view>
+ </view> -->
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <!-- <view class="o-l-m-center">
+ <u-icon name="account" color="#d0d0d0" size="28"></u-icon>
+ 培训讲师:<span>{{item.fname}}</span>
+ </view> -->
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 培训开始时间:
+ </view>
+ <view class="o-l-m-center" style="padding-left: 13px;">
+ <!-- <u-icon name="volume" color="#d0d0d0" size="28"></u-icon> -->
+ <!-- 时间: -->
+ {{item.time}}
+ </view>
</view>
</view>
<view class="onve-right">
diff --git a/pages/grabOrders/grabOrdersZAFFPX/inPage/page2.vue b/pages/grabOrders/grabOrdersZAFFPX/inPage/page2.vue
new file mode 100644
index 0000000..45b6574
--- /dev/null
+++ b/pages/grabOrders/grabOrdersZAFFPX/inPage/page2.vue
@@ -0,0 +1,179 @@
+<template>
+ <view class="onveMain">
+
+ <view class="once" v-for="(item,index) in listData" :key="index" @click="openOnce(item)">
+ <view class="onve-left">
+ <view class="o-l-img">
+ <image :src="item.url" mode=""></image>
+ </view>
+ <!-- <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="order" color="#d0d0d0" size="28"></u-icon>
+ 人数:{{item.num}}/ {{item.jnum}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 时间:{{item.time.slice(0,10)}}
+ </view>
+ </view> -->
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <!-- <view class="o-l-m-center">
+ <u-icon name="account" color="#d0d0d0" size="28"></u-icon>
+ 培训讲师:<span>{{item.fname}}</span>
+ </view> -->
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 培训开始时间:
+ </view>
+ <view class="o-l-m-center" style="padding-left: 13px;">
+ <!-- <u-icon name="volume" color="#d0d0d0" size="28"></u-icon> -->
+ <!-- 时间: -->
+ {{item.time}}
+ </view>
+ </view>
+ </view>
+ <view class="onve-right">
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini" :disabled="true"
+ @click="getOrders(swiperCurrent,item)">
+ <!-- <span class="Cation notCation">队员</span> -->
+ {{"完成反馈"}}
+ </u-button>
+ <view class="o-r-$">
+ 积分:{{item.integral}}
+ </view>
+ </view>
+ </view>
+ <u-divider>没有更多了</u-divider>
+ <br />
+ </view>
+</template>
+
+<script>
+ export default {
+ props: ["listData", "swiperCurrent"],
+ methods: {
+ openOnce(val) {
+ this.$emit("openOnce", val);
+ },
+ getOrders(val, item) {
+ let b = {
+ val: val,
+ item: item
+ }
+ this.$emit("getOrders", b);
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .onveMain {
+ width: 100%;
+ height: auto;
+ }
+
+ .once {
+ width: calc(100% - 10px);
+ height: 100px;
+ border: 1px solid #d0d0d0;
+ padding: 8px;
+ box-sizing: border-box;
+ margin: 5px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .onve-left {
+ width: 75%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .o-l-img {
+ width: 80px;
+ height: 80px;
+ background-color: #d0d0d0;
+ margin-right: 5px;
+ border-radius: 7px;
+
+ image {
+ width: 100%;
+ height: 100%;
+ border-radius: 7px;
+ }
+ }
+
+ .o-l-main {
+ width: calc(100% - 85px);
+ height: 80px;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ .o-l-m-up {
+ height: 30px;
+ font-size: 16px;
+ }
+ }
+ }
+
+ .onve-right {
+ width: 25%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ view {
+ margin-top: 10px;
+ }
+ }
+
+ // .onceUp {
+ // width: 100%;
+ // height: 25%;
+ // padding-bottom: 5px !important;
+ // border-bottom: 1px solid #d0d0d0;
+ // }
+
+ // .onceMain {
+ // width: 100%;
+ // height: 80%;
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+
+ // .o-m-left {
+ // width: 80%;
+ // height: 100%;
+ // border: 1 solid #d0d0d0;
+ // display: flex;
+ // // align-items: center;
+ // justify-content: center;
+ // flex-direction: column;
+
+ // view {
+ // margin-top: 2.5px;
+ // padding-bottom: 2.5px;
+ // }
+ // }
+ // }
+
+ }
+
+ .orange {
+ color: orange;
+ }
+
+ .green {
+ color: #00ba15;
+ }
+</style>
diff --git a/pages/grabOrders/grabOrdersZAFFPX/map.vue b/pages/grabOrders/grabOrdersZAFFPX/map.vue
index 477f73a..5d3d8d2 100644
--- a/pages/grabOrders/grabOrdersZAFFPX/map.vue
+++ b/pages/grabOrders/grabOrdersZAFFPX/map.vue
@@ -105,6 +105,15 @@
我参与
</u-button>
</view>
+ <view class="once-c" v-if="ourData.buttype == 2">
+ <!-- <u-button :type="ourData.num==ourData.jnum?'info':'success'" @click="openAPP(ourData.buttype)"
+ :disabled="(ourData.num==ourData.jnum)&& ourData.buttype==1 ||ourData.type == 1">
+ {{ourData.num==ourData.jnum?"人数已满":'我参与'}}
+ </u-button> -->
+ <u-button type="info" :disabled="true">
+ 培训结束
+ </u-button>
+ </view>
</view>
<u-popup v-model="showIn" mode="bottom" border-radius="14" z-index='1000001' :mask-close-able="true">
@@ -152,8 +161,8 @@
],
useTime: null,
useTimeSet: null,
- times: 3000,
- setTimes: 30000,
+ times: 10000,
+ setTimes: 10000,
ourData: {},
map: null,
domMove: null,
@@ -477,7 +486,8 @@
if (val != "notSet") {
let d = {
id: that.ourData.id,
- intlat: [res.longitude, res.latitude]
+ intlat: [res.longitude, res.latitude],
+ intlatold: [res.longitude, res.latitude]
}
that.timeBeginSet(d) //30秒送数据
//加入绘制路线
diff --git a/pages/grabOrders/grabOrdersZAXC/grabOrders.vue b/pages/grabOrders/grabOrdersZAXC/grabOrders.vue
index 1e328f7..94c92d6 100644
--- a/pages/grabOrders/grabOrdersZAXC/grabOrders.vue
+++ b/pages/grabOrders/grabOrdersZAXC/grabOrders.vue
@@ -15,7 +15,8 @@
@getOrders="getOrders"></page0>
<page1 :listData="rightdata" :swiperCurrent="1" v-if="item.name == '可参与'" @openOnce="openOnce"
@getOrders="getOrders"></page1>
-
+ <page2 :listData="overdata" :swiperCurrent="2" v-if="item.name == '已完成'" @openOnce="openOnce"
+ @getOrders="getOrders"></page2>
<!-- <view class="a" v-if="item.name == '正在进行'">
{{leftdata}}
</view>
@@ -37,18 +38,22 @@
<script>
import page0 from "./inPage/page0.vue";
import page1 from "./inPage/page1.vue";
+ import page2 from "./inPage/page2.vue";
export default {
components: {
page0,
page1,
+ page2,
},
data() {
return {
list: [{
- name: "正在进行",
+ name: "可参与",
},
{
- name: "可参与",
+ name: "正在进行",
+ }, {
+ name: "已完成",
},
],
// 因为内部的滑动机制限制,请将tabs组件和swiper组件的current用不同变量赋值
@@ -56,6 +61,7 @@
swiperCurrent: 0, // swiper组件的current值,表示当前那个swiper-item是活动的
leftdata: [],
rightdata: [],
+ overdata: [],
showPopup: false,
appdetitle: "",
popupData: {},
@@ -139,7 +145,7 @@
openOnce(val) {
//打开地图
// console.log(this.swiperCurrent)
- val["buttype"] = this.swiperCurrent; //tab标识,0正在进行,1可参与
+ val["buttype"] = this.swiperCurrent == 1 ? 0 : (this.swiperCurrent == 0 ? 1 : 2); //tab标识,0正在进行,1可参与
val["serid"] = (uni.getStorageSync("ids") || this.$store.state.puserID) + ",";
val["appenUrl"] = this.$store.state.piAPI;
//打开地图
@@ -180,11 +186,11 @@
let that = this,
d = {
serid: uni.getStorageSync("ids") || that.$store.state.puserID,
- type: val + "",
+ type: val == 1 ? 0 : (val == 0 ? 1 : 2) + "",
tasktype: '0'
};
-
- if (val == 1) {
+ let isWhere = val == 0 ? "可参与" : val == 1 ? "正在进行" : "已完成";
+ if (val == 0) {
d.jurisdiction = this.$store.state.UserData.jurisdiction;
d.workjurisdiction = this.$store.state.UserData.workjurisdiction;
}
@@ -199,9 +205,9 @@
success(res) {
const data = res.data.data;
// console.log(data);
- if (val == 1) {
+ if (isWhere == "可参与") {
that.rightdata = data;
- } else {
+ } else if (isWhere == "正在进行") {
let no = [],
ok = [],
begin = [],
@@ -260,6 +266,8 @@
// that.$store.commit("addTask", id)
// }
// that.isOnTask[44].position.continuedTime();
+ } else {
+ that.overdata = data;
}
},
});
diff --git a/pages/grabOrders/grabOrdersZAXC/inPage/page2.vue b/pages/grabOrders/grabOrdersZAXC/inPage/page2.vue
new file mode 100644
index 0000000..3575876
--- /dev/null
+++ b/pages/grabOrders/grabOrdersZAXC/inPage/page2.vue
@@ -0,0 +1,200 @@
+<template>
+ <view class="onveMain">
+ <view class="once" v-for="(item,index) in listData" :key="index" @click="openOnce(item)">
+ <view class="onve-left">
+ <view class="o-l-img">
+ <image :src="item.url" mode=""></image>
+ </view>
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="order" color="#d0d0d0" size="28"></u-icon>
+ 人数:{{item.num}}/ {{item.jnum}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 时间:{{item.time.slice(0,10)}}
+ </view>
+ </view>
+ </view>
+ <view class="onve-right">
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini" :disabled="true" <!--
+ <span class="Cation notCation">队员</span> -->
+ {{"完成反馈"}}
+ </u-button>
+ <view class="o-r-$">
+ 积分:{{item.integral}}
+ </view>
+ </view>
+ </view>
+ <u-divider>没有更多了</u-divider>
+ <view class="">
+ {{res}}
+ </view>
+ <br />
+ </view>
+</template>
+
+<script>
+ export default {
+ props: ["listData", "swiperCurrent"],
+ data() {
+ return {
+ res: ''
+ }
+ },
+ computed: {
+ changes() {
+ return this.$store.state.changes;
+ }
+ },
+ watch: {
+ changes() {
+ console.log(this.$store.state.isOnTaskValue)
+ this.res = this.$store.state.isOnTaskValue.intlat;
+ }
+ },
+ methods: {
+ openOnce(val) {
+ this.$emit("openOnce", val);
+ },
+ getOrders(val, item) {
+ let b = {
+ val: val,
+ item: item
+ }
+ this.$emit("getOrders", b);
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .onveMain {
+ width: 100%;
+ height: auto;
+ }
+
+ .once {
+ width: calc(100% - 10px);
+ height: 100px;
+ border: 1px solid #d0d0d0;
+ padding: 8px;
+ box-sizing: border-box;
+ margin: 5px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .onve-left {
+ width: 75%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .o-l-img {
+ width: 80px;
+ height: 80px;
+ background-color: #d0d0d0;
+ margin-right: 5px;
+ border-radius: 7px;
+
+ image {
+ width: 100%;
+ height: 100%;
+ border-radius: 7px;
+ }
+ }
+
+ .o-l-main {
+ width: calc(100% - 85px);
+ height: 80px;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ .o-l-m-up {
+ height: 30px;
+ font-size: 16px;
+ }
+ }
+ }
+
+ .onve-right {
+ width: 25%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ view {
+ margin-top: 10px;
+ }
+ }
+
+ // .onceUp {
+ // width: 100%;
+ // height: 25%;
+ // padding-bottom: 5px !important;
+ // border-bottom: 1px solid #d0d0d0;
+ // }
+
+ // .onceMain {
+ // width: 100%;
+ // height: 80%;
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+
+ // .o-m-left {
+ // width: 80%;
+ // height: 100%;
+ // border: 1 solid #d0d0d0;
+ // display: flex;
+ // // align-items: center;
+ // justify-content: center;
+ // flex-direction: column;
+
+ // view {
+ // margin-top: 2.5px;
+ // padding-bottom: 2.5px;
+ // }
+ // }
+ // }
+
+ }
+
+ .orange {
+ color: #FF7B15;
+ }
+
+ .green {
+ color: #00e713;
+ }
+
+ .greens {
+ color: #18a655 !important;
+ }
+
+ .blues {
+ color: #2680F0 !important;
+ }
+
+ .Cation {
+ display: inline-block;
+ position: absolute;
+ left: -35px;
+
+ &::after {
+ content: "";
+ }
+ }
+
+ .notCation {
+ color: #18a655;
+ }
+</style>
diff --git a/pages/grabOrders/grabOrdersZAXC/map.vue b/pages/grabOrders/grabOrdersZAXC/map.vue
index aa58a21..01fe50c 100644
--- a/pages/grabOrders/grabOrdersZAXC/map.vue
+++ b/pages/grabOrders/grabOrdersZAXC/map.vue
@@ -188,7 +188,7 @@
useTime: null,
useTimeSet: null,
times: 3000,
- setTimes: 30000,
+ setTimes: 3000,
ourData: {},
map: null,
domMove: null,
@@ -540,7 +540,8 @@
res.longitude);
let d = {
id: that.ourData.id,
- intlat: [ress.longitude, ress.latitude]
+ intlat: [ress.longitude, ress.latitude],
+ intlatold: [res.longitude, res.latitude]
}
that.timeBeginSet(d) //30秒送数据
//加入绘制路线
diff --git a/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue b/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue
index 9199bc5..de4eb91 100644
--- a/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue
+++ b/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue
@@ -15,6 +15,8 @@
@getOrders="getOrders"></page0>
<page1 :listData="rightdata" :swiperCurrent="1" v-if="item.name == '可参与'" @openOnce="openOnce"
@getOrders="getOrders"></page1>
+ <page2 :listData="rightdata" :swiperCurrent="2" v-if="item.name == '已完成'" @openOnce="openOnce"
+ @getOrders="getOrders"></page2>
<!-- <view class="a" v-if="item.name == '正在进行'">
{{leftdata}}
@@ -45,10 +47,13 @@
data() {
return {
list: [{
+ name: "可参与",
+ },
+ {
name: "正在进行",
},
{
- name: "可参与",
+ name: "已完成",
},
],
// 因为内部的滑动机制限制,请将tabs组件和swiper组件的current用不同变量赋值
@@ -56,6 +61,7 @@
swiperCurrent: 0, // swiper组件的current值,表示当前那个swiper-item是活动的
leftdata: [],
rightdata: [],
+ overdata: [],
showPopup: false,
appdetitle: "",
popupData: {},
@@ -139,7 +145,7 @@
openOnce(val) {
//打开地图
// console.log(this.swiperCurrent)
- val["buttype"] = this.swiperCurrent; //tab标识,0正在进行,1可参与
+ val["buttype"] = this.swiperCurrent == 1 ? 0 : (this.swiperCurrent == 0 ? 1 : 2); //tab标识,0正在进行,1可参与
val["serid"] = (uni.getStorageSync("ids") || this.$store.state.puserID) + ",";
val["appenUrl"] = this.$store.state.piAPI;
//打开地图
@@ -180,11 +186,11 @@
let that = this,
d = {
serid: uni.getStorageSync("ids") || that.$store.state.puserID,
- type: val + "",
+ type: val == 1 ? 0 : (val == 0 ? 1 : 2) + "",
tasktype: '1'
};
-
- if (val == 1) {
+ let isWhere = val == 0 ? "可参与" : val == 1 ? "正在进行" : "已完成";
+ if (val == 0) {
d.jurisdiction = this.$store.state.UserData.jurisdiction;
d.workjurisdiction = this.$store.state.UserData.workjurisdiction;
}
@@ -199,9 +205,9 @@
success(res) {
const data = res.data.data;
// console.log(data);
- if (val == 1) {
+ if (isWhere == "可参与") {
that.rightdata = data;
- } else {
+ } else if (isWhere == "正在进行") {
let no = [],
ok = [],
begin = [],
@@ -260,6 +266,8 @@
// that.$store.commit("addTask", id)
// }
// that.isOnTask[44].position.continuedTime();
+ } else {
+ that.overdata = data;
}
},
});
diff --git a/pages/grabOrders/grabOrdersZAYWXC/inPage/page0.vue b/pages/grabOrders/grabOrdersZAYWXC/inPage/page0.vue
index ec9da04..3a7f41b 100644
--- a/pages/grabOrders/grabOrdersZAYWXC/inPage/page0.vue
+++ b/pages/grabOrders/grabOrdersZAYWXC/inPage/page0.vue
@@ -20,15 +20,9 @@
</view>
</view>
<view class="onve-right">
- <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini" :disabled="true"
- v-if="item.iscation == 0" @click="getOrders(swiperCurrent,item)">
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini" :disabled="true">
<!-- <span class="Cation notCation">队员</span> -->
- {{item.type == 1?"完成反馈":item.type == 0?"正在进行":"还未开始"}}
- </u-button>
- <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini"
- :disabled="item.type == 1" v-if="item.iscation == 1" @click="getOrders(swiperCurrent,item)">
- <!-- <span class="Cation orange">队长</span> -->
- {{item.type == 1?"完成反馈":item.type == 0?"上传反馈":"开始任务"}}
+ {{"完成反馈"}}
</u-button>
<view class="o-r-$">
积分:{{item.integral}}
diff --git a/pages/grabOrders/grabOrdersZAYWXC/inPage/page2.vue b/pages/grabOrders/grabOrdersZAYWXC/inPage/page2.vue
new file mode 100644
index 0000000..ec9da04
--- /dev/null
+++ b/pages/grabOrders/grabOrdersZAYWXC/inPage/page2.vue
@@ -0,0 +1,206 @@
+<template>
+ <view class="onveMain">
+ <view class="once" v-for="(item,index) in listData" :key="index" @click="openOnce(item)">
+ <view class="onve-left">
+ <view class="o-l-img">
+ <image :src="item.url" mode=""></image>
+ </view>
+ <view class="o-l-main">
+ <view class="o-l-m-up">
+ {{item.rname}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="order" color="#d0d0d0" size="28"></u-icon>
+ 人数:{{item.num}}/ {{item.jnum}}
+ </view>
+ <view class="o-l-m-center">
+ <u-icon name="volume" color="#d0d0d0" size="28"></u-icon>
+ 时间:{{item.time.slice(0,10)}}
+ </view>
+ </view>
+ </view>
+ <view class="onve-right">
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini" :disabled="true"
+ v-if="item.iscation == 0" @click="getOrders(swiperCurrent,item)">
+ <!-- <span class="Cation notCation">队员</span> -->
+ {{item.type == 1?"完成反馈":item.type == 0?"正在进行":"还未开始"}}
+ </u-button>
+ <u-button :class="[item.type == 1?'':item.type == 0?'blues':'greens']" size="mini"
+ :disabled="item.type == 1" v-if="item.iscation == 1" @click="getOrders(swiperCurrent,item)">
+ <!-- <span class="Cation orange">队长</span> -->
+ {{item.type == 1?"完成反馈":item.type == 0?"上传反馈":"开始任务"}}
+ </u-button>
+ <view class="o-r-$">
+ 积分:{{item.integral}}
+ </view>
+ </view>
+ </view>
+ <u-divider>没有更多了</u-divider>
+ <view class="">
+ {{res}}
+ </view>
+ <br />
+ </view>
+</template>
+
+<script>
+ export default {
+ props: ["listData", "swiperCurrent"],
+ data() {
+ return {
+ res: ''
+ }
+ },
+ computed: {
+ changes() {
+ return this.$store.state.changes;
+ }
+ },
+ watch: {
+ changes() {
+ console.log(this.$store.state.isOnTaskValue)
+ this.res = this.$store.state.isOnTaskValue.intlat;
+ }
+ },
+ methods: {
+ openOnce(val) {
+ this.$emit("openOnce", val);
+ },
+ getOrders(val, item) {
+ let b = {
+ val: val,
+ item: item
+ }
+ this.$emit("getOrders", b);
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .onveMain {
+ width: 100%;
+ height: auto;
+ }
+
+ .once {
+ width: calc(100% - 10px);
+ height: 100px;
+ border: 1px solid #d0d0d0;
+ padding: 8px;
+ box-sizing: border-box;
+ margin: 5px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .onve-left {
+ width: 75%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .o-l-img {
+ width: 80px;
+ height: 80px;
+ background-color: #d0d0d0;
+ margin-right: 5px;
+ border-radius: 7px;
+
+ image {
+ width: 100%;
+ height: 100%;
+ border-radius: 7px;
+ }
+ }
+
+ .o-l-main {
+ width: calc(100% - 85px);
+ height: 80px;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ .o-l-m-up {
+ height: 30px;
+ font-size: 16px;
+ }
+ }
+ }
+
+ .onve-right {
+ width: 25%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+
+ view {
+ margin-top: 10px;
+ }
+ }
+
+ // .onceUp {
+ // width: 100%;
+ // height: 25%;
+ // padding-bottom: 5px !important;
+ // border-bottom: 1px solid #d0d0d0;
+ // }
+
+ // .onceMain {
+ // width: 100%;
+ // height: 80%;
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+
+ // .o-m-left {
+ // width: 80%;
+ // height: 100%;
+ // border: 1 solid #d0d0d0;
+ // display: flex;
+ // // align-items: center;
+ // justify-content: center;
+ // flex-direction: column;
+
+ // view {
+ // margin-top: 2.5px;
+ // padding-bottom: 2.5px;
+ // }
+ // }
+ // }
+
+ }
+
+ .orange {
+ color: #FF7B15;
+ }
+
+ .green {
+ color: #00e713;
+ }
+
+ .greens {
+ color: #18a655 !important;
+ }
+
+ .blues {
+ color: #2680F0 !important;
+ }
+
+ .Cation {
+ display: inline-block;
+ position: absolute;
+ left: -35px;
+
+ &::after {
+ content: "";
+ }
+ }
+
+ .notCation {
+ color: #18a655 !important;
+ }
+</style>
diff --git a/store/apiConfig.js b/store/apiConfig.js
index 5c8c434..ce0558e 100644
--- a/store/apiConfig.js
+++ b/store/apiConfig.js
@@ -1,13 +1,16 @@
-let i = 1; //1是服务器
+let i = 3; //1是服务器
if (i == 1) {
var api = 'http://223.82.109.183:2082/api/';
var wsapi = 'ws://223.82.109.183:2082/wss/websocket';
-} else if (i == 0) {//曾
+} else if (i == 0) { //曾
var api = 'http://192.168.0.108:83/';
var wsapi = 'ws://192.168.0.108:9034/websocket';
-} else if (i == 2) {//唐
+} else if (i == 2) { //唐
var api = 'http://192.168.0.110:83/';
var wsapi = 'ws://192.168.0.110:9034/websocket';
+} else if (i == 3) { //唐
+ var api = 'http://192.168.0.222:83/';
+ var wsapi = 'ws://192.168.0.222:9034/websocket';
}
// var api = 'http://192.168.0.222:83/';
diff --git a/store/positions.js b/store/positions.js
index af5163b..ed39477 100644
--- a/store/positions.js
+++ b/store/positions.js
@@ -68,12 +68,12 @@
setMsg(state, value) {
//发送任务位置
//uid ;自己id,rid: 任务id,jd,wd经度纬度
- // console.log(value)
+ console.log(value, 123)
let d = {
uid: WxStorage.get("ids") || $store.state.puserID,
rid: value.id,
- jd: value.intlat[0],
- wd: value.intlat[1],
+ jd: value.intlatold[0],
+ wd: value.intlatold[1],
}
uni.request({
url: $store.state.piAPI + "trar/submit",
--
Gitblit v1.9.3