From de2be8bb72ce7afb089519ea6c00bd1283a582d5 Mon Sep 17 00:00:00 2001 From: Jay <csj123456> Date: 星期五, 11 十月 2024 08:49:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/model/mpk/file/index.vue | 246 ++++++++++++++++++++++++++++--------------------- 1 files changed, 141 insertions(+), 105 deletions(-) diff --git a/src/views/model/mpk/file/index.vue b/src/views/model/mpk/file/index.vue index 598a7a9..8e98f7f 100644 --- a/src/views/model/mpk/file/index.vue +++ b/src/views/model/mpk/file/index.vue @@ -1,133 +1,157 @@ <template> - <!-- 搜索工作栏 --> - <ContentWrap> - <el-form - class="-mb-15px" - :model="queryParams" - ref="queryFormRef" - :inline="true" - label-width="68px" - > - <el-form-item label="模型名称" prop="pyName"> - <el-input - v-model="queryParams.pyName" - placeholder="请输入模型名称" - clearable - class="!w-240px" + <el-row :gutter="20"> + <!-- 左侧树 --> + <el-col :span="4" :xs="24"> + <ContentWrap class="h-1/1"> + <el-tree + style="max-width: 600px" + :data="treeData" + :props="treeProps" + default-expand-all + highlight-current + @node-click="handleNodeClick" /> - </el-form-item> - <el-form-item> - <el-button @click="handleQuery"> - <Icon icon="ep:search" class="mr-5px"/> - 搜索 - </el-button> - <el-button @click="resetQuery"> - <Icon icon="ep:refresh" class="mr-5px"/> - 重置 - </el-button> - <div class="ml-12px"> - <router-link :to="'/file/form'"> - <el-button type="primary" plain v-hasPermi="['mpk:file:create']"> - <Icon icon="ep:plus" class="mr-5px"/>新增</el-button> - </router-link> - </div> - - </el-form-item> - </el-form> - </ContentWrap> - - <!-- 列表 --> - <ContentWrap> - <el-table - v-loading="loading" - :data="list" - row-key="id" - > - <el-table-column prop="pyChineseName" label="模型中文名称"/> - <el-table-column prop="pyName" label="模型名称"/> - <el-table-column prop="pyType" label="模型类型" :formatter="(r,c,v) => getDictLabel(DICT_TYPE.MODEL_TYPE,v)"/> - <el-table-column prop="menuName" label="所属菜单" width="120px"/> - <el-table-column prop="groupName" label="所属组" width="120px"/> - <el-table-column prop="remark" label="备注" width="200px"/> - <el-table-column prop="createDate" label="创建时间" :formatter="dateFormatter" width="170px"/> - <el-table-column label="操作" align="center" width="200px"> - <template #default="scope"> - <div class="flex items-center justify-center"> - <router-link :to="'/file/form/' + scope.row.id"> - <el-button type="primary" link v-hasPermi="['mpk:file:update']"> - <Icon icon="ep:edit"/>修改 - </el-button> - </router-link> - <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['mpk:file:delete']"> - <Icon icon="ep:delete"/>删除 + </ContentWrap> + </el-col> + <el-col :span="20" :xs="24"> + <!-- 搜索工作栏 --> + <ContentWrap> + <el-form + class="-mb-15px" + :model="queryParams" + ref="queryFormRef" + :inline="true" + label-width="68px" + > + <el-form-item label="模型名称" prop="pyName"> + <el-input + v-model="queryParams.pyName" + placeholder="请输入模型名称" + clearable + class="!w-240px" + /> + </el-form-item> + <el-form-item> + <el-button @click="handleQuery"> + <Icon icon="ep:search" class="mr-5px"/> + 搜索 </el-button> - <div class="pl-12px"> - <el-dropdown @command="(command) => handleCommand(command, scope.row)" trigger="click"> - <el-button type="primary" link> - <Icon icon="ep:d-arrow-right" /> 更多 - </el-button> - <template #dropdown> - <el-dropdown-menu> - <el-dropdown-item - command="generatorCode" - > - 生成代码 - </el-dropdown-item> - <el-dropdown-item - command="generatorHistory" - > - 生成历史 - </el-dropdown-item> - <el-dropdown-item - command="mpkRunDialog" - > - 运行 - </el-dropdown-item> - </el-dropdown-menu> - </template> - </el-dropdown> + <el-button @click="resetQuery"> + <Icon icon="ep:refresh" class="mr-5px"/> + 重置 + </el-button> + <div class="ml-12px"> + <router-link :to="'/file/form'"> + <el-button type="primary" plain v-hasPermi="['mpk:file:create']"> + <Icon icon="ep:plus" class="mr-5px"/>新增</el-button> + </router-link> </div> - </div> - </template> - </el-table-column> - </el-table> - <!-- 分页 --> - <Pagination - v-model:limit="queryParams.pageSize" - v-model:page="queryParams.page" - :total="total" - @pagination="getList" - /> - </ContentWrap> - <MpkGenerator ref="mpkGenerator"/> - <GeneratorCodeHistory ref="generatorCodeHistory"/> - <MpkRun ref="mpkRun"/> + </el-form-item> + </el-form> + </ContentWrap> + + <!-- 列表 --> + <ContentWrap> + <el-table + v-loading="loading" + :data="list" + row-key="id" + > + <el-table-column prop="pyChineseName" label="模型名称" header-align="center" align="center" min-width="100" /> + <el-table-column prop="pyName" label="模型文件" header-align="center" align="center" min-width="300"/> + <el-table-column prop="pyType" label="模型类型" :formatter="(r,c,v) => getDictLabel(DICT_TYPE.MODEL_TYPE,v)"/> + <el-table-column prop="menuName" label="所属菜单" min-width="120px"/> + <el-table-column prop="groupName" label="所属组" min-width="120px"/> + <el-table-column prop="remark" label="备注" min-width="100px"/> + <el-table-column prop="createDate" label="创建时间" :formatter="dateFormatter" width="180px"/> + <el-table-column label="操作" align="center" width="200px"> + <template #default="scope"> + <div class="flex items-center justify-center"> + <router-link :to="'/file/form/' + scope.row.id"> + <el-button type="primary" link v-hasPermi="['mpk:file:update']"> + <Icon icon="ep:edit"/>修改 + </el-button> + </router-link> + <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['mpk:file:delete']"> + <Icon icon="ep:delete"/>删除 + </el-button> + <div class="pl-12px"> + <el-dropdown @command="(command) => handleCommand(command, scope.row)" trigger="click"> + <el-button type="primary" link> + <Icon icon="ep:d-arrow-right" /> 更多 + </el-button> + <template #dropdown> + <el-dropdown-menu> + <el-dropdown-item + command="generatorCode" + > + 生成代码 + </el-dropdown-item> + <el-dropdown-item + command="generatorHistory" + > + 生成历史 + </el-dropdown-item> + <el-dropdown-item + command="mpkRunDialog" + > + 运行 + </el-dropdown-item> + </el-dropdown-menu> + </template> + </el-dropdown> + </div> + </div> + </template> + </el-table-column> + </el-table> + <!-- 分页 --> + <Pagination + v-model:limit="queryParams.limit" + v-model:page="queryParams.page" + :total="total" + @pagination="getList" + /> + </ContentWrap> + + <MpkGenerator ref="mpkGenerator"/> + <GeneratorCodeHistory ref="generatorCodeHistory"/> + <MpkRun ref="mpkRun"/> + </el-col> + </el-row> </template> <script lang="ts" setup> import {dateFormatter} from '@/utils/formatTime' - import * as MpkApi from '@/api/mpk/mpk' + import * as MpkApi from '@/api/model/mpk/mpk' + import * as MpkMenuApi from '@/api/model/mpk/menu' import MpkGenerator from './MpkGenerator.vue' import GeneratorCodeHistory from './MpkGeneratorHistory.vue' import MpkRun from './MpkRun.vue' - import * as UserApi from "@/api/system/user"; import { DICT_TYPE, getDictLabel } from '@/utils/dict' - import {useAppStoreWithOut} from "@/store/modules/app"; + import {ElTree} from "element-plus"; defineOptions({name: 'MpkFile'}) const message = useMessage() // 消息弹窗 const {t} = useI18n() // 国际化 + const treeProps = { + children: 'children', + label: 'label', + } + const loading = ref(true) // 列表的加载中 const total = ref(0) // 列表的总页数 const list = ref([]) // 字典表格数据 const queryParams = reactive({ page: 1, - pageSize: 10, - pyName: '' + limit: 10, + pyName: '', + label: '' }) const queryFormRef = ref() // 搜索的表单 + const treeData = ref([]) const getList = async () => { loading.value = true @@ -138,6 +162,11 @@ } finally { loading.value = false } + } + + const getTree = async () => { + const data = await MpkMenuApi.getTree() + treeData.value = data } /** 操作分发 */ @@ -198,12 +227,19 @@ } } + const handleNodeClick = (data: Tree) => { + queryParams.label = data.label + getList() + } + onActivated((to) => { getList() + getTree() }) /** 初始化 **/ onMounted(async () => { await getList() + await getTree() }) </script> -- Gitblit v1.9.3