src/api/model/sche/scheme/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/dict.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/data/point/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/pre/item/MmPredictItemChart.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/pre/item/MmPredictItemForm.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/pre/item/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/sche/model/ScheduleModelForm.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/model/sche/scheme/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/model/sche/scheme/index.ts
@@ -45,3 +45,16 @@ export const deleteScheduleScheme = (id: number) => { return request.delete({ url: '/model/sche/scheme/delete?id=' + id }) } // 启用 export const enable = (ids) => { const data = ids return request.put({ url: '/model/sche/scheme/enable', data }) } // 禁用 export const disable = (ids) => { const data = ids return request.put({ url: '/model/sche/scheme/disable', data }) } src/utils/dict.ts
@@ -165,7 +165,7 @@ MODEL_METHOD_SETTING_VALUE_TYPE = 'model_method_setting_value_type', PRED_GRANULARITY = 'pred_granularity', ITEM_RUN_STATUS = 'item_run_status', RESULT_TYPE = 'result_type', // ========== DATA - 数据平台模块 ========== DATA_FIELD_TYPE = 'data_field_type', TAG_DATA_TYPE = 'tag_data_type', src/views/data/point/index.vue
@@ -295,9 +295,8 @@ let ids = dataListSelections.map(item => { return item.id }) // 启用的二次确认 await message.enableConfirm(ids) // 二次确认 await message.confirm('确认要开启所选测点?') await DaPoint.enable(ids) message.success(t('common.enableSuccess')) await getList() @@ -307,9 +306,8 @@ let ids = dataListSelections.map(item => { return item.id }) // 启用的二次确认 await message.disableConfirm(ids,) // 二次确认 await message.confirm('确认要禁用所选测点?') await DaPoint.disable(ids) message.success(t('common.disableSuccess')) await getList() src/views/model/pre/item/MmPredictItemChart.vue
@@ -3,6 +3,7 @@ title="预测数据" :close-on-click-modal="false" width="50%" @close="dialogClose" v-model="visible" > <el-form @@ -12,7 +13,6 @@ > <el-form-item label="开始时间"> <el-date-picker size="mini" v-model="dataForm.startTime" format="YYYY-MM-DD HH:mm:00" value-format="YYYY-MM-DD HH:mm:00" @@ -22,7 +22,6 @@ </el-form-item> <el-form-item label="结束时间"> <el-date-picker size="mini" v-model="dataForm.endTime" format="YYYY-MM-DD HH:mm:00" value-format="YYYY-MM-DD HH:mm:00" @@ -79,9 +78,16 @@ dataForm.value.id = row.id; dataForm.value.itemName = row.itemname; if (row.id) { myChart = echarts.init(chartDomPre.value); myChart.clear() nextTick(() => { myChart = echarts.init(chartDomPre.value); }); getDataList(); } } const dialogClose = () => { if (myChart) { myChart.dispose(); // 组件卸载时销毁实例 } } @@ -96,12 +102,12 @@ chartParams.endTime = dataForm.value.endTime; const data = await McsApi.getPreDataItemChart(chartParams) let legendData = [] if (data.legend && data.legend.length > 0) { data.legend.forEach(item => { legendData.push(item + ":" + '真实值') legendData.push(item + ":" + '预测值') }) } // if (data.legend && data.legend.length > 0) { // data.legend.forEach(item => { // legendData.push(item + ":" + '真实值') // legendData.push(item + ":" + '预测值') // }) // } let seriesData = [] if (data.predictTime) { @@ -134,6 +140,7 @@ Object.keys(data.viewMap).forEach(key => { let viewData = data.viewMap[key] if(viewData.realData) { legendData.push(key + ":" + '真实值') seriesData.push({ name: key + ":" + '真实值', type: "line", @@ -147,6 +154,7 @@ }, }) } legendData.push(key + ":" + '预测值') seriesData.push({ name: key + ":" + '预测值', type: "line", src/views/model/pre/item/MmPredictItemForm.vue
@@ -298,7 +298,7 @@ <el-table-column prop="valuetype" label="类型" align="center" min-width="150"/> <el-table-column prop="" label="值" align="center" min-width="200"> <template #default="scope"> <el-input size="mini" v-model="scope.row.value" maxlength="1000" <el-input v-model="scope.row.value" maxlength="1000" :disabled="scope.row.key === 'pyFile'" style="width:100%;height:100%"/> </template> @@ -372,14 +372,12 @@ <template #default="scope"> <el-button @click="addRow(scope.$index, dataForm.mmModelParamList)" type="text" size="mini"> type="text"> 添加 </el-button> <el-button @click="deleteRow(scope.$index, scope.row, dataForm.mmModelParamList)" type="text" size="mini"> type="text"> 删除 </el-button> </template> src/views/model/pre/item/index.vue
@@ -97,7 +97,7 @@ <el-table-column label="运行时间" min-width="150" align="center" prop="lastTime"/> <el-table-column label="运行状态" align="center" prop="runStatus"> <template #default="scope"> <dict-tag :type="DICT_TYPE.ITEM_RUN_STATUS" :value="scope.row.runStatus" /> <dict-tag :type="DICT_TYPE.ITEM_RUN_STATUS" :value="scope.row.runStatus || 200" /> </template> </el-table-column> <el-table-column label="运行耗时(ms)" align="center" prop="duration"/> @@ -106,17 +106,15 @@ <el-button link type="primary" size="mini" @click="openForm('update', scope.row.id, scope.row.itemtypename)" v-hasPermi="['model:pre-item:update']" > 编辑 </el-button> <el-button link size="mini" type="primary" @click="chartHandle(scope.row)">数据</el-button> <el-button link type="primary" @click="chartHandle(scope.row)">数据</el-button> <el-button link type="danger" size="mini" @click="handleDelete(scope.row.id)" v-hasPermi="['model:pre-item:delete']" > src/views/model/sche/model/ScheduleModelForm.vue
@@ -282,14 +282,21 @@ :data="formData.modelOut" border style="width: 100%; margin-top: 5px;"> <el-table-column prop="resultKey`" label="输出key" align="center" min-width="100"> <el-table-column prop="resultKey" label="输出key" align="center" min-width="100"> <template #default="scope"> <el-input size="mini" v-model="scope.row.resultKey" style="width:100%;height:100%"/> </template> </el-table-column> <el-table-column prop="resultType`" label="数据类型" align="center" min-width="100"> <el-table-column prop="resultType" label="数据类型" align="center" min-width="150"> <template #default="scope"> <el-input size="mini" v-model="scope.row.resultType" style="width:100%;height:100%"/> <el-select v-model="scope.row.resultType" placeholder="请选择"> <el-option v-for="dict in getStrDictOptions(DICT_TYPE.RESULT_TYPE)" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </template> </el-table-column> <el-table-column prop="resultPort" label="角标1" align="center" min-width="100"> @@ -327,6 +334,7 @@ <el-table-column prop="disturbancePointNo’" label="无扰切换点位" align="center" min-width="200"> <template #default="scope"> <el-select v-model="scope.row.disturbancePointNo" clearable filterable placeholder="请选择"> <el-option src/views/model/sche/scheme/index.vue
@@ -36,6 +36,20 @@ 重置 </el-button> <el-button type="success" plain @click="enable" v-hasPermi="['sche:scheme:update']" >启用 </el-button> <el-button type="danger" plain @click="disable" v-hasPermi="['sche:scheme:update']" >禁用 </el-button> <el-button type="primary" plain @click="openForm('create')" @@ -50,7 +64,8 @@ <!-- 列表 --> <ContentWrap> <el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list" @selection-change="selectionChangeHandle"> <el-table-column type="selection" header-align="center" align="center" fixed="left" width="50"/> <el-table-column label="方案编号" align="center" prop="code" min-width="100"/> <el-table-column label="方案名称" header-align="center" align="left" prop="name" min-width="100"/> <el-table-column label="触发方式" align="center" prop="triggerMethod" min-width="100"> @@ -63,8 +78,14 @@ <el-table-column label="调整类型" align="center" prop="scheduleType" min-width="100"/> <el-table-column label=" 调整策略" align="center" prop="scheduleStrategy" min-width="100"/> <el-table-column label="调度时间" align="center" prop="scheduleTime" min-width="160" /> <el-table-column label="运行状态" align="center" prop="runStatus"> <template #default="scope"> <el-tag v-if="scope.row.runStatus + '' === '100'" size="small" type="success">{{scope.row.runStatus}}</el-tag> <el-tag v-else size="small" type="danger">{{scope.row.runStatus}}</el-tag> </template> </el-table-column> <el-table-column label="备注" header-align="center" align="left" prop="remark" min-width="160" /> <el-table-column label="状态" align="center" prop="status" min-width="100"> <el-table-column label="是否启用" align="center" prop="status" min-width="100"> <template #default="scope"> <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> </template> @@ -118,6 +139,9 @@ import * as ScheduleSchemeApi from '@/api/model/sche/scheme' import ScheduleSchemeForm from './ScheduleSchemeForm.vue' import RecordList from './record/index.vue' import * as DaPoint from "@/api/data/da/point"; import {reactive} from "vue"; import {InfraJobStatusEnum} from "@/utils/constants"; defineOptions({name: 'ScheduleScheme'}) @@ -186,6 +210,34 @@ recordRef.value.open(id) } let dataListSelections = reactive([]) // 多选 function selectionChangeHandle (val) { dataListSelections = val } // 启用 async function enable() { let ids = dataListSelections.map(item => { return item.id }) // 二次确认 await message.confirm('是否确认要启用所选调度方案?') await ScheduleSchemeApi.enable(ids) message.success(t('common.enableSuccess')) await getList() } // 禁用 async function disable(){ let ids = dataListSelections.map(item => { return item.id }) // 二次确认 await message.confirm('确认要禁用所选调度方案?') await ScheduleSchemeApi.disable(ids) message.success(t('common.disableSuccess')) await getList() } /** 初始化 **/ onMounted(async () => { await getList()