From d944f6259b017b00d0898422a56b8a1454183b95 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 06 十一月 2024 10:59:13 +0800
Subject: [PATCH] 模型类型不可编辑

---
 src/views/model/mpk/file/MpkForm.vue |   38 ++++++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/src/views/model/mpk/file/MpkForm.vue b/src/views/model/mpk/file/MpkForm.vue
index b4ee998..860d50c 100644
--- a/src/views/model/mpk/file/MpkForm.vue
+++ b/src/views/model/mpk/file/MpkForm.vue
@@ -16,7 +16,7 @@
           <el-col :span="12">
             <el-form-item label="模型类型" prop="pyType">
               <el-radio-group v-model="formData.pyType" @change="pyTypeChange">
-                <el-radio-button
+                <el-radio-button :disabled="actionType == 'edit'"
                   v-for="dict in getDictOptions(DICT_TYPE.MODEL_TYPE)"
                   :key="dict.label"
                   :label="dict.value"
@@ -28,7 +28,7 @@
           </el-col>
         </el-row>
         <el-row :gutter="8">
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item label="模型文件" prop="pyName">
               <el-input disabled v-model="formData.pyName" placeholder=""/>
             </el-form-item>
@@ -67,12 +67,23 @@
         <el-row :gutter="8">
           <el-col :span="12">
             <el-form-item label="包名" prop="pkgName">
-              <el-input v-model="formData.pkgName" placeholder=""/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="模型路径" prop="pyModule">
-              <el-input v-model="formData.pyModule" placeholder=""/>
+              <el-select v-model="formData.pkgName" clearable filterable placeholder="请选择包名">
+                <el-option
+                  v-for="item in pkgNameList"
+                  :key="item.packName"
+                  :label="item.packName"
+                  :value="item.packName"
+                >
+                  <span style="float: left">{{ item.packName}}</span>
+                  <span
+                    style="
+                      float: right;
+                      color: var(--el-text-color-secondary);
+                      font-size: 13px;">
+                    {{ item.packDesc}}
+                  </span>
+                </el-option>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -112,7 +123,7 @@
           </el-col>
         </el-row>
         <el-row :gutter="20">
-          <el-col :span="24">
+          <el-col :span="12">
             <el-form-item label="备注" prop="remark">
               <el-input v-model="formData.remark" placeholder="" type="textarea"/>
             </el-form-item>
@@ -240,6 +251,7 @@
   import {DICT_TYPE, getDictOptions, getIntDictOptions} from '@/utils/dict'
   import * as MpkApi from '@/api/model/mpk/mpk'
   import * as MpkIconApi from '@/api/model/mpk/icon'
+  import * as MpkPackApi from '@/api/model/mpk/pack'
   import * as MpkMenuApi from '@/api/model/mpk/menu'
   import {FormRules} from 'element-plus'
   import {getAccessToken, getTenantId} from "@/utils/auth";
@@ -249,6 +261,7 @@
   const {t} = useI18n() // 国际化
   const message = useMessage() // 消息弹窗
   const title = ref('') // 弹窗的标题
+  const actionType = ref('') // 操作类型
   const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
   const formType = ref('') // 表单的类型:create - 新增;update - 修改
   const route = useRoute() // 路由
@@ -256,6 +269,7 @@
 
   const treeData = ref([])
   const iconList = ref([] as MpkIconApi.MpkIconVO)
+  const pkgNameList = ref([] as MpkPackApi.MpkPackVO)
 
 /** settingForm弹窗 */
   const settingFormRef = ref()
@@ -310,9 +324,6 @@
     ],
     className: [
       {required: true, message: '类名不能为空', trigger: 'blur'}
-    ],
-    pyModule: [
-      {required: true, message: '模型路径不能为空', trigger: 'blur'}
     ],
     menuAndGroup: [
       {required: true, message: '所属目录不能为空', trigger: 'blur'}
@@ -426,6 +437,7 @@
   onMounted(async () => {
     const id = formData.value.id;
     const type = id ? 'edit' : 'create'
+    actionType.value = type
     title.value = t('action.' + type)
     formType.value = type
     resetForm()
@@ -443,6 +455,8 @@
     // 加载图标列表
     iconList.value = await MpkIconApi.getList()
 
+    pkgNameList.value = await MpkPackApi.getList()
+
     // 加载菜单,分组
     treeData.value = await MpkMenuApi.getTree()
   })

--
Gitblit v1.9.3