zengh
2022-02-23 e258efcddee88929911860c01a922bd09391b132
APP添加
4 files modified
404 ■■■■ changed files
public/grabOrdersMap/js/getPosition.js 11 ●●●● patch | view | raw | blame | history
public/grabOrdersMap/js/vueMain.js 15 ●●●● patch | view | raw | blame | history
public/grabOrdersMap/xcxmap.html 374 ●●●● patch | view | raw | blame | history
src/views/activitys/real.vue 4 ●●●● patch | view | raw | blame | history
public/grabOrdersMap/js/getPosition.js
@@ -1,4 +1,3 @@
class $getPositions {
    constructor(arg) {
        this.id = arg.id || 0; //任务id
@@ -16,6 +15,7 @@
        this.isContinued = false;
        this.isContinuedTimeInt = null;
        this.isContinuedTimeOut = null;
        this.geolocation = null; //定位实例
        return this;
    }
    //开始获取
@@ -50,6 +50,7 @@
    continuedTime(val) {
        //开始持续获取定位
        let that = this;
        that.geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq");
        if (val != 1) {
            // console.log(that.id,"开始持续定位")
            this.isContinued = true;
@@ -94,6 +95,9 @@
                clearTimeout(that.isContinuedTimeOut);
                this.isContinuedTimeOut = null;
            }
            if (this.geolocation) {
                this.geolocation = null;
            }
        }
        this.isContinued = false;
        that.outData('out');
@@ -117,12 +121,13 @@
            };
        outit();
        //qq定位
        var geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq");
        // var geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq");
        var options = {
            // timeout: 1000
        };
        function showPosition(position) {
            console.log(position)
            let lat = position.lat; //
            let lng = position.lng; //火星坐标 //TODO 实现业务代码逻辑 
            that.onceNowPosition = [lng, lat];
@@ -139,7 +144,7 @@
            ok = true;
            outit();
        };
        geolocation.getLocation(showPosition, showErr, options);
        that.geolocation.getLocation(showPosition, showErr, options);
        // 高德定位
        // console.log(AMap)
        // AMap.plugin("AMap.Geolocation", function() {
