<!--
|
* @Author: lzhe lzhe@example.com
|
* @Date: 2024-03-26 10:28:33
|
* @LastEditors: lzhe lzhe@example.com
|
* @LastEditTime: 2024-04-03 14:46:31
|
* @FilePath: /smart-web/src/views/master/person/main/index.vue
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
-->
|
<template>
|
<div class="oss-main">
|
<el-tabs tab-position="left" style="height: 800px" class="demo-tabs">
|
<el-tab-pane label="文件存储">
|
<div class="tabTitle">文件存储</div>
|
<el-form :model="ossForm" label-width="120px">
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="endpoint">
|
<el-input v-model="ossForm.endpoint" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24">
|
<el-form-item label="acceskey">
|
<el-input v-model="ossForm.accessKey" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24">
|
<el-form-item label="secretkey">
|
<el-input v-model="ossForm.secretKey" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24">
|
<el-form-item label="">
|
<el-button type="primary" @click="ossUpdata">更新</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
</el-tab-pane>
|
<el-tab-pane label="应用设置">
|
<div class="tabTitle">应用设置</div>
|
<ul class="show-list">
|
<li :class="{active: active.isA}" @click="changeLi('isA')">
|
<div class="edit" @click="editBtn('isA')">编辑</div>
|
<div class="logo">
|
<img src="http://116.63.155.153:83/api/static/images/cps.png">
|
</div>
|
<div class="content">
|
<div class="name">CPS</div>
|
<div class="domain">http://192.168.1.199</div>
|
</div>
|
</li>
|
<li :class="{active: active.isB}" @click="changeLi('isB')">
|
<div class="edit" @click="editBtn('isB')">编辑</div>
|
<div class="logo">
|
<img src="http://116.63.155.153:83/api/static/images/vision.png">
|
</div>
|
<div class="content">
|
<div class="name">大屏</div>
|
<div class="domain">http://192.168.1.199:31005</div>
|
</div>
|
</li>
|
<li :class="{active: active.isC}" @click="changeLi('isC')">
|
<div class="edit" @click="editBtn('isC')">编辑</div>
|
<div class="logo">
|
<img src="http://116.63.155.153:83/api/static/images/hmi.png">
|
</div>
|
<div class="content">
|
<div class="name">HMI</div>
|
<div class="domain"></div>
|
</div>
|
</li>
|
</ul>
|
<el-card class="system-content">
|
<template #header>
|
<div class="card-header">
|
<span v-if="!isEdit">应用详情</span>
|
<span v-if="isEdit">编辑应用</span>
|
<div v-if="isEdit">
|
<el-button @click="cencelBtn" >取 消</el-button>
|
<el-button type="primary" :loading="isSaveing" @click="sysSubmit">保 存</el-button>
|
</div>
|
</div>
|
</template>
|
<el-form :model="searchData" abel-width="120px">
|
<el-form-item label="系统展示" v-if="!isEdit">
|
<el-switch v-model="searchData.isShow" disabled/>
|
</el-form-item>
|
<el-form-item label="系统展示" v-if="isEdit">
|
<el-switch v-model="searchData.isShow"/>
|
</el-form-item>
|
<el-form-item label="应用名称" v-if="!isEdit">
|
<div>{{searchData.name}}</div>
|
</el-form-item>
|
<el-form-item label="应用名称" v-if="isEdit">
|
<el-input v-model="searchData.name" placeholder="应用名称" clearable></el-input>
|
</el-form-item>
|
<el-form-item label="应用标识">
|
<div>{{searchData.code}}</div>
|
</el-form-item>
|
<el-form-item label="网页地址" v-if="!isEdit">
|
<div>{{searchData.domain}}</div>
|
</el-form-item>
|
<el-form-item label="网页地址" v-if="isEdit">
|
<el-input v-model="searchData.domain" placeholder="网页地址" clearable></el-input>
|
</el-form-item>
|
<el-form-item label="上传图标">
|
<div>
|
<img :src="searchData.logo" style="width:66px;height:66px;">
|
</div>
|
</el-form-item>
|
</el-form>
|
</el-card>
|
</el-tab-pane>
|
</el-tabs>
|
</div>
|
</template>
|
|
<script>
|
export default {
|
name: "oss-main",
|
data(){
|
return {
|
isSaveing: false,
|
isEdit: false,
|
active: {
|
isA: true,
|
isB: false,
|
isC: false
|
},
|
searchData: {
|
isShow: true,
|
name: "",
|
code: "",
|
domain: "",
|
logo: "",
|
backgroundUrl: ""
|
},
|
ossForm: {
|
endpoint: "",
|
accessKey: "",
|
secretKey: ""
|
},
|
temData: []
|
}
|
},
|
components: {},
|
created(){
|
|
},
|
mounted(){
|
this.getOssUpdata(); //文件存储
|
this.setting(); //应用设置
|
},
|
methods: {
|
cencelBtn() {
|
this.isEdit=false;
|
this.isSaveing = false;
|
},
|
sysSubmit() {
|
this.isSaveing = true;
|
var obj = {...this.searchData};
|
if(obj.isShow == true) {
|
obj.isShow = "1";
|
}else {
|
obj.isShow = "0";
|
}
|
this.$HTTP.put("/api/blade-system/application/update",obj).then(res=> {
|
if(res.code == 200) {
|
this.$message({
|
message: "操作成功",
|
type: "success"
|
})
|
this.cencelBtn();
|
}
|
})
|
},
|
editBtn(name) {
|
this.isEdit = true;
|
},
|
setting() {
|
this.$HTTP.get("/api/blade-system/application/list").then(res=> {
|
if(res.code == 200) {
|
res.data.forEach(item=> {
|
if(item.isShow == "1") {
|
item.isShow = true;
|
}else {
|
item.isShow = false;
|
}
|
})
|
this.temData = res.data;
|
this.searchData = this.temData[0];
|
}
|
})
|
},
|
changeLi(name) {
|
for(var key in this.active) {
|
if(key === name) {
|
this.active[name] = true;
|
}else {
|
this.active[key] = false;
|
}
|
switch(name) {
|
case "isA":
|
this.searchData = this.temData[0];
|
break;
|
case "isB":
|
this.searchData = this.temData[1];
|
break;
|
case "isC":
|
this.searchData = this.temData[2];
|
break;
|
}
|
}
|
},
|
ossUpdata() {
|
this.$HTTP.post("/api/blade-resource/oss/update",this.ossForm).then(res=> {
|
if(res.code == 200) {
|
this.$message({
|
message: "更新成功",
|
type: "success"
|
})
|
}
|
})
|
},
|
getOssUpdata(){
|
this.$HTTP.get("/api/blade-resource/oss/detail").then(res=> {
|
if(res.code == 200) {
|
this.ossForm = res.data;
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.oss-main {
|
margin: 8px;
|
padding: 8px;
|
background-color: #fff;;
|
}
|
.tabTitle {
|
font-size: 14px;
|
border-bottom: 1px solid #ebebeb;
|
padding: 10px 0 20px 0;
|
margin-bottom: 20px;
|
}
|
.show-list {
|
display: flex;
|
justify-content: space-around;
|
}
|
.show-list li {
|
list-style: none;
|
margin-bottom: 10px;
|
float: left;
|
width: 30%;
|
height: 100px;
|
border-radius: 2px;
|
background: #fff;
|
margin-right: 24px;
|
border: 1px solid #d4d4d5;
|
cursor: pointer;
|
display: flex;
|
align-items: center;
|
padding: 0 16px;
|
position: relative;
|
}
|
.show-list li.active {
|
border: 1px solid #317d7b;
|
}
|
.show-list li .edit {
|
position: absolute;
|
top: 18px;
|
right: 16px;
|
font-size: 14px;
|
color: #3b8e8e;
|
}
|
.show-list li .logo {
|
width: 66px;
|
height: 66px;
|
margin-right: 14px;
|
}
|
.show-list li .logo img{
|
width: 66px;
|
height: 66px;
|
}
|
.show-list li .lcontent .name{
|
font-weight: 700;
|
font-size: 18px;
|
line-height: 23px;
|
color: #000;
|
width: 150px;
|
white-space: nowrap;
|
overflow: hidden;
|
text-overflow: ellipsis;
|
}
|
.show-list li .lcontent .domain{
|
font-size: 14px;
|
margin-top: 16px;
|
font-weight: 400;
|
color: rgba(0, 0, 0, .8);
|
line-height: 18px;
|
width: 200px;
|
word-wrap: break-word;
|
word-break: break-all;
|
}
|
.system-content /deep/ .el-card__header{
|
padding: 0px;
|
}
|
.system-content .card-header{
|
border-bottom: 1px solid #ebeef5;
|
padding: 12px 18px!important;
|
position: relative;
|
}
|
.system-content .card-header span{
|
font-size:13px;
|
font-weight: 400px;
|
}
|
.system-content .card-header > div {
|
position: absolute;
|
top: 6px;
|
right: 22px;
|
}
|
</style>
|