Quellcode durchsuchen

feat: 算子版本

lvkun996 vor 2 Jahren
Ursprung
Commit
b4c982dd5c
3 geänderte Dateien mit 99 neuen und 3 gelöschten Zeilen
  1. 5 1
      src/controller/cvs/operatorController.ts
  2. 92 1
      src/pages/cvs/operator/version.vue
  3. 2 1
      src/type/cvs.d.ts

+ 5 - 1
src/controller/cvs/operatorController.ts

@@ -1,4 +1,4 @@
-import { addOperator, addOperatorVersion, delOperatorById, delOperatorVersion, getOperatorById, getOperatorPage, getOperatorType, updateOperatorName } from '@/api/cvs/operator'
+import { addOperator, addOperatorVersion, delOperatorById, delOperatorVersion, getOperatorById, getOperatorPage, getOperatorType, getOperatorVersion, updateOperatorName } from '@/api/cvs/operator'
 import { message } from 'ant-design-vue'
 
 export class OperatorController {
@@ -31,6 +31,10 @@ export class OperatorController {
     code === 200 ? message.success('修改成功') : message.error(msg)
   }
 
+  static async versionPage (aiId: string) {
+    return await getOperatorVersion(aiId)
+  }
+
   static async addVersion (data: CVS.OperatorVersion) {
     const { code, msg } = await addOperatorVersion(data)
     code === 200 ? message.success('新增成功') : message.error(msg)

+ 92 - 1
src/pages/cvs/operator/version.vue

@@ -1,13 +1,63 @@
 <template>
 <a-card title="算子版本" >
   <table-pro
+    :service="OperatorController.versionPage"
+    :serviceParams="{aiId}"
+    ref="tableProDom"
     :columns="columns"
+    @add="openModal"
   >
-
+    <template #render="{column, record}" >
+      <template v-if="column.key === 'action'" >
+        <a @click="del(record)">删除</a>
+      </template>
+    </template>
   </table-pro>
 </a-card>
+
+<modal-pro
+  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>
+      <a-form-item label="CPU架构"   >
+        <a-radio-group v-model:value="versionState.architecture" button-style="solid">
+        <a-radio-button value="x86">x86</a-radio-button>
+        <a-radio-button value="arm">arm</a-radio-button>
+      </a-radio-group>
+      </a-form-item>
+      <a-form-item label="芯片品牌"   >
+        <a-radio-group v-model:value="versionState.brand" button-style="solid">
+        <a-radio-button value="英伟达">英伟达</a-radio-button>
+        <a-radio-button value="昆仑">昆仑</a-radio-button>
+      </a-radio-group>
+      </a-form-item>
+      <a-form-item label="芯片型号"    >
+        <InputTsx allowClear placeholder="请输入芯片型号" v-model:value="versionState.chipModel" />
+      </a-form-item>
+      <a-form-item label="版本地址"    >
+        <InputTsx allowClear placeholder="请输入版本地址" v-model:value="versionState.aiVersionPkgUrl" />
+      </a-form-item>
+    </a-form>
+</modal-pro>
 </template>
 <script lang='ts' setup >
+import { OperatorController } from '@/controller'
+import { reactive, ref } from 'vue'
+import { useRoute } from 'vue-router'
+import { Form } from 'ant-design-vue'
+import { InputTsx } from '@/components/MicroComponents'
+
+const route = useRoute()
+
+const aiId = route.query.aiId
+
+const tableProDom = ref()
 
 const columns = [
   {
@@ -47,6 +97,47 @@ const columns = [
   }
 ]
 
+const useForm = Form.useForm
+
+const state = reactive({
+  visible: false
+})
+
+const versionState = reactive<CVS.OperatorVersion>({
+  aiVersionPkgUrl: '',
+  architecture: 'x86',
+  brand: '英伟达',
+  chipModel: '',
+  aiVersion: '',
+  aiVersionComment: ''
+})
+
+const { resetFields, validate, validateInfos } = useForm(versionState, {
+
+})
+
+const openModal = () => {
+  state.visible = true
+}
+
+const closeModal = () => {
+  state.visible = false
+}
+
+const submmit = () => {
+  validate().then(async () => {
+    await OperatorController.addVersion(versionState)
+    closeModal()
+    resetFields({})
+    tableProDom.value.reload()
+  }).catch(() => {})
+}
+
+const del = async (record: CVS.OperatorVersion) => {
+  await OperatorController.delVersion(record.id!)
+  tableProDom.value.reload()
+}
+
 </script>
 <style lang='less' scoped >
 </style>

+ 2 - 1
src/type/cvs.d.ts

@@ -69,7 +69,8 @@ declare namespace CVS {
   }
 
   interface OperatorVersion {
-    aiId: string // 算子id
+    id?: string
+    aiId?: string // 算子id
     aiVersion: string // 算子版本
     aiVersionComment: string// 版本说明;
     architecture: string // CPU 架构 值有 x86 arm