南昌市物联网技防平台-小程序
1.业务办理页面搭建(信息登记,信息核实,拜访记录,风险上报)
2.个人中心页面搭建
9 files modified
23 files added
1023 ■■■■ changed files
manifest.json 6 ●●●● patch | view | raw | blame | history
package-lock.json 77 ●●●●● patch | view | raw | blame | history
package.json 7 ●●●●● patch | view | raw | blame | history
pages.json 35 ●●●●● patch | view | raw | blame | history
pages/business/business.vue 100 ●●●● patch | view | raw | blame | history
pages/equipment/equipment.vue 29 ●●●●● patch | view | raw | blame | history
pages/infoRegistration/infoCheck.vue 106 ●●●●● patch | view | raw | blame | history
pages/infoRegistration/infoRegistration.vue 106 ●●●●● patch | view | raw | blame | history
pages/myself/myself.vue 163 ●●●●● patch | view | raw | blame | history
pages/patrol/patrol.vue 41 ●●●●● patch | view | raw | blame | history
pages/riskReporting/riskReporting.vue 113 ●●●●● patch | view | raw | blame | history
pages/visitRecord/visitRecord.vue 102 ●●●●● patch | view | raw | blame | history
pages/workbench/workbench.vue 10 ●●●●● patch | view | raw | blame | history
static/img/alarm.png patch | view | raw | blame | history
static/img/checkinfo.png patch | view | raw | blame | history
static/img/eq.png patch | view | raw | blame | history
static/img/eq01.png patch | view | raw | blame | history
static/img/eq02.png patch | view | raw | blame | history
static/img/record.png patch | view | raw | blame | history
static/img/register.png patch | view | raw | blame | history
static/img/risk.png patch | view | raw | blame | history
static/img/记录.png patch | view | raw | blame | history
static/workbench/bracket.png patch | view | raw | blame | history
static/workbench/feedback01.png patch | view | raw | blame | history
static/workbench/myself.png patch | view | raw | blame | history
static/workbench/system.png patch | view | raw | blame | history
static/workbench/update.png patch | view | raw | blame | history
static/workbench/user01.png patch | view | raw | blame | history
xcxjingqingmap/css/body.css 2 ●●●●● patch | view | raw | blame | history
xcxjingqingmap/img/photo.png patch | view | raw | blame | history
xcxjingqingmap/js/vueMain.js 24 ●●●● patch | view | raw | blame | history
xcxjingqingmap/xcxmap.html 102 ●●●●● patch | view | raw | blame | history
manifest.json
@@ -1,6 +1,6 @@
{
    "name" : "jfpt",
    "appid" : "",
    "appid" : "__UNI__A5988B0",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : "100",
@@ -50,11 +50,11 @@
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "wxea23343a404a757a",
        "appid" : "wx8d8a6035fb1fb858",
        "setting" : {
            "urlCheck" : false,
            "minified" : true,
            "checkSiteMap": false
            "checkSiteMap" : false
        },
        "usingComponents" : true
    },
