Prechádzať zdrojové kódy

fix:知识库和智能体删除替换新弹窗

hanyang 1 rok pred
rodič
commit
1ee6b5b5ea

+ 62 - 31
src/modules/intelligent/MessageBody.vue

@@ -67,6 +67,7 @@
   <a-spin class="init-loading" v-if="loading_data" :size="32" />
   <a-empty v-if="!moke_data.length"></a-empty>
   <ManageTags v-model:visible="visible" :labels="label_list" @updateLabels="updateLabels"></ManageTags>
+  <DeleteModal :visible.sync="delete_visible" @ok="deleteModalOk" @cancel="delete_visible = false" />
 </template>
 
 <script setup>
@@ -74,6 +75,7 @@ import { ref, reactive, onMounted, onBeforeUnmount } from 'vue';
 import { Message, Modal } from '@arco-design/web-vue';
 import CardItem from '../../views/manage/CardItem.vue';
 import ManageTags from './ManageTags.vue';
+import DeleteModal from '../../components/DeleteModal.vue';
 import { getIconIntelligent, getImageIntelligent } from '../common/icon-map.js';
 import LabelSelected from './LabelSelected.vue';
 import { getDialogListForFilter } from '../../apis/intelligent';
@@ -114,6 +116,9 @@ const label_list = ref([]);
 const dropdown = ref(null);
 const visible = ref(false);
 const loading_data = ref(false);
