From 0f01c4bbce19fa8489a4e835c83cb9415549f681 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期一, 17 二月 2025 17:54:22 +0800 Subject: [PATCH] 表单校验 --- src/views/project/yw/dataManage/graph/AddGraph.vue | 73 ++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 36 deletions(-) diff --git a/src/views/project/yw/dataManage/graph/AddGraph.vue b/src/views/project/yw/dataManage/graph/AddGraph.vue index e98b819..19189c0 100644 --- a/src/views/project/yw/dataManage/graph/AddGraph.vue +++ b/src/views/project/yw/dataManage/graph/AddGraph.vue @@ -43,22 +43,6 @@ </template> </el-upload> </el-form-item> - <el-form-item label="鏂囨。璇嗗埆:"> - <div - class="bg-[#f6f5ff] border-[1px] border-solid border-[#0062be] py-[12px] w-[215px] px-[16px] rounded-lg cursor-pointer" - > - <el-radio-group v-model="state.categoryForm.DocumentRecognition"> - <el-radio value="1" size="large"> - <span class="font-[700] text[14px]">鏂囨。鏅鸿兘瑙f瀽</span> - </el-radio> - </el-radio-group> - <el-tooltip :content="state.demoDesc" placement="top" effect="light" popper-class="set_tooltip_demo"> - <div class="text-[#878aab] text-[12px] mx-0 mt-[2px] mb-0 set-desc"> - {{ state.demoDesc }} - </div> - </el-tooltip> - </div> - </el-form-item> </el-form> <div class="set-form-footer"> @@ -75,9 +59,12 @@ <script setup lang="ts"> import type { UploadUserFile } from 'element-plus'; import { ElMessage } from 'element-plus'; +import moment from 'moment'; import { onMounted, reactive, ref } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { add_knowledge_file } from '/@/api/knowledge/group'; +import mittBus from '/@/utils/mitt'; +import { convertFileSize } from '/@/utils/util'; const uploadFileChange = (rule, value, callback) => { if (fileList.value.length === 0) { return callback('璇烽�夋嫨闇�瑕佷笂浼犵殑鏂囦欢'); @@ -97,13 +84,14 @@ allowType: 'md', limit: 5, size: 5, - demoDesc: '浣跨敤闃块噷浜戞枃妗f櫤鑳借В鏋愭湇鍔℃嵁瑙f瀽鏂囨。锛屾娊鍙栨枃妗e唴瀹广�佸眰绾х粨鏋勭瓑淇℃伅銆�', categoryFormRules: { importType: [{ required: true, validator: uploadFileChange, trigger: 'change' }], }, + fileInfo: {} as any, }); const fileList = ref<UploadUserFile[]>([]); const categoryFormRef = ref(null); +const uploadRef = ref(null); const router = useRouter(); const route = useRoute(); //杩斿洖 @@ -111,10 +99,11 @@ //鏄惁鏄剧ず杩斿洖 router.back(); categoryFormRef.value.resetFields(); + uploadRef.value.clearFiles(); fileList.value = []; }; -const flag = ref(true); const uploadFile = (file: UploadUserFile) => { + state.fileInfo = file?.file; fileList.value.push(file); categoryFormRef.value.validateField(['importType']); //绉婚櫎涓婁紶鏂囦欢閿欒鎻愮ず!杩欐槸閲嶇偣锛侊紒 }; @@ -129,26 +118,38 @@ }; //纭 const onSubmit = async () => { - let group_id = route.query.group_id; + const valid = await categoryFormRef.value.validate().catch(() => {}); + if (!valid) return; + const group_id = route.query.group_id; 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); - } - } + const group_name = state.fileInfo?.name; + const group_type = 'markdown'; + const group_time = moment(state.fileInfo?.lastModifiedDate).format('YYYY-MM-DD HH:mm:ss'); + const group_size = convertFileSize(state.fileInfo?.size); + 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('瀵煎叆鎴愬姛'); + let obj = { + id: res.file_id, + name: group_name, + type: group_type, + time: group_time, + size: group_size, + }; + + mittBus.emit('addGraphObj', obj); + router.push({ + name: 'GraphIndex', + }); + uploadRef.value.clearFiles(); + } else { + ElMessage.error(res.json_msg); + } }; onMounted(() => { const group_title = route.query.title; -- Gitblit v1.9.3