zhangwenya пре 11 месеци
родитељ
комит
d78d8e67a0

+ 39 - 0
src/views/hl/bm/component/addBm.vue

@@ -0,0 +1,39 @@
+<template>
+    <component :is="activeComponent" ref="acRef" :modelId="modelId" @success="emit('success')"/>
+    <div class="btn-layout">
+      <el-button type="primary" @click="handleNext">下一步</el-button>
+    </div>
+</template>
+<script setup lang="ts">
+import step1 from "./step1.vue"
+const {proxy,emit} = getCurrentInstance()
+const activeComponent = ref(step1);
+const acRef=ref(null)
+const modelId = ref(null)
+
+function handleNext() {
+  proxy.$refs['acRef'].submitForm()
+}
+
+function editRow(row){
+  modelId.value = null
+  if(row){
+    modelId.value = row.modelId
+  }
+  activeComponent.value = step1
+  proxy.$refs['acRef'].handleUpdate(row)
+}
+
+defineExpose({editRow})
+
+</script>
+<style scoped lang="scss">
+.btn-layout{
+  display: flex;
+  justify-content: center;
+  border-top:1px solid #e1e1e180;
+  padding-top:10px;
+  margin:10px -20px;
+}
+</style>
+

+ 71 - 0
src/views/hl/bm/component/step1.vue

@@ -0,0 +1,71 @@
+<template>
+  <el-form ref="bmRef" :model="form" :rules="rules" label-width="120px">
+    <el-form-item label="模型名称" prop="modelName">
+      <el-input v-model="form.modelName" placeholder="请输入模型名称" />
+    </el-form-item>
+    <el-form-item label="业务类型" prop="modelType">
+      <el-input v-model="form.modelType" placeholder="请输入业务类型" />
+    </el-form-item>
+  </el-form>
+</template>
+<script setup lang="ts">
+import { addBm, updateBm,getBm } from "@/api/hl/bm";
+const {proxy,emit} = getCurrentInstance()
+const bmRef=ref(null)
+const data=reactive({
+  form:{
+    modelName:"",
+    modelType:""
+  },
+  rules:{
+    modelName:[
+      {required:true,message:"请输入模型名称",trigger:"blur"}
+    ],
+    modelType:[
+      {required:true,message:"请输入业务类型",trigger:"blur"}
+    ]
+  }
+})
+const { form, rules} = toRefs(data)
+
+const submitForm = () => {
+  proxy.$refs["bmRef"].validate(valid => {
+    if (valid) {
+      if (form.value.modelId != null) {
+        updateBm(form.value).then(() => {
+          proxy.$modal.msgSuccess("修改成功")
+        });
+      } else {
+        addBm(form.value).then(() => {
+          proxy.$modal.msgSuccess("新增成功")
+        });
+      }
+      emit("success")
+    }
+  });
+}
+
+const reset=()=>{
+  form.value = {
+    modelName: null,
+    modelType: null
+  };
+  proxy.resetForm("bmRef");
+}
+
+const handleUpdate=(row)=>{
+  reset()
+  if(row){
+    getBm(row.modelId).then(res=>{
+      form.value.modelName = res.data.modelName
+      form.value.modelType = res.data.modelType
+      form.value.modelId = res.data.modelId
+    })
+  }
+}
+
+defineExpose({submitForm,handleUpdate})
+
+</script>
+<style scoped lang="scss">
+</style>

+ 40 - 140
src/views/hl/bm/index.vue

@@ -1,70 +1,23 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="模型编码" prop="modelCode">
-        <el-input
-          v-model="queryParams.modelCode"
-          placeholder="请输入模型编码"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="模型名称" prop="modelName">
-        <el-input
-          v-model="queryParams.modelName"
-          placeholder="请输入模型名称"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="模型总分" prop="modelScore">
-        <el-input
-          v-model="queryParams.modelScore"
-          placeholder="请输入模型总分"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建人" prop="createBy">
-        <el-input
-          v-model="queryParams.createBy"
-          placeholder="请输入创建人"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createTime">
-        <el-date-picker clearable
-          v-model="queryParams.createTime"
-          type="date"
-          value-format="YYYY-MM-DD"
-          placeholder="请选择创建时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="更新人" prop="updateBy">
-        <el-input
-          v-model="queryParams.updateBy"
-          placeholder="请输入更新人"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="更新时间" prop="updateTime">
-        <el-date-picker clearable
-          v-model="queryParams.updateTime"
-          type="date"
-          value-format="YYYY-MM-DD"
-          placeholder="请选择更新时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
+      <el-col :span="18">
+        <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="0">
+          <el-form-item label="" prop="modelName" style="margin-right:10px">
+            <el-input
+                v-model="queryParams.modelName"
+                placeholder="请输入模型名称"
+                clearable
+                @keyup.enter="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+            <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+      <el-col :span="6" style="text-align: right">
         <el-button
           type="primary"
           plain
