zengh
2021-07-20 71ea99937dec5c8b0d21923e399b7623a7c65174
版本更新
28 files modified
23 files added
1605 ■■■■■ changed files
package-lock.json 125 ●●●●● patch | view | raw | blame | history
pages.json 10 ●●●●● patch | view | raw | blame | history
pages/business/business.vue 4 ●●●● patch | view | raw | blame | history
pages/groupChat/groupChat.vue 2 ●●● patch | view | raw | blame | history
pages/myself/myself.vue 33 ●●●● patch | view | raw | blame | history
pages/patrol/patrol.vue 531 ●●●●● patch | view | raw | blame | history
pages/patrol/patrol_copy.vue 27 ●●●●● patch | view | raw | blame | history
pages/registerUser/registerUser.vue 173 ●●●● patch | view | raw | blame | history
pages/shengzs/index.vue 691 ●●●●● patch | view | raw | blame | history
static/myself/shu.png patch | view | raw | blame | history
static/shenzs/img/detail-bg.jpg patch | view | raw | blame | history
static/shenzs/img/flasks.png patch | view | raw | blame | history
static/shenzs/img/flasms.png patch | view | raw | blame | history
static/shenzs/img/fly-1.png patch | view | raw | blame | history
static/shenzs/img/fly-2.png patch | view | raw | blame | history
static/shenzs/img/fly-3.png patch | view | raw | blame | history
static/shenzs/img/kettls.png patch | view | raw | blame | history
static/shenzs/img/male.png patch | view | raw | blame | history
static/shenzs/img/speed-1-h.png patch | view | raw | blame | history
static/shenzs/img/speed-1.png patch | view | raw | blame | history
static/shenzs/img/speed-2-h.png patch | view | raw | blame | history
static/shenzs/img/speed-2.png patch | view | raw | blame | history
static/shenzs/img/speed-3-h.png patch | view | raw | blame | history
static/shenzs/img/speed-3.png patch | view | raw | blame | history
static/shenzs/img/tree-1.png patch | view | raw | blame | history
static/shenzs/img/tree-2.png patch | view | raw | blame | history
static/shenzs/img/tree-3.png patch | view | raw | blame | history
static/shenzs/img/water.png patch | view | raw | blame | history
static/shenzs/img/waters.gif patch | view | raw | blame | history
static/shenzs/img/women.png patch | view | raw | blame | history
store/actions.js 4 ●●●● patch | view | raw | blame | history
store/state.js 2 ●●● patch | view | raw | blame | history
unpackage/res/icons/1024x1024.png patch | view | raw | blame | history
unpackage/res/icons/120x120.png patch | view | raw | blame | history
unpackage/res/icons/144x144.png patch | view | raw | blame | history
unpackage/res/icons/152x152.png patch | view | raw | blame | history
unpackage/res/icons/167x167.png patch | view | raw | blame | history
unpackage/res/icons/180x180.png patch | view | raw | blame | history
unpackage/res/icons/192x192.png patch | view | raw | blame | history
unpackage/res/icons/20x20.png patch | view | raw | blame | history
unpackage/res/icons/29x29.png patch | view | raw | blame | history
unpackage/res/icons/40x40.png patch | view | raw | blame | history
unpackage/res/icons/58x58.png patch | view | raw | blame | history
unpackage/res/icons/60x60.png patch | view | raw | blame | history
unpackage/res/icons/72x72.png patch | view | raw | blame | history
unpackage/res/icons/76x76.png patch | view | raw | blame | history
unpackage/res/icons/80x80.png patch | view | raw | blame | history
unpackage/res/icons/87x87.png patch | view | raw | blame | history
unpackage/res/icons/96x96.png patch | view | raw | blame | history
xcxMapJQLG/js/vueMain.js 1 ●●●● patch | view | raw | blame | history
xcxMapJQLG/xcxmap.html 2 ●●● patch | view | raw | blame | history
package-lock.json
@@ -4,12 +4,94 @@
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
    "@smallwei/avue": {
      "version": "2.8.17",
      "resolved": "https://registry.nlark.com/@smallwei/avue/download/@smallwei/avue-2.8.17.tgz?cache=0&sync_timestamp=1626353632228&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40smallwei%2Favue%2Fdownload%2F%40smallwei%2Favue-2.8.17.tgz",
      "integrity": "sha1-h4o+2Cl0caOqXDBwfWkkynkmrQI=",
      "requires": {
        "axios": "^0.21.1",
        "countup.js": "^1.9.3",
        "dayjs": "^1.10.4",
        "deepmerge": "^3.1.0",
        "element-ui": "^2.15.1",
        "nprogress": "^0.2.0",
        "vue": "^2.5.17",
        "vuedraggable": "^2.17.0"
      }
    },
    "async-validator": {
      "version": "1.8.5",
      "resolved": "https://registry.nlark.com/async-validator/download/async-validator-1.8.5.tgz",
      "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
      "requires": {
        "babel-runtime": "6.x"
      }
    },
    "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"
      }
    },
    "babel-helper-vue-jsx-merge-props": {
      "version": "2.0.3",
      "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
      "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
    },
    "babel-runtime": {
      "version": "6.26.0",
      "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
      "requires": {
        "core-js": "^2.4.0",
        "regenerator-runtime": "^0.11.0"
      }
    },
    "core-js": {
      "version": "2.6.12",
      "resolved": "https://registry.nlark.com/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1624966102256&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz",
      "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw="
    },
    "countup.js": {
      "version": "1.9.3",
      "resolved": "https://registry.npm.taobao.org/countup.js/download/countup.js-1.9.3.tgz",
      "integrity": "sha1-zj5QzXFgRB5HjwfaMYle3MDxyd0="
    },
    "crypto-js": {
      "version": "4.0.0",
      "resolved": "https://registry.nlark.com/crypto-js/download/crypto-js-4.0.0.tgz",
      "integrity": "sha1-KQSrJnep0EKFai6i74DekuSjbcw="
    },
    "dayjs": {
      "version": "1.10.6",
      "resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.6.tgz",
      "integrity": "sha1-KIsqqC8thBimydTfWJjAc3rQKmM="
    },
    "deepmerge": {
      "version": "3.3.0",
      "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-3.3.0.tgz",
      "integrity": "sha1-08R/1vOpPVF7FEJrBiihewEl9fc="
    },
    "element-ui": {
      "version": "2.15.3",
      "resolved": "https://registry.nlark.com/element-ui/download/element-ui-2.15.3.tgz",
      "integrity": "sha1-VRCKuCo7zGRuewVwhxxIupYwBlI=",
      "requires": {
        "async-validator": "~1.8.1",
        "babel-helper-vue-jsx-merge-props": "^2.0.0",
        "deepmerge": "^1.2.0",
        "normalize-wheel": "^1.0.1",
        "resize-observer-polyfill": "^1.5.0",
        "throttle-debounce": "^1.0.1"
      },
      "dependencies": {
        "deepmerge": {
          "version": "1.5.2",
          "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
          "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
        }
      }
    },
    "follow-redirects": {
@@ -22,6 +104,36 @@
      "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
      "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
    },
    "normalize-wheel": {
      "version": "1.0.1",
      "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
      "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
    },
    "nprogress": {
      "version": "0.2.0",
      "resolved": "https://registry.nlark.com/nprogress/download/nprogress-0.2.0.tgz",
      "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E="
    },
    "regenerator-runtime": {
      "version": "0.11.1",
      "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
      "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
    },
    "resize-observer-polyfill": {
      "version": "1.5.1",
      "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
    },
    "sortablejs": {
      "version": "1.10.2",
      "resolved": "https://registry.nlark.com/sortablejs/download/sortablejs-1.10.2.tgz",
      "integrity": "sha1-bkA2TZE/mLhaFPZnj5K1wSIfUpA="
    },
    "throttle-debounce": {
      "version": "1.1.0",
      "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz?cache=0&sync_timestamp=1604313880785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2Fthrottle-debounce-1.1.0.tgz",
      "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
    },
    "uni-read-pages": {
      "version": "1.0.5",
      "resolved": "https://registry.npm.taobao.org/uni-read-pages/download/uni-read-pages-1.0.5.tgz",
@@ -31,6 +143,19 @@
      "version": "1.8.4",
      "resolved": "https://registry.npm.taobao.org/uview-ui/download/uview-ui-1.8.4.tgz",
      "integrity": "sha1-4yu/I3lCHTGQIuMk4ct7U4fTvUQ="
    },
    "vue": {
      "version": "2.6.14",
      "resolved": "https://registry.nlark.com/vue/download/vue-2.6.14.tgz?cache=0&sync_timestamp=1625229652956&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue%2Fdownload%2Fvue-2.6.14.tgz",
      "integrity": "sha1-5RqlJQJQ1Wmj+606ilpofWA24jU="
    },
    "vuedraggable": {
      "version": "2.24.3",
      "resolved": "https://registry.nlark.com/vuedraggable/download/vuedraggable-2.24.3.tgz",
      "integrity": "sha1-Q8k4SbdGokzlA+Ej1bJZxwG6DRk=",
      "requires": {
        "sortablejs": "1.10.2"
      }
    }
  }
}
pages.json
@@ -34,6 +34,14 @@
            }
        },
        {
            "path": "pages/shengzs/index",
            "style": {
                "navigationBarTitleText": "生长树",
                "navigationBarBackgroundColor": "#0BB9C8",
                "navigationBarTextStyle": "white"
            }
        },
        {
            "path": "pages/myself/myself",
            "name": "myself",
            "style": {
@@ -224,7 +232,7 @@
            "path": "pages/patrol/patrol",
            "name": "equipment",
            "style": {
                "navigationBarTitleText": "巡逻管理",
                "navigationBarTitleText": "巡逻任务",
                "navigationBarBackgroundColor": "#0BB9C8",
                "navigationBarTextStyle": "white"
            }
pages/business/business.vue
@@ -14,13 +14,13 @@
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/patrol/patrol">
                    <image src="../../static/workbench/task2.png"></image>
                    <span>巡逻管理</span>
                    <span>巡逻任务</span>
                </navigator>
            </view>
            <view class="view-business-nav">
                <navigator class="patrolBtn" url="/pages/reported/reported">
                    <image src="../../static/workbench/task3.png"></image>
                    <span>异常上报</span>
                    <span>事件上报</span>
                </navigator>
            </view>
            <view class="view-business-nav">
pages/groupChat/groupChat.vue
@@ -169,7 +169,7 @@
                    })
                }else if(this.current == 2){
                    uni.request({
                        url:"http://s16s652780.51mypc.cn/api//blade-user/pages?current=1&size=9999",
                        url:"http://s16s652780.51mypc.cn/api//blade-user/pagetxl?current=1&size=9999",
                        method:"get",
                        data:{
                            senderId: WxStorage.get("ids")
pages/myself/myself.vue
@@ -13,13 +13,13 @@
            </view>
            <view class="my-dept-info">
                <view class="dept-info">
                    <view class="dept-name">所属单位:&nbsp;{{tenantName}}</view>
                    <view class="dept-name">所属部门:&nbsp;{{deptName}}</view>
                </view>
            </view>
        </view>
        </view>
        <view class="bomBut">
            <view class="attendance-btn" @click="goToAttendance()">
                <view class="attendance-info">
            <view class="attendance-btn">
                <view class="attendance-info"  @click="goToAttendance()">
                    <image src="../../static/myself/clock01.png" class="attendance-image"/>
                    <view class="attendance-title">考勤打卡</view>
                </view>
@@ -47,7 +47,7 @@
    export default {
        data() {
            return {
                useimg: '../../static/logo.png',
                useimg: 'http://s16s652780.51mypc.cn/img/bg/batx.png',
                showTextmsg: false,
                textmsg: {
                    title: '提示',
@@ -73,9 +73,15 @@
                    //     open: 'yijian'
                    // },
                    {
                        title: '生长树',
                        imgSrc: '../../static/myself/shu.png',
                        open: 'chenzs'
                    },
                    {
                        title: '关于我们',
                        imgSrc: '../../static/myself/us003.png',
                        open: 'aboutUs'
                        // open: 'aboutUs'
                        open: 'genxin'
                    },
                    {
                        title: '隐私政策',
@@ -97,7 +103,7 @@
                tabbar:this.$store.state.tabbar,
                name:'',
                id:'',
                tenantName:''
                deptName:''
            }
        },
        components: {
@@ -132,6 +138,11 @@
            },
            openThere(fn) {
                this[fn]();
            },
            chenzs(){
                wx.navigateTo({
                    url: '../shengzs/index',
                })
            },
            aboutUs() {
                // console.log('aboutus')
@@ -184,7 +195,11 @@
                    success(resdata) {
                        that.name = resdata.data.data.realName;
                        that.id = resdata.data.data.id;
                        that.tenantName = resdata.data.data.tenantName;
                        var dept = resdata.data.data.deptName;
                        if(dept !=null && dept !=""){
                            var name = dept.split(",");
                            that.deptName = name[name.length - 1];
                        }
                    }
                })
            },
@@ -383,7 +398,7 @@
        .bomBut {
            width: 88%;
            margin: 0 auto;
            height: 19rem;
            height: 21rem;
            z-index: 999;
            border-radius: 2px;
            margin-top: -2.5rem;
pages/patrol/patrol.vue
@@ -1,27 +1,532 @@
<template>
    <view class="content">
        <web-view :src="urls"></web-view>
    <view class="alarm-list">
        <!-- 自定义顶部导航栏 -->
        <!-- <navBarTop :title="'我要查'"></navBarTop> -->
        <!-- <uni-nav-bar class="uni-nav-bar-info" :fixed="true" :status-bar="true">
            <view class="title" slot="default">群防任务</view>
            <view slot="left" class="uni-nav-bar-left" @click="goBack()">
                <image src="../../static/images/nav/back02.png"></image>
            </view>
        </uni-nav-bar> -->
        <view class="navigation-bar">
            <view class="alarm-bar-total" :style="{color:totalColor,borderBottom:totalBoder}"
                @click="getAlarmListInfo(1)">全部({{totalNumber}})</view>
            <view class="alarm-bar-noload" :style="{color:noloadColor,borderBottom:noloadBoder}"
                @click="getAlarmListInfo(2)">未处理({{untreatedNumber}})</view>
            <view class="alarm-bar-load" :style="{color:loadColor,borderBottom:loadBoder}" @click="getAlarmListInfo(4)">
                处理中({{loadNumber}})</view>
            <view class="alarm-bar-load-before" :style="{color:loadBeforeColor,borderBottom:loadBeforeBoder}"
                @click="getAlarmListInfo(3)">已处理({{finishNumber}})</view>
        </view>
        <view class="alarm-list-content">
            <scroll-view scroll-y="true" :style="{height:scrollHeight}" class="scroll">
                <view class="alarm-info" v-for="item in data" @click="gotoDetail(item)">
                    <view class="alarm-id-type-status">
                        <view class="alarm-id-type">({{item.id}}){{item.alarmType}}</view>
                        <view class="alarm-status" :style="{color:untreatedColor}"
                            v-if="item.securityId==null || item.securityId=='' ">未处理
                        </view>
                        <view class="alarm-status" :style="{color:processedColor}"
                            v-if="item.securityId!='' && item.jtype==1">处理中</view>
                        <view class="alarm-status" :style="{color:finishColor}"
                            v-if="item.jtype==2 && item.securityId!=''">已处理</view>
                    </view>
                    <view class="alarm-position-time">
                        <view class="image-place">
                            <image src="../../static/images/pColumn/position.png"></image>
                            <view class="place">{{item.place}}</view>
                        </view>
                        <view class="image-time">
                            <image src="../../xcxMapJQ/img/alarm.png"></image>
                            <view class="t-time"> {{item.alarmTime}}</view>
                        </view>
                    </view>
                </view>
            </scroll-view>
        </view>
        <view class="butPopup" v-show="popuShow">
            <view class="b-main" :style="{bottom: bmainb}">
                <view class="b-m-title">
                    是否接该任务
                </view>
                <button class="b-m-Y" hover-class='b-m-Y-hove' type="default" @click="popupBY">接受</button>
                <button class="b-m-N" hover-class='b-m-N-hove' type="default" @click="popupBN">取消</button>
            </view>
        </view>
    </view>
</template>
<script>
    import navBarTop from '../../components/nav-bar-top/nav-bar-top.vue';
    export default {
        components: {
            navBarTop
        },
        data() {
            return {
                urls: ''
                pathUrl: "http://s16s652780.51mypc.cn/api",
                totalColor: "#51A2FE",
                noloadColor: "#000000",
                loadColor: "#000000",
                loadBeforeColor: "#000000",
                totalBoder: "2px solid #2E7EED",
                noloadBoder: "0px solid #2E7EED",
                loadBoder: "0px solid #2E7EED",
                loadBeforeBoder: "0px solid #2E7EED",
                untreatedColor: "#ED6154",
                processedColor: "#44AC33",
                finishColor: "#808080",
                popuShow: false,
                bmainb: "",
                totalNumber: null,
                untreatedNumber: null,
                loadNumber: null,
                finishNumber: null,
                data: [],
                itemData: {},
                systemBarHeight: 0,
                scrollHeight: 0,
                avatarImage: this.$store.state.avatar
            }
        },
        methods: {},
        mounted() {},
        onLoad: function(options) {
            //long 转换为字符串
            var code = JSON.stringify(this.$store.state.puserID.toString());
            // var code = JSON.stringify("1370564873280430082");
            // this.urls = "http://s16s652780.51mypc.cn/xcxjingqingmap_patrol/xcxmap.html?snumber="+code;
            this.urls = "http://s16s652780.51mypc.cn/xcxMapPatrol/xcxmap.html?snumber="+code;
        created() {
            // 获取滚动窗口高度
            this.getSysteminfo();
        },
        onLoad() {
            this.getAlarmListInfo(1);
        },
        methods: {
            //返回上一页
            goBack() {
                uni.navigateBack({})
            },
            // 获取滚动窗口高度
            getSysteminfo() {
                uni.getSystemInfo({
                    success: res => {
                        //顶部状态栏高度
                        this.systemBarHeight = res.statusBarHeight;
                        //res.screenHeight为屏幕高度,顶部导航栏和底部导航栏 默认高度为 50 px ,43为tab标签高度
                        this.scrollHeight = res.screenHeight - this.systemBarHeight - 50 - 43;
                        //得到数据内容滚动窗口高度
                        this.scrollHeight = this.scrollHeight + "px";
                    }
                });
            },
            //获取警情数据
            getAlarmListInfo(tab) {
                //修改菜单颜色样式
                this.updateBarStyle(tab);
                //获取警情数据
                this.getAlarmData(tab);
            },
            //修改菜单颜色样式
            updateBarStyle(tab) {
                if (tab == 1) {
                    //字体颜色改变
                    this.totalColor = "#51A2FE";
                    this.noloadColor = "#000000";
                    this.loadColor = "#000000";
                    this.loadBeforeColor = "#000000";
                    //下划线样式改变
                    this.totalBoder = "2px solid #2E7EED";
                    this.noloadBoder = "0px solid #2E7EED";
                    this.loadBoder = "0px solid #2E7EED";
                    this.loadBeforeBoder = "0px solid #2E7EED";
                }
                if (tab == 4) {
                    //字体颜色改变
                    this.totalColor = "#000000";
                    this.loadColor = "#51A2FE";
                    this.noloadColor = "#000000";
                    this.loadBeforeColor = "#000000";
                    //下划线样式改变
                    this.totalBoder = "0px solid #2E7EED";
                    this.loadBoder = "2px solid #2E7EED";
                    this.noloadBoder = "0px solid #2E7EED";
                    this.loadBeforeBoder = "0px solid #2E7EED";
                }
                if (tab == 3) {
                    //字体颜色改变
                    this.totalColor = "#000000";
                    this.noloadColor = "#000000";
                    this.loadColor = "#000000";
                    this.loadBeforeColor = "#51A2FE";
                    //下划线样式改变
                    this.totalBoder = "0px solid #2E7EED";
                    this.noloadBoder = "0px solid #2E7EED";
                    this.loadBoder = "0px solid #2E7EED";
                    this.loadBeforeBoder = "2px solid #2E7EED";
                }
                if (tab == 2) {
                    //字体颜色改变
                    this.totalColor = "#000000";
                    this.noloadColor = "#51A2FE";
                    this.loadColor = "#000000";
                    this.loadBeforeColor = "#000000";
                    //下划线样式改变
                    this.totalBoder = "0px solid #2E7EED";
                    this.noloadBoder = "2px solid #2E7EED";
                    this.loadBoder = "0px solid #2E7EED";
                    this.loadBeforeBoder = "0px solid #2E7EED";
                }
            },
            //获取警情数据
            getAlarmData(tab) {
                var that = this;
                // this.$store.state.puserID = 1370564873280430082;
                if (this.$store.state.puserID) {
                    //获取全部的数据
                    uni.request({
                        url: this.$store.state.piAPI + "alarm/alarm/APP-getPatrolListPage",
                        method: "GET",
                        data: {
                            securityId: this.$store.state.puserID,
                            status: tab
                        },
                        header: {
                            "content-type": "application/x-www-form-urlencoded"
                        },
                        success(res) {
                            if (res.data.code == 200) {
                                that.data = res.data.data.page;
                                that.totalNumber = res.data.data.number[0];
                                that.untreatedNumber = res.data.data.number[1];
                                that.finishNumber = res.data.data.number[2];
                                that.loadNumber = res.data.data.number[3];
                            }
                        }
                    })
                }
            },
            //跳转详情页面或者接受任务
            gotoDetail(item) {
                if (item.jtype == 2) {
                    uni.navigateTo({
                        url: '/pages/poput/alarmOver/alarmOver?data=' + JSON.stringify(item)
                    })
                    return;
                }
                if (item.securityId == null) {
                    this.itemData = item;
                    this.popuShow = true;
                } else {
                    //跳转详情页面
                    var datas = item;
                    datas.state = 0;
                    datas.dtype = 0;
                    datas.size = 300;
                    datas.userid = this.$store.state.puserID;
                    datas.username = this.$store.state.puserName;
                    datas.url = this.$store.state.piAPI + "alarm/alarm/APP-setAlarm";
                    // datas.jd = 114.91385;//模拟位置
                    // datas.wd = 25.81051;//模拟位置
                    // datas.wd = 25.81051;//模拟位置
                    var data = [datas]; //传给地图的参数
                    // console.log(data)
                    uni.navigateTo({
                        url: '/pages/map/map?data=' + JSON.stringify(data) + '&html=xcxMapJQLG/xcxmap.html'
                    })
                }
            },
            //触摸遮罩事件
            onClose() {
                this.setData({
                    popuShow: false
                });
            },
            popupBY() {
                this.receives();
                // console.log('接收成功');
                this.$emit('refreshTask', this.fromW)
                // this.triggerEvent('myevent', this.data.fromW);
                this.popuShow = false;
            },
            popupBN() {
                // console.log('接收取消');
                this.popuShow = false;
            },
            //接收任务
            receives() {
                if (this.$store.state.piAPI) {
                    var url = this.$store.state.piAPI + "alarm/alarm/APP-setAlarm",
                        Pid = this.itemData.id,
                        id = this.$store.state.puserID, //警察id
                        name = this.$store.state.puserName, //警察id
                        data = {
                            id: Pid,
                            securityId: id,
                            alarmPeople: name
                        },
                        that = this;
                    uni.request({
                        url: url,
                        data: data,
                        header: {
                            "content-type": "application/x-www-form-urlencoded"
                        },
                        method: 'POST',
                        success(res) {
                            // console.log(res.data.msg);
                        }
                    })
                }
            }
        }
    }
</script>
<style>
</style>
    page {
        width: 100%;
        height: 100%;
        background-color: #F7F7F7;
        z-index: 999;
    }
</style>
<style lang="scss" scoped>
    .alarm-list,
    .nav-bar-top,
    .nav-bar-top-left,
    .alarm-list-content,
    .alarm-info,
    .alarm-id-type-status,
    .alarm-position-time,
    .alarm-bar-total,
    .alarm-bar-noload,
    .alarm-bar-load,
    .alarm-bar-load-before,
    .image-place,
    .image-time,
    .navigation-bar {
        display: flex;
    }
    .uni-nav-bar-info {
        background-color: #0BB9C8;
        // font-weight: 550;
        .title {
            position: fixed;
            right: 42%;
            font-weight: 550;
            letter-spacing: 1px;
        }
        .uni-nav-bar-left {
            display: flex;
            justify-items: center;
            image {
                // background-color: #00BFFF;
                margin-left: 1rem;
                width: 1.6rem;
                height: 1.6rem;
                border-radius: 100px;
            }
        }
        .right {
            display: flex;
            .title-right {
                position: relative;
                font-size: 0.7rem;
                color: #808080;
                right: 0.5rem;
                top: 0.2rem;
            }
        }
    }
    .alarm-list {
        width: 100%;
        flex-direction: column;
        .navigation-bar {
            // border-top: 1rpx solid #C8C7CC;
            background-color: #FFFFFF;
            width: 100%;
            height: 43px;
            flex-direction: row;
            letter-spacing: 1px;
            // position: fixed;
            z-index: 999;
            // margin-top: 4rem;
            font-size: 15px;
            .alarm-bar-total {
                align-items: center;
                justify-content: center;
                width: 25%;
            }
            .alarm-bar-noload {
                align-items: center;
                justify-content: center;
                width: 25%;
            }
            .alarm-bar-load {
                width: 25%;
                align-items: center;
                justify-content: center;
            }
            .alarm-bar-load-before {
                width: 25%;
                align-items: center;
                justify-content: center;
            }
        }
        .alarm-list-content {
            width: 100%;
            // flex: 1;
            flex-direction: column;
            // margin-top: 5.6rem;
            .alarm-info {
                background-color: #FFFFFF;
                height: 230rpx;
                width: 96%;
                margin: 0 auto;
                margin-top: 10rpx;
                border-radius: 10px;
                flex-direction: column;
                .alarm-id-type-status {
                    width: 90%;
                    height: 45%;
                    margin: 0 auto;
                    align-items: center;
                    .alarm-id-type {
                        font-size: 18px;
                        // font-weight: 550;
                        letter-spacing: 1px;
                    }
                    .alarm-status {
                        font-size: 14px;
                        flex: 1;
                        text-align: right;
                    }
                }
                .alarm-position-time {
                    width: 82%;
                    margin: 0 auto;
                    flex-direction: column;
                    .image-place {
                        align-items: center;
                        height: 20px;
                        image {
                            width: 35rpx;
                            height: 35rpx;
                        }
                        .place {
                            font-size: 0.9rem;
                            margin-left: 15rpx;
                            color: #808080;
                            height: 20rpx;
                            line-height: 20rpx;
                        }
                    }
                    .image-time {
                        align-items: center;
                        height: 30px;
                        image {
                            width: 35rpx;
                            height: 35rpx;
                        }
                        .t-time {
                            font-size: 0.9rem;
                            color: #808080;
                            height: 20rpx;
                            line-height: 20rpx;
                            margin-left: 15rpx;
                        }
                    }
                }
            }
        }
        .butPopup {
            z-index: 4;
            position: fixed;
            bottom: 0;
            width: 100%;
            height: 100%;
            background-color: rgba($color: #000000, $alpha: 0.5);
            .b-main {
                position: absolute;
                z-index: 2;
                bottom: 0rem;
                width: 100%;
                // border: 1px solid #007AFF;
                border-radius: 1.5rem;
                background-color: #fff;
                // align-self: flex-end;
                // height: 20rem;
                .b-m-title {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 100%;
                    height: 2.8rem;
                }
                .b-m-Y,
                .b-m-N {
                    color: #fff;
                    border-radius: 0;
                }
                .b-m-Y {
                    background-color: #07C160 !important;
                }
                .b-m-Y-hove {
                    background-color: #048c44 !important;
                }
                .b-m-N {
                    background-color: #FF976A !important;
                }
                .b-m-N-hove {
                    background-color: #e1855d !important;
                }
            }
        }
    }
</style>
pages/patrol/patrol_copy.vue
New file
@@ -0,0 +1,27 @@
<template>
    <view class="content">
        <web-view :src="urls"></web-view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                urls: ''
            }
        },
        methods: {},
        mounted() {},
        onLoad: function(options) {
            //long 转换为字符串
            var code = JSON.stringify(this.$store.state.puserID.toString());
            // var code = JSON.stringify("1370564873280430082");
            // this.urls = "http://s16s652780.51mypc.cn/xcxjingqingmap_patrol/xcxmap.html?snumber="+code;
            this.urls = "http://s16s652780.51mypc.cn/xcxMapPatrol/xcxmap.html?snumber="+code;
        },
    }
</script>
<style>
</style>
pages/registerUser/registerUser.vue
@@ -1,14 +1,15 @@
<template>
    <view class="registerUser">
        <u-form :model="form" ref="uForm">
            <u-form-item :label="item.title" :prop="item.froms" label-width="200" :left-icon="item.img" :required="true"
            <u-form-item :label="item.title" :prop="item.froms" label-width="200" :left-icon="item.img" :required="item.requireds"
                v-for="(item, index) in list" :key="index">
                <u-input v-model="form[item.froms]"  :placeholder="item.placeholder" />
            </u-form-item>
            <u-form-item style="display: none;" label="选择部门" left-icon="account-fill" label-width="200" :required="true">
                <u-input v-model="form.obj" type="select" :border="true" @click="show = true" />
                <u-action-sheet :list="objList" v-model="show" @click="objCallback"></u-action-sheet>
            <u-form-item label="部门" left-icon="account-fill" label-width="200" :required="true">
                <u-input v-model="form.obj" type="select" placeholder="请选择部门" :border="true" @click="depl" />
                <u-select v-model="show" mode="mutil-column-auto" :list="listbm" @confirm="confirm"></u-select>
            </u-form-item>
            <u-form-item label="性别" label-width="200" left-icon="man">
                <u-radio-group v-model="form.sex">
                    <u-radio v-for="(item, index) in sex" :key="index" :name="item.name" :disabled="item.disabled">
@@ -17,8 +18,8 @@
                </u-radio-group>
            </u-form-item>
        </u-form>
        <u-button class="submit" @click="camera">
            下一步{{faceMsg}}</u-button>
        <u-button class="submit" @click="zc">
            注册{{faceMsg}}</u-button>
        <!-- <u-button class="submit" @click="submit">提交</u-button> -->
    </view>
</template>
@@ -27,43 +28,57 @@
    export default {
        data() {
            return {
                show: false,
                listbm: [],
                flag: false,
                list: [{
                        title: '账号',
                        img: 'man-add-fill',
                        froms: 'user',
                        requireds:true,
                        placeholder: '请输入帐号'
                    },
                    {
                        title: '密码',
                        img: 'lock-fill',
                        froms: 'pass',
                        requireds:true,
                        placeholder: '请输入密码'
                    },
                    {
                        title: '确认密码',
                        img: 'lock-fill',
                        froms: 'passTwo',
                        requireds:true,
                        placeholder: '请确认密码'
                    },
                    {
                        title: '姓名',
                        img: 'account',
                        froms: 'name',
                        requireds:true,
                        placeholder: '请输入姓名'
                    },
                    {
                        title: '身份证',
                        img: 'fingerprint',
                        froms: 'carId',
                        placeholder: '请输入身份证'
                    },
                    // {
                    //     title: '身份证',
                    //     img: 'fingerprint',
                    //     froms: 'carId',
                    //     placeholder: '请输入身份证'
                    // },
                    {
                        title: '手机号',
                        img: 'phone-fill',
                        froms: 'phone',
                        requireds:false,
                        placeholder: '请输入手机号'
                    }
                    },
                    // {
                    //     title: '部门',
                    //     img: 'phone-fill',
                    //     froms: 'depl',
                    //     placeholder: '请选择部门'
                    // },
                ],
                sex: [{
                        name: '男',
@@ -74,7 +89,6 @@
                        disabled: false
                    },
                ],
                show: false,
                objList: [{
                        text: '赣州'
                    },
@@ -90,7 +104,8 @@
                    carId: '',
                    phone: '',
                    sex: '男',
                    obj: '赣州'
                    obj: '',
                    objId: '',
                },
                rules: {
                    user: [{
@@ -133,6 +148,12 @@
                        // 可以单个或者同时写两个触发验证方式 
                        trigger: ['change', 'blur'],
                    }],
                    depts: [{
                        required: true,
                        message: '请输入姓名',
                        // 可以单个或者同时写两个触发验证方式
                        trigger: ['change', 'blur'],
                    }],
                    carId: [{
                            required: true,
                            message: '请输入身份证',
@@ -147,18 +168,18 @@
                            trigger: ['change', 'blur'],
                        }
                    ],
                    phone: [{
                        required: true,
                        message: '请输入手机号',
                        // 可以单个或者同时写两个触发验证方式
                        trigger: ['change', 'blur'],
                    }, {
                        validator: (rule, value, callback) => {
                            return this.$u.test.mobile(value);
                        },
                        message: '手机号码不正确',
                        trigger: ['change', 'blur'],
                    }],
                    // phone: [{
                    //     required: false,
                    //     message: '请输入手机号',
                    //     // 可以单个或者同时写两个触发验证方式
                    //     trigger: ['change', 'blur'],
                    // }, {
                    //     validator: (rule, value, callback) => {
                    //         return this.$u.test.mobile(value);
                    //     },
                    //     message: '手机号码不正确',
                    //     trigger: ['change', 'blur'],
                    // }],
                },
                showGetFace: false,
                faceState: -2,
@@ -168,6 +189,104 @@
            };
        },
        methods: {
            zc(){
                var that = this;
                if(that.form.obj == "" || that.form.obj == null){
                    uni.showToast({
                        title: '请选择部门',
                        icon:'none',
                        duration: 2000
                    });
                    return;
                }
                this.$refs.uForm.validate(valid => {
                    if (valid) {
                console.log(this.form);
                var d = this.form;
                var url = 'http://s16s652780.51mypc.cn/api/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
                    }
                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);
                    }
                });
                }
            });
            },
            depl(){
                var that = this;
                uni.request({
                    url: "http://s16s652780.51mypc.cn/api/blade-system/dept/trees",
                    method: 'get',
                    success: (res) => {
                        var routerArr = res.data.data;
                        var arr = that.formatRoutes(routerArr);
                        console.log(arr)
                        var list = [];
                        list.push(arr[0]);
                        that.listbm = list;
                        that.show = true;
                    }
                })
            },
            confirm(e) {
                this.form.obj = e[e.length - 1].label;
                var arr = "";
                for (var i = 0; i < e.length; i++) {
                    arr += e[i].value + ",";
                }
                var obj = arr.substr(0,arr.length-1);
                this.form.objId = obj;
            },
            formatRoutes(routerArr){
                var that = this;
                const arr = [];
                let obj = {};
                routerArr.forEach(router => {
                    const tmp = { ...router };
                    if (tmp.hasChildren == true) {
                        tmp.children = that.formatRoutes(tmp.children);
                        const {id, title} = router;
                        obj = {
                            label: tmp.title,
                            value: tmp.id,
                            children: tmp.children
                        }
                    }else if(tmp.hasChildren == false){
                        obj = {
                            label: tmp.title,
                            value: tmp.id,
                        }
                    }
                    arr.push(obj);
                })
                return arr;
            },
            camera() {
                let that = this;
                uni.showToast({
pages/shengzs/index.vue
New file
@@ -0,0 +1,691 @@
<template>
    <view class="page">
        <view class="canvas">
            <!-- 云朵位移 -->
            <view class="cloud">
                <view class="fly-1"></view>
                <view class="fly-2"></view>
                <view class="fly-3"></view>
            </view>
            <!-- 树、水滴值 -->
            <view class="tree">
                <view v-for="(o, i) in rainArr" :key="i" :class="['rain rain-'+ stages]" @click="rainFun(i, o)">{{o}}<text>g</text></view>
                <image :src="'../../static/shenzs/img/tree-'+ stages +'.png'" :class="['tree-'+ stages, treemove ? 'move-'+ stages : '']" hover-class="none" @click="tree"></image>
            </view>
            <!-- 水壶、浇水动画 -->
            <view class="kettle">
                <view class="kettls" @click="water" hover-class="none"></view>
                <view class="flasks" v-show="watercss" :class="{'water': watercss}"></view>
                <view class="flasms" v-show="!watercss" @click="water" hover-class="none"></view>
                <view class="waters" v-show="waterdom"></view>
            </view>
            <!-- 用户信息、水滴值 -->
            <view class="sumup">
                <view class="user">
                    <view class="cover">
                        <image :src="info.avatar" @click="zoom(info.avatar)" hover-class="none"></image>
                    </view>
                    <view class="info">
                        <view class="name">
                            <text class="name" v-text="info.name"></text>
                            <view :class="'sex-'+ info.sex"></view>
                        </view>
                        <view class="drop" hover-class="none">
                            <text v-text="info.votes + ' 水滴'"></text>
                            <view class="icon">
                                <text class="plus" :class="{'pluss': pluss}">+{{plussNum}}</text>
                            </view>
                        </view>
                    </view>
                </view>
                <!-- 树成长进度 -->
                <view class="speed">
                    <view class="progress">
                        <image class="speed-1" :src="'../../static/shenzs/img/speed-1'+ [1 == stages ? '-h' : ''] +'.png'"></image>
                        <image class="speed-2" :src="'../../static/shenzs/img/speed-2'+ [2 == stages ? '-h' : ''] +'.png'"></image>
                        <image class="speed-3" :src="'../../static/shenzs/img/speed-3'+ [3 == stages ? '-h' : ''] +'.png'"></image>
                    </view>
                </view>
            </view>
        </view>
        <view class="explain">
            <!-- <view>功能概述:</view>
            <view class="text">该插件样式主要是模仿蚂蚁森林,其中的数据都是可配的(完全可以自义定 或 从后端API获取),根据不同的数据(如用户信息、水滴值等)显示对应的动效。</view> -->
            <view>操作说明:</view>
            <view class="text">1、用水壶每浇水1次,水滴值向上+1。</view>
            <view class="text">2、点击树上面的雨滴,水滴值 + 收取到的雨滴值。</view>
            <view>成长说明:</view>
            <view class="text">1、树的成长过程分为小树、中树、大树3个阶段。</view>
            <view class="text">2、现默认值: 小树(水滴值在100以下), 中树(水滴值在100 到 1000), 大树(水滴值在1000以上)。</view>
            <view class="text">3、树苗会在水滴值变化时会展示对应的动效 和 树的动效、大小等。</view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                info: {
                    name: '沐枫',     // 用户姓名
                    sex: 2,         // 用户姓别 1男, 2女
                    votes: 8,         // 水滴值 默认为8
                    avatar: '../../static/shenzs/img/detail-bg.jpg'     //用户头像
                },
                rainArr: [28, 63, 5, 902],     // 雨滴值 点击收取
                stages: 1,             // 成长阶段 1(小树[默认]),中2(中树) ,大3(大树)
                during: 100,         // 阶段阈值 1、小树[100以下](during > votes ) ,2、中树[100及以上 并且小于1000](during <= votes && oldest > votes)
                oldest: 1000,         // 阶段阈值 3、大树[1000及以上](oldest <= votes )
                plussNum: 1,         // 加值数量(默认1)
                pluss: false,         // 水滴值+1动画开关
                movetree: true,     // 树动画开关
                treemove: false,     // 树大小动画类型开关
                wateroff: true,     // 浇水动画开关
                watercss: false,     // 水壶动画开关
                waterdom: false     // 水滴动画开关
            };
        },
        methods: {
            // 设置树的大小,恢复动画
            setTree(time = 4000) {
                setTimeout(() => {
                    this.plussNum = 1;
                    this.pluss = false;
                    this.wateroff = true;
                    this.watercss = false;
                    this.treemove = false;
                    // 小树阶段
                    if (this.during > this.info.vote) {
                        this.stages = 1;
                    };
                    // 中树阶段
                    if (this.during <= this.info.votes && this.oldest > this.info.votes) {
                        this.stages = 2;
                    };
                    // 大树阶段
                    if (this.oldest <= this.info.votes) {
                        this.stages = 3;
                    };
                }, time);
            },
            // 点击用户头像放大
            zoom(o) {
                uni.previewImage({
                    'urls': [o]
                });
            },
            // 收取雨滴的动画
            rainFun(i, o) {
                this.plussNum = o;
                this.info.votes = Number(this.info.votes) + (o - 0);
                this.pluss = true;
                this.treemove = true;
                setTimeout(() => {
                    this.rainArr.splice(i, 1);
                }, 1000);
                this.setTree(2000);
            },
            // 点击树的动画
            tree() {
                if (this.movetree) {
                    this.treemove = true;
                    this.movetree = false;
                    setTimeout(() => {
                        this.movetree = true;
                        this.treemove = false;
                    }, 1000);
                };
            },
            // 水壶浇水动画
            water() {
                if (this.wateroff) {
                    this.watercss = true;
                    this.wateroff = false;
                    setTimeout(() => {
                        this.waterdom = true;
                    }, 1500);
                    setTimeout(() => {
                        this.info.votes++;
                        this.pluss = true;
                        this.treemove = true;
                        this.movetree = false;
                    }, 2000);
                    setTimeout(() => {
                        this.waterdom = false;
                        this.movetree = true;
                    }, 3500);
                    this.setTree();
                };
            }
        }
    };
</script>
<style>
    .canvas {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 702upx;
        background: url(../../static/shenzs/img/detail-bg.jpg) no-repeat;
        background-size: cover;
        overflow: hidden;
    }
    .canvas .cloud {
        margin-top: 128upx;
    }
    .canvas .cloud view {
        margin: 40upx 0;
    }
    .canvas .cloud .fly-1 {
        width: 102upx;
        height: 68upx;
        animation: cloud-1 80s ease-in-out 0s infinite alternate;
        background: url(../../static/shenzs/img/fly-1.png) no-repeat;
        background-size: contain;
    }
    .canvas .cloud .fly-2 {
        width: 72upx;
        height: 52upx;
        animation: cloud-2 60s linear 0s infinite alternate;
        background: url(../../static/shenzs/img/fly-2.png) no-repeat;
        background-size: contain;
    }
    .canvas .cloud .fly-3 {
        width: 78upx;
        height: 56upx;
        animation: cloud-3 70s ease 0s infinite alternate;
        background: url(../../static/shenzs/img/fly-3.png) no-repeat;
        background-size: contain;
    }
    .canvas .tree {
        position: relative;
        display: flex;
        flex-direction: row;
        height: 160upx;
        justify-content: center;
    }
    .canvas .tree .rain {
        position: relative;
        top: -100upx;
        margin: 10upx;
        width: 60upx;
        height: 60upx;
        line-height: 60upx;
        text-align: center;
        font-size: 16upx;
        color: green;
        background: repeating-radial-gradient(#0fff00, #53c72d);
        box-shadow: 0 0 16upx 6upx #b8ffc4;
        border-radius: 50%;
        animation: rain 4s infinite;
        z-index: 1;
    }
    .canvas .tree .rain text {
        font-size: 12upx;
    }
    .canvas .tree .rain-1 {
        top: -100upx;
    }
    .canvas .tree .rain-2 {
        top: -200upx;
    }
    .canvas .tree .rain-3 {
        top: -300upx;
    }
    .canvas .tree .rain:nth-child(1) {
        animation-delay: .8s;
        margin-top: 10px;
    }
    .canvas .tree .rain:nth-child(2) {
        animation-delay: .5s;
        margin-top: -10px;
    }
    .canvas .tree .rain:nth-child(4) {
        animation-delay: .1s;
        margin-top: -5px;
    }
    .canvas .tree image {
        position: absolute;
        bottom: 0;
        width: 280upx;
        height: 380upx;
        z-index: 0;
    }
    .canvas .tree .tree-1 {
        width: 124upx;
        height: 264upx;
    }
    .canvas .tree .tree-3 {
        width: 420upx;
        height: 460upx;
    }
    .canvas .kettle {
        display: flex;
        position: relative;
        flex-direction: row;
        justify-content: flex-end;
        width: 100%;
        height: 80upx;
    }
    .canvas .kettle view {
        position: absolute;
        z-index: 2;
    }
    .canvas .kettle .kettls {
        top: -172upx;
        right: 20upx;
        width: 116upx;
        height: 112upx;
        background: url(../../static/shenzs/img/kettls.png) no-repeat;
        background-size: contain;
        transition: all 2s;
    }
    .canvas .kettle .flasks {
        top: -176upx;
        right: 28upx;
        width: 113upx;
        height: 70upx;
        background: url(../../static/shenzs/img/flasks.png) no-repeat;
        background-size: contain;
        transition: all 2s;
    }
    .canvas .kettle .flasms {
        top: -176upx;
        right: 26upx;
        width: 117upx;
        height: 75upx;
        background: url(../../static/shenzs/img/flasms.png) no-repeat;
        background-size: contain;
        transition: all 2s;
    }
    .canvas .kettle .waters {
        top: -240upx;
        right: 316upx;
        width: 85upx;
        height: 150upx;
        background: url(../../static/shenzs/img/waters.gif) no-repeat;
        background-size: contain;
        transition: all 2s;
    }
    .canvas .sumup {
        position: absolute;
        bottom: 26upx;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }
    .canvas .sumup .user {
        display: flex;
        flex-direction: row;
    }
    .canvas .sumup .user .cover {
        padding: 0 20upx;
    }
    .canvas .sumup .user .cover image {
        width: 110upx;
        height: 110upx;
        border-radius: 50%;
        border: 1upx solid white;
    }
    .canvas .sumup .user .info {
        display: flex;
        flex-direction: column;
        color: white;
        justify-content: flex-start;
        padding-top: 16upx;
        font-weight: bold;
        text-shadow: 4upx 4upx 2upx #085828;
    }
    .canvas .sumup .user .info .name {
        font-size: 30upx;
        color: white;
    }
    .canvas .sumup .user .info .name .sex-1 {
        width: 25upx;
        height: 31upx;
        background: url(../../static/shenzs/img/male.png) no-repeat;
        background-size: contain;
    }
    .canvas .sumup .user .info .name .sex-2 {
        width: 21upx;
        height: 34upx;
        background: url(../../static/shenzs/img/women.png) no-repeat;
        background-size: contain;
    }
    .canvas .sumup .user .info .name view {
        margin-left: 12upx;
        display: inline-block;
        vertical-align: middle;
    }
    .canvas .sumup .user .info .drop {
        margin-top: 10upx;
        line-height: 32upx;
        font-size: 26upx;
    }
    .canvas .sumup .user .info .drop .icon {
        position: relative;
        display: inline-block;
        margin-left: 10upx;
        width: 20upx;
        height: 30upx;
        vertical-align: bottom;
        background: url(../../static/shenzs/img/water.png) no-repeat bottom right;
        background-size: contain;
    }
    .canvas .sumup .user .info .drop .plus {
        position: absolute;
        top: 0upx;
        right: -12upx;
        font-size: 32upx;
        opacity: 0;
        color: #ffbe2d;
    }
    .canvas .sumup .speed {
        display: flex;
        flex-direction: row;
        padding: 16upx 32upx;
        height: 100upx;
        align-items: flex-end;
    }
    .canvas .sumup .speed .progress {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        width: 208upx;
        height: 30upx;
        border-radius: 14upx;
        background: linear-gradient(#9587ce, #7182d8);
    }
    .canvas .sumup .speed .speed-1 {
        width: 44upx;
        height: 50upx;
        margin-left: -8upx;
    }
    .canvas .sumup .speed .speed-2 {
        width: 44upx;
        height: 60upx;
    }
    .canvas .sumup .speed .speed-3 {
        width: 58upx;
        height: 68upx;
        margin-right: -12upx;
    }
    .explain {
        padding: 50upx 16upx;
        font-size: 28upx;
        color: #ff00a5;
        font-weight: bold;
    }
    .explain .text {
        padding: 16upx;
        line-height: 60upx;
        text-indent: 40upx;
        color: #09b900;
        font-weight: normal;
    }
    @keyframes rain {
        0% {
            transform: translateY(-6px);
        }
        50% {
            transform: translateY(6px);
        }
        100% {
            transform: translateY(-6px);
        }
    }
    @keyframes cloud-1 {
        0% {
            opacity: .8;
            transform: translate3d(200%, 0, 0);
        }
        50% {
            opacity: .6;
            transform: translate3d(800%, 0, 0) scale(1.3);
        }
        100% {
            opacity: .8;
            transform: translate3d(-120%, 0, 0);
        }
    }
    @keyframes cloud-2 {
        0% {
            opacity: .8;
            transform: translate3d(820%, 0, 0);
        }
        50% {
            opacity: .6;
            transform: translate3d(-120%, 0, 0);
        }
        100% {
            opacity: .8;
            transform: translate3d(1080%, 0, 0) scale(1.3);
        }
    }
    @keyframes cloud-3 {
        0% {
            opacity: .6;
            transform: translate3d(-120%, 0, 0) scale(1.3);
        }
        100% {
            opacity: .8;
            transform: translate3d(1000%, 0, 0);
        }
    }
    @keyframes move-1 {
        0% {
            height: 268upx;
        }
        10% {
            height: 280upx;
        }
        20% {
            height: 295upx;
        }
        40% {
            height: 275upx;
        }
        70% {
            height: 285upx;
        }
        100% {
            height: 264upx;
        }
    }
    .move-1 {
        animation: move-1 1s;
    }
    @keyframes move-2 {
        0% {
            height: 385upx;
        }
        10% {
            height: 390upx;
        }
        20% {
            height: 400upx;
        }
        40% {
            height: 380upx;
        }
        70% {
            height: 395upx;
        }
        100% {
            height: 380upx;
        }
    }
    .move-2 {
        animation: move-2 1s;
    }
    @keyframes move-3 {
        0% {
            height: 475upx;
        }
        10% {
            height: 490upx;
        }
        20% {
            height: 500upx;
        }
        40% {
            height: 470upx;
        }
        70% {
            height: 490upx;
        }
        100% {
            height: 460upx;
        }
    }
    .move-3 {
        animation: move-3 1s;
    }
    @keyframes water {
        0% {
            opacity: .5;
            transform: translate3d(0, 0, 0);
        }
        20% {
            opacity: 1;
            transform: translate3d(-150upx, -90upx, 0) scale(1.5);
        }
        30% {
            opacity: 1;
            transform: translate3d(-150upx, -90upx, 0) scale(1.5) rotate(-35deg);
        }
        80% {
            opacity: 1;
            transform: translate3d(-150upx, -90upx, 0) scale(1.5) rotate(-35deg);
        }
        100% {
            opacity: 0;
            transform: translate3d(-150upx, -90upx, 0) scale(1.5) rotate(0deg);
        }
    }
    .water {
        animation: water 4s ease-in-out forwards;
    }
    @keyframes pluss {
        0% {
            opacity: 0.8;
            top: -10upx;
        }
        80% {
            opacity: 1;
            top: -80upx;
        }
        100% {
            opacity: 0;
            top: -120upx;
        }
    }
    .pluss {
        animation: pluss 2s;
    }
</style>
static/myself/shu.png
static/shenzs/img/detail-bg.jpg
static/shenzs/img/flasks.png
static/shenzs/img/flasms.png
static/shenzs/img/fly-1.png
static/shenzs/img/fly-2.png
static/shenzs/img/fly-3.png
static/shenzs/img/kettls.png
static/shenzs/img/male.png
static/shenzs/img/speed-1-h.png
static/shenzs/img/speed-1.png
static/shenzs/img/speed-2-h.png
static/shenzs/img/speed-2.png
static/shenzs/img/speed-3-h.png
static/shenzs/img/speed-3.png
static/shenzs/img/tree-1.png
static/shenzs/img/tree-2.png
static/shenzs/img/tree-3.png
static/shenzs/img/water.png
static/shenzs/img/waters.gif
static/shenzs/img/women.png
store/actions.js
@@ -16,7 +16,7 @@
                },
            ],
            pasw = md5(data.pass),
            url = 'http://s16s652780.51mypc.cn/api/blade-auth/oauth/token?tenantId=963841&username=' + data.name +
            url = 'http://s16s652780.51mypc.cn/api/blade-auth/oauth/token?tenantId=000000&username=' + data.name +
            ' &password=' + pasw + '&grant_type=password&scope=all&type=account';
        // url ='http://192.168.0.109:82/blade-auth/oauth/token';
        // url ='http://192.168.0.109:82/blade-auth/oauth/token?tenantId=000000&username=admin&password=93369e86dc5fa854a0eaf75558c4039d&grant_type=password';
@@ -36,7 +36,7 @@
            header: {
                // "Content-Type":"",
                "Authorization": "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
                "Tenant-Id": "963841"
                "Tenant-Id": "000000"
                // "Cookie": "JSESSIONID=maOJY05vT2jj4nHwsQGSPgWWVFH1mY-TGWOLYCSh"
            },
store/state.js
@@ -27,7 +27,7 @@
            iconPath: "/static/tabbar/workbench.png",
            selectedIconPath: "/static/tabbar/workbenchH.png",
            text: '工作台',
            count: 2,
            // count: 2,
            isDot: false,
            pagePath: "/pages/business/business"
        },
