From 6badb7f5f0c0830fe2abd0d85e6f1569bf2f1e1e Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 10 九月 2024 09:31:09 +0800
Subject: [PATCH] 调度方案配置

---
 src/views/model/mcs/sche/model/ScheduleModelForm.vue   |   98 +++++++-----
 src/api/model/sche/scheme/index.ts                     |    6 
 src/utils/dict.ts                                      |    7 
 src/views/model/mcs/sche/scheme/ScheduleSchemeForm.vue |  266 +++++++-------------------------
 src/api/model/sche/model/index.ts                      |   23 ++
 src/views/model/mcs/sche/model/index.vue               |   24 +-
 src/views/model/mcs/sche/scheme/index.vue              |   29 ++-
 7 files changed, 178 insertions(+), 275 deletions(-)

diff --git a/src/api/model/sche/model/index.ts b/src/api/model/sche/model/index.ts
index 4a557dd..7d7d9d0 100644
--- a/src/api/model/sche/model/index.ts
+++ b/src/api/model/sche/model/index.ts
@@ -37,12 +37,12 @@
 
 // 查询ScheduleModel详情
 export const getScheduleModel = (id: number) => {
-  return request.get({ url: `/model/sche/model/info/${id}`})
+  return request.get({ url: '/model/sche/model/get?id=' + id})
 }
 
 // 新增ScheduleModel
 export const createScheduleModel = (data: ScheduleModelVO) => {
-  return request.post({ url: '/model/sche/model/add', data })
+  return request.post({ url: '/model/sche/model/create', data })
 }
 
 // 修改ScheduleModel
@@ -55,9 +55,24 @@
   return request.delete({ url: '/model/sche/model/delete?id=' + id })
 }
 
+// 查询ScheduleModel列表
+export const getScheduleModelList = () => {
+  return request.get({ url: '/model/sche/model/list'})
+}
+
 // 查询模型参数列表
 export const getModelParamList = () => {
-  let modelparamListMap = []
+  // let modelparamListMap = [
+  //   {
+  //     modelparamportorder: '',
+  //     modelparamorder: '',
+  //     modelparamtype: '',
+  //     modelparamid: '',
+  //     datalength: 0
+  //   }
+  // ]
 
-  return modelparamListMap
+  //let modelparamListMap = {}
+
+  return {}
 }
diff --git a/src/api/model/sche/scheme/index.ts b/src/api/model/sche/scheme/index.ts
index 819f346..3d3971f 100644
--- a/src/api/model/sche/scheme/index.ts
+++ b/src/api/model/sche/scheme/index.ts
@@ -1,6 +1,6 @@
 import request from '@/config/axios'
 
-export interface ScheduleScheme {
+export interface ScheduleSchemeVO {
   id: string
   code: string
   name: string
@@ -27,12 +27,12 @@
 
 // 查询ScheduleScheme详情
 export const getScheduleScheme = (id: number) => {
-  return request.get({ url: `/model/sche/scheme/info/${id}`})
+  return request.get({ url: '/model/sche/scheme/get?id=' + id})
 }
 
 // 新增ScheduleScheme
 export const createScheduleScheme = (data: ScheduleSchemeVO) => {
-  return request.post({ url: '/model/sche/scheme/add', data })
+  return request.post({ url: '/model/sche/scheme/create', data })
 }
 
 // 修改ScheduleScheme
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 7fbcfeb..75032aa 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -226,5 +226,10 @@
   AI_WRITE_LENGTH = 'ai_write_length', // AI 写作长度
   AI_WRITE_FORMAT = 'ai_write_format', // AI 写作格式
   AI_WRITE_TONE = 'ai_write_tone', // AI 写作语气
-  AI_WRITE_LANGUAGE = 'ai_write_language' // AI 写作语言
+  AI_WRITE_LANGUAGE = 'ai_write_language', // AI 写作语言
+
+  // ========== MODEL - 模型管理模块  ==========
+  SCHE_MODEL_TYPE = 'sche_model_type',
+  SCHE_MODEL_INVOCATION = 'sche_model_invocation',
+  SCHE_TRIGGER_METHOD = 'sche_trigger_method'
 }
diff --git a/src/views/model/mcs/sche/model/ScheduleModelForm.vue b/src/views/model/mcs/sche/model/ScheduleModelForm.vue
index 7fb2af6..50d2727 100644
--- a/src/views/model/mcs/sche/model/ScheduleModelForm.vue
+++ b/src/views/model/mcs/sche/model/ScheduleModelForm.vue
@@ -1,5 +1,5 @@
 <template>
-  <Dialog v-model="dialogVisible" :title="dialogTitle" width="50%">
+  <Dialog v-model="dialogVisible" :title="dialogTitle" width="60%">
     <el-form
       ref="formRef"
       v-loading="formLoading"
@@ -22,12 +22,26 @@
       <el-row>
         <el-col :span="12">
           <el-form-item label="模型类型" prop="modelType">
-            <el-input v-model="formData.modelType" placeholder="请输入模型类型" />
+            <el-select v-model="formData.modelType" placeholder="请选择">
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.SCHE_MODEL_TYPE)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="调用方式" prop="invocation">
-            <el-input v-model="formData.invocation" placeholder="调用方式" />
+            <el-select v-model="formData.invocation" placeholder="请选择">
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.SCHE_MODEL_INVOCATION)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
@@ -46,7 +60,7 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="参数数量" prop="portLength">
-            <el-input v-model="formData.portLength" placeholder="请输入参数数量 " />
+            <el-input-number v-model="formData.sort" :min="0" controls-position="right" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -60,7 +74,7 @@
       <el-row>
         <el-col :span="24">
           <el-form-item label="模型路径" prop="modelPath">