@@ -73,59 +26,18 @@
           v-hasPermi="['hl:bm:add']"
         >新增</el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="Edit"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['hl:bm:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="Delete"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['hl:bm:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="Download"
-          @click="handleExport"
-          v-hasPermi="['hl:bm:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="bmList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="模型ID" align="center" prop="modelId" />
-      <el-table-column label="模型编码" align="center" prop="modelCode" />
-      <el-table-column label="模型名称" align="center" prop="modelName" />
-      <el-table-column label="模型总分" align="center" prop="modelScore" />
-      <el-table-column label="业务类型" align="center" prop="modelType" />
-      <el-table-column label="创建人" align="center" prop="createBy" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{mi}:{s}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="更新人" align="center" prop="updateBy" />
-      <el-table-column label="更新时间" align="center" prop="updateTime" width="180">
+    <el-table v-loading="loading" :data="bmList" border>
+      <el-table-column label="模型ID" align="center" prop="modelId"  width="80"/>
+      <el-table-column label="模型名称" align="left" prop="modelName" />
+      <el-table-column label="业务类型" align="left" prop="modelType" width="180"/>
+      <el-table-column label="更新时间" align="left" prop="updateTime" width="180">
         <template #default="scope">
           <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{mi}:{s}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" class-name="small-padding fixed-width" align="left"  width="180">
         <template #default="scope">
           <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['hl:bm:edit']">修改</el-button>
           <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['hl:bm:remove']">删除</el-button>
@@ -142,35 +54,17 @@
     />
 
     <!-- 添加或修改业务模型对话框 -->
-    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="bmRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="模型编码" prop="modelCode">
-          <el-input v-model="form.modelCode" placeholder="请输入模型编码" />
-        </el-form-item>
-        <el-form-item label="模型名称" prop="modelName">
-          <el-input v-model="form.modelName" placeholder="请输入模型名称" />
-        </el-form-item>
-        <el-form-item label="模型总分" prop="modelScore">
-          <el-input v-model="form.modelScore" placeholder="请输入模型总分" />
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div>
-      </template>
+    <el-dialog :title="title" v-model="open" width="800px" append-to-body>
+      <add-bm-info ref="bmRef" @success="getList"/>
     </el-dialog>
   </div>
 </template>
 
 <script setup name="Bm">
-    import { listBm, getBm, delBm, addBm, updateBm } from "@/api/hl/bm";
 
-    const { proxy } = getCurrentInstance();
+import { listBm, getBm, delBm, addBm, updateBm } from "@/api/hl/bm";
+import addBmInfo from "./component/addBm.vue"
+const { proxy } = getCurrentInstance();
 
 const bmList = ref([]);
 const open = ref(false);
@@ -233,7 +127,7 @@ function reset() {
     updateTime: null,
     remark: null
   };
-  proxy.resetForm("bmRef");
+  // proxy.resetForm("bmRef");
 }
 
 /** 搜索按钮操作 */
@@ -260,17 +154,23 @@ function handleAdd() {
   reset();
   open.value = true;
   title.value = "添加业务模型";
+  proxy.$nextTick(() => {
+    proxy.$refs["bmRef"].editRow(null)
+  })
 }
 
 /** 修改按钮操作 */
 function handleUpdate(row) {
-  reset();
-  const _modelId = row.modelId || ids.value
-  getBm(_modelId).then(response => {
-    form.value = response.data;
+  // reset();
+  // const _modelId = row.modelId || ids.value
+  // getBm(_modelId).then(response => {
+  //   form.value = response.data;
     open.value = true;
     title.value = "修改业务模型";
-  });
+    proxy.$nextTick(() => {
+      proxy.$refs["bmRef"].editRow(row)
+    })
+  // });
 }
 
 /** 提交按钮 */

+ 2 - 3
src/views/obj/obj/component/step4.vue

@@ -5,15 +5,14 @@
         {{metrics_category.find(item=>item.value==scope.row.metricsType).label}}
       </template>
     </el-table-column>
-    <el-table-column label="数据地址">
+    <el-table-column label="普罗米修斯job">
       <template #default="scope">
         <el-input v-model="scope.row.apiAddr" />
       </template>
     </el-table-column>
-    <el-table-column label="操作" width="180">
+    <el-table-column label="操作" width="100" align="center">
       <template #default="scope">
         <el-button link type="primary" icon="CircleCheck" @click="handleSave(scope.row)">保存</el-button>
-        <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
       </template>
     </el-table-column>
   </el-table>