From a569f67c51e405796c85086ae8ed79f1dee0b250 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Mon, 28 Mar 2022 17:45:57 +0800
Subject: [PATCH] +websocket推送接收
---
store/apiConfig.js | 2
pages/grabOrders/grabOrdersZAXC/grabOrders.vue | 7
store/websocket.js | 17 +
pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue | 8
store/mutations.js | 5
store/state.js | 3
pages/grabOrders/grabOrdersMain/business.vue | 627 +++++++++++++++++++++++++---------------------------
pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue | 6
8 files changed, 339 insertions(+), 336 deletions(-)
diff --git a/pages/grabOrders/grabOrdersMain/business.vue b/pages/grabOrders/grabOrdersMain/business.vue
index 138f60c..05fee18 100644
--- a/pages/grabOrders/grabOrdersMain/business.vue
+++ b/pages/grabOrders/grabOrdersMain/business.vue
@@ -1,349 +1,324 @@
<template>
- <view class="container">
- <view class="head">
- <u-navbar
- :is-fixed="false"
- :border-bottom="false"
- :is-back="true"
- back-icon-name="arrow-leftward"
- back-icon-color="#fff"
- back-icon-size="35"
- :background="{ background: '#103289' }"
- title="我参与"
- title-color="#fff"
- ></u-navbar>
- <view class="head-bg"></view>
- <!-- 我的订阅 start -->
- <view class="card sub">
- <view class="title"></view>
- <view class="list">
- <u-grid :col="3" :border="false">
- <u-grid-item
- bg-color="transparent"
- :class="{ uGridSelected: itemSelectFlag && index == 3 }"
- v-for="(item, index) in dataOne"
- :key="index"
- >
- <navigator
- hover-class="none"
- class="nav-item"
- @click="goOnePage(item.url, index)"
- >
- <image
- :src="item.img"
- mode="widthFix"
- class="nav-item-img"
- ></image>
- <u-badge :count="item.cout" :offset="[20, 20]"></u-badge>
- <view class="nav-item-name">{{ item.title }}</view>
- </navigator>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
- <!-- 我的订阅 end -->
+ <view class="container">
+ <view class="head">
+ <u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
+ back-icon-color="#fff" back-icon-size="35" :background="{ background: '#103289' }" title="我参与"
+ title-color="#fff"></u-navbar>
+ <view class="head-bg"></view>
+ <!-- 我的订阅 start -->
+ <view class="card sub">
+ <view class="title"></view>
+ <view class="list">
+ <u-grid :col="3" :border="false">
+ <u-grid-item bg-color="transparent" :class="{ uGridSelected: itemSelectFlag && index == 3 }"
+ v-for="(item, index) in dataOne" :key="index">
+ <navigator hover-class="none" class="nav-item" @click="goOnePage(item.url, index)">
+ <image :src="item.img" mode="widthFix" class="nav-item-img"></image>
+ <u-badge :count="item.cout" :offset="[20, 20]"></u-badge>
+ <view class="nav-item-name">{{ item.title }}</view>
+ </navigator>
+ </u-grid-item>
+ </u-grid>
+ </view>
+ </view>
+ <!-- 我的订阅 end -->
- <view class="card wrap" v-if="bashow">
- <view class="title">保安管理</view>
- <view class="list">
- <u-grid :col="4" :border="false">
- <u-grid-item
- bg-color="transparent"
- v-for="(item, index) in dataTwo"
- :key="index"
- >
- <navigator
- hover-class="none"
- url=""
- class="nav-item"
- @click="goTwoPage(item.url, index)"
- >
- <image
- :src="item.img"
- mode="widthFix"
- class="nav-item-img"
- ></image>
- <view class="nav-item-name">{{ item.title }}</view>
- </navigator>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
- </view>
- <u-toast ref="uToast" />
- <!-- 底部导航条 -->
- <!-- <u-tabbar :list="tabbar" :mid-button="false"></u-tabbar> -->
- </view>
+ <view class="card wrap" v-if="bashow">
+ <view class="title">保安管理</view>
+ <view class="list">
+ <u-grid :col="4" :border="false">
+ <u-grid-item bg-color="transparent" v-for="(item, index) in dataTwo" :key="index">
+ <navigator hover-class="none" url="" class="nav-item" @click="goTwoPage(item.url, index)">
+ <image :src="item.img" mode="widthFix" class="nav-item-img"></image>
+ <view class="nav-item-name">{{ item.title }}</view>
+ </navigator>
+ </u-grid-item>
+ </u-grid>
+ </view>
+ </view>
+ </view>
+ <u-toast ref="uToast" />
+ <!-- 底部导航条 -->
+ <!-- <u-tabbar :list="tabbar" :mid-button="false"></u-tabbar> -->
+ </view>
</template>
<script>
-export default {
- data() {
- return {
- tabbar: this.$store.state.tabbar,
- bashow: false,
- itemSelectFlag: false,
- dataOne: [
- {
- title: "治安防范巡查",
- img: "/static/workbench/task2.png",
- url: "../grabOrdersZAXC/grabOrders?detailData=0",
- cout: 0,
- },
- {
- title: "治安防范宣传",
- img: "/static/workbench/task1.png",
- url: "../grabOrdersZAYWXC/grabOrders?detailData=0",
- cout: 0,
- },
- {
- title: "治安防范培训",
- img: "/static/workbench/task3.png",
- url: "../grabOrdersZAFFPX/grabOrders?detailData=0",
- cout: 0,
- },
- {
- title: "保安管理",
- img: "/static/workbench/task4.png",
- url: "",
- cout: 0,
- },
- // {
- // title: "人员统计",
- // img: "/static/workbench/task10.png",
- // url: "../personnelCount/personnelCount",
- // cout: 0,
- // },
- ],
- dataTwo: [
- {
- title: "电子证件",
- img: "/static/workbench/task9.png",
- url: "",
- },
- {
- title: "模拟考试",
- img: "/static/workbench/task5.png",
- url: "/pages/exam/startexam",
- }
- ],
- };
- },
- onShow() {
- this.getNum();
- },
- onLoad() {
- // if (this.$store.state.billFlag == true) {
- // this.dataTwo.push({
- // title: "模拟考试",
- // img: "/static/workbench/task5.png",
- // url: "/pages/exam/startexam",
- // });
- // }
- },
- onBackPress(e) {
- console.log("监听返回按钮事件2", e);
- uni.switchTab({
- url: "/pages/home/home",
- });
- // 此处一定姚要return为true,否则页面不会返回到指定路径
- return true;
- },
- mounted() {
- // if (this.$store.state.UserData.stype != "1") {
- // this.$refs.uToast.show({
- // title: '功能暂未开放',
- // type: 'warning',
- // });
- // }
- },
- methods: {
- //获取资讯信息
- getNum() {
- var that = this;
- uni.request({
- url: this.$store.state.piAPI + "/taskqd/selectNum",
- method: "GET",
- data: {
- serid: that.$store.state.UserData.user_id,
- jurisdiction: that.$store.state.UserData.jurisdiction,
- workjurisdiction: that.$store.state.UserData.workjurisdiction,
- },
- success: (res) => {
- var data = res.data.data;
- this.dataOne[0].cout = Number(data.xcha);
- this.dataOne[1].cout = Number(data.xchuan);
- this.dataOne[2].cout = Number(data.px);
- },
- });
- },
- //页面跳转
- goOnePage(url, index) {
- if (index == "3") {
- this.bashow = !this.bashow;
+ export default {
+ data() {
+ return {
+ tabbar: this.$store.state.tabbar,
+ bashow: false,
+ itemSelectFlag: false,
+ dataOne: [{
+ title: "治安防范巡查",
+ img: "/static/workbench/task2.png",
+ url: "../grabOrdersZAXC/grabOrders?detailData=0",
+ cout: 0,
+ },
+ {
+ title: "治安防范宣传",
+ img: "/static/workbench/task1.png",
+ url: "../grabOrdersZAYWXC/grabOrders?detailData=0",
+ cout: 0,
+ },
+ {
+ title: "治安防范培训",
+ img: "/static/workbench/task3.png",
+ url: "../grabOrdersZAFFPX/grabOrders?detailData=0",
+ cout: 0,
+ },
+ {
+ title: "保安管理",
+ img: "/static/workbench/task4.png",
+ url: "",
+ cout: 0,
+ },
+ // {
+ // title: "人员统计",
+ // img: "/static/workbench/task10.png",
+ // url: "../personnelCount/personnelCount",
+ // cout: 0,
+ // },
+ ],
+ dataTwo: [{
+ title: "电子证件",
+ img: "/static/workbench/task9.png",
+ url: "",
+ },
+ {
+ title: "模拟考试",
+ img: "/static/workbench/task5.png",
+ url: "/pages/exam/startexam",
+ }
+ ],
+ };
+ },
+ onShow() {
+ this.getNum();
+ },
+ onLoad() {
+ // if (this.$store.state.billFlag == true) {
+ // this.dataTwo.push({
+ // title: "模拟考试",
+ // img: "/static/workbench/task5.png",
+ // url: "/pages/exam/startexam",
+ // });
+ // }
+ },
+ onBackPress(e) {
+ console.log("监听返回按钮事件2", e);
+ uni.switchTab({
+ url: "/pages/home/home",
+ });
+ // 此处一定姚要return为true,否则页面不会返回到指定路径
+ return true;
+ },
+ computed: {
+ changeTaksState() {
+ return this.$store.state.changeTaksState;
+ }
+ },
+ watch: {
+ changeTaksState() {
+ this.getNum();
+ }
+ },
+ mounted() {
+ // if (this.$store.state.UserData.stype != "1") {
+ // this.$refs.uToast.show({
+ // title: '功能暂未开放',
+ // type: 'warning',
+ // });
+ // }
+ },
+ methods: {
+ //获取资讯信息
+ getNum() {
+ var that = this;
+ uni.request({
+ url: this.$store.state.piAPI + "/taskqd/selectNum",
+ method: "GET",
+ data: {
+ serid: that.$store.state.UserData.user_id,
+ jurisdiction: that.$store.state.UserData.jurisdiction,
+ workjurisdiction: that.$store.state.UserData.workjurisdiction,
+ },
+ success: (res) => {
+ var data = res.data.data;
+ this.dataOne[0].cout = Number(data.xcha);
+ this.dataOne[1].cout = Number(data.xchuan);
+ this.dataOne[2].cout = Number(data.px);
+ },
+ });
+ },
+ //页面跳转
+ goOnePage(url, index) {
+ if (index == "3") {
+ this.bashow = !this.bashow;
- this.itemSelectFlag = !this.itemSelectFlag;
- }
- uni.navigateTo({
- url: url,
- });
- },
- //获取用户信息
- getUser() {
- var that = this;
- uni.request({
- url: that.$store.state.BaopiAPI + "/blade-user/detail",
- method: "GET",
- data: {
- cardid: that.$store.state.UserData.cardid,
- isDeleted: 0,
- status: 1,
- },
- success: (res) => {
- if (res.statusCode == "200") {
- var urls =
- "http://223.82.109.183:2080/securityInfo.html?securityNumber=" +
- res.data.data.securitynumber;
- uni.navigateTo({
- url: "../../voting/information?url=" + urls,
- });
- } else {
- this.$refs.uToast.show({
- title: "暂无证件信息",
- type: "warning",
- });
- }
- },
- });
- },
- goTwoPage(url, index) {
- if (index == "1") {
- uni.navigateTo({
- url,
- });
- return;
- } else {
- this.getUser();
- }
- },
- },
-};
+ this.itemSelectFlag = !this.itemSelectFlag;
+ }
+ uni.navigateTo({
+ url: url,
+ });
+ },
+ //获取用户信息
+ getUser() {
+ var that = this;
+ uni.request({
+ url: that.$store.state.BaopiAPI + "/blade-user/detail",
+ method: "GET",
+ data: {
+ cardid: that.$store.state.UserData.cardid,
+ isDeleted: 0,
+ status: 1,
+ },
+ success: (res) => {
+ if (res.statusCode == "200") {
+ var urls =
+ "http://223.82.109.183:2080/securityInfo.html?securityNumber=" +
+ res.data.data.securitynumber;
+ uni.navigateTo({
+ url: "../../voting/information?url=" + urls,
+ });
+ } else {
+ this.$refs.uToast.show({
+ title: "暂无证件信息",
+ type: "warning",
+ });
+ }
+ },
+ });
+ },
+ goTwoPage(url, index) {
+ if (index == "1") {
+ uni.navigateTo({
+ url,
+ });
+ return;
+ } else {
+ this.getUser();
+ }
+ },
+ },
+ };
</script>
<style lang="scss">
-.container {
- background-color: #f7f7f7;
- min-height: 100vh;
- overflow: hidden;
-}
+ .container {
+ background-color: #f7f7f7;
+ min-height: 100vh;
+ overflow: hidden;
+ }
-.head {
- position: relative;
- top: 0;
- left: 0;
- z-index: 1;
-}
+ .head {
+ position: relative;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ }
-.head-bg {
- position: absolute;
- left: 0px;
- top: 0px;
- z-index: -1;
- width: 750rpx;
- height: 270rpx;
- background: #103289;
-}
+ .head-bg {
+ position: absolute;
+ left: 0px;
+ top: 0px;
+ z-index: -1;
+ width: 750rpx;
+ height: 270rpx;
+ background: #103289;
+ }
-.card {
- margin: 30rpx;
- background: #ffffff;
- border-radius: 20rpx;
- margin-top: 36rpx;
-}
+ .card {
+ margin: 30rpx;
+ background: #ffffff;
+ border-radius: 20rpx;
+ margin-top: 36rpx;
+ }
-.sub {
- .title {
- padding-top: 36rpx;
- display: flex;
- justify-content: center;
- align-items: center;
+ .sub {
+ .title {
+ padding-top: 36rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
- font-size: 30rpx;
- font-family: Source Han Sans CN;
- font-weight: 500;
- color: #000000;
+ font-size: 30rpx;
+ font-family: Source Han Sans CN;
+ font-weight: 500;
+ color: #000000;
- &::before {
- content: "";
- display: block;
- width: 135rpx;
- height: 1rpx;
- background: #e4e7ed;
- margin: 0 17rpx;
- }
+ &::before {
+ content: "";
+ display: block;
+ width: 135rpx;
+ height: 1rpx;
+ background: #e4e7ed;
+ margin: 0 17rpx;
+ }
- // &::after {
- // content: '';
- // display: block;
- // width: 135rpx;
- // height: 1rpx;
- // background: #e4e7ed;
- // margin: 0 17rpx;
- // }
- }
-}
+ // &::after {
+ // content: '';
+ // display: block;
+ // width: 135rpx;
+ // height: 1rpx;
+ // background: #e4e7ed;
+ // margin: 0 17rpx;
+ // }
+ }
+ }
-.list {
- display: flex;
- flex-wrap: wrap;
- padding: 0 0 30rpx;
+ .list {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0 30rpx;
- .nav-item {
- width: 100%;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- align-items: center;
- font-size: 30rpx;
- font-family: Source Han Sans CN;
- font-weight: 400;
- color: #131313;
- line-height: 48rpx;
+ .nav-item {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 30rpx;
+ font-family: Source Han Sans CN;
+ font-weight: 400;
+ color: #131313;
+ line-height: 48rpx;
- &-img {
- width: 64rpx;
- height: 64rpx;
- margin-bottom: 20rpx;
- }
+ &-img {
+ width: 64rpx;
+ height: 64rpx;
+ margin-bottom: 20rpx;
+ }
- &-name {
- font-size: 26rpx;
- font-family: PingFang SC;
- font-weight: 400;
- color: #585b61;
- opacity: 0.77;
- }
- }
-}
+ &-name {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ color: #585b61;
+ opacity: 0.77;
+ }
+ }
+ }
-.wrap {
- .title {
- padding: 36rpx 16rpx;
- display: flex;
- align-items: center;
- font-size: 32rpx;
- font-family: Source Han Sans CN;
- font-weight: 500;
- color: #000000;
+ .wrap {
+ .title {
+ padding: 36rpx 16rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ font-family: Source Han Sans CN;
+ font-weight: 500;
+ color: #000000;
- &::before {
- content: "";
- display: block;
- width: 5rpx;
- height: 36rpx;
- margin-right: 10rpx;
- background: #103289;
- }
- }
-}
+ &::before {
+ content: "";
+ display: block;
+ width: 5rpx;
+ height: 36rpx;
+ margin-right: 10rpx;
+ background: #103289;
+ }
+ }
+ }
</style>
diff --git a/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue b/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue
index b342794..14e0ec1 100644
--- a/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue
+++ b/pages/grabOrders/grabOrdersZAFFPX/grabOrders.vue
@@ -83,7 +83,7 @@
},
watch: {
current() {
- console.log(this.current)
+ // console.log(this.current)
// if (this.current == 0) {
// console.log(1)
// this.getGrabOrders(0);
@@ -93,6 +93,9 @@
change() {
this.getGrabOrders(this.current);
},
+ changeTaksState() {
+ this.getGrabOrders(this.current);
+ }
},
mounted() {
@@ -106,6 +109,9 @@
change() {
return this.$store.state.gotuGrabOrders;
},
+ changeTaksState() {
+ return this.$store.state.changeTaksState;
+ }
},
onLoad: function(options) {
// debugger
diff --git a/pages/grabOrders/grabOrdersZAXC/grabOrders.vue b/pages/grabOrders/grabOrdersZAXC/grabOrders.vue
index a4ee71d..08fdfab 100644
--- a/pages/grabOrders/grabOrdersZAXC/grabOrders.vue
+++ b/pages/grabOrders/grabOrdersZAXC/grabOrders.vue
@@ -93,7 +93,9 @@
change() {
this.getGrabOrders(this.current);
},
-
+ changeTaksState() {
+ this.getGrabOrders(this.current);
+ }
},
mounted() {
// this.getGrabOrders(this.current);
@@ -106,6 +108,9 @@
change() {
return this.$store.state.gotuGrabOrders;
},
+ changeTaksState() {
+ return this.$store.state.changeTaksState;
+ }
},
onLoad: function(options) {
// debugger
diff --git a/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue b/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue
index 27be2f4..5392f63 100644
--- a/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue
+++ b/pages/grabOrders/grabOrdersZAYWXC/grabOrders.vue
@@ -95,6 +95,9 @@
change() {
this.getGrabOrders(this.current);
},
+ changeTaksState() {
+ this.getGrabOrders(this.current);
+ }
},
mounted() {
@@ -108,6 +111,9 @@
change() {
return this.$store.state.gotuGrabOrders;
},
+ changeTaksState() {
+ return this.$store.state.changeTaksState;
+ }
},
onLoad: function(options) {
// debugger
diff --git a/store/apiConfig.js b/store/apiConfig.js
index ac88034..6cb108c 100644
--- a/store/apiConfig.js
+++ b/store/apiConfig.js
@@ -1,4 +1,4 @@
-let i = 1; //1是服务器
+let i = 3; //1是服务器
if (i == 1) {
var api = 'http://223.82.109.183:2082/api/';
var wsapi = 'ws://223.82.109.183:2082/wss/websocket';
diff --git a/store/mutations.js b/store/mutations.js
index 9a5abab..5ae5f42 100644
--- a/store/mutations.js
+++ b/store/mutations.js
@@ -44,7 +44,10 @@
state.Audio[data.method](data.key);
},
...websocket.mutations,
- ...positions.mutations
+ ...positions.mutations,
+ changeTaksMsg(state, data) {
+ state.changeTaksState = !state.changeTaksState;
+ }
}
export default mutations
diff --git a/store/state.js b/store/state.js
index fa5c786..d6fa642 100644
--- a/store/state.js
+++ b/store/state.js
@@ -66,7 +66,8 @@
uni: uni
}), //语音控制
...websocket.state,
- ...positions.state
+ ...positions.state,
+ changeTaksState: true,
}
export default state
diff --git a/store/websocket.js b/store/websocket.js
index 6f8ade0..f72ec01 100644
--- a/store/websocket.js
+++ b/store/websocket.js
@@ -82,7 +82,7 @@
} else {
type = types111[0];
}
- console.log()
+ // console.log()
if (type === "start") {
let types = uni.getSystemInfoSync().platform;
let
@@ -140,20 +140,27 @@
},
});
} else if (type === "change") {
- let routes = getCurrentPages(); //获取当前页面栈
- let curRoute = routes[routes.length - 1].route; //获取当前页面的路由
+ // let routes = getCurrentPages(); //获取当前页面栈
+ // let curRoute = routes[routes.length - 1].route; //获取当前页面的路由
let d = {
serid: uni.getStorageSync("ids") || $store.state.puserID,
type: 0,
tasktype: route == "grabOrdersZAXC" ? 0 : (route == "grabOrdersZAYWXC" ? 1 : 2)
};
+ } else if (type == "taks") {
+ // 角色辖区
+ // $store.state.Jurisdiction;
+ $store.commit("changeTaksMsg"); //任务状态更新
+ //语音提醒
+ $store.commit("controlAudio", {
+ key: 'keke',
+ method: '$pause'
+ })
}
},
//本地建造数据传递
setMyvalue(state, value) {
state.socketValue = value;
-
-
},
setsocketStateMY(state, value) {
state.socketStateMY = value;
--
Gitblit v1.9.3