-            <el-input v-model="formData.modelPath" placeholder="模型路径 " />
+            <el-input v-model="formData.modelPath" placeholder="模型路径" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -74,9 +88,9 @@
           label="端口"
           width="100"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.modelparamportorder" maxlength="5" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%; hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
@@ -84,9 +98,9 @@
           label="序号"
           width="100"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.modelparamorder" maxlength="5" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%;hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
@@ -94,7 +108,7 @@
           label="类型"
           width="150"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-select v-model="scope.row.modelparamtype" placeholder="请选择">
               <el-option
                 v-for="dict in getIntDictOptions(DICT_TYPE.MODEL_PARAM_TYPE)"
@@ -105,34 +119,33 @@
             </el-select>
           </template>
         </el-table-column>
-        <el-table-column
+        <!--<el-table-column
           prop=""
           label="参数名称"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-select
               size="mini"
               v-model="scope.row.modelparamid"
               filterable
               placeholder="请选择">
               <el-option
-                v-for="(item, index) in modelparamListMap[scope.row.modelparamtype]"
+                v-for="(item, index) in modelparamListMap.[scope.row.modelparamtype]"
                 :key="index"
                 :label="item.name"
                 :value="item.id"
-                :disabled="!(item.type === scope.row.modelparamtype)">
-              </el-option>
+                :disabled="!(item.type === scope.row.modelparamtype)"/>
             </el-select>
           </template>
-        </el-table-column>
+        </el-table-column>-->
         <el-table-column
           prop=""
           label="参数长度"
           width="120"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.datalength" maxlength="50" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%;hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
@@ -140,16 +153,18 @@
           label="操作"
           width="100"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-button
-              @click.native.prevent="addRow(scope.$index, formData.paramList)"
-              type="text"
+              link
+              @click.prevent="addRow(scope.$index, formData.paramList)"
+              type="primary"
               size="small">
               添加
             </el-button>
             <el-button
-              @click.native.prevent="deleteRow(scope.$index, formData.paramList)"
-              type="text"
+              link
+              @click.prevent="deleteRow(scope.$index, formData.paramList)"
+              type="primary"
               size="small">
               删除
             </el-button>
@@ -159,43 +174,43 @@
 
       <el-divider content-position="left">设置参数</el-divider>
       <el-table
-        :data="formData.paramList"
+        :data="formData.settingList"
         border
         style="width: 100%; margin-top: 5px;">
         <el-table-column
           prop=""
           label="键"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.key" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%;hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
           prop=""
           label="名称"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.name" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%;hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
           prop=""
           label="类型"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.valuetype" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%;hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
           prop=""
           label="值"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-input size="mini" v-model="scope.row.value" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
+                      style="width:100%;hight:100%"/>
           </template>
         </el-table-column>
         <el-table-column
@@ -203,16 +218,18 @@
           label="操作"
           width="100"
           align="center">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-button
-              @click.native.prevent="addRow(scope.$index, formData.settingList)"
-              type="text"
+              @click.prevent="addRow(scope.$index, formData.settingList)"
+              link
+              type="primary"
               size="small">
               添加
             </el-button>
             <el-button
-              @click.native.prevent="deleteRow(scope.$index, formData.settingList)"
-              type="text"
+              @click.prevent="deleteRow(scope.$index, formData.settingList)"
+              link
+              type="primary"
               size="small">
               删除
             </el-button>
@@ -230,7 +247,6 @@
   import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
   import * as ScheduleModelApi from '@/api/model/sche/model'
   import { CommonStatusEnum } from '@/utils/constants'
