From ea05b9be825899d4c86d131fb9a38ad58f078fa5 Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期五, 28 一月 2022 18:49:17 +0800 Subject: [PATCH] 授权正式版 --- src/scripts/validate.ts | 3 src/api/system.ts | 7 + src/pages/desktop/index/components/Desktop.vue | 150 ++++++++++++++++++++++++------------- src/pages/library/components/baseList.vue | 21 ++++ src/pages/library/components/addBase.vue | 2 src/pages/library/components/personList.vue | 30 ++++--- 6 files changed, 142 insertions(+), 71 deletions(-) diff --git a/src/api/system.ts b/src/api/system.ts index e4bc3f2..301d097 100644 --- a/src/api/system.ts +++ b/src/api/system.ts @@ -471,6 +471,13 @@ data: qs.stringify(data) }) } +export const activeByOrder = (data: any) => { + return request({ + url: "/version/auth/shop/activeByOrder", + method: "post", + data: qs.stringify(data) + }) +} export const getShopOrderList = (data: any) => { return request({ url: "/version/auth/shop/getOrderList", diff --git a/src/pages/desktop/index/components/Desktop.vue b/src/pages/desktop/index/components/Desktop.vue index 51996d2..80853de 100644 --- a/src/pages/desktop/index/components/Desktop.vue +++ b/src/pages/desktop/index/components/Desktop.vue @@ -82,30 +82,33 @@ <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>{{ versionName }} + </div> <div class="ver"> <span class="ver-text">鐘舵�侊細</span>{{ versionState }} </div> <el-divider></el-divider> - <div class="info"> + <div class="info" v-if="versionName=='SmartAI姝e紡鐗�'"> 濡傛灉鎮ㄥ凡杩炴帴鍒癐nternet骞朵笖宸茶喘涔颁骇鍝佸瘑閽ワ紝鍙互灏濊瘯楠岃瘉SmartAI鍟嗗煄璐︽埛婵�娲荤郴缁熴�� - <div> + <div class="margin-top:10px;"> <el-button type="primary" @click="innerVisible = true"> 璐︽埛婵�娲� </el-button> </div> </div> - <div class="info"> + <div class="info" v-if="versionName=='SmartAI姝e紡鐗�'"> 濡傛灉鎮ㄦ湭杩炴帴Internet鎴栨縺娲诲け璐ワ紝鍙皾璇曠绾挎縺娲伙紝浣跨敤鎵嬫満鎵爜璐拱浜у搧鎴栭獙璇丼martAI鍟嗗煄璐︽埛婵�娲荤郴缁熴�� - <!-- <a href="http://apps.smartai.com" target="_blank" + </div> + <div class="info" v-if="versionName!=='SmartAI姝e紡鐗�'"> + 濡傛灉杩樻病鏈変骇鍝佸瘑閽ワ紝浣犲彲浠ヤ娇鐢ㄦ墜鏈烘壂鐮佹垨鍓嶅線姝ら摼鎺� + <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> @@ -133,10 +136,10 @@ </div> <span slot="footer" class="dialog-footer"> - <el-button v-if="!snExpire" @click="activeDialog = false" + <el-button v-if="!snExpire && versionName!='SmartAI姝e紡鐗�'" @click="activeDialog = false" >缁х画璇曠敤</el-button > - <el-button v-else @click="quit">閫�鍑虹櫥褰�</el-button> + <el-button v-if="snExpire && versionName!='SmartAI姝e紡鐗�'" @click="$emit('quit')">閫�鍑虹櫥褰�</el-button> <el-button type="primary" @click="activateVersion">婵�娲�</el-button> </span> </el-dialog> @@ -156,45 +159,48 @@ </div> <div class="order-list"> - <div class="order-card"> + <div class="wrap" style=" margin: 0 5px;" v-for="(item, index) in orderList" :key="index"> + <div class="order-card" v-for="(prod, i) in item.products" :key="i"> <div class="head"> - <el-checkbox v-model="checked"> - <span>璁㈠崟ID锛歿{ 22322323423 }}</span> + <el-checkbox v-model="checked" @change="choseProd(item,prod)"> + <span>璁㈠崟ID锛歿{ item.id }}</span> </el-checkbox> - <span>锟{ 111 }} 鍏�</span> + <span>{{ item.orderMoney }} 鍏�</span> </div> <div class="desc"> - <div>绯荤粺鐗堟湰锛歿{ 22322323423 }}</div> - <div>閫氶亾鏁伴噺锛歿{ 22322323423 }}</div> - <div>鎽勫儚鏈烘暟閲忥細{{ 22322323423 }}</div> - <div>鏈嶅姟鏃堕暱锛歿{ 22322323423 }}</div> + <div>绯荤粺鐗堟湰锛歿{ prod.edition }}</div> + <div>閫氶亾鏁伴噺锛歿{ prod.ChCount }}</div> + <div>鎽勫儚鏈烘暟閲忥細{{ prod.cameraCount }}</div> + <div>鏈嶅姟鏃堕暱锛歿{ prod.serveYear }} 骞�</div> + </div> </div> - - <div class="order-card"> + </div> + <!-- <div class="order-card" v-for="(item, index) in orderList" :key="index"> <div class="head"> <el-checkbox v-model="checked"> - <span>璁㈠崟ID锛歿{ 31423233423 }}</span> + <span>璁㈠崟ID锛歿{ item.id }}</span> </el-checkbox> - <span>锟{ 111 }} 鍏�</span> + <span>锟{ item.orderMoney }} 鍏�</span> </div> <div class="desc"> - <div>绯荤粺鐗堟湰锛歿{ 22322323423 }}</div> - <div>閫氶亾鏁伴噺锛歿{ 22322323423 }}</div> - <div>鎽勫儚鏈烘暟閲忥細{{ 22322323423 }}</div> - <div>鏈嶅姟鏃堕暱锛歿{ 22322323423 }}</div> + <div>绯荤粺鐗堟湰锛歿{ item.products[0]&&item.products[0].productVersion }}</div> + <div>閫氶亾鏁伴噺锛歿{ item.products[0]&&item.products[0].ChCount }}</div> + <div>鎽勫儚鏈烘暟閲忥細{{ item.products[0]&&item.products[0].cameraCount }}</div> + <div>鏈嶅姟鏃堕暱锛歿{ item.products[0]&&item.products[0].serveYear }} 骞�</div> + </div> - </div> + </div> --> </div> <span slot="footer" class="dialog-footer"> - <el-button v-if="!snExpire" @click="activeDialog = false" + <!-- <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> + > --> + <el-button @click="$emit('quit')">閫�鍑虹櫥褰�</el-button> + <el-button type="primary" @click="activeVerByOrd">婵�娲�</el-button> </span> </el-dialog> </div> @@ -210,7 +216,8 @@ activateVersion, uploadKey, getSmsCode, - loginShopInSmart,getShopOrderList, + loginShopInSmart, + getShopOrderList,activeByOrder, } from "@/api/system"; export default { name: "Desktop", @@ -221,25 +228,28 @@ data() { return { showFreeVersion: false, - activeDialog: false, + activeDialog: false, countdown: 60, innerDialog: false, - version: "SmartAI璇曠敤鐗�", + versionName: "", codeMsg: "鑾峰彇楠岃瘉鐮�", versionState: "灏氭湭婵�娲�", secrectKey: "", + curOrder:{}, + curProd:{}, codeDisabled: false, innerVisible: false, snExpire: false, - timer: null,token: "", + timer: null, + token: "",orderList:[], phone: { phoneNum: "", verifyCode: "", }, phoneCodeRule: { - phoneNum: [{ validator: isPhone, trigger: "change" }], + phoneNum: [{ validator: isPhone, trigger: "blur" }], verifyCode: [ - { required: true, message: "璇疯緭鍏ラ獙璇佺爜", trigger: "change" }, + { required: true, message: "璇疯緭鍏ラ獙璇佺爜", trigger: "blur" }, ], }, }; @@ -248,13 +258,22 @@ this.validateSn(); }, methods: { - quit() { - this.$emit("quit"); + activeVerByOrd(){ + activeByOrder({ + token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMzODUzNjgsInVzZXIiOiJ7XCJpZFwiOlwiZTZjY2QzNmQtNGYxNi00NmZjLTg4ZDUtMDczNjU4NjZkMjA1XCIsXCJwZXJtaXNzaW9uc1wiOltcInByb2R1Y3RDZW50ZXI6dmlld1wiLFwib3JkZXJNYW5nZTpjYW5jZWxcIixcImRldmljZU1hbmFnZTp2aWV3XCIsXCJwcm9kdWN0TWFuZ2U6ZWRpdFwiLFwiY29kZU1hbmdlOmFkZFwiLFwibG9nTWFuYWdlXCIsXCJkaWNNYW5hZ2VcIixcIm9yZGVyTWFuZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpwYXlcIixcIm9yZGVyTWFuZ2U6ZG93bmxvYWRcIixcInByb2R1Y3RDZW50ZXJcIixcImFwcE1hbmFnZVwiLFwicHJvZHVjdE1hbmdlOmFkZFwiLFwicHJvZHVjdE1hbmdlOnZpZXdcIixcInZpcE1hbmFnZVwiLFwiYXBpXCIsXCJ2aXBNYW5hZ2U6YWRkXCIsXCJhZG1pbk1hbmFnZVwiLFwicHJvZHVjdE1hbmdlXCIsXCJwcm9kdWN0Q2VudGVyOmRvd25sb2FkXCIsXCJhZG1pbk1hbmFnZTphZGRcIixcInByb2R1Y3RDZW50ZXI6YnV5XCIsXCJzZGtNYW5hZ2VcIixcImRldmljZU1hbmFnZTphZGRcIixcImNvZGVNYW5nZVwiLFwiYWRtaW5NYW5hZ2U6dmlld1wiLFwidmlwTWFuYWdlOmVkaXRcIixcImNvZGVNYW5nZTp2aWV3XCIsXCJkZXZpY2VNYW5hZ2VcIixcImhvbWVcIixcInByb2R1Y3RNYW5nZTpwdWJsaXNoXCIsXCJkZXZpY2VNYW5hZ2U6dW5iaW5kXCIsXCJ2aXBNYW5hZ2U6dmlld1wiLFwib3JkZXJNYW5nZVwiLFwicHJvZHVjdE1hbmdlOm9mZlNhbGVcIixcImFkbWluTWFuYWdlOmVkaXRcIl0sXCJ1c2VybmFtZVwiOlwiYmFzaWNcIn0ifQ.WVdowrEmEmIrZUhELckbNGBzwwaHOD9UgvB0Ki1Jbe0", + activateCode:this.curProd.activateCode, + productId:this.curProd.productId, + orderId:this.curOrder.id + }).then((res) => { + debugger + }) }, validateSn() { getSN().then((res) => { this.snExpire = res.data.expire; this.showFreeVersion = res.data.sn == "" || res.data.expire; + this.versionName = this.getVersionName('official'); + // this.versionName = this.getVersionName(res.data.edition); }); }, getValidStr() { @@ -271,13 +290,37 @@ } } }, + choseProd(order,prod){ + debugger + this.curOrder= order + this.curProd=prod + }, + getVersionName(s) { + switch (s) { + case "alpha": + return "SmartAI鍐呮祴鐗�"; + case "beta": + return "SmartAI鍏祴鐗�"; + case "trial": + return "SmartAI璇曠敤鐗�"; + case "test": + return "SmartAI娴嬭瘯鐗�"; + case "official": + return "SmartAI姝e紡鐗�"; + default: + return "SmartAI瀹氬埗鐗�"; + break; + } + }, loginShop() { - // this.innerDialog = true - // this.activeDialog=false - getShopOrderList({token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMyMTYyODMsInVzZXIiOiJ7XCJpZFwiOlwiZTZjY2QzNmQtNGYxNi00NmZjLTg4ZDUtMDczNjU4NjZkMjA1XCIsXCJwZXJtaXNzaW9uc1wiOltcIm9yZGVyTWFuZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpjYW5jZWxcIixcImRldmljZU1hbmFnZTp2aWV3XCIsXCJhZG1pbk1hbmFnZTphZGRcIixcImRldmljZU1hbmFnZTphZGRcIixcImFkbWluTWFuYWdlOmVkaXRcIixcImNvZGVNYW5nZTp2aWV3XCIsXCJjb2RlTWFuZ2U6YWRkXCIsXCJkZXZpY2VNYW5hZ2U6dW5iaW5kXCIsXCJvcmRlck1hbmdlXCIsXCJwcm9kdWN0Q2VudGVyXCIsXCJ2aXBNYW5hZ2VcIixcImRpY01hbmFnZVwiLFwicHJvZHVjdENlbnRlcjp2aWV3XCIsXCJvcmRlck1hbmdlOnBheVwiLFwibG9nTWFuYWdlXCIsXCJkZXZpY2VNYW5hZ2VcIixcImFkbWluTWFuYWdlXCIsXCJwcm9kdWN0TWFuZ2VcIixcInZpcE1hbmFnZTplZGl0XCIsXCJjb2RlTWFuZ2VcIixcInByb2R1Y3RDZW50ZXI6YnV5XCIsXCJwcm9kdWN0TWFuZ2U6dmlld1wiLFwic2RrTWFuYWdlXCIsXCJob21lXCIsXCJwcm9kdWN0Q2VudGVyOmRvd25sb2FkXCIsXCJwcm9kdWN0TWFuZ2U6b2ZmU2FsZVwiLFwiYWRtaW5NYW5hZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpkb3dubG9hZFwiLFwicHJvZHVjdE1hbmdlOmFkZFwiLFwidmlwTWFuYWdlOmFkZFwiLFwiYXBwTWFuYWdlXCIsXCJ2aXBNYW5hZ2U6dmlld1wiLFwicHJvZHVjdE1hbmdlOmVkaXRcIixcImFwaVwiLFwicHJvZHVjdE1hbmdlOnB1Ymxpc2hcIl0sXCJ1c2VybmFtZVwiOlwiYmFzaWNcIn0ifQ.DaTOv8pnh8kG1TPtuNVSo2qPc2z9wGxl2cMZtJ8iwo0"}).then((res) => { - debugger - res.data - }) + this.innerDialog = true + this.activeDialog=false + getShopOrderList({ + token: + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMzODUzNjgsInVzZXIiOiJ7XCJpZFwiOlwiZTZjY2QzNmQtNGYxNi00NmZjLTg4ZDUtMDczNjU4NjZkMjA1XCIsXCJwZXJtaXNzaW9uc1wiOltcInByb2R1Y3RDZW50ZXI6dmlld1wiLFwib3JkZXJNYW5nZTpjYW5jZWxcIixcImRldmljZU1hbmFnZTp2aWV3XCIsXCJwcm9kdWN0TWFuZ2U6ZWRpdFwiLFwiY29kZU1hbmdlOmFkZFwiLFwibG9nTWFuYWdlXCIsXCJkaWNNYW5hZ2VcIixcIm9yZGVyTWFuZ2U6dmlld1wiLFwib3JkZXJNYW5nZTpwYXlcIixcIm9yZGVyTWFuZ2U6ZG93bmxvYWRcIixcInByb2R1Y3RDZW50ZXJcIixcImFwcE1hbmFnZVwiLFwicHJvZHVjdE1hbmdlOmFkZFwiLFwicHJvZHVjdE1hbmdlOnZpZXdcIixcInZpcE1hbmFnZVwiLFwiYXBpXCIsXCJ2aXBNYW5hZ2U6YWRkXCIsXCJhZG1pbk1hbmFnZVwiLFwicHJvZHVjdE1hbmdlXCIsXCJwcm9kdWN0Q2VudGVyOmRvd25sb2FkXCIsXCJhZG1pbk1hbmFnZTphZGRcIixcInByb2R1Y3RDZW50ZXI6YnV5XCIsXCJzZGtNYW5hZ2VcIixcImRldmljZU1hbmFnZTphZGRcIixcImNvZGVNYW5nZVwiLFwiYWRtaW5NYW5hZ2U6dmlld1wiLFwidmlwTWFuYWdlOmVkaXRcIixcImNvZGVNYW5nZTp2aWV3XCIsXCJkZXZpY2VNYW5hZ2VcIixcImhvbWVcIixcInByb2R1Y3RNYW5nZTpwdWJsaXNoXCIsXCJkZXZpY2VNYW5hZ2U6dW5iaW5kXCIsXCJ2aXBNYW5hZ2U6dmlld1wiLFwib3JkZXJNYW5nZVwiLFwicHJvZHVjdE1hbmdlOm9mZlNhbGVcIixcImFkbWluTWFuYWdlOmVkaXRcIl0sXCJ1c2VybmFtZVwiOlwiYmFzaWNcIn0ifQ.WVdowrEmEmIrZUhELckbNGBzwwaHOD9UgvB0Ki1Jbe0", + }).then((res) => { + this.orderList=res.data.list + }); // this.$refs["phoneLogin"].validate((valid) => { // if (valid) { @@ -299,12 +342,10 @@ // } // }); }, - cancelLogin(){ - this.innerVisible= false + cancelLogin() { + this.innerVisible = false; }, - // 鑾峰彇楠岃瘉鐮� getCode() { - // 楠岃瘉鐮�60绉掑�掕鏃� var pattern = /^1[345789]\d{9}$/; if (this.phone.phoneNum == "") { this.$refs["phoneLogin"].fields[0].validateMessage = "璇疯緭鍏ユ墜鏈哄彿"; @@ -490,7 +531,8 @@ } .order-list { margin: 20px 0; - + height: 550px; + overflow-y: auto; .order-card { height: 150px; background: #fff; @@ -522,7 +564,7 @@ } } .warn-tag { - width: 640px; + width: 650px; text-align: left; box-sizing: border-box; padding: 0 25px; @@ -533,7 +575,7 @@ display: flex; justify-content: space-between; top: 55px; - left: calc(50% - 320px); + left: calc(50% - 325px); line-height: 45px; border-radius: 5px; .go-to { @@ -541,10 +583,10 @@ cursor: pointer; text-decoration: underline; font-weight: 600; - font-size: 13px; + font-size: 14px; } .text { - font-size: 13px; + font-size: 14px; } .icon { font-size: 14px; diff --git a/src/pages/library/components/addBase.vue b/src/pages/library/components/addBase.vue index b3865f4..009f6f7 100644 --- a/src/pages/library/components/addBase.vue +++ b/src/pages/library/components/addBase.vue @@ -344,7 +344,6 @@ enabled: this.form.enabled, tableDesc: this.form.tableDesc, analyServerId: this.type, - // isSync: this.form.isSync, }) .then((res) => { this.$notify({ @@ -353,6 +352,7 @@ type: "success", }); this.$emit("refresh"); + this.$emit("closeAdd"); }) .catch((err) => { this.$notify({ diff --git a/src/pages/library/components/baseList.vue b/src/pages/library/components/baseList.vue index a578ae1..106d8ce 100644 --- a/src/pages/library/components/baseList.vue +++ b/src/pages/library/components/baseList.vue @@ -9,7 +9,12 @@ <img v-if="title === '鍚屾搴�'" src="/images/library/鍚屾搴�2.png" alt="" srcset=""> <img v-else src="/images/library/鏈湴搴�2.png" alt="" srcset=""> <span class="m5">{{ title }}</span> - <span + <el-tooltip + content="娣诲姞鍚屾搴�" + placement="top" + > + <!-- popper-class="atooltip" --> + <span class="iconfont icontianjiaku-09" style=" font-size: 22px; @@ -20,6 +25,8 @@ @click.stop="add('sync')" v-if="isShow('library:set')" ></span> + </el-tooltip> + </template> <div class="max-height"> @@ -82,7 +89,12 @@ <template slot="title"> <img src="/images/library/鏈湴搴�2.png" alt="" srcset=""> <span class="m5">{{ titleB }}</span> - <span + <el-tooltip + content="娣诲姞鍚屾搴�" + placement="top" + + > + <span class="iconfont icontianjiaku-09" style=" font-size: 22px; @@ -93,6 +105,8 @@ @click.stop="add('local')" v-if="isShow('library:set')" ></span> + </el-tooltip> + </template> <div class="max-height"> <el-row @@ -320,6 +334,9 @@ } .out-div { max-height: 100%; height: 100%; + .el-collapse-item__header{ + position:relative; + } .el-collapse-item__wrap { will-change: height; background-color: #fff; diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue index 64e0936..5fbd37e 100644 --- a/src/pages/library/components/personList.vue +++ b/src/pages/library/components/personList.vue @@ -623,14 +623,14 @@ class="cancel-btn" @click="handleClose" type="info" - >鍙� 娑�</el-button + >鍙栨秷</el-button > <el-button size="small" class="sure-btn" type="primary" - @click="submit()" - >纭� 瀹�</el-button + @click="submit" + >纭畾</el-button > </div> </el-drawer> @@ -870,13 +870,23 @@ } from "@/api/baseLibrary"; import { getCameraFaceData } from "@/api/es"; // import { checkIDCard } from "@/api/utils"; -import { isIDCard, isPhone } from "../../../scripts/validate"; +import { isIDCard } from "../../../scripts/validate"; import axios from "axios"; import UploadBtn from "./upload"; import fTemplate from "@/components/fTemplate"; import UploadIcon from "@/components/searching/UploadIcon.vue"; - +function isPhone(rule, value, callback) { + if (!value) { + return callback(); + } else if (value.trim()) { + var pattern = /^1[345789]\d{9}$/; + if (pattern.test(value)) { + return callback(); + } + return callback(new Error("杈撳叆鐨勬墜鏈哄彿閿欒")); + } + } Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //鏈堜唤 @@ -1173,7 +1183,6 @@ this.getPersonList(); }, editRow(row) { - debugger; this.inputPersonForm = { ...row }; this.showInfoDrawer = true; }, @@ -1184,6 +1193,7 @@ delete json["compareScore"]; let res = await updateBasePerson(json); if (res.success) { + this.getPersonList() this.$notify.success("浜哄憳淇敼鎴愬姛锛�"); this.showInfoDrawer = false; } else { @@ -1194,14 +1204,6 @@ } }); }, - // confirm() { - // this.$confirm({ - // title: "Confirm", - // content: "Bla bla ...", - // okText: "纭", - // cancelText: "鍙栨秷", - // }); - // }, async enable(item) { let res = await updateBasePerson({ id: item.id, diff --git a/src/scripts/validate.ts b/src/scripts/validate.ts index bd50caa..9a0dca2 100644 --- a/src/scripts/validate.ts +++ b/src/scripts/validate.ts @@ -58,6 +58,9 @@ } export function isIDCard(rule, idcode, callback) { + if (idcode==""||idcode===undefined) { + return callback() + } var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; var check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2']; -- Gitblit v1.8.0