Ver Fonte

巡检功能优化/NFC功能优化

fanghuisheng há 1 ano atrás
pai
commit
3e35acf02f
31 ficheiros alterados com 338 adições e 302 exclusões
  1. 7 2
      src/components/oa-upload/index.vue
  2. 1 3
      src/pages/business/mhxf/xunJian/collect/index.vue
  3. 1 3
      src/pages/business/mhxf/xunJian/plan/components/report.vue
  4. 1 0
      src/pages/business/mhxf/xunJian/plan/components/siteDetails.vue
  5. 4 5
      src/pages/business/mhxf/xunJian/plan/index.vue
  6. 0 3
      src/pages/business/mhxf/xunJian/record/recordDetail/index.vue
  7. 25 285
      src/pages/common/nfc/index.vue
  8. 1 1
      src/pages/common/success/index.vue
  9. 4 0
      src/plugins/index.js
  10. 292 0
      src/plugins/nfc.plugins.js
  11. 0 0
      src/static/images/alarming/alarming-cp.png
  12. 0 0
      src/static/images/alarming/alarming-dc.png
  13. 0 0
      src/static/images/alarming/alarming-dt.png
  14. 0 0
      src/static/images/alarming/alarming-hz.png
  15. 0 0
      src/static/images/alarming/alarming-mj.png
  16. 0 0
      src/static/images/alarming/alarming-sb.png
  17. 0 0
      src/static/images/alarming/alarming-tr.png
  18. 0 0
      src/static/images/alarming/alarming-yg.png
  19. 0 0
      src/static/images/alarming/alarming-yw.png
  20. 0 0
      src/static/images/alarming/profile.jpg
  21. BIN
      src/static/images/common/nfc-flash.gif
  22. 0 0
      src/static/images/common/success.png
  23. BIN
      src/static/images/dt/dt-alarmIcon.png
  24. BIN
      src/static/images/dt/dt-videoIcon.png
  25. BIN
      src/static/images/dt/dt-waterIcon.png
  26. BIN
      src/static/images/dt/dt-xfsIcon.png
  27. BIN
      src/static/images/dt/dt.png
  28. BIN
      src/static/images/video/video-icon-error.png
  29. BIN
      src/static/images/video/video-icon-off.png
  30. BIN
      src/static/images/video/video-icon-on.png
  31. 2 0
      src/store/modules/common.js

+ 7 - 2
src/components/oa-upload/index.vue

@@ -19,7 +19,7 @@
   <view class="oa-upload" v-if="uploadCount > 1">
     <view class="uploadView" :style="uploadStyle" v-for="up in uploadList" :key="up">
       <view class="uploadUimage">
-        <u-image width="100%" height="100%" :src="up.url"></u-image>
+        <u-image width="100%" height="100%" :src="up[uploadListSrc]"></u-image>
       </view>
 
       <view v-if="!uploadCloseStatus" class="uploadViewClose" @click="uploadViewClose(up)">
