lxh 2 天之前
父节点
当前提交
e087fbfa53

+ 1 - 1
.hbuilderx/launch.json

@@ -2,7 +2,7 @@
     "version" : "1.0",
     "configurations" : [
         {
-            "playground" : "standard",
+            "playground" : "custom",
             "type" : "uni-app:app-android"
         },
         {

+ 148 - 0
pages/gasreport/components/Recognition.vue

@@ -0,0 +1,148 @@
+<template>
+    <view class="Recognition">
+        <u-list :height="666">
+            <u-list-item v-for="(item, index) in listData" :key="index">
+                <u-cell :title="`${item.deviceName} (${item.checkNum == '1' ? '第一次' :
+                    item.checkNum == '2' ? '第二次' : ''})`" @click="getSbClick(item)">
+                    <u-avatar slot="icon" shape="square" size="35" :src="item.img"
+                        customStyle="margin: -3px 5px -3px 0"></u-avatar>
+                    <view slot="value" style="display: flex;align-items: center;">
+                        <text>{{ item.status=='0' ? '处理中...' : item.status=='1' ? '识别成功' : item.status=='2' ? '识别失败' : '' }}</text>
+                    </view>
+                </u-cell>
+            </u-list-item>
+        </u-list>
+    </view>
+</template>
+
+<script>
+import api from "@/api/api";
+import configService from "@/common/service/config.service.js";
+
+export default {
+    name: 'Recognition',
+    components: {},
+    props: {
+        recognitionData: {
+            type: Array,
+            default: () => {
+                return []
+            }
+        }
+    },
+
+    data() {
+        return {
+            listData: [],
+           sbData:[],//识别数据
+           sbParamData:{}
+        }
+    },
+    computed: {
+        username: function () {
+            return uni.getStorageSync("login_user_info")["realname"];
+        },
+        searchTime: function () {
+            return uni.getStorageSync('searchTime')
+        },
+    },
+    watch: {
+        recognitionData: {
+            handler(newV, oldV) {
+                if (newV && newV.length != 0) {
+                    this.listData = newV
+                    this.processArray(this.listData)
+                }
+            },
+            immediate: true
+        }
+
+    },
+    mounted() {
+
+    },
+    methods: {
+        async processArray(array) {
+            let that = this
+            for (const obj of array) {
+                let findIndex=that.listData.findIndex(v=>v.deviceId==obj.deviceId)
+                //0:处理中,1:识别成功,2:识别失败
+               that.listData[findIndex].status='0'
+                const result = await that.processObject(obj);
+                that.$set(that.listData,findIndex,{...obj,status:result[0].status})
+                that.sbData=that.listData.map(el=>{
+                    return {
+                        ...el,
+                        sbList:result
+                    }
+                })
+            }
+              uni.hideLoading()
+        },
+
+        async processObject(obj) {
+             let that = this;
+             let list=[]
+            // 模拟异步操作,例如网络请求
+            return new Promise(resolve => setTimeout(() => {
+               
+                let jcNum = obj.deviceName.indexOf("第三次") != -1 ? 3 : null;
+                let apiUrlImg = `${configService.apiUrlP}:6008`;
+                uni.uploadFile({
+                    url: `${apiUrlImg}/gasIdentify`,
+                    filePath: uni.getStorageSync(obj.deviceId),
+                    name: "img",
+                    formData: {
+                        user: that.username,
+                        order: obj.classType_dictText,
+                        reportdate: that.searchTime,
+                        checkorder: jcNum ? jcNum : Number(obj.checkNum),
+                        checkpath: obj.deviceName,
+                        imgpath:  uni.getStorageSync(obj.deviceId),
+                    },
+                    success: (res) => {
+                        if (res) {
+                            that.indexList = JSON.parse(res.data).data || [];
+                           list=that.indexList.map(el=>{
+                            return {
+                                ...el,
+                                status:'1',
+                                
+                            }
+                           })
+                             resolve(list)
+                            // that.deviceId = that.deviceID;
+                        }
+                    },
+                    fail: (error) => {
+                        list.push({status:'2'})
+                          resolve(list)
+                    },
+                });
+            }, 1000));
+        },
+        //识别跳转
+        getSbClick(item){
+            this.sbParamData=this.sbData.filter(v=>v.deviceId==item.deviceId)[0]
+            console.log(this.sbParamData,'sbParam------')
+            //跳转填报页面
+            this.$emit('getRepport',this.sbParamData)
+        }
+
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.Recognition {
+    position: relative;
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+
+}
+
+::v-deep .u-slot-title {
+    display: flex;
+}
+</style>

+ 3165 - 0
pages/gasreport/components/copy.vue

@@ -0,0 +1,3165 @@
+<template>
+  <view class="gas-fill">
+    <u-navbar
+      :bgStatusImage="backPic0"
+      :bgImage="backPic"
+      :title="gasTitle"
+      :safeAreaInsetTop="true"
+      leftIcon="arrow-left"
+      @leftClick="handlerToggle"
+    >
+    </u-navbar>
+    <!-- 瓦斯上报列表 -->
+    <view v-if="statusShow != 'edit'">
+      <view class="top-gas-list">
+        <u-button
+          type="primary"
+          icon="camera-fill"
+          size="small"
+          @click="GalleryFile"
+          style="margin: 2px 0px"
+          >图片选取</u-button
+        >
+        <!-- 图片预览 -->
+        <view class="imgView">
+          <image
+            v-if="saveImg || imageSrc"
+            style="width: 100%"
+            :src="imageSrc ? imageSrc : saveImg"
+            @click="getPreview"
+          >
+          </image>
+        </view>
+
+        <view
+          style="
+            width: 100%;
+            display: flex;
+            justify-content: space-between;
+            margin: 2px 0px;
+          "
+        >
+          <u-button
+            icon="eye"
+            type="primary"
+            size="small"
+            :loading="loading"
+            loadingText="识别中"
+            style="width: 49%; margin: 0"
+            @click="getGasIdentify"
+            >识别</u-button
+          >
+          <u-button
+            icon="trash"
+            type="primary"
+            size="small"
+            style="width: 49%; margin: 0"
+            @click="delSb"
+            >删除</u-button
+          >
+        </view>
+        <helang-compress ref="helangCompress"></helang-compress>
+      </view>
+    </view>
+
+    <view v-if="statusShow == 'edit'">
+      <view class="top-gas-list">
+        <u-button
+          type="primary"
+          icon="camera-fill"
+          size="small"
+          @click="GalleryFile"
+          style="margin: 2px 0px"
+          >图片更新</u-button
+        >
+        <!-- 图片预览 -->
+        <view class="imgView">
+          <image
+            v-if="imageSrcView"
+            style="width: 100%"
+            :src="imageSrcView"
+            @click="getPreview"
+          >
+          </image>
+        </view>
+      </view>
+    </view>
+
+    <!-- 新增弹窗 -->
+    <view
+      v-if="isShowAdd"
+      :style="{
+        padding: imageSrcView
+          ? '295px 0px 10px 0px'
+          : imageSrc
+          ? '330px 0px 10px 0px'
+          : saveImg
+          ? '330px 0px 10px 0px'
+          : '54px 0px 10px 0px',
+      }"
+      :class="statusShow == 'edit' ? 'bot-gas-list1' : 'bot-gas-list'"
+    >
+      <view class="top-dialog-area">
+        <view class="dialog-item">
+          <text class="dialog-label">班次:</text>
+          <u--input
+            inputAlign="center"
+            disabled
+            v-model="formState.bc"
+            clearable
+          ></u--input>
+        </view>
+        <view class="dialog-item">
+          <text class="dialog-label">检测次数:</text>
+          <u--input
+            inputAlign="center"
+            disabled
+            v-model="formState.count"
+            clearable
+          ></u--input>
+        </view>
+        <view class="dialog-item">
+          <text class="dialog-label">检测地点:</text>
+
+          <u--textarea
+            v-model="formState.jcdd"
+            :height="14"
+            disabled
+          ></u--textarea>
+        </view>
+        <view class="dialog-item" @click="getChangeTime">
+          <text class="dialog-label">检测时间:</text>
+          <u--input
+            readonly
+            v-model="formState.time"
+            placeholder="请选择检测时间"
+            inputAlign="center"
+            :disabled="statusShow == 'edit'"
+            suffixIcon="arrow-right"
+          ></u--input>
+          <u-datetime-picker
+            :show="showCalendar"
+            v-model="timeRan"
+            mode="datetime"
+            closeOnClickOverlay
+            @confirm="showCalendar = false"
+            @cancel="showCalendar = false"
+            @change="change"
+            @close="showCalendar = false"
+          ></u-datetime-picker>
+        </view>
+        <view class="dialog-item">
+          <text class="dialog-label">填报日期:</text>
+          <u--input
+            inputAlign="center"
+            readonly
+            v-model="formState.tbrq"
+            placeholder="请选择填报日期"
+            :disabled="statusShow == 'edit'"
+          ></u--input>
+        </view>
+        <view class="dialog-item">
+          <text class="dialog-label">检查工:</text>
+          <u--input
+            inputAlign="center"
+            disabled
+            v-model="formState.jcy"
+            placeholder="请输入"
+          ></u--input>
+        </view>
+      </view>
+      <view>
+        <view class="center-dialog-area">
+          <div class="dialog-title">气体检测数据</div>
+
+          <view class="dialog-item">
+            <text class="dialog-label">CH₄(%):</text>
+            <u--input
+              inputAlign="center"
+              v-model="formState.ch4"
+              :placeholder="isRule2 ? '请输入' : '数据有误'"
+              type="number"
+              @blur="getBlurCH4"
+              @input="changeInput($event, 'ch4')"
+              clearable
+              :placeholderStyle="isRule2 ? 'color:#c0c4cc' : 'color:#ff0000'"
+            ></u--input>
+          </view>
+          <view class="dialog-item">
+            <text class="dialog-label">CO₂(%):</text>
+            <u--input
+              inputAlign="center"
+              v-model="formState.co2"
+              :placeholder="isRule ? '请输入' : '数据有误'"
+              type="number"
+              @blur="getBlurCO2"
+              @input="changeInput($event, 'co2')"
+              clearable
+              :placeholderStyle="isRule ? 'color:#c0c4cc' : 'color:#ff0000'"
+            ></u--input>
+          </view>
+          <view class="dialog-item">
+            <text class="dialog-label">CO(ppm):</text>
+            <u--input
+              inputAlign="center"
+              v-model="formState.co"
+              :placeholder="isRule14 ? '请输入' : '数据有误'"
+              clearable
+              :placeholderStyle="isRule14 ? 'color:#c0c4cc' : 'color:#ff0000'"
+              type="number"
+              @blur="getBlurCO"
+              @input="changeInput($event, 'co')"
+            ></u--input>
+          </view>
+          <view class="dialog-item">
+            <text class="dialog-label">O₂(%):</text>
+            <u--input
+              inputAlign="center"
+              clearable
+              type="number"
+              v-model="formState.o2"
+              placeholder="请输入"
+              @input="changeInput($event, 'o2')"
+            ></u--input>
+          </view>
+          <view class="dialog-item">
+            <text class="dialog-label">T(℃):</text>
+            <u--input
+              inputAlign="center"
+              clearable
+              type="number"
+              @input="changeInput($event, 'temp')"
+              v-model="formState.temp"
+              placeholder="请输入"
+            ></u--input>
+          </view>
+        </view>
+        <view class="bottom-dialog-area">
+          <div class="dialog-title">三对照数据</div>
+          <view class="dialog-item">
+            <text class="dialog-label">甲烷传感器:</text>
+            <u--input
+              inputAlign="center"
+              v-model="formState.jw"
+              placeholder="请输入"
+              clearable
+              @input="changeInput($event, 'jw')"
+            ></u--input>
+          </view>
+          <view class="dialog-item">
+            <text class="dialog-label">光瓦:</text>
+
+            <u--input
+              inputAlign="center"
+              type="number"
+              v-model="formState.ch4"
+              placeholder="请输入"
+              clearable
+              @input="changeInput($event, 'ch4')"
+            ></u--input>
+          </view>
+          <view class="dialog-item">
+            <text class="dialog-label">便携仪:</text>
+            <u--input
+              inputAlign="center"
+              :placeholderStyle="isRule3 ? 'color:#c0c4cc' : 'color:#ff0000'"
+              :placeholder="isRule3 ? '请输入' : '数据有误'"
+              type="number"
+              v-model="formState.bxy"
+              clearable
+              @blur="getBlurBxy"
+              @input="changeInput($event, 'bxy')"
+            ></u--input>
+          </view>
+        </view>
+      </view>
+      <view class="dialog-btn">
+        <u-button
+          type="success"
+          v-if="statusShow == 'add' || statusShow == 'edit'"
+          size="small"
+          @click="getConfirm"
+          >保存</u-button
+        >
+        <u-button type="primary" size="small" @click="getCancel">取消</u-button>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+import api from "@/api/api";
+import moment from "moment";
+import configService from "@/common/service/config.service.js";
+// import { RHFselcet } from "@/uni_modules/fz-media-selcet";
+import helangCompress from "@/components/helang-compress/helang-compress";
+export default {
+  name: "gasFill",
+  components: {
+    helangCompress,
+  },
+  props: {
+    Ids: {
+      type: String,
+      default: "",
+    },
+    //巡检次数
+    checkNum: {
+      type: String,
+      default: "",
+    },
+    //巡检班次
+    classType: {
+      type: String,
+      default: "",
+    },
+    isSensor: {
+      type: String,
+      default: "",
+    },
+    deviceID: {
+      type: String,
+      defualt: "",
+    },
+    deviceName: {
+      type: String,
+      default: "",
+    },
+    checkState: {
+      type: String,
+      default: "",
+    },
+    saveImg: {
+      type: String,
+      default: "",
+    },
+  },
+
+  data() {
+    return {
+      imageSrcView: "", //任务明细查看图片详情
+      tempFilePaths: [],
+      gasTitle: "数据采集", //标题
+      backPic0: "url(/static/topnavbar0.png)",
+      backPic: "url(../../static/topnavbar.png)",
+      loading: false,
+      paramData: {},
+      statusShow: "",
+      editData: {},
+      indexList: [], //识别数据
+      indexParam: {}, //当前选中识别的数据
+      imageSrc: "",
+      deviceId: "",
+      rangeBc: [
+        { value: "夜班", text: "夜班" },
+        { value: "早班", text: "早班" },
+        { value: "中班", text: "中班" },
+      ],
+      // rangeMcgzm: [],
+      rangeJcdd: [],
+      rangeCount: [
+        { value: "第一次", text: "第一次" },
+        { value: "第二次", text: "第二次" },
+      ],
+      rangeJw: [
+        { value: "0", text: "0" },
+        { value: "-", text: "-" },
+      ],
+      isRule: true,
+      isRule1: true,
+      isRule14: true,
+      isRule2: true,
+      isRule3: true,
+      //新增参数信息
+      isShowAdd: false, //是否显示新增弹窗
+
+      showCalendar: false, //控制日期选型下拉开启
+      timeRan: Number(new Date()),
+      gasList: [], //瓦斯填报列表数据
+      // tbTime: moment(new Date()).format('YYYY-MM-DD'),//查询条件-填报时间
+      // showCalendarTb: false,//控制填报时间组件弹出
+      saveShowList: {},
+      formState: {
+        id: "",
+        bc: "",
+        count: "第一次",
+        jcdd: "",
+        jcy: "",
+        time: "",
+        ch4: "",
+        co2: "",
+        co: "",
+        o2: "",
+        jw: "",
+        bxy: "",
+        tbrq: "",
+        temp: "",
+        // mcgzm: '',
+      },
+    };
+  },
+  computed: {
+    username: function () {
+      return uni.getStorageSync("login_user_info")["realname"];
+    },
+    searchTime: function () {
+      return uni.getStorageSync("searchTime");
+    },
+  },
+  watch: {
+    checkState: {
+      handler(newV, oldV) {
+        let that = this;
+        if (newV && newV != "0") {
+          this.isShowAdd = true;
+          this.statusShow = "edit";
+          this.gasTitle = "数据详情";
+          this.getGasList();
+          //获取任务详情图片
+          this.getTaskImg();
+        } else {
+          that.isShowAdd = false;
+          that.statusShow = "add";
+          that.gasTitle = "数据填报";
+        }
+      },
+      immediate: true,
+    },
+  },
+  mounted() {},
+  methods: {
+    //打开选择器选择
+    GalleryFile() {
+      let that = this;
+      let parameter = {
+        MediaType: 1, //设置选择类型  0: ALL(全部) 1: IMAGE(图片) 2: VIDEO(视频) 3: AUDIO(音频) 不传默认为1图片
+        Single: 2, //设置单选或多选, 1为单选,2为多选,不传默认为多选
+        maxNum: 1, //设置最大选中数,不传默认为9 仅多选时生效
+        minNum: 0, //最少选中数,不传为默认为0 仅多选时生效
+        isOriginal: true, //是否开启原图功能,不传默认为false
+        isDisplayCamera: true, //是否显示拍摄按钮,不传默认为true
+        //语言设置, 0:简体中文,1:繁体,2:英语,3:韩语,4:德语,5:法语,6:日语,7:越语,8:西班牙语,9:葡萄牙语,10:阿拉伯语,11:俄语,12:捷克,13:哈萨克斯坦,不传默认为0
+        Language: 0,
+        //主题界面样式设置,不传为默认样式
+        theme: {
+          titleBarStyle: {
+            TitleBackgroundColor: "#20a0ff",
+          },
+          bottomNavBarStyle: {
+            PreviewNormalTextColor: "#20a0ff",
+            PreviewSelectTextColor: "#20a0ff",
+            BarBackgroundColor: "#FFFFFF",
+            EditorTextColor: "#20a0ff",
+            OriginalTextColor: "#20a0ff",
+          },
+          selectMainStyle: {
+            NumberStyle: true, //选中样式是否为数字,不传默认显示勾选样式
+            isbtn: true, //完成按钮是否为显示背景,不传为默认不显示按钮背景
+            SelectTextColor: "#ffffff", //选择结果文字颜色
+            // SelectText:'%1$d/%2$d 完成',
+            SelectText: "使用(%1$d)", //选择结果要显示的文字,不传默认显示:已完成
+            StatusBarColor: "#20a0ff",
+            OriginalTextColor: "#20a0ff",
+          },
+        },
+      };
+      RHFselcet.getPicture(parameter, (data) => {
+        that.tempFilePaths = [];
+        let arrData = data.mediaArray;
+        console.log(arrData);
+        if (that.statusShow == "edit") {
+          that.imageSrcView = arrData[0].Pathurl;
+          that.tempFilePaths.push(that.imageSrcView);
+          //更新图片
+          that.getUpdateImg();
+        } else {
+          that.imageSrc = arrData[0].Pathurl;
+          that.tempFilePaths.push(that.imageSrc);
+          uni.setStorageSync(that.deviceID, that.imageSrc);
+        }
+      });
+    },
+    //点击返回上一级
+    handlerToggle() {
+      this.$emit("getBackAddress");
+    },
+    //图片点击预览
+    getPreview() {
+      let that = this;
+      // 预览图片
+      if (statusShow == "edit") {
+        uni.previewImage({
+          urls: this.tempFilePaths,
+          current: 0,
+        });
+      } else {
+        uni.previewImage({
+          urls: this.saveImg ? [this.saveImg] : this.tempFilePaths,
+          current: 0,
+        });
+      }
+    },
+    //先压缩后识别
+    getScale() {
+      let that = this;
+      // 单张压缩
+      that.$refs.helangCompress
+        .compress({
+          src: that.imageSrc,
+          maxSize: 800,
+          fileType: "png",
+          quality: 0.85,
+          minSize: 640, //最小压缩尺寸,图片尺寸小于该时值不压缩,非H5平台有效。若需要忽略该设置,可设置为一个极小的值,比如负数。
+        })
+        .then((res) => {
+          that.imageSrc = res;
+          // 压缩成功回调
+          that.loading = true;
+          let jcNum = that.deviceName.indexOf("第三次") != -1 ? 3 : null;
+          let apiUrlImg = `${configService.apiUrlP}:6008`;
+          uni.uploadFile({
+            url: `${apiUrlImg}/gasIdentify`,
+            filePath: that.imageSrc,
+            name: "img",
+            formData: {
+              user: that.username,
+              order: that.classType,
+              reportdate: that.searchTime,
+              checkorder: jcNum ? jcNum : Number(that.checkNum),
+              checkpath: that.deviceName,
+              imgpath: that.imageSrc,
+            },
+
+            success: (res) => {
+              if (res) {
+                uni.showToast({
+                  title: "识别成功!",
+                  icon: "none", // 可选图标,'success', 'loading', 'none'
+                });
+                that.indexList = JSON.parse(res.data).data || [];
+                that.isShowAdd = true;
+                that.loading = false;
+                that.isShowAdd = true;
+                that.statusShow = "add";
+                that.deviceId = that.deviceID;
+
+                if (that.indexList.length != 0) {
+                  that.indexParam = that.indexList[0];
+                  that.formState = {
+                    id: "",
+                    bc: that.classType || "",
+                    count:
+                      that.checkNum == "1"
+                        ? "第一次"
+                        : that.checkNum == "2"
+                        ? "第二次"
+                        : "",
+                    jcdd: that.deviceName || "",
+                    jcy:
+                      that.indexParam && that.indexParam["检查人"]
+                        ? that.indexParam["检查人"]
+                        : that.username,
+                    time:
+                      that.indexParam && that.indexParam["检查时间"]
+                        ? that.indexParam["检查时间"]
+                        : "",
+                    ch4:
+                      that.indexParam && that.indexParam["CH4%"]
+                        ? that.indexParam["CH4%"]
+                        : "",
+                    co2:
+                      that.indexParam && that.indexParam["CO2%"]
+                        ? that.indexParam["CO2%"]
+                        : "",
+                    co:
+                      that.indexParam && that.indexParam["CO(ppm)"]
+                        ? that.indexParam["CO(ppm)"]
+                        : "",
+                    o2:
+                      that.indexParam && that.indexParam["O2%"]
+                        ? that.indexParam["O2%"]
+                        : "",
+                    jw: that.isSensor == "1" ? "0" : "-",
+                    bxy: "0",
+                    tbrq:
+                      that.indexParam && that.indexParam["检查时间"]
+                        ? that.indexParam["检查时间"].substring(
+                            0,
+                            that.indexParam["检查时间"].indexOf(" ")
+                          )
+                        : "",
+                    temp:
+                      that.indexParam && that.indexParam["温度(℃)"]
+                        ? that.indexParam["温度(℃)"]
+                        : "",
+                  };
+
+                  new Promise((resolve, reject) => {
+                    api
+                      .getGas({
+                        reportTime: that.formState.tbrq,
+                        deviceId: that.deviceId,
+                      })
+                      .then((response) => {
+                        if (response.data.code == 200) {
+                          let data = response.data.result.records;
+                          if (data.length != 0) {
+                            that.saveShowList = data[0];
+                            if (
+                              that.formState.bc == "早班" &&
+                              that.formState.count == "第一次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzEarly1: that.formState.bxy,
+                                ch4Early1: that.formState.ch4,
+                                checkPersonEarly: that.formState.jcy,
+                                co2Early1: that.formState.co2,
+                                coEarly1: that.formState.co,
+                                gwSdzEarly1: that.formState.ch4,
+                                jwSdzEarly1: that.formState.jw,
+                                o2Early1: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeEarly1: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tearly1: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "早班" &&
+                              that.formState.count == "第二次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzEarly2: that.formState.bxy,
+                                ch4Early2: that.formState.ch4,
+                                checkPersonEarly: that.formState.jcy,
+                                co2Early2: that.formState.co2,
+                                coEarly2: that.formState.co,
+                                gwSdzEarly2: that.formState.ch4,
+                                jwSdzEarly2: that.formState.jw,
+                                o2Early2: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeEarly2: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tearly2: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "中班" &&
+                              that.formState.count == "第一次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNoon1: that.formState.bxy,
+                                ch4Noon1: that.formState.ch4,
+                                checkPersonNoon: that.formState.jcy,
+                                co2Noon1: that.formState.co2,
+                                coNoon1: that.formState.co,
+                                gwSdzNoon1: that.formState.ch4,
+                                jwSdzNoon1: that.formState.jw,
+                                o2Noon1: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNoon1: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnoon1: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "中班" &&
+                              that.formState.count == "第二次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNoon2: that.formState.bxy,
+                                ch4Noon2: that.formState.ch4,
+                                checkPersonNoon: that.formState.jcy,
+                                co2Noon2: that.formState.co2,
+                                coNoon2: that.formState.co,
+                                gwSdzNoon2: that.formState.ch4,
+                                jwSdzNoon2: that.formState.jw,
+                                o2Noon2: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNoon2: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnoon2: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "夜班" &&
+                              that.formState.count == "第一次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNight1: that.formState.bxy,
+                                ch4Night1: that.formState.ch4,
+                                checkPersonNight: that.formState.jcy,
+                                co2Night1: that.formState.co2,
+                                coNight1: that.formState.co,
+                                gwSdzNight1: that.formState.ch4,
+                                jwSdzNight1: that.formState.jw,
+                                o2Night1: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNight1: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnight1: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "夜班" &&
+                              that.formState.count == "第二次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNight2: that.formState.bxy,
+                                ch4Night2: that.formState.ch4,
+                                checkPersonNight: that.formState.jcy,
+                                co2Night2: that.formState.co2,
+                                coNight2: that.formState.co,
+                                gwSdzNight2: that.formState.ch4,
+                                jwSdzNight2: that.formState.jw,
+                                o2Night2: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNight2: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnight2: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            }
+                          } else {
+                            that.saveShowList = {};
+                            if (
+                              that.formState.bc == "早班" &&
+                              that.formState.count == "第一次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzEarly1: that.formState.bxy,
+                                ch4Early1: that.formState.ch4,
+                                checkPersonEarly: that.formState.jcy,
+                                co2Early1: that.formState.co2,
+                                coEarly1: that.formState.co,
+                                gwSdzEarly1: that.formState.ch4,
+                                jwSdzEarly1: that.formState.jw,
+                                o2Early1: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeEarly1: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tearly1: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "早班" &&
+                              that.formState.count == "第二次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzEarly2: that.formState.bxy,
+                                ch4Early2: that.formState.ch4,
+                                checkPersonEarly: that.formState.jcy,
+                                co2Early2: that.formState.co2,
+                                coEarly2: that.formState.co,
+                                gwSdzEarly2: that.formState.ch4,
+                                jwSdzEarly2: that.formState.jw,
+                                o2Early2: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeEarly2: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tearly2: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "中班" &&
+                              that.formState.count == "第一次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNoon1: that.formState.bxy,
+                                ch4Noon1: that.formState.ch4,
+                                checkPersonNoon: that.formState.jcy,
+                                co2Noon1: that.formState.co2,
+                                coNoon1: that.formState.co,
+                                gwSdzNoon1: that.formState.ch4,
+                                jwSdzNoon1: that.formState.jw,
+                                o2Noon1: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNoon1: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnoon1: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "中班" &&
+                              that.formState.count == "第二次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNoon2: that.formState.bxy,
+                                ch4Noon2: that.formState.ch4,
+                                checkPersonNoon: that.formState.jcy,
+                                co2Noon2: that.formState.co2,
+                                coNoon2: that.formState.co,
+                                gwSdzNoon2: that.formState.ch4,
+                                jwSdzNoon2: that.formState.jw,
+                                o2Noon2: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNoon2: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnoon2: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "夜班" &&
+                              that.formState.count == "第一次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNight1: that.formState.bxy,
+                                ch4Night1: that.formState.ch4,
+                                checkPersonNight: that.formState.jcy,
+                                co2Night1: that.formState.co2,
+                                coNight1: that.formState.co,
+                                gwSdzNight1: that.formState.ch4,
+                                jwSdzNight1: that.formState.jw,
+                                o2Night1: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNight1: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnight1: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            } else if (
+                              that.formState.bc == "夜班" &&
+                              that.formState.count == "第二次"
+                            ) {
+                              let param = {
+                                taskDetailsId: that.Ids,
+                                deviceId: that.deviceId,
+                                bxySdzNight2: that.formState.bxy,
+                                ch4Night2: that.formState.ch4,
+                                checkPersonNight: that.formState.jcy,
+                                co2Night2: that.formState.co2,
+                                coNight2: that.formState.co,
+                                gwSdzNight2: that.formState.ch4,
+                                jwSdzNight2: that.formState.jw,
+                                o2Night2: that.formState.o2,
+                                strInstallPos: that.formState.jcdd,
+                                timeNight2: that.formState.time,
+                                reportTime: that.formState.tbrq,
+                                tnight2: that.formState.temp,
+                              };
+                              that.paramData = Object.assign(
+                                {},
+                                that.saveShowList,
+                                param
+                              );
+                            }
+                          }
+                        } else {
+                          reject(response);
+                        }
+                      })
+                      .catch((error) => {
+                        console.log("catch===>response", response);
+                        reject(error);
+                      });
+                  });
+                } else {
+                  that.formState = {
+                    id: "",
+                    bc: that.classType || "",
+                    count:
+                      that.checkNum == "1"
+                        ? "第一次"
+                        : that.checkNum == "2"
+                        ? "第二次"
+                        : "",
+                    jcdd: that.deviceName || "",
+                    jcy: that.username,
+                    time: "",
+                    ch4: "",
+                    co2: "",
+                    co: "",
+                    o2: "",
+                    jw: that.isSensor == "1" ? "0" : "-",
+                    bxy: "0",
+                    tbrq: "",
+                    temp: "",
+                  };
+                }
+              }
+            },
+            fail: (error) => {
+              uni.showToast({
+                title: "识别失败!",
+                icon: "none", // 可选图标,'success', 'loading', 'none'
+              });
+              that.loading = false;
+            },
+          });
+        })
+        .catch((err) => {
+          // 压缩失败回调
+          uni.showToast({
+            title: "压缩失败!",
+            icon: "none", // 可选图标,'success', 'loading', 'none'
+          });
+          that.loading = false;
+        });
+    },
+    //直接识别
+    getIdentyfe() {
+      let that = this;
+      that.loading = true;
+      let jcNum = that.deviceName.indexOf("第三次") != -1 ? 3 : null;
+      let apiUrlImg = `${configService.apiUrlP}:6008`;
+      uni.uploadFile({
+        url: `${apiUrlImg}/gasIdentify`,
+        filePath: that.saveImg,
+        name: "img",
+        formData: {
+          user: that.username,
+          order: that.classType,
+          reportdate: that.searchTime,
+          checkorder: jcNum ? jcNum : Number(that.checkNum),
+          checkpath: that.deviceName,
+          imgpath: that.saveImg,
+        },
+        success: (res) => {
+          if (res) {
+            uni.showToast({
+              title: "识别成功!",
+              icon: "none", // 可选图标,'success', 'loading', 'none'
+            });
+            that.indexList = JSON.parse(res.data).data || [];
+            that.isShowAdd = true;
+            that.loading = false;
+            that.isShowAdd = true;
+            that.statusShow = "add";
+            that.deviceId = that.deviceID;
+
+            if (that.indexList.length != 0) {
+              that.indexParam = that.indexList[0];
+              that.formState = {
+                id: "",
+                bc: that.classType || "",
+                count:
+                  that.checkNum == "1"
+                    ? "第一次"
+                    : that.checkNum == "2"
+                    ? "第二次"
+                    : "",
+                jcdd: that.deviceName || "",
+                jcy:
+                  that.indexParam && that.indexParam["检查人"]
+                    ? that.indexParam["检查人"]
+                    : that.username,
+                time:
+                  that.indexParam && that.indexParam["检查时间"]
+                    ? that.indexParam["检查时间"]
+                    : "",
+                ch4:
+                  that.indexParam && that.indexParam["CH4%"]
+                    ? that.indexParam["CH4%"]
+                    : "",
+                co2:
+                  that.indexParam && that.indexParam["CO2%"]
+                    ? that.indexParam["CO2%"]
+                    : "",
+                co:
+                  that.indexParam && that.indexParam["CO(ppm)"]
+                    ? that.indexParam["CO(ppm)"]
+                    : "",
+                o2:
+                  that.indexParam && that.indexParam["O2%"]
+                    ? that.indexParam["O2%"]
+                    : "",
+                jw: that.isSensor == "1" ? "0" : "-",
+                bxy: "0",
+                tbrq:
+                  that.indexParam && that.indexParam["检查时间"]
+                    ? that.indexParam["检查时间"].substring(
+                        0,
+                        that.indexParam["检查时间"].indexOf(" ")
+                      )
+                    : "",
+                temp:
+                  that.indexParam && that.indexParam["温度(℃)"]
+                    ? that.indexParam["温度(℃)"]
+                    : "",
+              };
+
+              new Promise((resolve, reject) => {
+                api
+                  .getGas({
+                    reportTime: that.formState.tbrq,
+                    deviceId: that.deviceId,
+                  })
+                  .then((response) => {
+                    if (response.data.code == 200) {
+                      let data = response.data.result.records;
+                      if (data.length != 0) {
+                        that.saveShowList = data[0];
+                        if (
+                          that.formState.bc == "早班" &&
+                          that.formState.count == "第一次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzEarly1: that.formState.bxy,
+                            ch4Early1: that.formState.ch4,
+                            checkPersonEarly: that.formState.jcy,
+                            co2Early1: that.formState.co2,
+                            coEarly1: that.formState.co,
+                            gwSdzEarly1: that.formState.ch4,
+                            jwSdzEarly1: that.formState.jw,
+                            o2Early1: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeEarly1: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tearly1: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "早班" &&
+                          that.formState.count == "第二次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzEarly2: that.formState.bxy,
+                            ch4Early2: that.formState.ch4,
+                            checkPersonEarly: that.formState.jcy,
+                            co2Early2: that.formState.co2,
+                            coEarly2: that.formState.co,
+                            gwSdzEarly2: that.formState.ch4,
+                            jwSdzEarly2: that.formState.jw,
+                            o2Early2: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeEarly2: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tearly2: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "中班" &&
+                          that.formState.count == "第一次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNoon1: that.formState.bxy,
+                            ch4Noon1: that.formState.ch4,
+                            checkPersonNoon: that.formState.jcy,
+                            co2Noon1: that.formState.co2,
+                            coNoon1: that.formState.co,
+                            gwSdzNoon1: that.formState.ch4,
+                            jwSdzNoon1: that.formState.jw,
+                            o2Noon1: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNoon1: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnoon1: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "中班" &&
+                          that.formState.count == "第二次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNoon2: that.formState.bxy,
+                            ch4Noon2: that.formState.ch4,
+                            checkPersonNoon: that.formState.jcy,
+                            co2Noon2: that.formState.co2,
+                            coNoon2: that.formState.co,
+                            gwSdzNoon2: that.formState.ch4,
+                            jwSdzNoon2: that.formState.jw,
+                            o2Noon2: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNoon2: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnoon2: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "夜班" &&
+                          that.formState.count == "第一次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNight1: that.formState.bxy,
+                            ch4Night1: that.formState.ch4,
+                            checkPersonNight: that.formState.jcy,
+                            co2Night1: that.formState.co2,
+                            coNight1: that.formState.co,
+                            gwSdzNight1: that.formState.ch4,
+                            jwSdzNight1: that.formState.jw,
+                            o2Night1: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNight1: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnight1: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "夜班" &&
+                          that.formState.count == "第二次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNight2: that.formState.bxy,
+                            ch4Night2: that.formState.ch4,
+                            checkPersonNight: that.formState.jcy,
+                            co2Night2: that.formState.co2,
+                            coNight2: that.formState.co,
+                            gwSdzNight2: that.formState.ch4,
+                            jwSdzNight2: that.formState.jw,
+                            o2Night2: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNight2: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnight2: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        }
+                      } else {
+                        that.saveShowList = {};
+                        if (
+                          that.formState.bc == "早班" &&
+                          that.formState.count == "第一次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzEarly1: that.formState.bxy,
+                            ch4Early1: that.formState.ch4,
+                            checkPersonEarly: that.formState.jcy,
+                            co2Early1: that.formState.co2,
+                            coEarly1: that.formState.co,
+                            gwSdzEarly1: that.formState.ch4,
+                            jwSdzEarly1: that.formState.jw,
+                            o2Early1: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeEarly1: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tearly1: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "早班" &&
+                          that.formState.count == "第二次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzEarly2: that.formState.bxy,
+                            ch4Early2: that.formState.ch4,
+                            checkPersonEarly: that.formState.jcy,
+                            co2Early2: that.formState.co2,
+                            coEarly2: that.formState.co,
+                            gwSdzEarly2: that.formState.ch4,
+                            jwSdzEarly2: that.formState.jw,
+                            o2Early2: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeEarly2: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tearly2: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "中班" &&
+                          that.formState.count == "第一次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNoon1: that.formState.bxy,
+                            ch4Noon1: that.formState.ch4,
+                            checkPersonNoon: that.formState.jcy,
+                            co2Noon1: that.formState.co2,
+                            coNoon1: that.formState.co,
+                            gwSdzNoon1: that.formState.ch4,
+                            jwSdzNoon1: that.formState.jw,
+                            o2Noon1: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNoon1: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnoon1: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "中班" &&
+                          that.formState.count == "第二次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNoon2: that.formState.bxy,
+                            ch4Noon2: that.formState.ch4,
+                            checkPersonNoon: that.formState.jcy,
+                            co2Noon2: that.formState.co2,
+                            coNoon2: that.formState.co,
+                            gwSdzNoon2: that.formState.ch4,
+                            jwSdzNoon2: that.formState.jw,
+                            o2Noon2: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNoon2: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnoon2: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "夜班" &&
+                          that.formState.count == "第一次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNight1: that.formState.bxy,
+                            ch4Night1: that.formState.ch4,
+                            checkPersonNight: that.formState.jcy,
+                            co2Night1: that.formState.co2,
+                            coNight1: that.formState.co,
+                            gwSdzNight1: that.formState.ch4,
+                            jwSdzNight1: that.formState.jw,
+                            o2Night1: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNight1: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnight1: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        } else if (
+                          that.formState.bc == "夜班" &&
+                          that.formState.count == "第二次"
+                        ) {
+                          let param = {
+                            taskDetailsId: that.Ids,
+                            deviceId: that.deviceId,
+                            bxySdzNight2: that.formState.bxy,
+                            ch4Night2: that.formState.ch4,
+                            checkPersonNight: that.formState.jcy,
+                            co2Night2: that.formState.co2,
+                            coNight2: that.formState.co,
+                            gwSdzNight2: that.formState.ch4,
+                            jwSdzNight2: that.formState.jw,
+                            o2Night2: that.formState.o2,
+                            strInstallPos: that.formState.jcdd,
+                            timeNight2: that.formState.time,
+                            reportTime: that.formState.tbrq,
+                            tnight2: that.formState.temp,
+                          };
+                          that.paramData = Object.assign(
+                            {},
+                            that.saveShowList,
+                            param
+                          );
+                        }
+                      }
+                    } else {
+                      reject(response);
+                    }
+                  })
+                  .catch((error) => {
+                    console.log("catch===>response", response);
+                    reject(error);
+                  });
+              });
+            } else {
+              that.formState = {
+                id: "",
+                bc: that.classType || "",
+                count:
+                  that.checkNum == "1"
+                    ? "第一次"
+                    : that.checkNum == "2"
+                    ? "第二次"
+                    : "",
+                jcdd: that.deviceName || "",
+                jcy: that.username,
+                time: "",
+                ch4: "",
+                co2: "",
+                co: "",
+                o2: "",
+                jw: that.isSensor == "1" ? "0" : "-",
+                bxy: "0",
+                tbrq: "",
+                temp: "",
+              };
+            }
+          }
+        },
+        fail: (error) => {
+          uni.showToast({
+            title: "识别失败!",
+            icon: "none", // 可选图标,'success', 'loading', 'none'
+          });
+          that.loading = false;
+        },
+      });
+    },
+
+    //获取图片识别数据
+    getGasIdentify() {
+      let that = this;
+      if (that.imageSrc) {
+        that.getScale();
+      } else if (that.saveImg) {
+        that.getIdentyfe();
+      } else {
+        uni.showToast({
+          title: "请选择上传图片!",
+          icon: "none", // 可选图标,'success', 'loading', 'none'
+        });
+      }
+    },
+    // // 选择图片的方法
+    // chooseImage() {
+    //     uni.chooseImage({
+    //         count: 1, // 默认9,设置图片的最大选择数
+    //         sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
+    //         sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
+    //         success: (res) => {
+    //             console.log(res, 'res===')
+    //             // 获取选中的图片路径,这里我们只取第一张图进行预览
+    //             this.imageSrc = res.tempFilePaths[0];
+    //             this.tempFilePaths = res.tempFilePaths
+    //             this.imageSrcList = res.tempFiles
+    //         },
+    //         fail: (err) => {
+    //             console.error('选择图片失败:', err);
+    //         }
+    //     });
+    // },
+
+    //删除
+    delSb() {
+      this.isShowAdd = false;
+      this.indexList = [];
+      this.indexParam = {};
+      this.imageSrc = "";
+      that.$emit("clearImg", true);
+    },
+
+    //甲烷三对照选项切换
+    changeJw(e) {
+      this.formState.jw = e;
+    },
+
+    //检测时间下拉选项切换
+    change(e) {
+      let that = this;
+      that.formState.time = moment(e.value).format("YYYY-MM-DD HH:mm:ss");
+      that.formState.tbrq = moment(e.value).format("YYYY-MM-DD");
+      new Promise((resolve, reject) => {
+        api
+          .getGas({ reportTime: that.formState.tbrq, deviceId: that.deviceId })
+          .then((response) => {
+            if (response.data.code == 200) {
+              let data = response.data.result.records;
+              if (data.length != 0) {
+                that.saveShowList = data[0];
+                if (
+                  that.formState.bc == "早班" &&
+                  that.formState.count == "第一次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzEarly1: that.formState.bxy,
+                    ch4Early1: that.formState.ch4,
+                    checkPersonEarly: that.formState.jcy,
+                    co2Early1: that.formState.co2,
+                    coEarly1: that.formState.co,
+                    gwSdzEarly1: that.formState.ch4,
+                    jwSdzEarly1: that.formState.jw,
+                    o2Early1: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeEarly1: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tearly1: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "早班" &&
+                  that.formState.count == "第二次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzEarly2: that.formState.bxy,
+                    ch4Early2: that.formState.ch4,
+                    checkPersonEarly: that.formState.jcy,
+                    co2Early2: that.formState.co2,
+                    coEarly2: that.formState.co,
+                    gwSdzEarly2: that.formState.ch4,
+                    jwSdzEarly2: that.formState.jw,
+                    o2Early2: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeEarly2: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tearly2: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "中班" &&
+                  that.formState.count == "第一次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNoon1: that.formState.bxy,
+                    ch4Noon1: that.formState.ch4,
+                    checkPersonNoon: that.formState.jcy,
+                    co2Noon1: that.formState.co2,
+                    coNoon1: that.formState.co,
+                    gwSdzNoon1: that.formState.ch4,
+                    jwSdzNoon1: that.formState.jw,
+                    o2Noon1: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNoon1: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnoon1: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "中班" &&
+                  that.formState.count == "第二次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNoon2: that.formState.bxy,
+                    ch4Noon2: that.formState.ch4,
+                    checkPersonNoon: that.formState.jcy,
+                    co2Noon2: that.formState.co2,
+                    coNoon2: that.formState.co,
+                    gwSdzNoon2: that.formState.ch4,
+                    jwSdzNoon2: that.formState.jw,
+                    o2Noon2: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNoon2: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnoon2: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "夜班" &&
+                  that.formState.count == "第一次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNight1: that.formState.bxy,
+                    ch4Night1: that.formState.ch4,
+                    checkPersonNight: that.formState.jcy,
+                    co2Night1: that.formState.co2,
+                    coNight1: that.formState.co,
+                    gwSdzNight1: that.formState.ch4,
+                    jwSdzNight1: that.formState.jw,
+                    o2Night1: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNight1: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnight1: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "夜班" &&
+                  that.formState.count == "第二次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNight2: that.formState.bxy,
+                    ch4Night2: that.formState.ch4,
+                    checkPersonNight: that.formState.jcy,
+                    co2Night2: that.formState.co2,
+                    coNight2: that.formState.co,
+                    gwSdzNight2: that.formState.ch4,
+                    jwSdzNight2: that.formState.jw,
+                    o2Night2: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNight2: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnight2: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                }
+              } else {
+                that.saveShowList = {};
+                if (
+                  that.formState.bc == "早班" &&
+                  that.formState.count == "第一次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzEarly1: that.formState.bxy,
+                    ch4Early1: that.formState.ch4,
+                    checkPersonEarly: that.formState.jcy,
+                    co2Early1: that.formState.co2,
+                    coEarly1: that.formState.co,
+                    gwSdzEarly1: that.formState.ch4,
+                    jwSdzEarly1: that.formState.jw,
+                    o2Early1: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeEarly1: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tearly1: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "早班" &&
+                  that.formState.count == "第二次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzEarly2: that.formState.bxy,
+                    ch4Early2: that.formState.ch4,
+                    checkPersonEarly: that.formState.jcy,
+                    co2Early2: that.formState.co2,
+                    coEarly2: that.formState.co,
+                    gwSdzEarly2: that.formState.ch4,
+                    jwSdzEarly2: that.formState.jw,
+                    o2Early2: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeEarly2: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tearly2: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "中班" &&
+                  that.formState.count == "第一次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNoon1: that.formState.bxy,
+                    ch4Noon1: that.formState.ch4,
+                    checkPersonNoon: that.formState.jcy,
+                    co2Noon1: that.formState.co2,
+                    coNoon1: that.formState.co,
+                    gwSdzNoon1: that.formState.ch4,
+                    jwSdzNoon1: that.formState.jw,
+                    o2Noon1: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNoon1: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnoon1: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "中班" &&
+                  that.formState.count == "第二次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNoon2: that.formState.bxy,
+                    ch4Noon2: that.formState.ch4,
+                    checkPersonNoon: that.formState.jcy,
+                    co2Noon2: that.formState.co2,
+                    coNoon2: that.formState.co,
+                    gwSdzNoon2: that.formState.ch4,
+                    jwSdzNoon2: that.formState.jw,
+                    o2Noon2: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNoon2: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnoon2: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "夜班" &&
+                  that.formState.count == "第一次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNight1: that.formState.bxy,
+                    ch4Night1: that.formState.ch4,
+                    checkPersonNight: that.formState.jcy,
+                    co2Night1: that.formState.co2,
+                    coNight1: that.formState.co,
+                    gwSdzNight1: that.formState.ch4,
+                    jwSdzNight1: that.formState.jw,
+                    o2Night1: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNight1: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnight1: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                } else if (
+                  that.formState.bc == "夜班" &&
+                  that.formState.count == "第二次"
+                ) {
+                  let param = {
+                    taskDetailsId: that.Ids,
+                    deviceId: that.deviceId,
+                    bxySdzNight2: that.formState.bxy,
+                    ch4Night2: that.formState.ch4,
+                    checkPersonNight: that.formState.jcy,
+                    co2Night2: that.formState.co2,
+                    coNight2: that.formState.co,
+                    gwSdzNight2: that.formState.ch4,
+                    jwSdzNight2: that.formState.jw,
+                    o2Night2: that.formState.o2,
+                    strInstallPos: that.formState.jcdd,
+                    timeNight2: that.formState.time,
+                    reportTime: that.formState.tbrq,
+                    tnight2: that.formState.temp,
+                  };
+                  that.paramData = Object.assign({}, that.saveShowList, param);
+                }
+              }
+            } else {
+              reject(response);
+            }
+          })
+          .catch((error) => {
+            console.log("catch===>response", response);
+            reject(error);
+          });
+      });
+    },
+    //点击弹出日期下拉选项
+    getChangeTime() {
+      this.showCalendar = true;
+    },
+    //输入框内容变换
+    changeInput(val, data) {
+      if (/^00/.test(val)) {
+        this.formState[data] = val.replace(/^00/, "0");
+        if (this.formState.bc == "早班" && this.formState.count == "第一次") {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Early1 = val;
+              this.paramData.gwSdzEarly1 = val;
+              break;
+            case "co2":
+              this.paramData.co2Early1 = val;
+              break;
+            case "co":
+              this.paramData.coEarly1 = val;
+              break;
+            case "o2":
+              this.paramData.o2Early1 = val;
+              break;
+            case "temp":
+              this.paramData.tearly1 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzEarly1 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzEarly1 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "早班" &&
+          this.formState.count == "第二次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Early2 = val;
+              this.paramData.gwSdzEarly2 = val;
+              break;
+            case "co2":
+              this.paramData.co2Early2 = val;
+              break;
+            case "co":
+              this.paramData.coEarly2 = val;
+              break;
+            case "o2":
+              this.paramData.o2Early2 = val;
+              break;
+            case "temp":
+              this.paramData.tearly2 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzEarly2 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzEarly2 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "中班" &&
+          this.formState.count == "第一次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Noon1 = val;
+              this.paramData.gwSdzNoon1 = val;
+              break;
+            case "co2":
+              this.paramData.co2Noon1 = val;
+              break;
+            case "co":
+              this.paramData.coNoon1 = val;
+              break;
+            case "o2":
+              this.paramData.o2Noon1 = val;
+              break;
+            case "temp":
+              this.paramData.tnoon1 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNoon1 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNoon1 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "中班" &&
+          this.formState.count == "第二次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Noon2 = val;
+              this.paramData.gwSdzNoon2 = val;
+              break;
+            case "co2":
+              this.paramData.co2Noon2 = val;
+              break;
+            case "co":
+              this.paramData.coNoon2 = val;
+              break;
+            case "o2":
+              this.paramData.o2Noon2 = val;
+              break;
+            case "temp":
+              this.paramData.tnoon2 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNoon2 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNoon2 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "夜班" &&
+          this.formState.count == "第一次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Night1 = val;
+              this.paramData.gwSdzNight1 = val;
+              break;
+            case "co2":
+              this.paramData.co2Night1 = val;
+              break;
+            case "co":
+              this.paramData.coNight1 = val;
+              break;
+            case "o2":
+              this.paramData.o2Night1 = val;
+              break;
+            case "temp":
+              this.paramData.tnight1 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNight1 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNight1 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "夜班" &&
+          this.formState.count == "第二次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Night2 = val;
+              this.paramData.gwSdzNight2 = val;
+              break;
+            case "co2":
+              this.paramData.co2Night2 = val;
+              break;
+            case "co":
+              this.paramData.coNight2 = val;
+              break;
+            case "o2":
+              this.paramData.o2Night2 = val;
+              break;
+            case "temp":
+              this.paramData.tnight2 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNight2 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNight2 = val;
+              break;
+          }
+        }
+      } else {
+        this.formState[data] = val;
+        if (this.formState.bc == "早班" && this.formState.count == "第一次") {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Early1 = val;
+              this.paramData.gwSdzEarly1 = val;
+              break;
+            case "co2":
+              this.paramData.co2Early1 = val;
+              break;
+            case "co":
+              this.paramData.coEarly1 = val;
+              break;
+            case "o2":
+              this.paramData.o2Early1 = val;
+              break;
+            case "temp":
+              this.paramData.tearly1 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzEarly1 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzEarly1 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "早班" &&
+          this.formState.count == "第二次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Early2 = val;
+              this.paramData.gwSdzEarly2 = val;
+              break;
+            case "co2":
+              this.paramData.co2Early2 = val;
+              break;
+            case "co":
+              this.paramData.coEarly2 = val;
+              break;
+            case "o2":
+              this.paramData.o2Early2 = val;
+              break;
+            case "temp":
+              this.paramData.tearly2 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzEarly2 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzEarly2 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "中班" &&
+          this.formState.count == "第一次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Noon1 = val;
+              this.paramData.gwSdzNoon1 = val;
+              break;
+            case "co2":
+              this.paramData.co2Noon1 = val;
+              break;
+            case "co":
+              this.paramData.coNoon1 = val;
+              break;
+            case "o2":
+              this.paramData.o2Noon1 = val;
+              break;
+            case "temp":
+              this.paramData.tnoon1 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNoon1 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNoon1 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "中班" &&
+          this.formState.count == "第二次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Noon2 = val;
+              this.paramData.gwSdzNoon2 = val;
+              break;
+            case "co2":
+              this.paramData.co2Noon2 = val;
+              break;
+            case "co":
+              this.paramData.coNoon2 = val;
+              break;
+            case "o2":
+              this.paramData.o2Noon2 = val;
+              break;
+            case "temp":
+              this.paramData.tnoon2 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNoon2 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNoon2 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "夜班" &&
+          this.formState.count == "第一次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Night1 = val;
+              this.paramData.gwSdzNight1 = val;
+              break;
+            case "co2":
+              this.paramData.co2Night1 = val;
+              break;
+            case "co":
+              this.paramData.coNight1 = val;
+              break;
+            case "o2":
+              this.paramData.o2Night1 = val;
+              break;
+            case "temp":
+              this.paramData.tnight1 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNight1 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNight1 = val;
+              break;
+          }
+        } else if (
+          this.formState.bc == "夜班" &&
+          this.formState.count == "第二次"
+        ) {
+          switch (data) {
+            case "ch4":
+              this.paramData.ch4Night2 = val;
+              this.paramData.gwSdzNight2 = val;
+              break;
+            case "co2":
+              this.paramData.co2Night2 = val;
+              break;
+            case "co":
+              this.paramData.coNight2 = val;
+              break;
+            case "o2":
+              this.paramData.o2Night2 = val;
+              break;
+            case "temp":
+              this.paramData.tnight2 = val;
+              break;
+            case "bxy":
+              this.paramData.bxySdzNight2 = val;
+              break;
+            case "jw":
+              this.paramData.jwSdzNight2 = val;
+              break;
+          }
+        }
+      }
+    },
+    //便携仪失去焦点时参数校验
+    getBlurBxy(val) {
+      let str = val.substring(val.indexOf(".") + 1).split("");
+      if (/^(\-|\+)?\d+$/.test(val)) {
+        this.formState.bxy = val;
+        this.isRule3 = true;
+      } else if (
+        /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/.test(val) &&
+        str.length <= 2
+      ) {
+        this.formState.bxy = val;
+        this.isRule3 = true;
+      } else {
+        this.formState.bxy = "";
+        this.isRule3 = false;
+      }
+    },
+    //新增CO2失去焦点时参数校验
+    getBlurCO2(val) {
+      let str = val.substring(val.indexOf(".") + 1).split("");
+      if (
+        val.slice(-1) == "0" ||
+        val.slice(-1) == "2" ||
+        val.slice(-1) == "4" ||
+        val.slice(-1) == "6" ||
+        val.slice(-1) == "8"
+      ) {
+        if (/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/.test(val)) {
+          if (str.length <= 2) {
+            this.formState.co2 = val;
+            this.isRule = true;
+          } else {
+            this.formState.co2 = "";
+            this.isRule = false;
+          }
+        } else {
+          this.formState.co2 = val;
+          this.isRule = true;
+        }
+      } else {
+        this.formState.co2 = "";
+        this.isRule = false;
+      }
+    },
+    //新增CH4失去焦点时参数校验
+    getBlurCH4(val) {
+      let str = val.substring(val.indexOf(".") + 1).split("");
+      if (
+        val.slice(-1) == "0" ||
+        val.slice(-1) == "2" ||
+        val.slice(-1) == "4" ||
+        val.slice(-1) == "6" ||
+        val.slice(-1) == "8"
+      ) {
+        if (/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/.test(val)) {
+          if (str.length <= 2) {
+            this.formState.ch4 = val;
+            this.isRule2 = true;
+          } else {
+            this.formState.ch4 = "";
+            this.isRule2 = false;
+          }
+        } else {
+          this.formState.ch4 = val;
+          this.isRule2 = true;
+        }
+      } else {
+        this.formState.ch4 = "";
+        this.isRule2 = false;
+      }
+    },
+    getBlurCO(val) {
+      let str = val.substring(val.indexOf(".") + 1).split("");
+      if (/^(\-|\+)?\d+$/.test(val) && parseFloat(val) <= 24) {
+        this.formState.co = val;
+        this.isRule14 = true;
+      } else if (
+        /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/.test(val) &&
+        str.length <= 2 &&
+        parseFloat(val) <= 24
+      ) {
+        this.formState.co = val;
+        this.isRule14 = true;
+      } else {
+        this.formState.co = "";
+        this.isRule14 = false;
+      }
+    },
+
+    getAddSave() {
+      let that = this;
+      console.log(that.paramData, "paramData---------");
+      new Promise((resolve, reject) => {
+        api
+          .getAdd({ ...that.paramData })
+          .then((response) => {
+            if (response.data.code == 200) {
+              that.isShowAdd = false;
+              that.saveShowList = {};
+              that.paramData = {};
+              that.indexList = [];
+              that.indexParam = {};
+              that.imageSrc = "";
+              that.clearData();
+              uni.removeStorageSync(that.deviceID);
+              that.$emit("clearImg", true);
+              that.$emit("getBackAddress");
+            } else {
+              reject(response);
+              uni.showToast({
+                title: response.data,
+                icon: "none", // 可选图标,'success', 'loading', 'none'
+              });
+            }
+          })
+          .catch((error) => {
+            console.log("catch===>response", response);
+            reject(error);
+            uni.showToast({
+              title: "保存失败!",
+              icon: "none", // 可选图标,'success', 'loading', 'none'
+            });
+          });
+      });
+    },
+    getEditSave() {
+      let that = this;
+      let param = {};
+      if (that.classType == "早班" && that.checkNum == "1") {
+        param = {
+          id: that.formState.id,
+          bxySdzEarly1: that.formState.bxy,
+          ch4Early1: that.formState.ch4,
+          checkPersonEarly: that.formState.jcy,
+          co2Early1: that.formState.co2,
+          coEarly1: that.formState.co,
+          gwSdzEarly1: that.formState.ch4,
+          jwSdzEarly1: that.formState.jw,
+          o2Early1: that.formState.o2,
+          strInstallPos: that.formState.jcdd,
+          timeEarly1: that.formState.time,
+          tearly1: that.formState.temp,
+
+          bxySdzEarly2: that.editData.bxySdzEarly2,
+          ch4Early2: that.editData.ch4Early2,
+          co2Early2: that.editData.co2Early2,
+          coEarly2: that.editData.coEarly2,
+          gwSdzEarly2: that.editData.gwSdzEarly2,
+          jwSdzEarly2: that.editData.jwSdzEarly2,
+          o2Early2: that.editData.o2Early2,
+          timeEarly2: that.editData.timeEarly2,
+          tearly2: that.editData.tearly2,
+
+          bxySdzNoon1: that.editData.bxySdzNoon1,
+          ch4Noon1: that.editData.ch4Noon1,
+          checkPersonNoon: that.editData.checkPersonNoon,
+          co2Noon1: that.editData.co2Noon1,
+          coNoon1: that.editData.coNoon1,
+          gwSdzNoon1: that.editData.gwSdzNoon1,
+          jwSdzNoon1: that.editData.jwSdzNoon1,
+          o2Noon1: that.editData.o2Noon1,
+          strInstallPos: that.editData.strInstallPos,
+          timeNoon1: that.editData.timeNoon1,
+          tnoon1: that.editData.tnoon1,
+
+          bxySdzNoon2: that.editData.bxySdzNoon2,
+          ch4Noon2: that.editData.ch4Noon2,
+          co2Noon2: that.editData.co2Noon2,
+          coNoon2: that.editData.coNoon2,
+          gwSdzNoon2: that.editData.gwSdzNoon2,
+          jwSdzNoon2: that.editData.jwSdzNoon2,
+          o2Noon2: that.editData.o2Noon2,
+          timeNoon2: that.editData.timeNoon2,
+          tnoon2: that.editData.tnoon2,
+
+          bxySdzNight1: that.editData.bxySdzNight1,
+          ch4Night1: that.editData.ch4Night1,
+          checkPersonNight: that.editData.checkPersonNight,
+          co2Night1: that.editData.co2Night1,
+          coNight1: that.editData.coNight1,
+          gwSdzNight1: that.editData.gwSdzNight1,
+          jwSdzNight1: that.editData.jwSdzNight1,
+          o2Night1: that.editData.o2Night1,
+          strInstallPos: that.editData.strInstallPos,
+          timeNight1: that.editData.timeNight1,
+          tnight1: that.editData.tnight1,
+
+          bxySdzNight2: that.editData.bxySdzNight2,
+          ch4Night2: that.editData.ch4Night2,
+          co2Night2: that.editData.co2Night2,
+          coNight2: that.editData.coNight2,
+          gwSdzNight2: that.editData.gwSdzNight2,
+          jwSdzNight2: that.editData.jwSdzNight2,
+          o2Night2: that.editData.o2Night2,
+          timeNight2: that.editData.timeNight2,
+          tnight2: that.editData.tnight2,
+        };
+      } else if (that.classType == "早班" && that.checkNum == "2") {
+        param = {
+          id: that.editData.id,
+          bxySdzEarly1: that.editData.bxySdzEarly1,
+          ch4Early1: that.editData.ch4Early1,
+          co2Early1: that.editData.co2Early1,
+          coEarly1: that.editData.coEarly1,
+          gwSdzEarly1: that.editData.gwSdzEarly1,
+          jwSdzEarly1: that.editData.jwSdzEarly1,
+          o2Early1: that.editData.o2Early1,
+          timeEarly1: that.editData.timeEarly1,
+          tearly1: that.editData.tearly1,
+
+          bxySdzEarly2: that.formState.bxy,
+          ch4Early2: that.formState.ch4,
+          checkPersonEarly: that.formState.jcy,
+          co2Early2: that.formState.co2,
+          coEarly2: that.formState.co,
+          gwSdzEarly2: that.formState.ch4,
+          jwSdzEarly2: that.formState.jw,
+          o2Early2: that.formState.o2,
+          strInstallPos: that.formState.jcdd,
+          timeEarly2: that.formState.time,
+          tearly2: that.formState.temp,
+
+          bxySdzNoon1: that.editData.bxySdzNoon1,
+          ch4Noon1: that.editData.ch4Noon1,
+          checkPersonNoon: that.editData.checkPersonNoon,
+          co2Noon1: that.editData.co2Noon1,
+          coNoon1: that.editData.coNoon1,
+          gwSdzNoon1: that.editData.gwSdzNoon1,
+          jwSdzNoon1: that.editData.jwSdzNoon1,
+          o2Noon1: that.editData.o2Noon1,
+          strInstallPos: that.editData.strInstallPos,
+          timeNoon1: that.editData.timeNoon1,
+          tnoon1: that.editData.tnoon1,
+
+          bxySdzNoon2: that.editData.bxySdzNoon2,
+          ch4Noon2: that.editData.ch4Noon2,
+          co2Noon2: that.editData.co2Noon2,
+          coNoon2: that.editData.coNoon2,
+          gwSdzNoon2: that.editData.gwSdzNoon2,
+          jwSdzNoon2: that.editData.jwSdzNoon2,
+          o2Noon2: that.editData.o2Noon2,
+          timeNoon2: that.editData.timeNoon2,
+          tnoon2: that.editData.tnoon2,
+
+          bxySdzNight1: that.editData.bxySdzNight1,
+          ch4Night1: that.editData.ch4Night1,
+          checkPersonNight: that.editData.checkPersonNight,
+          co2Night1: that.editData.co2Night1,
+          coNight1: that.editData.coNight1,
+          gwSdzNight1: that.editData.gwSdzNight1,
+          jwSdzNight1: that.editData.jwSdzNight1,
+          o2Night1: that.editData.o2Night1,
+          strInstallPos: that.editData.strInstallPos,
+          timeNight1: that.editData.timeNight1,
+          tnight1: that.editData.tnight1,
+
+          bxySdzNight2: that.editData.bxySdzNight2,
+          ch4Night2: that.editData.ch4Night2,
+          co2Night2: that.editData.co2Night2,
+          coNight2: that.editData.coNight2,
+          gwSdzNight2: that.editData.gwSdzNight2,
+          jwSdzNight2: that.editData.jwSdzNight2,
+          o2Night2: that.editData.o2Night2,
+          timeNight2: that.editData.timeNight2,
+          tnight2: that.editData.tnight2,
+        };
+      } else if (that.classType == "中班" && that.checkNum == "1") {
+        param = {
+          id: that.editData.id,
+          bxySdzEarly1: that.editData.bxySdzEarly1,
+          ch4Early1: that.editData.ch4Early1,
+          co2Early1: that.editData.co2Early1,
+          coEarly1: that.editData.coEarly1,
+          gwSdzEarly1: that.editData.gwSdzEarly1,
+          jwSdzEarly1: that.editData.jwSdzEarly1,
+          o2Early1: that.editData.o2Early1,
+          timeEarly1: that.editData.timeEarly1,
+          checkPersonEarly: that.editData.checkPersonEarly,
+          strInstallPos: that.editData.strInstallPos,
+          tearly1: that.editData.tearly1,
+
+          bxySdzEarly2: that.editData.bxySdzEarly2,
+          ch4Early2: that.editData.ch4Early2,
+          co2Early2: that.editData.co2Early2,
+          coEarly2: that.editData.coEarly2,
+          gwSdzEarly2: that.editData.gwSdzEarly2,
+          jwSdzEarly2: that.editData.jwSdzEarly2,
+          o2Early2: that.editData.o2Early2,
+          timeEarly2: that.editData.timeEarly2,
+          tearly2: that.editData.tearly2,
+
+          bxySdzNoon1: that.formState.bxy,
+          ch4Noon1: that.formState.ch4,
+          checkPersonNoon: that.formState.jcy,
+          co2Noon1: that.formState.co2,
+          coNoon1: that.formState.co,
+          gwSdzNoon1: that.formState.ch4,
+          jwSdzNoon1: that.formState.jw,
+          o2Noon1: that.formState.o2,
+          strInstallPos: that.formState.jcdd,
+          timeNoon1: that.formState.time,
+          tnoon1: that.formState.temp,
+
+          bxySdzNoon2: that.editData.bxySdzNoon2,
+          ch4Noon2: that.editData.ch4Noon2,
+          co2Noon2: that.editData.co2Noon2,
+          coNoon2: that.editData.coNoon2,
+          gwSdzNoon2: that.editData.gwSdzNoon2,
+          jwSdzNoon2: that.editData.jwSdzNoon2,
+          o2Noon2: that.editData.o2Noon2,
+          timeNoon2: that.editData.timeNoon2,
+          tnoon2: that.editData.tnoon2,
+
+          bxySdzNight1: that.editData.bxySdzNight1,
+          ch4Night1: that.editData.ch4Night1,
+          checkPersonNight: that.editData.checkPersonNight,
+          co2Night1: that.editData.co2Night1,
+          coNight1: that.editData.coNight1,
+          gwSdzNight1: that.editData.gwSdzNight1,
+          jwSdzNight1: that.editData.jwSdzNight1,
+          o2Night1: that.editData.o2Night1,
+          strInstallPos: that.editData.strInstallPos,
+          timeNight1: that.editData.timeNight1,
+          tnight1: that.editData.tnight1,
+
+          bxySdzNight2: that.editData.bxySdzNight2,
+          ch4Night2: that.editData.ch4Night2,
+          co2Night2: that.editData.co2Night2,
+          coNight2: that.editData.coNight2,
+          gwSdzNight2: that.editData.gwSdzNight2,
+          jwSdzNight2: that.editData.jwSdzNight2,
+          o2Night2: that.editData.o2Night2,
+          timeNight2: that.editData.timeNight2,
+          tnight2: that.editData.tnight2,
+        };
+      } else if (that.classType == "中班" && that.checkNum == "2") {
+        param = {
+          id: that.editData.id,
+          bxySdzEarly1: that.editData.bxySdzEarly1,
+          ch4Early1: that.editData.ch4Early1,
+          co2Early1: that.editData.co2Early1,
+          coEarly1: that.editData.coEarly1,
+          gwSdzEarly1: that.editData.gwSdzEarly1,
+          jwSdzEarly1: that.editData.jwSdzEarly1,
+          o2Early1: that.editData.o2Early1,
+          timeEarly1: that.editData.timeEarly1,
+          checkPersonEarly: that.editData.checkPersonEarly,
+          strInstallPos: that.editData.strInstallPos,
+          tearly1: that.editData.tearly1,
+
+          bxySdzEarly2: that.editData.bxySdzEarly2,
+          ch4Early2: that.editData.ch4Early2,
+          co2Early2: that.editData.co2Early2,
+          coEarly2: that.editData.coEarly2,
+          gwSdzEarly2: that.editData.gwSdzEarly2,
+          jwSdzEarly2: that.editData.jwSdzEarly2,
+          o2Early2: that.editData.o2Early2,
+          timeEarly2: that.editData.timeEarly2,
+          tearly2: that.editData.tearly2,
+
+          bxySdzNoon1: that.editData.bxySdzNoon1,
+          ch4Noon1: that.editData.ch4Noon1,
+          co2Noon1: that.editData.co2Noon1,
+          coNoon1: that.editData.coNoon1,
+          gwSdzNoon1: that.editData.gwSdzNoon1,
+          jwSdzNoon1: that.editData.jwSdzNoon1,
+          o2Noon1: that.editData.o2Noon1,
+          timeNoon1: that.editData.timeNoon1,
+          tnoon1: that.editData.tnoon1,
+
+          bxySdzNoon2: that.formState.bxy,
+          ch4Noon2: that.formState.ch4,
+          checkPersonNoon: that.formState.jcy,
+          co2Noon2: that.formState.co2,
+          coNoon2: that.formState.co,
+          gwSdzNoon2: that.formState.ch4,
+          jwSdzNoon2: that.formState.jw,
+          o2Noon2: that.formState.o2,
+          strInstallPos: that.formState.jcdd,
+          timeNoon2: that.formState.time,
+          tnoon2: that.formState.temp,
+
+          bxySdzNight1: that.editData.bxySdzNight1,
+          ch4Night1: that.editData.ch4Night1,
+          checkPersonNight: that.editData.checkPersonNight,
+          co2Night1: that.editData.co2Night1,
+          coNight1: that.editData.coNight1,
+          gwSdzNight1: that.editData.gwSdzNight1,
+          jwSdzNight1: that.editData.jwSdzNight1,
+          o2Night1: that.editData.o2Night1,
+          strInstallPos: that.editData.strInstallPos,
+          timeNight1: that.editData.timeNight1,
+          tnight1: that.editData.tnight1,
+
+          bxySdzNight2: that.editData.bxySdzNight2,
+          ch4Night2: that.editData.ch4Night2,
+          co2Night2: that.editData.co2Night2,
+          coNight2: that.editData.coNight2,
+          gwSdzNight2: that.editData.gwSdzNight2,
+          jwSdzNight2: that.editData.jwSdzNight2,
+          o2Night2: that.editData.o2Night2,
+          timeNight2: that.editData.timeNight2,
+          tnight2: that.editData.tnight2,
+        };
+      } else if (that.classType == "夜班" && that.checkNum == "1") {
+        param = {
+          id: that.editData.id,
+          bxySdzEarly1: that.editData.bxySdzEarly1,
+          ch4Early1: that.editData.ch4Early1,
+          co2Early1: that.editData.co2Early1,
+          coEarly1: that.editData.coEarly1,
+          gwSdzEarly1: that.editData.gwSdzEarly1,
+          jwSdzEarly1: that.editData.jwSdzEarly1,
+          o2Early1: that.editData.o2Early1,
+          timeEarly1: that.editData.timeEarly1,
+          checkPersonEarly: that.editData.checkPersonEarly,
+          strInstallPos: that.editData.strInstallPos,
+          tearly1: that.editData.tearly1,
+
+          bxySdzEarly2: that.editData.bxySdzEarly2,
+          ch4Early2: that.editData.ch4Early2,
+          co2Early2: that.editData.co2Early2,
+          coEarly2: that.editData.coEarly2,
+          gwSdzEarly2: that.editData.gwSdzEarly2,
+          jwSdzEarly2: that.editData.jwSdzEarly2,
+          o2Early2: that.editData.o2Early2,
+          timeEarly2: that.editData.timeEarly2,
+          tearly2: that.editData.tearly2,
+
+          bxySdzNoon1: that.editData.bxySdzNoon1,
+          ch4Noon1: that.editData.ch4Noon1,
+          co2Noon1: that.editData.co2Noon1,
+          coNoon1: that.editData.coNoon1,
+          gwSdzNoon1: that.editData.gwSdzNoon1,
+          jwSdzNoon1: that.editData.jwSdzNoon1,
+          o2Noon1: that.editData.o2Noon1,
+          timeNoon1: that.editData.timeNoon1,
+          tnoon1: that.editData.tnoon1,
+
+          bxySdzNoon2: that.editData.bxySdzNoon2,
+          ch4Noon2: that.editData.ch4Noon2,
+          checkPersonNoon: that.editData.checkPersonNoon,
+          co2Noon2: that.editData.co2Noon2,
+          coNoon2: that.editData.coNoon2,
+          gwSdzNoon2: that.editData.gwSdzNoon2,
+          jwSdzNoon2: that.editData.jwSdzNoon2,
+          o2Noon2: that.editData.o2Noon2,
+          strInstallPos: that.editData.strInstallPos,
+          timeNoon2: that.editData.timeNoon2,
+          tnoon2: that.editData.tnoon2,
+
+          bxySdzNight1: that.formState.bxy,
+          ch4Night1: that.formState.ch4,
+          checkPersonNight: that.formState.jcy,
+          co2Night1: that.formState.co2,
+          coNight1: that.formState.co,
+          gwSdzNight1: that.formState.ch4,
+          jwSdzNight1: that.formState.jw,
+          o2Night1: that.formState.o2,
+          strInstallPos: that.formState.jcdd,
+          timeNight1: that.formState.time,
+          tnight1: that.formState.temp,
+
+          bxySdzNight2: that.editData.bxySdzNight2,
+          ch4Night2: that.editData.ch4Night2,
+          co2Night2: that.editData.co2Night2,
+          coNight2: that.editData.coNight2,
+          gwSdzNight2: that.editData.gwSdzNight2,
+          jwSdzNight2: that.editData.jwSdzNight2,
+          o2Night2: that.editData.o2Night2,
+          timeNight2: that.editData.timeNight2,
+          tnight2: that.editData.tnight2,
+        };
+      } else if (that.classType == "夜班" && that.checkNum == "2") {
+        param = {
+          id: that.editData.id,
+          bxySdzEarly1: that.editData.bxySdzEarly1,
+          ch4Early1: that.editData.ch4Early1,
+          co2Early1: that.editData.co2Early1,
+          coEarly1: that.editData.coEarly1,
+          gwSdzEarly1: that.editData.gwSdzEarly1,
+          jwSdzEarly1: that.editData.jwSdzEarly1,
+          o2Early1: that.editData.o2Early1,
+          timeEarly1: that.editData.timeEarly1,
+          checkPersonEarly: that.editData.checkPersonEarly,
+          strInstallPos: that.editData.strInstallPos,
+          tearly1: that.editData.tearly1,
+
+          bxySdzEarly2: that.editData.bxySdzEarly2,
+          ch4Early2: that.editData.ch4Early2,
+          co2Early2: that.editData.co2Early2,
+          coEarly2: that.editData.coEarly2,
+          gwSdzEarly2: that.editData.gwSdzEarly2,
+          jwSdzEarly2: that.editData.jwSdzEarly2,
+          o2Early2: that.editData.o2Early2,
+          timeEarly2: that.editData.timeEarly2,
+          tearly2: that.editData.tearly2,
+
+          bxySdzNoon1: that.editData.bxySdzNoon1,
+          ch4Noon1: that.editData.ch4Noon1,
+          co2Noon1: that.editData.co2Noon1,
+          coNoon1: that.editData.coNoon1,
+          gwSdzNoon1: that.editData.gwSdzNoon1,
+          jwSdzNoon1: that.editData.jwSdzNoon1,
+          o2Noon1: that.editData.o2Noon1,
+          timeNoon1: that.editData.timeNoon1,
+          tnoon1: that.editData.tnoon1,
+
+          bxySdzNoon2: that.editData.bxySdzNoon2,
+          ch4Noon2: that.editData.ch4Noon2,
+          checkPersonNoon: that.editData.checkPersonNoon,
+          co2Noon2: that.editData.co2Noon2,
+          coNoon2: that.editData.coNoon2,
+          gwSdzNoon2: that.editData.gwSdzNoon2,
+          jwSdzNoon2: that.editData.jwSdzNoon2,
+          o2Noon2: that.editData.o2Noon2,
+          strInstallPos: that.editData.strInstallPos,
+          timeNoon2: that.editData.timeNoon2,
+          tnoon2: that.editData.tnoon2,
+
+          bxySdzNight1: that.editData.bxySdzNight1,
+          ch4Night1: that.editData.ch4Night1,
+          co2Night1: that.editData.co2Night1,
+          coNight1: that.editData.coNight1,
+          gwSdzNight1: that.editData.gwSdzNight1,
+          jwSdzNight1: that.editData.jwSdzNight1,
+          o2Night1: that.editData.o2Night1,
+          timeNight1: that.editData.timeNight1,
+          tnight1: that.editData.tnight1,
+
+          bxySdzNight2: that.formState.bxy,
+          ch4Night2: that.formState.ch4,
+          checkPersonNight: that.formState.jcy,
+          co2Night2: that.formState.co2,
+          coNight2: that.formState.co,
+          gwSdzNight2: that.formState.ch4,
+          jwSdzNight2: that.formState.jw,
+          o2Night2: that.formState.o2,
+          strInstallPos: that.formState.jcdd,
+          timeNight2: that.formState.time,
+          tnight2: that.formState.temp,
+        };
+      }
+      new Promise((resolve, reject) => {
+        api
+          .getEdit({ ...param })
+          .then((response) => {
+            if (response.data.code == 200) {
+              that.isShowAdd = false;
+              that.editData = {};
+              that.clearData();
+              that.$emit("getBackAddress");
+            } else {
+              reject(response);
+            }
+          })
+          .catch((error) => {
+            console.log("catch===>response", response);
+            reject(error);
+          });
+      });
+    },
+
+    //新增保存
+    getConfirm() {
+      let that = this;
+      let flag = false;
+      Object.keys(that.formState).forEach((el) => {
+        if (el != "id" && that.formState[el] == "") {
+          flag = true;
+        }
+      });
+      if (that.statusShow == "add") {
+        if (flag) {
+          uni.showToast({
+            title: "请检查上报数据选项是否为空!",
+            icon: "none", // 可选图标,'success', 'loading', 'none'
+          });
+        } else {
+          that.getAddSave();
+        }
+      } else {
+        if (flag) {
+          uni.showToast({
+            title: "请检查上报数据选项是否为空!",
+            icon: "none", // 可选图标,'success', 'loading', 'none'
+          });
+        } else {
+          that.getEditSave();
+        }
+      }
+    },
+
+    clearData() {
+      this.formState = {
+        id: "",
+        bc: "",
+        count: "",
+        jcdd: "",
+        // mcgzm: '',
+        jcy: "",
+        time: "",
+        ch4: "",
+        co2: "",
+        co: "",
+        o2: "",
+        jw: "",
+        bxy: "",
+        tbrq: "",
+        temp: "",
+      };
+      this.isRule = true;
+      this.isRule2 = true;
+      this.isRule1 = true;
+      this.isRule3 = true;
+      this.isRule14 = true;
+    },
+
+    //新增取消
+    getCancel() {
+      this.isShowAdd = false;
+      // this.statusShow = ''
+      this.saveShowList = {};
+      this.indexParam = {};
+      this.paramData = {};
+      this.clearData();
+      if (this.statusShow == "edit") {
+        this.$emit("getBackAddress");
+      }
+    },
+
+    //获取瓦斯上报列表数据
+    getGasList() {
+      let that = this;
+      new Promise((resolve, reject) => {
+        api
+          .getGas({ reportTime: that.searchTime, deviceId: that.deviceID })
+          .then((response) => {
+            if (response.data.code == 200) {
+              that.gasList = response.data.result.records;
+              if (that.gasList.length != 0) {
+                that.editData = that.gasList.filter(
+                  (v) => v.deviceId == that.deviceID
+                )[0];
+
+                if (that.classType == "夜班" && that.checkNum == "1") {
+                  that.formState = {
+                    id: that.editData.id || "",
+                    bc: "夜班",
+                    count: "第一次",
+                    jcdd: that.editData.strInstallPos || "",
+                    jcy: that.editData.checkPersonNight || "",
+                    time: that.editData.timeNight1 || "",
+                    ch4: that.editData.ch4Night1 || "",
+                    co2: that.editData.co2Night1 || "",
+                    co: that.editData.coNight1 || "",
+                    o2: that.editData.o2Night1 || "",
+                    jw: that.editData.jwSdzNight1 || "-",
+                    bxy: that.editData.bxySdzNight1 || "",
+                    tbrq: that.editData.reportTime,
+                    temp: that.editData.tnight1 || "",
+                    // mcgzm: that.formState.mcgzm,
+                  };
+                } else if (that.classType == "夜班" && that.checkNum == "2") {
+                  that.formState = {
+                    id: that.editData.id || "",
+                    bc: "夜班",
+                    count: "第二次",
+                    jcdd: that.editData.strInstallPos || "",
+                    jcy: that.editData.checkPersonNight || "",
+                    time: that.editData.timeNight2 || "",
+                    ch4: that.editData.ch4Night2 || "",
+                    co2: that.editData.co2Night2 || "",
+                    co: that.editData.coNight2 || "",
+                    o2: that.editData.o2Night2 || "",
+                    jw: that.editData.jwSdzNight2 || "-",
+                    bxy: that.editData.bxySdzNight2 || "",
+                    tbrq: that.editData.reportTime,
+                    temp: that.editData.tnight2 || "",
+                    // mcgzm: that.formState.mcgzm,
+                  };
+                } else if (that.classType == "早班" && that.checkNum == "1") {
+                  that.formState = {
+                    id: that.editData.id || "",
+                    bc: "早班",
+                    count: "第一次",
+                    jcdd: that.editData.strInstallPos || "",
+                    jcy: that.editData.checkPersonEarly || "",
+                    time: that.editData.timeEarly1 || "",
+                    ch4: that.editData.ch4Early1 || "",
+                    co2: that.editData.co2Early1 || "",
+                    co: that.editData.coEarly1 || "",
+                    o2: that.editData.o2Early1 || "",
+                    jw: that.editData.jwSdzEarly1 || "-",
+                    bxy: that.editData.bxySdzEarly1 || "",
+                    tbrq: that.editData.reportTime,
+                    temp: that.editData.tearly1 || "",
+                    // mcgzm: that.formState.mcgzm,
+                  };
+                } else if (that.classType == "早班" && that.checkNum == "2") {
+                  that.formState = {
+                    id: that.editData.id || "",
+                    bc: "早班",
+                    count: "第二次",
+                    jcdd: that.editData.strInstallPos || "",
+                    jcy: that.editData.checkPersonEarly || "",
+                    time: that.editData.timeEarly2 || "",
+                    ch4: that.editData.ch4Early2 || "",
+                    co2: that.editData.co2Early2 || "",
+                    co: that.editData.coEarly2 || "",
+                    o2: that.editData.o2Early2 || "",
+                    jw: that.editData.jwSdzEarly2 || "-",
+                    bxy: that.editData.bxySdzEarly2 || "",
+                    tbrq: that.editData.reportTime,
+                    temp: that.editData.tearly2 || "",
+                    // mcgzm: that.formState.mcgzm,
+                  };
+                } else if (that.classType == "中班" && that.checkNum == "1") {
+                  that.formState = {
+                    id: that.editData.id || "",
+                    bc: "中班",
+                    count: "第一次",
+                    jcdd: that.editData.strInstallPos || "",
+                    jcy: that.editData.checkPersonNoon || "",
+                    time: that.editData.timeNoon1 || "",
+                    ch4: that.editData.ch4Noon1 || "",
+                    co2: that.editData.co2Noon1 || "",
+                    co: that.editData.coNoon1 || "",
+                    o2: that.editData.o2Noon1 || "",
+                    jw: that.editData.jwSdzNoon1 || "-",
+                    bxy: that.editData.bxySdzNoon1 || "",
+                    tbrq: that.editData.reportTime,
+                    temp: that.editData.tnoon1 || "",
+                    // mcgzm: that.formState.mcgzm,
+                  };
+                } else if (that.classType == "中班" && that.checkNum == "2") {
+                  that.formState = {
+                    id: that.editData.id || "",
+                    bc: "中班",
+                    count: "第二次",
+                    jcdd: that.editData.strInstallPos || "",
+                    jcy: that.editData.checkPersonNoon || "",
+                    time: that.editData.timeNoon2 || "",
+                    ch4: that.editData.ch4Noon2 || "",
+                    co2: that.editData.co2Noon2 || "",
+                    co: that.editData.coNoon2 || "",
+                    o2: that.editData.o2Noon2 || "",
+                    jw: that.editData.jwSdzNoon2 || "-",
+                    bxy: that.editData.bxySdzNoon2 || "",
+                    tbrq: that.editData.reportTime,
+                    temp: that.editData.tnoon2 || "",
+                    // mcgzm: that.formState.mcgzm,
+                  };
+                }
+              } else {
+                that.editData = {};
+              }
+            } else {
+              reject(response);
+            }
+          });
+      });
+    },
+    //获取任务详情图片
+    getTaskImg() {
+      let that = this;
+      let apiUrlImg = `${configService.apiUrlP}:6008`;
+      // let formDataStr = {
+      //     reportdate: '2025-04-10',
+      //     checkpath: '22106工作面',
+      //     order: '中班',
+      //     checkorder: 1,
+      // }
+      let formDataStr = {
+        reportdate: that.searchTime,
+        checkpath: that.deviceName,
+        order: that.classType,
+        checkorder: Number(that.checkNum),
+      };
+      uni.request({
+        url: `${apiUrlImg}/gasServerImg`,
+        method: "post",
+        responseType: "arraybuffer", // 确保以二进制形式接收数据
+        data: formDataStr,
+        success: (res) => {
+          if (res.data instanceof ArrayBuffer) {
+            let arrayBufferView = new Uint8Array(res.data);
+            // 你可以在这里对arrayBufferView进行操作
+            console.log(arrayBufferView);
+            const base64 =
+              "data:image/png;base64," +
+              uni.arrayBufferToBase64(arrayBufferView);
+            that.imageSrcView = base64 || "";
+          }
+        },
+        fail: (err) => {
+          console.error("请求失败:", err);
+        },
+      });
+    },
+    //更新图片
+    getUpdateImg() {
+      let that = this;
+      let apiUrlImg = `${configService.apiUrlP}:6008`;
+      uni.uploadFile({
+        url: `${apiUrlImg}/gasImgUpdate`,
+        filePath: that.imageSrcView,
+        name: "img",
+        formData: {
+          order: that.classType,
+          checkorder: Number(that.checkNum),
+          reportdate: that.searchTime,
+          checkpath: that.deviceName,
+        },
+        success: (res) => {
+          if (res.statusCode == 200) {
+            uni.showToast({
+              title: JSON.parse(res.data).res,
+              icon: "none", // 可选图标,'success', 'loading', 'none'
+            });
+          }
+        },
+        fail: (error) => {
+          uni.showToast({
+            title: "图片更新失败!",
+            icon: "none", // 可选图标,'success', 'loading', 'none'
+          });
+        },
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.gas-fill {
+  position: relative;
+  width: 100%;
+  height: 100%;
+
+  .top-title {
+    height: 28px;
+    margin-bottom: 5px;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+  }
+
+  .top-content {
+    .content-title {
+      height: 26px;
+      line-height: 26px;
+      padding: 0px 20px;
+      font-size: 12px;
+      background: url("/static/warndata/title.png") no-repeat;
+      background-size: 100% 100%;
+    }
+
+    .content-item-box {
+      padding: 10px 0px;
+
+      .content-item {
+        height: 50px;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        background: linear-gradient(
+          to right,
+          rgba(55, 135, 254, 0.08),
+          rgba(4, 184, 255, 0.08),
+          rgba(60, 161, 237, 0.08)
+        );
+        border-radius: 10px;
+        margin-bottom: 5px;
+
+        .item-l {
+          width: calc(50% - 2px);
+          height: 100%;
+          display: flex;
+          flex-direction: column;
+          justify-content: center;
+          // align-items: center;
+          align-items: flex-start;
+          padding: 0px 5px 0px 10px;
+          box-sizing: border-box;
+        }
+
+        .item-c {
+          width: 4px;
+          height: 70%;
+          border-left: 2px solid;
+          border-image: linear-gradient(
+              to bottom,
+              transparent,
+              rgba(140, 203, 254, 1),
+              transparent
+            )
+            1 1 1;
+        }
+
+        .item-r {
+          width: calc(50% - 2px);
+          height: 100%;
+          display: flex;
+          flex-direction: column;
+          justify-content: center;
+          // align-items: center;
+          align-items: flex-start;
+          padding: 0px 5px 0px 10px;
+          box-sizing: border-box;
+        }
+      }
+    }
+  }
+
+  .item-value {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    width: 100%;
+    height: 20px;
+    line-height: 20px;
+    color: #0eb4fc;
+    font-weight: bold;
+  }
+
+  .item-label {
+    font-size: 12px;
+  }
+
+  .top-dialog-area,
+  .center-dialog-area,
+  .bottom-dialog-area {
+    width: 100%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    background-color: #fff;
+    margin-bottom: 2px;
+  }
+
+  .top-gas-list {
+    position: fixed;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    width: 100%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    background-color: #fff;
+    margin-bottom: 2px;
+    z-index: 999;
+  }
+
+  .bot-gas-list {
+    width: 100%;
+    height: 100%;
+    padding: 10px;
+    box-sizing: border-box;
+    background-color: #fff;
+    overflow-y: auto;
+  }
+
+  .bot-gas-list1 {
+    width: 100%;
+    height: 100%;
+    // padding: 10px;
+    margin-bottom: 2px;
+    box-sizing: border-box;
+    background-color: #fff;
+    overflow-y: auto;
+  }
+
+  .dialog-btn {
+    display: flex;
+    width: 100%;
+    padding: 8px 10px;
+    box-sizing: border-box;
+    background-color: #fff;
+
+    // margin-bottom: 2px;
+    .u-button {
+      margin: 0px 10px;
+    }
+  }
+
+  .dialog-title {
+    height: 26px;
+    line-height: 26px;
+    padding: 0px 20px;
+    margin-bottom: 10px;
+    font-size: 12px;
+    background: url("/static/warndata/title.png") no-repeat;
+    background-size: 100% 100%;
+  }
+
+  .dialog-item {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    margin-bottom: 10px;
+
+    .dialog-label {
+      // width: 120px;
+      width: 84px;
+      text-align: right;
+    }
+  }
+
+  .content-title-gas {
+    position: relative;
+    height: 26px;
+    line-height: 26px;
+    padding-left: 20px;
+    font-size: 12px;
+    background: url("/static/warndata/title.png") no-repeat;
+    background-size: 100% 100%;
+  }
+
+  .icon-gas-edit {
+    position: absolute;
+    right: 35px;
+    top: 0;
+    cursor: pointer;
+  }
+
+  .icon-gas-del {
+    position: absolute;
+    right: 10px;
+    top: 0;
+    cursor: pointer;
+  }
+
+  .zoomable {
+    transition: transform 0.5s;
+    /* 平滑过渡效果 */
+  }
+
+  .imgView {
+    width: 100%;
+    overflow: hidden;
+  }
+}
+
+::v-deep .u-input {
+  padding: 2px 6px !important;
+}
+
+::v-deep .u-popup {
+  flex: 0;
+}
+
+::v-deep .uni-select {
+  height: 30px;
+  border: 1px solid #dadbde;
+}
+
+::v-deep .uni-select__input-box {
+  height: 30px;
+}
+
+::v-deep .uni-select__input-placeholder {
+  font-size: 14px;
+  text-align: center;
+  color: rgb(192, 196, 204);
+}
+
+::v-deep .u-modal__title {
+  font-size: 16px;
+  font-weight: bold;
+  color: #606266;
+  text-align: center;
+  padding-top: 10px;
+}
+
+::v-deep .u-modal__content {
+  padding: 12px 25px 20px 25px;
+}
+
+::v-deep .u-modal__button-group__wrapper {
+  height: 36px;
+}
+
+::v-deep .u-modal__content {
+  margin: 15px 15px 0px 15px;
+  padding: 0;
+  overflow: hidden;
+}
+</style>

文件差异内容过多而无法显示
+ 1408 - 1106
pages/gasreport/components/gasImgIdentify.vue


+ 2 - 1
pages/gasreport/components/taskBoard.vue

@@ -52,7 +52,8 @@ export default {
             searchTime: '',//检测时间
             showCalendar: false,//控制日期选型下拉开启
             // timeRan: Number(new Date()),
-            minDate: moment().subtract(30, 'days').format('YYYY-MM-DD'),
+            // minDate: moment().subtract(30, 'days').format('YYYY-MM-DD'),
+            minDate: moment().subtract(115, 'days').format('YYYY-MM-DD'),
             maxDate:moment().add(30, 'days').format('YYYY-MM-DD'),
             isShow: true,
             loadComponent: '',

+ 67 - 54
pages/gasreport/components/taskBoardAddress.vue

@@ -2,6 +2,10 @@
     <view class="taskBoardAddress">
         <u-navbar :bgStatusImage="backPic0" :bgImage="backPic" :title="gasTitle" :safeAreaInsetTop="true"
             leftIcon="arrow-left" @leftClick="handlerToggle"> </u-navbar>
+        <view>
+            <u-button v-if="showBtn" icon="eye" type="primary" size="small" loadingText="识别中"
+                style="width: 100%; margin: 0" @click="getYjsb">一键识别</u-button>
+        </view>
         <u-list :height="666" :scrollTop="topH" v-if="isShow">
             <u-list-item v-for="(item, index) in indexList" :key="index">
                 <u-cell icon="share">
@@ -19,9 +23,13 @@
                 </u-cell>
             </u-list-item>
         </u-list>
+        <!-- 一键识别List -->
+        <view v-if="sbShow">
+            <Recognition :recognitionData="recognitionData" @getRepport="getRepport"></Recognition>
+        </view>
         <component :is="toComponent" :Ids="Ids" :checkNum="checkNum" :classType="classType" :isSensor="isSensor"
-            :deviceID="deviceID" :deviceName="deviceName" :saveImg="saveImg" :checkState="checkState"
-            @getBackAddress="getBackAddress" @clearImg="clearImg">
+            :deviceID="deviceID" :deviceName="deviceName" :saveImg="saveImg" :checkState="checkState" :sbData="sbData"
+            :urlData="urlData" @getBackAddress="getBackAddress" @clearImg="clearImg">
         </component>
     </view>
 </template>
@@ -29,10 +37,11 @@
 <script>
 import api from "@/api/api";
 import gasImgIdentify from './gasImgIdentify.vue'
+import Recognition from './Recognition.vue'
 
 export default {
     name: 'taskBoardAddress',
-    components: { gasImgIdentify },
+    components: { gasImgIdentify, Recognition },
     props: {
         taskId: {
             type: String,
@@ -59,12 +68,28 @@ export default {
             gasTitle: '任务明细',//标题
             backPic0: "url(/static/topnavbar0.png)",
             backPic: "url(../../static/topnavbar.png)",
+            sbShow: false,
+            sbData: [],
+            urlData: '',
+            showBtn: true,
         }
     },
     computed: {
         searchTime: function () {
             return uni.getStorageSync('searchTime')
         },
+        //一键识别列表
+        recognitionData: function () {
+            let list = []
+            this.indexList.forEach(el => {
+                if (uni.getStorageSync(el.deviceId)) {
+                    el.img = uni.getStorageSync(el.deviceId)
+                    el.status = ''
+                    list.push(el)
+                }
+            })
+            return list
+        }
 
     },
     mounted() {
@@ -92,34 +117,55 @@ export default {
             }
         },
 
+        //一键识别
+        getYjsb() {
+            let that = this
+            that.isShow = false
+            that.sbShow = true
+            that.showBtn=false
+            uni.showLoading({
+    title: '批量识别中...',
+    mask: true
+});
+        },
+        //批量识别后跳转到填报页面
+        getRepport(param) {
+            let that = this
+            that.sbShow = false
+            that.showBtn = false
+            console.log(param, 'param------')
+            that.Ids = param.id
+            that.checkNum = param.checkNum
+            that.classType = param.classType_dictText
+            that.checkState = param.checkState
+            that.isSensor = param.isSensor
+            that.deviceID = param.deviceId
+            that.deviceName = param.deviceName
+            that.sbData = param.sbList
+            that.urlData = param.img
+            that.toComponent = 'gasImgIdentify'
+        },
         getBoradAddress(item, index) {
             let that = this
             that.activeIndex = index
+            that.isShow = false
+            that.showBtn = false
             if (item.checkState == '0') {
-                that.isShow = false
                 that.Ids = item.id
-                that.checkNum = item.checkNum
-                that.classType = item.classType_dictText
-                that.checkState = item.checkState
                 that.isSensor = item.isSensor
-                that.deviceID = item.deviceId
-                that.deviceName = item.deviceName
-                that.toComponent = 'gasImgIdentify'
-                that.saveImg = uni.getStorageSync(item.deviceId)
-            } else {
-                that.isShow = false
-                that.checkState = item.checkState
-                that.deviceName = item.deviceName
-                that.checkNum = item.checkNum
-                that.deviceID = item.deviceId
-                that.classType = item.classType_dictText
-                that.toComponent = 'gasImgIdentify'
-                that.saveImg = uni.getStorageSync(item.deviceId)
             }
-
+            that.checkNum = item.checkNum
+            that.classType = item.classType_dictText
+            that.checkState = item.checkState
+            that.deviceID = item.deviceId
+            that.deviceName = item.deviceName
+            that.saveImg = uni.getStorageSync(item.deviceId)
+            that.toComponent = 'gasImgIdentify'
         },
         getBackAddress() {
             this.isShow = true
+            this.showBtn = true
+            this.sbShow = false
             this.toComponent = ''
             this.topH = 39 * this.activeIndex
             this.taskDetailsLists()
@@ -143,39 +189,6 @@ export default {
                                     }
                                 })
                             }
-                            console.log(that.indexList, '999000=====')
-                            // that.indexList = [
-                            //     { deviceName: '测试地址1' },
-                            //     { deviceName: '测试地址2' },
-                            //     { deviceName: '测试地址3' },
-                            //     { deviceName: '测试地址4' },
-                            //     { deviceName: '测试地址5' },
-                            //     { deviceName: '测试地址6' },
-                            //     { deviceName: '测试地址7' },
-                            //     { deviceName: '测试地址8' },
-                            //     { deviceName: '测试地址9' },
-                            //     { deviceName: '测试地址10' },
-                            //     { deviceName: '测试地址11' },
-                            //     { deviceName: '测试地址12' },
-                            //     { deviceName: '测试地址13' },
-                            //     { deviceName: '测试地址14' },
-                            //     { deviceName: '测试地址15' },
-                            //     { deviceName: '测试地址16' },
-                            //     { deviceName: '测试地址17' },
-                            //     { deviceName: '测试地址18' },
-                            //     { deviceName: '测试地址19' },
-                            //     { deviceName: '测试地址20' },
-                            //     { deviceName: '测试地址21' },
-                            //     { deviceName: '测试地址22' },
-                            //     { deviceName: '测试地址23' },
-                            //     { deviceName: '测试地址24' },
-                            //     { deviceName: '测试地址25' },
-                            //     { deviceName: '测试地址26' },
-                            //     { deviceName: '测试地址27' },
-                            //     { deviceName: '测试地址28' },
-                            //     { deviceName: '测试地址29' },
-                            //     { deviceName: '测试地址30' },
-                            // ]
                         } else {
                             reject(response);
                         }

+ 12 - 0
uniCloud-aliyun/database/JQL查询.jql

@@ -0,0 +1,12 @@
+// 本文件用于,使用JQL语法操作项目关联的uniCloud空间的数据库,方便开发调试和远程数据库管理
+// 编写clientDB的js API(也支持常规js语法,比如var),可以对云数据库进行增删改查操作。不支持uniCloud-db组件写法
+// 可以全部运行,也可以选中部分代码运行。点击工具栏上的运行按钮或者按下【F5】键运行代码
+// 如果文档中存在多条JQL语句,只有最后一条语句生效
+// 如果混写了普通js,最后一条语句需是数据库操作语句
+// 此处代码运行不受DB Schema的权限控制,移植代码到实际业务中注意在schema中配好permission
+// 不支持clientDB的action
+// 数据库查询有最大返回条数限制,详见:https://uniapp.dcloud.net.cn/uniCloud/cf-database.html#limit
+// 详细JQL语法,请参考:https://uniapp.dcloud.net.cn/uniCloud/jql.html
+
+// 下面示例查询uni-id-users表的所有数据
+db.collection('uni-id-users').get();

+ 6 - 0
uni_modules/uni-config-center/changelog.md

@@ -0,0 +1,6 @@
+## 0.0.3(2022-11-11)
+- 修复 config 方法获取根节点为数组格式配置时错误的转化为了对象的Bug
+## 0.0.2(2021-04-16)
+- 修改插件package信息
+## 0.0.1(2021-03-15)
+- 初始化项目

+ 81 - 0
uni_modules/uni-config-center/package.json

@@ -0,0 +1,81 @@
+{
+  "id": "uni-config-center",
+  "displayName": "uni-config-center",
+  "version": "0.0.3",
+  "description": "uniCloud 配置中心",
+  "keywords": [
+    "配置",
+    "配置中心"
+],
+  "repository": "",
+  "engines": {
+    "HBuilderX": "^3.1.0"
+  },
+"dcloudext": {
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "",
+    "type": "unicloud-template-function"
+  },
+  "directories": {
+    "example": "../../../scripts/dist"
+  },
+  "uni_modules": {
+    "dependencies": [],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "u",
+          "app-nvue": "u"
+        },
+        "H5-mobile": {
+          "Safari": "u",
+          "Android Browser": "u",
+          "微信浏览器(Android)": "u",
+          "QQ浏览器(Android)": "u"
+        },
+        "H5-pc": {
+          "Chrome": "u",
+          "IE": "u",
+          "Edge": "u",
+          "Firefox": "u",
+          "Safari": "u"
+        },
+        "小程序": {
+          "微信": "u",
+          "阿里": "u",
+          "百度": "u",
+          "字节跳动": "u",
+          "QQ": "u"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "u"
+        }
+      }
+    }
+  }
+}

+ 93 - 0
uni_modules/uni-config-center/readme.md

@@ -0,0 +1,93 @@
+# 为什么使用uni-config-center
+
+实际开发中很多插件需要配置文件才可以正常运行,如果每个插件都单独进行配置的话就会产生下面这样的目录结构
+
+```bash
+cloudfunctions
+└─────common 公共模块
+        ├─plugin-a // 插件A对应的目录
+        │  ├─index.js
+        │  ├─config.json // plugin-a对应的配置文件
+        │  └─other-file.cert  // plugin-a依赖的其他文件
+        └─plugin-b // plugin-b对应的目录
+           ├─index.js
+           └─config.json // plugin-b对应的配置文件
+```
+
+假设插件作者要发布一个项目模板,里面使用了很多需要配置的插件,无论是作者发布还是用户使用都是一个大麻烦。
+
+uni-config-center就是用了统一管理这些配置文件的,使用uni-config-center后的目录结构如下
+
+```bash
+cloudfunctions
+└─────common 公共模块
+        ├─plugin-a // 插件A对应的目录
+        │  └─index.js
+        ├─plugin-b // plugin-b对应的目录
+        │  └─index.js
+        └─uni-config-center
+           ├─index.js // config-center入口文件
+           ├─plugin-a
+           │  ├─config.json  // plugin-a对应的配置文件
+           │  └─other-file.cert  // plugin-a依赖的其他文件
+           └─plugin-b
+              └─config.json  // plugin-b对应的配置文件
+```
+
+使用uni-config-center后的优势
+
+- 配置文件统一管理,分离插件主体和配置信息,更新插件更方便
+- 支持对config.json设置schema,插件使用者在HBuilderX内编写config.json文件时会有更好的提示(后续HBuilderX会提供支持)
+
+# 用法
+
+在要使用uni-config-center的公共模块或云函数内引入uni-config-center依赖,请参考:[使用公共模块](https://uniapp.dcloud.net.cn/uniCloud/cf-common)
+
+```js
+const createConfig = require('uni-config-center')
+
+const uniIdConfig = createConfig({
+    pluginId: 'uni-id', // 插件id
+    defaultConfig: { // 默认配置
+        tokenExpiresIn: 7200,
+        tokenExpiresThreshold: 600,
+    },
+    customMerge: function(defaultConfig, userConfig) { // 自定义默认配置和用户配置的合并规则,不设置的情况侠会对默认配置和用户配置进行深度合并
+        // defaudltConfig 默认配置
+        // userConfig 用户配置
+        return Object.assign(defaultConfig, userConfig)
+    }
+})
+
+
+// 以如下配置为例
+// {
+//   "tokenExpiresIn": 7200,
+//   "passwordErrorLimit": 6,
+//   "bindTokenToDevice": false,
+//   "passwordErrorRetryTime": 3600,
+//   "app-plus": {
+//     "tokenExpiresIn": 2592000
+//   },
+//   "service": {
+//     "sms": {
+//       "codeExpiresIn": 300
+//     }
+//   }
+// }
+
+// 获取配置
+uniIdConfig.config() // 获取全部配置,注意:uni-config-center内不存在对应插件目录时会返回空对象
+uniIdConfig.config('tokenExpiresIn') // 指定键值获取配置,返回:7200
+uniIdConfig.config('service.sms.codeExpiresIn') // 指定键值获取配置,返回:300
+uniIdConfig.config('tokenExpiresThreshold', 600) // 指定键值获取配置,如果不存在则取传入的默认值,返回:600
+
+// 获取文件绝对路径
+uniIdConfig.resolve('custom-token.js') // 获取uni-config-center/uni-id/custom-token.js文件的路径
+
+// 引用文件(require)
+uniIDConfig.requireFile('custom-token.js') // 使用require方式引用uni-config-center/uni-id/custom-token.js文件。文件不存在时返回undefined,文件内有其他错误导致require失败时会抛出错误。
+
+// 判断是否包含某文件
+uniIDConfig.hasFile('custom-token.js') // 配置目录是否包含某文件,true: 文件存在,false: 文件不存在
+```

文件差异内容过多而无法显示
+ 0 - 0
uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/index.js


+ 13 - 0
uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/package.json

@@ -0,0 +1,13 @@
+{
+    "name": "uni-config-center",
+    "version": "0.0.3",
+    "description": "配置中心",
+    "main": "index.js",
+    "keywords": [],
+    "author": "DCloud",
+    "license": "Apache-2.0",
+    "origin-plugin-dev-name": "uni-config-center",
+    "origin-plugin-version": "0.0.3",
+    "plugin-dev-name": "uni-config-center",
+    "plugin-version": "0.0.3"
+}

+ 36 - 0
uni_modules/uni-id-common/changelog.md

@@ -0,0 +1,36 @@
+## 1.0.18(2024-07-08)
+- checkToken时如果传入的token为空则返回uni-id-check-token-failed错误码以便uniIdRouter能正常跳转
+## 1.0.17(2024-04-26)
+- 兼容uni-app-x对客户端uniPlatform的调整(uni-app-x内uniPlatform区分app-android、app-ios)
+## 1.0.16(2023-04-25)
+- 新增maxTokenLength配置,用于限制数据库用户记录token数组的最大长度
+## 1.0.15(2023-04-06)
+- 修复部分语言国际化出错的Bug
+## 1.0.14(2023-03-07)
+- 修复 admin用户包含其他角色时未包含在token的Bug
+## 1.0.13(2022-07-21)
+- 修复 创建token时未传角色权限信息生成的token不正确的bug
+## 1.0.12(2022-07-15)
+- 提升与旧版本uni-id的兼容性(补充读取配置文件时回退平台app-plus、h5),但是仍推荐使用新平台名进行配置(app、web)
+## 1.0.11(2022-07-14)
+- 修复 部分情况下报`read property 'reduce' of undefined`的错误
+## 1.0.10(2022-07-11)
+- 将token存储在用户表的token字段内,与旧版本uni-id保持一致
+## 1.0.9(2022-07-01)
+- checkToken兼容token内未缓存角色权限的情况,此时将查库获取角色权限
+## 1.0.8(2022-07-01)
+- 修复clientDB默认依赖时部分情况下获取不到uni-id配置的Bug
+## 1.0.7(2022-06-30)
+- 修复config文件不合法时未抛出具体错误的Bug
+## 1.0.6(2022-06-28)
+- 移除插件内的数据表schema
+## 1.0.5(2022-06-27)
+- 修复使用多应用配置时报`Cannot read property 'appId' of undefined`的Bug
+## 1.0.4(2022-06-27)
+- 修复使用自定义token内容功能报错的Bug [详情](https://ask.dcloud.net.cn/question/147945)
+## 1.0.2(2022-06-23)
+- 对齐旧版本uni-id默认配置
+## 1.0.1(2022-06-22)
+- 补充对uni-config-center的依赖
+## 1.0.0(2022-06-21)
+- 提供uni-id token创建、校验、刷新接口,简化旧版uni-id公共模块

+ 84 - 0
uni_modules/uni-id-common/package.json

@@ -0,0 +1,84 @@
+{
+	"id": "uni-id-common",
+	"displayName": "uni-id-common",
+	"version": "1.0.18",
+	"description": "包含uni-id token生成、校验、刷新功能的云函数公共模块",
+	"keywords": [
+        "uni-id-common",
+        "uniCloud",
+        "token",
+        "权限"
+    ],
+	"repository": "https://gitcode.net/dcloud/uni-id-common",
+    "engines": {
+	},
+    "dcloudext": {
+        "sale": {
+			"regular": {
+				"price": 0
+			},
+			"sourcecode": {
+				"price": 0
+			}
+		},
+		"contact": {
+			"qq": ""
+		},
+		"declaration": {
+			"ads": "无",
+			"data": "无",
+			"permissions": "无"
+		},
+        "npmurl": "",
+        "type": "unicloud-template-function"
+	},
+	"uni_modules": {
+		"dependencies": ["uni-config-center"],
+		"encrypt": [],
+		"platforms": {
+			"cloud": {
+				"tcb": "y",
+                "aliyun": "y",
+                "alipay": "n"
+			},
+			"client": {
+				"Vue": {
+					"vue2": "u",
+					"vue3": "u"
+				},
+				"App": {
+					"app-vue": "u",
+					"app-nvue": "u"
+				},
+				"H5-mobile": {
+					"Safari": "u",
+					"Android Browser": "u",
+					"微信浏览器(Android)": "u",
+					"QQ浏览器(Android)": "u"
+				},
+				"H5-pc": {
+					"Chrome": "u",
+					"IE": "u",
+					"Edge": "u",
+					"Firefox": "u",
+					"Safari": "u"
+				},
+				"小程序": {
+					"微信": "u",
+					"阿里": "u",
+					"百度": "u",
+					"字节跳动": "u",
+					"QQ": "u",
+					"钉钉": "u",
+					"快手": "u",
+					"飞书": "u",
+                    "京东": "u"
+				},
+				"快应用": {
+					"华为": "u",
+					"联盟": "u"
+				}
+			}
+		}
+	}
+}

+ 3 - 0
uni_modules/uni-id-common/readme.md

@@ -0,0 +1,3 @@
+# uni-id-common
+
+文档请参考:[uni-id-common](https://uniapp.dcloud.net.cn/uniCloud/uni-id-common.html)

文件差异内容过多而无法显示
+ 0 - 0
uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common/index.js


+ 20 - 0
uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common/package.json

@@ -0,0 +1,20 @@
+{
+    "name": "uni-id-common",
+    "version": "1.0.18",
+    "description": "uni-id token生成、校验、刷新",
+    "main": "index.js",
+    "homepage": "https:\/\/uniapp.dcloud.io\/uniCloud\/uni-id-common.html",
+    "repository": {
+        "type": "git",
+        "url": "git+https:\/\/gitee.com\/dcloud\/uni-id-common.git"
+    },
+    "author": "DCloud",
+    "license": "Apache-2.0",
+    "dependencies": {
+        "uni-config-center": "file:..\/..\/..\/..\/..\/uni-config-center\/uniCloud\/cloudfunctions\/common\/uni-config-center"
+    },
+    "origin-plugin-dev-name": "uni-id-common",
+    "origin-plugin-version": "1.0.18",
+    "plugin-dev-name": "uni-id-common",
+    "plugin-version": "1.0.18"
+}

部分文件因为文件数量过多而无法显示