liriming
10 天以前 a484d883e1265f683dbf742b30799ca1324f5bd0
模拟调整
已修改3个文件
66 ■■■■■ 文件已修改
src/utils/dict.ts 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/sche/adjust/AdjustConfigForm.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/sche/adjust/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict.ts
@@ -192,5 +192,6 @@
  DATA_QUALITY = 'data_quality',
  ARC_TYPE = 'arc_type',
  ARC_CALCULATE_TYPE = 'arc_calculate_type',
  SOLIDIFY_FLAG = 'ind_solidify_flag'
  SOLIDIFY_FLAG = 'ind_solidify_flag',
  MODEL_STATUS = 'model_status'
}
src/views/model/sche/adjust/AdjustConfigForm.vue
@@ -28,7 +28,7 @@
              clearable
              style="width: 100%">
              <el-option
                v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
                v-for="dict in getIntDictOptions(DICT_TYPE.MODEL_STATUS)"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
@@ -58,44 +58,25 @@
        <el-table-column prop="sort" label="执行顺序" align="center" width="90px"/>
        <el-table-column label="预测项类型" align="center" width="220px">
          <template #default="scope">
            <el-select v-model="scope.row.itemTypeId" placeholder="请选择" @change="changeitemTypeId(scope.row)">
            <el-select v-model="scope.row.itemTypeId" placeholder="请选择" clearable @change="changeitemTypeId(scope.row)">
              <el-option
                v-for="dict in getStrDictOptions(DICT_TYPE.MODEL_PARAM_TYPE)"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
                v-for="item in itemTypeList"
                :key="item.id"
                :label="item.itemtypename"
                :value="item.id"/>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column label="预测项名" align="center" width="300px">
          <template #default="scope">
            <el-select v-if="scope.row.itemTypeId === 'NormalItem'"
            <el-select
                       v-model="scope.row.predictItemId"
                       placeholder="请选择"
                       filterable
                       style="width: 100%">
              <el-option-group
                v-for="group in modelparamListMap['NormalItem']"
                :key="group.value"
                :label="group.label"
              >
              clearable>
                <el-option
                  v-for="item in group.children"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                />
              </el-option-group>
            </el-select>
            <el-select v-else
                       v-model="scope.row.predictItemId"
                       filterable
                       placeholder="请选择">
              <el-option
                v-for="(item, index) in modelparamListMap[scope.row.itemTypeId]"
                :key="index"
                :label="item.name"
                v-for="item in predictItemList"
                :key="item.id"
                :label="item.itemname"
                :value="item.id"/>
            </el-select>
          </template>
@@ -141,8 +122,9 @@
<script lang="ts" setup>
import * as AdjustConfigApi from '@/api/model/sche/adjust'
import * as MmItemType from "@/api/model/pre/type";
import * as MmPredictItem from "@/api/model/pre/item";
import * as ScheduleModelApi from "@/api/model/sche/model";
import {DICT_TYPE, getIntDictOptions, getStrDictOptions} from "@/utils/dict";
import {DICT_TYPE, getIntDictOptions} from "@/utils/dict";
defineOptions({name: 'AdjustConfigForm'})
@@ -153,7 +135,7 @@
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const formType = ref('') // 表单的类型:create - 新增;update - 修改
const itemTypeList = ref([])
const itemTypeMap = ref({})
const predictItemList = ref([])
const scheduleModelList = ref([] as ScheduleModelApi.ScheduleModelVO[])
const modelparamListMap = ref({})
const dataForm = ref({
@@ -166,6 +148,9 @@
const formRules = reactive({
  scheduleModelId: [{required: true, message: '调度模型不能为空', trigger: 'blur'}],
  status: [{required: true, message: '状态不能为空', trigger: 'blur'}],
})
const queryParams = reactive({
  itemtypeid: undefined,
})
const formRef = ref() // 表单 Ref
@@ -188,12 +173,10 @@
  scheduleModelList.value = await ScheduleModelApi.getScheduleModelList()
  // 加载参数列表
  modelparamListMap.value = await ScheduleModelApi.getModelParamList()
  // 获取预测项类型列表
  itemTypeList.value = await MmItemType.getItemTypeList()
  itemTypeList.value.forEach(function (value) {
    itemTypeMap[value.id] = value.itemtypename
  })
  predictItemList.value = await MmPredictItem.getMmPredictItemList(queryParams)
}
defineExpose({open}) // 提供 open 方法,用于打开弹窗
@@ -226,6 +209,12 @@
function changeitemTypeId(row) {
  row.predictItemId = ''
  getInfo(row.itemTypeId)
}
const getInfo = async (itemTypeId) => {
  queryParams.itemtypeid = itemTypeId
  predictItemList.value = await MmPredictItem.getMmPredictItemList(queryParams)
}
function addAdjustConfigDet() {
src/views/model/sche/adjust/index.vue
@@ -56,7 +56,7 @@
      <el-table-column label="模型名称" header-align="center" align="left" prop="modelName" min-width="100"/>
      <el-table-column label="状态" align="center" prop="status">
        <template #default="scope">
          <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
          <dict-tag :type="DICT_TYPE.MODEL_STATUS" :value="scope.row.status" />
        </template>
      </el-table-column>
      <el-table-column label="备注" header-align="center" align="left" prop="remark" min-width="160" />