liuyg
2022-02-28 d9d6eb93b6964b3eb3015d959cb70b6c6aeb2e51
Merge branch 'master' of http://192.168.0.105:10010/r/qfqk-android
3 files modified
2 files added
434 ■■■■■ changed files
pages.json 8 ●●●●● patch | view | raw | blame | history
pages/registerUser/map-副本.vue 3 ●●●● patch | view | raw | blame | history
pages/registerUser/map.vue 132 ●●●●● patch | view | raw | blame | history
pages/registerUser/registerUser.vue 291 ●●●●● patch | view | raw | blame | history
static/img/location.png patch | view | raw | blame | history
pages.json
@@ -26,6 +26,14 @@
            }
        },
        {
            "path": "pages/registerUser/map",
            "name": "registerUserMap",
            "style": {
                "navigationStyle": "custom", // 隐藏系统导航栏
                "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一
            }
        },
        {
            "path": "pages/registerUser/idphoto",
            "style": {
                "navigationBarTitleText": "人脸识别",
pages/registerUser/map-副本.vue
@@ -1,6 +1,7 @@
<template>
    <view class="registerUser">
        <map style="width:100%;height:85vh;" :latitude="latitude" :polyline="polyline" :longitude="longitude"></map>
        <map style="width:100%;height:85vh;" :latitude="latitude" :polyline="polyline" :longitude="longitude"
            :markers="markers"></map>
    </view>
</template>
pages/registerUser/map.vue
New file
@@ -0,0 +1,132 @@
<template>
    <view class="content">
        <u-navbar height="44" :is-back="false" title="获取地址" title-color="#fff" :background="{background: '#103289'}">
            <u-button class="slot-wrap" type="primary" size="mini" @click="returnPage">确定</u-button>
        </u-navbar>
        <map id="SignLocationMap"
            style="position: absolute; left: 0; width: 100%; z-index: 99;"
            :style="{height: screenHeight + 'px'}"
            @regionchange="regionChange" :latitude="latitude" :longitude="longitude" :scale="scale">
            <cover-view class="dingwBut">
                <cover-image class="location-log" src="../../static/img/location.png">
                </cover-image>
            </cover-view>
        </map>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                screenHeight: 0,
                mapLocationName: '',
                mapLocationLatitude: '',
                mapLocationLongitude: '',
                regionID: '',
                latitude: 28.678983439095823,
                longitude: 115.84414205551147,
                scale: 15 //缩放级别
            }
        },
        onReady() {
            var that = this
            uni.getSystemInfo({
                success: function(res) {
                    console.log(res, 465)
                    that.screenHeight = res.windowHeight - 44
                }
            })
        },
        methods: {
            regionChange() { // 移动地图后重新获取门店
                var that = this
                uni.createMapContext('SignLocationMap', this).getCenterLocation({
                    success: res => {
                        that.getLocationInfor(res.longitude, res.latitude)
                    },
                    fail: res => {
                        uni.showModal({
                            content: '获取位置失败',
                            showCancel: false
                        })
                    }
                })
            },
            getLocationInfor(longitude, latitude) {
                var that = this
                var point = new plus.maps.Point(longitude, latitude);
                plus.maps.Map.reverseGeocode(
                    point, {},
                    function(event) {
                        var address = event.address; // 转换后的地理位置
                        var point = event.coord; // 转换后的坐标信息
                        var coordType = event.coordType; // 转换后的坐标系类型
                        that.mapLocationName = address
                        that.mapLocationLongitude = point.longitude
                        that.mapLocationLatitude = point.latitude
                    },
                    function(e) {}
                );
            },
            returnPage() {
                console.log(1)
                var that = this
                uni.$emit('getLocation', {
                    mapLocationName: that.mapLocationName,
                    regionID: that.regionID
                });
                //关闭当前窗口
                uni.navigateBack({});
            }
        },
        watch: {
        }
    };
