From 9ca36901bf15c4daf89baf7d9cd1fd487bce8a96 Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期五, 28 一月 2022 11:17:12 +0800 Subject: [PATCH] 比对库同时修改bug --- src/pages/desktop/index/components/Desktop.vue | 451 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 355 insertions(+), 96 deletions(-) diff --git a/src/pages/desktop/index/components/Desktop.vue b/src/pages/desktop/index/components/Desktop.vue index 0c7dfc9..51996d2 100644 --- a/src/pages/desktop/index/components/Desktop.vue +++ b/src/pages/desktop/index/components/Desktop.vue @@ -11,94 +11,106 @@ ></safari> <div class="warn-tag" v-if="showFreeVersion"> - <span class="text" + <span v-if="!snExpire" class="text" >璇曠敤鐗堝皻鏈縺娲伙紝浠呮敮鎸侀儴鍒嗗姛鑳戒娇鐢紝濡傞渶浣跨敤鍏ㄩ儴鍔熻兘锛岃灏藉揩婵�娲荤郴缁熴��</span > + <span v-else class="text">SmartAIOS 璇曠敤鏈熷凡鍒版湡锛岃鎮ㄥ敖蹇縺娲荤郴缁�</span> <span class="go-to" @click="gotoActive">鍓嶅線婵�娲�</span> <span class="icon iconfont" @click="showFreeVersion = false" ></span > </div> - <el-dialog title="婵�娲籗martAI" :visible.sync="dialogVisible" width="750px" :show-close="false" :close-on-click-modal="false" :close-on-press-escape="false"> + <el-dialog + title="婵�娲籗martAI" + :visible.sync="activeDialog" + width="750px" + :show-close="false" + :close-on-click-modal="false" + :close-on-press-escape="false" + > + <el-dialog + width="30%" + title="璐︽埛婵�娲�" + :visible.sync="innerVisible" + append-to-body + class="inner-login-dialog" + > + <div class="info"> + 璇疯緭鍏ヤ綘鍦⊿martAI鍟嗗煄璐︽埛鐨勬墜鏈哄彿骞跺畬鎴愰獙璇佺爜鏍¢獙锛屽疄鐜扮郴缁熸縺娲伙紒 + </div> + <div class="login-content"> + <el-form + :model="phone" + status-icon + :rules="phoneCodeRule" + :validate-on-rule-change="false" + ref="phoneLogin" + class="demo-ruleForm" + > + <el-form-item prop="phoneNum" style="margin-top: 20px"> + <el-input + v-model="phone.phoneNum" + style="width: 380px" + placeholder="璇疯緭鍏ユ墜鏈哄彿" + > + <i slot="prefix" class="el-icon-mobile-phone"></i> + </el-input> + </el-form-item> + <el-form-item prop="verifyCode"> + <el-input + @keyup.enter.native="phoneLogin" + v-model="phone.verifyCode" + autocomplete="off" + style="width: 254px" + placeholder="璇疯緭鍏ラ獙璇佺爜" + > + <i slot="prefix" class="el-icon-message"></i> + </el-input> + <el-button + class="code-btn" + style="margin-left: 15px" + :disabled="codeDisabled" + @click="getCode" + >{{ codeMsg }}</el-button + > + </el-form-item> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="cancelLogin">鍙栨秷</el-button> + <el-button type="primary" @click="loginShop">纭畾</el-button> + </span> + </el-dialog> <div class="ver"><span class="ver-text">鐗堟湰锛�</span>{{ version }}</div> <div class="ver"> <span class="ver-text">鐘舵�侊細</span>{{ versionState }} </div> <el-divider></el-divider> <div class="info"> - 濡傛灉杩樻病鏈変骇鍝佸瘑閽ワ紝浣犲彲浠ヤ娇鐢ㄦ墜鏈烘壂鐮佹垨鍓嶅線姝ら摼鎺� - <a href="http://os.smartai.com:7004" target="_blank" - >http://os.smartai.com:7004</a - > - 璐拱銆� + 濡傛灉鎮ㄥ凡杩炴帴鍒癐nternet骞朵笖宸茶喘涔颁骇鍝佸瘑閽ワ紝鍙互灏濊瘯楠岃瘉SmartAI鍟嗗煄璐︽埛婵�娲荤郴缁熴�� + <div> + <el-button type="primary" @click="innerVisible = true"> + 璐︽埛婵�娲� + </el-button> + </div> </div> - - <!-- <img class="qr-code-img" src="/images/desktop/weather.png" /> --> - <!-- <img class="qr-code-img" src="http://192.168.8.10:7009/version/offline/qrcode" /> --> - <img - class="qr-code-img" - src="http://192.168.20.189:7009/version/offline/qrcode" - /> - + <div class="info"> + 濡傛灉鎮ㄦ湭杩炴帴Internet鎴栨縺娲诲け璐ワ紝鍙皾璇曠绾挎縺娲伙紝浣跨敤鎵嬫満鎵爜璐拱浜у搧鎴栭獙璇丼martAI鍟嗗煄璐︽埛婵�娲荤郴缁熴�� + <!-- <a href="http://apps.smartai.com" target="_blank" + >http://apps.smartai.com</a + > + 濡傛灉杩樻病鏈変骇鍝佸瘑閽ワ紝浣犲彲浠ヤ娇鐢ㄦ墜鏈烘壂鐮佹垨鍓嶅線姝ら摼鎺� + 璐拱銆� --> + </div> + <img class="qr-code-img" src="/version/offline/qrcode" /> <el-divider></el-divider> <div class="ask"> 濡傛灉浣犲叿鏈塖martAI鎻愪緵鐨勪骇鍝佸瘑閽ワ紝璇峰湪姝ゅ杈撳叆婵�娲籗martAI銆� </div> - <div class="validate"> <form id="myForm"> - <!-- <el-input - class="single-input" - size="small" - ref="secrectKey" - :maxlength="4" - v-model="secrectKey" - placeholder="" - @input="onInput(1)" - ></el-input - >- - <el-input - class="single-input" - size="small" - ref="input2" - :maxlength="4" - v-model="input2" - placeholder="" - @input="onInput(2)" - ></el-input - >- - <el-input - class="single-input" - size="small" - ref="input3" - :maxlength="4" - v-model="input3" - placeholder="" - @input="onInput(3)" - ></el-input> - - - <el-input - class="single-input" - size="small" - ref="input4" - :maxlength="4" - v-model="input4" - placeholder="" - @input="onInput(4)" - ></el-input - >- - <el-input - class="single-input" - size="small" - ref="input5" - :maxlength="4" - v-model="input5" - placeholder="" - @input="onInput(5)" - ></el-input> --> - <el-input type="textarea" autosize @@ -117,13 +129,71 @@ :show-file-list="false" > <el-button size="small" type="primary">瀵煎叆浜у搧瀵嗛挜鏂囦欢</el-button> - - <!-- <div class="el-upload__tip" slot="tip"></div> --> </el-upload> </div> <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">缁х画璇曠敤</el-button> + <el-button v-if="!snExpire" @click="activeDialog = false" + >缁х画璇曠敤</el-button + > + <el-button v-else @click="quit">閫�鍑虹櫥褰�</el-button> + <el-button type="primary" @click="activateVersion">婵�娲�</el-button> + </span> + </el-dialog> + + <el-dialog + title="鎴戠殑璁㈠崟" + :visible.sync="innerDialog" + width="750px" + :show-close="false" + :close-on-click-modal="false" + :close-on-press-escape="false" + custom-class="my-order" + > + <div class="tip"> + <i class="el-icon-info"></i> + <span> 璇锋鏌ヨ鍗曚俊鎭紝纭鏃犺鍚庡啀婵�娲荤郴缁熴�� </span> + </div> + + <div class="order-list"> + <div class="order-card"> + <div class="head"> + <el-checkbox v-model="checked"> + <span>璁㈠崟ID锛歿{ 22322323423 }}</span> + </el-checkbox> + + <span>锟{ 111 }} 鍏�</span> + </div> + <div class="desc"> + <div>绯荤粺鐗堟湰锛歿{ 22322323423 }}</div> + <div>閫氶亾鏁伴噺锛歿{ 22322323423 }}</div> + <div>鎽勫儚鏈烘暟閲忥細{{ 22322323423 }}</div> + <div>鏈嶅姟鏃堕暱锛歿{ 22322323423 }}</div> + </div> + </div> + + <div class="order-card"> + <div class="head"> + <el-checkbox v-model="checked"> + <span>璁㈠崟ID锛歿{ 31423233423 }}</span> + </el-checkbox> + + <span>锟{ 111 }} 鍏�</span> + </div> + <div class="desc"> + <div>绯荤粺鐗堟湰锛歿{ 22322323423 }}</div> + <div>閫氶亾鏁伴噺锛歿{ 22322323423 }}</div> + <div>鎽勫儚鏈烘暟閲忥細{{ 22322323423 }}</div> + <div>鏈嶅姟鏃堕暱锛歿{ 22322323423 }}</div> + </div> + </div> + </div> + + <span slot="footer" class="dialog-footer"> + <el-button v-if="!snExpire" @click="activeDialog = false" + >鍙栨秷婵�娲�</el-button + > + <el-button v-else @click="quit">閫�鍑虹櫥褰�</el-button> <el-button type="primary" @click="activateVersion">婵�娲�</el-button> </span> </el-dialog> @@ -133,11 +203,14 @@ <script> import DFrame from "./DFrame"; import Safari from "./Safari"; +import { isPhone } from "../../../../scripts/validate.ts"; import { getActiveQrCode, getSN, activateVersion, uploadKey, + getSmsCode, + loginShopInSmart,getShopOrderList, } from "@/api/system"; export default { name: "Desktop", @@ -148,54 +221,157 @@ data() { return { showFreeVersion: false, - dialogVisible: false, + activeDialog: false, + countdown: 60, + innerDialog: false, version: "SmartAI璇曠敤鐗�", + codeMsg: "鑾峰彇楠岃瘉鐮�", versionState: "灏氭湭婵�娲�", secrectKey: "", + codeDisabled: false, + innerVisible: false, + snExpire: false, + timer: null,token: "", + phone: { + phoneNum: "", + verifyCode: "", + }, + phoneCodeRule: { + phoneNum: [{ validator: isPhone, trigger: "change" }], + verifyCode: [ + { required: true, message: "璇疯緭鍏ラ獙璇佺爜", trigger: "change" }, + ], + }, }; }, - mounted() { - getSN().then((res) => { - this.showFreeVersion = res.data.sn !== ""; - }); + created() { + this.validateSn(); }, methods: { - activateVersion() { - if (this.secrectKey.trim()=="") { - this.$message.warning("璇峰厛濉啓浜у搧瀵嗛挜") - return - } - activateVersion({code:this.secrectKey.trim()}).then((res) => { - debugger - if (res.code==200) { - this.$notify.success("婵�娲绘垚鍔�") - this.goToSysInfo() - this.dialogVisible = false; - - }else{ - this.$notify.error(res.msg) + quit() { + this.$emit("quit"); + }, + validateSn() { + getSN().then((res) => { + this.snExpire = res.data.expire; + this.showFreeVersion = res.data.sn == "" || res.data.expire; + }); + }, + getValidStr() { + if (this.countdown > 0 && this.countdown <= 60) { + this.countdown--; + if (this.countdown !== 0) { + this.codeMsg = "閲嶆柊鍙戦��(" + this.countdown + ")"; + } else { + clearInterval(this.timer); + this.codeMsg = "鑾峰彇楠岃瘉鐮�"; + this.countdown = 60; + this.timer = null; + this.codeDisabled = false; } - }).catch((err) => { - this.$notify.error(err.msg) - }) + } + }, + loginShop() { + // this.innerDialog = true + // this.activeDialog=false + getShopOrderList({token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMyMTYyODMsInVzZXIiOiJ7XCJpZFwiOlwiZTZjY2QzNmQtNGYxNi00NmZjLTg4ZDUtMDczNjU4NjZkMjA1XCIsXCJwZXJtaXNzaW9uc1wiOltcIm9yZGVyTWFuZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpjYW5jZWxcIixcImRldmljZU1hbmFnZTp2aWV3XCIsXCJhZG1pbk1hbmFnZTphZGRcIixcImRldmljZU1hbmFnZTphZGRcIixcImFkbWluTWFuYWdlOmVkaXRcIixcImNvZGVNYW5nZTp2aWV3XCIsXCJjb2RlTWFuZ2U6YWRkXCIsXCJkZXZpY2VNYW5hZ2U6dW5iaW5kXCIsXCJvcmRlck1hbmdlXCIsXCJwcm9kdWN0Q2VudGVyXCIsXCJ2aXBNYW5hZ2VcIixcImRpY01hbmFnZVwiLFwicHJvZHVjdENlbnRlcjp2aWV3XCIsXCJvcmRlck1hbmdlOnBheVwiLFwibG9nTWFuYWdlXCIsXCJkZXZpY2VNYW5hZ2VcIixcImFkbWluTWFuYWdlXCIsXCJwcm9kdWN0TWFuZ2VcIixcInZpcE1hbmFnZTplZGl0XCIsXCJjb2RlTWFuZ2VcIixcInByb2R1Y3RDZW50ZXI6YnV5XCIsXCJwcm9kdWN0TWFuZ2U6dmlld1wiLFwic2RrTWFuYWdlXCIsXCJob21lXCIsXCJwcm9kdWN0Q2VudGVyOmRvd25sb2FkXCIsXCJwcm9kdWN0TWFuZ2U6b2ZmU2FsZVwiLFwiYWRtaW5NYW5hZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpkb3dubG9hZFwiLFwicHJvZHVjdE1hbmdlOmFkZFwiLFwidmlwTWFuYWdlOmFkZFwiLFwiYXBwTWFuYWdlXCIsXCJ2aXBNYW5hZ2U6dmlld1wiLFwicHJvZHVjdE1hbmdlOmVkaXRcIixcImFwaVwiLFwicHJvZHVjdE1hbmdlOnB1Ymxpc2hcIl0sXCJ1c2VybmFtZVwiOlwiYmFzaWNcIn0ifQ.DaTOv8pnh8kG1TPtuNVSo2qPc2z9wGxl2cMZtJ8iwo0"}).then((res) => { + debugger + res.data + }) + // this.$refs["phoneLogin"].validate((valid) => { + // if (valid) { + + // let param = { + // phoneNum: this.phone.phoneNum, + // verifyCode: this.phone.verifyCode, + // }; + // loginShopInSmart(param).then((res) => { + // this.innerDialog = true; + // this.activeDialog = false; + // this.token = res.data.access_token + // getShopOrderList({token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMyMTYyODMsInVzZXIiOiJ7XCJpZFwiOlwiZTZjY2QzNmQtNGYxNi00NmZjLTg4ZDUtMDczNjU4NjZkMjA1XCIsXCJwZXJtaXNzaW9uc1wiOltcIm9yZGVyTWFuZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpjYW5jZWxcIixcImRldmljZU1hbmFnZTp2aWV3XCIsXCJhZG1pbk1hbmFnZTphZGRcIixcImRldmljZU1hbmFnZTphZGRcIixcImFkbWluTWFuYWdlOmVkaXRcIixcImNvZGVNYW5nZTp2aWV3XCIsXCJjb2RlTWFuZ2U6YWRkXCIsXCJkZXZpY2VNYW5hZ2U6dW5iaW5kXCIsXCJvcmRlck1hbmdlXCIsXCJwcm9kdWN0Q2VudGVyXCIsXCJ2aXBNYW5hZ2VcIixcImRpY01hbmFnZVwiLFwicHJvZHVjdENlbnRlcjp2aWV3XCIsXCJvcmRlck1hbmdlOnBheVwiLFwibG9nTWFuYWdlXCIsXCJkZXZpY2VNYW5hZ2VcIixcImFkbWluTWFuYWdlXCIsXCJwcm9kdWN0TWFuZ2VcIixcInZpcE1hbmFnZTplZGl0XCIsXCJjb2RlTWFuZ2VcIixcInByb2R1Y3RDZW50ZXI6YnV5XCIsXCJwcm9kdWN0TWFuZ2U6dmlld1wiLFwic2RrTWFuYWdlXCIsXCJob21lXCIsXCJwcm9kdWN0Q2VudGVyOmRvd25sb2FkXCIsXCJwcm9kdWN0TWFuZ2U6b2ZmU2FsZVwiLFwiYWRtaW5NYW5hZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpkb3dubG9hZFwiLFwicHJvZHVjdE1hbmdlOmFkZFwiLFwidmlwTWFuYWdlOmFkZFwiLFwiYXBwTWFuYWdlXCIsXCJ2aXBNYW5hZ2U6dmlld1wiLFwicHJvZHVjdE1hbmdlOmVkaXRcIixcImFwaVwiLFwicHJvZHVjdE1hbmdlOnB1Ymxpc2hcIl0sXCJ1c2VybmFtZVwiOlwiYmFzaWNcIn0ifQ.DaTOv8pnh8kG1TPtuNVSo2qPc2z9wGxl2cMZtJ8iwo0"}).then((res) => { + // debugger + // res.data + // }) + // }); + // } else { + // this.nullRule = {}; + // } + // }); + }, + cancelLogin(){ + this.innerVisible= false + }, + // 鑾峰彇楠岃瘉鐮� + getCode() { + // 楠岃瘉鐮�60绉掑�掕鏃� + var pattern = /^1[345789]\d{9}$/; + if (this.phone.phoneNum == "") { + this.$refs["phoneLogin"].fields[0].validateMessage = "璇疯緭鍏ユ墜鏈哄彿"; + this.$refs["phoneLogin"].fields[0].validateState = "error"; + return; + } + if (!pattern.test(this.phone.phoneNum)) { + this.$refs["phoneLogin"].fields[0].validateMessage = "鎵嬫満鍙风爜鏍煎紡鏈夎"; + this.$refs["phoneLogin"].fields[0].validateState = "error"; + return; + } + if (!this.timer) { + this.codeDisabled = true; + this.getValidStr(); + this.timer = setInterval(this.getValidStr, 1000); + getSmsCode({ phoneNum: this.phone.phoneNum }) + .then((res) => { + this.gotCode = true; + }) + .catch((err) => { + this.$refs["phoneLogin"].fields[0].validateMessage = err.data.msg; + this.$refs["phoneLogin"].fields[0].validateState = "error"; + }); + } + }, + activateVersion() { + if (this.secrectKey.trim() == "") { + this.$message.warning("璇峰厛濉啓浜у搧瀵嗛挜"); + return; + } + activateVersion({ code: this.secrectKey.trim() }) + .then((res) => { + debugger; + if (res.code == 200) { + this.$notify.success("婵�娲绘垚鍔�"); + this.validateSn(); + this.goToSysInfo(); + this.activeDialog = false; + } else { + this.$notify.error(res.msg); + } + }) + .catch((err) => { + this.$notify.error(err.msg); + }); }, goToSysInfo() { window.parent.postMessage({ msg: `toVindicate?menu=绯荤粺淇℃伅` }, "*"); }, gotoActive() { - // this.showFreeVersion = false; - this.dialogVisible = true; + this.activeDialog = true; }, uploadKey(params) { + debugger; let param = new FormData(); param.append("code", params.file); uploadKey(param).then( (res) => { - this.$message.success("瀵煎叆鎴愬姛"); - this.secrectKey = res.data; + if (res.code == 200) { + this.$message.success("瀵煎叆鎴愬姛"); + this.secrectKey = res.data; + } else { + this.$message.error(res.msg); + } }, (err) => { - this.$message.error("瀵煎叆澶辫触"); + this.$message.error(err.msg); } ); }, @@ -262,6 +438,89 @@ font-size: 15px; } } +.inner-login-dialog { + .info { + padding: 0 30px; + } + .el-dialog__body { + text-align: left; + } +} +.login-content { + box-sizing: border-box; + padding: 0 30px; + .el-input__inner { + -webkit-appearance: none; + background-color: #ffffff; + background-image: none; + border-radius: 4px; + border: 1px solid #dcdfe6; + box-sizing: border-box; + color: #606266; + display: inline-block; + font-size: 16px; + border-radius: 5px; + height: 40px; + line-height: 40px; + outline: none; + padding: 0 15px; + transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); + width: 100%; + } +} +.el-dialog.my-order { + .tip { + width: auto; + height: 40px; + background: rgb(145, 213, 255, 0.2); + box-sizing: border-box; + border: 1px rgb(145, 213, 255) solid; + display: flex; + padding: 0 10px; + border-radius: 5px; + align-items: center; + i { + margin-right: 5px; + font-size: 16px; + color: rgb(24, 144, 255); + } + span { + font-size: 14px; + } + } + .order-list { + margin: 20px 0; + + .order-card { + height: 150px; + background: #fff; + margin-bottom: 15px; + + border-radius: 8px; + box-shadow: 0px 0px 4px rgb(0 0 0 / 25%); + .head { + height: 40px; + line-height: 40px; + text-align: left; + box-sizing: border-box; + padding: 0 20px; + border-bottom: 1px rgba(242, 242, 242, 1) solid; + font-size: 14px; + display: flex; + justify-content: space-between; + } + .desc { + display: flex; + flex-direction: column; + justify-content: space-evenly; + height: 110px; + text-align: left; + box-sizing: border-box; + padding: 0 20px; + } + } + } +} .warn-tag { width: 640px; text-align: left; -- Gitblit v1.8.0