| | |
| | | <a-popconfirm content="确定删除吗?" @ok="deleteKnowledge(tab.id)" type="warning"> |
| | | <span style="cursor: pointer;color: #0960bd;font-size: 12px"><icon-delete />删除</span> |
| | | </a-popconfirm> |
| | | |
| | | </template> |
| | | </a-popover> |
| | | </div> |
| | |
| | | <a-tabs default-active-key="1"> |
| | | <a-tab-pane key="1" :title= "t('dmx.list.DataSet')"> |
| | | <div class="rt-container-main"> |
| | | <a-card ref="account" class="general-card" :title="$t('')" style="padding-top: 20px"> |
| | | <a-card ref="account" class="general-card" title="" style="padding-top: 20px"> |
| | | <a-row> |
| | | <a-col :flex="1" :span="12"> |
| | | <a-form |
| | |
| | | <template #create_time="{ record }"> |
| | | <span>{{parseTime(record.create_time)}}</span> |
| | | </template> |
| | | <!-- <template #parser_id="{ record }">--> |
| | | <!-- <span>{{ parser_ids[record.parser_id]}}</span>--> |
| | | <!-- </template>--> |
| | | <template #status="{ record }"> |
| | | <a-switch v-model="record.status" checked-value="0" unchecked-value="1"/> |
| | | <a-switch v-model="record.status" size="small" checked-value="1" unchecked-value="0" @change="handleChangeStatus(record)"/> |
| | | </template> |
| | | <template #run="{ record }"> |
| | | <div style="display: flex;align-items: center;"> |
| | |
| | | <p>Here is the text content</p> |
| | | </template> |
| | | </a-popover> |
| | | <a-popover title="Title" v-if="record.run == '2'"> |
| | | <a-popover title="Title" v-if="record.run == '1'"> |
| | | <a-tag :loading="record.loading" :color="'blue'" border>{{$t('dmx.list.complete')}}</a-tag> |
| | | <template #content> |
| | | <p>Here is the text content</p> |
| | | </template> |
| | | </a-popover> |
| | | <a-popover title="Title" v-if="record.run == '1'"> |
| | | <a-popover title="Title" v-if="record.run == '2'"> |
| | | <a-tag :loading="record.loading" :color="'gold'" border>{{$t('dmx.list.cancel')}}</a-tag> |
| | | <template #content> |
| | | <p>Here is the text content</p> |
| | |
| | | </div> |
| | | </template> |
| | | <template #action="{ record }" > |
| | | <tool/> |
| | | <tool :kbtenantInfo="kbtenantInfo" :item="record" :kbdetail="kbdetail" /> |
| | | <edit :item="record" @upTabdateItem="upTabdateItem"/> |
| | | <a-popconfirm :content="t('确定删除吗')" type="warning" @ok="deleteItem(record)"> |
| | | <a-popconfirm :content="'确定删除吗'" type="warning" @ok="deleteItem(record)"> |
| | | <a-button type="text" size="small"> |
| | | <template #icon> |
| | | <icon-delete /> |
| | |
| | | </a-tab-pane> |
| | | <a-tab-pane key="2" :title="t('dmx.list.test')"> |
| | | <div class="rt-container-main"> |
| | | <test ></test> |
| | | <test></test> |
| | | </div> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="3" :title="t('dmx.list.disposition')"> |
| | | <div class="rt-container-main"> |
| | | <config ></config> |
| | | <config :kbtenantInfo="kbtenantInfo" :kbobj="kbobj"></config> |
| | | </div> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { computed, ref, reactive, watch, nextTick, onBeforeMount } from "vue"; |
| | | import { computed, ref, reactive, watch, nextTick, onBeforeMount, onMounted } from "vue"; |
| | | import { useI18n } from 'vue-i18n'; |
| | | import useLoading from '@/hooks/loading'; |
| | | import { |
| | |
| | | queryKbDocumentList, |
| | | deleteKnow, |
| | | queryKbdetail, |
| | | queryKbtenantInfo, kbdocumentrm, kbdocumentchangeparser, kbdocumentrun |
| | | queryKbtenantInfo, kbdocumentrm, kbdocumentchangeparser, kbdocumentrun, kbdocumentchangeStatus |
| | | } from "@/api/kbList"; |
| | | import { Pagination } from '@/types/global'; |
| | | import type { SelectOptionData } from '@arco-design/web-vue/es/select/interface'; |
| | |
| | | import test from '@/views/dmx/knowledgeLib/test.vue' |
| | | import tool from '@/views/dmx/knowledgeLib/tool.vue' |
| | | import addDetails from '@/views/dmx/knowledgeLib/addDetails.vue' |
| | | import { deleteAccount } from "@/api/account"; |
| | | import { Message } from "@arco-design/web-vue"; |
| | | import { parseTime } from "@/utils"; |
| | | import { Message } from "@arco-design/web-vue"; |
| | | import { parseTime } from "@/utils"; |
| | | import { usePinia } from "@/store"; |
| | | const store = usePinia(); |
| | | type SizeProps = 'mini' | 'small' | 'medium' | 'large'; |
| | | type Column = TableColumnData & { checked?: true }; |
| | | const account = ref(null) |
| | |
| | | let detailsShow = ref(false) |
| | | let selectedTab = ref(0) |
| | | let kbobj = reactive({}) |
| | | let kbdetail = reactive({}) |
| | | let parser_ids = reactive({}) |
| | | let kbtenantInfo = reactive({ |
| | | "asr_id": "paraformer-realtime-8k-v1", |
| | | "embd_id": "BAAI/bge-large-zh-v1.5", |
| | | "img2txt_id": "qwen-vl-max", |
| | | "llm_id": "qwen-plus", |
| | | "name": "wanghao‘s Kingdom", |
| | | "parser_ids": "naive:General,qa:Q&A,resume:Resume,manual:Manual,table:Table,paper:Paper,book:Book,laws:Laws,presentation:Presentation,picture:Picture,one:One", |
| | | "rerank_id": "BAAI/bge-reranker-v2-m3", |
| | | "role": "owner", |
| | | "tenant_id": "948fc6fa41ab11ef8fb80242ac120004", |
| | | parser_idObj:{} |
| | | }) |
| | | let tabs = ref([]) |
| | | |
| | | const selectTab = (index,item) => { |
| | | selectedTab.value= index; |
| | | console.log(item.id); |
| | | kbobj= item |
| | | // console.log(item.id); |
| | | kbobj= item; |
| | | store.kbobj = kbobj |
| | | fetchData({ |
| | | kb_id: kbobj.id, |
| | | page: 1, |
| | |
| | | title: t('启用'), |
| | | dataIndex: 'status', |
| | | slotName: 'status', |
| | | slotName: 'status', |
| | | }, |
| | | { |
| | | title: t('解析状态'), |
| | |
| | | const data = await queryKbDocumentList(params); |
| | | console.log(data, 'data'); |
| | | if(data.code=='0'){ |
| | | // 详情 |
| | | // const kbtenantInfo = await queryKbtenantInfo(); |
| | | parser_ids = kbtenantInfo.parser_ids.split(',').reduce((acc, pair) => { |
| | | const [key, value] = pair.split(':'); |
| | | acc[key] = value; |
| | | return acc; |
| | | }, {}); |
| | | // console.log(parser_ids, 'parser_ids'); |
| | | kbtenantInfo.parser_idObj = parser_ids; |
| | | renderData.value = data.data.docs||[]; |
| | | renderData.value = renderData.value.map((item) => { |
| | | return { |
| | | ...item, |
| | | loading: false, |
| | | parser_id: parser_ids[item.parser_id], |
| | | }; |
| | | }); |
| | | console.log(renderData.value, 'renderData.value'); |
| | | console.log(renderData.value, 'renderData'); |
| | | |
| | | pagination.current = params.page; |
| | | pagination.total = data.data.total; |
| | | // 查询知识库详情 |
| | | const kbdetail = await queryKbdetail({ |
| | | kbdetail = await queryKbdetail({ |
| | | kb_id:params.kb_id, |
| | | }); |
| | | // 详情 |
| | | // const kbtenantInfo = await queryKbtenantInfo(); |
| | | |
| | | |
| | | |
| | |
| | | console.log(tabs.value, 'tabs'); |
| | | if(tabs.value.length>0 && tabs.value[0]){ |
| | | kbobj = tabs.value[0] |
| | | store.kbobj = kbobj |
| | | fetchData({ |
| | | kb_id: kbobj.id, |
| | | page: 1, |
| | |
| | | } |
| | | } |
| | | |
| | | const handleChangeStatus = async (row)=>{ |
| | | console.log(row); |
| | | let data = await kbdocumentchangeStatus({ |
| | | doc_id: row.id, |
| | | status: row.status |
| | | }) |
| | | if(data.code == 0){ |
| | | Message.success('操作成功'); |
| | | } |
| | | } |
| | | |
| | | |
| | | const run = async (row)=>{ |
| | | console.log(row); |
| | | row.loading = true; |
| | | let run = '1' |
| | | if(row.run!='2'){ |
| | | run = '1' |
| | | }else { |
| | | run = '2' |
| | | } |
| | | let data = await kbdocumentrun({ |
| | | doc_ids: [row.id], |
| | | run: '1' |
| | | run: run |
| | | }) |
| | | // let data = await kbdocumentchangeparser({ |
| | | // parser_id: row.parser_id, |
| | |
| | | ); |
| | | |
| | | onBeforeMount(()=>{ |
| | | |
| | | }) |
| | | onMounted(()=>{ |
| | | knowledgeData() |
| | | }) |
| | | |