</script>
</script>
<style lang="scss" scoped>
    .slot-wrap {
        position: absolute;
        top: 0;
        left: auto;
        right: 10px;
        bottom: 0;
        margin: auto;
        color: #fff;
        /* 如果您想让slot内容占满整个导航栏的宽度 */
        /* flex: 1; */
        /* 如果您想让slot内容与导航栏左右有空隙 */
        /* padding: 0 30rpx; */
    }
    .dingwBut {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        z-index: 9999;
        transform: translateY(-22px);
    }
</style>
pages/registerUser/registerUser.vue
@@ -10,26 +10,32 @@
                <u-select v-model="show" mode="mutil-column-auto" :list="roleList" @confirm="radioGroupChange">
                </u-select>
            </u-form-item>
            <u-form-item v-show="form.role == '民警'" label=" " prop="warnNum" label-width="200" :required="true">
                <u-input v-model="form.warnNum" placeholder="请输入警号" />
            <u-form-item v-show="form.role == '民警'" label="警号" prop="signals" left-icon="edit-pen" label-width="200"
                :required="true">
                <u-input v-model="form.signals" placeholder="请输入警号" />
            </u-form-item>
            <u-form-item label="工作单位" left-icon="home-fill" label-width="200" :required="false">
            <u-form-item label="工作单位" left-icon="home-fill" label-width="200" :required="true">
                <u-radio-group v-model="jobValue">
                    <u-radio v-for="(item, index) in jobList" :key="index" :name="item.name" :disabled="item.disabled">
                        {{item.name}}
                    </u-radio>
                </u-radio-group>
            </u-form-item>
            <u-form-item v-show="jobValue == '有'" label=" " prop="obj" label-width="200" :required="false">
                <u-input v-model="form.obj" placeholder="请输入工作单位" />
            <u-form-item v-show="jobValue == '有'" label="单位名称" prop="jobUnit" label-width="200" left-icon="home"
                :required="true">
                <u-input v-model="form.jobUnit" placeholder="请输入单位名称" />
            </u-form-item>
            <u-form-item label="所在地区" prop="xq" left-icon="map-fill" label-width="200" :required="true">
                <u-input v-model="form.xq" type="select" placeholder="请选择所在地区" :border="true" @click="regionClick" />
                <u-select v-model="regionShow" mode="mutil-column-auto" :list="regionList" @confirm="regionSelect">
                </u-select>
            <u-form-item v-show="jobValue == '有'" label="工作地点" prop="xq" left-icon="map-fill" label-width="200"
                :required="true">
                <u-input v-model="form.xq" type="select" placeholder="请选择工作地点" :border="true"
                    @click="regionClick()" />
            </u-form-item>
            <u-form-item label="居住地" prop="address" left-icon="map" label-width="200" :required="false">
                <u-input v-model="form.address" placeholder="居住地" />
            <u-form-item label="居住地" prop="address" left-icon="map" label-width="200" :required="true">
                <u-input v-model="form.address" type="select" placeholder="请选择居住地" :border="true"
                    @click="placeClick()" />
            </u-form-item>
            <u-form-item label="性别" label-width="200" left-icon="man">
                <u-radio-group v-model="form.sex">
@@ -38,7 +44,7 @@
                    </u-radio>
                </u-radio-group>
            </u-form-item>
            <u-form-item label="是否人脸登录" label-width="240" left-icon="server-man">
            <!-- <u-form-item label="是否人脸登录" label-width="240" left-icon="server-man">
                <u-radio-group v-model="radioValue">
                    <u-radio v-for="(item, index) in radioList" :key="index" :name="item.name"
                        :disabled="item.disabled">
@@ -46,7 +52,7 @@
                    </u-radio>
                </u-radio-group>
                (功能研发中)
            </u-form-item>
            </u-form-item> -->
        </u-form>
        <view class="agree">
