From 7619b42541a7b44c4f859b17f69d087b39aef08c Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期一, 24 十一月 2025 16:53:46 +0800
Subject: [PATCH] 修改
---
src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectCaralog/components/editDialog.vue | 92 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectCaralog/components/editDialog.vue b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectCaralog/components/editDialog.vue
index 6d368be..ee70e4f 100644
--- a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectCaralog/components/editDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectCaralog/components/editDialog.vue
@@ -30,6 +30,20 @@
<el-form-item label="排序:" prop="sort">
<el-input v-model.number.trim="state.form.sort" type="number" :disabled="state.title =='查看'" placeholder="排序"></el-input>
</el-form-item>
+ <el-form-item label="模板文件:" prop="filePath">
+ <el-upload accept=".doc,.docx,.pdf" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
+ <el-button type="primary">点击上传</el-button>
+ <template #tip>
+ <div class="el-upload__tip">支持上传.doc、.docx、.pdf格式文档,尺寸小于30M,最多可上传1份</div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ <el-form-item label="是否添加文件:" prop="isFile">
+ <el-radio-group v-model="state.form.isFile" >
+ <el-radio :label="1">是</el-radio>
+ <el-radio :label="2">否</el-radio>
+ </el-radio-group>
+ </el-form-item>
</el-form>
<template #footer v-if="state.title !='查看'">
<span class="dialog-footer">
@@ -44,6 +58,8 @@
import {reactive, ref, toRefs, defineEmits, nextTick, onMounted} from 'vue'
import {ElMessage} from "element-plus";
import {addCatalogue, editCatalogue, getCatalogue} from "@/api/qualityManage/catalog";
+import {getToken} from "@/utils/auth";
+import {delPic} from "@/api/onlineEducation/banner";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
@@ -56,17 +72,28 @@
number:'',
parentId: null,
companyId: null,
- sort: null
+ sort: null,
+ isFile:null,
+ filePath:'',
+ fileName:''
},
formRules:{
mess: [{ required: true, message: '请输入目录名称', trigger: 'blur' }],
number: [{ required: true, message: '请输入序号', trigger: 'blur' }],
parentId:[{ required: true, message: '请选择上级分支', trigger: 'blur' }],
sort: [{ required: true, message: '请输入排序', trigger: 'blur' }],
+ isFile:[{ required: true, message: '请选择是否添加文件', trigger: 'blur' }],
+ // filePath:[{ required: true, message: '请上传文件', trigger: 'blur' }],
},
isAdmin: false,
companyList: [],
menuOptions: [],
+ uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile',
+ header: {
+ Authorization: getToken()
+ },
+ fileLimit: 1,
+ fileList: [],
})
onMounted(() => {
@@ -91,6 +118,13 @@
state.form[key] = value[key]
}
})
+ if(value.filePath) {
+ const obj = {
+ url: value.filePath,
+ name: value.fileName
+ }
+ state.fileList = [obj]
+ }
}
state.form.companyId = companyId
@@ -160,6 +194,56 @@
traverse(val); // 从根节点开始遍历
return val;
}
+const handleAvatarSuccess = (res, uploadFile) => {
+ if(res.code == 200){
+ state.form.filePath = res.data.path
+ state.form.fileName = res.data.originName
+ state.form.format = '.' + res.data.filename.split('.')[1]
+ }else{
+ state.fileList = []
+ ElMessage({
+ type: 'warning',
+ message: '文件上传失败'
+ })
+ }
+}
+
+const showTip =()=>{
+ ElMessage({
+ type: 'warning',
+ message: '超出文件上传数量'
+ });
+}
+const picSize = async (rawFile) => {
+ if(rawFile.size / 1024 / 1024 > 30){
+ ElMessage({
+ type: 'warning',
+ message: '文件大小不能超过30M'
+ });
+ return false
+ }
+};
+const handleRemove = async (file, uploadFiles) => {
+ let path = state.form.filePath;
+ await delPic({path: path}).then(res => {
+ if(res.code == 200){
+ // ElMessage({
+ // type: 'success',
+ // message: '文件已删除'
+ // })
+ state.form.filePath = ''
+ state.form.fileName = ''
+ state.form.format = ''
+ }else{
+ ElMessage({
+ type: 'warning',
+ message: res.message
+ })
+ }
+ }).catch(() => {
+ state.form.imgUrl = ''
+ });
+}
const handleClose = () => {
state.form = {
id: null,
@@ -167,8 +251,12 @@
number:'',
parentId: null,
companyId: null,
- sort: null
+ sort: null,
+ isFile:null,
+ filePath:'',
+ fileName:''
}
+ state.fileList = []
state.isTree = false
superRef.value.clearValidate();
superRef.value.resetFields()
--
Gitblit v1.9.2