guoshipeng
2023-08-03 648d11b8ea7df744c189dfc9f19202ff62a26345
src/components/device/calibration.vue
@@ -1,242 +1,422 @@
<template>
  <div>
    <a-modal width="60%" title="配置校准值" destroyOnClose :visible="wFlag" @cancel="handleCancel" @ok="handleOk">
    <a-modal
      width="60%"
      title="配置校准值"
      destroyOnClose
      :visible="wFlag"
      @cancel="handleCancel"
      @ok="handleOk"
    >
      <!---->
      <a-form style="margin-top: 8px;">
      <a-form style="margin-top: 8px">
        <a-form-item>
          <a-collapse accordion @change="turnState($event)">
            <a-collapse-panel v-for="(item, key) in dataSensors" :key="item.id" :header="'名称:'+item.name">
              <span v slot="extra"
                    style="position: absolute;left: 26%; width:10%; text-align: center;">下限值:{{ item.lower }}</span>
              <span v slot="extra"
                    style="position: absolute;left: 50%; width:10%; text-align: center;">上限值:{{ item.upper }}</span>
              <span v slot="extra" style="position: absolute;left: 75%; width:10%; text-align: center;">单位:{{
                  item.unit
                }}</span>
              <a-button icon="plus" type="primary" style="margin-left: 25px;" @click="addCalib">
            <a-collapse-panel
              v-for="(item, key) in dataSensors"
              :key="item.id"
              :header="'名称:' + item.name"
            >
              <span
                v
                slot="extra"
                style="
                  position: absolute;
                  left: 26%;
                  width: 10%;
                  text-align: center;
                "
                >下限值:{{ item.lower }}</span
              >
              <span
                v
                slot="extra"
                style="
                  position: absolute;
                  left: 50%;
                  width: 10%;
                  text-align: center;
                "
                >上限值:{{ item.upper }}</span
              >
              <span
                v
                slot="extra"
                style="
                  position: absolute;
                  left: 75%;
                  width: 10%;
                  text-align: center;
                "
                >单位:{{ item.unit }}</span
              >
              <a-button
                icon="plus"
                type="primary"
                style="margin-left: 25px"
                @click="addCalib"
              >
                新建校准值
              </a-button>
              <a-table
                  :columns="columns"
                  :dataSource="dataSource"
                  @change="handleTableChange"
                  :pagination="pagination"
                :columns="columns"
                :dataSource="dataSource"
                @change="handleTableChange"
                :pagination="pagination"
              />
            </a-collapse-panel>
          </a-collapse>
        </a-form-item>
        <a-form-item style="">
          <a-pagination style="margin-right: 0" :default-current="1" :pageSize='size' :total="total"
                        @change="turnPage"/>
          <a-pagination
            style="margin-right: 0"
            :default-current="1"
            :pageSize="size"
            :total="total"
            @change="turnPage"
          />
        </a-form-item>
      </a-form>
    </a-modal>
    <a-modal title="添加-校准值" destroyOnClose :visible="addFlag" @ok="handleAddlOk" @cancel="handleAddCancel">
    <a-modal
      title="添加-校准值"
      destroyOnClose
      :visible="addFlag"
      @ok="handleAddlOk"
      @cancel="handleAddCancel"
    >
      <!---->
      <a-form-model style="margin-top: 8px"
                    :rules="caliRules"
                    :model="addData"
                    ref="addCaliForm">
        <a-form-model-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="开始时间" prop="startTime">
          <a-time-picker :allow-clear="false" format="HH:mm" v-model="addData.startTime" @change="turnStartTime"
      <a-form-model
        style="margin-top: 8px"
        :rules="caliRules"
        :model="addData"
        ref="addCaliForm"
      >
        <a-form-model-item
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="开始时间"
          prop="startTime"
        >
          <a-time-picker
            :allow-clear="false"
            format="HH:mm"
            v-model="addData.startTime"
            @change="turnStartTime"
          />
        </a-form-model-item>
        <a-form-model-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="结束时间" prop="endTime">
          <a-time-picker :allow-clear="false" format="HH:mm" v-model="addData.endTime" @change="turnEndTime"/>
        <a-form-model-item
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="结束时间"
          prop="endTime"
        >
          <a-time-picker
            :allow-clear="false"
            format="HH:mm"
            v-model="addData.endTime"
            @change="turnEndTime"
          />
        </a-form-model-item>
        <a-form-model-item v-if="this.sensorCode === 'a40001'" :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="校准公式">
        <a-form-model-item
          v-if="this.sensorCode === 'a40001'"
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="校准公式"
        >
          <a-input-group compact>
            <a-input style="width: 30%" read-only value="烟气流速"/>
            <a-input style="width: 30%" read-only value="烟气流速" />
            <a-select
                v-model="addData.formula1"
                style="width: 30%;"
                placeholder="请选择"
              v-model="addData.formula1"
              style="width: 30%"
              placeholder="请选择"
            >
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                placeholder=""
                v-model="addData.val1"
              style="width: 40%; margin-top: 1px"
              placeholder=""
              v-model="addData.val1"
            >
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula"/>
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula" />
            </a-input>
          </a-input-group>
        </a-form-model-item>
        <a-form-model-item v-else-if="this.sensorCode === 'a01011'" :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="校准公式">
        <a-form-model-item
          v-else-if="this.sensorCode === 'a01011'"
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="校准公式"
        >
          <a-input-group compact>
            <a-input style="width: 30%" read-only value="烟气流速"/>
            <a-select style="width: 30%" placeholder="请选择" v-model="addData.formula2">
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
            <a-input style="width: 30%" read-only value="烟气流速" />
            <a-select
              style="width: 30%"
              placeholder="请选择"
              v-model="addData.formula2"
            >
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                v-model="addData.val2"
            >
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula"/>
            <a-input style="width: 40%; margin-top: 1px" v-model="addData.val2">
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula" />
            </a-input>
          </a-input-group>
        </a-form-model-item>
        <a-form-model-item v-else :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="校准公式">
        <a-form-model-item
          v-else
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="校准公式"
        >
          <a-input-group compact>
            <a-select
                style="width: 30%"
                defaultValue='AQI值'
                v-model="addData.type1"
              style="width: 30%"
              defaultValue="AQI值"
              v-model="addData.type1"
            >
              <a-select-option :value="item.key" :key="key" v-for="(item, key) in selectType">
              <a-select-option
                :value="item.key"
                :key="key"
                v-for="(item, key) in selectType"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-select
                v-model="addData.formula1"
                style="width: 30%;"
                placeholder="请选择"
              v-model="addData.formula1"
              style="width: 30%"
              placeholder="请选择"
            >
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                placeholder=""
                v-model="addData.val1"
              style="width: 40%; margin-top: 1px"
              placeholder=""
              v-model="addData.val1"
            >
              <a-icon slot="addonAfter" type="plus"/>
              <a-icon slot="addonAfter" type="plus" />
            </a-input>
          </a-input-group>
          <a-input-group compact>
            <a-input style="width: 30%" read-only value="测量值"/>
            <a-select style="width: 30%" placeholder="请选择" v-model="addData.formula2">
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
            <a-input style="width: 30%" read-only value="测量值" />
            <a-select
              style="width: 30%"
              placeholder="请选择"
              v-model="addData.formula2"
            >
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                v-model="addData.val2"
            >
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula"/>
            <a-input style="width: 40%; margin-top: 1px" v-model="addData.val2">
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula" />
            </a-input>
          </a-input-group>
        </a-form-model-item>
        <a-form-model-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="公式" prop="cel">
        <a-form-model-item
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="公式"
          prop="cel"
        >
          <a-input type="string" read-only v-model="addData.cel">
            <a-icon slot="addonAfter" type="close" @click="clearCel"/>
            <a-icon slot="addonAfter" type="close" @click="clearCel" />
          </a-input>
        </a-form-model-item>
      </a-form-model>
    </a-modal>
    <a-modal title="编辑-校准值" destroyOnClose :visible="editFlag" @ok="handleEditlOk" @cancel="handleEditCancel">
    <a-modal
      title="编辑-校准值"
      destroyOnClose
      :visible="editFlag"
      @ok="handleEditlOk"
      @cancel="handleEditCancel"
    >
      <!---->
      <a-form-model style="margin-top: 8px"
                    :rules="caliRules"
                    :model="editData"
                    ref="editCaliForm">
        <a-form-model-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="开始时间" prop="startTime">
          <a-time-picker format="HH:mm" v-model="editData.startTime" @change="turnStartTime"
      <a-form-model
        style="margin-top: 8px"
        :rules="caliRules"
        :model="editData"
        ref="editCaliForm"
      >
        <a-form-model-item
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="开始时间"
          prop="startTime"
        >
          <a-time-picker
            format="HH:mm"
            v-model="editData.startTime"
            @change="turnStartTime"
          />
        </a-form-model-item>
        <a-form-model-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="结束时间" prop="endTime">
          <a-time-picker format="HH:mm" v-model="editData.endTime" @change="turnEndTime"/>
        <a-form-model-item
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="结束时间"
          prop="endTime"
        >
          <a-time-picker
            format="HH:mm"
            v-model="editData.endTime"
            @change="turnEndTime"
          />
        </a-form-model-item>
        <a-form-model-item  v-if="this.sensorCode === 'a40001'" :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="校准公式">
        <a-form-model-item
          v-if="this.sensorCode === 'a40001'"
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="校准公式"
        >
          <a-input-group compact>
            <a-input style="width: 30%" read-only value="烟气流速"/>
            <a-input style="width: 30%" read-only value="烟气流速" />
            <a-select
                v-model="editData.formula1"
                style="width: 30%;"
                placeholder="请选择"
              v-model="editData.formula1"
              style="width: 30%"
              placeholder="请选择"
            >
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                placeholder=""
                v-model="editData.val1"
              style="width: 40%; margin-top: 1px"
              placeholder=""
              v-model="editData.val1"
            >
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula"/>
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula" />
            </a-input>
          </a-input-group>
        </a-form-model-item>
        <a-form-model-item v-else-if="this.sensorCode === 'a01011'" :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="校准公式">
        <a-form-model-item
          v-else-if="this.sensorCode === 'a01011'"
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="校准公式"
        >
          <a-input-group compact>
            <a-input style="width: 30%" read-only value="烟气流速"/>
            <a-select style="width: 30%" placeholder="请选择" v-model="editData.formula1">
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
            <a-input style="width: 30%" read-only value="烟气流速" />
            <a-select
              style="width: 30%"
              placeholder="请选择"
              v-model="editData.formula1"
            >
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                v-model="editData.val1"
              style="width: 40%; margin-top: 1px"
              v-model="editData.val1"
            >
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula"/>
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula" />
            </a-input>
          </a-input-group>
        </a-form-model-item>
        <a-form-model-item v-else :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="校准公式">
        <a-form-model-item
          v-else
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="校准公式"
        >
          <a-input-group compact>
            <a-select
                style="width: 30%"
                defaultValue='AQI值'
                v-model="editData.type1"
              style="width: 30%"
              defaultValue="AQI值"
              v-model="editData.type1"
            >
              <a-select-option :value="item.key" :key="key" v-for="(item, key) in selectType">
              <a-select-option
                :value="item.key"
                :key="key"
                v-for="(item, key) in selectType"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-select
                v-model="editData.formula1"
                style="width: 30%;"
                placeholder="请选择"
              v-model="editData.formula1"
              style="width: 30%"
              placeholder="请选择"
            >
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                placeholder=""
                v-model="editData.val1"
              style="width: 40%; margin-top: 1px"
              placeholder=""
              v-model="editData.val1"
            >
              <a-icon slot="addonAfter" type="plus"/>
              <a-icon slot="addonAfter" type="plus" />
            </a-input>
          </a-input-group>
          <a-input-group compact>
            <a-input style="width: 30%" read-only value="测量值"/>
            <a-select style="width: 30%" placeholder="请选择" v-model="editData.formula2">
              <a-select-option :value="item.key" v-for="(item, key) in selectSymbol">
            <a-input style="width: 30%" read-only value="测量值" />
            <a-select
              style="width: 30%"
              placeholder="请选择"
              v-model="editData.formula2"
            >
              <a-select-option
                :value="item.key"
                v-for="(item, key) in selectSymbol"
              >
                {{ item.value }}
              </a-select-option>
            </a-select>
            <a-input
                style="width: 40%;margin-top: 1px"
                v-model="editData.val2"
              style="width: 40%; margin-top: 1px"
              v-model="editData.val2"
            >
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula"/>
              <a-icon slot="addonAfter" type="arrow-right" @click="gFormula" />
            </a-input>
          </a-input-group>
        </a-form-model-item>
        <a-form-model-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="公式" prop="cel">
        <a-form-model-item
          :labelCol="{ span: 5 }"
          :wrapperCol="{ span: 15 }"
          label="公式"
          prop="cel"
        >
          <a-input type="string" read-only v-model="editData.cel">
            <a-icon slot="addonAfter" type="close" @click="clearCel"/>
            <a-icon slot="addonAfter" type="close" @click="clearCel" />
          </a-input>
        </a-form-model-item>
      </a-form-model>
    </a-modal>
  </div>
</template>
@@ -398,6 +578,7 @@
    }).then((res: any) => {
      this.pagination.total = res.data.data.totalNumber
      this.dataSource = res.data.data.deviceAdjustValues
      console.log(parseInt(res.data.data.deviceAdjustValues[0].value));
    })
  }
@@ -748,7 +929,6 @@
</script>
<style lang="less">
.modalStyle {
  .ant-modal {
    margin-left: 25%;