From ba616e9307681da4781b7610ec3c27721d793379 Mon Sep 17 00:00:00 2001
From: guifei zhu <guifeizhu@guifeideiMac.local>
Date: 星期三, 18 九月 2024 12:13:37 +0800
Subject: [PATCH] 添加mqtt通讯
---
pages/tabBar/general.vue | 355 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 232 insertions(+), 123 deletions(-)
diff --git a/pages/tabBar/general.vue b/pages/tabBar/general.vue
index d243264..ae71ad0 100644
--- a/pages/tabBar/general.vue
+++ b/pages/tabBar/general.vue
@@ -12,9 +12,9 @@
-->
<cu-custom bgColor="bg-gradual-blue" :isBack="false">
- <block slot="content">骞茬嚗璁惧鐩戞帶绯荤粺</block>
+ <block slot="content">鏅鸿兘涓崏鑽共鐕ヨ澶囬厤濂楃郴缁�</block>
</cu-custom>
-
+ <u-toast ref="uToast"></u-toast>
<!-- <view class="card-box dynamic shadow cu-list menu">
<view class="title-box">
<view class="left">
@@ -88,21 +88,27 @@
<view class="flex">
<view class="flex-sub flex flex-direction">
<text class="text-df">鐑樺共鏁伴噺</text>
- <text class="text-bold text-sl margin-top-xs text-cyan margin-top-sm">{{showValue(model.feed)}} <text
- class="text-gray text-sm margin-left-xs">绛�</text></text>
+ <text class="text-bold text-sl margin-top-xs text-cyan margin-top-sm">{{showValue(model.feed)}}
+ <text class="text-gray text-sm margin-left-xs">绛�</text></text>
</view>
<view class="flex-twice flex flex-direction justify-between">
<view class="flex-sub flex">
<view class="flex flex-direction flex-sub">
<text class="text-gray text-xs">鎵规淇℃伅</text>
- <text class="text-black"><text class="text-black">绉嶇被:</text> {{showValue(model.group)}} <text
- class="text-gray text-xs"></text></text>
+ <text class="text-black">
+ <text class="text-black">绉嶇被:</text>
+ <text class="margin-lr-xs">{{showValue(model.group)}}</text>
+ <text class="text-gray text-xs"></text>
+ </text>
</view>
<view class="flex flex-direction flex-sub">
<text class="text-white text-xs">鎵规</text>
- <text class="text-black"><text class="text-black">鎵规:</text> {{showValue(model.batch)}} <text
- class="text-gray text-xs"></text></text>
+ <text class="text-black">
+ <text class="text-black">鎵规:</text>
+ <text class="margin-lr-xs">{{showValue(model.batch)}}</text>
+ <text class="text-gray text-xs"></text>
+ </text>
</view>
@@ -110,14 +116,20 @@
<view class="flex-sub flex margin-top-sm">
<view class="flex flex-direction flex-sub">
<text class="text-gray text-xs">鐑樺共淇℃伅</text>
- <text class="text-cyan"><text class="text-black">閲嶉噺:</text> {{showValue(model.weight)}} <text
- class="text-gray text-xs">kg</text></text>
+ <text class="text-cyan">
+ <text class="text-black">閲嶉噺:</text>
+ <text class="margin-lr-xs">{{showValue(model.weight)}}</text>
+ <text class="text-gray text-xs">kg</text>
+ </text>
</view>
<view class="flex flex-direction flex-sub">
<text class="text-white text-xs">鏃堕棿</text>
- <text class="text-cyan"><text class="text-black">鏃堕棿:</text> {{showValue(model.dryTime)}} <text
- class="text-gray text-xs">min</text></text>
+ <text class="text-cyan">
+ <text class="text-black">鏃堕棿:</text>
+ <text class="margin-lr-xs">{{showValue(model.dryTime)}}</text>
+ <text class="text-gray text-xs">min</text>
+ </text>
</view>
</view>
@@ -146,7 +158,8 @@
</view>
</view>
- <lunc-calendar ref="calendar" @dayChange="dayChange" weekType="鏄熸湡" @monthChange="monthChange" :showShrink="true" shrinkState="week" :signList="monthList"></lunc-calendar>
+ <lunc-calendar ref="calendar" @dayChange="dayChange" weekType="鏄熸湡" @monthChange="monthChange"
+ :showShrink="true" shrinkState="week" :signList="monthList"></lunc-calendar>
</view>
@@ -164,18 +177,20 @@
<view class="flex">
<text>涓崏鑽�</text>
<text>涓�</text>
- <text>{{showValue(item.herbName)}}</text>
+ <text @click="showLongName(showValue(item.herbName))"
+ class="text-cut flex-twice">{{showValue(item.herbName)}}</text>
<!-- <view class="margin-lr-sm">
<u-tag text="鎶ヨ涓�娆�" plain size="mini" type="warning"></u-tag>
- </view> -->
+ </view> -->
<view class="margin-lr-sm">
- <u-tag text="姝e父" plain size="mini" type="success"></u-tag>
+ <u-tag text="姝e父" plain size="mini" type="success"></u-tag>
</view>
</view>
<view style="width:160rpx;" class="flex align-center text-xs ">
<text>杩涘害:</text>
<view style="width: 100rpx;">
- <u-line-progress :percentage="calcProgress(item.dryTime,item.et)" height="10"></u-line-progress>
+ <u-line-progress :percentage="calcProgress(item.dryTime,item.et)"
+ height="10"></u-line-progress>
</view>
</view>
</view>
@@ -188,7 +203,8 @@
<view class="flex flex-direction margin-left-xl margin-left-sm justify-center">
<view>
<text class="text-xxl text-green">{{showValue(item.target)}}%</text>
- <text class="text-xs margin-top-xs text-grey text-line-through">{{showValue(item.initial)}}%</text>
+ <text
+ class="text-xs margin-top-xs text-grey margin-left-xs text-line-through">{{showValue(item.initial)}}%</text>
</view>
<text class="text-xs margin-top-xs text-grey">鍚按鐜�</text>
</view>
@@ -197,7 +213,7 @@
<view>
<text class="text-xxl">{{showValue(item.yield )}}kg</text>
<text
- class="text-xs margin-top-xs text-grey text-line-through">{{showValue(item.originWeight)}}kg</text>
+ class="text-xs margin-top-xs text-grey margin-left-xs text-line-through">{{showValue(item.originWeight)}}kg</text>
</view>
<view class="text-xs margin-top-xs text-grey">
@@ -282,8 +298,8 @@
StatusBar: this.StatusBar,
CustomBar: this.CustomBar,
percent: 50,
- activeColor: '#0081ff',
- monthList:[],
+ activeColor: '#0081ff',
+ monthList: [],
signList: [{
date: "2023-03-13",
title: "榫欓』鑽�",
@@ -329,46 +345,131 @@
time: '2021骞�10鏈�18鏃�'
}
],
- model: {
- date: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
+ model: {
+ date: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
},
herbList: []
}
},
onShow() {
- console.info('onShow')
-
-
- },
- onReady() {
- let month = uni.$u.timeFormat(new Date(), 'yyyy-mm')
- this.getMonth(month)
-
- let day = uni.$u.timeFormat(new Date(), 'yyyy-mm-dd')
- this.getOrderList(day,day)
-
+ console.info('onShow')
+
+
},
- methods: {
- dayChange(dayInfo) { // 鐐瑰嚮鏃ユ湡
- this.model.date = dayInfo.date
- console.log("鐐瑰嚮鏃ユ湡", JSON.parse(JSON.stringify(dayInfo)));
- this.getOrderList(dayInfo.date,dayInfo.date);
- },
- monthChange(monthInfo) { // 鍒囨崲鏈堜唤
- console.log("鍒囨崲鏈堜唤", JSON.parse(JSON.stringify(monthInfo)));
- let m = monthInfo.month
- if(m<10){
- m = '0' + m
- }
- let month = monthInfo.year + '-' + m
- console.info(month)
- this.getMonth(month)
- },
- showValue(value){
- if(value == null){
- return "--"
- }
- return value
+ onReady() {
+ const userinfo = uni.getStorageSync('userinfo');
+ const tenantid = userinfo.loginTenantId
+ uni.getSystemInfo({
+ success: (res) => {
+ let deviceId = res.deviceId
+ if (!deviceId) {
+ deviceId = 'mobile-' + tenantid + '-' + Date.parse(new Date())
+ }
+ uni.setStorageSync(this.$constant.DEVICE_ID, 'mobile-' + tenantid + '-' + res.deviceId);
+ }
+ })
+ this.startConnect();
+
+
+
+ let month = uni.$u.timeFormat(new Date(), 'yyyy-mm')
+ this.getMonth(month)
+
+ let day = uni.$u.timeFormat(new Date(), 'yyyy-mm-dd')
+ this.getOrderList(day, day);
+
+
+ },
+ methods: {
+ /* 杩炴帴MQTT */
+ async startConnect() {
+ var _this = this
+ const account = uni.getStorageSync('account');
+ const deviceid = uni.getStorageSync(this.$constant.DEVICE_ID);
+
+ if (!account) {
+
+ return false
+ }
+ let opts = {
+ // #ifdef H5
+ url: 'ws://' + this.$api.mqttBaseUrl + ':8083/mqtt',
+ // #endif
+ // #ifdef APP-PLUS
+ url: 'wx://' + this.$api.mqttBaseUrl + ':8083/mqtt',
+ // #endif
+ clientId: deviceid,
+ username: account.username,
+ password: account.password
+ }
+ if (!this.$mqttTool.client) {
+ var client = await this.$mqttTool.connect(opts);
+ }
+ //璁㈤槄鏌ヨ璁惧鐘舵�佽繑鍥炴暟鎹�
+ this.$mqttTool.subscribe({
+ topic: this.$constant.SERVICE_DOWN + '/' + deviceid + '/#',
+ qos: 0
+ }).then(res => {
+ console.error(res)
+ })
+ //璁㈤槄鍙戦�佹寚浠よ繑鍥炵粨鏋�
+ // this.$mqttTool.subscribe({
+ // topic: this.$constant.SERVICE_RES_EQU_CMD,
+ // qos: 0
+ // }).then(res => {
+ // console.error(res)
+ // })
+ // if (!client) {
+ // return false
+ // }
+
+ client.on('connect', function(res) {
+ console.error('杩炴帴鎴愬姛')
+ })
+ client.on('reconnect', function(res) {
+ console.error('閲嶆柊杩炴帴')
+ })
+ client.on('error', function(res) {
+ console.info('杩炴帴閿欒')
+ })
+ client.on('close', function(res) {
+
+ console.error('鍏抽棴鎴愬姛')
+
+ })
+ client.on('message', function(topic, message, buffer) {
+ //console.info(message)
+ })
+ },
+
+
+ showLongName(longName) {
+ this.$refs.uToast.show({
+ type: 'default',
+ message: longName
+ })
+
+ },
+ dayChange(dayInfo) { // 鐐瑰嚮鏃ユ湡
+ this.model.date = dayInfo.date
+ console.log("鐐瑰嚮鏃ユ湡", JSON.parse(JSON.stringify(dayInfo)));
+ this.getOrderList(dayInfo.date, dayInfo.date);
+ },
+ monthChange(monthInfo) { // 鍒囨崲鏈堜唤
+ console.log("鍒囨崲鏈堜唤", JSON.parse(JSON.stringify(monthInfo)));
+ let m = monthInfo.month
+ if (m < 10) {
+ m = '0' + m
+ }
+ let month = monthInfo.year + '-' + m
+ console.info(month)
+ this.getMonth(month)
+ },
+ showValue(value) {
+ if (value == null) {
+ return "--"
+ }
+ return value
},
show(e) {
console.info(this.CustomBar)
@@ -379,87 +480,95 @@
url: "/pages/charts/charts"
})
},
- getOrderList(date1,date2) {
- let params = {
- "orderTime_begin":date1 + " 00:00:00",
- "orderTime_end":date2 + " 23:59:59",
+ getOrderList(date1, date2) {
+ let params = {
+ "orderTime_begin": date1 + " 00:00:00",
+ "orderTime_end": date2 + " 23:59:59",
}
this.$api.getOrderList(params).then((res) => {
if (res.success) {
- this.herbList = res.result.records
-
- let feed = this.countTotal(this.herbList,"feed");
- let weight = this.countTotal(this.herbList,"originWeight");
- let dryTime = this.countTotal(this.herbList,"dryTime");
-
- let gList = [];
- this.herbList.forEach(item => {
- if(!gList.includes(item.herbName)){
- gList.push(item.herbName)
- }
- });
- this.model.feed = feed
- this.model.group = gList.length
- this.model.batch = this.herbList.length
- this.model.weight = weight
- this.model.dryTime = dryTime
-
- console.info(this.model)
+ this.herbList = res.result.records
+
+ let feed = this.countTotal(this.herbList, "feed");
+ let weight = this.countTotal(this.herbList, "originWeight");
+ let dryTime = this.countTotal(this.herbList, "dryTime");
+
+ let gList = [];
+ this.herbList.forEach(item => {
+ if (!gList.includes(item.herbName)) {
+ gList.push(item.herbName)
+ }
+ });
+
+ if (weight) {
+ weight = weight.toFixed(1)
+ }
+ this.model.feed = feed
+ this.model.group = gList.length
+ this.model.batch = this.herbList.length
+ this.model.weight = weight
+ this.model.dryTime = dryTime
+
+ console.info(this.model)
}
})
},
- getMonth(month){
- let params = {
- month:month
- }
- this.$api.getMonth(params).then((res) => {
- if(res.success){
- let list = res.result || []
- list = list.map(item => {
- let rec = {}
- rec.date = item;
- rec.title = "鐢熶骇";
- rec.info = "";
-
- return rec
- })
- this.monthList = [...this.monthList,...list]
- this.$refs.calendar.addSignList(this.monthList);
-
- if(res.result&&res.result.length>0){
- let date = res.result[0]
- let array = date.split('-')
- if(array && array.length == 3){
- this.$refs.calendar.clickDay({"day":array[2],"month":array[1],"year":array[0]})
- }
-
- }
-
-
-
- }
-
- })
- },
+ getMonth(month) {
+ let params = {
+ month: month
+ }
+ this.$api.getMonth(params).then((res) => {
+ if (res.success) {
+ let list = res.result || []
+ list = list.map(item => {
+ let rec = {}
+ rec.date = item;
+ rec.title = "鐢熶骇";
+ rec.info = "";
+
+ return rec
+ })
+ this.monthList = [...this.monthList, ...list]
+ this.$refs.calendar.addSignList(this.monthList);
+
+ if (res.result && res.result.length > 0) {
+ let date = res.result[0]
+ let array = date.split('-')
+ if (array && array.length == 3) {
+ this.$refs.calendar.clickDay({
+ "day": parseInt(array[2]),
+ "month": parseInt(array[1]),
+ "year": parseInt(array[0])
+ })
+ }
+
+ }
+
+
+
+ }
+
+ })
+ },
//璁$畻棰勬祴杩涘害
calcProgress(dryTime, et) {
if (dryTime && et) {
let res = dryTime / et * 100
res = res.toFixed(2)
return res
- }
+ }
return 0;
- },
- //璁$畻瀵硅薄鏁扮粍涓煇涓睘鎬у悎璁�
- countTotal(arr, keyName) {
- let $total = 0;
- $total = arr.reduce(function (total, currentValue, currentIndex, arr){
- return currentValue[keyName] ? (total + currentValue[keyName]) : total;
- }, 0);
- return $total;
- }
-
+ },
+ //璁$畻瀵硅薄鏁扮粍涓煇涓睘鎬у悎璁�
+ countTotal(arr, keyName) {
+ let $total = 0;
+ $total = arr.reduce(function(total, currentValue, currentIndex, arr) {
+ return currentValue[keyName] ? (total + currentValue[keyName]) : total;
+ }, 0);
+ return $total;
+ }
+
}
@@ -675,4 +784,4 @@
text-align: center;
}
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.3