Prechádzať zdrojové kódy

fix: 新建算子算法

lvkun 2 rokov pred
rodič
commit
85f5e8aafe

+ 6 - 5
src/api/cvs/operator.ts

@@ -2,7 +2,7 @@
 import request from '@/service/request'
 
 export const getOperatorPage = (params: COMMON.API.QueryParams) => {
-  return request<CVS.space[]>({
+  return request<CVS.Operator[]>({
     url: '/model/page',
     method: 'GET',
     params
@@ -42,15 +42,16 @@ export const addOperator = (data: CVS.Operator) => {
 export const updateOperatorName = (aiId: string, aiName: string) => {
   return request<string>({
     url: `/model/aiName?aiId=${aiId}&aiName=${aiName}`,
-    method: 'DELETE'
+    method: 'PUT'
   })
 }
 
 // 分页??? modelType
-export const getOperatorVersion = (aiId: string) => {
+export const getOperatorVersion = (params) => {
   return request<CVS.OperatorVersion[]>({
-    url: `/model/version/${aiId}`,
-    method: 'GET'
+    url: '/model/version',
+    method: 'GET',
+    params
   })
 }
 

+ 2 - 2
src/controller/cvs/operatorController.ts

@@ -31,8 +31,8 @@ export class OperatorController {
     code === 200 ? message.success('修改成功') : message.error(msg)
   }
 
-  static async versionPage (aiId: string) {
-    return await getOperatorVersion(aiId)
+  static async versionPage (params) {
+    return await getOperatorVersion(params)
   }
 
   static async addVersion (data: CVS.OperatorVersion) {

+ 21 - 13
src/pages/cvs/operator/manage.vue

@@ -16,7 +16,7 @@
                     <template #render="{column, record}"  >
                         <template v-if="column.key === 'action'" >
                           <a-space>
-                            <a>算子详情</a>
+                            <a @click="updateName(record)" >更改名称</a>
                             <a @click="pushVersion(record)" >新增版本</a>
                             <a @click="delOperator(record)" >删除</a>
                           </a-space>
@@ -26,30 +26,30 @@
             </a-card>
 <modal-pro
     width="800px"
-    label="创建算子"
+    :label="state.modalType === 'add' ? '创建算子' :'修改名称' "
     :open="state.visible"
     @cancel="closeModal"
     @ok="submit"
 >
     <a-form  style="width: 100%;" :labelCol="{span: 3}" :wrapperCol="{span: 14}" >
-      <a-form-item label="算子ID"  v-bind="validateInfos.aiId" extra="仅支持小写字母、数字、中划线,64字符以内,小写字母开头"  >
+      <a-form-item label="算子ID" v-if="state.modalType === 'add'"  v-bind="validateInfos.aiId" extra="仅支持小写字母、数字、中划线,64字符以内,小写字母开头"  >
         <InputTsx allowClear placeholder="请输入算子ID" v-model:value="operatorState.aiId" />
       </a-form-item>
       <a-form-item label="算子名称"  v-bind="validateInfos.aiName"  >
         <InputTsx allowClear placeholder="请输入算子名称" v-model:value="operatorState.aiName" />
       </a-form-item>
-      <a-form-item label="算子类型"  v-bind="validateInfos.aiModelType"  >
+      <a-form-item label="算子类型" v-if="state.modalType === 'add'" v-bind="validateInfos.aiModelType"  >
         <a-select
           ref="select"
           v-model:value="operatorState.aiModelType"
           style="width: 120px"
-          @change="onChangeOperatorType"
         >
           <a-select-option v-for="item in state.type" :key="item.code" :value="item.code">{{item.name}}</a-select-option>
         </a-select>
       </a-form-item>
     </a-form>
 </modal-pro>
+
 </template>
 <script lang='ts' setup >
 import { OperatorController } from '@/controller'
@@ -101,10 +101,14 @@ const columns = [
 
 const state = reactive<{
   visible: boolean,
-  type: {code: string; name: string;}[]
+  type: {code: string; name: string;}[],
+  updateNameVisible: boolean,
+  modalType: 'add' | 'update'
 }>({
   visible: false,
-  type: []
+  updateNameVisible: false,
+  type: [],
+  modalType: 'add'
 })
 
 const operatorState = reactive<CVS.Operator>({
@@ -119,20 +123,16 @@ const { resetFields, validate, validateInfos } = useForm(operatorState, {
   aiModelType: [{ required: true, message: '请选择算子类型' }]
 })
 
-const onChangeOperatorType = () => {
-
-}
-
 const submit = () => {
   validate().then(async () => {
-    await OperatorController.add(operatorState)
+    state.modalType === 'add' ? await OperatorController.add(operatorState) : await OperatorController.upadteName(operatorState.aiId, operatorState.aiName)
     closeModal()
     tableProDom.value.reload()
   }).catch(() => {})
 }
 
 const delOperator = async (record) => {
-  await OperatorController.del(record.id)
+  await OperatorController.del(record.aiId)
   tableProDom.value.reload()
 }
 
@@ -146,12 +146,20 @@ const closeModal = () => {
 
 const openModal = () => {
   state.visible = true
+  state.modalType = 'add'
 }
 
 const getOperatorType = async () => {
   state.type = await OperatorController.type()
 }
 
+const updateName = async (record) => {
+  const data = await OperatorController.byId(record.aiId)
+  resetFields(data)
+  state.modalType = 'update'
+  state.visible = true
+}
+
 const pushVersion = (record) => {
   router.push({ path: '/cvs/operator/version', query: { aiId: record.aiId } })
 }

+ 8 - 4
src/pages/cvs/operator/version.vue

@@ -16,14 +16,15 @@
 </a-card>
 
 <modal-pro
+  width="700px"
   label='新增算子版本'
   :open="state.visible"
   @cancel="closeModal"
   @ok="submmit"
 >
 <a-form  style="width: 100%;" :labelCol="{span: 3}" :wrapperCol="{span: 14}" >
-      <a-form-item label="算子ID"  v-bind="validateInfos.aiId" extra="仅支持小写字母、数字、中划线,64字符以内,小写字母开头"  >
-        <InputTsx allowClear placeholder="请输入算子ID" v-model:value="versionState.aiId" />
+      <a-form-item label="算子版本"  v-bind="validateInfos.aiVersion" >
+        <InputTsx allowClear placeholder="请输入算子ID" v-model:value="versionState.aiVersion" />
       </a-form-item>
       <a-form-item label="CPU架构"   >
         <a-radio-group v-model:value="versionState.architecture" button-style="solid">
@@ -55,7 +56,7 @@ import { InputTsx } from '@/components/MicroComponents'
 
 const route = useRoute()
 
-const aiId = route.query.aiId
+const aiId = route.query.aiId! as string
 
 const tableProDom = ref()
 
@@ -104,6 +105,7 @@ const state = reactive({
 })
 
 const versionState = reactive<CVS.OperatorVersion>({
+  aiId: '',
   aiVersionPkgUrl: '',
   architecture: 'x86',
   brand: '英伟达',
@@ -112,8 +114,10 @@ const versionState = reactive<CVS.OperatorVersion>({
   aiVersionComment: ''
 })
 
-const { resetFields, validate, validateInfos } = useForm(versionState, {
+versionState.aiId = aiId
 
+const { resetFields, validate, validateInfos } = useForm(versionState, {
+  aiVersion: [{ require: true, message: '请填写算子版本' }]
 })
 
 const openModal = () => {