| | |
| | | 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" |
| | |
| | | <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'" |
| | | 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" |
| | | > |
| | | <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-select |
| | | v-model="scope.row.predictItemId" |
| | | placeholder="请选择" |
| | | clearable> |
| | | <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> |
| | |
| | | <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'}) |
| | | |
| | |
| | | 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({ |
| | |
| | | const formRules = reactive({ |
| | | scheduleModelId: [{required: true, message: '调度模型不能为空', trigger: 'blur'}], |
| | | status: [{required: true, message: '状态不能为空', trigger: 'blur'}], |
| | | }) |
| | | const queryParams = reactive({ |
| | | itemtypeid: undefined, |
| | | }) |
| | | const formRef = ref() // 表单 Ref |
| | | |
| | |
| | | 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 方法,用于打开弹窗 |
| | |
| | | |
| | | function changeitemTypeId(row) { |
| | | row.predictItemId = '' |
| | | getInfo(row.itemTypeId) |
| | | } |
| | | |
| | | const getInfo = async (itemTypeId) => { |
| | | queryParams.itemtypeid = itemTypeId |
| | | predictItemList.value = await MmPredictItem.getMmPredictItemList(queryParams) |
| | | } |
| | | |
| | | function addAdjustConfigDet() { |