|
|
@@ -45,7 +45,7 @@
|
|
|
<div style="display: flex;width: 20%;align-items: center;margin-left: 8%;">
|
|
|
<el-button type="primary" style="margin-left: 5%;" :icon="Search">查询</el-button>
|
|
|
<el-button type="primary" style="margin-left: 5%;" icon="Refresh">重置</el-button>
|
|
|
- <el-button type="primary" style="margin-left:5%;" icon="Plus">注册</el-button>
|
|
|
+ <el-button type="primary" style="margin-left:5%;" @click="reg" icon="Plus">注册</el-button>
|
|
|
<el-button type="" style="margin-left:5%;" plain icon="Plus">切换展示模式</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -72,11 +72,11 @@
|
|
|
:max-height="tableheight">
|
|
|
<el-table-column type="selection" width="55"></el-table-column>
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
- <el-table-column prop="date" label="组件名称" width="250">
|
|
|
+ <el-table-column prop="name" label="组件名称" width="250">
|
|
|
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="组件分类" width="160"/>
|
|
|
- <el-table-column prop="address1" label="提供单位" width="160"/>
|
|
|
+ <el-table-column prop="className" label="组件分类" width="160"/>
|
|
|
+ <el-table-column prop="mdUnit" label="提供单位" width="160"/>
|
|
|
<el-table-column prop="address2" label="注册人员" width="100"/>
|
|
|
<el-table-column prop="st3" label="模型测试" width="140">
|
|
|
<template #default="scope">
|
|
|
@@ -92,14 +92,14 @@
|
|
|
<el-button v-if="scope.row.st2=='3'" type="" plain>暂无评价</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="st2" label="是否发布" width="140">
|
|
|
+ <el-table-column prop="isPublic" label="是否发布" width="140">
|
|
|
<template #default="scope">
|
|
|
<el-button v-if="scope.row.st3=='1'" type="success" plain>已发布</el-button>
|
|
|
<el-button v-if="scope.row.st3=='2'" type="danger" plain>未发布</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="tm" label="发布时间" width="170"/>
|
|
|
- <el-table-column prop="ver" label="版本" width="120"/>
|
|
|
+ <el-table-column prop="modifyBy" label="发布时间" width="170"/>
|
|
|
+ <el-table-column prop="version" label="版本" width="120"/>
|
|
|
<el-table-column prop="address" label="操作" >
|
|
|
<template #default="scope">
|
|
|
<div style="display: flex;justify-content: space-between;width: 80%;">
|
|
|
@@ -108,7 +108,7 @@
|
|
|
<el-button type="warning" text size="mini" style="margin-left: -5%;">重置测试</el-button>
|
|
|
<el-button type="primary" text size="mini" style="margin-left: -5%;">测试</el-button>
|
|
|
<el-button type="primary" size="mini" text style="margin-left: -5%;">编辑</el-button>
|
|
|
- <el-button type="danger" text size="mini" style="margin-left: -5%;">注销</el-button>
|
|
|
+ <el-button type="danger" text size="mini" style="margin-left: -5%;" @click="handleDelete(scope.row)">注销</el-button>
|
|
|
<el-button type="primary" text size="mini" style="margin-left: -5%;">查看</el-button>
|
|
|
<el-button type="primary" text size="mini" style="margin-left: -5%;">后处理</el-button>
|
|
|
</div>
|
|
|
@@ -131,108 +131,110 @@
|
|
|
<el-step title="第三步"></el-step>
|
|
|
<el-step title="第四步"></el-step>
|
|
|
</el-steps>
|
|
|
- <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;display: flex;align-items: center;">
|
|
|
+ <div v-if="active==0">
|
|
|
+ <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;display: flex;align-items: center;">
|
|
|
<div style="background-color: blue;width: 2px;height: 16px;"></div>
|
|
|
<div style="font-weight: bold;font-size: 16px;margin-left: 0.5%;">基本信息</div>
|
|
|
- </div>
|
|
|
- <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;">
|
|
|
- <el-form style="margin-left: 5%;" :model="form" class="demo-form-inline" :rules="rules">
|
|
|
- <el-row :gutter="40">
|
|
|
- <el-col :span="9">
|
|
|
- <el-form-item label="组件名称:" prop="name">
|
|
|
- <el-input v-model="form.user" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="9">
|
|
|
- <el-form-item label="版本号:" prop="name">
|
|
|
- <el-input v-model="form.region" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="40" style="margin-top: 1%;">
|
|
|
- <el-col :span="9" >
|
|
|
- <el-form-item label="组件英文名称:" prop="name">
|
|
|
- <el-input v-model="form.user" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="9">
|
|
|
- <el-form-item label="排序:" prop="name">
|
|
|
- <el-input v-model="form.region" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="40" style="margin-top: 1%;">
|
|
|
- <el-col :span="9" >
|
|
|
- <el-form-item label="模型分类:" prop="name">
|
|
|
- <el-select
|
|
|
- v-model="value"
|
|
|
- style="width: 100%;margin-left: 1%;"
|
|
|
- >
|
|
|
+ </div>
|
|
|
+ <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;">
|
|
|
+ <el-form style="margin-left: 5%;" :model="form" class="demo-form-inline" :rules="rules">
|
|
|
+ <el-row :gutter="40">
|
|
|
+ <el-col :span="9">
|
|
|
+ <el-form-item label="组件名称:" prop="name">
|
|
|
+ <el-input v-model="form.name" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="9">
|
|
|
+ <el-form-item label="版本号:" prop="version">
|
|
|
+ <el-input v-model="form.version" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="40" style="margin-top: 1%;">
|
|
|
+ <el-col :span="9" >
|
|
|
+ <el-form-item label="组件英文名称:" prop="enname">
|
|
|
+ <el-input v-model="form.enname" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="9">
|
|
|
+ <el-form-item label="排序:" prop="">
|
|
|
+ <el-input v-model="form.region" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="40" style="margin-top: 1%;">
|
|
|
+ <el-col :span="9" >
|
|
|
+ <el-form-item label="模型分类:" prop="type">
|
|
|
+ <el-select
|
|
|
+ v-model="form.type"
|
|
|
+ style="width: 100%;margin-left: 1%;"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="9">
|
|
|
+ <el-form-item label="开发语言:">
|
|
|
+ <el-radio-group v-model="form.devlang" class="ml-4" size="small" style="margin-top: -10%;">
|
|
|
+ <el-radio label="1" size="large">C++</el-radio>
|
|
|
+ <el-radio label="2" size="large">.net</el-radio>
|
|
|
+ <el-radio label="2" size="large">java</el-radio>
|
|
|
+ <el-radio label="2" size="large">Python</el-radio>
|
|
|
+ <el-radio label="2" size="large">其他</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-form-item label="组件简介:">
|
|
|
+ <el-input v-model="form.region" style="width: 30%;" :rows="2" type="textarea"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;display: flex;align-items: center;">
|
|
|
+ <div style="background-color: blue;width: 2px;height: 16px;"></div>
|
|
|
+ <div style="font-weight: bold;font-size: 16px;margin-left: 0.5%;">提供单位信息</div>
|
|
|
+ </div>
|
|
|
+ <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;">
|
|
|
+ <el-form style="margin-left: 5%;margin-top: 2%;" :model="form" class="demo-form-inline" :rules="rules">
|
|
|
+ <el-row :gutter="40">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="提供单位:" prop="mdUnit">
|
|
|
+ <el-select
|
|
|
+ v-model="form.mdUnit"
|
|
|
+ style="width: 65%"
|
|
|
+ >
|
|
|
<el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="9">
|
|
|
- <el-form-item label="开发语言:">
|
|
|
- <el-radio-group v-model="radio1" class="ml-4" size="small" style="margin-top: -10%;">
|
|
|
- <el-radio label="1" size="large">C++</el-radio>
|
|
|
- <el-radio label="2" size="large">.net</el-radio>
|
|
|
- <el-radio label="2" size="large">java</el-radio>
|
|
|
- <el-radio label="2" size="large">Python</el-radio>
|
|
|
- <el-radio label="2" size="large">其他</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="组件简介:">
|
|
|
- <el-input v-model="form.region" style="width: 30%;" :rows="2" type="textarea"/>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
- <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;display: flex;align-items: center;">
|
|
|
- <div style="background-color: blue;width: 2px;height: 16px;"></div>
|
|
|
- <div style="font-weight: bold;font-size: 16px;margin-left: 0.5%;">提供单位信息</div>
|
|
|
- </div>
|
|
|
- <div v-if="active==0" style="margin-left: 1%;margin-top: 1%;">
|
|
|
- <el-form style="margin-left: 5%;margin-top: 2%;" :model="form" class="demo-form-inline" :rules="rules">
|
|
|
- <el-row :gutter="40">
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="提供单位:" prop="name">
|
|
|
- <el-select
|
|
|
- v-model="value"
|
|
|
- style="width: 65%"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- <!-- <el-button type="primary" style="margin-left: 1%;">选择</el-button>
|
|
|
- <el-button type="" style="margin-left:1%;">清空</el-button> -->
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="技术支撑单位:" prop="name">
|
|
|
- <el-input v-model="form.region" style="width: 65%;" />
|
|
|
- <!-- <el-button type="" style="margin-left:1%;">清空</el-button> -->
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="40" style="margin-top: 1%;">
|
|
|
- <el-col :span="9" >
|
|
|
- <el-form-item label="联系方式:" prop="name">
|
|
|
- <el-input v-model="form.user" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
+ </el-select>
|
|
|
+ <!-- <el-button type="primary" style="margin-left: 1%;">选择</el-button>
|
|
|
+ <el-button type="" style="margin-left:1%;">清空</el-button> -->
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="技术支撑单位:" prop="developer">
|
|
|
+ <el-input v-model="form.developer" style="width: 65%;" />
|
|
|
+ <!-- <el-button type="" style="margin-left:1%;">清空</el-button> -->
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="40" style="margin-top: 1%;">
|
|
|
+ <el-col :span="9" >
|
|
|
+ <el-form-item label="联系方式:" prop="mdContact">
|
|
|
+ <el-input v-model="form.mdContact" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div v-if="active==1">
|
|
|
<div style="margin-left: 1%;margin-top: 1%;display: flex;align-items: center;">
|
|
|
@@ -326,8 +328,8 @@
|
|
|
<el-form style="margin-left: 5%;margin-top: 2%;" :model="form" class="demo-form-inline" :rules="rules">
|
|
|
<el-row :gutter="40">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="CPU核心数:" prop="name">
|
|
|
- <el-input v-model="form.region" style="width: 50%;" placeholder=""/>
|
|
|
+ <el-form-item label="CPU核心数:" prop="mdCPU">
|
|
|
+ <el-input v-model="form.mdCPU" style="width: 50%;" placeholder=""/>
|
|
|
<div style="margin-left: 2%;">
|
|
|
个
|
|
|
</div>
|
|
|
@@ -345,7 +347,7 @@
|
|
|
<el-row :gutter="40">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="是否需要GPU:">
|
|
|
- <el-switch v-model="value1" />
|
|
|
+ <el-switch v-model="form.mdGPU" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
@@ -582,7 +584,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
-<script lang="ts" setup>
|
|
|
+<script setup>
|
|
|
+import { getModelList,addModel,delMdid } from "@/api/register/regCom";
|
|
|
import { ref, onMounted, onUnmounted, nextTick } from 'vue';
|
|
|
import Sortable from 'sortablejs';
|
|
|
import { Search } from '@element-plus/icons-vue'
|
|
|
@@ -590,26 +593,63 @@ import {
|
|
|
ArrowLeft,
|
|
|
Plus
|
|
|
} from '@element-plus/icons-vue'
|
|
|
-import type { FormInstance, FormRules } from 'element-plus'
|
|
|
import { reactive } from 'vue'
|
|
|
import { forwardRefProps } from 'element-plus/es/components/tooltip-v2/src/forward-ref.mjs';
|
|
|
-
|
|
|
-interface RuleForm {
|
|
|
- name: string
|
|
|
-}
|
|
|
+const { proxy } = getCurrentInstance();
|
|
|
const dragTableRef = ref()
|
|
|
-const dialogVisible = true
|
|
|
-const active = ref(3)
|
|
|
-const form = reactive({
|
|
|
- name: '',
|
|
|
- region: '',
|
|
|
- date: '',
|
|
|
-})
|
|
|
-const rules = reactive<FormRules<RuleForm>>({
|
|
|
- name: [
|
|
|
- { required: true, message: ' ', trigger: 'blur' },
|
|
|
- ],
|
|
|
-})
|
|
|
+const dialogVisible = ref(false)
|
|
|
+const active = ref(0)
|
|
|
+const data = reactive({
|
|
|
+ form: {},
|
|
|
+ queryParams: {
|
|
|
+ "author": 0,
|
|
|
+ "cateid": '',
|
|
|
+ "className": '',
|
|
|
+ "createBy": '',
|
|
|
+ "createTime": "",
|
|
|
+ "developer": '',
|
|
|
+ "devlang": '',
|
|
|
+ "enname": '',
|
|
|
+ "intro": '',
|
|
|
+ "isApproved": 0,
|
|
|
+ "isPublic": 0,
|
|
|
+ "mdCPU": 0,
|
|
|
+ "mdContact": '',
|
|
|
+ "mdGpu": 0,
|
|
|
+ "mdInOutName": '',
|
|
|
+ "mdInOutNameEn": '',
|
|
|
+ "mdRunCmd": '',
|
|
|
+ "mdRunEnv": '',
|
|
|
+ "mdUnit": '',
|
|
|
+ "mdid": '',
|
|
|
+ "mirrorImageDesc": '',
|
|
|
+ "mirrorImageEg": '',
|
|
|
+ "mirrorImageUrl": '',
|
|
|
+ "modifyBy": "",
|
|
|
+ "msgFlag": 0,
|
|
|
+ "msgWebHook": '',
|
|
|
+ "name": 'test',
|
|
|
+ "params": {},
|
|
|
+ "remark": '',
|
|
|
+ "status": 0,
|
|
|
+ "tags": '',
|
|
|
+ "type": '',
|
|
|
+ "updateBy": '',
|
|
|
+ "updateTime": "",
|
|
|
+ "version": ''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ name: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ version: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ enname: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ mdUnit: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ developer: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ mdContact: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ mdCPU: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
+const { queryParams, form, rules } = toRefs(data);
|
|
|
const tableData2 = ref([
|
|
|
{ date1:'流域拓扑', date2:'', date3:'single', date4:'基于水文响应' },
|
|
|
{ date1:'雨量站', date2:'', date3:'single', date4:'基于水文响应' },
|
|
|
@@ -634,52 +674,7 @@ const checkGroup = [
|
|
|
{label:'二维水动力'},
|
|
|
{label:'机器学习'},
|
|
|
]
|
|
|
-const tableData = [
|
|
|
- {
|
|
|
- date:'基于水文响应单元的分布式模型',
|
|
|
- name:'标准模型组件',
|
|
|
- address1:'淮河水利委员会',
|
|
|
- address2:'贺庭',
|
|
|
- tm:'2023-5-15',
|
|
|
- st1:'1',
|
|
|
- st2:'1',
|
|
|
- st3:'1',
|
|
|
- ver:'V1.0.0'
|
|
|
- },
|
|
|
- {
|
|
|
- date:'基于水文响应单元的分布式模型',
|
|
|
- name:'标准模型组件',
|
|
|
- address1:'淮河水利委员会',
|
|
|
- address2:'贺庭',
|
|
|
- tm:'2023-5-15',
|
|
|
- st1:'2',
|
|
|
- st2:'2',
|
|
|
- st3:'2',
|
|
|
- ver:'V1.0.0'
|
|
|
- },
|
|
|
- {
|
|
|
- date:'基于水文响应单元的分布式模型',
|
|
|
- name:'标准模型组件',
|
|
|
- address1:'淮河水利委员会',
|
|
|
- address2:'贺庭',
|
|
|
- tm:'2023-5-15',
|
|
|
- st1:'3',
|
|
|
- st2:'3',
|
|
|
- st3:'2',
|
|
|
- ver:'V1.0.0'
|
|
|
- },
|
|
|
- {
|
|
|
- date:'基于水文响应单元的分布式模型',
|
|
|
- name:'标准模型组件',
|
|
|
- address1:'淮河水利委员会',
|
|
|
- address2:'贺庭',
|
|
|
- tm:'2023-5-15',
|
|
|
- st1:'1',
|
|
|
- st2:'1',
|
|
|
- st3:'1',
|
|
|
- ver:'V1.0.0'
|
|
|
- },
|
|
|
-]
|
|
|
+let tableData = ref([])
|
|
|
const heightAll = window.innerHeight
|
|
|
const valueHelpSel = '';
|
|
|
const tableheight = window.innerHeight*0.7
|
|
|
@@ -705,6 +700,32 @@ const options = [
|
|
|
label: 'Option5',
|
|
|
},
|
|
|
]
|
|
|
+function addNewModel(){
|
|
|
+ addModel(form).then(res=>{
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+function reg(){
|
|
|
+ dialogVisible.value = true
|
|
|
+}
|
|
|
+function getModelListTable(){
|
|
|
+ var par = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ }
|
|
|
+ getModelList(par).then(res=>{
|
|
|
+ tableData.value = res.rows
|
|
|
+ console.log(tableData)
|
|
|
+ })
|
|
|
+}
|
|
|
+function handleDelete(row) {
|
|
|
+ proxy.$modal.confirm('是否确认删除?').then(function () {
|
|
|
+ return delMdid(row.mdid);
|
|
|
+ }).then(() => {
|
|
|
+ getList();
|
|
|
+ proxy.$modal.msgSuccess("删除成功");
|
|
|
+ }).catch(() => {});
|
|
|
+};
|
|
|
const seledMo = ['primary','plain','plain','plain','plain','plain','plain']
|
|
|
const next = () => {
|
|
|
console.log(active.value)
|
|
|
@@ -791,6 +812,8 @@ const initSortable1 = () => {
|
|
|
onMounted(() => {
|
|
|
nextTick(initSortable);
|
|
|
nextTick(initSortable1);
|
|
|
+ getModelListTable()
|
|
|
+ // addNewModel()
|
|
|
});
|
|
|
|
|
|
onUnmounted(() => {
|