public/grabOrdersMap/js/vueMain.js
@@ -220,7 +220,7 @@
        beginCome() {
            var data = {
                    appenUrl: "http://192.168.0.108:83/",
                    butCT: "beginUp",
                    butCT: "begin",
                    buttype: 0,
                    captain: "我",
                    city: "南昌市",
@@ -251,8 +251,8 @@
            if (typeof this.data == "string") {
                this.data = JSON.parse(this.data)
            }
            // console.log(this.data)
            if (this.data.isOn) {
            console.log(this.data)
            if (this.data.isOn || this.data.butCT == "beginUp") {
                //队长开启任务
                let rid = that.data.id;
                that.onPosition = new $getPositions({
@@ -272,6 +272,7 @@
                        let out = res.intlat;
                        if (typeof out != "string") {
                            that.addIcon([out[1], out[0]]);
                            console.log(out)
                            //坐标输出
                            let d = {
                                uid: that.data.myid,
@@ -856,5 +857,11 @@
        //     app.dataList = data.navigation // 赋值
        // }
    },
    wacth: {}
    wacth: {},
    beforeDestroy() {
        let that = this;
        if (that.onPosition) {
            that.onPosition.overContinued();
        }
    }
})
public/grabOrdersMap/xcxmap.html
@@ -1,189 +1,189 @@
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <title>地图</title>
        <!-- vue -->
        <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
        <!-- leaflet支持 -->
        <script src="./lid/leaflet.js"></script>
        <link rel="stylesheet" href="./lid/leaflet.css" />
        <!-- leaflet聚合支持 -->
        <link rel="stylesheet" href="./lid/MarkerCluster.css" />
        <link rel="stylesheet" href="./lid/MarkerCluster.Default.css" />
        <script src="./lid/leaflet.markercluster-src.js"></script>
        <!-- layui支持 -->
        <!-- <link rel="stylesheet" href="../map/lib/layui/css/layui.css" media="all"> -->
        <!-- <script src="../map/lib/layui/layui.js" charset="utf-8"></script> -->
        <!-- 百度地图api -->
        <script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js">
        </script>
        <!-- axios支持 -->
        <script src="./lid/axios.js"></script>
        <!-- elementui -->
        <script src="./lid/elementUi.js"></script>
        <!-- <link rel="stylesheet" href="../map/lib/elementUi.css"> -->
        <link rel="stylesheet" href="./css/elementUI.css">
        <!-- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> -->
        <!-- jqurey -->
        <script src="./lid/jquery.js" charset="utf-8"></script>
        <!-- 微信支持 -->
        <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
        <!-- <script src="./js/wx.js"></script> -->
        <!-- uni 的 SDK -->
        <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js">
        </script>
        <!-- 百度地图api -->
        <script type="text/javascript" src="./js/geolocation.min.js"></script>
        <!-- omyself支持 -->
        <link rel="stylesheet" href="./css/body.css" />
        <!-- myDomMove -->
        <script src="./js/move.js"></script>
        <!-- sha1加密 -->
        <!-- <script src="./js/sha1.js"></script> -->
        <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
        <!-- 高德地图路线规划 -->
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=4b3e1db3211054ce5b466407cbb9d221">
        </script>
        <!-- myDomMove -->
        <script src="./js/getPosition.js"></script>
    </head>
    <body>
        <div id="mapVue">
            <div id="loding" style="display: none;">
                <div class="titles">
                    <div>
                        已接收任务~
                    </div>
                    <div>
                        请尽快前往!
                    </div>
                </div>
            </div>
            <div class="dingwei" @click="locationMap">
                <img v-show="!mapPositionLoding" style="width: 60%" src="./img/dingwei.png" alt="">
                <img v-show="mapPositionLoding" style="width: 60%" src="./img/dingwei.png" alt="">
            </div>
            <!-- <div class="shuaxin" @click="refreshMap">
                <img style="width: 60%" src="./img/刷新.png" alt="">
            </div> -->
            <!-- <div class="baozu" @click="refreshMap">
                <div class="bz-once">
                    <img style="width: 60%" src="./img/提示.png" alt="">
                    <div id="bz-title">
                        报错
                    </div>
                </div>
                <div class="bz-once">
                    <img style="width: 60%" src="./img/排队数.png" alt="">
                    <div id="bz-title">
                        编队
                    </div>
                </div>
            </div> -->
            <div id="map">
            </div>
            <div id="Umain">
                <div class="once-b">
                    任务详情
                </div>
                <div class="once">
                    <span class="once-left">
                        任务标题
                    </span>
                    <span class="once-right">
                        {{data.rname}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        任务内容
                    </span>
                    <span class="once-right">
                        {{data.content}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        发布者
                    </span>
                    <span class="once-right">
                        <span>{{data.publisher}}</span>
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        任务地区
                    </span>
                    <span class="once-right">
                        {{data.province}}&nbsp;-&nbsp;{{data.city}}&nbsp;-&nbsp;{{data.district}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        开始时间
                    </span>
                    <span class="once-right">
                        {{data.time}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        人数
                    </span>
                    <span class="once-right">
                        {{data.num}}&nbsp;/&nbsp;{{data.jnum}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        队长
                    </span>
                    <span class="once-right">
                        <span>{{data.captain}}</span>
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        参与者
                    </span>
                    <span class="once-right">
                        <span v-for="(item,index) in data.team">{{item}}</span>
                    </span>
                </div>
                <div class="once-c" v-if="data.buttype == 0">
                    <el-button :type="data.butCT == 'beginUp'?'primary':data.butCT == 'begin'?'success':'info'"
                        @click="openAPP(data.buttype)" :disabled="data.butCT== 'over' || data.iscation == '0'">
                        {{data.butCT == 'beginUp'?(data.iscation == '0'?'正在进行':'上传反馈'):data.butCT == 'begin'?(data.iscation == '0'?'还未开始':'开始任务'):'任务完成'}}
                    </el-button>
                </div>
                <div class="once-c" v-if="data.buttype == 1">
                    <el-button :type="data.num==data.jnum?'info':'success'" @click="openAPP(data.buttype)"
                        :disabled="(data.num==data.jnum)&& data.buttype==1 ||data.type == 1">
                        {{data.num==data.jnum?"人数已满":'我参与'}}
                    </el-button>
                </div>
            </div>
            <!-- </div>
            <div id="Dmain"> -->
        </div>
        <!-- vue渲染 -->
        <script src="./js/vueMain.js"></script>
    </body>
</html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <title>地图</title>
        <!-- vue -->
        <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
        <!-- leaflet支持 -->
        <script src="./lid/leaflet.js"></script>
        <link rel="stylesheet" href="./lid/leaflet.css" />
        <!-- leaflet聚合支持 -->
        <link rel="stylesheet" href="./lid/MarkerCluster.css" />
        <link rel="stylesheet" href="./lid/MarkerCluster.Default.css" />
        <script src="./lid/leaflet.markercluster-src.js"></script>
        <!-- layui支持 -->
        <!-- <link rel="stylesheet" href="../map/lib/layui/css/layui.css" media="all"> -->
        <!-- <script src="../map/lib/layui/layui.js" charset="utf-8"></script> -->
        <!-- 百度地图api -->
        <script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js">
        </script>
        <!-- axios支持 -->
        <script src="./lid/axios.js"></script>
        <!-- elementui -->
        <script src="./lid/elementUi.js"></script>
        <!-- <link rel="stylesheet" href="../map/lib/elementUi.css"> -->
        <link rel="stylesheet" href="./css/elementUI.css">
        <!-- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> -->
        <!-- jqurey -->
        <script src="./lid/jquery.js" charset="utf-8"></script>
        <!-- 微信支持 -->
        <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
        <!-- <script src="./js/wx.js"></script> -->
        <!-- uni 的 SDK -->
        <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js">
        </script>
        <!-- 百度地图api -->
        <script type="text/javascript" src="./js/geolocation.min.js"></script>
        <!-- omyself支持 -->
        <link rel="stylesheet" href="./css/body.css" />
        <!-- myDomMove -->
        <script src="./js/move.js"></script>
        <!-- sha1加密 -->
        <!-- <script src="./js/sha1.js"></script> -->
        <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
        <!-- 高德地图路线规划 -->
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=4b3e1db3211054ce5b466407cbb9d221">
        </script>
        <!-- myDomMove -->
        <script src="./js/getPosition.js"></script>
    </head>
    <body>
        <div id="mapVue">
            <div id="loding" style="display: none;">
                <div class="titles">
                    <div>
                        已接收任务~
                    </div>
                    <div>
                        请尽快前往!
                    </div>
                </div>
            </div>
            <div class="dingwei" @click="locationMap">
                <img v-show="!mapPositionLoding" style="width: 60%" src="./img/dingwei.png" alt="">
                <img v-show="mapPositionLoding" style="width: 60%" src="./img/dingwei.png" alt="">
            </div>
            <!-- <div class="shuaxin" @click="refreshMap">
                <img style="width: 60%" src="./img/刷新.png" alt="">
            </div> -->
            <!-- <div class="baozu" @click="refreshMap">
                <div class="bz-once">
                    <img style="width: 60%" src="./img/提示.png" alt="">
                    <div id="bz-title">
                        报错
                    </div>
                </div>
                <div class="bz-once">
                    <img style="width: 60%" src="./img/排队数.png" alt="">
                    <div id="bz-title">
                        编队
                    </div>
                </div>
            </div> -->
            <div id="map">
            </div>
            <div id="Umain">
                <div class="once-b">
                    任务详情
                </div>
                <div class="once">
                    <span class="once-left">
                        任务标题
                    </span>
                    <span class="once-right">
                        {{data.rname}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        任务内容
                    </span>
                    <span class="once-right">
                        {{data.content}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        发布者
                    </span>
                    <span class="once-right">
                        <span>{{data.publisher}}</span>
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        任务地区
                    </span>
                    <span class="once-right">
                        {{data.province}}&nbsp;-&nbsp;{{data.city}}&nbsp;-&nbsp;{{data.district}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        开始时间
                    </span>
                    <span class="once-right">
                        {{data.time}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        人数
                    </span>
                    <span class="once-right">
                        {{data.num}}&nbsp;/&nbsp;{{data.jnum}}
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        队长
                    </span>
                    <span class="once-right">
                        <span>{{data.captain}}</span>
                    </span>
                </div>
                <div class="once">
                    <span class="once-left">
                        参与者
                    </span>
                    <span class="once-right">
                        <span v-for="(item,index) in data.team">{{item}}</span>
                    </span>
                </div>
                <div class="once-c" v-if="data.buttype == 0">
                    <el-button :type="data.butCT == 'beginUp'?'primary':data.butCT == 'begin'?'success':'info'"
                        @click="openAPP(data.buttype)" :disabled="data.butCT== 'over' || data.iscation == '0'">
                        {{data.butCT == 'beginUp'?(data.iscation == '0'?'正在进行':'上传反馈'):data.butCT == 'begin'?(data.iscation == '0'?'还未开始':'开始任务'):'任务完成'}}
                    </el-button>
                </div>
                <div class="once-c" v-if="data.buttype == 1">
                    <el-button :type="data.num==data.jnum?'info':'success'" @click="openAPP(data.buttype)"
                        :disabled="(data.num==data.jnum)&& data.buttype==1 ||data.type == 1">
                        {{data.num==data.jnum?"人数已满":'我参与'}}
                    </el-button>
                </div>
            </div>
            <!-- </div>
            <div id="Dmain"> -->
        </div>
        <!-- vue渲染 -->
        <script src="./js/vueMain.js"></script>
    </body>
</html>
src/views/activitys/real.vue
@@ -409,11 +409,11 @@
                value: "2",
              },
              {
                label: "正在进行",
                label: "任务结束",
                value: "1",
              },
              {
                label: "任务结束",
                label: "正在进行",
                value: "0",
              },
            ],