From 8f86d0a825962a17634cb5a4fcdab1ceecea1a5a Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期五, 21 五月 2021 14:27:48 +0800 Subject: [PATCH] 事件声音列表获取字段由data.list改为data --- src/pages/ai/index/App.vue | 1280 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 702 insertions(+), 578 deletions(-) diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue index 10345bb..187b5ef 100644 --- a/src/pages/ai/index/App.vue +++ b/src/pages/ai/index/App.vue @@ -20,58 +20,10 @@ style="height: calc(100% - 20px)" > <el-tab-pane label="宸叉縺娲�" name="myAlgorithm"> - <div - class="width-new-line task-list" - v-show="activeName === 'myAlgorithm'" - > + <div class="width-new-line task-list" v-show="activeName === 'myAlgorithm'"> <p class="src-title">绠楁硶杞欢</p> <div class="flex-list"> - <!-- <div class="wrap-box" v-for="item in ungradeList" :key="'upgrade'+item.id"> - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div - class="svg-wrap" - :class="{willUpGrade:item.isUpgrade}" - v-loading="item.upgradeLoading" - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <i class="iconfont iconupdate" v-if="item.isUpgrade"></i> - <div class="mask"> - <div class="info-onmask"> - <div>褰撳墠鐗堟湰:{{item.version}}</div> - <div>鏈�鏂扮増鏈�:{{item.remoteVersion}}</div> - </div> - <div class="mask-btn"> - <el-button - type="warning" - class="bot-btn" - size="small" - @click="donwload(item)" - >鍗囩骇</el-button> - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src="item.iconBlob.indexOf(',')>0? item.iconBlob:`data:image/png;base64,${item.iconBlob}`" - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding:0px 10px 0px 10px;"> - <span>{{ item.sdk_name }}</span> - </div> - </div> - </div> - </div> - </div>--> - <div - class="wrap-box" - v-for="item in installedList" - :key="item.id" - > + <div class="wrap-box" v-for="item in installedList" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle"> <div @@ -81,42 +33,27 @@ :element-loading-text="item.progressMsg" element-loading-background="rgba(0,0,0,.8)" > - <i - class="iconfont iconupdate" - v-if="item.isUpgrade" - ></i> - <div - class="mask" - v-if="!item.isDefault || item.isUpgrade" - > + <i class="iconfont iconupdate" v-if="item.isUpgrade"></i> + <div class="mask" v-if="!item.isDefault || item.isUpgrade"> <div class="left-top"> <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> </div> - <div - class="info-onmask" - @click="checkDetail(item)" - > - 鏌ョ湅璇︽儏 - </div> + <div class="info-onmask" @click="checkDetail(item, 'active')">鏌ョ湅璇︽儏</div> <div class="mask-btn"> <el-button @click="unLoadSdk(item)" type="primary" size="small" class="bot-btn" - >鍗歌浇</el-button - > + >鍗歌浇</el-button> <el-button v-if="item.isUpgrade" - @click="donwload(item)" + @click="donwload(item, 0)" type="warning" size="small" class="bot-btn" - >鍗囩骇</el-button - > + >鍗囩骇</el-button> </div> </div> <img @@ -133,9 +70,11 @@ </div> <div class="alg-name"> <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ + <span v-if="!item.isEdit"> + {{ item.sdk_name - }}</span> + }} + </span> <el-input size="small" @@ -150,23 +89,23 @@ </div> </div> </div> - <!-- </draggable> --> - <div - class="wrap-box" - v-for="item in notInstalledList" - :key="item.id" - > + <div class="wrap-box" v-for="item in notInstalledList" :key="item.id"> <div class="list-choose-item-left list-choose-item-left-uninstal" v-loading="downloading && downloadItem == item.id" > <div class="mask"> - <el-button - type="primary" - class="bot-btn" - @click="donwload(item)" - >瀹夎</el-button - > + <div class="left-top"> + <div v-if="item.installed">褰撳墠鐗堟湰:{{ item.version }}</div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> + </div> + <div + class="info-onmask" + @click="checkDetail(item, 'activeNotInstall')" + >鏌ョ湅璇︽儏</div> + <div class="mask-btn"> + <el-button @click="donwload(item,1)" type="primary" class="bot-btn">瀹夎</el-button> + </div> </div> <div class="click-download" title="涓嬭浇"> <span class="iconfont iconxiazai1"></span> @@ -194,9 +133,11 @@ </div> <div class="alg-name"> <div style="padding: 0px 10px 0px 10px"> - <span class="list-choose-item-left-uninstal">{{ + <span class="list-choose-item-left-uninstal"> + {{ item.sdk_name - }}</span> + }} + </span> </div> </div> </div> @@ -205,11 +146,7 @@ </div> <p class="src-title">搴旂敤杞欢</p> <div class="flex-list"> - <div - class="wrap-box" - v-for="item in installedApps" - :key="item.id" - > + <div class="wrap-box" v-for="item in installedApps" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle"> <div @@ -221,40 +158,29 @@ :element-loading-text="item.progressMsg" element-loading-background="rgba(0,0,0,.8)" > - <i - class="iconfont iconupdate" - v-if="item.isUpgrade" - ></i> + <i class="iconfont iconupdate" v-if="item.isUpgrade"></i> <div class="mask"> <div class="left-top"> <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> </div> - <div - class="info-onmask" - @click="checkDetail(item)" - > - 鏌ョ湅璇︽儏 - </div> + <!-- v-if="!item.isDefault" --> + <div class="info-onmask" @click="checkDetail(item,'active')">鏌ョ湅璇︽儏</div> <div class="mask-btn"> <el-button - v-if="!item.isDefault" + v-show="!item.isDefault" @click="unLoad(item)" type="primary" size="small" class="bot-btn" - >鍗歌浇</el-button - > + >鍗歌浇</el-button> <el-button v-if="item.isUpgrade" @click="downloadApp(item, 'upgrade')" type="warning" size="small" class="bot-btn" - >鍗囩骇</el-button - > + >鍗囩骇</el-button> </div> </div> <img @@ -285,11 +211,7 @@ </div> </div> </div> - <div - class="wrap-box" - v-for="item in storeApps" - :key="item.id" - > + <div class="wrap-box" v-for="item in storeApps" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle uninstall"> <div @@ -306,8 +228,7 @@ type="primary" class="bot-btn" @click="downloadApp(item)" - >瀹夎</el-button - > + >瀹夎</el-button> </div> <img v-if="item.iconBlob" @@ -360,23 +281,17 @@ </div> </div> </el-tab-pane> - <el-tab-pane - label="搴旂敤涓績" - name="algorithmMall" - v-if="isShow('algorithmManage:buy')" - > + <el-tab-pane label="搴旂敤涓績" name="algorithmMall" v-if="isShow('algorithmManage:buy')"> <div class="tab-content"> - <p class="src-title">绠楁硶杞欢</p> + <div class="flex-title"> + <p class="src-title">绠楁硶杞欢</p> + </div> <div class="store-list flex-list"> - <div - class="wrap-box" - v-for="item in unActivedSDKList" - :key="item.id" - > + <div class="wrap-box" v-for="item in unActivedSDKList" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle"> <div class="alg-icon svg-wrap"> - <div class="mask" @click="actSdkOrApp(item.id)"> + <!-- <div class="mask" @click="actSdkOrApp(item.id)"> <span class="iconfont iconyunxiazai" style=" @@ -387,6 +302,21 @@ left: 45%; " ></span> + </div>--> + <div class="mask" v-if="!item.isDefault || item.isUpgrade"> + <div class="left-top"> + <div>褰撳墠鐗堟湰:{{ item.version }}</div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> + </div> + <div class="info-onmask" @click="actSdkOrApp(item)">鏌ョ湅璇︽儏</div> + <div class="mask-btn"> + <el-button + @click="actSdkOrApp(item)" + type="primary" + size="small" + class="bot-btn" + >婵�娲�</el-button> + </div> </div> <img v-if="item.iconBlob" @@ -402,9 +332,11 @@ </div> <div class="alg-name"> <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ + <span v-if="!item.isEdit"> + {{ item.sdk_name - }}</span> + }} + </span> <el-input size="small" v-model="item.sdk_name" @@ -421,17 +353,14 @@ </div> <p class="src-title">搴旂敤杞欢</p> <div class="app-list flex-list"> - <div - class="wrap-box" - v-for="item in unActivedAppList" - :key="item.id" - > + <div v-if="!unActivedAppList.length" class="empty-tip">鏆傛棤鏁版嵁</div> + <div class="wrap-box" v-for="item in unActivedAppList" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle"> <div class="alg-icon svg-wrap"> - <div + <!-- <div class="mask" - @click="actSdkOrApp(item.id, 'app')" + @click="actSdkOrApp(item, 'app')" > <span class="iconfont iconyunxiazai" @@ -443,6 +372,21 @@ left: 45%; " ></span> + </div>--> + <div class="mask" v-if="!item.isDefault || item.isUpgrade"> + <div class="left-top"> + <div>褰撳墠鐗堟湰:{{ item.version }}</div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> + </div> + <div class="info-onmask" @click="actSdkOrApp(item,'app')">鏌ョ湅璇︽儏</div> + <div class="mask-btn"> + <el-button + @click="actSdkOrApp(item, 'app')" + type="primary" + size="small" + class="bot-btn" + >婵�娲�</el-button> + </div> </div> <img v-if="item.iconBlob" @@ -474,100 +418,23 @@ </div> </div> </div> - <el-drawer - title="涓嬭浇" - :visible.sync="actDrawerShow" - :direction="direction" - > - <div class="drawer-content"> - <div class="current-step"> - <el-steps - align-center - :active="actStep" - finish-status="success" - > - <el-step title="娣诲姞婵�娲荤爜"></el-step> - <el-step title="婵�娲绘垚鍔�"></el-step> - </el-steps> - </div> - - <div v-if="actStep == 0"> - <div class="act-code"> - <p>浣跨敤婵�娲荤爜灏嗘柊鐨勭畻娉曟坊鍔犲埌鎮ㄧ殑璐︽埛</p> - <el-input - v-model="activeCode" - placeholder="00000-00000-00000-00000-00000" - @blur="getCodeDetail" - ></el-input> - </div> - <div class="text-right"> - <el-button type="primary" @click="actived" - >婵�娲�</el-button - > - </div> - </div> - <div v-else-if="actStep == 1"> - <ul class="desc"> - <li> - <label>婵�娲荤爜:</label> - <span>{{ activedSdkOrApp.activateCode }}</span> - </li> - <li> - <label>浜у搧鍚嶇О:</label> - <span>{{ activedSdkOrApp.productName }}</span> - </li> - <li> - <label>閰嶇疆璇︽儏:</label> - <span>{{ activedSdkOrApp.setting }}</span> - </li> - <li> - <label>鏈嶅姟鍒版湡鏃�:</label> - <span>{{ activedSdkOrApp.expireTime }}</span> - </li> - <li> - <label>璁稿彲璇�:</label> - <span>{{ activedSdkOrApp.licence }}</span> - </li> - <!-- <li> - <label>璁惧ID:</label> - <span>3342-235f-ret55-fdsg</span> - </li>--> - </ul> - <div class="text-right"> - <el-button type="primary" @click="checkMyAlgorith" - >纭畾</el-button - > - <p class="tip">鎻愮ず锛氳鍦ㄢ�滄垜鐨勭畻娉曗�濅腑鏌ョ湅骞跺畨瑁呯畻娉�</p> - </div> - </div> - </div> - </el-drawer> + <!-- --> </el-tab-pane> <el-tab-pane name="update"> <span slot="label"> - <el-badge class="update-badge" :value="updateNum" - >鏇存柊</el-badge - > + <el-badge class="update-badge" :value="updateNum" :hidden="updateNum==0">鏇存柊</el-badge> </span> <div class="task-list"> <div class="flex-title"> <p class="src-title">绠楁硶杞欢</p> - <el-button - @click="batchUpdate('sdk')" - size="mini" - type="primary" - >鏇存柊鍏ㄩ儴</el-button - > + <el-button @click="batchUpdate('sdk')" size="mini" type="primary">鏇存柊鍏ㄩ儴</el-button> </div> <div class="flex-list"> - <div v-if="!hasNewVersionSdk.length" class="empty-tip"> - 鏆傛棤鏁版嵁锛岃绋嶅悗閲嶈瘯... - </div> <div - class="wrap-box" - v-for="item in hasNewVersionSdk" - :key="item.id" - > + v-if="hasNewVersionSdk.length==0" + class="empty-tip" + >{{errMsg?errMsg:"鏆傛棤鏁版嵁"}}</div> + <div class="wrap-box" v-for="item in hasNewVersionSdk" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle"> <div @@ -577,42 +444,27 @@ :element-loading-text="item.progressMsg" element-loading-background="rgba(0,0,0,.8)" > - <i - class="iconfont iconupdate" - v-if="item.isUpgrade" - ></i> - <div - class="mask" - v-if="!item.isDefault || item.isUpgrade" - > + <i class="iconfont iconupdate" v-if="item.isUpgrade"></i> + <div class="mask" v-if="!item.isDefault || item.isUpgrade"> <div class="left-top"> <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> </div> - <div - class="info-onmask" - @click="checkDetail(item)" - > - 鏌ョ湅璇︽儏 - </div> + <div class="info-onmask" @click="checkDetail(item,'active')">鏌ョ湅璇︽儏</div> <div class="mask-btn"> <el-button @click="unLoadSdk(item)" type="primary" size="small" class="bot-btn" - >鍗歌浇</el-button - > + >鍗歌浇</el-button> <el-button v-if="item.isUpgrade" - @click="donwload(item)" + @click="donwload(item, 0)" type="warning" size="small" class="bot-btn" - >鍗囩骇</el-button - > + >鍗囩骇</el-button> </div> </div> <img @@ -629,9 +481,11 @@ </div> <div class="alg-name"> <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ + <span v-if="!item.isEdit"> + {{ item.sdk_name - }}</span> + }} + </span> </div> </div> </div> @@ -640,22 +494,11 @@ </div> <div class="flex-title"> <p class="src-title">搴旂敤杞欢</p> - <el-button - @click="batchUpdate('app')" - type="primary" - size="mini" - >鏇存柊鍏ㄩ儴</el-button - > + <el-button @click="batchUpdate('app')" type="primary" size="mini">鏇存柊鍏ㄩ儴</el-button> </div> <div class="flex-list"> - <div v-if="!hasNewVersionApp.length" class="empty-tip"> - 鏆傛棤鏁版嵁锛岃绋嶅悗閲嶈瘯... - </div> - <div - class="wrap-box" - v-for="item in hasNewVersionApp" - :key="item.id" - > + <div v-if="!hasNewVersionApp.length" class="empty-tip">鏆傛棤鏁版嵁</div> + <div class="wrap-box" v-for="item in hasNewVersionApp" :key="item.id"> <div class="list-choose-item-left"> <div class="list-complete-item-handle"> <div @@ -667,23 +510,13 @@ :element-loading-text="item.progressMsg" element-loading-background="rgba(0,0,0,.8)" > - <i - class="iconfont iconupdate" - v-if="item.isUpgrade" - ></i> + <i class="iconfont iconupdate" v-if="item.isUpgrade"></i> <div class="mask"> <div class="left-top"> <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> + <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{ item.remoteVersion }}</div> </div> - <div - class="info-onmask" - @click="checkDetail(item)" - > - 鏌ョ湅璇︽儏 - </div> + <div class="info-onmask" @click="checkDetail(item,'active')">鏌ョ湅璇︽儏</div> <div class="mask-btn"> <el-button v-if="!item.isDefault" @@ -691,16 +524,14 @@ type="primary" size="small" class="bot-btn" - >鍗歌浇</el-button - > + >鍗歌浇</el-button> <el-button v-if="item.isUpgrade" @click="downloadApp(item, 'upgrade')" type="warning" size="small" class="bot-btn" - >鍗囩骇</el-button - > + >鍗囩骇</el-button> </div> </div> <img @@ -786,21 +617,18 @@ </div> </el-dialog> <!-- <div class="dialog-content" v-if="productDetailVisible" > --> - <el-dialog - class="product-detail-dialog" - :visible="productDetailVisible" - @close="closeDial" - > - <!-- <el-button-group> --> - <div class="button-group"> - <el-button plain size="small" @click="backwards" :disabled="backDisable"> < </el-button> - <!-- <el-button type="primary" size="small" icon="el-icon-arrow-left"></el-button> --> - <el-button plain size="small" @click="forwards" :disabled="forwardDisable">></el-button> - <!-- <el-button type="primary" size="small"><i class="el-icon-arrow-right el-icon--right"></i></el-button> --> - + <el-dialog class="product-detail-dialog" :visible="productDetailVisible" @close="closeDial"> + <!-- <el-button-group> --> + <div class="button-group" v-show="!backDisable||!forwardDisable"> + <el-button size="small" @click="backwards" :disabled="backDisable"> + <span><</span> + </el-button> + <!-- <el-button type="primary" size="small" icon="el-icon-arrow-left"></el-button> --> + <el-button size="small" @click="forwards" :disabled="forwardDisable">></el-button> + <!-- <el-button type="primary" size="small"><i class="el-icon-arrow-right el-icon--right"></i></el-button> --> </div> -<!-- </el-button-group> --> - <div class="dialog-title" slot="title">{{curCheckTarget.sdk_type===undefined?"搴旂敤璇︽儏":"绠楁硶璇︽儏"}}</div> + <!-- </el-button-group> --> + <div class="dialog-title" slot="title">{{isSDKDialog?"绠楁硶璇︽儏":"搴旂敤璇︽儏"}}</div> <div class="dialog-content"> <div class="box-top"> <div class="top-left"> @@ -819,10 +647,7 @@ @change="changeHandle" > <!-- :arrow="productDetail.pics.length > 1 ? 'always' : 'never'" --> - <el-carousel-item - v-for="(item, index) in productDetail.pics" - :key="index" - > + <el-carousel-item v-for="(item, index) in productDetail.pics" :key="index"> <div class="imgwrap"> <img v-if="item.type != 'video'" @@ -830,11 +655,7 @@ class="cursor-pointer" preview /> - <video - v-if="item.type == 'video'" - :src="'/httpImage/' + item.url" - controls - ></video> + <video v-if="item.type == 'video'" :src="'/httpImage/' + item.url" controls></video> </div> </el-carousel-item> </el-carousel> @@ -845,58 +666,89 @@ <div class="summary"> <div class="icon"> <img - v-if="curCheckTarget.iconBlob" + v-if="productDetail.iconBlob" class="baseImg" :src=" - curCheckTarget.iconBlob.indexOf(',') > 0 - ? curCheckTarget.iconBlob - : `data:image/png;base64,${curCheckTarget.iconBlob}` + productDetail.iconBlob.indexOf(',') > 0 + ? productDetail.iconBlob + : `data:image/png;base64,${productDetail.iconBlob}` " alt /> </div> <div class="right-desc"> - <div class="name">{{ productDetail.productName }}</div> + <div class="name"> + <el-tooltip + class + effect="dark" + :content="productDetail.productName" + placement="right-start" + > + <span>{{ productDetail.productName }}</span> + </el-tooltip> + </div> <div class="tags"> - <!-- <span - class="tag" - v-for="(id, index) in curCheckTarget.productLabelId" - :key="index+'i'" - >{{showNameById(id)}}</span> --> - <el-tag type="info" color="#fff">搴旂敤</el-tag> - <el-tag type="info" color="#fff">绠楁硶</el-tag> - <el-tag type="info" color="#fff">杞欢</el-tag> - <!-- <span - class="tag" - >搴旂敤</span> - <span - class="tag" - >绠楁硶</span> - <span - class="tag" - >杞欢</span> --> + <el-tag type="info" size="small" color="#fff" v-if="!isSDKDialog">搴旂敤</el-tag> + <el-tag type="info" size="small" color="#fff" v-if="isSDKDialog">绠楁硶</el-tag> </div> <div class="btns"> - <el-button size="medium" type="warning" @click="upgrade">{{ - isUpgrading ? "鍗囩骇涓�.." : "鍗囩骇" - }}</el-button> - <el-button size="medium" type="primary" @click="unload" - >鍗歌浇</el-button + <el-button + size="small" + type="warning" + v-if="needToUpgradeInWin||productDetail.isUpgrade" + @click="upgradeSDKinWin" > - <el-button size="medium" type="success">鎵撳紑</el-button> + {{ + isUpgrading ? "鍗囩骇涓�.." : "鍗囩骇" + }} + </el-button> + <el-button + size="small" + type="primary" + v-if="isActive&&!isDefaultApp" + @click="unloadSDKinWin" + >鍗歌浇</el-button> + <el-button + size="small" + type="primary" + v-if="!isActive&&!showInstallNotActive" + @click="showInputCode=!showInputCode" + >婵�娲�</el-button> + <el-button + size="small" + type="primary" + v-if="!isActive&&showInstallNotActive" + @click="downloadSdkInSide" + >{{isUpgrading?"瀹夎涓�..":"瀹夎"}}</el-button> + <el-button + size="small" + type="success" + v-if="!isSDKDialog&&isActive" + @click="openApp" + >鎵撳紑</el-button> </div> </div> </div> + <div class="jihuo-input" v-if="showInputCode"> + <el-input + size="small" + v-model="activeCode" + placeholder="00000-00000-00000-00000-00000" + @blur="getCodeDetail" + ></el-input> + <el-button type="primary" size="small" @click="actived">婵�娲�</el-button> + <el-button type="primary" size="small" @click="cancelActivate">鍙栨秷</el-button> + </div> <div class="product-intruduction"> - <div class="part-title">绠�浠�</div> + <div class="part-title" v-if="!showInputCode">绠�浠�</div> <div class="text"> <div class="single-desc"> <div>鐗堟湰锛�</div> <div> {{ - productDetail.productVersion === "" - ? "鏆傛棤鏁版嵁" - : productDetail.productVersion + productDetail.productVersion === "" + ? "鏆傛棤" + : productDetail.productVersion }} </div> </div> @@ -904,9 +756,9 @@ <div>姒傝堪锛�</div> <div> {{ - productDetail.description === "" - ? "鏆傛棤鏁版嵁" - : productDetail.description + productDetail.description === "" + ? "鏆傛棤" + : productDetail.description }} </div> </div> @@ -914,9 +766,9 @@ <div>璇﹁堪锛�</div> <div> {{ - productDetail.summary === "" - ? "鏆傛棤鏁版嵁" - : productDetail.summary + productDetail.summary === "" + ? "鏆傛棤" + : productDetail.summary }} </div> </div> @@ -926,21 +778,19 @@ </div> <div class="box-bottom"> <div class="bot-left"> - <div class="part-title">鍔熻兘鐗圭偣</div> + <div class="part-title">{{ isSDKDialog ? "搴旂敤鍦烘櫙" : "鍔熻兘鐗圭偣" }}</div> <div class="list-zone"> - <div - class="list-item" - v-for="(item, index) in productDetail.funcInfo" - :key="index" - > - <el-tag type="" size="small" effect="dark"> - {{ item.title === "" ? "鏍囬鏆傛棤鏁版嵁" : item.title }} - </el-tag> + <div class="list-item" v-for="(item, index) in productDetail.funcInfo" :key="index"> + <el-tag + type + size="small" + effect="dark" + >{{ item.title === "" ? "鏆傛棤鏁版嵁" : item.title }}</el-tag> <div class="desc"> {{ - item.desc === "" - ? "璇ユ绱㈤噰鐢ㄥぇ鏁版嵁鏋舵瀯锛屽垎甯冨紡鏁版嵁澶勭悊锛屽彲鏀寔娴烽噺鏁版嵁澶嶆潅妫�绱㈡绉掔骇杩斿洖锛岃璁℃湁鏅鸿兘妫�绱㈡锛屾悳绱㈠唴瀹瑰皢鏍规嵁TF/IDF绠楁硶璁$畻鎵�寰楀緱鍒嗭紝璇ョ畻娉曢�氳繃姝ゅ唴瀹瑰尮閰嶇▼搴︼紝璇嶉鏁帮紝璇嶉暱鍗犳瘮绛夛紝璁$畻鍑哄悓鎵�鎼滃唴瀹圭殑绗﹀悎搴︼紝杩斿洖绗﹀悎搴︽渶楂樼殑鏁版嵁锛岃嫢绗﹀悎搴︿竴鑷达紝灏嗚繑鍥炴嵁浠婃渶杩戠殑鏁版嵁" - : item.desc + item.desc === "" + ? "鏆傛棤鏁版嵁" + : item.desc }} </div> </div> @@ -949,16 +799,14 @@ <div class="bot-right"> <div class="part-title">鎺ㄨ崘绠楁硶</div> <div class="item-zone"> - <div - class="item" - v-for="(item, index) in otherProducts" - :key="index" - > - <el-tag type="info" color="inherit" size="small">{{ + <div class="item" v-for="(item, index) in otherProducts" :key="index"> + <el-tag type="info" color="inherit" size="small"> + {{ item.productTypeName === "" - ? "鏆傛棤鏁版嵁" - : item.productTypeName - }}</el-tag> + ? "鏆傛棤鏁版嵁" + : item.productTypeName + }} + </el-tag> <div class="icon"> <img v-if="item.iconBlob" @@ -970,16 +818,60 @@ " alt /> + <div class="icon-name"> - {{ item.name === "" ? "鏆傛棤鏁版嵁" : item.name }} + <el-tooltip + class + effect="dark" + :content="item.name === '' ? '鏆傛棤鏁版嵁':item.name" + placement="top-start" + > + <span>{{ item.name === "" ? "鏆傛棤鏁版嵁" : item.name }}</span> + </el-tooltip> </div> </div> <div class="look-button"> - <el-button type="primary" size="small" @click="checkInWindow(item)">鏌ョ湅</el-button> + <el-button type="primary" size="mini" @click="checkInWindow(item)">鏌ョ湅</el-button> </div> </div> </div> </div> + </div> + </div> + </el-dialog> + <el-dialog + :visible.sync="showActivateSuccess" + title="婵�娲绘垚鍔燂紒" + width="30%" + class="active-Dial" + :before-close="handleClose" + > + <div class="dialog-active"> + <ul class="desc"> + <li> + <label>婵�娲荤爜:</label> + <span>{{ activedSdkOrApp.activateCode }}</span> + </li> + <li> + <label>浜у搧鍚嶇О:</label> + <span>{{ activedSdkOrApp.productName }}</span> + </li> + <li> + <label>閰嶇疆璇︽儏:</label> + <span>{{ activedSdkOrApp.setting }}</span> + </li> + <li> + <label>鏈嶅姟鍒版湡鏃�:</label> + <span>{{ activedSdkOrApp.expireTime }}</span> + </li> + <li> + <label>璁稿彲璇�:</label> + <span>{{ activedSdkOrApp.licence }}</span> + </li> + </ul> + <div class="text-right"> + <el-button type="primary" @click="checkMyAlgorith">纭畾</el-button> + <p class="tip">鎻愮ず锛氳鍦ㄢ�滃凡婵�娲烩�濅腑鏌ョ湅骞跺畨瑁呯畻娉�</p> </div> </div> </el-dialog> @@ -1004,6 +896,7 @@ actApp, } from "@/api/app"; +import bus from "@/plugin/bus"; import FileUploader from "@/components/subComponents/FileUpload/index"; export default { name: "algorithmManage", @@ -1060,17 +953,20 @@ downloadItem: "", downloading: false, direction: "rtl", - actDrawerShow: false, actStep: 0, + showActivateSuccess: false, activeCode: "", isInstall: false, installDialogVisible: false, installPackage: {}, installAppPackage: null, installSdkPackage: null, + isActive: true, + isDefaultApp: false, installPercentage: 0, unActivedSDKList: [], unActivedAppList: [], + isSDKDialog: true, //actSdkId: '', actType: "", actId: "", @@ -1098,8 +994,12 @@ otherProducts: [], backStack: [], forwardStack: [], - backDisable:true, - forwardDisable:true, + backDisable: true, + forwardDisable: true, + showInputCode: false, + needToUpgradeInWin: false, + errMsg: "", + showInstallNotActive: false }; }, directives: { @@ -1109,6 +1009,7 @@ }, }, }, + mounted() { // 鑾峰彇鎵�鏈夊簲鐢� this.autoRefreshAppAndSdkState(); @@ -1128,7 +1029,7 @@ batchUpdate(type) { if (type == "sdk") { this.hasNewVersionSdk.forEach((sdk) => { - this.donwload(sdk); + this.donwload(sdk, 0); }); } else { this.hasNewVersionApp.forEach((app) => { @@ -1136,74 +1037,114 @@ }); } }, - closeDial(){ + closeDial() { this.productDetailVisible = false this.productDetail = {} this.otherProducts = [] }, - checkDetail(item) { + checkDetail(item, type) { + if (type == 'inactive') { + this.isActive = false + this.showInstallNotActive = false + this.showInputCode = false + } else if (type == 'active') { + this.showInputCode = false + this.showInstallNotActive = false + this.isActive = true + } else if (type == 'activeNotInstall') { + this.showInputCode = false + this.isActive = false + this.showInstallNotActive = true + } + this.checkIsDefOrNot(item.id) + this.needToUpgradeInWin = item.isUpgrade ? true : false this.resetStack() - this.curCheckTarget = item; - // debugger + if (item.sdk_type === undefined) { + this.isSDKDialog = false + } else { + this.isSDKDialog = true + } this.productDetailVisible = true; let _this = this; getAppDetail({ id: item.id }).then((res) => { _this.productDetail = res.data.detail; - _this.otherProducts = res.data.randoms; + _this.productDetail.isUpgrade = item.isUpgrade; + _this.productDetail.iconBlob = item.iconBlob; + _this.otherProducts = res.data.randoms; }); }, - resetStack(){ + resetStack() { this.forwardStack = [] - this.backStack = [] - this.backDisable = true - this.forwardDisable = true + this.backStack = [] + this.backDisable = true + this.forwardDisable = true }, - checkInWindow(item){ - this.backStack.push(this.productDetail) - console.log(this.backStack); + checkInWindow(item) { + this.backStack.push([this.productDetail, this.otherProducts]) this.backDisable = false - this.curCheckTarget = item; - // this.productDetailVisible = true; + this.checkIsDefOrNot(item.id) + let _this = this; getAppDetail({ id: item.id }).then((res) => { _this.productDetail = res.data.detail; + _this.productDetail.iconBlob = item.iconBlob + this.actId = _this.productDetail.productBaseId + let flag = false + const allNeedToNew = [...this.hasNewVersionSdk, ...this.hasNewVersionApp] + for (let i = 0; i < allNeedToNew.length; i++) { + const item = allNeedToNew[i]; + if (item.id == _this.productDetail.productBaseId) { + flag = true + } + } + this.needToUpgradeInWin = flag + _this.productDetail.isUpgrade = flag + _this.otherProducts = res.data.randoms; }); }, - backwards(){ - if (this.backStack.length ==0) { - this.backDisable = true - // forwardDisable:false, - return - } - console.log(this.backStack); - - // debugger - this.forwardStack.push(this.productDetail) - this.productDetail = this.backStack.pop() - this.forwardDisable=false - if (this.backStack.length ==0) { - this.backDisable = true - + checkIsDefOrNot(id) { + if (id.length > 10) { + this.isDefaultApp = false + } else { + this.isDefaultApp = true } }, - forwards(){ - if(this.forwardStack.length==0){ - this.forwardDisable=true + backwards() { + if (this.backStack.length == 0) { + this.backDisable = true return } - // debugger - console.log(this.backStack); - this.backStack.push(this.productDetail) - this.backDisable=false - this.productDetail=this.forwardStack.pop() - if (this.forwardStack.length==0) { - this.forwardDisable=true + this.forwardStack.push([this.productDetail, this.otherProducts]) + let item = this.backStack.pop() + this.productDetail = item[0] + this.checkIsDefOrNot(this.productDetail.productBaseId) + this.otherProducts = item[1] + this.forwardDisable = false + if (this.backStack.length == 0) { + this.backDisable = true + } - + }, + forwards() { + if (this.forwardStack.length == 0) { + this.forwardDisable = true + return + } + + this.backStack.push([this.productDetail, this.otherProducts]) + this.backDisable = false + let item = this.forwardStack.pop() + + this.productDetail = item[0] + this.otherProducts = item[1] + if (this.forwardStack.length == 0) { + this.forwardDisable = true + } + }, //绂荤嚎瀹夎 offlineInstall() { @@ -1231,7 +1172,6 @@ } }) .catch((e) => { - console.log(e); this.isInstall = false; this.$message({ type: "error", @@ -1239,17 +1179,7 @@ }); }); }, - upgrade() { - this.isUpgrading = !this.isUpgrading; - setTimeout(() => { - this.$notify({ - title: "鎴愬姛", - message: "鍗囩骇瀹屾垚", - type: "success", - }); - this.isUpgrading = !this.isUpgrading; - }, 1200); - }, + downloadApp(app, action) { if (action == "upgrade") { app.upgradeLoading = true; @@ -1261,19 +1191,16 @@ installApp({ path: app.id }) .then((res) => { if (res && res.success) { + _this.$notify({ + title: "鎴愬姛", + message: "瀹夎搴旂敤鎴愬姛", + type: "success", + }); setTimeout(() => { if (action == "upgrade") { app.upgradeLoading = false; - // _this.$notify({ - // type: 'success', - // message: '鍗囩骇鎴愬姛' - // }); } else { app.installLoading = false; - // _this.$notify({ - // type: 'success', - // message: '瀹夎鎴愬姛' - // }); } // _this.getAllApps(); window.parent.postMessage( @@ -1283,10 +1210,15 @@ "*" ); }, 3000); + } else { } }) .catch((e) => { - console.log(e); + _this.$notify({ + title: "瀹夎澶辫触", + message: e.data, + type: "warning", + }); if (action == "upgrade") { app.upgradeLoading = false; } else { @@ -1324,39 +1256,14 @@ this.storeApps = sArry; this.hasNewVersionApp = nArry; }, - //鍗歌浇绠楁硶 - unLoadSdk(sdk) { - let _this = this; - this.$confirm("纭畾瑕佸嵏杞借绠楁硶鍚�?", "鎻愮ず") - .then(() => { - sdk.unloadLoading = true; - removeSdk({ sdkId: sdk.id }) - .then((res) => { - if (res && res.success) { - sdk.unloadLoading = false; - _this.getAllSdk(); - window.parent.postMessage( - { - msg: "AppUpdate", - }, - "*" - ); - } - }) - .catch((e) => { - console.log(e); - sdk.unloadLoading = false; - }); - }) - .catch((e) => { - console.log(e); - }); - }, - //鍗歌浇搴旂敤 + + //鍗歌浇 unLoad(app) { let _this = this; this.$confirm("纭畾瑕佸嵏杞借搴旂敤鍚�?", "鎻愮ず") .then(() => { + _this.productDetailVisible = false + app.unloadLoading = true; removeApp({ appId: app.id }) .then((res) => { @@ -1369,6 +1276,11 @@ }, "*" ); + _this.$notify({ + title: "鎴愬姛", + message: "鍗歌浇搴旂敤鎴愬姛", + type: "success", + }); } }) .catch((e) => { @@ -1380,20 +1292,19 @@ console.log(e); }); }, - // actSdk (id) { - // this.actSdkId = id; - // this.actDrawerShow = true; - // this.actStep = 0; - // this.activeCode = ''; - // this.activedSdkOrApp = this.newActInfo() - // }, - actSdkOrApp(id, type = "sdk") { + + actSdkOrApp(item, type = "sdk") { + this.checkDetail(item, "inactive"); this.actType = type; - this.actId = id; - this.actDrawerShow = true; + this.actId = item.id; this.actStep = 0; this.activeCode = ""; this.activedSdkOrApp = this.newActInfo(); + }, + + cancelActivate() { + this.showInputCode = false + this.activeCode = "" }, newActInfo() { return { @@ -1421,12 +1332,21 @@ }, actived() { let _this = this; + if (this.activeCode.trim() == "") { + this.$notify({ + type: "error", + message: "婵�娲荤爜涓嶈兘涓虹┖", + }); + return; + } if (this.actType == "sdk") { //婵�娲荤畻娉� actPageAlg(this.actId, this.activeCode) .then((res) => { if (res.data.isSuccess) { + this.productDetailVisible = false; _this.activedSdkOrApp = res.data.successMsg; + this.showActivateSuccess = true _this.actStep++; _this.getUnActivedList(); _this.getAllSdk(); @@ -1445,7 +1365,9 @@ actApp(this.actId, this.activeCode) .then((res) => { if (res.data.isSuccess) { + this.productDetailVisible = false; _this.activedSdkOrApp = res.data.successMsg; + this.showActivateSuccess = true _this.actStep++; _this.getUnActivedAppList(); _this.getAllApps(); @@ -1461,9 +1383,9 @@ }); } }, - getCodeDetail() {}, + getCodeDetail() { }, checkMyAlgorith() { - this.actDrawerShow = false; + this.showActivateSuccess = false; this.activeName = "myAlgorithm"; }, onFileUpload(file) { @@ -1503,24 +1425,11 @@ }); }); }, - unload() { - this.$confirm("纭畾瑕佸嵏杞借绠楁硶涔堬紵", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.$message({ - type: "success", - message: "鍗歌浇鎴愬姛!", - }); - }) - .catch(() => { - // this.$message({ - // type: 'info', - // message: '宸插彇娑堝嵏杞�' - // }); - }); + openApp() { + let message = 'toOpenApp?' + this.productDetail.productBaseId; + window.parent.postMessage({ + msg: message + }, "*") }, onFileAdded(f) { @@ -1548,27 +1457,154 @@ //绠楁硶杞欢 宸插畨瑁呭叾涓寘鍚緟鍗囩骇 鏈畨瑁� item.installed ? installedList.push(obj) : unInstalledList.push(obj); + item.isUpgrade ? hasNewVersionList.push(obj) : null }); } this.installedList = installedList; this.notInstalledList = unInstalledList; this.hasNewVersionSdk = hasNewVersionList; }, + unloadSDKinWin() { - donwload(item) { + let appToUnload + let sdkToUnload + if (this.productDetail.productTypeName == "搴旂敤") { + appToUnload = this.installedApps.find((item) => { + return item.id == this.productDetail.productBaseId + }) + this.unLoad(appToUnload) + } else { + sdkToUnload = this.installedList.find((item) => { + return item.id == this.productDetail.productBaseId + }) + this.unLoadSdk(sdkToUnload) + } + }, + //鍗歌浇绠楁硶 + unLoadSdk(sdk) { + let _this = this; + this.$confirm("纭畾瑕佸嵏杞借绠楁硶鍚�?", "鎻愮ず") + .then(() => { + _this.productDetailVisible = false + sdk.unloadLoading = true; + removeSdk({ sdkId: sdk.id }) + .then((res) => { + if (res && res.success) { + sdk.unloadLoading = false; + this.$notify({ + title: "鎴愬姛", + message: "鍗歌浇瀹屾垚", + type: "success", + }); + _this.getAllSdk(); + window.parent.postMessage( + { + msg: "AppUpdate", + }, + "*" + ); + } + }) + .catch((e) => { + console.log(e); + sdk.unloadLoading = false; + }); + }) + .catch((e) => { + console.log(e); + }); + }, + upgradeSDKinWin() { + this.isUpgrading = !this.isUpgrading; + + let _this = this; + if (this.productDetail.productTypeName == "搴旂敤") { + installApp({ path: this.productDetail.productBaseId }) + .then((res) => { + if (res && res.success) { + this.$notify({ + title: "鎴愬姛", + message: "鍗囩骇瀹屾垚", + type: "success", + }); + this.needToUpgradeInWin = false + this.productDetail.isUpgrade = false + this.isUpgrading = !this.isUpgrading; + + } + }) + .catch((e) => { + _this.$notify({ + title: "鍗囩骇澶辫触", + message: e.data, + type: "warning", + }); + this.isUpgrading = !this.isUpgrading; + }); + + // 寮�鍚嚜鍔ㄥ埛鏂� + this.appUpgreading = true; + } else { + downloadSdk({ path: this.productDetail.productBaseId }).then((res) => { + this.needToUpgradeInWin = false + this.productDetail.isUpgrade = false + this.isUpgrading = !this.isUpgrading; + this.$notify({ + title: "鎴愬姛", + message: "鍗囩骇瀹屾垚", + type: "success", + }); + }).catch((err) => { + this.$notify({ + title: "鍗囩骇澶辫触", + message: err.data, + type: "warning", + }); + this.isUpgrading = !this.isUpgrading; + }) + this.sdkUpgreading = true; + } + + + + }, + downloadSdkInSide() { + this.downloadItem = this.productDetail.productBaseId; + this.isUpgrading = true; + downloadSdk({ path: this.productDetail.productBaseId }) + .then((rsp) => { + this.productDetailVisible = false; + this.downloadItem = ""; + this.$notify({ + type: "success", + message: "绠楁硶宸插畨瑁�", + }); + this.isUpgrading = false + }) + .catch((err) => { + this.$notify({ + type: "warning", + message: err.data, + }); + this.downloadItem = ""; + this.isUpgrading = false + }); + // 寮�鍚嚜鍔ㄥ埛鏂� + this.sdkUpgreading = true; + }, + donwload(item, typ) { item.upgradeLoading = true; - //this.downloading = true; this.downloadItem = item.id; downloadSdk({ path: item.id }) .then((rsp) => { - // this.$notify({ - // type: "success", - // message: "绠楁硶宸插畨瑁�" - // }); item.upgradeLoading = false; //this.downloading = false; this.downloadItem = ""; + this.$notify({ + type: "success", + message: typ == 1 ? "绠楁硶瀹夎鎴愬姛" : "绠楁硶鍗囩骇鎴愬姛" + }); }) .catch((err) => { this.$notify({ @@ -1583,10 +1619,9 @@ this.sdkUpgreading = true; }, inputBlur(item) { - // console.log(item, '淇敼鍚嶇О') this.$set(item, "isEdit", false); }, - handleTabClick() {}, + handleTabClick() { }, autoRefreshAppAndSdkState() { // 鍏抽棴鍚庨��鍑� if (!this.autoRefresh) { @@ -1643,85 +1678,109 @@ height: 100%; } .product-detail-dialog { - .dialog-title{ - font-size: 14px; + .dialog-title { + font-size: 13px; } .el-dialog { - width: 60%; + width: 50%; min-width: 920px; position: relative; } .el-dialog__header { text-align: center; - padding: 15px; + padding: 6px; + + .el-dialog__headerbtn { + position: absolute; + top: 5px; + + right: 20px; + padding: 0; + background: transparent; + outline: none; + cursor: pointer; + font-size: 20px; + } } .el-dialog__body { background-color: rgba(222, 225, 230, 1); - padding: 10px 5px; - .button-group{ + padding: 8px 3px; + .button-group { position: absolute; - top: 9px; - left:6px; - left: 10px; + top: 3px; - button{ - // margin-right: 6px; - background-color: #ecf5ff; + left: 6px; + left: 10px; + .el-button--small { + padding: 5px 12px; + } + button { font-size: 18px; - line-height: 12px; + line-height: 12px; } } } .dialog-content { .box-top { - height: 380px; + height: 330px; .top-left { float: left; width: 55%; background-color: rgba(253, 253, 253, 1); margin: 0 0.5%; - height: 380px; + height: 330px; + border-radius: 2px; .banner { - text-align: center; - margin-top: 30px; - video { + text-align: center; + margin-top: 3px; + video { + margin: 0px auto; + margin-top: 23px; - margin: 20px auto; - width: 443px; - height: 277px; - // background: aquamarine; - } + width: 443px; + height: 277px; + } + img { + max-width: 90%; + margin-top: 28px; + } } } .top-right { float: left; width: 43%; margin: 0 0.5%; - // background-color: lightgoldenrodyellow; - height: 380px; + height: 330px; background-color: rgba(253, 253, 253, 1); position: relative; + border-radius: 2px; + overflow: hidden; .summary { - height: 140px; - margin: 5px; + height: 120px; + margin: 5px 5px 0 5px; .icon { - margin: 0 5px; - margin-top: 5px; + margin: 0 10px; + margin-top: 8px; float: left; - .baseImg{ - max-width: 128px; - max-height: 128px; + .baseImg { + max-width: 106px; + max-height: 106px; } } + .right-desc { float: left; position: absolute; - left: 150px; + left: 140px; .name { - font-size: 30px; - // font-weight: bold; + font-size: 28px; + margin-bottom: 5px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + width: 250px; } .tags { margin-bottom: 10px; @@ -1731,89 +1790,111 @@ } } } + .jihuo-input { + margin-left: 10px; + margin-bottom: 10px; + .el-input { + float: left; + width: 63%; + margin-bottom: 8px; + margin-right: 10px; + } + el-button { + float: left; + } + } .product-intruduction { - height: 230px; - // background-color: lightgrey; + height: 200px; + margin-top: 3px; + .part-title { display: block; - line-height: 35px; + line-height: 20px; + font-size: 16px; margin-left: 24px; - // height: 30px; border-bottom: 3px solid #3d68e1; width: fit-content; + height: 26px; margin-bottom: 8px; - height: 35px; } .text { - padding: 10px 15px; + height: 156px; + overflow: auto; + padding: 0 15px 0px 15px; + .single-desc { margin-bottom: 10px; + font-size: 13px; } } } } } .box-bottom { - margin-top: 10px; - height: 260px; + margin-top: 8px; + + height: 240px; .bot-left { width: 49%; - height: 260px; + height: 240px; background-color: rgba(253, 253, 253, 1); margin: 0 0.5%; + border-radius: 2px; float: left; - // background-color: lightblue; .part-title { display: block; line-height: 35px; font-size: 16px; margin-left: 24px; - // height: 30px; border-bottom: 3px solid #3d68e1; width: fit-content; - margin-bottom: 8px; - height: 35px; + margin-bottom: 10px; + + height: 33px; } .list-zone { overflow: auto; - height: 225px; - padding: 0 8px; + height: 190px; + padding: 0 20px; .list-item { .desc { background-color: rgba(242, 242, 242, 1.3); + margin: 5px 12px 0 12px; + font-size: 12px; + line-height: 18px; } + margin-bottom: 12px; } } } .bot-right { - height: 260px; + height: 240px; float: left; background-color: rgba(253, 253, 253, 1); width: 49%; - // background-color: lightgoldenrodyellow; margin: 0 0.5%; + border-radius: 2px; .part-title { display: block; line-height: 35px; font-size: 16px; margin-left: 24px; - // height: 30px; border-bottom: 3px solid #3d68e1; width: fit-content; margin-bottom: 5px; - height: 35px; + height: 33px; } .item-zone { overflow: auto; height: 225px; - padding: 0 10px; + padding: 0px 12px; + .item { height: 165px; width: 130px; float: left; - // text-align: center; border-radius: 10px; box-shadow: 0px 5px 14px rgba(0, 0, 0, 0.0666666666666667); position: relative; @@ -1823,27 +1904,31 @@ margin: 8px; } .icon { - // width: 100%; - // height: 68px; - // width: 68px; - position: absolute; - // margin: 0 auto; margin: 0 auto; - top: 21%; - left: 26%; img { - // display: block; max-width: 60px; max-height: 60px; + position: absolute; + top: 20%; + left: 26%; } .icon-name { text-align: center; + position: absolute; + top: 61%; + left: 12%; + width: 100px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 13px; } } .look-button { position: absolute; - left: 28%; - top: 75%; + left: 30%; + + top: 76%; } } } @@ -1941,6 +2026,7 @@ .el-tabs--border-card > .el-tabs__content { padding: 0 !important; overflow: auto !important; + background-color: #1c364a; } .el-tabs__content { padding: 0 !important; @@ -1984,7 +2070,7 @@ } } .task-list { - background: #fdfdfd; + background: #1c364a; padding: 20px; box-sizing: border-box; @@ -1994,14 +2080,14 @@ flex-wrap: wrap; min-height: 200px; .wrap-box { - width: 16.66%; + width: 11%; } .list-choose-item-left { width: 80%; height: auto; margin: auto; margin-bottom: 30px; - max-width: 200px; + max-width: 150px; .mask { width: 100%; @@ -2017,14 +2103,14 @@ display: flex; flex-wrap: wrap; .wrap-box { - width: 16.6%; + width: 11%; margin-bottom: 30px; .list-choose-item-left { width: 80%; height: auto; margin: auto; margin-bottom: 30px; - max-width: 200px; + max-width: 150px; } .inner { width: 80%; @@ -2051,9 +2137,9 @@ } } .alg-name { - height: 36px; + height: 20px; text-align: center; - line-height: 36px; + line-height: 20px; } .mask { position: absolute; @@ -2138,7 +2224,7 @@ } } .tab-content { - padding: 30px 20px; + padding: 20px 20px; } } .mask { @@ -2230,7 +2316,7 @@ font-size: 14px; transition: all 1s; - background: #ffffff; + // background: #ffffff; border-radius: 4px; p { display: none; @@ -2253,6 +2339,7 @@ flex-wrap: wrap; justify-content: center; top: 0; + .bot-btn { flex: 1; } @@ -2263,8 +2350,8 @@ } } .list-choose-item-left-uninstal { - color: darkgray; - background-color: #ddd; + color: gray; + filter: grayscale(100%); } .list-complete-item.sortable-chosen { background: #4ab7bd; @@ -2373,11 +2460,11 @@ } .alg-name { //margin-top: 12px; - line-height: 36px; + line-height: 20px; font-family: PingFangSC-Regular; font-size: 14px; letter-spacing: 0.05em; - color: #3e4664; + color: #fff; // background-color: #ecf5ff; .el-input { position: relative; @@ -2409,6 +2496,7 @@ padding-top: 100%; position: relative; box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07); + border-radius: 25px; svg { position: absolute; top: 50%; @@ -2416,13 +2504,14 @@ transform: translate(-50%, -50%); } .baseImg { - width: 56%; + width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); - max-width: 106px; - max-height: 106px; + max-height: 150px; + // max-width: 106px; + // max-height: 106px; } } .willUpGrade { @@ -2437,10 +2526,10 @@ } &.uninstall { .svg-wrap { - background-color: #ddd; + filter: grayscale(100%); } .alg-name { - color: darkgray; + color: #ffffff; } } } @@ -2526,5 +2615,40 @@ } } } +.active-Dial { + .el-dialog { + min-width: 400px; + } + + .dialog-active { + .desc { + padding: 0 30px; + margin-bottom: 30px; + li { + border-bottom: 1px solid #eee; + height: 45px; + line-height: 45px; + font-size: 14px; + &:last-child { + border-bottom: none; + } + label { + display: inline-block; + width: 90px; + padding-left: 14px; + font-weight: bold; + } + } + } + .text-right { + padding-right: 30px; + text-align: right; + .tip { + color: #999; + line-height: 38px; + } + } + } +} </style> -- Gitblit v1.8.0