zhangzengfei
2021-04-21 3a2c4f13d1554d4e97463abebf085117b3f1e28f
src/pages/ai/index/App.vue
@@ -20,17 +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 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
@@ -40,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>当前版本1:{{ item.version }}</div>
                                <div v-if="item.remoteVersion">
                                  最新版本:{{ item.remoteVersion }}
                                <div v-if="item.remoteVersion">最新版本:{{ item.remoteVersion }}</div>
                                </div>
                              </div>
                              <div
                                class="info-onmask"
                                @click="checkDetail(item, 'active')"
                              >
                                查看详情
                              </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, 0)"
                                  type="warning"
                                  size="small"
                                  class="bot-btn"
                                  >升级1</el-button
                                >
                                >升级1</el-button>
                              </div>
                            </div>
                            <img
@@ -92,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"
@@ -109,37 +89,22 @@
                        </div>
                      </div>
                    </div>
                    <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">
                          <div class="left-top">
                            <div v-if="item.installed">
                              当前版本:{{ item.version }}
                            </div>
                            <div v-if="item.remoteVersion">
                              最新版本:{{ item.remoteVersion }}
                            </div>
                            <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>
                          <div class="mask-btn">
                            <el-button
                              @click="donwload(item, 1)"
                              type="primary"
                              class="bot-btn"
                              >安装</el-button
                            >
                            <el-button @click="donwload(item, 1)" type="primary" class="bot-btn">安装</el-button>
                          </div>
                        </div>
                        <div class="click-download" title="下载">
@@ -168,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>
@@ -179,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
@@ -195,24 +158,14 @@
                            :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>
                              <!-- v-if="!item.isDefault" -->
                              <div
                                class="info-onmask"
                                @click="checkDetail(item, 'active')"
                              >
                                查看详情
                              </div>
                              <div class="info-onmask" @click="checkDetail(item, 'active')">查看详情</div>
                              <div class="mask-btn">
                                <el-button
                                  v-show="!item.isDefault"
@@ -220,16 +173,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
@@ -260,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
@@ -281,8 +228,7 @@
                                type="primary"
                                class="bot-btn"
                                @click="downloadApp(item)"
                                >安装</el-button
                              >
                              >安装</el-button>
                            </div>
                            <img
                              v-if="item.iconBlob"
@@ -335,19 +281,11 @@
                  </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="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">
@@ -363,30 +301,19 @@
                                "
                              ></span>
                            </div> -->
                            <div
                              class="mask"
                              v-if="!item.isDefault || item.isUpgrade"
                            >
                            <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 v-if="item.remoteVersion">最新版本:{{ item.remoteVersion }}</div>
                                </div>
                              </div>
                              <div
                                class="info-onmask"
                                @click="actSdkOrApp(item)"
                              >
                                查看详情
                              </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
                                >
                                >激活</el-button>
                              </div>
                            </div>
                            <img
@@ -403,9 +330,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"
@@ -422,14 +351,8 @@
                  </div>
                  <p class="src-title">应用软件</p>
                  <div class="app-list flex-list">
                    <div v-if="!unActivedAppList.length" class="empty-tip">
                      暂无数据
                    </div>
                    <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">
@@ -448,30 +371,19 @@
                                "
                              ></span>
                            </div> -->
                            <div
                              class="mask"
                              v-if="!item.isDefault || item.isUpgrade"
                            >
                            <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 v-if="item.remoteVersion">最新版本:{{ item.remoteVersion }}</div>
                                </div>
                              </div>
                              <div
                                class="info-onmask"
                                @click="actSdkOrApp(item, 'app')"
                              >
                                查看详情
                              </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
                                >
                                >激活</el-button>
                              </div>
                            </div>
                            <img
@@ -508,32 +420,19 @@
              </el-tab-pane>
              <el-tab-pane name="update">
                <span slot="label">
                  <el-badge
                    class="update-badge"
                    :value="updateNum"
                    :hidden="updateNum == 0"
                    >更新</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 == 0" class="empty-tip">
                      {{ errMsg ? errMsg : "暂无数据" }}
                    </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
@@ -543,42 +442,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 v-if="item.remoteVersion">最新版本:{{ item.remoteVersion }}</div>
                                </div>
                              </div>
                              <div
                                class="info-onmask"
                                @click="checkDetail(item, 'active')"
                              >
                                查看详情
                              </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, 0)"
                                  type="warning"
                                  size="small"
                                  class="bot-btn"
                                  >升级</el-button
                                >
                                >升级</el-button>
                              </div>
                            </div>
                            <img
