Files
dvcp_v2_webapp/packages/system/AppLicence/AppLicence.vue
aixianling a8dff862d2 初始化
2021-12-14 18:36:19 +08:00

165 lines
4.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<section class="AppLicence">
<ai-list>
<ai-title slot="title" title="产品许可" isShowBottomBorder :instance="instance"></ai-title>
<template #content>
<div class="licence-content">
<img class="left-img" src="https://cdn.cunwuyun.cn/dvcp/key.png" alt="" />
<div class="content-right">
<h3 class="title">产品许可信息</h3>
<p class="mini-title">您当前的版本为Saas专业版非常感谢您对我们产品的认可与支持</p>
<div class="info">
<span class="label">过期时间</span>
<span class="value color-f46" v-if="info.isExpired == 1">{{info.expireDate ? info.expireDate+'(已过期)' : '未激活'}}</span>
<span class="value color-26f" v-else>{{info.expireDate}}</span>
</div>
<div class="info">
<span class="label">主板序列号</span>
<span class="value">{{info.mainBoard}}</span>
</div>
<div class="info">
<span class="label">CPU</span>
<span class="value">{{info.cpu}}</span>
</div>
<div class="info">
<span class="label">MAC地址</span>
<span class="value">{{info.mac}}</span>
</div>
<div class="info mar-b32">
<span class="label">IP地址</span>
<span class="value">{{info.ip}}</span>
</div>
<el-upload
class="upload-demo"
action
multiple
accept=".lic"
:http-request="uploadFile">
<div class="btn">上传许可</div>
</el-upload>
</div>
</div>
</template>
</ai-list>
</section>
</template>
<script>
export default {
name: "AppLicence",
label: "产品许可",
props: {
instance: Function,
dict: Object,
permissions: Function
},
data() {
return {
files: [],
info: {}
}
},
mounted() {
this.getDetail()
},
methods: {
getDetail() {
this.instance.post(`/admin/license/detail`).then(res => {
if (res?.data) {
this.info = res.data
}
})
},
uploadFile: function (file) {
let formData = new FormData();
formData.append("file", file.file);
this.instance.post(`/admin/license/save`, formData, {withoutToken: false}).then(res => {
if (res && res.code == 0) {
this.$message.success("证书上传成功!");
this.getDetail()
}
});
},
},
};
</script>
<style lang="scss" scoped>
.AppLicence {
width: 100%;
height: 100%;
::v-deep .ai-list{
background-color: #F5F6F9;
}
::v-deep .ai-list .ai-list__content--right .ai-list__content--right-wrapper{
background-color: #F5F6F9;
box-shadow: 0 0 0 0;
margin: 0!important;
padding: 0!important;
}
::v-deep .el-upload-list{
display: none;
}
.licence-content{
display: flex;
margin-top: 30px;
.left-img{
width: 200px;
height: 200px;
}
.content-right{
width: 800px;
.title{
font-size: 24px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #222;
line-height: 24px;
margin-bottom: 8px;
}
.mini-title{
font-size: 14px;
font-family: MicrosoftYaHei;
color: #555;
line-height: 22px;
margin-bottom: 20px;
}
.info{
font-size: 14px;
font-family: MicrosoftYaHei;
line-height: 22px;
margin-bottom: 8px;
display: flex;
color: #222;
.label{
width: 164px;
}
.value{
width: calc(100% - 164px);
}
.color-26f{
color: #26f;
}
.color-f46{
color: #f46;
}
}
.mar-b32{
margin-bottom: 32px;
}
.btn{
width: 88px;
height: 32px;
line-height: 32px;
text-align: center;
background: linear-gradient(90deg, #299FFF 0%, #0C61FF 100%);
border-radius: 2px;
cursor: pointer;
color: #fff;
font-size: 14px;
}
}
}
}
</style>