Commit 028a3763 authored by baiyanhao's avatar baiyanhao
parents e085b2e8 070f431d
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
} }
.home-page { .home-page {
position: absolute; position: absolute;
overflow: hidden;
left: 0; left: 0;
right: 0; right: 0;
top: 0; top: 0;
...@@ -44,8 +45,7 @@ ...@@ -44,8 +45,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 {
...@@ -204,8 +204,44 @@ ...@@ -204,8 +204,44 @@
flex-wrap: wrap; flex-wrap: wrap;
margin-right: 3%; margin-right: 3%;
align-items: center; align-items: center;
justify-content: center;
.bottom-item {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
}
}
}
.bottom-card {
width: 8rem;
padding: 0 10px;
cursor: pointer;
&:hover {
animation: jump 2s linear infinite;
@keyframes jump {
0%,
100% {
transform: translateY(20px);
}
50% {
transform: translateY(-20px);
}
} }
} }
&-img {
width: 40px;
height: 40px;
}
&-title {
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
text-align: center;
color: #ffffff;
line-height: 16px;
}
} }
.card-box { .card-box {
height: 34%; height: 34%;
...@@ -225,35 +261,59 @@ ...@@ -225,35 +261,59 @@
} }
&-title { &-title {
position: absolute; position: absolute;
font-size: 18px; font-size: 20px;
font-family: Microsoft YaHei, Microsoft YaHei-700; font-family: Microsoft YaHei, Microsoft YaHei-700;
font-weight: 700; font-weight: 700;
color: #ffffff; color: #ffffff;
line-height: 20px; line-height: 20px;
letter-spacing: 0.24px; letter-spacing: 0.24px;
left: 50px; left: 65px;
top: 0; top: 0;
} }
&-title2 { &-title2 {
position: absolute; position: absolute;
font-size: 18px; font-size: 20px;
font-family: Microsoft YaHei, Microsoft YaHei-700; font-family: Microsoft YaHei, Microsoft YaHei-700;
font-weight: 700; font-weight: 700;
color: #ffffff; color: #ffffff;
line-height: 20px; line-height: 20px;
letter-spacing: 0.24px; letter-spacing: 0.24px;
right: 50px; right: 65px;
top: 0; top: 0;
} }
&-body { &-body {
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;
...@@ -279,21 +339,3 @@ ...@@ -279,21 +339,3 @@
} }
} }
} }
.bottom-card {
width: 14%;
margin: 0 1%;
padding: 0 10px;
cursor: pointer;
&-img {
width: 40px;
height: 40px;
}
&-title {
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
text-align: center;
color: #ffffff;
line-height: 16px;
}
}
...@@ -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%'],
......
...@@ -30,7 +30,7 @@ export default { ...@@ -30,7 +30,7 @@ export default {
// 3.配置数据 // 3.配置数据
const option = { const option = {
grid: { grid: {
top: '10%', top: '15%',
bottom: '20%', //也可设置left和right设置距离来控制图表的大小 bottom: '20%', //也可设置left和right设置距离来控制图表的大小
left: '10%', left: '10%',
right: '10%' right: '10%'
...@@ -65,6 +65,7 @@ export default { ...@@ -65,6 +65,7 @@ export default {
}, },
yAxis: { yAxis: {
type: 'value', type: 'value',
name:'(个)',
nameTextStyle: { nameTextStyle: {
color: '#b4dbfc' color: '#b4dbfc'
}, },
...@@ -108,7 +109,7 @@ export default { ...@@ -108,7 +109,7 @@ export default {
]) ])
} }
}, },
data: [120, 380, 248, 135, 290, 280, 320, 125] data: [12, 38, 24, 13, 20, 28, 32, 12]
} }
] ]
} }
......
<template> <template>
<div <div class="chart-box">
ref="chart" <div
style="width: 100%; height: 100%; display: flex; justify-content: center" ref="chart"
></div> style="width: 130%; height: 100%; display: flex; justify-content: center"
></div>
<div class="chart-x">● 攻击手段</div>
<div class="chart-y">攻击方式</div>
</div>
</template> </template>
<script> <script>
import { Left } from '@icon-park/vue'
export default { export default {
name: 'AverageTest', name: 'AverageTest',
props: { props: {
...@@ -30,23 +33,24 @@ export default { ...@@ -30,23 +33,24 @@ export default {
// 3.配置数据 // 3.配置数据
const option = { const option = {
grid: { grid: {
top: '10%', top: '15%',
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轴轴线
...@@ -67,6 +71,7 @@ export default { ...@@ -67,6 +71,7 @@ export default {
}, },
yAxis: { yAxis: {
type: 'value', type: 'value',
name:'(个)',
nameTextStyle: { nameTextStyle: {
color: '#b4dbfc' color: '#b4dbfc'
}, },
...@@ -119,4 +124,27 @@ export default { ...@@ -119,4 +124,27 @@ export default {
} }
} }
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
.chart-box {
position: relative;
height: 100%;
.chart-x {
color: #00FFE3;
position: absolute;
z-index: 100;
right: 10px;
top: 5px;
font-weight: bold;
font-size: 12px;
}
.chart-y {
color: #fff;
font-size: 12px;
position: absolute;
z-index: 100;
right: 10px;
bottom: 10px;
font-weight: bold;
}
}
</style>
...@@ -15,21 +15,22 @@ ...@@ -15,21 +15,22 @@
<td>发布第一版,V20240901</td> <td>发布第一版,V20240901</td>
</tr> </tr>
<tr> <tr>
<td>02</td> <td>02</td>
<td>2024.09.01</td> <td>2024.09.01</td>
<td><el-tag type="success" effect="plain">车型检验</el-tag></td> <td><el-tag type="danger" effect="plain">车型审查</el-tag></td>
<td>发布第一版,V20240901</td> <td>发布第一版,v20240901</td>
</tr> </tr>
<tr> <tr>
<td>03</td> <td>03</td>
<td>2024.09.01</td> <td>2024.09.01</td>
<td><el-tag type="warning" effect="plain">体系审查</el-tag></td> <td><el-tag type="success" effect="plain">车型检验</el-tag></td>
<td>发布第一版,v20240901</td> <td>发布第一版,V20240901</td>
</tr> </tr>
</table> </table>
<div class="desc">检验标准:汽车整车信息安全技术要求</div> <!-- <div class="desc">检验标准:汽车整车信息安全技术要求</div> -->
</div> </div>
</template> </template>
<script> <script>
......
<template>
<div>
<table class="chart-table">
<tr>
<th>名称</th>
<th>更新时间</th>
<th>检验类型</th>
<th>内容详情</th>
</tr>
<tr>
<td>01</td>
<td>2024.09.01</td>
<td><el-tag type="warning" effect="plain">体系审查</el-tag></td>
<td>发布第一版,V20240901</td>
</tr>
<tr>
<td>02</td>
<td>2024.09.01</td>
<td><el-tag type="danger" effect="plain">车型审查</el-tag></td>
<td>发布第一版,v20240901</td>
</tr>
<tr>
<td>03</td>
<td>2024.09.01</td>
<td><el-tag type="success" effect="plain">车型检验</el-tag></td>
<td>发布第一版,V20240901</td>
</tr>
</table>
<!-- <div class="desc">检验标准:汽车整车信息安全技术要求</div> -->
</div>
</template>
<script>
export default {
name: 'card',
props: {
title: String
}
}
</script>
<style lang="scss" scoped>
.chart-table {
width: 100%;
border-collapse: collapse;
}
th {
background: #2c89f2;
color: #fff;
}
td {
font-size: 14px;
font-family: Microsoft YaHei, Microsoft YaHei-400;
font-weight: 400;
text-align: LEFT;
color: #b4dbfc;
background: rgba(44, 137, 242, 0.15);
}
th,
td {
padding: 10px;
text-align: center;
border-top: rgba(255, 255, 255, 0.3);
border-bottom: rgba(255, 255, 255, 0.3);
}
::v-deep {
.el-tag--plain {
background: transparent;
width: 100px;
height: 30px;
line-height: 30px;
font-size: 14px;
}
}
.desc {
font-size: 12px;
font-family: Microsoft YaHei, Microsoft YaHei-400;
font-weight: 400;
text-align: center;
color: #ffffff;
line-height: 24px;
margin-top: 10px;
}
</style>
...@@ -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>
...@@ -53,13 +54,13 @@ ...@@ -53,13 +54,13 @@
</div> </div>
</div> </div>
<div class="home-page-other"> <div class="home-page-other">
<cardRight title="变更检验内容-重点"> <cardRight title="信息安全变更的检验内容">
<table-chart></table-chart> <table-chart></table-chart>
</cardRight> </cardRight>
<cardRight title="检验内容变更方式占比"> <cardRight title="软件升级变更的检验内容">
<pieChart></pieChart> <table-chart-2></table-chart-2>
</cardRight> </cardRight>
<cardRight title="知识库"> <cardRight title="汽车安全场景知识库">
<div style="height: 24vh"> <div style="height: 24vh">
<planChart2></planChart2> <planChart2></planChart2>
</div> </div>
...@@ -71,13 +72,15 @@ ...@@ -71,13 +72,15 @@
<div <div
v-for="(item, key) in bottom" v-for="(item, key) in bottom"
:key="key" :key="key"
class="bottom-card" class="bottom-item"
@click="$router.push(item.link)" @click="$router.push(item.link)"
> >
<div class="bottom-card">
<el-image :src="item.img" class="bottomd-card-img" /> <el-image :src="item.img" class="bottomd-card-img" />
<div class="bottom-card-title"> <div class="bottom-card-title">
{{ item.title }} {{ item.title }}
</div> </div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -90,6 +93,8 @@ import planChart from '../components/homeComponents/planChart.vue' ...@@ -90,6 +93,8 @@ import planChart from '../components/homeComponents/planChart.vue'
import planChart2 from '../components/homeComponents/planChart2.vue' import planChart2 from '../components/homeComponents/planChart2.vue'
import pieChart from '../components/homeComponents/pieChart.vue' import pieChart from '../components/homeComponents/pieChart.vue'
import table from '../components/homeComponents/table.vue' import table from '../components/homeComponents/table.vue'
import table2 from '../components/homeComponents/table2.vue'
import { mapGetters } from 'vuex'
export default { export default {
name: 'HomePage', name: 'HomePage',
components: { components: {
...@@ -98,7 +103,8 @@ export default { ...@@ -98,7 +103,8 @@ export default {
cardRight, cardRight,
pieChart, pieChart,
planChart2, planChart2,
'table-chart': table 'table-chart': table,
'table-chart-2': table2
}, },
data() { data() {
return { return {
...@@ -152,63 +158,102 @@ export default { ...@@ -152,63 +158,102 @@ export default {
link: '/setting/standard', link: '/setting/standard',
img: require('@/assets/images/home/bottom1.png') img: require('@/assets/images/home/bottom1.png')
}, },
{
title: '检测要点',
link: '/setting/standardPoint',
img: require('@/assets/images/home/bottom2.png')
},
{ {
title: '实施细则', title: '实施细则',
link: '/setting/standardTerms', link: '/setting/standardTerms',
img: require('@/assets/images/home/bottom3.png') img: require('@/assets/images/home/bottom3.png')
},
{
title: '测试用例',
link: '/setting/standardTerms',
img: require('@/assets/images/home/bottom4.png')
},
{
title: '检测方案',
link: '/plan/customized',
img: require('@/assets/images/home/bottom5.png')
},
{
title: '内容评审',
link: '/review/review/createReview',
img: require('@/assets/images/home/bottom6.png')
} }
], ],
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')
} }
] ]
} }
}, },
cumputed: {
...mapGetters(['roles'])
},
created() {}, created() {},
mounted() {}, mounted() {
let role = this.$store.state.user.roles[0]
this.bottom.push()
switch (role) {
case 'testing-institution':
this.bottom = this.bottom.concat(
{
title: '检测方案',
link: '/plan/customized',
img: require('@/assets/images/home/bottom5.png')
},
{
title: '内容评审',
link: '/review/review/createReview',
img: require('@/assets/images/home/bottom6.png')
}
)
break
case 'government-department':
this.bottom = this.bottom.concat({
title: '车企档案',
link: '/basic/archives?view=2',
img: require('@/assets/images/home/bottom5.png')
})
break
case 'standard_change_review':
this.bottom = this.bottom.concat(
{
title: '我的待审',
link: '/review/wait',
img: require('@/assets/images/home/bottom5.png')
},
{
title: '我的已审',
link: '/review/already',
img: require('@/assets/images/home/bottom6.png')
}
)
break
case 'admin':
this.bottom = this.bottom.concat(
{
title: '车企档案',
link: '/basic/archives?view=2',
img: require('@/assets/images/home/bottom5.png')
},
{
title: '权限管理',
link: '/system/role',
img: require('@/assets/images/home/bottom6.png')
}
)
break
default:
break
}
},
methods: {} methods: {}
} }
</script> </script>
...@@ -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: ''
......
...@@ -248,10 +248,10 @@ export default { ...@@ -248,10 +248,10 @@ export default {
let queryParams = { let queryParams = {
inspectionTtem:this.inspectionItem, inspectionTtem:this.inspectionItem,
inspectionStandardId: this.task.inspectionStandardId, inspectionStandardId: this.task.inspectionStandardId,
inspectionstandardName: this.task.inspectionStandardName, inspectionStandardName: this.task.inspectionStandardName,
inspectCarCompanyName: this.task.inspectCarCompanyName, inspectCarCompanyName: this.task.inspectCarCompanyName,
carModel: this.task.carModel, carModel: this.task.carModel,
testorganizationName: this.task.testOrganizationName, testOrganizationName: this.task.testOrganizationName,
createTime: this.task.createTime, createTime: this.task.createTime,
carExperimentRequest: { carExperimentRequest: {
regulationName: this.task.inspectionStandardName, regulationName: this.task.inspectionStandardName,
......
...@@ -45,6 +45,14 @@ ...@@ -45,6 +45,14 @@
></right-toolbar> ></right-toolbar>
</el-form-item> --> </el-form-item> -->
</el-form> </el-form>
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
style="margin-bottom: 10px"
@click="handleAdd"
>定制方案</el-button
>
<el-table <el-table
v-if="refreshTable" v-if="refreshTable"
v-loading="loading" v-loading="loading"
...@@ -263,7 +271,11 @@ export default { ...@@ -263,7 +271,11 @@ export default {
path: '/plan/customized?id=' + id path: '/plan/customized?id=' + id
}) })
}, },
handleAdd() {
this.$router.push({
path: '/plan/customized'
})
},
getComponentSelect() { getComponentSelect() {
componentSelect({ componentSelect({
pageNum: 1, pageNum: 1,
......
...@@ -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