+// 删除弹窗
+const delete_visible = ref(false);
+const delete_intelligent_item = ref(null);
 
 const getDialog = async () => {
   if (pages.current == 1) {
@@ -165,39 +170,65 @@ const editIntelligent = (item) => {
   bus_intelligentEdit.emit(item);
 };
 const deleteIntelligent = (item) => {
-  Modal.warning({
-    title: '提示',
-    okText: '确定',
-    cancelText: '取消',
-    hideCancel: false,
-    content: '确定删除该智能体吗?',
-    async onOk(e) {
-      // dify删除
-      if (item.agentType == dialogType.DIFY) {
-        await deleteDify(item.id);
-        const response = await deleteDialog(item.id);
-        if (response.code == 200) {
-          Message.success('删除成功');
-        }
-        // TODO:刷新页面
-      } else if (item.agentType == dialogType.RAGFLOW) {
-        const data = {
-          dialog_ids: [item.id]
-        };
-        const res = await deleteRgFlow(data);
-        if (res.retcode == 0) {
-          const response = await deleteDialog(item.id);
-          if (response.code == 200) {
-            Message.success('删除成功');
-          }
-        }
+  delete_intelligent_item.value = item;
+  delete_visible.value = true;
+
+  // Modal.warning({
+  //   title: '提示',
+  //   okText: '确定',
+  //   cancelText: '取消',
+  //   hideCancel: false,
+  //   content: '确定删除该智能体吗?',
+  //   async onOk(e) {
+  //     // dify删除
+  //     if (item.agentType == dialogType.DIFY) {
+  //       await deleteDify(item.id);
+  //       const response = await deleteDialog(item.id);
+  //       if (response.code == 200) {
+  //         Message.success('删除成功');
+  //       }
+  //       // TODO:刷新页面
+  //     } else if (item.agentType == dialogType.RAGFLOW) {
+  //       const data = {
+  //         dialog_ids: [item.id]
+  //       };
+  //       const res = await deleteRgFlow(data);
+  //       if (res.retcode == 0) {
+  //         const response = await deleteDialog(item.id);
+  //         if (response.code == 200) {
+  //           Message.success('删除成功');
+  //         }
+  //       }
+  //     }
+  //     bus_intelligentSearch.emit('');
+  //   },
+  //   onCancel(e) {
+  //     console.log('取消');
+  //   }
+  // });
+};
+const deleteModalOk = async () => {
+  if (delete_intelligent_item.value.agentType == dialogType.DIFY) {
+    await deleteDify(delete_intelligent_item.value.id);
+    const response = await deleteDialog(delete_intelligent_item.value.id);
+    if (response.code == 200) {
+      Message.success('删除成功');
+    }
+    // TODO:刷新页面
+  } else if (delete_intelligent_item.value.agentType == dialogType.RAGFLOW) {
+    const data = {
+      dialog_ids: [delete_intelligent_item.value.id]
+    };
+    const res = await deleteRgFlow(data);
+    if (res.retcode == 0) {
+      const response = await deleteDialog(delete_intelligent_item.value.id);
+      if (response.code == 200) {
+        Message.success('删除成功');
       }
-      bus_intelligentSearch.emit('');
-    },
-    onCancel(e) {
-      console.log('取消');
     }
-  });
+  }
+  bus_intelligentSearch.emit('');
+  delete_visible.value = false;
 };
 
 // 获取标签列表

+ 23 - 21
src/modules/knowledge/MessageBody.vue

@@ -32,6 +32,7 @@
   </div>
   <a-spin class="init-loading" v-if="loading_data" :size="32" />
   <a-empty v-if="!moke_data.length"></a-empty>
+  <DeleteModal :visible.sync="delete_visible" @ok="deleteModalOk" @cancel="delete_visible = false" />
 </template>
 
 <script setup>
@@ -39,6 +40,7 @@ import { ref, reactive, onMounted, onBeforeUnmount } from 'vue';
 import { Message, Modal } from '@arco-design/web-vue';
 import { useRouter } from 'vue-router';
 import CardItem from '../../views/manage/CardItem.vue';
+import DeleteModal from '../../components/DeleteModal.vue';
 import { getImageKnowLedge } from '../common/icon-map.js';
 import { funcThrottle } from '../../utils/utils';
 import { getKnowledgeList, deleteOwnKnowledge } from '../../apis/knowledge';
@@ -68,6 +70,9 @@ const body_container = ref(null);
 const scroll_bottom = ref(false);
 // 搜索文本
 const search_text = ref('');
+// 删除弹窗
+const delete_visible = ref(false);
+const delete_data = ref(null);
 
 const handleToDetail = (item) => {
   router.push({
@@ -80,39 +85,36 @@ const handleToDetail = (item) => {
 };
 const handleSelect = ({ value }, item) => {
   if (value === 'delete') {
-    toRemove(item);
+    delete_data.value = item;
+    toRemove();
   }
 };
-const toRemove = (item) => {
-  Modal.warning({
-    title: '提示',
-    content: '确认删除吗',
-    okText: '确定',
-    hideCancel: false,
-    onOk: async () => {
-      let data = await deleteKnow({
-        kb_id: item.id
-      });
-      if (data.retcode == 0) {
-        deleteOwnKnow(item.id);
-      } else {
-        // 没有权限
-        Message.error(t('management.no_permission'));
-      }
-    },
-    onCancel: () => {}
+const toRemove = () => {
+  delete_visible.value = true;
+};
+const deleteModalOk = async () => {
+  let data = await deleteKnow({
+    kb_id: delete_data.value.id
   });
+  if (data.retcode == 0) {
+    deleteOwnKnow(delete_data.value.id);
+  } else {
+    // 没有权限
+    Message.error(t('management.no_permission'));
+  }
+  delete_visible.value = false;
 };
+
 const deleteOwnKnow = async (id) => {
   try {
     const res = await deleteOwnKnowledge(id);
     if (res.code == 200) {
-      Message.success('删除成功');
+      Message.success(t('management.delete_success'));
       pages.current = 1;
       moke_data.value = [];
       getKnowledge();
     } else {
-      Message.error('删除失败');
+      Message.error(t('management.delete_fail'));
     }
   } catch (err) {
     console.log(err, 'flag');

+ 0 - 3
src/modules/knowledge/rgflow/knowledgeLib/add.vue

@@ -63,14 +63,12 @@ const props = defineProps(['kbobj']);
 const emit = defineEmits(['changeFetchData']);
 const uploadRef = ref();
 const files = ref([]);
-console.log(props.kbobj);
 const acceptNameList = computed(() => {
   return '.word, .pdf, .ppt, .excel, .txt, .zip, .rar, .7z, .doc, .docx, .xls, .xlsx, .pptx, .ppt, .pdf, .mp4, .avi, .mp3,.wav, .wma, .wmv, .rm,';
 });
 // 上传文件
 const submitForm = async (done) => {
   if (files.value && files.value.length > 0) {
-    console.log(files.value, props.kbobj, 11);
     files.value.map((item) => {
       const formData = new FormData();
       formData.append('file', item.file);
@@ -108,7 +106,6 @@ const handleCancel = () => {
 };
 
 const handleOpened = (el) => {
-  // console.log(props.kbobj);
   uploadList.value = [];
   files.value = [];
   loading.value = false;

+ 0 - 1
src/modules/knowledge/rgflow/knowledgeLib/index.vue

@@ -663,7 +663,6 @@ const knowledgeData = async (params = { page: 1, page_size: 10 }) => {
   listloading.value = true;
   try {
     const { data } = await queryKbList(params);
-    console.log(data, 'data');
     tabs.value = data;
     // console.log(tabs.value, 'tabs');
     if (tabs.value.length > 0 && tabs.value[0]) {

+ 1 - 2
src/modules/model/MessageBody.vue

@@ -200,7 +200,6 @@ const showMoreModel = (item) => {
 .title {
   font-size: 16px;
   font-weight: bold;
-  color: var(--color-text-1);
 }
 .card-list {
   display: grid;
@@ -208,7 +207,7 @@ const showMoreModel = (item) => {
   gap: 20px;
   transition: all 0.3s ease;
   .labels {
-    color: var(--color-text-3);
+    color: var(--color-neutral-6);
   }
   .desc {
     font-size: 14px;

+ 1 - 1
src/modules/model/ModelList.vue

@@ -92,7 +92,7 @@ const showMoreModel = (item) => {
 }
 .delete-icon {
   font-size: 20px;
-  color: var(--warning-5);
+  color: rgb(var(--orange-5));
   cursor: pointer;
 }
 .list-collapse {