@@ -49,6 +49,11 @@ const props = defineProps({
     type: Object,
     default: [],
   },
+  //图片集合src(uploadCount大于1时使用)
+  uploadListSrc: {
+    type: String,
+    default: "url",
+  },
   //样式
   uploadStyle: {
     type: Object,
@@ -75,7 +80,7 @@ const props = defineProps({
   },
 });
 
-const { uploadImage, uploadList, uploadStyle, uploadIconSize, uploadCloseStatus, uploadCount } = toRefs(props);
+const { uploadImage, uploadList, uploadListSrc, uploadStyle, uploadIconSize, uploadCloseStatus, uploadCount } = toRefs(props);
 
 /**
  * @upload图片上传

+ 1 - 3
src/pages/business/mhxf/xunJian/collect/index.vue

@@ -72,9 +72,7 @@ const xunJianStore = xunJianStores(); //全局变量值Store
  * @NFC
  */
 function nfcClick() {
-  uni.navigateTo({
-    url: "/pages/common/nfc/index",
-  });
+  proxy.$nfc.initNFC();
 }
 
 /**

+ 1 - 3
src/pages/business/mhxf/xunJian/plan/components/report.vue

@@ -121,9 +121,7 @@ function pulicClick(obj) {
  * @NFC
  */
 function nfcClick() {
-  uni.navigateTo({
-    url: "/pages/common/nfc/index",
-  });
+  proxy.$nfc.initNFC();
 }
 
 /**

+ 1 - 0
src/pages/business/mhxf/xunJian/plan/components/siteDetails.vue

@@ -23,6 +23,7 @@
         <oa-upload
           :uploadCount="9"
           :uploadList="siteList.recordPictureList"
+          :uploadListSrc="'pictureUrl'"
           :uploadStyle="{
             width: 'calc(33% - 10px)',
             height: '110px',

+ 4 - 5
src/pages/business/mhxf/xunJian/plan/index.vue

@@ -93,7 +93,7 @@
       <view id="planTimeline" style="text-align: center; color: #bdbdbd; font-size: 14px" v-else> 暂无数据 </view>
     </view>
 
-    <oaMovable :themesColor="proxy.$settingStore.themeColor.color">
+    <oaMovable v-if="scanArray.length <= 0" :themesColor="proxy.$settingStore.themeColor.color">
       <template #content>
         <view class="iconfont ucicon-nfc menu-icon" @click="nfcClick()"></view>
         <view class="iconfont ucicon-saoyisao menu-icon" @click="scanClick()"></view>
@@ -187,9 +187,7 @@ function reportClick(obj) {
  * @NFC
  */
 function nfcClick() {
-  uni.navigateTo({
-    url: "/pages/common/nfc/index",
-  });
+  proxy.$nfc.initNFC();
 }
 
 /**
@@ -226,7 +224,6 @@ function scanClick() {
  * @接口查询
  */
 function planListApi(value) {
-  console.log(value);
   xunJianStore.inspectionStatus = 1;
 
   planList({
@@ -253,6 +250,7 @@ function planListApi(value) {
  */
 function scanClose(flag) {
   scanBool.value = flag;
+  scanArray.value = [];
 }
 
 /**
@@ -350,6 +348,7 @@ onLoad((options) => {
 
   // 从详情页返回该页面的获取数据
   uni.$on("planSelect", () => {
+    scanArray.value = [];
     currentApi();
     activitiesApi();
   });

+ 0 - 3
src/pages/business/mhxf/xunJian/record/recordDetail/index.vue

@@ -74,9 +74,6 @@
         <view class="padding-lr padding-bottom-lg imgPic">
           <image v-if="!getData.report_photos && dataRes == 1" mode="widthFix" src="@/static/images/defaultImg.jpg" width="100%" />
           <image v-else mode="widthFix" :src="`${websiteUrl}${getData.report_photos}`" width="100%" />
-
-          <!-- <image class="image-bg"  v-if="!getData.report_photos&&dataRes==1"  src="@/static/images/defaultImg.jpg"/>
-						<image  class="image-bg" v-else :src="getData.report_photos" /> -->
         </view>
       </view>
       <!-- 处理状态end -->

+ 25 - 285
src/pages/common/nfc/index.vue

@@ -1,4 +1,11 @@
-<template></template>
+<template>
+  <view class="nfc-container">
+    <view class="nfc-container-image">
+      <image class="nfc-gif" src="@/static/images/common/nfc-flash.gif" mode="aspectFit" style="width: 230px"></image>
+    </view>
+    <view class="nfc-container-text">{{ commonStore.nfcWaiting }}</view>
+  </view>
+</template>
 
 <script setup>
 import config from "@/config";
@@ -8,298 +15,18 @@ import { ref, reactive, computed, getCurrentInstance, toRefs, inject, watch } fr
 import { useStores, commonStores, xunJianStores } from "@/store/modules/index";
 
 const { proxy } = getCurrentInstance();
-const xunJianStore = xunJianStores();
+const commonStore = commonStores();
 
 const data = reactive({});
 const {} = toRefs(data);
 
-var NfcAdapter;
-var NdefRecord;
-var NdefMessage;
-var waiting;
-var readyWriteData = false; //开启写
-var readyRead = false; //开启读
-var techListsArray = [
-  ["android.nfc.tech.IsoDep"],
-  ["android.nfc.tech.NfcA"],
-  ["android.nfc.tech.NfcB"],
-  ["android.nfc.tech.NfcF"],
-  ["android.nfc.tech.Nfcf"],
-  ["android.nfc.tech.NfcV"],
-  ["android.nfc.tech.NdefFormatable"],
-  ["android.nfc.tech.MifareClassic"],
-  ["android.nfc.tech.MifareUltralight"],
-];
-
-function initNFC() {
-  if (uni.getSystemInfoSync().platform == "android") {
-    listenNFCStatus();
-  }
-}
-function readNFC(callback) {
-  if (uni.getSystemInfoSync().platform == "android") {
-    readData(callback);
-  }
-}
-function closeNFC() {
-  if (uni.getSystemInfoSync().platform == "android") {
-    closeReadAndWrite();
-  }
-}
-
-function listenNFCStatus() {
-  try {
-    var main = plus.android.runtimeMainActivity();
-    var Intent = plus.android.importClass("android.content.Intent");
-    var Activity = plus.android.importClass("android.app.Activity");
-    var PendingIntent = plus.android.importClass("android.app.PendingIntent");
-    var IntentFilter = plus.android.importClass("android.content.IntentFilter");
-    NfcAdapter = plus.android.importClass("android.nfc.NfcAdapter");
-    var nfcAdapter = NfcAdapter.getDefaultAdapter(main);
-
-    if (nfcAdapter == null) {
-      uni.showToast({
-        title: "设备不支持NFC!",
-        icon: "none",
-      });
-      return;
-    }
-
-    if (!nfcAdapter.isEnabled()) {
-      uni.showToast({
-        title: "请在系统设置中先启用NFC功能!",
-        icon: "none",
-      });
-      return;
-    }
-
-    var intent = new Intent(main, main.getClass());
-    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
-    var pendingIntent = PendingIntent.getActivity(main, 0, intent, 0);
-    var ndef = new IntentFilter("android.nfc.action.TECH_DISCOVERED");
-    ndef.addDataType("*/*");
-    var intentFiltersArray = [ndef];
-
-    plus.globalEvent.addEventListener(
-      "newintent",
-      function () {
-        // 轮询调用 NFC
-        setTimeout(handle_nfc_data1, 1000);
-      },
-      false
-    );
-    plus.globalEvent.addEventListener(
-      "pause",
-      function (e) {
-        if (nfcAdapter) {
-          //关闭前台调度系统
-          //恢复默认状态
-          nfcAdapter.disableForegroundDispatch(main);
-        }
-      },
-      false
-    );
-    plus.globalEvent.addEventListener(
-      "resume",
-      function (e) {
-        if (nfcAdapter) {
-          //开启前台调度系统
-          // 优于所有其他NFC
-          nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
-        }
-      },
-      false
-    );
-    nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
-  } catch (e) {
-    console.error(e);
-  }
-}
-
-function handle_nfc_data1() {
-  NdefRecord = plus.android.importClass("android.nfc.NdefRecord");
-  NdefMessage = plus.android.importClass("android.nfc.NdefMessage");
-  var main = plus.android.runtimeMainActivity();
-  var intent = main.getIntent();
-  //console.log("action type:" + intent.getAction());
-  if ("android.nfc.action.TECH_DISCOVERED" == intent.getAction()) {
-    if (readyWriteData) {
-      //__write(intent);
-      readyWriteData = false;
-    } else if (readyRead) {
-      __read(intent);
-      readyRead = false;
-    }
-  }
-}
-
-function showToast(msg) {
-  plus.nativeUI.toast(msg);
-}
-
-/**
- * @NFC写入
- * @param {*} intent
- * @returns
- */
-function __write(intent) {
-  try {
-    waiting.setTitle("请勿移开标签\n正在写入...");
-    var text = document.getElementById("text").value;
-    console.log("text=" + text);
-
-    var textBytes = plus.android.invoke(text, "getBytes");
-    var textRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, plus.android.invoke("text/plain", "getBytes"), plus.android.invoke("", "getBytes"), textBytes);
-    var message = new NdefMessage([textRecord]);
-    var Ndef = plus.android.importClass("android.nfc.tech.Ndef");
-    var NdefFormatable = plus.android.importClass("android.nfc.tech.NdefFormatable");
-    var tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
-    var ndef = Ndef.get(tag);
-    if (ndef != null) {
-      var size = message.toByteArray().length;
-      console.log("size=" + size);
-      ndef.connect();
-      if (!ndef.isWritable()) {
-        showToast("tag不允许写入");
-        waiting.close();
-        return;
-      }
-      if (ndef.getMaxSize() < size) {
-        showToast("文件大小超出容量");
-        waiting.close();
-        return;
-      }
-
-      ndef.writeNdefMessage(message);
-      waiting.close();
-      showToast("写入数据成功.");
-      return;
-    } else {
-      var format = NdefFormatable.get(tag);
-      if (format != null) {
-        try {
-          format.connect();
-          format.format(message);
-          showToast("格式化tag并且写入message");
-          waiting.close();
-          return;
-        } catch (e) {
-          showToast("格式化tag失败.");
-          waiting.close();
-          return;
-        }
-      } else {
-        showToast("Tag不支持NDEF");
-        waiting.close();
-        return;
-      }
-    }
-  } catch (e) {
-    console.log("error=" + e);
-    waiting.close();
-    alert("写入失败");
-  }
-}
-
-/**
- * @NFC读取
- * @param {*} intent
- * @returns
- */
-function __read(intent) {
-  try {
-    var content = "";
-    waiting.setTitle("请勿移开标签\n正在读取数据...");
-    var tag = plus.android.importClass("android.nfc.Tag");
-    tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
-    var bytesId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
-    waiting.close();
-    var tagid = bytesToHexString(tag.getId());
-
-    uni.$emit("tagid", tagid); //将值存储监听器
-    proxy.$tab.navigateBack(1); //返回上一级页面
-    closeNFC();
-  } catch (e) {
-    uni.showToast({
-      title: e,
-      icon: "none",
-    });
-  }
-}
-
-function bytesToHexString(inarray) {
-  var i, j, x;
-  var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
-  var out = "";
-  for (j = 0; j < inarray.length; ++j) {
-    x = parseInt(inarray[j]) & 0xff;
-    i = (x >> 4) & 0x0f;
-    out += hex[i];
-    i = x & 0x0f;
-    out += hex[i];
-  }
-  return out;
-}
-
-function reverseTwo(str) {
-  var str1 = "";
-  for (var i = 1; i <= str.length; i++) {
-    str1 += str[i - 1];
-    if (i % 2 == 0) {
-      if (i == str.length) {
-        break;
-      }
-      str1 += ":";
-    }
-  }
-  var str2 = "";
-  for (var i = str1.split(":").length - 1; i >= 0; i--) {
-    str2 += str1.split(":")[i];
-  }
-  return str2;
-}
-
-if (uni.getSystemInfoSync().platform == "android") {
-  //plus.globalEvent.addEventListener('plusready', listenNFCStatus, false);
-}
-
-function writeData() {
-  var textEle = plus.globalEvent.getElementById("text");
-  if (!textEle.value) {
-    uni.showToast({
-      title: "请输入要写入的内容!",
-      icon: "none",
-    });
-    return;
-  }
-  readyWriteData = true;
-  waiting = plus.nativeUI.showWaiting("请将NFC标签靠近!");
-}
-
-function readData() {
-  readyRead = true;
-  waiting = plus.nativeUI.showWaiting("请将NFC标签靠近!", {
-    modal: false,
-  });
-}
-
-function closeReadAndWrite() {
-  readyWriteData = false;
-  readyRead = false;
-
-  if (waiting) {
-    waiting.close();
-  }
-}
-
 onLoad((options) => {
   // 开启nfc监听
-  initNFC();
-  readNFC();
+  proxy.$nfc.readNFC();
 });
 
 onUnload(() => {
-  closeNFC();
+  proxy.$nfc.closeNFC();
 });
 
 onReady(() => {});
@@ -310,4 +37,17 @@ onShow(() => {
 });
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.nfc-container {
+  &-image {
+    display: flex;
+    width: 100%;
+    justify-content: center;
+    margin: 55% auto 40px auto;
+  }
+  &-text {
+    text-align: center;
+    font-size: 16px;
+  }
+}
+</style>

+ 1 - 1
src/pages/common/success/index.vue

@@ -2,7 +2,7 @@
   <view id="success-container" :data-theme="'theme-' + proxy.$settingStore.themeColor.name">
     <view>
       <view style="display: flex">
-        <image style="width: 120px; height: 120px; margin: 50px auto 20px auto" src="@/static/images/unitInfoCollection/success.png" />
+        <image style="width: 120px; height: 120px; margin: 50px auto 20px auto" src="@/static/images/common/success.png" />
       </view>
       <view style="text-align: center; font-weight: 600">{{ codeName }}</view>
     </view>

+ 4 - 0
src/plugins/index.js

@@ -5,6 +5,7 @@ import common from "./common.plugins";
 import setting from "./setting.plugins";
 import constData from "./constData.plugins.js";
 import grid from "./grid.plugins.js";
+import nfc from "./nfc.plugins.js";
 import { settingStores } from "@/store/modules/index";
 
 export default {
@@ -30,6 +31,9 @@ export default {
     // 公共宫格列表数据存储
     app.provide("$grid", grid);
     app.config.globalProperties.$grid = grid;
+    // 公共NFC
+    app.provide("$nfc", nfc);
+    app.config.globalProperties.$nfc = nfc;
     // 公共设置stroe
     app.provide("$settingStore", settingStores());
     app.config.globalProperties.$settingStore = settingStores();

+ 292 - 0
src/plugins/nfc.plugins.js

@@ -0,0 +1,292 @@
+import tab from "./tab.plugins";
+import { commonStores } from "@/store/modules/index";
+
+var NfcAdapter;
+var NdefRecord;
+var NdefMessage;
+var waiting;
+var readyWriteData = false; //开启写
+var readyRead = false; //开启读
+var whetherNFC = false; //是否有NFC
+var techListsArray = [
+    ["android.nfc.tech.IsoDep"],
+    ["android.nfc.tech.NfcA"],
+    ["android.nfc.tech.NfcB"],
+    ["android.nfc.tech.NfcF"],
+    ["android.nfc.tech.Nfcf"],
+    ["android.nfc.tech.NfcV"],
+    ["android.nfc.tech.NdefFormatable"],
+    ["android.nfc.tech.MifareClassic"],
+    ["android.nfc.tech.MifareUltralight"],
+];
+
+export default {
+    initNFC() {
+        if (uni.getSystemInfoSync().platform == "android") {
+            listenNFCStatus();
+        }
+    },
+    readNFC(callback) {
+        if (uni.getSystemInfoSync().platform == "android") {
+            readData(callback);
+        }
+    },
+    closeNFC() {
+        if (uni.getSystemInfoSync().platform == "android") {
+            closeReadAndWrite();
+        }
+    }
+}
+
+function listenNFCStatus() {
+    try {
+        var main = plus.android.runtimeMainActivity();
+        var Intent = plus.android.importClass("android.content.Intent");
+        var Activity = plus.android.importClass("android.app.Activity");
+        var PendingIntent = plus.android.importClass("android.app.PendingIntent");
+        var IntentFilter = plus.android.importClass("android.content.IntentFilter");
+        NfcAdapter = plus.android.importClass("android.nfc.NfcAdapter");
+        var nfcAdapter = NfcAdapter.getDefaultAdapter(main);
+
+        if (nfcAdapter == null) {
+            uni.showToast({
+                title: "设备不支持NFC!",
+                icon: "none",
+            });
+            return;
+        }
+
+        if (!nfcAdapter.isEnabled()) {
+            uni.showToast({
+                title: "请在系统设置中先启用NFC功能!",
+                icon: "none",
+            });
+            return;
+        }
+
+        uni.navigateTo({
+            url: "/pages/common/nfc/index",
+        });
+
+        var intent = new Intent(main, main.getClass());
+        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+        var pendingIntent = PendingIntent.getActivity(main, 0, intent, 0);
+        var ndef = new IntentFilter("android.nfc.action.TECH_DISCOVERED");
+        ndef.addDataType("*/*");
+        var intentFiltersArray = [ndef];
+
+        plus.globalEvent.addEventListener(
+            "newintent",
+            function () {
+                // 轮询调用 NFC
+                setTimeout(handleNFCData, 1000);
+            },
+            false
+        );
+        plus.globalEvent.addEventListener(
+            "pause",
+            function (e) {
+                if (nfcAdapter) {
+                    //关闭前台调度系统
+                    //恢复默认状态
+                    nfcAdapter.disableForegroundDispatch(main);
+                }
+            },
+            false
+        );
+        plus.globalEvent.addEventListener(
+            "resume",
+            function (e) {
+                if (nfcAdapter) {
+                    //开启前台调度系统
+                    // 优于所有其他NFC
+                    nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
+                }
+            },
+            false
+        );
+        nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
+    } catch (e) {
+        console.error(e);
+    }
+}
+
+function handleNFCData() {
+    NdefRecord = plus.android.importClass("android.nfc.NdefRecord");
+    NdefMessage = plus.android.importClass("android.nfc.NdefMessage");
+    var main = plus.android.runtimeMainActivity();
+    var intent = main.getIntent();
+    //console.log("action type:" + intent.getAction());
+    if ("android.nfc.action.TECH_DISCOVERED" == intent.getAction()) {
+        if (readyWriteData) {
+            //__write(intent);
+            readyWriteData = false;
+        } else if (readyRead) {
+            __read(intent);
+            readyRead = false;
+        }
+    }
+}
+
+function showToast(msg) {
+    plus.nativeUI.toast(msg);
+}
+
+/**
+ * @NFC写入
+ * @param {*} intent
+ * @returns
+ */
+function __write(intent) {
+    try {
+        waiting.setTitle("请勿移开标签\n正在写入...");
+        var text = document.getElementById("text").value;
+        console.log("text=" + text);
+
+        var textBytes = plus.android.invoke(text, "getBytes");
+        var textRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, plus.android.invoke("text/plain", "getBytes"), plus.android.invoke("", "getBytes"), textBytes);
+        var message = new NdefMessage([textRecord]);
+        var Ndef = plus.android.importClass("android.nfc.tech.Ndef");
+        var NdefFormatable = plus.android.importClass("android.nfc.tech.NdefFormatable");
+        var tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
+        var ndef = Ndef.get(tag);
+        if (ndef != null) {
+            var size = message.toByteArray().length;
+            console.log("size=" + size);
+            ndef.connect();
+            if (!ndef.isWritable()) {
+                showToast("tag不允许写入");
+                waiting.close();
+                return;
+            }
+            if (ndef.getMaxSize() < size) {
+                showToast("文件大小超出容量");
+                waiting.close();
+                return;
+            }
+
+            ndef.writeNdefMessage(message);
+            waiting.close();
+            showToast("写入数据成功.");
+            return;
+        } else {
+            var format = NdefFormatable.get(tag);
+            if (format != null) {
+                try {
+                    format.connect();
+                    format.format(message);
+                    showToast("格式化tag并且写入message");
+                    waiting.close();
+                    return;
+                } catch (e) {
+                    showToast("格式化tag失败.");
+                    waiting.close();
+                    return;
+                }
+            } else {
+                showToast("Tag不支持NDEF");
+                waiting.close();
+                return;
+            }
+        }
+    } catch (e) {
+        console.log("error=" + e);
+        waiting.close();
+        alert("写入失败");
+    }
+}
+
+/**
+ * @NFC读取
+ * @param {*} intent
+ * @returns
+ */
+function __read(intent) {
+    try {
+        commonStores().nfcWaiting = '请勿移开标签\n正在读取数据...'
+        // waiting.setTitle("请勿移开标签\n正在读取数据...");
+        var tag = plus.android.importClass("android.nfc.Tag");
+        tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
+        var bytesId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
+        // waiting.close();
+        var tagid = bytesToHexString(tag.getId());
+
+        setTimeout(() => {
+            uni.$emit("tagid", tagid); //将值存储监听器
+            tab.navigateBack(1); //返回上一级页面
+            closeReadAndWrite();
+        }, 1000);
+    } catch (e) {
+        uni.showToast({
+            title: e,
+            icon: "none",
+        });
+    }
+}
+
+function bytesToHexString(inarray) {
+    var i, j, x;
+    var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+    var out = "";
+    for (j = 0; j < inarray.length; ++j) {
+        x = parseInt(inarray[j]) & 0xff;
+        i = (x >> 4) & 0x0f;
+        out += hex[i];
+        i = x & 0x0f;
+        out += hex[i];
+    }
+    return out;
+}
+
+function reverseTwo(str) {
+    var str1 = "";
+    for (var i = 1; i <= str.length; i++) {
+        str1 += str[i - 1];
+        if (i % 2 == 0) {
+            if (i == str.length) {
+                break;
+            }
+            str1 += ":";
+        }
+    }
+    var str2 = "";
+    for (var i = str1.split(":").length - 1; i >= 0; i--) {
+        str2 += str1.split(":")[i];
+    }
+    return str2;
+}
+
+if (uni.getSystemInfoSync().platform == "android") {
+    //plus.globalEvent.addEventListener('plusready', listenNFCStatus, false);
+}
+
+function writeData() {
+    var textEle = plus.globalEvent.getElementById("text");
+    if (!textEle.value) {
+        uni.showToast({
+            title: "请输入要写入的内容!",
+            icon: "none",
+        });
+        return;
+    }
+    readyWriteData = true;
+    commonStores().nfcWaiting = '请将手机靠近NFC标签'
+    // waiting = plus.nativeUI.showWaiting("请将手机靠近NFC标签!");
+}
+
+function readData() {
+    readyRead = true;
+    commonStores().nfcWaiting = '请将手机靠近NFC标签'
+    // waiting = plus.nativeUI.showWaiting("请将手机靠近NFC标签!", {
+    //     modal: false,
+    // });
+}
+
+function closeReadAndWrite() {
+    readyWriteData = false;
+    readyRead = false;
+
+    if (waiting) {
+        waiting.close();
+    }
+}

+ 0 - 0
src/static/images/dt/dt-rtuIcon.png → src/static/images/alarming/alarming-cp.png


+ 0 - 0
src/static/images/dt/dt-dcIcon.png → src/static/images/alarming/alarming-dc.png


+ 0 - 0
src/static/images/dt/dt-dtIcon.png → src/static/images/alarming/alarming-dt.png


+ 0 - 0
src/static/images/dt/dt-ygIcon.png → src/static/images/alarming/alarming-hz.png


+ 0 - 0
src/static/images/dt/dt-mjIcon.png → src/static/images/alarming/alarming-mj.png


+ 0 - 0
src/static/images/dt/dt-dqIcon.png → src/static/images/alarming/alarming-sb.png


+ 0 - 0
src/static/images/dt/dt-trIcon.png → src/static/images/alarming/alarming-tr.png


+ 0 - 0
src/static/images/dt/dt-jgIcon.png → src/static/images/alarming/alarming-yg.png


+ 0 - 0
src/static/images/dt/dt-ywIcon.png → src/static/images/alarming/alarming-yw.png


+ 0 - 0
src/static/images/profile.jpg → src/static/images/alarming/profile.jpg


BIN
src/static/images/common/nfc-flash.gif


+ 0 - 0
src/static/images/unitInfoCollection/success.png → src/static/images/common/success.png


BIN
src/static/images/dt/dt-alarmIcon.png


BIN
src/static/images/dt/dt-videoIcon.png


BIN
src/static/images/dt/dt-waterIcon.png


BIN
src/static/images/dt/dt-xfsIcon.png


BIN
src/static/images/dt/dt.png


BIN
src/static/images/video/video-icon-error.png


BIN
src/static/images/video/video-icon-off.png


BIN
src/static/images/video/video-icon-on.png


+ 2 - 0
src/store/modules/common.js

@@ -148,6 +148,8 @@ const commonStore = defineStore("common", {
       recordPictureList: [],
       typeGuise: "", //点线面类型
     },//设施采集页面-数据存储
+
+    nfcWaiting: '请将手机靠近NFC标签',//nfc读取页面-提示文字-数据存储
   }),
   persist: {
     storage: window ? window.localStorage : uni.setStorageSync(), // 指定换成地址