| | |
| | | <template> |
| | | <div class="container"> |
| | | <Breadcrumb :items="['大模型', '大模型管理']" /> |
| | | <Breadcrumb :items="['大模型', '模型管理']" /> |
| | | |
| | | <a-row :gutter="20" align="stretch"> |
| | | <a-col :span="24"> |
| | |
| | | :style="{ |
| | | width: '100%', |
| | | }" |
| | | alt="dessert" |
| | | alt="暂无图片" |
| | | :src="item.logo" |
| | | /> |
| | | </div> |
| | |
| | | list.type |
| | | }}</div> --> |
| | | </div> |
| | | <div class="arco-btn-group"> |
| | | <a-space class="btn-group"> |
| | | <!-- <editModel></editModel> --> |
| | | <a-button type="primary" @click="handleEditModel"> |
| | | 编辑 |
| | | </a-button> |
| | | </a-space> |
| | | </div> |
| | | </a-card> |
| | | <div class="arco-btn-group"> |
| | | <a-space class="btn-group"> |
| | | <!-- <editModel></editModel> --> |
| | | <a-button |
| | | type="primary" |
| | | @click="handleEditModel(item, 1)" |
| | | > |
| | | 编辑 |
| | | </a-button> |
| | | </a-space> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | |
| | | :key="index" |
| | | > |
| | | <div class="card_wrap_box"> |
| | | <div> |
| | | <div class="card_wrap_box_img"> |
| | | <img |
| | | :style="{ |
| | | width: '100%', |
| | | transform: 'translateY(-20px)', |
| | | }" |
| | | alt="dessert" |
| | | alt="暂无图片" |
| | | :src="list.logo" |
| | | /> |
| | | <!-- src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a20012a2d4d5b9db43dfc6a01fe508c0.png~tplv-uwbnlip3yd-webp.webp" --> |
| | |
| | | list.type |
| | | }}</div> |
| | | </div> |
| | | <div class="arco-btn-group"> |
| | | <a-space class="btn-group"> |
| | | <a-button @click="handleDeleteModel(list)"> |
| | | 删除 |
| | | </a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="handleEditModel(list)" |
| | | > |
| | | 编辑 |
| | | </a-button> |
| | | |
| | | <!-- <editModel></editModel> --> |
| | | </a-space> |
| | | </div> |
| | | </a-card> |
| | | <div class="arco-btn-group"> |
| | | <a-space class="btn-group"> |
| | | <a-button @click="handleDeleteModel(list)"> |
| | | 删除 |
| | | </a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="handleEditModel(list)" |
| | | > |
| | | 编辑 |
| | | </a-button> |
| | | |
| | | <!-- <editModel></editModel> --> |
| | | </a-space> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </a-col> |
| | | <div> </div> |
| | | <div class="box_right"> |
| | | <div class="search_input"> |
| | | <!-- <div class="search_input"> |
| | | <a-input-search |
| | | :placeholder="$t('cardList.searchInput.placeholder')" |
| | | style="width: 240px" |
| | | /> |
| | | </div> |
| | | </div> --> |
| | | <div> |
| | | <!-- <addModel></addModel> --> |
| | | <a-button |
| | | type="primary" |
| | | :loading="loading2" |
| | | @click="handleAddModel" |
| | | > |
| | | <a-button type="primary" @click="handleAddModel"> |
| | | <template #icon> |
| | | <icon-plus /> |
| | | </template> |
| | |
| | | </a-card> |
| | | </a-col> |
| | | </a-row> |
| | | <!-- 添加模型 --> |
| | | <addPageModel |
| | | v-model:show="show" |
| | | :task_id="task_id" |
| | | :type="modelType" |
| | | :title="title" |
| | | :editList="editList" |
| | | @refresh-parent="refreshParentMethod" |
| | | v-if="show" |
| | | ></addPageModel> |
| | | <!-- 添加tab模式 --> |
| | | <addTableName |
| | | v-model:tabShow="tabShow" |
| | | :nameList="editList" |
| | | :title="title" |
| | | @refresh-parent="refreshParentMethod" |
| | | v-if="tabShow" |
| | | ></addTableName> |
| | | </div> |
| | | <!-- 添加模型 --> |
| | | <addPageModel |
| | | v-model:show="show" |
| | | :task_id="task_id" |
| | | :type="modelType" |
| | | :title="title" |
| | | :editList="editList" |
| | | @refresh-parent="refreshParentMethod" |
| | | v-if="show" |
| | | ></addPageModel> |
| | | <!-- 添加tab模式 --> |
| | | <addTableName |
| | | v-model:tabShow="tabShow" |
| | | :nameList="editList" |
| | | @refresh-parent="refreshParentMethod" |
| | | v-if="tabShow" |
| | | ></addTableName> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref, reactive, nextTick } from 'vue'; |
| | | import addModel from '@/views/dmx/model/components/addModel.vue'; |
| | | import editModel from '@/views/dmx/model/components/editModel.vue'; |
| | | import addPageModel from './components/addPageModel.vue'; |
| | | import addTableName from './components/addTableName.vue'; |
| | |
| | | const modelType = ref(1); |
| | | const handleAdd = () => { |
| | | tabShow.value = true; |
| | | title.value = '添加模型'; |
| | | editList.value.llm_factory = tabKey.value; |
| | | }; |
| | | const editList = ref({ llm_factory: '' }); |
| | | //增加模型子类 |
| | | const handleAddModel = () => { |
| | | if (tabKey.value == 'key') { |
| | | tabShow.value = true; |
| | | } else { |
| | | modelType.value = 2; |
| | | editList.value.llm_factory = tabKey.value; |
| | | show.value = true; |
| | | title.value = '添加模式'; |
| | | } |
| | | modelType.value = 2; |
| | | editList.value = [{ llm_factory: '' }]; |
| | | editList.value.llm_factory = tabKey.value; |
| | | show.value = true; |
| | | title.value = '添加模式'; |
| | | }; |
| | | //编辑模型子类 |
| | | const handleEditModel = (val) => { |
| | | if (tabKey.value == 'key') { |
| | | const handleEditModel = (val, type) => { |
| | | console.log(val, 6766); |
| | | if (type == 1) { |
| | | tabShow.value = true; |
| | | editList.value = val; |
| | | title.value = '编辑模型'; |
| | | editList.value.llm_factory = tabKey.value; |
| | | } else { |
| | | modelType.value = 2; |
| | | task_id.value = val.id; |
| | |
| | | |
| | | //父级模型 |
| | | const handleDelete = async (key: any) => { |
| | | console.log(key, 45455); |
| | | // tabData.value = tabData.value.filter((item) => item.key !== key); |
| | | Reflect.deleteProperty(tabData.value, key); |
| | | await deleteLlmFactory(key); |
| | | queryModel(); |
| | | console.log(tabData.value[key]); |
| | | if (tabData.value[key].llm.length > 0) { |
| | | Message.error('请先删除子模型'); |
| | | return; |
| | | } |
| | | if (key !== 'key') { |
| | | const res = await deleteLlmFactory(key); |
| | | if (res.code == 200) { |
| | | Reflect.deleteProperty(tabData.value, key); |
| | | queryModel(); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | const visible = ref(false); |
| | |
| | | } |
| | | } |
| | | } |
| | | :deep(.arco-tabs-nav-tab) { |
| | | flex: none; |
| | | width: 60%; |
| | | } |
| | | .table_add_clore { |
| | | :deep(.arco-tabs-nav-add-btn .arco-icon-hover::before) { |
| | | top: 50%; |
| | |
| | | :deep(.arco-tabs-nav-add-btn .arco-icon-hover .arco-icon) { |
| | | color: #fff; |
| | | } |
| | | :deep(.arco-tabs-nav) { |
| | | max-width: 60%; |
| | | } |
| | | // :deep(.arco-tabs-nav) { |
| | | // max-width: 60%; |
| | | // } |
| | | |
| | | :deep(.arco-icon-hover::before) { |
| | | top: 50%; |
| | |
| | | } |
| | | } |
| | | .card_content { |
| | | position: relative; |
| | | .arco-btn-group { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 100px; |
| | | } |
| | | .card_wrap_box_img { |
| | | min-height: 200px; |
| | | max-height: 240px; |
| | | height: 200px; |
| | | img { |
| | | max-height: 190px; |
| | | } |
| | | } |
| | | .card_wrap_box { |
| | | // position: relative; |
| | | .arco-btn-group { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 87%; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | transition: all 0.3s; |
| | | border: 1px solid var(--color-neutral-3); |
| | | border-radius: 4px; |
| | | position: relative; |
| | | &:hover { |
| | | transform: translateY(-4px); |
| | | // box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1); |