Authored by wf

上传下载功能

@@ -113,10 +113,12 @@ @@ -113,10 +113,12 @@
113 <!--<el-form-item label="修复建议" prop="repairSuggestions">--> 113 <!--<el-form-item label="修复建议" prop="repairSuggestions">-->
114 <!-- <el-input type="textarea" v-model="docForm.repairSuggestions"></el-input>--> 114 <!-- <el-input type="textarea" v-model="docForm.repairSuggestions"></el-input>-->
115 <!--</el-form-item>--> 115 <!--</el-form-item>-->
116 - <el-form-item label="" prop="remark"> 116 + <el-form-item label="" prop="">
117 <el-upload 117 <el-upload
118 ref="upload" 118 ref="upload"
119 action="#" 119 action="#"
  120 + style="display: inline"
  121 + :auto-upload="false"
120 :limit="1" 122 :limit="1"
121 :on-exceed="handleExceed" 123 :on-exceed="handleExceed"
122 :auto-upload="false" 124 :auto-upload="false"
@@ -124,9 +126,10 @@ @@ -124,9 +126,10 @@
124 :on-change="handleUploadChange" 126 :on-change="handleUploadChange"
125 > 127 >
126 <template #trigger> 128 <template #trigger>
127 - <el-button type="primary">上 传 附 </el-button> 129 + <el-button type="primary">选择附</el-button>
128 </template> 130 </template>
129 </el-upload> 131 </el-upload>
  132 +
130 </el-form-item> 133 </el-form-item>
131 134
132 <el-form-item> 135 <el-form-item>
@@ -64,39 +64,10 @@ export default { @@ -64,39 +64,10 @@ export default {
64 remark:'', 64 remark:'',
65 impactSite:'', 65 impactSite:'',
66 repairSuggestions:'', 66 repairSuggestions:'',
67 - file:''  
68 } 67 }
69 } 68 }
70 - // 保存漏洞  
71 - const addFolder = ()=>{  
72 - // console.log(docForm.value);  
73 - ruleForm.value.validate((validate)=>{  
74 - if (validate){  
75 - proxy.$http.post('/api-web/vulnerabilities/save', docForm.value, function (res) {  
76 - addDialogVisible.value = false;  
77 - getVulnerabilityList();  
78 - docForm.value.name = '';  
79 - docForm.value.level = '';  
80 - docForm.value.remark = '';  
81 - docForm.value.impactSite = '';  
82 - docForm.value.repairSuggestions = '';  
83 - docForm.value.file = "";  
84 - })  
85 - }  
86 - })  
87 - }  
88 -  
89 - let upload = Vue.ref();  
90 - //文件选中时自动替换上一个文件  
91 - const handleExceed = (files)=>{  
92 - upload.value.clearFiles()  
93 - const file = files[0]  
94 - upload.value.handleStart(file)  
95 - }  
96 - const handleUploadChange = (uploadFile)=>{  
97 - docForm.value.file = uploadFile.raw;  
98 - }  
99 69
  70 + let vlunfile = Vue.ref();
100 let docForm = Vue.ref({ 71 let docForm = Vue.ref({
101 name:'', 72 name:'',
102 level:'', 73 level:'',
@@ -104,7 +75,6 @@ export default { @@ -104,7 +75,6 @@ export default {
104 remark:'', 75 remark:'',
105 impactSite:'', 76 impactSite:'',
106 repairSuggestions:'', 77 repairSuggestions:'',
107 - file:''  
108 }) 78 })
109 let docRulesForm = Vue.ref({ 79 let docRulesForm = Vue.ref({
110 name:[ 80 name:[
@@ -128,6 +98,50 @@ export default { @@ -128,6 +98,50 @@ export default {
128 98
129 let viewDrawer = Vue.ref(false) 99 let viewDrawer = Vue.ref(false)
130 100
  101 + // 保存漏洞
  102 + const addFolder = ()=>{
  103 + let formData = new FormData();
  104 + console.log(docForm.value,"docForm.value",vlunfile.value.raw)
  105 + formData.append("data", JSON.stringify(docForm.value));
  106 + formData.append("files",vlunfile.value.raw);
  107 + formData.append("access_token",localStorage.getItem('access_token'))
  108 + ruleForm.value.validate((validate)=>{
  109 + if (validate){
  110 + $.ajax({
  111 + url: sessionStorage.getItem('domainName') + '/api-web/vulnerabilities/save',
  112 + type: 'POST',
  113 + processData: false,
  114 + mimeType: "multipart/form-data",
  115 + contentType: false,
  116 + async: false,
  117 + data: formData,
  118 + success(res) {
  119 + proxy.$global.showMsg('添加成功');
  120 + addDialogVisible.value = false;
  121 + getVulnerabilityList();
  122 + docForm.value.name = '';
  123 + docForm.value.level = '';
  124 + docForm.value.remark = '';
  125 + docForm.value.impactSite = '';
  126 + docForm.value.repairSuggestions = '';
  127 + }
  128 + });
  129 + }
  130 + })
  131 + }
  132 +
  133 + let upload = Vue.ref();
  134 + //文件选中时自动替换上一个文件
  135 + const handleExceed = (files)=>{
  136 + upload.value.clearFiles()
  137 + const file = files[0]
  138 + upload.value.handleStart(file)
  139 + }
  140 + const handleUploadChange = (f)=>{
  141 + vlunfile.value = f;
  142 + }
  143 +
  144 +
131 // 查看详细 145 // 查看详细
132 const handleDetail = (obj) =>{ 146 const handleDetail = (obj) =>{
133 proxy.$http.get('/api-web/vulnerabilities/detail', {id:obj.id}, function (res) { 147 proxy.$http.get('/api-web/vulnerabilities/detail', {id:obj.id}, function (res) {
@@ -217,7 +231,15 @@ export default { @@ -217,7 +231,15 @@ export default {
217 231
218 // 下载文件 232 // 下载文件
219 const handleDownload = (row)=>{ 233 const handleDownload = (row)=>{
220 - 234 + if(row.filePath){
  235 + proxy.$http.get('/api-web/vulnerabilities/download',{
  236 + path: row.filePath,name:row.fileName
  237 + }, function (res) {
  238 + handleForm.value.manufacturerName = res.str;
  239 + })
  240 + }else{
  241 + proxy.$global.showMsg("无附件信息", 'warning');
  242 + }
221 } 243 }
222 244
223 // 获取当前登陆人所属厂商 245 // 获取当前登陆人所属厂商