-  import * as DataSourceConfigApi from "@/api/infra/dataSourceConfig";
 
   defineOptions({ name: 'ScheduleModelForm' })
 
@@ -273,7 +289,7 @@
     modelType: [{ required: true, message: '模型类型不能为空', trigger: 'blur' }]
   })
   const formRef = ref() // 表单 Ref
-  const modelparamListMap = ref([] as ScheduleModelApi.ModelParamVO[])
+  const modelparamListMap = ref({})
 
   const addRow = function (index, rows) {
     let row = JSON.parse(JSON.stringify(rows[index]))
@@ -319,7 +335,7 @@
       }
 
       // 加载数据源列表
-      modelparamListMap.value = await ScheduleModelApi.getModelParamList()
+      //modelparamListMap.value = await ScheduleModelApi.getModelParamList()
     }
   }
   defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -364,7 +380,7 @@
       modelPath: undefined,
       resultStrId: undefined,
       invocation: undefined,
-      status: undefined,
+      status: CommonStatusEnum.ENABLE,
       paramList: [{
         modelparamportorder: '1',
         modelparamorder: '1',
diff --git a/src/views/model/mcs/sche/model/index.vue b/src/views/model/mcs/sche/model/index.vue
index 1845882..8d888a6 100644
--- a/src/views/model/mcs/sche/model/index.vue
+++ b/src/views/model/mcs/sche/model/index.vue
@@ -51,17 +51,19 @@
   <!-- 列表 -->
   <ContentWrap>
     <el-table v-loading="loading" :data="list">
-      <el-table-column label="模型编号" align="center" prop="modelCode" />
-      <el-table-column label="模型名称" align="center" prop="modelName" />
-      <el-table-column label="模型类型" align="center" prop="modelType" />
-      <el-table-column label="类名" align="center" prop="className" />
-      <el-table-column label="方法名" align="center" prop="methodName" />
-      <el-table-column label="输入参数数量" align="center" prop="portLength" />
-      <el-table-column label="参数构造" align="center" prop="paramStructure" />
-      <el-table-column label=" 模型路径" align="center" prop="modelPath" />
-      <el-table-column label="调用方式" align="center" prop="invocation" />
-      <el-table-column label="状态" align="center" prop="status" />
-      <el-table-column label="操作" align="center" min-width="110" fixed="right">
+      <el-table-column label="模型编号" align="center" prop="modelCode" min-width="100"/>
+      <el-table-column label="模型名称" align="center" prop="modelName" min-width="100"/>
+      <el-table-column label="模型类型" align="center" prop="modelType" min-width="100"/>
+      <el-table-column label="类名" align="center" prop="className" min-width="200"/>
+      <el-table-column label="方法名" align="center" prop="methodName" min-width="100"/>
+      <el-table-column label="参数数量" align="center" prop="portLength" min-width="100"/>
+      <el-table-column label="参数构造" align="center" prop="paramStructure" min-width="200" />
+      <el-table-column label="调用方式" align="center" prop="invocation" min-width="100">
+        <template #default="scope">
+          <dict-tag :type="DICT_TYPE.SCHE_MODEL_INVOCATION" :value="scope.row.invocation" />
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" min-width="100" fixed="right">
         <template #default="scope">
           <el-button
             link
diff --git a/src/views/model/mcs/sche/scheme/ScheduleSchemeForm.vue b/src/views/model/mcs/sche/scheme/ScheduleSchemeForm.vue
index 3cb219b..f7c0b44 100644
--- a/src/views/model/mcs/sche/scheme/ScheduleSchemeForm.vue
+++ b/src/views/model/mcs/sche/scheme/ScheduleSchemeForm.vue
@@ -9,216 +9,75 @@
     >
       <el-row>
         <el-col :span="12">
-          <el-form-item label="模型编号" prop="modelCode">
-            <el-input v-model="formData.modelCode" placeholder="请输入模型编号" />
+          <el-form-item label="方案编号" prop="code">
+            <el-input v-model="formData.code" placeholder="请输入方案编号" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="模型名称" prop="modelName">
-            <el-input v-model="formData.modelName" placeholder="请输入模型名称" />
+          <el-form-item label="方案名称" prop="name">
+            <el-input v-model="formData.name" placeholder="请输入方案名称" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row>
         <el-col :span="12">
-          <el-form-item label="模型类型" prop="modelType">
-            <el-input v-model="formData.modelType" placeholder="请输入模型类型" />
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="调用方式" prop="invocation">
-            <el-input v-model="formData.invocation" placeholder="调用方式" />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item label="类名" prop="className">
-            <el-input v-model="formData.className" placeholder="请输入类名 " />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="方法名" prop="methodName">
-            <el-input v-model="formData.methodName" placeholder="请输入方法名 " />
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="参数数量" prop="portLength">
-            <el-input v-model="formData.portLength" placeholder="请输入参数数量 " />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item label="参数构造" prop="paramStructure">
-            <el-input v-model="formData.paramStructure" placeholder="请输入参数构造 " />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
-          <el-form-item label="模型路径" prop="modelPath">
-            <el-input v-model="formData.modelPath" placeholder="模型路径 " />
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-divider content-position="left">输入参数</el-divider>
-      <el-table
-        :data="formData.paramList"
-        border
-        style="width: 100%; margin-top: 5px;">
-        <el-table-column
-          prop=""
-          label="端口"
-          width="100"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.modelparamportorder" maxlength="5" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="序号"
-          width="100"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.modelparamorder" maxlength="5" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="类型"
-          width="150"
-          align="center">
-          <template slot-scope="scope">
-            <el-select v-model="scope.row.modelparamtype" placeholder="请选择">
+          <el-form-item label="触发方式" prop="triggerMethod">
+            <el-select v-model="formData.triggerMethod" placeholder="请选择">
               <el-option
-                v-for="dict in getIntDictOptions(DICT_TYPE.MODEL_PARAM_TYPE)"
+                v-for="dict in getIntDictOptions(DICT_TYPE.SCHE_TRIGGER_METHOD)"
                 :key="dict.value"
                 :label="dict.label"
                 :value="dict.value"
               />
             </el-select>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="参数名称"
-          align="center">
-          <template slot-scope="scope">
-            <el-select
-              size="mini"
-              v-model="scope.row.modelparamid"
-              filterable
-              placeholder="请选择">
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="触发条件" prop="triggerCondition">
+            <el-input v-model="formData.triggerCondition" placeholder="请输入触发条件" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="调整对象" prop="scheduleObj">
+            <el-input v-model="formData.scheduleObj" placeholder="请输入调整对象" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="调整类型" prop="scheduleType">
+            <el-input v-model="formData.scheduleType" placeholder="请输入调整类型" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="调整策略" prop="scheduleStrategy">
+            <el-input v-model="formData.scheduleStrategy" placeholder="请输入调整策略 " />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="调度模型" prop="modelId">
+            <el-select v-model="formData.modelId" clearable placeholder="请选择调度模型">
               <el-option
-                v-for="(item, index) in modelparamListMap[scope.row.modelparamtype]"
-                :key="index"
-                :label="item.name"
+                v-for="item in scheduleModelList"
+                :key="item.id"
+                :label="item.modelName"
                 :value="item.id"
-                :disabled="!(item.type === scope.row.modelparamtype)">
-              </el-option>
+              />
             </el-select>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="参数长度"
-          width="120"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.datalength" maxlength="50" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="操作"
-          width="100"
-          align="center">
-          <template slot-scope="scope">
-            <el-button
-              @click.native.prevent="addRow(scope.$index, formData.paramList)"
-              type="text"
-              size="small">
-              添加
-            </el-button>
-            <el-button
-              @click.native.prevent="deleteRow(scope.$index, formData.paramList)"
-              type="text"
-              size="small">
-              删除
-            </el-button>
-          </template>
-        </el-table-column>
-      </el-table>
 
-      <el-divider content-position="left">设置参数</el-divider>
-      <el-table
-        :data="formData.paramList"
-        border
-        style="width: 100%; margin-top: 5px;">
-        <el-table-column
-          prop=""
-          label="键"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.key" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="名称"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.name" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="类型"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.valuetype" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="值"
-          align="center">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.value" maxlength="256" clearable
-                      style="width:100%;hight:100%"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop=""
-          label="操作"
-          width="100"
-          align="center">
-          <template slot-scope="scope">
-            <el-button
-              @click.native.prevent="addRow(scope.$index, formData.settingList)"
-              type="text"
-              size="small">
-              添加
-            </el-button>
-            <el-button
-              @click.native.prevent="deleteRow(scope.$index, formData.settingList)"
-              type="text"
-              size="small">
-              删除
-            </el-button>
-          </template>
-        </el-table-column>
-      </el-table>
+          </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" placeholder="请输入备注"  type="textarea" maxlength="100"
+                      show-word-limit/>
+          </el-form-item>
+        </el-col>
+      </el-row>
     </el-form>
     <template #footer>
       <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
@@ -228,11 +87,11 @@
 </template>
 <script lang="ts" setup>
   import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
-  import * as ScheduleModelApi from '@/api/model/sche/model'
+  import * as ScheduleSchemeApi from '@/api/model/sche/scheme'
   import { CommonStatusEnum } from '@/utils/constants'
-  import * as DataSourceConfigApi from "@/api/infra/dataSourceConfig";
+  import * as ScheduleModelApi from "@/api/model/sche/model";
 
-  defineOptions({ name: 'ScheduleModelForm' })
+  defineOptions({ name: 'ScheduleSchemeForm' })
 
   const { t } = useI18n() // 国际化
   const message = useMessage() // 消息弹窗
@@ -259,7 +118,7 @@
     name: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
   })
   const formRef = ref() // 表单 Ref