@@ -57,23 +63,9 @@
                <text class="a" @click="agreement(1)">隐私政策</text>
            </u-checkbox>
        </view>
        <div class="login-map-bc" v-if="mapShow">
            <div @click="mapShow = false">
            </div>
            <div class="login-map-content">
                <u-icon class="login-map-close" name="close" @click="mapShow = false"></u-icon>
                <view style="width: 100%; height: 100%; position: absolute; ">
                    <web-view :src="loginMapUrl"></web-view>
                </view>
            </div>
        </div>
        <u-button class="submit" @click="zc">
            注册</u-button>
        <!-- <u-button class="submit" @click="submit">提交</u-button> -->
    </view>
</template>
@@ -117,8 +109,6 @@
                        disabled: false
                    }
                ],
                regionName: '',
                loginMapUrl: "",
                radioList: [{
                        name: '是',
                        disabled: false
@@ -129,28 +119,7 @@
                    }
                ],
                radioValue: '否',
                mapShow: false,
                latitude: 28.68, //纬度
                longitude: 115.85, //经度
                scale: 12, //缩放级别
                polyline: [
                    //     { //指定一系列坐标点,从数组第一项连线至最后一项
                    //     points: [{
                    //             latitude: 34.79977,
                    //             longitude: 113.66072
                    //         },
                    //         {
                    //             latitude: 34.795541,
                    //             longitude: 113.681646
                    //         },
                    //     ],
                    //     color: "#0000AA", //线的颜色
                    //     width: 1, //线的宽度
                    //     //     dottedLine:true,//是否虚线
                    //     arrowLine: true, //带箭头的线 开发者工具暂不支持该属性
                    // },
                ],
                marker: [],
                show: false,
                showxq: false,
                listbm: [],
@@ -219,13 +188,13 @@
                    carId: '',
                    phone: '',
                    sex: '男',
                    obj: '',
                    objId: '',
                    xq: '',
                    xqobjId: '',
                    jurisdiction: '',
                    jsid: '',
                    address: '',
                    warnNum: '',
                    jobUnit: '',
                    signals: '',
                    workjurisdiction: ''
                },
                rules: {
                    user: [{
@@ -274,9 +243,9 @@
                        // 可以单个或者同时写两个触发验证方式 
                        trigger: ['change', 'blur'],
                    }],
                    obj: [{
                        required: false,
                        message: '请输入工作单位',
                    jobUnit: [{
                        required: true,
                        message: '请输入单位名称',
                        // 可以单个或者同时写两个触发验证方式 
                        trigger: ['change', 'blur'],
                    }],
@@ -292,7 +261,7 @@
                        // 可以单个或者同时写两个触发验证方式 
                        trigger: ['change', 'blur'],
                    }],
                    warnNum: [{
                    signals: [{
                        required: true,
                        message: '请输入警号',
                        // 可以单个或者同时写两个触发验证方式 
@@ -348,56 +317,6 @@
                        value: "1495714378025480193"
                    }
                ],
                regionList: [{
                        label: '东湖区',
                        value: '1415619841521414145'
                    },
                    {
                        label: '西湖区',
                        value: '1415619917295710209'
                    },
                    {
                        label: '青云谱区',
                        value: '1415619986417840129'
                    },
                    {
                        label: '湾里区',
                        value: '1415620058526314497'
                    },
                    {
                        label: '青山湖区',
                        value: '1415620118307729409'
                    },
                    {
                        label: '新建区',
                        value: '1415620188289691649'
                    },
                    {
                        label: '南昌县',
                        value: '1415620235718881282'
                    },
                    {
                        label: '安义县',
                        value: '1415620288487419906'
                    },
                    {
                        label: '进贤县',
                        value: '1415620344112279553'
                    },
                    {
                        label: '经济技术开发区区',
                        value: '1415620404103409666'
                    },
                    {
                        label: '红谷滩区',
                        value: '1415620472965492738'
                    },
                    {
                        label: '高新技术开发区',
                        value: '1415620707473223681'
                    }
                ],
                regionShow: false
            };
        },
        methods: {
@@ -407,13 +326,36 @@
                });
            },
            regionClick() {
                this.regionShow = true;
            },
            regionSelect(e) {
                this.form.xq = e[0].label
                this.form.xqobjId = e[0].value
                let that = this;
                this.regionShow = false;
                //监听事件
                uni.$on('getLocation', (res) => {
                    that.form.xq = res.mapLocationName
                    this.form.workjurisdiction = res.regionID
                    //清除监听,不清除会消耗资源
                    uni.$off('getLocation');
                })
                uni.navigateTo({
                    url: '/pages/registerUser/map'
                });
            },
            placeClick() {
                let that = this;
                //监听事件
                uni.$on('getLocation', (res) => {
                    that.form.address = res.mapLocationName
                    this.form.jurisdiction = res.regionID
                    //清除监听,不清除会消耗资源
                    uni.$off('getLocation');
                })
                uni.navigateTo({
                    url: '/pages/registerUser/map'
                });
            },
            zc() {
                if (this.userConsent == false) {
@@ -422,7 +364,7 @@
                        icon: 'none',
                        duration: 2000
                    });
                    return
                }
                var that = this;