@@ -595,9 +479,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>
@@ -606,22 +492,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
@@ -633,23 +508,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 v-if="item.remoteVersion">最新版本:{{ item.remoteVersion }}</div>
                                </div>
                              </div>
                              <div
                                class="info-onmask"
                                @click="checkDetail(item, 'active')"
                              >
                                查看详情
                              </div>
                              <div class="info-onmask" @click="checkDetail(item, 'active')">查看详情</div>
                              <div class="mask-btn">
                                <el-button
                                  v-if="!item.isDefault"
@@ -657,16 +522,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
@@ -752,26 +615,18 @@
      </div>
    </el-dialog>
    <!-- <div class="dialog-content" v-if="productDetailVisible" > -->
    <el-dialog
      class="product-detail-dialog"
      :visible="productDetailVisible"
      @close="closeDial"
    >
    <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>&#60;</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 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">
        {{ isSDKDialog ? "算法详情" : "应用详情" }}
      </div>
      <div class="dialog-title" slot="title">{{ isSDKDialog ? "算法详情" : "应用详情" }}</div>
      <div class="dialog-content">
        <div class="box-top">
          <div class="top-left">
@@ -790,10 +645,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'"
@@ -801,11 +653,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>
@@ -829,7 +677,7 @@
              <div class="right-desc">
                <div class="name">
                  <el-tooltip
                    class=""
                    class
                    effect="dark"
                    :content="productDetail.productName"
                    placement="right-start"
@@ -838,20 +686,8 @@
                  </el-tooltip>
                </div>
                <div class="tags">
                  <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
                  >
                  <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
@@ -859,36 +695,31 @@
                    type="warning"
                    v-if="needToUpgradeInWin || productDetail.isUpgrade"
                    @click="upgradeSDKinWin"
                    >{{ isUpgrading ? "升级中.." : "升级" }}</el-button
                  >
                  >{{ isUpgrading ? "升级中.." : "升级" }}</el-button>
                  <el-button
                    size="small"
                    type="primary"
                    v-if="isActive && !isDefaultApp"
                    @click="unloadSDKinWin"
                    >卸载</el-button
                  >
                  >卸载</el-button>
                  <el-button
                    size="small"
                    type="primary"
                    v-if="!isActive && !showInstallNotActive"
                    @click="showInputCode = !showInputCode"
                    >激活</el-button
                  >
                  >激活</el-button>
                  <el-button
                    size="small"
                    type="primary"
                    v-if="!isActive && showInstallNotActive"
                    @click="downloadSdkInSide"
                    >{{ isUpgrading ? "安装中.." : "安装" }}</el-button
                  >
                  >{{ isUpgrading ? "安装中.." : "安装" }}</el-button>
                  <el-button
                    size="small"
                    type="success"
                    v-if="!isSDKDialog && isActive"
                    @click="openApp"
                    >打开</el-button
                  >
                  >打开</el-button>
                </div>
              </div>
            </div>
@@ -899,12 +730,8 @@
                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
              >
              <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" v-if="!showInputCode">简介</div>
@@ -945,37 +772,29 @@
        </div>
        <div class="box-bottom">
          <div class="bot-left">
            <div class="part-title">
              {{ isSDKDialog ? "应用场景" : "功能特点" }}
            </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="desc">
                  {{ item.desc === "" ? "暂无数据" : item.desc }}
                </div>
              <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 === "" ? "暂无数据" : item.desc }}</div>
              </div>
            </div>
          </div>
          <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>
                  }}
                </el-tag>
                <div class="icon">
                  <img
                    v-if="item.iconBlob"
@@ -990,24 +809,21 @@
                  <div class="icon-name">
                    <el-tooltip
                      class=""
                      class
                      effect="dark"
                      :content="item.name === '' ? '暂无数据' : item.name"
                      placement="top-start"
                    >
                      <span>{{
                      <span>
                        {{
                        item.name === "" ? "暂无数据" : item.name
                      }}</span>
                        }}
                      </span>
                    </el-tooltip>
                  </div>
                </div>
                <div class="look-button">
                  <el-button
                    type="primary"
                    size="mini"
                    @click="checkInWindow(item)"
                    >查看</el-button
                  >
                  <el-button type="primary" size="mini" @click="checkInWindow(item)">查看</el-button>
                </div>
              </div>
            </div>
@@ -2682,13 +2498,13 @@
          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-width: 106px;
          // max-height: 106px;
        }
      }
      .willUpGrade {