gaoluyang
2024-07-12 ad38ee49ac3162c9a9781730774be5b12935c3c4
src/components/do/b6-device-management/b6-data-acquisition-config.vue
@@ -28,7 +28,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 +49,17 @@
        </div>
        <div class="fomItem1"
             v-for="(domain, index) in domains"
             :key="domain.refer1">
          <el-form-item class="fomItemInput" label="参照1:" :rules="[{required: true, message: '请填写', trigger: 'blur'}]">
             :key="index">
          <el-form-item class="fomItemInput" label="参照1:">
            <el-input v-model="domain.refer1"></el-input>
          </el-form-item>
          <el-form-item class="fomItemInput" label="参照2:" :rules="[{required: true, message: '请填写', trigger: 'blur'}]">
          <el-form-item class="fomItemInput" label="参照2:">
            <el-input v-model="domain.refer2"></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>
@@ -71,7 +71,7 @@
        </div>
        <div class="fomItem1">
          <el-form-item class="fomItemInput" label="公式:" prop="formula">
            <el-input v-model="configForm.formula"></el-input>
            <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>
@@ -80,7 +80,7 @@
      </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>
@@ -115,6 +115,9 @@
      dialogVisible3:false,
      configForm:{
        fileType: '',
        collectUrl: '',
        storageUrl: '',
        formula: '',
      },
      domains: [
        {
@@ -146,9 +149,16 @@
      // })
    },
    submitForm3() {
      this.$refs.configForm.validate((valid) => {
      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('请填写参照数据')
            } else {
              // 通过校验
            }
          })
        } else {
          console.log('error submit!!');
          return false;
@@ -156,12 +166,14 @@
      });
    },
    removeDomain(item) {
      // 删除公式formItem
      const index = this.domains.indexOf(item)
      if (index !== -1 && this.domains.length > 1) {
        this.domains.splice(index, 1)
      }
    },
    addDomain() {
      // 添加公式formItem
      this.domains.push({
        refer1: '',
        refer2: '',
@@ -169,12 +181,25 @@
        y: ''
      });
    },
    evalResult () {
      // 根据公式计算出结果
    },
    sizeChange(val) {
      this.page.size = val
    },
    currentChange(val) {
      this.page.current = val
    },
    closeForm () {
      this.domains = [{
        refer1: '',
        refer2: '',
        x: '',
        y: ''
      }]
      this.dialogVisible3 = false
      this.$refs.configForm.resetFields();
    }
  },
}
</script>