From c0c034b3ef0fdf0fd9c802d5984dbd717db6817a Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期三, 06 九月 2023 17:54:55 +0800 Subject: [PATCH] 定制桌面. --- src/pages/vindicate/views/sysInfo.vue | 302 +++++++++++++++++++++++++++++++------------------- 1 files changed, 186 insertions(+), 116 deletions(-) diff --git a/src/pages/vindicate/views/sysInfo.vue b/src/pages/vindicate/views/sysInfo.vue index 25d1cea..901b637 100644 --- a/src/pages/vindicate/views/sysInfo.vue +++ b/src/pages/vindicate/views/sysInfo.vue @@ -4,25 +4,19 @@ <div class="sys-right"> <div class="auto"> <div class="title-bg"> - <div class="title">Smart AIOS</div> - <div class="desc">Copyright 漏 璐濇�濈鎶�鏈湁闄愬叕鍙�</div> + <div class="title">{{ productName }}</div> + <div class="desc">{{ copyright }}</div> </div> - <div class="bar" style="background-color: #F2F2F7;"> + <div class="bar" style="background-color: #f2f2f7"> <div class="name">鐗堟湰锛�</div> <div class="desc"> - {{ - serializedNumber == "" ? "SmartAIOS璇曠敤鐗�" : "SmartAIOS姝e紡鐗�" - }} + {{ serializedNumber == "" ? `${productName}璇曠敤鐗坄 : `${productName}姝e紡鐗坄 }} </div> </div> <div class="bar"> <div class="name">婵�娲伙細</div> <div class="right-zone"> - <el-button - type="primary" - size="small" - @click="confirmAgain" - v-if="serializedNumber != ''" + <el-button type="primary" size="small" @click="confirmAgain" v-if="serializedNumber != ''" >瀵煎嚭浜у搧瀵嗛挜</el-button > <div class="desc activation"> @@ -31,12 +25,12 @@ </div> </div> <div class="bar"> - <div class="name" style="min-width: 65px;">璇锋眰鐮侊細</div> - <div class="desc code" style="font-size: 12px">{{ q }}</div> + <div class="name" style="min-width: 65px">璇锋眰鐮侊細</div> + <div class="desc code" style="font-size: 12px">{{ queryCode }}</div> </div> <div class="bar"> <div class="name">浜у搧瀵嗛挜锛�</div> - <div class="desc" > + <div class="desc"> {{ authorization || "-" }} </div> </div> @@ -48,25 +42,31 @@ </div> </div> - <el-dialog title="鍐嶆纭" :visible.sync="dialogVisible"> + <el-dialog title="鍐嶆纭" :visible.sync="dialogVisible" custom-class="my-confirm"> <div class="ver"> - <span class="icon iconfont" style="color: orangered"></span> - 浜у搧瀵嗛挜瀵煎嚭鍚庯紝绯荤粺澶ч儴鍒嗗姛鑳藉皢鏃犳硶浣跨敤锛岃纭鏄惁缁х画锛� + <span class="iconfont" style="color: orangered; font-size: 40px; margin-bottom: 10px"></span> + <span class="ver-text"> + 浜у搧瀵嗛挜瀵煎嚭鍚庯紝绯荤粺澶ч儴鍒嗗姛鑳藉皢鏃犳硶浣跨敤锛岃纭鏄惁缁х画锛� + </span> </div> <div class="info"> - 濡傞渶缁х画锛岃杈撳叆绠$悊鍛樺瘑鐮侊紝骞跺鍏ヤ綘鎯宠婵�娲荤殑璁惧璇锋眰鐮侊紝鐒跺悗鐐瑰嚮鈥滅‘璁も�濄�� - <span style="color: #8f949a; font-size: 14px" - >璁惧璇锋眰鐮佽幏鍙栨柟寮忥細濡傜郴缁熷凡婵�娲伙紝鍦ㄦ縺娲婚〉闈㈠鍑哄嵆鍙紱濡傝澶囨湭婵�娲伙紝鍦⊿martAI婵�娲婚〉闈㈡壂鐮佽幏鍙栥��</span - > + <span class="info-cont"> + 濡傞渶缁х画锛岃杈撳叆绠$悊鍛樺瘑鐮侊紝骞跺鍏ユ偍瑕佹縺娲荤殑璁惧璇锋眰鐮侊紝鐒跺悗鐐瑰嚮鈥滅‘瀹氣�濄�� + </span> + <div style="margin-top: 10px">璁惧璇锋眰鐮佽幏鍙栨柟寮忥細</div> + <ul> + <li style="list-style: inside">濡傜郴缁熷凡婵�娲伙紝鍦ㄦ縺娲婚〉闈㈠鍑哄嵆鍙紱</li> + <li style="list-style: inside"> + {{ `"濡傝澶囨湭婵�娲伙紝璇峰湪${product_name}婵�娲婚〉闈㈡壂鐮佽幏鍙�"` }} + </li> + </ul> + <!-- <span style="color: #8f949a; font-size: 14px" + >銆�</span + > --> </div> <!-- --> <div class="pw"> - <el-input - size="small" - placeholder="璇疯緭鍏ョ鐞嗗憳瀵嗙爜" - v-model="password" - style="padding-left: 50px; width: 460px" - ></el-input> + <el-input size="small" placeholder="璇疯緭鍏ョ鐞嗗憳瀵嗙爜" v-model="password"></el-input> </div> <div class="validate"> <form id="myForm"> @@ -79,30 +79,26 @@ > </el-input> </form> - <el-button size="small" @click="txtbtn" type="primary" - >瀵煎叆鏂囦欢</el-button - > - <input - type="file" - @change="loadTextFromFile" - id="txt" - style="display: none" - /> + <el-button size="small" @click="txtbtn" type="primary">瀵煎叆鏂囦欢</el-button> + <input type="file" @change="loadTextFromFile" id="txt" style="display: none" /> </div> <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙栨秷</el-button> - <el-button type="primary" @click="confirmCancel">纭畾</el-button> + <div class="btns"> + <el-button class="cancel" @click="dialogVisible = false">鍙栨秷</el-button> + <el-button class="ok" type="primary" @click="confirmCancel">纭畾</el-button> + </div> </span> </el-dialog> </div> </template> <script> -import { getSN, cancelAuthorization } from "@/api/system"; +import { getSN, cancelAuthorization, getVasystemInfo } from "@/api/system" + export default { mounted() { - this.refreshSn(); + this.refreshSn() }, data() { return { @@ -110,106 +106,171 @@ expireTime: "", serializedNumber: "", secrectKey: "", - q: "", - // verText: "SmartAIOS姝e紡鐗�", + queryCode: "", activeState: "宸叉縺娲�", password: "", dialogVisible: false, - }; + productName: "", + copyright: "" + } }, methods: { refreshSn() { getSN().then((res) => { if (res.code == 200) { - this.authorization = res.data.authorization; - this.expireTime = res.data.expireTime; - this.serializedNumber = res.data.sn; - this.q = res.data.q; + this.authorization = res.data.authorization + this.expireTime = res.data.expireTime + this.serializedNumber = res.data.sn + this.queryCode = res.data.q } - }); + }) + + getVasystemInfo().then((rsp) => { + this.productName = rsp.product_name + this.copyright = rsp.copyright + }) }, confirmAgain() { - this.dialogVisible = true; + this.dialogVisible = true }, txtbtn() { - document.getElementById("txt").click(); + document.getElementById("txt").click() }, loadTextFromFile(e) { - const file = e.target.files[0]; - var reader = new FileReader(); //new涓�涓狥ileReader瀹炰緥 - let that = this; - reader.onload = function () { - that.secrectKey = this.result.trim(); - }; - reader.readAsText(file); + const file = e.target.files[0] + var reader = new FileReader() //new涓�涓狥ileReader瀹炰緥 + let that = this + reader.onload = function() { + that.secrectKey = this.result.trim() + } + reader.readAsText(file) }, confirmCancel() { - this.secrectKey = this.secrectKey.trim(); - this.password = this.password.trim(); + this.secrectKey = this.secrectKey.trim() + this.password = this.password.trim() if (this.secrectKey == "" || this.password == "") { - this.$message.warning("璇峰厛濉啓瀵嗙爜鍜岃姹傜爜"); - return; + this.$message.warning("璇峰厛濉啓瀵嗙爜鍜岃姹傜爜") + return } cancelAuthorization({ q: this.secrectKey, passwd: this.password, - down: 1, + down: 1 }).then((res) => { - if (res.type=="application/json") { - var reader = new FileReader(); - reader.readAsText(res,"utf-8"); + if (res.type == "application/json") { + var reader = new FileReader() + reader.readAsText(res, "utf-8") let that = this - reader.onload = function () { - var receive_data = JSON.parse(this.result); //杩欎釜灏辨槸瑙f瀽鍑烘潵鐨勬暟鎹� - that.$notify.error(receive_data.msg); - }; - return; + reader.onload = function() { + var receive_data = JSON.parse(this.result) //杩欎釜灏辨槸瑙f瀽鍑烘潵鐨勬暟鎹� + that.$notify.error(receive_data.msg) + } + return } - let url = window.URL.createObjectURL( - new Blob([res], { type: "text/plain" }) - ); - let a = document.createElement("a"); - a.href = url; - a.download = "key.txt"; - a.click(); - window.URL.revokeObjectURL(url); - this.refreshSn(); - window.parent.postMessage({ msg: "checkSN" }, "*"); - this.$notify.success("瀵煎嚭鎴愬姛"); - this.dialogVisible = false; - }); - }, - }, -}; + let url = window.URL.createObjectURL(new Blob([res], { type: "text/plain" })) + let a = document.createElement("a") + a.href = url + a.download = "key.txt" + a.click() + window.URL.revokeObjectURL(url) + this.refreshSn() + window.parent.postMessage({ msg: "checkSN" }, "*") + this.$notify.success("瀵煎嚭鎴愬姛") + this.dialogVisible = false + }) + } + } +} </script> <style lang="scss"> -div{ +div { color: #333; } .v-sys-info { width: 100%; - background-color: #FBFAFF; + background-color: #fbfaff; border-top: 4px solid #f2f2f7; border-left: 4px solid #f2f2f7; + + .el-dialog { + width: 640px; + border-radius: 24px; + } + .el-dialog__header { - padding: 15px 20px 10px; - text-align: left; - font-weight: 600; + padding: 14px 20px 13px; + text-align: center; + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.08); + .el-dialog__title { + font-weight: 600; + font-size: 18px; + color: #5f5f5f; + line-height: 25px; + } } .el-dialog__body { text-align: left; - padding: 0; - padding-bottom: 10px; + padding: 30px; + .pw { + .el-input--small .el-input__inner { + height: 32px; + line-height: 32px; + border-radius: 16px; + border-color: #d4d6d9 !important; + } + } + } + .el-dialog__footer { + padding: 10px 20px 20px; + .btns { + display: flex; + justify-content: right; + .cancel { + width: 140px; + height: 40px; + cursor: pointer; + border-radius: 20px; + line-height: 40px; + font-size: 14px; + color: var(--colorCard); + border-color: var(--colorCard) !important; + display: flex; + align-items: center; + justify-content: center; + } + .ok { + width: 140px; + height: 40px; + cursor: pointer; + border-radius: 20px; + background-color: var(--colorCard) !important; + border-color: var(--colorCard) !important; + color: #fff; + line-height: 40px; + font-size: 14px; + display: flex; + align-items: center; + justify-content: center; + } + } } .el-divider--horizontal { margin: 20px 0; } .validate { - padding: 0 50px; display: flex; align-items: baseline; margin-top: 15px; + .el-button--small { + font-size: 14px; + border-radius: 3px; + border-radius: 16px; + background-color: var(--colorCard) !important; + border-color: var(--colorCard) !important; + min-width: 120px; + padding: 8px 15px; + } } #myForm { display: flex; @@ -219,23 +280,38 @@ margin: 0 8px; width: 60px; } + .el-textarea__inner { + min-height: 32px; + height: 32px; + border: 1px solid #d4d6d9; + box-sizing: border-box; + border-radius: 16px; + } } .ver { - margin-bottom: 10px; - background-color: rgba(242, 242, 242, 1); - font-size: 16px; - height: 60px; - padding-left: 50px; - line-height: 60px; + margin-bottom: 30px; + + display: flex; + flex-direction: column; + align-items: center; .ver-text { - font-weight: 600; + font-weight: bold; + font-size: 16px; + line-height: 22px; + color: #5f5f5f; } } .info { - padding: 0 50px; - font-size: 15px; line-height: 25px; margin: 15px 0; + font-size: 12px; + line-height: 21px; + color: #666666; + .info-cont { + font-weight: bold; + font-size: 14px; + color: #5f5f5f; + } } .qr-code-img { width: 100px; @@ -261,11 +337,8 @@ box-sizing: border-box; position: relative; padding: 10px 15px 0 10px; - .el-form-item.is-required:not(.is-no-asterisk) - > .el-form-item__label:before, - .el-form-item.is-required:not(.is-no-asterisk) - .el-form-item__label-wrap - > .el-form-item__label:before { + .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before, + .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label:before { display: none; } .el-select { @@ -307,7 +380,7 @@ line-height: 33.6px; } .desc { - margin-top:10px ; + margin-top: 10px; font-size: 12px; line-height: 16.8px; font-weight: 700; @@ -336,19 +409,16 @@ font-weight: 700; margin-left: 30px; max-width: 568px; - /* overflow: hidden; */ - /* text-overflow: ellipsis; */ - /* white-space: nowrap; */ line-height: normal; word-wrap: break-word; text-align: left; } - .activation{ + .activation { width: 90px; height: 28px; - background: rgba(78,148,255,0.1); - border: 1px solid #4E94FF; - border-radius:20px ; + background: rgba(78, 148, 255, 0.1); + border: 1px solid #4e94ff; + border-radius: 20px; text-align: center; line-height: 28px; color: #333; -- Gitblit v1.8.0