Crunchy
2024-07-13 cc364c01de920e57f0ba870ad239ba9a085274ff
src/components/do/b6-device-management/b6-data-acquisition-config.vue
@@ -14,7 +14,8 @@
      <el-table :data="tableList.slice((page.current - 1) * page.size, page.current * page.size)"
                border tooltip-effect="dark" style="width: 100%;" height="100%">
        <el-table-column type="index" label="序号" align="center" width="65"></el-table-column>
        <el-table-column prop="insProductItem" align="center" label="检验项目"></el-table-column>
        <el-table-column prop="insProductItem" align="center" label="检验项目">
        </el-table-column>
        <el-table-column prop="section" label="操作" width="120">
          <template slot-scope="scope">
            <el-button type="text" @click="dataConfig(scope.row)">数采配置</el-button>
@@ -28,7 +29,7 @@
                     :total="tableList.length">
      </el-pagination>
    </div>
    <el-dialog title="数采配置" :visible.sync="dialogVisible3" width="920px" :before-close="submitForm3">
    <el-dialog title="数采配置" :visible.sync="dialogVisible3" width="920px" :before-close="closeForm">
      <el-form :model="configForm" :rules="rules" label-position="top" size="small"
               ref="configForm" label-width="100px" class="demo-ruleForm">
        <div class="fomItem1">
@@ -49,17 +50,17 @@
        </div>
        <div class="fomItem1"
             v-for="(domain, index) in domains"
             :key="domain.refer1">
          <el-form-item class="fomItemInput" label="参照1:" :prop="'domain.' + index + '.refer1'" :rules="[{required: true, message: '请填写', trigger: 'blur'}]">
            <el-input v-model="domain.refer1"></el-input>
             :key="index">
          <el-form-item class="fomItemInput" label="参照X:">
            <el-input v-model="domain.referx"></el-input>
          </el-form-item>
          <el-form-item class="fomItemInput" label="参照2:" :rules="[{required: true, message: '请填写', trigger: 'blur'}]">
            <el-input v-model="domain.refer2"></el-input>
          <el-form-item class="fomItemInput" label="参照Y:">
            <el-input v-model="domain.refery"></el-input>
          </el-form-item>
          <el-form-item class="fomItemInput" label="X:" :rules="[{required: true, message: '请填写', trigger: 'blur'}]">
          <el-form-item class="fomItemInput" label="X:">
            <el-input v-model="domain.x"></el-input>
          </el-form-item>
          <el-form-item class="fomItemInput" label="Y:" :rules="[{required: true, message: '请填写', trigger: 'blur'}]">
          <el-form-item class="fomItemInput" label="Y:">
            <el-input v-model="domain.y"></el-input>
          </el-form-item>
          <el-form-item>
@@ -73,14 +74,11 @@
          <el-form-item class="fomItemInput" label="公式:" prop="formula">
            <el-input v-model="configForm.formula" @change="evalResult"></el-input>
          </el-form-item>
          <el-form-item class="fomItemInput" label="结果:" prop="result">
            <el-input v-model="configForm.result" disabled></el-input>
          </el-form-item>
        </div>
      </el-form>
      <span slot="footer" class="dialog-footer">
            <el-row>
               <el-button @click="dialogVisible3=false">取 消</el-button>
               <el-button @click="closeForm">取 消</el-button>
               <el-button type="primary" @click="submitForm3" :loading="upLoad3">确 定</el-button>
            </el-row>
         </span>
@@ -99,6 +97,12 @@
      default: () => []
    }
  },
  mounted() {
    this.tableList.forEach(i => {
      let data = i.insProductItem.split(',')
      i.insProductItem = data[data.length - 1]
    })
  },
  data() {
    // 这里存放数据
    return {
@@ -115,31 +119,37 @@
      dialogVisible3:false,
      configForm:{
        fileType: '',
        collectUrl: '',
        storageUrl: '',
        formula: '',
      },
      domains: [
        {
          refer1: '',
          refer2: '',
          referx: '',
          refery: '',
          x: '',
          y: ''
        }
      ],
      upLoad3:false,
      fileTypeOptions: [
        {label: 'csv', value: 'csv'},
        {label: 'db', value: 'db'},
        {label: 'mdb', value: 'mdb'},
        {label: 'word', value: 'word'},
        {label: 'excel', value: 'excel'},
        {label: 'txt', value: 'txt'},
        {label: 'pdf', value: 'pdf'},
        {label: 'csv', value: '.csv'},
        {label: 'db', value: '.db'},
        {label: 'mdb', value: '.mdb'},
        {label: 'word', value: '.docx'},
        {label: 'excel', value: '.xlsx'},
        {label: 'txt', value: '.txt'},
        {label: 'png', value: '.png'},
      ]
    }
  },
  // 方法集合
  methods: {
    dataConfig (row) {
      this.configForm = {}
      this.configForm = {
        deviceId: row.deviceId,
        insProductItem: row.insProductItem
      }
      this.dialogVisible3 = true
      // this.$axios.post(this.$api.deviceScope.getNumberCollect+'?id='+row.id).then(res => {
      //   this.configForm = res.data
@@ -148,9 +158,25 @@
    submitForm3() {
      this.$refs.configForm.validate((valid) => { // 表单校验
        if (valid) {
          alert('submit!');
          this.domains.forEach(item => {
            const isEmpty = Object.values(item).every(val => val === '')
            if (isEmpty) {
              this.$message.error('请填写参照数据')
            }
          })
          this.domains.forEach(i => {
            i.fileType = this.configForm.fileType
            i.collectUrl = this.configForm.collectUrl
            i.storageUrl = this.configForm.storageUrl
            i.formula = this.configForm.formula
            i.deviceId = this.configForm.deviceId
            i.insProductItem = this.configForm.insProductItem
          })
          console.log(`output->this.domains`,this.domains)
          this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration, this.domains).then(res => {
            console.log(`output->res`,res)
          })
        } else {
          console.log('error submit!!');
          return false;
        }
      });
@@ -165,8 +191,8 @@
    addDomain() {
      // 添加公式formItem
      this.domains.push({
        refer1: '',
        refer2: '',
        referx: '',
        refery: '',
        x: '',
        y: ''
      });
@@ -180,6 +206,16 @@
    currentChange(val) {
      this.page.current = val
    },
    closeForm () {
      this.domains = [{
        referx: '',
        refery: '',
        x: '',
        y: ''
      }]
      this.dialogVisible3 = false
      this.$refs.configForm.resetFields();
    }
  },
}
</script>