Fixiaobai
2023-11-03 f27ae4aa1a3b72bf8dc934efd6f084ba5a101a48
src/views/basic/param/param-form.vue
@@ -1,27 +1,25 @@
<template>
  <el-dialog
    v-diadrag
    :title="!dataForm.id ? '新增' : '修改'"
    :close-on-click-modal="false"
    :visible.sync="visible"
  >
    <el-form
      :model="dataForm"
      :rules="dataRule"
      ref="dataForm"
      label-width="80px"
      class="l-mes"
    >
  <el-dialog v-diadrag :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false" :visible.sync="visible">
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="80px" class="l-mes">
      <el-form-item label="参数编号" prop="code">
        <el-input v-model="dataForm.code" placeholder="参数编号"></el-input>
      </el-form-item>
      <el-form-item label="参数项" prop="parameterItem">
        <el-input
          v-model="dataForm.parameterItem"
          placeholder="参数项"
        ></el-input>
        <el-input v-model="dataForm.parameterItem" placeholder="参数项"></el-input>
      </el-form-item>
      <el-form-item label="参数类型" prop="type">
      <el-form-item label="二级参数" prop="secondId">
        <el-select v-model="dataForm.secondId" multiple collapse-tags style="width: 100%;" placeholder="请选择">
          <el-option v-for="item in optionsSecond" :key="item.id" :label="item.label" :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="三级级参数" prop="thirdId">
        <el-select v-model="dataForm.thirdId" multiple collapse-tags style="width: 100%;" placeholder="请选择">
          <el-option v-for="item in optionsThird" :key="item.id" :label="item.label" :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <!-- <el-form-item label="参数类型" prop="type">
        <el-select
          v-model="dataForm.type"
          filterable
@@ -66,7 +64,7 @@
      </el-form-item>
      <el-form-item label="单位" prop="unit">
        <el-input v-model="dataForm.unit" placeholder="单位"></el-input>
      </el-form-item>
      </el-form-item> -->
    </el-form>
    <span slot="footer" class="dialog-footer">
      <el-button @click="visible = false">取消</el-button>
@@ -84,11 +82,15 @@
    return {
      typeOptions: [],
      dictOptions: [],
      optionsSecond: [],
      optionsThird: [],
      visible: false,
      dataForm: {
        id: 0,
        code: '',
        parameterItem: '',
        secondId: null,
        thirdId: null,
        type: '',
        parameterFormat: '',
        unit: '',
@@ -98,6 +100,8 @@
        updateTime: '',
        dict: ''
      },
      secondParam: null,
      thirdParam: null,
      dataRule: {
        code: [
          { required: true, message: '参数编号不能为空', trigger: 'blur' }
@@ -105,10 +109,10 @@
        parameterItem: [
          { required: true, message: '参数项不能为空', trigger: 'blur' }
        ],
        type: [
          { required: true, message: '参数类型不能为空', trigger: 'blur' }
        ],
        unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }]
        // type: [
        //   { required: true, message: '参数类型不能为空', trigger: 'blur' }
        // ],
        // unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }]
      },
      clickDateArr: []
    }
@@ -116,6 +120,16 @@
  created() {
    this.getParamType()
    this.getDictOptions()
    remote('second_param').then((response) => {
      if (response.data.code === 0) {
        this.optionsSecond = response.data.data
      }
    })
    remote('third_param').then((response) => {
      if (response.data.code === 0) {
        this.optionsThird = response.data.data
      }
    })
  },
  methods: {
    init(id) {
@@ -171,7 +185,7 @@
      if (this.clickDateArr.length > 1) {
        if (
          this.clickDateArr[this.clickDateArr.length - 1] -
            this.clickDateArr[this.clickDateArr.length - 2] <
          this.clickDateArr[this.clickDateArr.length - 2] <
          2000
        ) {
          // 小于2秒则认为重复提交
@@ -185,23 +199,24 @@
              if (!response.data.data) {
                this.addOrUpdate()
              } else {
                // 增加参数项内容重复提示
                this.$confirm(
                  '参数项内容重复,编号:' +
                    response.data.data +
                    ',请确认是否继续',
                  '提示',
                  {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    closeOnClickModal: false,
                    type: 'warning'
                  }
                )
                  .then(() => {
                    this.addOrUpdate()
                  })
                  .catch(() => {})
                this.message.error('编号重复!')
                // // 增加参数项内容重复提示
                // this.$confirm(
                //   '参数项内容重复,编号:' +
                //   response.data.data +
                //   ',请确认是否继续',
                //   '提示',
                //   {
                //     confirmButtonText: '确定',
                //     cancelButtonText: '取消',
                //     closeOnClickModal: false,
                //     type: 'warning'
                //   }
                // )
                //   .then(() => {
                //     this.addOrUpdate()
                //   })
                //   .catch(() => { })
              }
            })
          }
@@ -221,6 +236,7 @@
          }
        })
      } else {
        addObj(this.dataForm).then((response) => {
          const data = response.data.data
          if (data.code === 0) {