From 1e8d99a4fdee40b7b38fbd03e5a7f871c5ebf3e7 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 24 九月 2024 15:16:41 +0800 Subject: [PATCH] MDK文件配置修改 --- src/views/model/mpk/file/MpkForm.vue | 114 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 66 insertions(+), 48 deletions(-) diff --git a/src/views/model/mpk/file/MpkForm.vue b/src/views/model/mpk/file/MpkForm.vue index ab9916f..b7a937a 100644 --- a/src/views/model/mpk/file/MpkForm.vue +++ b/src/views/model/mpk/file/MpkForm.vue @@ -13,8 +13,23 @@ > <el-divider content-position="left">模型信息</el-divider> <el-row :gutter="8"> - <el-col :span="20"> - <el-form-item label="模型名称" prop="pyName"> + <el-col :span="12"> + <el-form-item label="模型类型" prop="pyType"> + <el-radio-group v-model="formData.pyType" @change="pyTypeChange"> + <el-radio-button + v-for="dict in getDictOptions(DICT_TYPE.MODEL_TYPE)" + :key="dict.label" + :label="dict.value" + > + {{ dict.label }} + </el-radio-button> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="8"> + <el-col :span="8"> + <el-form-item label="模型文件" prop="pyName"> <el-input disabled v-model="formData.pyName" placeholder=""/> </el-form-item> </el-col> @@ -41,26 +56,11 @@ </el-row> <el-row :gutter="8"> <el-col :span="12"> - <el-form-item label="模型中文名称" prop="pyChineseName"> + <el-form-item label="模型名称" prop="pyChineseName"> <el-input v-model="formData.pyChineseName" placeholder=""/> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="模型类型" prop="pyType"> - <el-select - v-model="formData.pyType" - placeholder="请选择" - @change="pyTypeChange" - > - <el-option - v-for="dict in getDictOptions(DICT_TYPE.MODEL_TYPE)" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - </el-col> + </el-row> <el-row :gutter="8"> <el-col :span="12"> @@ -76,20 +76,36 @@ </el-row> <el-row :gutter="8"> <el-col :span="12"> - <el-form-item label="所属菜单" prop="menuName"> - <el-input v-model="formData.menuName" placeholder=""/> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="所属组" prop="groupName"> - <el-input v-model="formData.groupName" placeholder=""/> + <el-form-item label="所属目录" prop="menuAndGroup"> + <el-cascader + style="width: 100%;" + v-model="formData.menuAndGroup" + :options="treeData" + @change="handleChange" + /> </el-form-item> </el-col> </el-row> <el-row :gutter="8"> <el-col :span="12"> - <el-form-item label="icon" prop="icon"> - <el-input v-model="formData.icon" placeholder=""/> + <el-form-item label="图标" prop="icon"> + <el-select v-model="formData.icon" clearable filterable placeholder="请选择图标"> + <el-option + v-for="item in iconList" + :key="item.iconName" + :label="item.iconName" + :value="item.iconName" + > + <span style="float: left">{{ item.iconName}}</span> + <span + style=" + float: right; + color: var(--el-text-color-secondary); + font-size: 13px;"> + <img :src="'/SimtreeUnitImage/' + item.iconName" style="height: 24px;" :alt=" item.iconDesc" /> + </span> + </el-option> + </el-select> </el-form-item> </el-col> </el-row> @@ -174,21 +190,6 @@ <el-table-column align="center" label="参数类型" prop="valueType"/> <el-table-column align="center" label="最大值" prop="max"/> <el-table-column align="center" label="最小值" prop="min"/> - <!-- <el-table-column align="center" label="选项" width="50">--> - <!-- <template #default="props">--> - <!-- <div v-if="props.row.type === 'select'">--> - <!-- <el-popover placement="left" :width="400">--> - <!-- <template #reference>--> - <!-- <Icon icon="ep:more" />--> - <!-- </template>--> - <!-- <el-table width="50%" :data="props.row.settingSelects" border size="small">--> - <!-- <el-table-column align="center" label="key" prop="selectKey"/>--> - <!-- <el-table-column align="center" label="name" prop="name"/>--> - <!-- </el-table>--> - <!-- </el-popover>--> - <!-- </div>--> - <!-- </template>--> - <!-- </el-table-column>--> <el-table-column label="操作" fixed="right" header-align="center" align="center" width="100"> <template #default="scope"> <el-button @@ -234,8 +235,10 @@ <SettingForm ref="settingFormRef"/> </template> <script lang="ts" setup> - import {DICT_TYPE, getDictOptions} from '@/utils/dict' + 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 MpkMenuApi from '@/api/model/mpk/menu' import {FormRules} from 'element-plus' import {getAccessToken, getTenantId} from "@/utils/auth"; import SettingForm from './SettingForm.vue' @@ -249,7 +252,10 @@ const route = useRoute() // 路由 const router = useRouter(); - /** settingForm弹窗 */ + const treeData = ref([]) + const iconList = ref([] as MpkIconApi.MpkIconVO) + +/** settingForm弹窗 */ const settingFormRef = ref() // 添加setting const addSetting = (methodSettings) => { @@ -271,7 +277,7 @@ pyChineseName: undefined, pyName: undefined, pkgName: undefined, - pyType: undefined, + pyType: 'predict', className: undefined, pyModule: undefined, icon: undefined, @@ -280,6 +286,7 @@ remark: undefined, modelMethods: [], filePath: undefined, + menuAndGroup: [], }) const formRules = reactive<FormRules>({ @@ -301,7 +308,7 @@ pyModule: [ {required: true, message: '模型路径不能为空', trigger: 'blur'} ], - menuName: [ + menuAndGroup: [ {required: true, message: '所属目录不能为空', trigger: 'blur'} ], }) @@ -349,7 +356,7 @@ pyName: undefined, pyChineseName: undefined, pkgName: undefined, - pyType: undefined, + pyType: 'predict', className: undefined, pyModule: undefined, icon: undefined, @@ -360,6 +367,10 @@ filePath: undefined } formRef.value?.resetFields() + } + + const handleChange = function () { + } const addRow = function () { @@ -412,6 +423,7 @@ title.value = t('action.' + type) formType.value = type resetForm() + pyTypeChange() // 修改时,设置数据 if (id) { formLoading.value = true @@ -421,6 +433,12 @@ formLoading.value = false } } + + // 加载图标列表 + iconList.value = await MpkIconApi.getList() + + // 加载菜单,分组 + treeData.value = await MpkMenuApi.getTree() }) const pyTypeChange = () => { -- Gitblit v1.9.3