@@ -444,40 +386,8 @@
                            return
                        }
                        var d = that.form;
                        var url = that.$store.state.piAPI + '/zc/inster',
                            data = {
                                // deptid: ,
                                password: d.pass,
                                password2: d.passTwo,
                                phone: d.phone,
                                sex: d.sex == '男' ? 1 : 2,
                                sname: d.name,
                                username: d.user,
                                deptid: d.objId,
                                parentId: d.jsid,
                                jurisdiction: d.xqobjId,
                                cardid: d.carId,
                                address: d.address,
                                workunit: d.obj
                            }
                        uni.request({
                            url: url,
                            method: 'POST',
                            data: data,
                            success: (res) => {
                                uni.showToast({
                                    title: '注册成功,请等待审核',
                                    icon: 'none',
                                    duration: 2000
                                });
                                setTimeout(function() {
                                    uni.navigateTo({
                                        url: '/pages/loging/loging'
                                    })
                                }, 2000);
                            }
                        });
                        that.registerEvent()
                        // that.$refs.uForm.validate(valid => {
                        //     if (valid) {
@@ -494,6 +404,53 @@
                });
            },
            registerEvent() {
                var d = this.form;
                var url = this.$store.state.piAPI + '/zc/inster',
                    data = {
                        // deptid: ,
                        password: d.pass,
                        password2: d.passTwo,
                        phone: d.phone,
                        sex: d.sex == '男' ? 1 : 2,
                        sname: d.name,
                        username: d.user,
                        parentId: d.jsid,
                        cardid: d.carId,
                        // 居住地址
                        address: d.address,
                        // 单位名称
                        jobUnit: d.jobUnit,
                        // 居住辖区
                        jurisdiction: d.jurisdiction,
                        // 工作地址
                        workaddress: d.xq,
                        // 工作辖区
                        workjurisdiction: d.workjurisdiction,
                        signals: d.signals
                    }
                uni.request({
                    url: url,
                    method: 'POST',
                    data: data,
                    success: (result) => {
                        console.log(result, 456)
                        uni.showToast({
                            title: '注册成功,请等待审核',
                            icon: 'none',
                            duration: 2000
                        });
                        setTimeout(function() {
                            uni.navigateTo({
                                url: '/pages/loging/loging'
                            })
                        }, 2000);
                    }
                });
            },
            depl() {
                this.show = true;
            },
@@ -533,40 +490,6 @@
</script>
<style lang="scss" scoped>
    .login-map-bc {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 111;
        background: rgba(0, 0, 0, .3);
    }
    .login-map-content {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 222;
        border-radius: 15px 15px 0 0;
        overflow: hidden;
        iframe {
            border: none;
        }
    }
    .login-map-close {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 20px;
        height: 20px;
        z-index: 11;
    }
    .warp {
        display: flex;
        align-items: center;
static/img/location.png