unpackage/res/icons/1024x1024.png

unpackage/res/icons/120x120.png

unpackage/res/icons/144x144.png

unpackage/res/icons/152x152.png

unpackage/res/icons/167x167.png

unpackage/res/icons/180x180.png

unpackage/res/icons/192x192.png

unpackage/res/icons/20x20.png

unpackage/res/icons/29x29.png

unpackage/res/icons/40x40.png

unpackage/res/icons/58x58.png

unpackage/res/icons/60x60.png

unpackage/res/icons/72x72.png

unpackage/res/icons/76x76.png

unpackage/res/icons/80x80.png

unpackage/res/icons/87x87.png

unpackage/res/icons/96x96.png

xcxMapJQLG/js/vueMain.js
@@ -74,6 +74,7 @@
            }
            changeDoms('#um-m-t-bz', data.bz);
            changeDoms('#um-m-t-dz', data.place);
            $("#um-m-t-rw").find('span:eq(0)').text(data.alarmType+"-");
            // console.log(data.jtype, data.securityId, '11111111111')
            if (data.jtype == 1 && data.securityId != '') {
                changeDoms('#um-m-t-states', '处理中');
xcxMapJQLG/xcxmap.html
@@ -95,7 +95,7 @@
            <div id="Umain">
                <div class="Um-m">
                    <img style="width: 1rem" src="./img/打开.png" alt="">
                    <div class="um-m-t">调解任务- <span id="um-m-t-states">未处置</span> </div>
                    <div id="um-m-t-rw" class="um-m-t"><span >调解任务-</span> <span id="um-m-t-states">未处置</span> </div>
                </div>
                <div class="Um-m">
                    <img style="width: 1rem" src="./img/文件.png" alt="">