Jay
2024-10-16 67e80dd003afb30ab67ac8c4e63bee4abb34bb7a
src/views/data/ind/item/AtomIndDefineForm.vue
@@ -44,31 +44,24 @@
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="8">
        <el-col :span="6">
          <el-form-item label="指标精度" prop="precision">
            <el-input v-model="formData.precision"/>
          </el-form-item>
        </el-col>
        <el-col :span="8">
        <el-col :span="6">
          <el-form-item label="转换系数" prop="coefficient">
            <el-input v-model="formData.coefficient"/>
          </el-form-item>
        </el-col>
        <el-col :span="8">
        <el-col :span="6">
          <el-form-item label="数量单位" prop="unit">
            <el-input v-model="formData.unit"/>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
          <el-form-item label="备注" prop="remark">
            <el-input v-model="formData.remark" type="textarea" maxlength="100"/>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="12">
        <el-col :span="6">
          <el-form-item label="数据集" prop="atomItem.dataSet">
            <el-select v-model="formData.atomItem.dataSet" clearable placeholder="请选择数据集" @change="handleDataSetChange($event)">
              <el-option
@@ -80,28 +73,35 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
        <el-col :span="6">
          <el-form-item label="使用字段" prop="atomItem.usingField">
            <el-select v-model="formData.atomItem.usingField" clearable placeholder="请选择字段">
              <el-option
                v-for="item in dataSetFieldList"
                :key="item.id"
                :label="item.fieldCode"
                :value="item.id + ''"
                :value="item.fieldCode"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
        <el-col :span="6">
          <el-form-item label="统计方式" prop="statFunc">
            <el-select v-model="formData.atomItem.statFunc" placeholder="请选择">
            <el-select v-model="formData.atomItem.statFunc" clearable placeholder="请选择">
              <el-option
                v-for="dict in getStrDictOptions(DICT_TYPE.STAT_FUNC)"
                v-for="dict in getStrDictOptions(DICT_TYPE.DATA_STAT_FUNC)"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
          <el-form-item label="备注" prop="remark">
            <el-input v-model="formData.remark" type="textarea" maxlength="100"/>
          </el-form-item>
        </el-col>
      </el-row>
@@ -135,8 +135,8 @@
    itemName: '',
    itemType: '',
    itemCategory: '',
    coefficient: '',
    precision: '',
    coefficient: 1,
    precision: 0,
    businessType: '',
    timeRange: '',
    timeGranularity: '',
@@ -157,10 +157,12 @@
  const formRules = reactive({
    itemName: [{required: true, message: '指标名称不能为空', trigger: 'blur'}],
    itemCategory: [{required: true, message: '指标分类不能为空', trigger: 'blur'}],
    precision: [{validator: validateAsNumber, trigger: 'blur' }],
    /*precision: [{validator: validateAsNumber, trigger: 'blur' }],
    coefficient: [{validator: validateAsNumber, trigger: 'blur' }],
    statFunc: [{required: true, message: '统计方式不能为空', trigger: 'blur'}],
    timeGranularity: [{required: true, message: '时间粒度不能为空', trigger: 'blur'}],
    "atomItem.dataSet": [{required: true, message: '数据集不能为空', trigger: 'blur'}],
    "atomItem.usingField":[{required: true, message: '使用字段不能为空', trigger: 'blur'}]
    "atomItem.usingField":[{required: true, message: '使用字段不能为空', trigger: 'blur'}]*/
  })
  const formRef = ref() // 表单 Ref
  const dataSetList = ref([] as DataSetApi.DataSetVO[])
@@ -197,6 +199,7 @@
  /** 提交表单 */
  const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
  const submitForm = async () => {
    debugger
    // 校验表单
    if (!formRef) return
    const valid = await formRef.value.validate()
@@ -234,8 +237,8 @@
      itemName: '',
      itemType: '',
      itemCategory: '',
      coefficient: '',
      precision: '',
      coefficient: 1,
      precision: 0,
      businessType: '',
      timeRange: '',
      timeGranularity: '',