| | |
| | | <div class="tabTitle">ä¼ä¸LOGO</div> |
| | | <span class="logotitle">ä¸ä¼ logo</span> |
| | | <div class="logo1"> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | :headers="authorization" |
| | | action="/api/blade-resource/oss/endpoint/put-file" |
| | | :show-file-list="false" |
| | | :on-success="handleAvatarSuccess1" |
| | | :before-upload="beforeAvatarUpload" |
| | | type="0" |
| | | > |
| | | <el-upload class="avatar-uploader" :headers="authorization" action="/api/blade-resource/oss/endpoint/put-file" :show-file-list="false" :on-success="handleAvatarSuccess1" :before-upload="beforeAvatarUpload"> |
| | | <img v-if="imageUrl1" :src="imageUrl1" class="avatar" /> |
| | | <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon> |
| | | </el-upload> |
| | | <span>建议æ åºè²ã大å°180*40px</span> |
| | | </div> |
| | | <div class="logo2"> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | :headers="authorization" |
| | | action="/api/blade-resource/oss/endpoint/put-file" |
| | | :show-file-list="false" |
| | | :on-success="handleAvatarSuccess2" |
| | | :before-upload="beforeAvatarUpload" |
| | | type="1" |
| | | > |
| | | <el-upload class="avatar-uploader" :headers="authorization" action="/api/blade-resource/oss/endpoint/put-file" :show-file-list="false" :on-success="handleAvatarSuccess2" :before-upload="beforeAvatarUpload"> |
| | | <img v-if="imageUrl2" :src="imageUrl2" class="avatar" /> |
| | | <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon> |
| | | </el-upload> |
| | | <span>建议æ åºè²ã大å°180*40px</span> |
| | | </div> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane label="åºç¨è®¾ç½®"> |
| | | <div class="tabTitle">åºç¨è®¾ç½®</div> |
| | |
| | | </el-form> |
| | | </el-card> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="ææ"> |
| | | <div class="tabTitle">ææ</div> |
| | | <div class="license-detail"> |
| | | <div><span class="left">æäºï¼ </span>{{licenseDetail.account}}</div> |
| | | <div><span class="left">æææ¹å¼ï¼</span>æ°¸ä¹
ææ</div> |
| | | <div><span class="left">æææ¥æï¼</span>{{licenseDetail.applyDate}}~{{licenseDetail.expireDate}}</div> |
| | | <div><span class="left">å·²æææ¨¡åï¼</span>{{licenseDetail.moduleNames.VISION}}|{{licenseDetail.moduleNames.CPS}}</div> |
| | | <div><span class="left">è®¾å¤æ è¯ï¼</span><span class="licenseCopy" @click="licenseCopy">å¤å¶</span></div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="æå¡éæ"> |
| | | <div class="tabTitle">æå¡éæ</div> |
| | | <div class="card"> |
| | | <div class="top"> |
| | | <div class="title"> |
| | | <img src="./logo.png" /> |
| | | <span>ä¼ä¸å¾®ä¿¡</span> |
| | | <div class="desc">CPSä¸ä¼ä¸å¾®ä¿¡å
³èï¼åä½ä¸æ²éæ´å 髿ãç»å®åå°åæ¥ä¼ä¸å¾®ä¿¡ç人ååååç»ç»æ¶æï¼å¹¶å
许æå使ç¨ä¼ä¸å¾®ä¿¡è´¦å·ç»å½</div> |
| | | </div> |
| | | <el-button class="btn" @click="addOss(1)">å
³è</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="card"> |
| | | <div class="top"> |
| | | <div class="title"> |
| | | <img src="./logo.png"/> |
| | | <span >éé</span> |
| | | <div class="desc">CPSä¸ééå
³èï¼åä½ä¸æ²éæ´å 髿ãç»å®åå°åæ¥ééç人ååååç»ç»æ¶æï¼å¹¶å
许æå使ç¨ééè´¦å·ç»å½</div> |
| | | </div> |
| | | <el-button class="btn" @click="addOss(2)">å
³è</el-button> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <save-dialog v-if="dialog.save" ref="saveDialog" @success="addOssSuccess" @closed="dialog.save=false"></save-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import saveDialog from './addOss' |
| | | import * as ElementPlusIconsVue from '@element-plus/icons-vue' |
| | | let icons = [] |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | |
| | | name: "oss-main", |
| | | data(){ |
| | | return { |
| | | dialog: { |
| | | save: false |
| | | }, |
| | | copyStr: "", |
| | | licenseDetail: { |
| | | account: "", |
| | | applyDate: "", |
| | | expireDate: "", |
| | | moduleNames: { |
| | | VISION: "", |
| | | CPS: "" |
| | | } |
| | | }, |
| | | uploadData: {}, |
| | | logoType: "0", |
| | | authorization: {Authorization: "Basic c2FiZXI6c2FiZXJfc2VjcmV0"}, |
| | |
| | | temData: [] |
| | | } |
| | | }, |
| | | components: {...ElementPlusIconsVue}, |
| | | components: {...ElementPlusIconsVue,saveDialog}, |
| | | created(){ |
| | | |
| | | }, |
| | |
| | | this.getOssUpdata(); //æä»¶åå¨ |
| | | this.setting(); //åºç¨è®¾ç½® |
| | | this.getFile(); //ä¼ä¸logo |
| | | this.license(); //ææ |
| | | }, |
| | | methods: { |
| | | addOss(type) { |
| | | this.dialog.save = true |
| | | this.$nextTick(() => { |
| | | this.$refs.saveDialog.open(); |
| | | }) |
| | | }, |
| | | addOssSuccess() { |
| | | |
| | | }, |
| | | licenseCopy() { |
| | | // å¤å¶å°åªè´´æ¿ |
| | | navigator.clipboard.writeText(this.copyStr).then(() => { |
| | | console.log('æ·è´å®æ'); |
| | | }).catch(err => { |
| | | console.error('Failed to copy text: ', err); |
| | | }); |
| | | }, |
| | | license() { |
| | | this.$HTTP.get("/api/blade-cps/init/license-detail").then(res=> { |
| | | if(res.code == 200) { |
| | | res.data.moduleNames.VISION = JSON.stringify(res.data.moduleNames.VISION); |
| | | res.data.moduleNames.CPS = JSON.stringify(res.data.moduleNames.CPS); |
| | | this.licenseDetail = res.data; |
| | | } |
| | | }) |
| | | this.$HTTP.get("/api/blade-cps/init/license-device").then(res=> { //è®¾å¤æ è¯ |
| | | if(res.code == 200) { |
| | | this.copyStr = res.data; |
| | | } |
| | | }) |
| | | }, |
| | | getFile() { |
| | | this.$HTTP.get("/api/blade-cps/enterprise/get").then(res=> { |
| | | if(res.code == 200) { |
| | |
| | | }) |
| | | }, |
| | | handleAvatarSuccess1(resp, file) { |
| | | this.getFile(); |
| | | this.logoType = "0"; |
| | | if(this.imageUrl1) { |
| | | resp.uploadMethod = "edit"; |
| | |
| | | this.handleAvatarSuccess(resp); |
| | | }, |
| | | handleAvatarSuccess2(resp, file) { |
| | | this.getFile(); |
| | | this.logoType = "1"; |
| | | if(this.imageUrl2) { |
| | | resp.uploadMethod = "edit"; |
| | |
| | | this.$HTTP.get("/api/blade-cps/enterprise/get").then(res=> { |
| | | if(res.code == 200) { |
| | | // å
èµå¼ |
| | | if(res.data.list.length == 0) res.data.list = [{},{}]; |
| | | that.uploadData = res.data; |
| | | that.imageUrl1 = res.data.list[0].link; |
| | | that.imageUrl2 = res.data.list[1].link; |
| | | //æ·»å æ¥å£ |
| | | var url = "/api/blade-cps/enterprise/add"; |
| | | if(that.logoType == "0") { |
| | | Object.assign({},res.data.list[0]); |
| | | var upData = Object.assign({},res.data.list[0]); |
| | | obj.type = "0"; |
| | | } |
| | | if(that.logoType == "1") { |
| | | obj.type = "1"; |
| | | var upData = Object.assign({},res.data.list[1]); |
| | | } |
| | | if(resp.uploadMethod == "edit") { |
| | | url = "/api/blade-cps/enterprise/edit"; |
| | | } |
| | | that.$HTTP.post(url,resp.data).then(resJ=> { |
| | | that.$HTTP.post(url,upData).then(resJ=> { |
| | | if(resJ.code == 200) { |
| | | that.$message.success("æä½æå"); |
| | | }else { |
| | |
| | | }) |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | var isJPG = file.type === 'image/jpeg'; |
| | | var isJPG = (file.type === 'image/jpeg' || file.type === 'image/png'); |
| | | if (!isJPG) { |
| | | this.$message.error('æ ¼å¼é误ï¼è¯·éæ°ä¸ä¼ ï¼'); |
| | | this.$message.error('æ ¼å¼é误ï¼è¯·éæ°ä¸ä¼ ï¼'); |
| | | } |
| | | return isJPG; |
| | | }, |
| | |
| | | height: 92px; |
| | | display: block; |
| | | } |
| | | .license-detail { |
| | | display: flex; |
| | | flex-direction: column; |
| | | padding: 10px; |
| | | font-size: 14px; |
| | | padding-left: 70px; |
| | | } |
| | | .license-detail .left { |
| | | width: 100px; |
| | | display: inline-block; |
| | | text-align: right; |
| | | font-weight: 700; |
| | | } |
| | | .licenseCopy { |
| | | color: #62a5a5; |
| | | cursor: pointer; |
| | | } |
| | | .card { |
| | | margin-bottom: 20px; |
| | | padding: 20px; |
| | | box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); |
| | | margin-left: 12px; |
| | | margin-right: 12px; |
| | | } |
| | | .card .top { |
| | | margin-bottom: 20px; |
| | | position: relative; |
| | | } |
| | | .card .top .title img { |
| | | width: 42px; |
| | | height: 42px; |
| | | vertical-align: middle; |
| | | } |
| | | .card .top .title .desc { |
| | | color: #bbb; |
| | | font-size: 14px; |
| | | margin: 20px 0; |
| | | } |
| | | .card .top .btn { |
| | | position: absolute; |
| | | right: 30px; |
| | | top: 20px; |
| | | } |
| | | </style> |