src/views/project/yw/dataManage/graph/AddGraph.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/project/yw/dataManage/graph/GraphIndex.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/project/yw/dataManage/graph/AddGraph.vue
@@ -12,7 +12,13 @@ <div class="relative transition-[opacity 0.3s]"> <div class="set-form-height"> <div class="flex flex-col"> <el-form :model="state.categoryForm" label-width="120px" label-position="left" :rules="state.categoryFormRules"> <el-form :model="state.categoryForm" label-width="120px" label-position="left" :rules="state.categoryFormRules" ref="categoryFormRef" > <el-form-item label="导入类目:"> <label>{{ state.categoryForm.ImportCategory }}</label> </el-form-item> @@ -20,15 +26,20 @@ <label>{{ state.categoryForm.CategoryType }}</label> </el-form-item> <el-form-item label="导入方式:" prop="importType"> <el-upload ref="uploadRef" class="upload-demo w-[530px]" :http-request="uploadFile" drag :accept="state.allowType"> <el-upload ref="uploadRef" class="upload-demo w-[530px]" :http-request="uploadFile" drag :accept="state.allowType" :on-remove="handleRemove" > <el-icon class="el-icon--upload"><upload-filled /></el-icon> <div class="el-upload__text"> <em>点击或拖拽上传文件</em> </div> <template #tip> <div class="el-upload__tip"> 支持格式:{{ state.allowType }};限制大小{{ state.size }}M,最多上传{{ state.limit }}个文件 </div> <div class="el-upload__tip">支持格式:{{ state.allowType }};限制大小{{ state.size }}M</div> </template> </el-upload> </el-form-item> @@ -52,7 +63,7 @@ <div class="set-form-footer"> <el-button type="primary" @click="onSubmit">确 认</el-button> <el-button>取消</el-button> <el-button @click="handleExitFlow">取消</el-button> </div> </div> </div> @@ -67,7 +78,13 @@ import { reactive, ref } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { add_knowledge_file } from '/@/api/knowledge/group'; const uploadFileChange = (rule, value, callback) => { if (fileList.value.length === 0) { return callback('请选择需要上传的文件'); } else { return true; } }; // 定义变量内容 const state = reactive({ detailTitle: '导入数据', @@ -82,16 +99,11 @@ size: 5, demoDesc: '使用阿里云文档智能解析服务据解析文档,抽取文档内容、层级结构等信息。', categoryFormRules: { importType: [ { required: true, message: '请选择文件', trigger: 'change', }, ], importType: [{ required: true, validator: uploadFileChange, trigger: 'change' }], }, }); const fileList = ref<UploadUserFile[]>([]); const categoryFormRef = ref(null); const router = useRouter(); const route = useRoute(); //返回 @@ -102,25 +114,39 @@ const flag = ref(true); const uploadFile = (file: UploadUserFile) => { fileList.value.push(file); categoryFormRef.value.validateField(['importType']); //移除上传文件错误提示!这是重点!! }; // 文件列表移除文件时的钩子 const handleRemove = (file) => { // 4、删除文件时同时删除此文件已上传的文件id(此操作视具体情况) fileList.value.forEach((item, index) => { if (item.file == file.raw) { fileList.value.splice(index, 1); } }); }; //确认 const onSubmit = async () => { let group_id = route.query.group_id; const data = new FormData(); fileList.value.forEach((item: any) => { data.append('file', item.file); if (group_id == null || group_id == '' || group_id == undefined) return; categoryFormRef.value.validate(async (valid: boolean) => { if (valid) { const data = new FormData(); fileList.value.forEach((item: any) => { data.append('file', item.file); }); data.append('group_id', group_id); const res = await add_knowledge_file(data); if (res.json_ok) { ElMessage.success('导入成功'); router.push({ name: 'GraphIndex', }); } else { ElMessage.error(res.json_msg); } } }); data.append('group_id', group_id); const res = await add_knowledge_file(data); if (res.json_ok) { ElMessage.success('导入成功'); router.push({ name: 'GraphIndex', }); } else { ElMessage.error(res.json_msg); } }; </script> <style scoped lang="scss"> src/views/project/yw/dataManage/graph/GraphIndex.vue
@@ -53,20 +53,20 @@ <template #header> <!-- 查询、重置、排序、增加表单 --> <el-form :inline="true" :model="formulaQueryParams"> <el-form :inline="true" :model="graphQueryParams"> <el-form-item label="名称" prop="title"> <el-input v-model="formulaQueryParams.title" style="width: 226.4px" placeholder="文件名称" clearable></el-input> <el-input v-model="graphQueryParams.title" style="width: 226.4px" placeholder="文件名称" clearable></el-input> </el-form-item> <el-form-item> <el-select v-model="formulaQueryParams.Code" autocomplete="off" style="width: 226.4px" clearable> <!-- <el-form-item> <el-select v-model="graphQueryParams.Code" autocomplete="off" style="width: 226.4px" clearable> <el-option v-for="item in Object.keys(analyzeMap)" :key="item" :value="parseInt(item)" :label="analyzeMap[item]"> </el-option> </el-select> </el-form-item> </el-form-item> --> <el-form-item> <el-button type="primary" icon="ele-Search"> 查询 </el-button> <el-button icon="ele-Refresh">重置 </el-button> <el-button type="primary" icon="ele-Search" @click="handleQueryTable"> 查询 </el-button> <el-button icon="ele-Refresh" @click="resetQuery">重置 </el-button> <el-button icon="ele-Plus" @click="importData()"> 导入数据 </el-button> </el-form-item> </el-form></template @@ -82,7 +82,7 @@ class="flex-auto" :row-class-name="isFormulaTableDrag ? 'cursor-move' : 'cursor-pointer'" :header-cell-style="{ textAlign: 'center' }" :data="categoryTableData" :data="displayTableData" highlight-current-row > <el-table-column prop="name" label="文件名称" fixed="left" show-overflow-tooltip align="left" /> @@ -100,19 +100,6 @@ </template> </el-table-column> </el-table> <!-- <div class="flex-0"> <el-pagination v-model:currentPage="state.tableParams.PageIndex" v-model:page-size="state.tableParams.PageSize" :total="state.tableTotal" :page-sizes="[10, 20, 50, 100]" background @size-change="handleSizeChange" style="margin-bottom: 20px" @current-change="handleCurrentChange" layout="total, sizes, prev, pager, next, jumper" /> </div> --> </div> </template> <!-- 增加、修改数据对话框 --> @@ -185,9 +172,9 @@ } from '/@/api/knowledge/group'; import AHMContainer from '/@/components/layout/AHMContainer.vue'; import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue'; import { useQueryTable } from '/@/hooks/useQueryTable'; import { deepClone } from '/@/utils/other'; import { convertListToTree } from '/@/utils/util'; import { analyzeMap } from '/@/views/types/catalog/index'; const state = reactive({ tableParams: { PageIndex: 1, @@ -277,9 +264,12 @@ //#endregion //#region ====================== 搜索表格,对表格排序 ====================== const formulaQueryParams = ref({ const graphQueryParams = ref({ title: '', }); const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(categoryTableData, graphQueryParams, () => { displayTableData.value = categoryTableData.value; }); //#endregion //#region ====================== 跳转文档详情页面 init======================