-  const modelparamListMap = ref([] as ScheduleModelApi.ModelParamVO[])
+  const scheduleModelList = ref([] as ScheduleModelApi.ScheduleModelVO[])
 
   const addRow = function (index, rows) {
     let row = JSON.parse(JSON.stringify(rows[index]))
@@ -299,14 +158,13 @@
     if (id) {
       formLoading.value = true
       try {
-        formData.value = await ScheduleModelApi.getScheduleModel(id)
+        formData.value = await ScheduleSchemeApi.getScheduleScheme(id)
       } finally {
         formLoading.value = false
       }
-
-      // 加载数据源列表
-      modelparamListMap.value = await ScheduleModelApi.getModelParamList()
     }
+    // 加载调度模型列表
+    scheduleModelList.value = await ScheduleModelApi.getScheduleModelList()
   }
   defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -320,12 +178,12 @@
     // 提交请求
     formLoading.value = true
     try {
-      const data = formData.value as unknown as ScheduleModelApi.ScheduleModelVO
+      const data = formData.value as unknown as ScheduleSchemeApi.ScheduleSchemeVO
       if (formType.value === 'create') {
-        await ScheduleModelApi.createScheduleModel(data)
+        await ScheduleSchemeApi.createScheduleScheme(data)
         message.success(t('common.createSuccess'))
       } else {
-        await ScheduleModelApi.updateScheduleModel(data)
+        await ScheduleSchemeApi.updateScheduleScheme(data)
         message.success(t('common.updateSuccess'))
       }
       dialogVisible.value = false
@@ -350,7 +208,7 @@
       modelId: undefined,
       scheduleTime: undefined,
       remark: undefined,
-      status: 0
+      status: CommonStatusEnum.ENABLE
     }
     formRef.value?.resetFields()
   }