package-lock.json
New file
@@ -0,0 +1,77 @@
{
  "name": "mini-program",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "dependencies": {
        "axios": "^0.21.1",
        "js-md5": "^0.7.3",
        "uni-read-pages": "^1.0.5"
      }
    },
    "node_modules/axios": {
      "version": "0.21.1",
      "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
      "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
      "dependencies": {
        "follow-redirects": "^1.10.0"
      }
    },
    "node_modules/follow-redirects": {
      "version": "1.14.1",
      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
      "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==",
      "funding": [
        {
          "type": "individual",
          "url": "https://github.com/sponsors/RubenVerborgh"
        }
      ],
      "engines": {
        "node": ">=4.0"
      },
      "peerDependenciesMeta": {
        "debug": {
          "optional": true
        }
      }
    },
    "node_modules/js-md5": {
      "version": "0.7.3",
      "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
      "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
    },
    "node_modules/uni-read-pages": {
      "version": "1.0.5",
      "resolved": "https://registry.npmjs.org/uni-read-pages/-/uni-read-pages-1.0.5.tgz",
      "integrity": "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==",
      "hasInstallScript": true
    }
  },
  "dependencies": {
    "axios": {
      "version": "0.21.1",
      "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
      "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
      "requires": {
        "follow-redirects": "^1.10.0"
      }
    },
    "follow-redirects": {
      "version": "1.14.1",
      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
      "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg=="
    },
    "js-md5": {
      "version": "0.7.3",
      "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
      "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
    },
    "uni-read-pages": {
      "version": "1.0.5",
      "resolved": "https://registry.npmjs.org/uni-read-pages/-/uni-read-pages-1.0.5.tgz",
      "integrity": "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA=="
    }
  }
}
package.json
New file
@@ -0,0 +1,7 @@
{
  "dependencies": {
    "axios": "^0.21.1",
    "js-md5": "^0.7.3",
    "uni-read-pages": "^1.0.5"
  }
}
pages.json
@@ -27,6 +27,34 @@
            }
        },
        {
            "path": "pages/infoRegistration/infoRegistration",
            "name": "infoRegistration",
            "style": {
                "navigationBarTitleText": "信息登记"
            }
        },
        {
            "path": "pages/infoRegistration/infoCheck",
            "name": "infoCheck",
            "style": {
                "navigationBarTitleText": "信息核实"
            }
        },
        {
            "path": "pages/visitRecord/visitRecord",
            "name": "visitRecord",
            "style": {
                "navigationBarTitleText": "拜访记录"
            }
        },
        {
            "path": "pages/riskReporting/riskReporting",
            "name": "riskReporting",
            "style": {
                "navigationBarTitleText": "风险上报"
            }
        },
        {
            "path": "pages/equipment/equipment",
            "name": "equipment",
            "style": {
@@ -34,6 +62,13 @@
            }
        },
        {
            "path": "pages/patrol/patrol",
            "name": "equipment",
            "style": {
                "navigationBarTitleText": "巡逻管理"
            }
        },
        {
            "path": "pages/investigation/investigation",
            "name": "investigation",
            "style": {
pages/business/business.vue
@@ -1,29 +1,97 @@
<!-- 业务办理 -->
<template>
    <view class="">
        <squareBut  :data="squareBut"></squareBut>
    <view>
        <view class="view-business">
            <!-- <squareBut :data="squareBut"></squareBut> -->
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/infoRegistration/infoRegistration">
                    <image src="../../static/img/register.png"></image>
                    <span>信息登记</span>
                </navigator>
            </view>
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/infoRegistration/infoCheck">
                    <image src="../../static/img/checkinfo.png"></image>
                    <span>信息核实</span>
                </navigator>
            </view>
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/visitRecord/visitRecord">
                    <image src="../../static/img/record.png"></image>
                    <span>拜访记录</span>
                </navigator>
            </view>
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/riskReporting/riskReporting">
                    <image src="../../static/img/risk.png"></image>
                    <span>风险上报</span>
                </navigator>
            </view>
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/equipment/equipment">
                    <image src="../../static/img/eq02.png"></image>
                    <span>设备安装</span>
                </navigator>
            </view>
        </view>
    </view>
</template>
<script>
    import squareBut from '../../components/squareBut/squareBut.vue'
export default{
    components:{
        squareBut
    },
    data(){
        return {
            squareBut:[
                {
                    title:'设备提交',
                    imgSrc:'../../static/img/cancel.png',
                    goHref:'../equipment/equipment'
                }
            ]
    export default {
        components: {
            squareBut
        },
        data() {
            return {
                squareBut: [{
                    title: '设备提交',
                    imgSrc: '../../static/img/cancel.png',
                    goHref: '../equipment/equipment'
                }]
            }
        }
    }
}
</script>
<style>
    .view-business{
        width: 100%;
        height: 300rpx;
        /* border: 1px solid #007AFF; */
    }
    .view-business-nav{
        width: 31%;
        float: left;
        position: relative;
        left: 20px;
    }
    .patrolBtn image{
        width: 80rpx;
        height: 80rpx;
        position: relative;
        left: 55rpx;
        top: 30rpx;
    }
    .patrolBtn {
        /* border: 1rpx solid #999999; */
        border-radius: 25rpx;
        width: 200rpx;
        height: 200rpx;
        position: relative;
        /* left: 30rpx; */
        top: 30rpx;
    }
    .patrolBtn span {
        position: relative;
        left: -32rpx;
        top: 85rpx;
        font-size: 24rpx;
        letter-spacing: 2rpx;
    }
</style>
pages/equipment/equipment.vue
@@ -4,17 +4,17 @@
            <view class="row b-b">
                <text class="tit"><span style="color: red;">*</span>设备名称: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入设备名称" placeholder-class="placeholder" />
                <text id="deviceName" :style="{color:'red',fontSize:'10px',position:'relative',left:'100px',top:'-5px',display:display}">请输入设备名称</text>
                <text id="deviceName" :style="{color:'red',fontSize:'10px',position:'relative',left:'170px',top:'20px',display:display}">请输入设备名称</text>
            </view>
            <view class="row b-b">
                <text class="tit"><span style="color: red;">*</span>序列号:</text>
                <input class="input" type="text" v-on:input ="onserialNumber" v-model="serialNumber"  placeholder="请输入序列号" placeholder-class="placeholder" />
                <text id="serialNumber" :style="{color:'red',fontSize:'10px',position:'relative',left:'100px',top:'-5px',display:display1}">请输入序列号</text>
                <text id="serialNumber" :style="{color:'red',fontSize:'10px',position:'relative',left:'185px',top:'20px',display:display1}">请输入序列号</text>
            </view>
            <view class="row b-b">
                <text class="tit"><span style="color: red;">*</span>设备编号: </text>
                <input class="input" type="number" v-on:input ="ondeviceNumber" v-model="deviceNumber"  placeholder="请输入设备编号"  placeholder-class="placeholder"/>
                <text id="deviceNumber" :style="{color:'red',fontSize:'10px',position:'relative',left:'100px',top:'-5px',display:display2}">请输入设备编号</text>
                <text id="deviceNumber" :style="{color:'red',fontSize:'10px',position:'relative',left:'170px',top:'20px',display:display2}">请输入设备编号</text>
            </view>
            <view class="row b-b">
                <text class="tit">联系电话: </text>
@@ -31,7 +31,7 @@
             <view class="row image-upload">
                 <text class="tit"><span style="color: red;">*</span>照片上传: </text>
                 <image src="../../static/img/photo.png" @click="ChooseImage" class="picture">
                 <text id="paddress" :style="{color:'red',fontSize:'10px',position:'relative',left:'120px',top:'-22px',display:display3}">至少需要上传1张照片</text>
                 <text id="paddress" :style="{color:'red',fontSize:'10px',position:'relative',left:'200px',top:'-22px',display:display3}">至少需要上传1张照片</text>
             </view>
            <view class="photosView">
                <!-- <view>预览图片</view> -->
@@ -44,7 +44,7 @@
                    </view>
                </block>
            </view>
            <button class="btn" @click="confirm">提交</button>
            <button class="btn" @click="confirm">上传</button>
        </view>
    </view>
</template>
@@ -263,24 +263,27 @@
    }
    
    .input{
        position: relative;
        width: 79%;
        left: 10px;
        position: absolute;
        width: 75%;
        left: 200rpx;
    }
    
    .picture{
        position: relative;
        left: 10px;
        width: 20px;
        height: 20px;
        left: 30rpx;
        width: 50rpx;
        height: 50rpx;
    }
    
    .btn{
        width: 300px;
        width: 180rpx;
        height: 180rpx;
        position: relative;
        top: 25px;
        line-height: 180rpx;
        top: 15rpx;
        background-color: #007AFF;
        color: #FFFFFF;
        border-radius: 100px;
    }
    
    .photosView{
pages/infoRegistration/infoCheck.vue
New file
@@ -0,0 +1,106 @@
<template>
    <view class="content">
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主名称: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主名称" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>联系电话: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入联系电话" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主地址: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主地址" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主类型: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主类型" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>安防等级: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请选择安防等级" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info-desc">
                <text class="info-title"><!-- <span style="color: red;">* --></span>备注: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入备注" placeholder-class="placeholder" />
            </view>
            <button class="btn" @click="confirm">上传</button>
        </view>
    </view>
</template>
<script>
    export default{
        data () {
            return {
                deviceNumber:"",
                serialNumber:"",
                contacts:"",
                calls:"",
                paddress:"",
                deploymenttime:"",
                deviceName:"",
                display:'none',
                display1:'none',
                display2:'none',
                display3:'none'
            }
        },
        onLoad() {
        },
        methods: {
        }
    }
</script>
<style>
    .regis-info {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
        border-bottom: 0.05px solid #B4BCCC;
    }
    .regis-info-desc {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
    }
    .regis-info-desc input{
        position: relative;
        left: 110rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .info-title{
        letter-spacing: 1rpx;
        float: left;
        line-height: 100rpx;
        font-weight: 530;
    }
    .regis-info input{
        position: relative;
        left: 40rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .btn{
        position: relative;
        top: 40rpx;
        background-color: #007AFF;
        width: 180rpx;
        height: 180rpx;
        border-radius: 100rpx;
        line-height:200rpx;
        color: #FFFFFF;
        letter-spacing: 2rpx;
    }
</style>
pages/infoRegistration/infoRegistration.vue
New file
@@ -0,0 +1,106 @@
<template>
    <view class="content">
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主名称: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主名称" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>联系电话: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入联系电话" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主地址: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主地址" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主类型: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主类型" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>安防等级: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请选择安防等级" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info-desc">
                <text class="info-title"><!-- <span style="color: red;">* --></span>备注: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入备注" placeholder-class="placeholder" />
            </view>
            <button class="btn" @click="confirm">上传</button>
        </view>
    </view>
</template>
<script>
    export default{
        data () {
            return {
                deviceNumber:"",
                serialNumber:"",
                contacts:"",
                calls:"",
                paddress:"",
                deploymenttime:"",
                deviceName:"",
                display:'none',
                display1:'none',
                display2:'none',
                display3:'none'
            }
        },
        onLoad() {
        },
        methods: {
        }
    }
</script>
<style>
    .regis-info {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
        border-bottom: 0.05px solid #B4BCCC;
    }
    .regis-info-desc {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
    }
    .regis-info-desc input{
        position: relative;
        left: 110rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .info-title{
        letter-spacing: 1rpx;
        float: left;
        line-height: 100rpx;
        font-weight: 530;
    }
    .regis-info input{
        position: relative;
        left: 40rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .btn{
        position: relative;
        top: 40rpx;
        background-color: #007AFF;
        width: 180rpx;
        height: 180rpx;
        border-radius: 100rpx;
        line-height:200rpx;
        color: #FFFFFF;
        letter-spacing: 2rpx;
    }
</style>
pages/myself/myself.vue
@@ -15,21 +15,87 @@
                二维码
            </view>
        </view>
        <view class="m-body">
        <view class="nav-user">
            <navigator url="/pages/patrol/patrol" class="nav-user-in">
                <view class="icon-img">
                    <image src="../../static/workbench/user01.png"></image>
                </view>
                <view class="oneself-title">账户信息</view>
                <view class="icon-img-right">
                    <image src="../../static/workbench/bracket.png"></image>
                </view>
            </navigator>
        </view>
        <view class="nav">
            <navigator url="/pages/patrol/patrol" class="nav-child">
                <view class="icon-img">
                    <image src="../../static/workbench/update.png"></image>
                </view>
                <view class="oneself-title">版本更新</view>
                <view class="icon-img-right">
                    <image src="../../static/workbench/bracket.png"></image>
                </view>
            </navigator>
        </view>
        <view class="nav">
            <navigator url="/pages/patrol/patrol" class="nav-child">
                <view class="icon-img">
                    <image src="../../static/workbench/feedback01.png"></image>
                </view>
                <view class="oneself-title">意见反馈</view>
                <view class="icon-img-right">
                    <image src="../../static/workbench/bracket.png"></image>
                </view>
            </navigator>
        </view>
        <view class="nav">
            <navigator url="/pages/patrol/patrol" class="nav-child">
                <view class="icon-img">
                    <image src="../../static/workbench/system.png"></image>
                </view>
                <view class="oneself-title">系统设置</view>
                <view class="icon-img-right">
                    <image src="../../static/workbench/bracket.png"></image>
                </view>
            </navigator>
        </view>
        <view class="nav-us">
            <navigator url="/pages/patrol/patrol" class="nav-child">
                <view class="icon-img">
                    <image src="../../static/workbench/myself.png"></image>
                </view>
                <view class="oneself-title">关于我们</view>
                <view class="icon-img-right">
                    <image src="../../static/workbench/bracket.png"></image>
                </view>
            </navigator>
        </view>
        <view class="nav-logout">
            <navigator  @click="outIn" class="nav-logout-in">
                <view class="icon-img">
                    <image src="../../static/img/out.png"></image>
                </view>
                <view class="oneself-title">登出</view>
                <view class="icon-img-logout">
                    <image src="../../static/workbench/bracket.png"></image>
                </view>
            </navigator>
            <uniPopup :textmsg="textmsg" @cancel='operation(1)' @confirm='operation(2)' v-show="showTextmsg">
            </uniPopup>
        </view>
        <!-- <view class="m-body">
            <!-- <card :h="17">
                <floats :w="17" :h="17" :img="'../../static/img/out.png'" :msg="$store.state.loging == true? '登出': '登入'"
                    @onck="outIn"></floats>
            </card> -->
            <view class="m-b-top">
            <!-- <view class="m-b-top">
                <view class="m-b-t-once" @click="outIn">
                    <image class="img" src="../../static/img/out.png" mode=""></image>
                    <span>{{butTitle}}</span>
                </view>
            </view>
            <uniPopup :textmsg="textmsg" @cancel='operation(1)' @confirm='operation(2)' v-show="showTextmsg">
            </uniPopup>
        </view>
        <button type="default" @click="geton">打开提交页面</button>
            </view> -->
        <!-- </view> -->
    </view>
</template>
@@ -187,4 +253,87 @@
            }
        }
    }
    .nav {
        width: 90%;
        height: 100rpx;
        border-bottom: 1rpx solid #999999;
        position: relative;
        left: 30rpx;
    }
    .nav-child{
        width: 100%;
        height:100rpx;
    }
    .nav-user {
        width: 100%;
        height: 100rpx;
        border-bottom: 1rpx solid #999999;
    }
    .nav-user-in {
        position: relative;
        left: 30rpx;
        height: 100rpx;
    }
    .nav-us {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 30rpx;
    }
    .icon-img image{
        width: 50rpx;
        height: 50rpx;
        float: left;
        position: relative;
        top:25rpx;
    }
    .oneself-title{
        line-height: 100rpx;
        float: left;
        position: relative;
        left: 20rpx;
        font-weight: 550;
        font-size: 28rpx;
    }
    .icon-img-right image {
        line-height: 100rpx;
        width: 50rpx;
        height: 50rpx;
        position: relative;
        left: 460rpx;
        top: 25rpx;
    }
    .nav-logout {
        width: 100%;
        height: 100rpx;
        border-bottom: 1rpx solid #999999;
        border-top: 1rpx solid #999999;
        position: relative;
    }
    .nav-logout-in {
        position: relative;
        left: 30rpx;
        height: 100rpx;
    }
    .icon-img-logout image {
        line-height: 100rpx;
        width: 50rpx;
        height: 50rpx;
        position: relative;
        left: 515rpx;
        top: 25rpx;
    }
</style>
pages/patrol/patrol.vue
New file
@@ -0,0 +1,41 @@
<template>
    <view class="content">
        <web-view :src="urls"></web-view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                urls: '',
                // dataList: [],
            }
        },
        methods: {},
        mounted() {},
        onLoad: function(options) {
            var data = [];
            if (options.data == undefined) {
                data = [{
                    "id": '100000',
                    "place": '无数据',
                    "state": '0',
                    "dtype": '0',
                    "size": '300',
                    "jd": "115.822311",
                    "wd": "28.646341"
                }]
                data = JSON.stringify(data);
            }else{
                data = options.data;
            }
            this.urls = "https://web.byisf.com/xcxjingqingmap/xcxmap.html?data=" + data;
            // this.dataList = data;
            // console.log(this.urls);
        },
    }
</script>
<style>
</style>
pages/riskReporting/riskReporting.vue
New file
@@ -0,0 +1,113 @@
<template>
    <view class="content">
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>风险等级: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请选择风险等级" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>风险描述: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入风险描述" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info-addr">
                <text class="info-title"><!-- <span style="color: red;">* --></span>地址: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入地址" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info-desc">
                <text class="info-title"><!-- <span style="color: red;">* --></span>备注: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入备注" placeholder-class="placeholder" />
            </view>
            <button class="btn" @click="confirm">上传</button>
        </view>
    </view>
</template>
<script>
    export default{
        data () {
            return {
                deviceNumber:"",
                serialNumber:"",
                contacts:"",
                calls:"",
                paddress:"",
                deploymenttime:"",
                deviceName:"",
                display:'none',
                display1:'none',
                display2:'none',
                display3:'none'
            }
        },
        onLoad() {
        },
        methods: {
        }
    }
</script>
<style>
    .regis-info {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
        border-bottom: 0.05px solid #B4BCCC;
    }
    .regis-info-desc {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
    }
    .regis-info-desc input{
        position: relative;
        left: 110rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .regis-info-addr {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
        border-bottom: 0.05px solid #B4BCCC;
    }
    .regis-info-addr input{
        position: relative;
        left: 110rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .info-title{
        letter-spacing: 1rpx;
        float: left;
        line-height: 100rpx;
        font-weight: 530;
    }
    .regis-info input{
        position: relative;
        left: 40rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .btn{
        position: relative;
        top: 40rpx;
        background-color: #007AFF;
        width: 180rpx;
        height: 180rpx;
        border-radius: 100rpx;
        line-height:200rpx;
        color: #FFFFFF;
        letter-spacing: 2rpx;
    }
</style>
pages/visitRecord/visitRecord.vue
New file
@@ -0,0 +1,102 @@
<template>
    <view class="content">
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>拜访日期: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请选择拜访日期" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主名称: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主名称" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>业主地址: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入业主地址" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info">
                <text class="info-title"><!-- <span style="color: red;">* --></span>营业信息: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入营业信息" placeholder-class="placeholder" />
            </view>
            <view class="row regis-info-desc">
                <text class="info-title"><!-- <span style="color: red;">* --></span>备注: </text>
                <input class="input" type="text" v-on:input ="ondeviceName" v-model="deviceName" placeholder="请输入备注" placeholder-class="placeholder" />
            </view>
            <button class="btn" @click="confirm">上传</button>
        </view>
    </view>
</template>
<script>
    export default{
        data () {
            return {
                deviceNumber:"",
                serialNumber:"",
                contacts:"",
                calls:"",
                paddress:"",
                deploymenttime:"",
                deviceName:"",
                display:'none',
                display1:'none',
                display2:'none',
                display3:'none'
            }
        },
        onLoad() {
        },
        methods: {
        }
    }
</script>
<style>
    .regis-info {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
        border-bottom: 0.05px solid #B4BCCC;
    }
    .regis-info-desc {
        width: 100%;
        height: 100rpx;
        position: relative;
        left: 20rpx;
    }
    .regis-info-desc input{
        position: relative;
        left: 110rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .info-title{
        letter-spacing: 1rpx;
        float: left;
        line-height: 100rpx;
        font-weight: 530;
    }
    .regis-info input{
        position: relative;
        left: 40rpx;
        top: 27rpx;
        letter-spacing: 1rpx;
    }
    .btn{
        position: relative;
        top: 40rpx;
        background-color: #007AFF;
        width: 180rpx;
        height: 180rpx;
        border-radius: 100rpx;
        line-height:200rpx;
        color: #FFFFFF;
        letter-spacing: 2rpx;
    }
</style>
pages/workbench/workbench.vue
@@ -12,10 +12,12 @@
                <view class="l-title">打卡签到</view>
            </view>
            <view class="right">
                <view class="r-img">
                    <image src="../../static/workbench/luxian.png" mode=""></image>
                </view>
                <view class="r-title">巡逻路线</view>
                <navigator url="/pages/patrol/patrol">
                    <view class="r-img">
                        <image src="../../static/workbench/luxian.png" mode=""></image>
                    </view>
                    <view class="r-title">巡逻路线</view>
                </navigator>
            </view>
        </view>
        <view class="main">
static/img/alarm.png
static/img/checkinfo.png
static/img/eq.png
static/img/eq01.png
static/img/eq02.png
static/img/record.png
static/img/register.png
static/img/risk.png
static/img/记录.png
static/workbench/bracket.png
static/workbench/feedback01.png
static/workbench/myself.png
static/workbench/system.png
static/workbench/update.png
static/workbench/user01.png
xcxjingqingmap/css/body.css
@@ -105,6 +105,8 @@
    width: 30px;
    height: 30px;
    padding-right: 10px;
    position: relative;
    left: 20rpx;
}
.f-m-o-center {
xcxjingqingmap/img/photo.png
xcxjingqingmap/js/vueMain.js
@@ -31,15 +31,15 @@
        },
        beginCome() {
            this.getdata = this.getQueryVariable('data');//url解码
            // console.log(this.getdata)
            // this.getdata = [{
            //     jd: 115.91042800000002,
            //     wd: 28.68094757898212,
            //     state: 0,
            //     dtype: 0,
            //     size: 300,
            //     title: '第一个'
            // }];//url解码
            console.log(this.getdata)
            this.getdata = [{
                jd: 115.91042800000002,
                wd: 28.68094757898212,
                state: 0,
                dtype: 0,
                size: 300,
                title: '第一个'
            }];//url解码
            this.map = this.beginMap(this.map, this.getdata);//创建并接受map
            this.move = new myDomMove('#seedata', '.title', '#map');
            // var dy = document.documentElement.clientHeight - 50;
@@ -92,13 +92,13 @@
                    zoomControl: false, //去掉缩放
                });
                L.tileLayer( //添加切片图层
                    // "https://webmap-tile.sf-express.com/MapTileService/rt?x={x}&y={y}&z={z}", {//顺丰地图
                    "https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal", {//顺丰地图
                    "https://webmap-tile.sf-express.com/MapTileService/rt?x={x}&y={y}&z={z}", {//顺丰地图
                    // "https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal", {//顺丰地图
                    // "http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}", {
                    // subdomains: ["1", "2", "3", "4"],
                    // attribution: "高德"
                }
                    }
                ).addTo(map);
            }
            createMap();
xcxjingqingmap/xcxmap.html
@@ -64,108 +64,26 @@
            <div class="main">
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        <img class="f-m-o-t-img" src="./img/ren.png" alt="">
                        使用方:
                        <!-- <img class="f-m-o-t-img" src="./img/ren.png" alt=""> -->
                        路线名称:
                    </div>
                    <div class="f-m-o-center">{{seedata.deptName}}</div>
                </div>
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        <img class="f-m-o-t-img" src="./img/ren.png" alt="">
                        接警人:
                    </div>
                    <div class="f-m-o-center">{{seedata.alarmPeople}}</div>
                </div>
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        <img class="f-m-o-t-img" src="./img/dianhua.png" alt="">
                        联系电话:
                    </div>
                    <div class="f-m-o-center">{{seedata.phoneNumber}}</div>
                </div>
                <el-divider></el-divider>
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        <img class="f-m-o-t-img" src="./img/shijian.png" alt="">
                        报警时间:
                    </div>
                    <div class="f-m-o-center">{{seedata.alarmTime}}</div>
                </div>
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        <img class="f-m-o-t-img" src="./img/leixing.png" alt="">
                        报警类型&&编号:
                    </div>
                    <div class="f-m-o-center">{{seedata.alarmType}}&&{{seedata.id}}</div>
                </div>
                <el-divider></el-divider>
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        <img class="f-m-o-t-img" src="./img/beizhu.png" alt="">
                        备注:
                        <!-- <img class="f-m-o-t-img" src="./img/beizhu.png" alt=""> -->
                        路线备注:
                    </div>
                    <div class="f-m-o-center">{{seedata.bz}}</div>
                </div>
                <div class="but">
                    <div class="buta" @click="shipingClick(true)">
                        <img class="b-b-img" src="./img/shiping.png" alt="">
                <div class="f-m-once">
                    <div class="f-m-o-title">
                        照片上传:
                        <img class="f-m-o-t-img" src="./img/photo.png" alt="">
                    </div>
                    <!-- 加上display: none不会闪烁 -->
                    <div class="shipingPopup" v-show="shipingPopupShow" style="display: none;">
                        <div class="s-p-main">
                            <div @click="shipingClick(false)">
                                <img src="./img/gaunbi.png" alt="" class="s-p-gaunbi">
                            </div>
                            <!-- <video style="height: 550px; width: 100%" controls="controls"
                                id="real_video_shipingPopup" src=""></video> -->
                            <video style="height: 550px; width: 100%" controls="controls" :src="shipingM3u8Url"></video>
                        </div>
                    </div>
                    <div class="butb" @click="resultFeedbackClick">结果反馈</div>
                    <!-- 加上display: none不会闪烁 -->
                    <!-- <div class="resultFeedback" v-show="resultFeedbackPopupShow" style="display: none;">
                        <div class="b-r-main">
                            <div @click="resultFeedbackClick">
                                <img src="./img/gaunbi.png" alt="" class="s-p-gaunbi">
                            </div>
                            <div class="b-r-main-in">
                                <div class="b-r-m-i-once">
                                    <div class="b-r-m-i-o-title">
                                        警情反馈:
                                    </div>
                                    <div class="b-r-m-i-o-center">
                                        <textarea rows="9" cols="27" placeholder="请输入警情反馈。"></textarea>
                                    </div>
                                </div>
                                <div class="b-r-m-i-once b-r-i-o-ups">
                                    <div class="b-r-m-i-o-title">
                                        照片上传:
                                    </div>
                                    <div class="b-r-m-i-o-center">
                                        <img class="b-r-m-i-o-c-img" src="./img/xiangji.png" alt="">
                                        <div>2522</div>
                                    </div>
                                </div>
                                <el-divider></el-divider>
                                <div class="b-r-m-i-once b-r-i-o-ups">
                                    <div class="b-r-m-i-o-title">
                                        视频上传:
                                    </div>
                                    <div class="b-r-m-i-o-center">
                                        <img class="b-r-m-i-o-c-img" src="./img/shiping11.png" alt="">
                                        <div>2522</div>
                                    </div>
                                </div>
                                <div class="butb b-r-m-but" @click="upData">结果反馈</div>
                            </div>
                        </div>
                    </div> -->
                    <div class="butc">
                        <img class="b-b-img" src="./img/huifang.png" alt="">
                        <!-- <div class="huifangPopup">
                            回放
                        </div> -->
                    </div>
                    <div class="f-m-o-center">{{seedata.bz}}</div>
                </div>
            </div>
        </div>