Crunchy
2024-07-25 7b6c3dc450c20525ddb64bbd9a20c3f0976ea147
src/components/do/b6-device-management/b6-data-acquisition-config.vue
@@ -19,15 +19,16 @@
        <el-table-column prop="fileType" align="center" label="文件后缀"></el-table-column>
        <el-table-column prop="collectUrl" align="center" min-width="100" show-overflow-tooltip label="采集地址"></el-table-column>
        <el-table-column prop="storageUrl" align="center" min-width="100" show-overflow-tooltip label="存储地址"></el-table-column>
        <el-table-column prop="ip" align="center" label="IP地址"></el-table-column>
        <el-table-column prop="ip" align="center" label="IP地址" min-width="100"></el-table-column>
        <el-table-column prop="sample" align="center" label="检验对象" show-overflow-tooltip min-width="150"></el-table-column>
        <el-table-column prop="inspectionItem" align="center" label="检验项" min-width="100"></el-table-column>
        <el-table-column prop="inspectionItemSubClass" align="center" label="检验项子项" min-width="100"></el-table-column>
        <el-table-column prop="referx" align="center" label="参照X"></el-table-column>
        <el-table-column prop="inspectionItemSubclass" align="center" label="检验项子项" min-width="100"></el-table-column>
        <el-table-column prop="referx" align="center" label="参照X" min-width="100"></el-table-column>
        <el-table-column prop="x" align="center" label="X"></el-table-column>
        <el-table-column prop="refery" align="center" label="参照Y"></el-table-column>
        <el-table-column prop="refery" align="center" label="参照Y" min-width="100"></el-table-column>
        <el-table-column prop="y" align="center" label="Y"></el-table-column>
        <el-table-column prop="formula" align="center" label="公式"></el-table-column>
        <el-table-column prop="section" label="操作" width="120">
        <el-table-column prop="section" fixed="right" label="操作" width="120">
          <template slot-scope="scope">
            <el-button type="text" @click="dataConfig(scope.row)">数采配置</el-button>
          </template>
@@ -83,6 +84,7 @@
        </div>
        <div class="fomItem2">
          <el-form-item class="fomItemInput1" label="公式:">
            <!-- <formula :returnFormula="evalResult"/> -->
            <el-input type="textarea" autosi:autosize="{ minRows: 2, maxRows: 4}"ze placeholder="请输入内容" v-model="configForm.formula" @change="evalResult"> </el-input>
          </el-form-item>
        </div>
@@ -121,6 +123,16 @@
          </el-option>
        </el-select>
         </div>
      <div v-if="configForm.fileType == '.mdb'" class="search_thing" style="margin-bottom: 14px;">
            <div class="search_label">委托字段:</div>
            <el-input size="small" placeholder="请输入" clearable
                  v-model="configForm.mdbEntrustCode"></el-input>
         </div>
      <div v-if="configForm.fileType == '.mdb'" class="search_thing" style="margin-bottom: 14px;">
            <div class="search_label">样品字段:</div>
            <el-input size="small" placeholder="请输入" clearable
                  v-model="configForm.mdbSampleCode"></el-input>
         </div>
      <span slot="footer" class="dialog-footer">
            <el-row>
               <el-button @click="dialogVisible4=false">取 消</el-button>
@@ -132,10 +144,13 @@
</template>
<script>
import formula from '../../tool/formula.vue'
export default {
  name: "dataAcquisitionConfig",
  // import 引入的组件需要注入到对象中才能使用
  components: {},
  components: {
    formula
  },
  props: {
    deviceId: {
      type: Number,
@@ -181,7 +196,7 @@
      specialSpanList: [],
      spanConfig: {
            special: {
              main: "inspectionItemSubClass",
              main: "inspectionItemSubclass",
              rows:[
              {
                name:'deviceName',
@@ -208,15 +223,15 @@
                index:6
              },
              {
                name:'inspectionItemSubClass',
                name:'inspectionItemSubclass',
                index:7
              },
              {
                name:'inspectionItemSubClass',
                name:'inspectionItemSubclass',
                index:12
              },
              {
                name:'inspectionItemSubClass',
                name:'inspectionItemSubclass',
                index:13
              }
            ]
@@ -296,9 +311,12 @@
        }
    },
    init() {
      this.tableList = []
      // this.tableList = []
      this.$axios.get(this.$api.deviceScope.queryDataAcquisitionConfiguration + "?deviceId=" + this.deviceId + "&isDevice=" + false).then(res => {
        this.tableList = res.data
        this.tableList.forEach(i => {
          i.sample = i.sample.replaceAll('"', '').replaceAll("],", ';').replaceAll("[", '').replaceAll('"', '').replaceAll(']', '')
        })
        if(this.tableList[0]) {
          this.$set(this.configForm, 'fileType', this.tableList[0].fileType)
          this.$set(this.configForm, 'collectUrl', this.tableList[0].collectUrl)
@@ -345,11 +363,13 @@
      this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration + "?deviceId=" + this.deviceId, obj, {headers: {
            'Content-Type': 'application/json'
          }}).then(res => {
        this.tableList = res.data
        this.dialogVisible4 = false
        this.upLoad4 = false
        this.init()
        this.$message.success('操作成功')
            if(res.code == 200) {
              this.tableList = res.data
              this.dialogVisible4 = false
              this.init()
              this.$message.success('操作成功')
            }
            this.upLoad4 = false
      }).catch(err => {
        this.upLoad4 = false
      })
@@ -357,10 +377,15 @@
    dataConfig (row) {
      this.configForm = {
        deviceId: row.deviceId,
        insProductItem: row.inspectionItemSubClass.trim()
        inspectionItem: row.inspectionItem.trim(),
        inspectionItemSubclass: row.inspectionItemSubclass,
        structureItemParameterId: row.structureItemParameterId
      }
      this.dialogVisible3 = true
      this.$axios.get(this.$api.deviceScope.queryDataAcquisitionConfiguration + "?deviceId=" + this.deviceId + "&insProductItem=" + row.inspectionItemSubClass.trim()  + "&isDevice=" + true).then(res => {
      this.$axios.get(this.$api.deviceScope.queryDataAcquisitionConfiguration + "?deviceId=" + this.deviceId +
      "&inspectionItem=" + row.inspectionItem.trim() +
      "&isDevice=" + true +
      "&inspectionItemSubclass=" + row.inspectionItemSubclass.trim()).then(res => {
        const data = res.data
        if(data[0]) {
          this.domains.splice(0, 1)
@@ -395,7 +420,9 @@
            }
            i.formula = this.configForm.formula
            i.deviceId = this.deviceId
            i.insProductItem = this.configForm.insProductItem
            i.inspectionItem = this.configForm.inspectionItem
            i.inspectionItemSubclass = this.configForm.inspectionItemSubclass
            i.structureItemParameterId = this.configForm.structureItemParameterId
          })
          this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration + "?deviceId=" + this.deviceId, {dataConfigList: this.domains, isDevice: false},{headers: {
            'Content-Type': 'application/json'
@@ -449,7 +476,8 @@
        id: ''
      });
    },
    evalResult () {
    evalResult (val) {
      this.configForm.formula = val
      // 根据公式计算出结果
    },
    sizeChange(val) {