Commit 9d3dbae2 authored by jiaxu.yan's avatar jiaxu.yan

feat: 文件上传问题

parent bdd49ea6
...@@ -44,8 +44,7 @@ ...@@ -44,8 +44,7 @@
margin-top: 10%; margin-top: 10%;
width: 40%; width: 40%;
height: 100%; height: 100%;
background: url('../images/home/huxian.png') no-repeat;
background-size: 100% 75%;
position: relative; position: relative;
.center-item-1 { .center-item-1 {
...@@ -249,11 +248,34 @@ ...@@ -249,11 +248,34 @@
padding: 5px 20px; padding: 5px 20px;
} }
} }
.center-back {
background: url('../images/home/huxian.png') no-repeat;
background-size: 100% 100%;
position: absolute;
left: -35px;
top: -30px;
width: 821px;
height: 673px;
animation: rotate 5s linear infinite;
@keyframes rotate {
0% {
transform: scale(1.1);
}
50% {
transform: scale(0.9);
}
100% {
transform: scale(1.1);
}
}
}
.show-card { .show-card {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-start; justify-content: flex-start;
height: 6rem; height: 8rem;
&-img { &-img {
width: 100px; width: 100px;
height: 100px; height: 100px;
...@@ -284,6 +306,13 @@ ...@@ -284,6 +306,13 @@
margin: 0 1%; margin: 0 1%;
padding: 0 10px; padding: 0 10px;
cursor: pointer; cursor: pointer;
&:hover {
animation: jump 2s linear infinite;
@keyframes jump {
0%, 100% { transform: translateY(20px); }
50% { transform: translateY(-20px); }
}
}
&-img { &-img {
width: 40px; width: 40px;
height: 40px; height: 40px;
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
</div> </div>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
ref="fileUpload"
:action="uploadImgUrl" :action="uploadImgUrl"
:on-preview="handlePreview" :on-preview="handlePreview"
v-model="model.file" v-model="model.file"
...@@ -36,11 +37,16 @@ ...@@ -36,11 +37,16 @@
:limit="1" :limit="1"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-exceed="handleExceed" :on-exceed="handleExceed"
:headers="headers"
> >
<el-button size="small" :disabled="status" type="primary" <el-button size="small" :disabled="status" type="primary"
>上传文件</el-button >上传文件</el-button
> >
<div slot="tip" class="el-upload__tip"></div> <div slot="tip" class="el-upload__tip">
<div v-if="model.path">
<el-link :href="model.path">{{ model.name }}</el-link>
</div>
</div>
</el-upload> </el-upload>
</div> </div>
</template> </template>
...@@ -60,7 +66,6 @@ export default { ...@@ -60,7 +66,6 @@ export default {
default: false default: false
}, },
defaultValue: { defaultValue: {
default: '' default: ''
} }
}, },
...@@ -70,7 +75,11 @@ export default { ...@@ -70,7 +75,11 @@ export default {
value: '', value: '',
list: [], list: [],
file: '', file: '',
path: '' path: '',
name: ''
},
headers: {
Authorization: 'Bearer ' + this.$store.getters.token
}, },
uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址 uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址
} }
...@@ -92,7 +101,7 @@ export default { ...@@ -92,7 +101,7 @@ export default {
mounted() { mounted() {
if (this.defaultValue) { if (this.defaultValue) {
this.model = this.defaultValue this.model = this.defaultValue
this.$emit('changeVal', { name: this.prop, val: this.result}) this.$emit('changeVal', { name: this.prop, val: this.result })
this.$emit('makeRecord', { name: this.prop, record: this.model }) this.$emit('makeRecord', { name: this.prop, record: this.model })
} else { } else {
this.reset() this.reset()
...@@ -127,12 +136,13 @@ export default { ...@@ -127,12 +136,13 @@ export default {
console.log(file) console.log(file)
}, },
handleSuccess(res, file) { handleSuccess(res, file) {
if (res === 200) { if (res.code === 200) {
this.model.path = res.url this.model.path = process.env.VUE_APP_IMAGE_API + res.url
this.model.name = res.originalFilename
this.$refs.fileUpload.clearFiles()
this.$message.success('上传成功') this.$message.success('上传成功')
} else { } else {
this.$message.error('error') this.$message.error('error')
console.log(res, file)
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
......
<template> <template>
<div class="checkbox-upload"> <div class="checkbox-upload">
<el-checkbox-group :disabled="status" v-model="model.value" @change="input"> <el-checkbox-group :disabled="status" v-model="model.value" @change="input">
<el-checkbox <el-checkbox v-for="(i, k) in items.options" :label="i.id" :key="k">
v-for="(i, k) in items.options" {{ i.object }}
:label="i.id"
:key="k"
>
{{ i.object }}
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<el-upload <el-upload
...@@ -18,13 +14,19 @@ ...@@ -18,13 +14,19 @@
:before-remove="beforeRemove" :before-remove="beforeRemove"
:show-file-list="false" :show-file-list="false"
:limit="1" :limit="1"
ref="fileUpload"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-exceed="handleExceed" :on-exceed="handleExceed"
:headers="headers"
> >
<el-button size="small" :disabled="status" type="primary" <el-button size="small" :disabled="status" type="primary"
>上传文件</el-button >上传文件</el-button
> >
<div slot="tip" class="el-upload__tip"></div> <div slot="tip" class="el-upload__tip">
<div v-if="model.path">
<el-link :href="model.path">{{ model.name }}</el-link>
</div>
</div>
</el-upload> </el-upload>
</div> </div>
</template> </template>
...@@ -44,7 +46,6 @@ export default { ...@@ -44,7 +46,6 @@ export default {
default: false default: false
}, },
defaultValue: { defaultValue: {
default: '' default: ''
} }
}, },
...@@ -53,7 +54,11 @@ export default { ...@@ -53,7 +54,11 @@ export default {
model: { model: {
value: [], value: [],
file: '', file: '',
path: '' path: '',
name: ''
},
headers: {
Authorization: 'Bearer ' + this.$store.getters.token
}, },
uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址 uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址
} }
...@@ -71,7 +76,7 @@ export default { ...@@ -71,7 +76,7 @@ export default {
mounted() { mounted() {
if (this.defaultValue) { if (this.defaultValue) {
this.model = this.defaultValue this.model = this.defaultValue
this.$emit('changeVal', { name: this.prop, val: this.value}) this.$emit('changeVal', { name: this.prop, val: this.value })
this.$emit('makeRecord', { name: this.prop, record: this.result }) this.$emit('makeRecord', { name: this.prop, record: this.result })
} else { } else {
this.reset() this.reset()
...@@ -81,9 +86,6 @@ export default { ...@@ -81,9 +86,6 @@ export default {
input() { input() {
let arr = [] let arr = []
this.items.options.map(i => { this.items.options.map(i => {
console.log(this.model.value)
console.log(i)
if (this.model.value.includes(i.id)) { if (this.model.value.includes(i.id)) {
arr.push(i.useCaseNo) arr.push(i.useCaseNo)
} }
...@@ -99,7 +101,8 @@ export default { ...@@ -99,7 +101,8 @@ export default {
this.model = { this.model = {
value: [], value: [],
file: '', file: '',
path: '' path: '',
name: ''
} }
}, },
setDefaultValue(val) { setDefaultValue(val) {
...@@ -112,12 +115,13 @@ export default { ...@@ -112,12 +115,13 @@ export default {
console.log(file) console.log(file)
}, },
handleSuccess(res, file) { handleSuccess(res, file) {
if (res === 200) { if (res.code === 200) {
this.model.path = res.url this.model.path = process.env.VUE_APP_IMAGE_API + res.url
this.model.name = res.originalFilename
this.$refs.fileUpload.clearFiles()
this.$message.success('上传成功') this.$message.success('上传成功')
} else { } else {
this.$message.error('error') this.$message.error('error')
console.log(res, file)
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
......
...@@ -14,17 +14,23 @@ ...@@ -14,17 +14,23 @@
:action="uploadImgUrl" :action="uploadImgUrl"
:on-preview="handlePreview" :on-preview="handlePreview"
v-model="model.file" v-model="model.file"
ref="fileUpload"
:on-remove="handleRemove" :on-remove="handleRemove"
:before-remove="beforeRemove" :before-remove="beforeRemove"
:show-file-list="false" :show-file-list="false"
:limit="1" :limit="1"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-exceed="handleExceed" :on-exceed="handleExceed"
:headers="headers"
> >
<el-button size="small" :disabled="status" type="primary" <el-button size="small" :disabled="status" type="primary"
>上传文件</el-button >上传文件</el-button
> >
<div slot="tip" class="el-upload__tip"></div> <div slot="tip" class="el-upload__tip">
<div v-if="model.path">
<el-link :href="model.path">{{ model.name }}</el-link>
</div>
</div>
</el-upload> </el-upload>
</div> </div>
</template> </template>
...@@ -44,7 +50,6 @@ export default { ...@@ -44,7 +50,6 @@ export default {
default: false default: false
}, },
defaultValue: { defaultValue: {
default: '' default: ''
} }
}, },
...@@ -53,7 +58,11 @@ export default { ...@@ -53,7 +58,11 @@ export default {
model: { model: {
value: '', value: '',
file: '', file: '',
path: '' path: '',
name: ''
},
headers: {
Authorization: 'Bearer ' + this.$store.getters.token
}, },
uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址 uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址
} }
...@@ -65,13 +74,13 @@ export default { ...@@ -65,13 +74,13 @@ export default {
status(newVal) { status(newVal) {
this.reset() this.reset()
this.$emit('changeVal', { name: this.prop, val: [] }) this.$emit('changeVal', { name: this.prop, val: [] })
this.$emit('makeRecord', { name: this.prop, record:{} }) this.$emit('makeRecord', { name: this.prop, record: {} })
} }
}, },
mounted() { mounted() {
if (this.defaultValue) { if (this.defaultValue) {
this.model = this.defaultValue this.model = this.defaultValue
this.$emit('changeVal', { name: this.prop, val: this.result}) this.$emit('changeVal', { name: this.prop, val: this.result })
this.$emit('makeRecord', { name: this.prop, record: this.model }) this.$emit('makeRecord', { name: this.prop, record: this.model })
} else { } else {
this.reset() this.reset()
...@@ -85,8 +94,8 @@ export default { ...@@ -85,8 +94,8 @@ export default {
arr.push(i.useCaseNo) arr.push(i.useCaseNo)
}) })
} }
console.log(arr); console.log(arr)
this.$emit('changeVal', { name: this.prop, val: arr.join(',') }) this.$emit('changeVal', { name: this.prop, val: arr.join(',') })
this.$emit('makeRecord', { name: this.prop, record: this.model }) this.$emit('makeRecord', { name: this.prop, record: this.model })
}, },
...@@ -94,7 +103,8 @@ export default { ...@@ -94,7 +103,8 @@ export default {
this.model = { this.model = {
value: '', value: '',
file: '', file: '',
path: '' path: '',
name: ''
} }
}, },
setDefaultValue(val) { setDefaultValue(val) {
...@@ -107,12 +117,13 @@ export default { ...@@ -107,12 +117,13 @@ export default {
console.log(file) console.log(file)
}, },
handleSuccess(res, file) { handleSuccess(res, file) {
if (res === 200) { if (res.code === 200) {
this.model.path = res.url this.model.path = process.env.VUE_APP_IMAGE_API + res.url
this.model.name = res.originalFilename
this.$refs.fileUpload.clearFiles()
this.$message.success('上传成功') this.$message.success('上传成功')
} else { } else {
this.$message.error('error') this.$message.error('error')
console.log(res, file)
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
</el-radio-group> </el-radio-group>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
ref="fileUpload"
:action="uploadImgUrl" :action="uploadImgUrl"
:on-preview="handlePreview" :on-preview="handlePreview"
v-model="model.file" v-model="model.file"
...@@ -16,11 +17,16 @@ ...@@ -16,11 +17,16 @@
:limit="1" :limit="1"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-exceed="handleExceed" :on-exceed="handleExceed"
:headers="headers"
> >
<el-button size="small" :disabled="status" type="primary" <el-button size="small" :disabled="status" type="primary"
>上传文件</el-button >上传文件</el-button
> >
<div slot="tip" class="el-upload__tip"></div> <div slot="tip" class="el-upload__tip">
<div v-if="model.path">
<el-link :href="model.path">{{ model.name }}</el-link>
</div>
</div>
</el-upload> </el-upload>
</div> </div>
</template> </template>
...@@ -40,7 +46,6 @@ export default { ...@@ -40,7 +46,6 @@ export default {
default: false default: false
}, },
defaultValue: { defaultValue: {
default: '' default: ''
} }
}, },
...@@ -49,9 +54,12 @@ export default { ...@@ -49,9 +54,12 @@ export default {
model: { model: {
value: '', value: '',
file: '', file: '',
path: '' path: '',
name: ''
},
headers: {
Authorization: 'Bearer ' + this.$store.getters.token
}, },
uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址 uploadImgUrl: process.env.VUE_APP_BASE_API + '/common/uploadMinio' // 上传的图片服务器地址
} }
}, },
...@@ -89,7 +97,8 @@ export default { ...@@ -89,7 +97,8 @@ export default {
this.model = { this.model = {
value: '', value: '',
file: '', file: '',
path: '' path: '',
name:''
} }
}, },
setDefaultValue(val) { setDefaultValue(val) {
...@@ -102,12 +111,13 @@ export default { ...@@ -102,12 +111,13 @@ export default {
console.log(file) console.log(file)
}, },
handleSuccess(res, file) { handleSuccess(res, file) {
if (res === 200) { if (res.code === 200) {
this.model.path = res.url this.model.path = process.env.VUE_APP_IMAGE_API + res.url
this.model.name = res.originalFilename
this.$refs.fileUpload.clearFiles()
this.$message.success('上传成功') this.$message.success('上传成功')
} else { } else {
this.$message.error('error') this.$message.error('error')
console.log(res, file)
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
......
<template> <template>
<div <div
ref="chart" ref="chart"
style="width: 100%; height: 10rem; display: flex; justify-content: center" style="width: 100%; height: 10rem; display: flex;margin-top: 2rem; justify-content: center"
></div> ></div>
</template> </template>
<script> <script>
...@@ -41,7 +41,7 @@ export default { ...@@ -41,7 +41,7 @@ export default {
value: 1 value: 1
} }
], ],
radius: '65%', radius: '75%',
// 水球颜色 // 水球颜色
color: ['#49d088', '#38b470', '#2aaf66'], color: ['#49d088', '#38b470', '#2aaf66'],
center: ['15%', '55%'], center: ['15%', '55%'],
...@@ -83,7 +83,7 @@ export default { ...@@ -83,7 +83,7 @@ export default {
} }
], ],
name: '修改', name: '修改',
radius: '65%', radius: '75%',
// 水球颜色 // 水球颜色
color: ['#FE5555', '#F07581', '#FB5E61'], color: ['#FE5555', '#F07581', '#FB5E61'],
center: ['50%', '55%'], center: ['50%', '55%'],
...@@ -126,7 +126,7 @@ export default { ...@@ -126,7 +126,7 @@ export default {
], ],
//data: [0.6, 0.5, 0.4, 0.3], //data: [0.6, 0.5, 0.4, 0.3],
data: [0, 0, 0, 0], data: [0, 0, 0, 0],
radius: '65%', radius: '75%',
// 水球颜色 // 水球颜色
color: ['#FFBF11', '#F4B30E', '#EACE36'], color: ['#FFBF11', '#F4B30E', '#EACE36'],
center: ['85%', '55%'], center: ['85%', '55%'],
......
<template> <template>
<div <div
ref="chart" ref="chart"
style="width: 100%; height: 100%; display: flex; justify-content: center" style="width: 130%; height: 100%; display: flex; justify-content: center"
></div> ></div>
</template> </template>
<script> <script>
import { Left } from '@icon-park/vue'
export default { export default {
name: 'AverageTest', name: 'AverageTest',
props: { props: {
...@@ -31,22 +30,22 @@ export default { ...@@ -31,22 +30,22 @@ export default {
const option = { const option = {
grid: { grid: {
top: '10%', top: '10%',
bottom: '20%', //也可设置left和right设置距离来控制图表的大小 bottom: '30%', //也可设置left和right设置距离来控制图表的大小
left: '10%', left: '8%',
right: '10%' right: '2%'
}, },
xAxis: { xAxis: {
data: [ data: [
'信息收集', '信息\n收集',
'环境控制', '环境\n控制',
'初始访问', '初始\n访问',
'命令/脚本执行', '命令\n/脚本\n执行',
'持久化控制', '持久\n化控\n制',
'权限提升', '权限\n提升',
'绕过', '绕过',
'凭证获取', '凭证\n获取',
'信息发现', '信息\n发现',
'横向移动' '横向\n移动'
], ],
axisLine: { axisLine: {
show: false, //隐藏X轴轴线 show: false, //隐藏X轴轴线
......
...@@ -38,12 +38,13 @@ ...@@ -38,12 +38,13 @@
</card> </card>
</div> </div>
<div class="home-page-center"> <div class="home-page-center">
<div class="center-back"></div>
<div <div
v-for="(item, key) in center" v-for="(item, key) in center"
:key="key" :key="key"
:class="'center-item-' + (key + 1)" :class="'center-item-' + (key + 1)"
> >
<el-image :src="item.img" alt="" class="center-item-img"/> <el-image :src="item.img" alt="" class="center-item-img" />
<div class="center-item-title"> <div class="center-item-title">
{{ item.title }} {{ item.title }}
</div> </div>
...@@ -181,27 +182,27 @@ export default { ...@@ -181,27 +182,27 @@ export default {
center: [ center: [
{ {
title: '数据抓包', title: '数据抓包',
number:13, number: 13,
img: require('@/assets/images/home/box1.png') img: require('@/assets/images/home/box1.png')
}, },
{ {
title: '访问控制', title: '访问控制',
number:9, number: 9,
img: require('@/assets/images/home/box2.png') img: require('@/assets/images/home/box2.png')
}, },
{ {
title: '扫描漏洞', title: '扫描漏洞',
number:9, number: 9,
img: require('@/assets/images/home/box5.png') img: require('@/assets/images/home/box5.png')
}, },
{ {
title: '拒绝服务', title: '拒绝服务',
number:9, number: 9,
img: require('@/assets/images/home/box4.png') img: require('@/assets/images/home/box4.png')
}, },
{ {
title: '非授权访问写入', title: '非授权访问写入',
number:13, number: 13,
img: require('@/assets/images/home/box3.png') img: require('@/assets/images/home/box3.png')
} }
] ]
......
...@@ -91,8 +91,8 @@ export default { ...@@ -91,8 +91,8 @@ export default {
logoImg: logoImg, logoImg: logoImg,
codeUrl: '', codeUrl: '',
loginForm: { loginForm: {
username: 'admin', username: '',
password: '123456@a', password: '',
rememberMe: false, rememberMe: false,
code: '', code: '',
uuid: '' uuid: ''
......
...@@ -95,7 +95,11 @@ ...@@ -95,7 +95,11 @@
:file-list="fileList" :file-list="fileList"
> >
<el-button size="small" type="primary">更新模板文件</el-button> <el-button size="small" type="primary">更新模板文件</el-button>
<div slot="tip" class="el-upload__tip"></div> <div slot="tip" class="el-upload__tip">
<div v-if="model.path">
<el-link :href="model.path">{{ model.name }}</el-link>
</div>
</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="检验结论" prop="conclusion"> <el-form-item label="检验结论" prop="conclusion">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment