wzh 2 роки тому
батько
коміт
6eea40b9bd
2 змінених файлів з 113 додано та 32 видалено
  1. 91 7
      pages/bluetooth/index/index.vue
  2. 22 25
      pages/device/detail.vue

+ 91 - 7
pages/bluetooth/index/index.vue

@@ -37,7 +37,7 @@
 
   <view v-if="connected">
     <view class="text-area">
-      <u--form style="width: 100%;"
+      <u--form  v-if="isCompanyUser()" style="width: 100%;"
                labelPosition="left"
                ref="uForm"
       >
@@ -71,6 +71,41 @@
           ></u--input>
         </u-form-item>
 
+      </u--form>
+      <u--form  v-else style="width: 100%;"
+                labelPosition="left"
+                ref="uForm"
+      >
+        <u-form-item
+            label="WIFI名称:"
+            borderBottom
+            labelWidth="auto"
+            @click="openChooseWifi"
+            ref="item1"
+        >
+          <u--input
+              v-model="SSID"
+              disabled
+              disabledColor="#ffffff"
+              placeholder="请选择wifi:"
+              border="none"
+          ></u--input>
+          <u-icon
+              slot="right"
+              name="arrow-right"
+          ></u-icon>
+        </u-form-item>
+        <u-form-item
+            label="密码:"
+            borderBottom
+            ref="item1"
+        >
+          <u--input
+              v-model="password"
+              border="none"
+          ></u--input>
+        </u-form-item>
+
 
         <u-form-item
             label="二维码ID:"
@@ -91,17 +126,18 @@
             ref="item1"
             labelWidth="auto"
         >
-          <u--input
-              v-model="productName"
-              border="none"
+          <u--input disabled
+                    v-model="productName"
+                    border="none"
           ></u--input>
         </u-form-item>
 
       </u--form>
-
     </view>
     <view style="margin:10px">
-      <u-button text="开始配网" @click="doConnect" size="small" type="primary"></u-button>
+      <u-button text="开始配网" v-if="isCompanyUser()" @click="doConnectUser(1)" size="small" type="primary"></u-button>
+
+      <u-button text="开始配网" v-else @click="doConnect(2)" size="small" type="primary"></u-button>
 
     </view>
     <u-picker @cancel="showWiftList=false" @confirm="chooseWifi"  :show="showWiftList" :columns="wifiList"></u-picker>
@@ -113,7 +149,7 @@
 </template>
 
 <script>
-
+import authObj from '@/plugins/auth.js';
 // #ifdef APP
 import ecUI from '@/utils/ecUI.js'
 import ecBLE from '@/utils/ecBLE/ecBLE.js'
@@ -193,6 +229,9 @@ import i18 from '@/utils/i18.js'
 			}, 100)
 		},
 		methods: {
+      isCompanyUser(){
+        return authObj.authRoleAdmin(["companymgr"]) || authObj.authRoleAdmin(["companyuser"]);
+      },
       chooseProduct(e){
         this.productId = e.value[0].id;
         this.productName = e.value[0].text;
@@ -308,6 +347,51 @@ import i18 from '@/utils/i18.js'
         })
         // #endif
 
+      },
+      doConnectUser(){
+        if(this.SSID == ""){
+          uni.showToast({
+            title: '请选择WIFI',
+            icon: 'none',
+            duration: 3000
+          });
+          return;
+        }
+        if(this.password == ""){
+          uni.showToast({
+            title: '请输入wifi密码',
+            icon: 'none',
+            duration: 3000
+          });
+          return;
+        }
+
+        /**
+         * ID:XXX+回车换行(设备编号)
+         * QR:XXXX+回车换行(二维码ID)
+         * ssid:WiFi名字+回车换行
+         * psd:wifi密码+回车换行
+         * 最后+OK
+         */
+        let self = this;
+        let endStr = "$$";
+        ecUI.showLoading("正在配置网络信息")
+
+        setTimeout(function(){
+          self.sendBlueData("ssid:"+self.SSID+endStr);
+        },400);
+
+        setTimeout(function(){
+          self.sendBlueData("psd:"+self.password+endStr);
+        },600);
+
+
+        setTimeout(function(){
+          self.sendBlueData("OK");
+        },800);
+
+
+
       },
       doConnect(){
         if(this.SSID == ""){

+ 22 - 25
pages/device/detail.vue

@@ -351,15 +351,6 @@
       </view>
     </u-popup>
 
-<!--    <u-popup :show="!onlineStatus"  mode="center" :closeOnClickOverlay="true" :closeable="true" @close="onlineStatus=false">-->
-<!--        <view style="-->
-<!--        margin:2%;padding:10%; /* 背景色 */color: #000; padding: 10px; /* 内边距 */border-radius: 5px; /* 圆角 */font-size: 16px; /* 文字大小 */text-align: center; /* 文字居中 */  ">-->
-<!--         <view style="width: 100px;margin-top:40rpx;">设备未在线</view>-->
-<!--          <view>无法操作</view>-->
-<!--        </view>-->
-
-<!--    </u-popup>-->
-
     <u-popup :show="planPopDlg" @close="closePlanPop" mode="center"  :closeable="true">
       <view style="position: relative;width: 400rpx;background: none;padding:40rpx;">
         <view class="control_item" style="width: 100%">
@@ -508,13 +499,13 @@
             <view class="prop-item-left">工作模式</view>
             <view class="prop-item-right" @click="showWorkPicker">
               <view v-if="workMode == 1">
-                微压循环<uni-icons type="forward" size="16"></uni-icons>
+                1<uni-icons type="forward" size="16"></uni-icons>
               </view>
               <view v-if="workMode == 2">
-                常温二煎的一煎<uni-icons type="forward" size="16"></uni-icons>
+                2<uni-icons type="forward" size="16"></uni-icons>
               </view>
               <view v-if="workMode == 3">
-                常温二煎的二煎<uni-icons type="forward" size="16"></uni-icons>
+                3<uni-icons type="forward" size="16"></uni-icons>
               </view>
             </view>
           </view>
@@ -629,11 +620,9 @@ export default {
     return {
       onlineStatus:false,
       modeList:[[
-        {id:1,text:"微压循环"},
-        {id:2,text:"常温二煎的一煎"},
-        {id:3,text:"常温二煎的二煎"},
-        {id:3,text:"密闭微压"},
-        {id:3,text:"常温常压"},
+        {id:1,text:"1"},
+        {id:2,text:"2"},
+        {id:3,text:"3"},
       ]],
       productSize:"",
       productImage:"",
@@ -1911,15 +1900,23 @@ export default {
 
         self.deviceInfo = res.data;
         self.deviceType = res.data.type;
-        self.onlineStatus = self.deviceInfo == 3?true:false;
-        if(!self.onlineStatus){
-          uni.showModal({
-            title: '系统提示',
-            content: "设备未在线,无法操作",
-            confirmText: '确定',
-            showCancel:false,
-          })
+        let online = self.deviceInfo == 3?true:false;
+        if(!online){
+          if(!self.onlineStatus){
+            uni.showModal({
+              title: '系统提示',
+              content: "设备未在线,无法操作",
+              confirmText: '确定',
+              showCancel:false,
+              success(res){
+                if(res.confirm){
+                  self.onlineStatus = true;
+                }
+              },
+            })
+          }
         }
+
         console.log("当前设备类型:"+JSON.stringify(self.deviceInfo.type))
         self.location = {
           latitude: self.deviceInfo.latitude,