diff --git a/src/views/model/mcs/sche/scheme/index.vue b/src/views/model/mcs/sche/scheme/index.vue
index d786849..6212a90 100644
--- a/src/views/model/mcs/sche/scheme/index.vue
+++ b/src/views/model/mcs/sche/scheme/index.vue
@@ -51,17 +51,24 @@
   <!-- 列表 -->
   <ContentWrap>
     <el-table v-loading="loading" :data="list">
-      <el-table-column label="方案编号" align="center" prop="code" />
-      <el-table-column label="方案名称" align="center" prop="name" />
-      <el-table-column label="触发方式" align="center" prop="triggerMethod" />
-      <el-table-column label="触发条件" align="center" prop="triggerCondition" />
-      <el-table-column label="方法名" align="center" prop="methodName" />
-      <el-table-column label="调整对象" align="center" prop="scheduleObj" />
-      <el-table-column label="调整类型" align="center" prop="scheduleType" />
-      <el-table-column label=" 调整策略" align="center" prop="scheduleStrategy" />
-      <el-table-column label="调度时间" align="center" prop="scheduleTime" />
-      <el-table-column label="备注" align="center" prop="remark" />
-      <el-table-column label="状态" align="center" prop="status" />
+      <el-table-column label="方案编号" align="center" prop="code" min-width="100"/>
+      <el-table-column label="方案名称" align="center" prop="name" min-width="100"/>
+      <el-table-column label="触发方式" align="center" prop="triggerMethod" min-width="100">
+        <template #default="scope">
+          <dict-tag :type="DICT_TYPE.SCHE_TRIGGER_METHOD" :value="scope.row.triggerMethod" />
+        </template>
+      </el-table-column>
+      <el-table-column label="触发条件" align="center" prop="triggerCondition" min-width="100"/>
+      <el-table-column label="调整对象" align="center" prop="scheduleObj" min-width="100"/>
+      <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="remark" 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>
+      </el-table-column>
       <el-table-column label="操作" align="center" min-width="110" fixed="right">
         <template #default="scope">
           <el-button

--
Gitblit v1.9.3