From 769275515cf9ed5a31a742b455b0a0690b3f5f99 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期二, 14 十二月 2021 11:41:44 +0800
Subject: [PATCH] 删除ai_c 应用中新修改

---
 src/pages/ai/index/App.vue                  |  132 -----
 /dev/null                                   |   12 
 src/pages/library/components/carList.vue    |  905 ++++++++++++++++++++------------------
 src/pages/library/index/App.vue             |   11 
 src/pages/library/index/main.ts             |    2 
 src/pages/library/components/baseList.vue   |  111 ---
 src/pages/library/components/addBase.vue    |    2 
 src/pages/library/components/personList.vue |  152 ++----
 public/apps.json                            |   23 -
 9 files changed, 575 insertions(+), 775 deletions(-)

diff --git a/public/apps.json b/public/apps.json
index 0cf49bf..f882d26 100644
--- a/public/apps.json
+++ b/public/apps.json
@@ -71,29 +71,6 @@
       "progressMsg": ""
     },
     {
-      "id": "7dea48a4-8294-4914-85d8-c2bbd4caf550",
-      "name": "搴旂敤涓績-鏃�",
-      "package": "algorithmManage_old",
-      "type": "2",
-      "url": "/view/ai_c/",
-      "title": "搴旂敤涓績-鏃�",
-      "width": 1243,
-      "height": 750,
-      "iconBlob": "",
-      "icon": "../../images/app-mid/algorithm-store.png",
-      "version": "1.0.0",
-      "create_time": "2020-10-09 14:00:02",
-      "create_by": "",
-      "update_time": "",
-      "update_by": "",
-      "isDelete": 0,
-      "isDefault": true,
-      "remoteVersion": "",
-      "installed": true,
-      "isUpgrade": false,
-      "progressMsg": ""
-    },
-    {
       "id": "2224a376-5436-4323-ad65-c26d95efaa54",
       "name": "鎽勫儚鏈洪厤缃�",
       "package": "cameraAccess",
diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue
index 704b524..0c04f9f 100644
--- a/src/pages/ai/index/App.vue
+++ b/src/pages/ai/index/App.vue
@@ -169,7 +169,7 @@
                       class="other-btn"
                       round
                       @click="checkDetail(item)"
-                      v-if="activeName == '搴旂敤涓績'&&item.price>0"
+                      v-if="activeName == '搴旂敤涓績' && item.price > 0"
                       >婵�娲�</el-button
                     >
                     <el-button
@@ -178,7 +178,7 @@
                       class="update-btn"
                       round
                       @click.stop="actived(item)"
-                      v-if="activeName == '搴旂敤涓績'&&item.price==0"
+                      v-if="activeName == '搴旂敤涓績' && item.price == 0"
                       >瀹夎</el-button
                     >
                     <el-button
@@ -546,11 +546,6 @@
     goback() {
       this.inDetail = false;
     },
-    // isShow(authority) {
-    //   return (
-    //     this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
-    //   );
-    // },
     batchUpdate(s) {
       if (s == "both") {
         this.batchUpdateSDK();
@@ -584,7 +579,6 @@
           this.tempList = this.installedList;
           this.tempDarkList = this.notInstalledList;
           break;
-
         case "鏇存柊":
           this.showQuickPath = false;
           this.tempList = this.hasNewVersionSdk;
@@ -620,11 +614,6 @@
         this.tempDarkList = [];
       }
     },
-    // closeDial() {
-    //   this.productDetailVisible = false;
-    //   this.productDetail = {};
-    //   this.otherProducts = [];
-    // },
     checkDetail(item, typ) {
       this.inDetail = true;
       this.detailProductID = item.id;
@@ -634,55 +623,9 @@
         this.detailType = this.activeName == "搴旂敤涓績" ? "inactive" : "active";
       }
     },
-    // checkInWindow(item) {
-    //   this.backStack.push([this.productDetail, this.otherProducts]);
-    //   this.backDisable = false;
-    //   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;
-    //   });
-    // },
     checkIsDefOrNot(id) {
-      if (id.length > 10) {
-        this.isDefaultApp = false;
-      } else {
-        this.isDefaultApp = true;
-      }
+      this.isDefaultApp = id.length <= 10;
     },
-    // backwards() {
-    //   if (this.backStack.length == 0) {
-    //     this.backDisable = true;
-    //     return;
-    //   }
-    //   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;
@@ -804,18 +747,6 @@
         })
         .catch((e) => {});
     },
-    // toActivatePage(item) {
-    //   this.checkDetail(item, "inactive");
-    //   this.actType = this.activeTab;
-    //   this.actId = item.id;
-    //   this.actStep = 0;
-    //   this.activeCode = "";
-    //   this.activedSdkOrApp = this.newActInfo();
-    // },
-    // cancelActivate() {
-    //   this.showInputCode = false;
-    //   this.activeCode = "";
-    // },
     newActInfo() {
       return {
         activateCode: "",
@@ -853,7 +784,7 @@
       getUnActivedApp().then((res) => {
         if (res.code == 200) {
           this.unActivedAppList = res.data;
-          this.pickTab()
+          this.pickTab();
         }
       });
     },
@@ -896,10 +827,6 @@
           });
       }
     },
-    // checkMyAlgorith() {
-    //   this.showActivateSuccess = false;
-    //   this.activeName = "宸叉縺娲�";
-    // },
     onFileUpload(file) {
       this.patchFile = { ...file };
       this.fileAdded = true;
@@ -917,6 +844,7 @@
                 version: res.data.apps[0].version,
                 productName: res.data.productName,
                 installContent: res.data.apps[0].installContent,
+                
               };
             }
             if (res.data.sdks.length > 0) {
@@ -935,12 +863,6 @@
           this.$message.error(e.msg);
         });
     },
-    // openApp() {
-    //   window.parent.postMessage(
-    //     { msg: "toOpenApp?" + this.productDetail.productBaseId },
-    //     "*"
-    //   );
-    // },
     onFileAdded(f) {
       this.patchUpdateStatus = "";
     },
@@ -975,26 +897,8 @@
       this.notInstalledList = unInstalledList;
       this.toUpdateArr1 = this.installedList.slice(0, 10);
       this.hasNewVersionSdk = hasNewVersionList;
-      this.pickTab()
+      this.pickTab();
     },
-    // unloadSDKinWin() {
-    //   let appToUnload;
-    //   let sdkToUnload;
-    //   if (this.productDetail.productTypeName == "搴旂敤") {
-    //     appToUnload = this.installedApps.find((item) => {
-    //       return item.id == this.productDetail.productBaseId;
-    //     });
-    //     this.unloadApp(appToUnload);
-    //   } else {
-    //     sdkToUnload = this.installedList.find((item) => {
-    //       return item.id == this.productDetail.productBaseId;
-    //     });
-    //     this.unloadSdk(sdkToUnload);
-    //   }
-    // },
-    // unLoadSdkOrApp(item) {
-    //   this.activeTab == "sdk" ? this.unloadSdk(item) : this.unloadApp(item);
-    // },
     unloadSdk(sdk) {
       let _this = this;
       this.$confirm("纭畾瑕佸嵏杞借绠楁硶鍚�?", "鎻愮ず")
@@ -1016,7 +920,6 @@
         })
         .catch((e) => {});
     },
-
     donwloadSDK(item) {
       let timer = null;
       item.upgradeLoading = true;
@@ -1029,7 +932,7 @@
           clearInterval(timer);
           item.upgradeLoading = false;
           this.downloadItem = "";
-         
+
           window.parent.postMessage({ msg: "AppUpdate" }, "*");
         })
         .catch((err) => {
@@ -1041,19 +944,18 @@
       this.sdkUpgreading = true;
     },
     autoRefreshAppAndSdkState() {
-      // 鍏抽棴鍚庨��鍑�
+      this.getAllApps();
+      this.getAllSdk();
       if (!this.autoRefresh) {
         return;
       }
-      if (this.appUpgreading) {
-        this.getAllApps();
-      }
-      if (this.sdkUpgreading) {
-        this.getAllSdk();
-      }
-      let _this = this;
       setTimeout(() => {
-        _this.autoRefreshAppAndSdkState();
+        if (this.appUpgreading) {
+          this.getAllApps();
+        }
+        if (this.sdkUpgreading) {
+          this.getAllSdk();
+        }
       }, 1000);
     },
   },
@@ -1461,8 +1363,8 @@
               text-align: center;
               position: relative;
               .check-btn {
-                background-color:#FFFFFF !important;
-                border-color: #BDBDBD !important;
+                background-color: #ffffff !important;
+                border-color: #bdbdbd !important;
                 color: #333333;
               }
               .update-btn {
diff --git a/src/pages/ai_c/index/App.vue b/src/pages/ai_c/index/App.vue
deleted file mode 100644
index e0a36c1..0000000
--- a/src/pages/ai_c/index/App.vue
+++ /dev/null
@@ -1,2775 +0,0 @@
-<template>
-  <div class="s-task-manage">
-    <div style="height: 100%">
-      <div class="flex-box task-manage">
-        <div class="installModel" v-if="isInstall">
-          <div class="progress-bar">
-            <div class="inner-bar"></div>
-          </div>
-        </div>
-        <!-- 瓒呯骇绠$悊鍛樺彲瑙� -->
-        <div class="super">
-          <div class="left-box">
-            <el-tabs
-              v-model="activeName"
-              type="border-card"
-              style="height: calc(100% - 20px)"
-            >
-              <el-tab-pane label="宸叉縺娲�" name="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="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)"
-                          >
-                            <img
-                              class="update-icon"
-                              v-if="item.isUpgrade"
-                              src="../../../assets/img/鏇存柊鎻愮ず.png"
-                              alt=""
-                            />
-                            <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="checkDetail(item, 'active')"
-                              >
-                                鏌ョ湅璇︽儏
-                              </div>
-                              <div class="mask-btn">
-                                <el-button
-                                  @click="unLoadSdk(item)"
-                                  type="primary"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗歌浇</el-button
-                                >
-                                <el-button
-                                  v-if="item.isUpgrade"
-                                  @click="donwload(item, 0)"
-                                  type="warning"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗囩骇</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 v-if="!item.isEdit">
-                                {{ item.sdk_name }}
-                              </span>
-
-                              <el-input
-                                size="small"
-                                v-model="item.sdk_name"
-                                v-if="item.isEdit"
-                                v-focus
-                                :maxlength="15"
-                                @blur="inputBlur(item)"
-                              ></el-input>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                    <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>
-                          <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>
-                        </div>
-                        <div class="list-complete-item-handle">
-                          <div
-                            class="svg-wrap"
-                            v-loading="
-                              item.installLoading || item.upgradeLoading
-                            "
-                            :element-loading-text="item.progressMsg"
-                            element-loading-background="rgba(0,0,0,.8)"
-                          >
-                            <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 class="list-choose-item-left-uninstal">
-                                {{ item.sdk_name }}
-                              </span>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                  <p class="src-title">搴旂敤杞欢</p>
-                  <div class="flex-list">
-                    <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
-                            class="svg-wrap"
-                            :class="{ willUpGrade: item.isUpgrade }"
-                            v-loading="
-                              item.unloadLoading || item.upgradeLoading
-                            "
-                            :element-loading-text="item.progressMsg"
-                            element-loading-background="rgba(0,0,0,.8)"
-                          >
-                            <img
-                              class="update-icon"
-                              v-if="item.isUpgrade"
-                              src="../../../assets/img/鏇存柊鎻愮ず.png"
-                              alt=""
-                            />
-
-                            <div class="mask">
-                              <div class="left-top">
-                                <div>褰撳墠鐗堟湰:{{ item.version }}</div>
-                                <div v-if="item.remoteVersion">
-                                  鏈�鏂扮増鏈�:{{ item.remoteVersion }}
-                                </div>
-                              </div>
-                              <div
-                                class="info-onmask"
-                                @click="checkDetail(item, 'active')"
-                              >
-                                鏌ョ湅璇︽儏
-                              </div>
-                              <div class="mask-btn">
-                                <el-button
-                                  v-show="!item.isDefault"
-                                  @click="unLoad(item)"
-                                  type="primary"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗歌浇</el-button
-                                >
-                                <el-button
-                                  v-if="item.isUpgrade"
-                                  @click="downloadApp(item, 'upgrade')"
-                                  type="warning"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗囩骇</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" style="color: grey">
-                            <div style="padding: 0px 10px 0px 10px">
-                              <span v-if="!item.isEdit">{{ item.name }}</span>
-                              <el-input
-                                size="small"
-                                v-model="item.sdk_name"
-                                v-if="item.isEdit"
-                                v-focus
-                                :maxlength="15"
-                                @blur="inputBlur(item)"
-                              ></el-input>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                    <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
-                            class="svg-wrap"
-                            v-loading="
-                              item.installLoading || item.upgradeLoading
-                            "
-                            :element-loading-text="item.progressMsg"
-                            element-loading-background="rgba(0,0,0,.8)"
-                          >
-                            <div class="mask">
-                              <div class="left-top">
-                                <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="downloadApp(item)"
-                                  type="primary"
-                                  size="small"
-                                  class="bot-btn"
-                                  >瀹夎</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 v-if="!item.isEdit">{{ item.name }}</span>
-                              <el-input
-                                size="small"
-                                v-model="item.name"
-                                v-if="item.isEdit"
-                                v-focus
-                                :maxlength="15"
-                                @blur="inputBlur(item)"
-                              ></el-input>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </el-tab-pane>
-
-              <el-tab-pane
-                label="绂荤嚎鍗囩骇/瀹夎"
-                name="upgradeOrInstallation"
-                v-if="isShow('algorithmManage:insOffLine')"
-              >
-                <div class="tab-content">
-                  <div class="action-bar">
-                    <FileUploader
-                      single
-                      tip
-                      tipWords="涓婁紶绠楁硶"
-                      uploadPlaceholder="涓婁紶瀹夎杞欢"
-                      url="/data/api-v/sdk/upload"
-                      @complete="onFileUpload"
-                      @file-added="onFileAdded"
-                    />
-                  </div>
-                </div>
-              </el-tab-pane>
-              <el-tab-pane
-                label="搴旂敤涓績"
-                name="algorithmMall"
-                v-if="isShow('algorithmManage:buy')"
-              >
-                <div class="tab-content">
-                  <div class="flex-title">
-                    <p class="src-title">绠楁硶杞欢</p>
-                  </div>
-                  <div class="store-list flex-list">
-                    <div v-if="!unActivedSDKList.length" class="empty-tip">
-                      鏆傛棤鏁版嵁
-                    </div>
-
-                    <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"
-                              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"
-                              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 v-if="!item.isEdit">
-                                {{ item.sdk_name }}
-                              </span>
-                              <el-input
-                                size="small"
-                                v-model="item.sdk_name"
-                                v-if="item.isEdit"
-                                v-focus
-                                :maxlength="15"
-                                @blur="inputBlur(item)"
-                              ></el-input>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </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 class="list-choose-item-left">
-                        <div class="list-complete-item-handle">
-                          <div class="alg-icon svg-wrap">
-                            <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"
-                              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 v-if="!item.isEdit">{{ item.name }}</span>
-                              <el-input
-                                size="small"
-                                v-model="item.name"
-                                v-if="item.isEdit"
-                                v-focus
-                                :maxlength="15"
-                                @blur="inputBlur(item)"
-                              ></el-input>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </el-tab-pane>
-              <el-tab-pane name="update" label="鏇存柊">
-                <span slot="label">
-                  <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')"
-                      v-if="hasNewVersionSdk.length != 0"
-                      size="mini"
-                      type="primary"
-                      >鏇存柊鍏ㄩ儴</el-button
-                    >
-                  </div>
-                  <div class="flex-list">
-                    <div v-if="hasNewVersionSdk.length == 0" class="empty-tip">
-                      鏆傛棤鏁版嵁
-                    </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
-                            class="svg-wrap"
-                            :class="{ willUpGrade: item.isUpgrade }"
-                            v-loading="item.upgradeLoading"
-                            :element-loading-text="item.progressMsg"
-                            element-loading-background="rgba(0,0,0,.8)"
-                          >
-                            <img
-                              class="update-icon"
-                              v-if="item.isUpgrade"
-                              src="../../../assets/img/鏇存柊鎻愮ず.png"
-                              alt=""
-                            />
-
-                            <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="checkDetail(item, 'active')"
-                              >
-                                鏌ョ湅璇︽儏
-                              </div>
-                              <div class="mask-btn">
-                                <el-button
-                                  @click="unLoadSdk(item)"
-                                  type="primary"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗歌浇</el-button
-                                >
-                                <el-button
-                                  v-if="item.isUpgrade"
-                                  @click="donwload(item, 0)"
-                                  type="warning"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗囩骇</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 v-if="!item.isEdit">
-                                {{ item.sdk_name }}
-                              </span>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                  <div class="flex-title">
-                    <p class="src-title">搴旂敤杞欢</p>
-                    <el-button
-                      @click="batchUpdate('app')"
-                      v-if="hasNewVersionApp.length"
-                      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 class="list-choose-item-left">
-                        <div class="list-complete-item-handle">
-                          <div
-                            class="svg-wrap"
-                            :class="{ willUpGrade: item.isUpgrade }"
-                            v-loading="
-                              item.unloadLoading || item.upgradeLoading
-                            "
-                            :element-loading-text="item.progressMsg"
-                            element-loading-background="rgba(0,0,0,.8)"
-                          >
-                            <img
-                              class="update-icon"
-                              v-if="item.isUpgrade"
-                              src="../../../assets/img/鏇存柊鎻愮ず.png"
-                              alt=""
-                            />
-
-                            <div class="mask">
-                              <div class="left-top">
-                                <div>褰撳墠鐗堟湰:{{ item.version }}</div>
-                                <div v-if="item.remoteVersion">
-                                  鏈�鏂扮増鏈�:{{ item.remoteVersion }}
-                                </div>
-                              </div>
-                              <div
-                                class="info-onmask"
-                                @click="checkDetail(item, 'active')"
-                              >
-                                鏌ョ湅璇︽儏
-                              </div>
-                              <div class="mask-btn">
-                                <el-button
-                                  v-if="!item.isDefault"
-                                  @click="unLoad(item)"
-                                  type="primary"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗歌浇</el-button
-                                >
-                                <el-button
-                                  v-if="item.isUpgrade"
-                                  @click="downloadApp(item, 'upgrade')"
-                                  type="warning"
-                                  size="small"
-                                  class="bot-btn"
-                                  >鍗囩骇</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 v-if="!item.isEdit">{{ item.name }}</span>
-                              <el-input
-                                size="small"
-                                v-model="item.sdk_name"
-                                v-if="item.isEdit"
-                                v-focus
-                                :maxlength="15"
-                                @blur="inputBlur(item)"
-                              ></el-input>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </el-tab-pane>
-            </el-tabs>
-          </div>
-        </div>
-      </div>
-    </div>
-    <el-dialog
-      title="瀹夎鍖呬俊鎭�"
-      :visible.sync="installDialogVisible"
-      width="40%"
-      :close-on-click-modal="false"
-    >
-      <div class="installInfo">
-        <template v-if="installAppPackage != null">
-          <div>
-            <div>
-              <span>瀹夎鍖呭悕绉帮細</span>
-              <span>{{ installAppPackage.productName }}</span>
-            </div>
-            <div>
-              <span>瀹夎鐗堟湰锛�</span>
-              <span>{{ installAppPackage.version }}</span>
-            </div>
-            <div>
-              <span>鏇存柊鍐呭锛�</span>
-              <span>{{ installAppPackage.installContent }}</span>
-            </div>
-          </div>
-        </template>
-        <template v-if="installSdkPackage != null">
-          <div>
-            <div>
-              <span>瀹夎鍖呭悕绉帮細</span>
-              <span>{{ installSdkPackage.productName }}</span>
-            </div>
-            <div>
-              <span>瀹夎鐗堟湰锛�</span>
-              <span>{{ installSdkPackage.version }}</span>
-            </div>
-            <div>
-              <span>鏇存柊鍐呭锛�</span>
-              <span>{{ installSdkPackage.installContent }}</span>
-            </div>
-          </div>
-        </template>
-        <p>纭畾瀹夎锛�</p>
-      </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="installDialogVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="offlineInstall">瀹� 瑁�</el-button>
-      </div>
-    </el-dialog>
-    <el-dialog
-      class="product-detail-dialog"
-      :visible="productDetailVisible"
-      @close="closeDial"
-    >
-      <div class="button-group" v-show="!backDisable || !forwardDisable">
-        <el-button size="small" @click="backwards" :disabled="backDisable">
-          <span>&#60;</span>
-        </el-button>
-        <el-button size="small" @click="forwards" :disabled="forwardDisable"
-          >></el-button
-        >
-      </div>
-      <div class="dialog-title" slot="title">
-        {{ isSDKDialog ? "绠楁硶璇︽儏" : "搴旂敤璇︽儏" }}
-      </div>
-      <div class="dialog-content">
-        <div class="box-top">
-          <div class="top-left">
-            <div class="banner">
-              <el-carousel
-                ref="carousel"
-                :autoplay="false"
-                indicator-position="none"
-                :arrow="
-                  productDetail.pics !== undefined
-                    ? productDetail.pics.length > 1
-                      ? 'always'
-                      : 'never'
-                    : 'never'
-                "
-                @change="changeHandle"
-              >
-                <el-carousel-item
-                  v-for="(item, index) in productDetail.pics"
-                  :key="index"
-                >
-                  <div class="imgwrap">
-                    <img
-                      v-if="item.type != 'video'"
-                      :src="'/httpImage/' + item.url"
-                      class="cursor-pointer"
-                      preview
-                    />
-                    <video
-                      v-if="item.type == 'video'"
-                      :src="'/httpImage/' + item.url"
-                      controls
-                    ></video>
-                  </div>
-                </el-carousel-item>
-              </el-carousel>
-            </div>
-          </div>
-          <div class="top-right">
-            <div class="summary">
-              <div class="icon">
-                <img
-                  v-if="productDetail.iconBlob"
-                  class="baseImg"
-                  :src="
-                    productDetail.iconBlob.indexOf(',') > 0
-                      ? productDetail.iconBlob
-                      : `data:image/png;base64,${productDetail.iconBlob}`
-                  "
-                  alt
-                />
-              </div>
-              <div class="right-desc">
-                <div class="name">
-                  <el-tooltip
-                    class
-                    effect="dark"
-                    :content="productDetail.productName"
-                    placement="right-start"
-                  >
-                    <span>{{ productDetail.productName }}</span>
-                  </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
-                  >
-                </div>
-                <div class="btns">
-                  <el-button
-                    size="small"
-                    type="warning"
-                    v-if="needToUpgradeInWin || productDetail.isUpgrade"
-                    @click="upgradeSDKinWin"
-                  >
-                    {{ 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"
-              ></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" v-if="!showInputCode">绠�浠�</div>
-              <div class="text">
-                <div class="single-desc">
-                  <div>鐗堟湰锛�</div>
-                  <div>
-                    {{
-                      productDetail.productVersion === ""
-                        ? "鏆傛棤"
-                        : productDetail.productVersion
-                    }}
-                  </div>
-                </div>
-                <div class="single-desc">
-                  <div>姒傝堪锛�</div>
-                  <div>
-                    {{
-                      productDetail.description === ""
-                        ? "鏆傛棤"
-                        : productDetail.description
-                    }}
-                  </div>
-                </div>
-                <div class="single-desc">
-                  <div>璇﹁堪锛�</div>
-                  <div>
-                    {{
-                      productDetail.summary === ""
-                        ? "鏆傛棤"
-                        : productDetail.summary
-                    }}
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="box-bottom">
-          <div class="bot-left">
-            <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>
-            </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">
-                  {{
-                    item.productTypeName === ""
-                      ? "鏆傛棤鏁版嵁"
-                      : item.productTypeName
-                  }}
-                </el-tag>
-                <div class="icon">
-                  <img
-                    v-if="item.iconBlob"
-                    class="baseImg"
-                    :src="
-                      item.iconBlob.indexOf(',') > 0
-                        ? item.iconBlob
-                        : `data:image/png;base64,${item.iconBlob}`
-                    "
-                    alt
-                  />
-                  <div class="icon-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="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>
-  </div>
-</template>
-<script>
-import {
-  findAllSdk,
-  downloadSdk,
-  installSdk,
-  getInstallInfo,
-  removeSdk,
-} from "./api";
-import {
-  getApps,
-  installApp,
-  getAppDetail,
-  removeApp,
-  getUnActivedSdk,
-  actPageAlg,
-  getUnActivedApp,
-  actApp,
-} from "@/api/app";
-import { getUrlKey } from "@/api/utils";
-import FileUploader from "@/components/subComponents/FileUpload/index";
-export default {
-  name: "algorithmManage_old",
-  components: {
-    FileUploader,
-  },
-  computed: {
-    updateNum() {
-      return this.hasNewVersionApp.length + this.hasNewVersionSdk.length;
-    },
-    isAdmin() {
-      if (
-        sessionStorage.getItem("userInfo") &&
-        sessionStorage.getItem("userInfo") !== ""
-      ) {
-        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
-        return loginName === "superadmin" || loginName === "basic";
-      }
-
-      return false;
-    },
-  },
-  data() {
-    return {
-      installedList: [],
-      hasNewVersionSdk: [],
-      hasNewVersionApp: [],
-      notInstalledList: [],
-      buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
-      activeName: "myAlgorithm",
-      patchUpdateStatus: "",
-      downloadItem: "",
-      downloading: false,
-      actStep: 0,
-      showActivateSuccess: false,
-      activeCode: "",
-      isInstall: false,
-      installDialogVisible: false,
-      installAppPackage: null,
-      installSdkPackage: null,
-      isActive: true,
-      isDefaultApp: false,
-      unActivedSDKList: [],
-      unActivedAppList: [],
-      isSDKDialog: true,
-      actType: "",
-      actId: "",
-      activedSdkOrApp: {
-        activateCode: "",
-        productName: "",
-        setting: "",
-        expireTime: "",
-        licence: "",
-        devIds: "",
-      },
-      installedApps: [],
-      storeApps: [],
-      installFile: {},
-      appUpgreading: true,
-      sdkUpgreading: true,
-      autoRefresh: true,
-      productDetailVisible: false,
-      isUpgrading: false,
-      productDetail: {},
-      otherProducts: [],
-      backStack: [],
-      forwardStack: [],
-      backDisable: true,
-      forwardDisable: true,
-      showInputCode: false,
-      needToUpgradeInWin: false,
-      showInstallNotActive: false,
-    };
-  },
-  directives: {
-    focus: {
-      inserted: function (el) {
-        el.querySelector("input").focus();
-      },
-    },
-  },
-  mounted() {
-    const name = getUrlKey("activeName");
-    if (name) {
-      this.activeName = name;
-    }
-    this.autoRefreshAppAndSdkState();
-    this.getUnActivedList();
-    this.getUnActivedAppList();
-  },
-  beforeDestroy() {
-    this.autoRefresh = false;
-  },
-  methods: {
-    isShow(authority) {
-      return (
-        this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
-      );
-    },
-    batchUpdate(type) {
-      if (type == "sdk") {
-        this.hasNewVersionSdk.forEach((sdk) => {
-          this.donwload(sdk, 0);
-        });
-      } else {
-        this.hasNewVersionApp.forEach((app) => {
-          this.downloadApp(app, "upgrade");
-        });
-      }
-    },
-    closeDial() {
-      this.productDetailVisible = false;
-      this.productDetail = {};
-      this.otherProducts = [];
-    },
-    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") {
-        debugger;
-        this.showInputCode = false;
-        this.isActive = false;
-        this.showInstallNotActive = true;
-      }
-      this.checkIsDefOrNot(item.id);
-      this.needToUpgradeInWin = item.isUpgrade ? true : false;
-      this.resetStack();
-      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.productDetail.isUpgrade = item.isUpgrade;
-        _this.productDetail.iconBlob = item.iconBlob;
-
-        _this.otherProducts = res.data.randoms;
-      });
-    },
-    resetStack() {
-      this.forwardStack = [];
-      this.backStack = [];
-      this.backDisable = true;
-      this.forwardDisable = true;
-    },
-    checkInWindow(item) {
-      this.backStack.push([this.productDetail, this.otherProducts]);
-      this.backDisable = false;
-      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;
-      });
-    },
-    checkIsDefOrNot(id) {
-      if (id.length > 10) {
-        this.isDefaultApp = false;
-      } else {
-        this.isDefaultApp = true;
-      }
-    },
-    backwards() {
-      if (this.backStack.length == 0) {
-        this.backDisable = true;
-        return;
-      }
-      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() {
-      this.installDialogVisible = false;
-      this.isInstall = true;
-      //瀹夎
-      installSdk(this.installFile)
-        .then((res) => {
-          if (res.success) {
-            this.isInstall = false;
-            this.$message({
-              type: "success",
-              message: "瀹夎鎴愬姛,灏嗚烦杞嚦鈥滃凡婵�娲烩�濅腑鏌ョ湅",
-            });
-            setTimeout(() => {
-              this.getAllSdk();
-              window.parent.postMessage(
-                {
-                  msg: "AppUpdate",
-                },
-                "*"
-              );
-              this.activeName = "myAlgorithm";
-            }, 3000);
-          }
-        })
-        .catch((e) => {
-          this.isInstall = false;
-          this.$message({
-            type: "error",
-            message: e.data,
-          });
-        });
-    },
-    downloadApp(app, action) {
-      if (action == "upgrade") {
-        app.upgradeLoading = true;
-      } else {
-        app.installLoading = true;
-      }
-      let _this = this;
-
-      installApp({ path: app.id })
-        .then((res) => {
-          if (res && res.success) {
-            _this.$notify({
-              title: "鎴愬姛",
-              message: "瀹夎搴旂敤鎴愬姛",
-              type: "success",
-            });
-            setTimeout(() => {
-              if (action == "upgrade") {
-                app.upgradeLoading = false;
-              } else {
-                app.installLoading = false;
-              }
-              window.parent.postMessage(
-                {
-                  msg: "AppUpdate",
-                },
-                "*"
-              );
-            }, 3000);
-          } else {
-          }
-        })
-        .catch((e) => {
-          _this.$notify({
-            title: "瀹夎澶辫触",
-            message: e.data,
-            type: "warning",
-          });
-          if (action == "upgrade") {
-            app.upgradeLoading = false;
-          } else {
-            app.installLoading = false;
-          }
-        });
-
-      // 寮�鍚嚜鍔ㄥ埛鏂�
-      this.appUpgreading = true;
-    },
-    async getAllApps() {
-      let iArry = [];
-      let sArry = [];
-      let nArry = [];
-      let rsp = await getApps();
-      if (rsp && rsp.success) {
-        // 閬嶅巻app鐨勮繃绋嬮噸缃�
-        this.appUpgreading = false;
-
-        rsp.data.forEach((item) => {
-          let obj = Object.assign(
-            { unloadLoading: false, upgradeLoading: false },
-            item
-          );
-          if (obj.progressMsg !== "" && obj.progressMsg !== "宸插畨瑁�") {
-            obj.upgradeLoading = true;
-
-            this.appUpgreading = true;
-          }
-
-          if (obj.upgradeDone) {
-            this.$notify({
-              type: "success",
-              message: 1 ? "绠楁硶瀹夎鎴愬姛" : "绠楁硶鍗囩骇鎴愬姛",
-            });
-          }
-
-          item.installed ? iArry.push(obj) : sArry.push(obj);
-          item.isUpgrade && nArry.push(obj);
-        });
-      }
-      this.installedApps = iArry;
-      this.storeApps = sArry;
-      this.hasNewVersionApp = nArry;
-    },
-    unLoad(app) {
-      let _this = this;
-      this.$confirm("纭畾瑕佸嵏杞借搴旂敤鍚�?", "鎻愮ず")
-        .then(() => {
-          _this.productDetailVisible = false;
-
-          app.unloadLoading = true;
-          removeApp({ appId: app.id })
-            .then((res) => {
-              if (res && res.success) {
-                app.unloadLoading = false;
-                _this.getAllApps();
-                window.parent.postMessage(
-                  {
-                    msg: "AppUpdate",
-                  },
-                  "*"
-                );
-                _this.$notify({
-                  title: "鎴愬姛",
-                  message: "鍗歌浇搴旂敤鎴愬姛",
-                  type: "success",
-                });
-              }
-            })
-            .catch((e) => {
-              app.unloadLoading = false;
-            });
-        })
-        .catch((e) => {});
-    },
-
-    actSdkOrApp(item, type = "sdk") {
-      this.checkDetail(item, "inactive");
-      this.actType = type;
-      this.actId = item.id;
-      this.actStep = 0;
-      this.activeCode = "";
-      this.activedSdkOrApp = this.newActInfo();
-    },
-    cancelActivate() {
-      this.showInputCode = false;
-      this.activeCode = "";
-    },
-    newActInfo() {
-      return {
-        activateCode: "",
-        productName: "",
-        setting: "",
-        expireTime: "",
-        licence: "",
-        devIds: "",
-      };
-    },
-    getUnActivedList() {
-      getUnActivedSdk().then((res) => {
-        if (res.code == 200) {
-          this.unActivedSDKList = res.data;
-        }
-      });
-    },
-    getUnActivedAppList() {
-      getUnActivedApp().then((res) => {
-        if (res.code == 200) {
-          this.unActivedAppList = res.data;
-        }
-      });
-    },
-    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();
-            } else {
-              _this.$notify({
-                type: "error",
-                message: res.data.failMsg.failMsg,
-              });
-            }
-          })
-          .catch((e) => {
-            console.log(e);
-          });
-      } else if (this.actType == "app") {
-        //婵�娲诲簲鐢�
-        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();
-            } else {
-              _this.$notify({
-                type: "error",
-                message: res.data.failMsg.failMsg,
-              });
-            }
-          })
-          .catch((e) => {
-            console.log(e);
-          });
-      }
-    },
-    checkMyAlgorith() {
-      this.showActivateSuccess = false;
-      this.activeName = "myAlgorithm";
-    },
-    onFileUpload(file) {
-      this.patchFile = { ...file };
-      this.fileAdded = true;
-      const h = this.$createElement;
-      //涓婁紶瀹屾垚鑾峰彇瀹夎淇℃伅
-      let _this = this;
-      getInstallInfo(file)
-        .then((res) => {
-          _this.installFile = file;
-          if (res.success) {
-            _this.installDialogVisible = true;
-            if (res.data.apps.length > 0) {
-              _this.installAppPackage = {
-                appId: res.data.apps[0].appId,
-                version: res.data.apps[0].version,
-                productName: res.data.productName,
-                installContent: res.data.apps[0].installContent,
-              };
-            }
-            if (res.data.sdks.length > 0) {
-              _this.installSdkPackage = {
-                appId: res.data.sdks[0].sdkId,
-                version: res.data.sdks[0].version,
-                productName: res.data.productName,
-                installContent: res.data.sdks[0].installContent,
-              };
-            }
-          } else {
-            this.$message({
-              type: "error",
-              message: res.msg,
-            });
-          }
-        })
-        .catch((e) => {
-          this.$message({
-            type: "error",
-            message: e.msg,
-          });
-        });
-    },
-    openApp() {
-      let message = "toOpenApp?" + this.productDetail.productBaseId;
-      window.parent.postMessage(
-        {
-          msg: message,
-        },
-        "*"
-      );
-    },
-    onFileAdded(f) {
-      this.patchUpdateStatus = "";
-    },
-    async getAllSdk() {
-      let installedList = [];
-      let unInstalledList = [];
-      let hasNewVersionList = [];
-      let res = await findAllSdk();
-      if (res && res.success) {
-        this.sdkUpgreading = false;
-
-        res.data.forEach((item) => {
-          let obj = Object.assign(
-            { unloadLoading: false, upgradeLoading: false },
-            item
-          );
-          if (obj.progressMsg !== "" && obj.progressMsg !== "宸插畨瑁�") {
-            obj.upgradeLoading = true;
-
-            this.sdkUpgreading = true;
-          }
-
-          //绠楁硶杞欢 宸插畨瑁呭叾涓寘鍚緟鍗囩骇 鏈畨瑁�
-          item.installed ? installedList.push(obj) : unInstalledList.push(obj);
-          item.isUpgrade ? hasNewVersionList.push(obj) : null;
-        });
-      }
-      this.installedList = installedList;
-      this.notInstalledList = unInstalledList;
-      this.hasNewVersionSdk = hasNewVersionList;
-    },
-    unloadSDKinWin() {
-      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) => {
-              sdk.unloadLoading = false;
-            });
-        })
-        .catch((e) => {});
-    },
-    upgradeSDKinWin() {
-      this.isUpgrading = !this.isUpgrading;
-      let _this = this;
-      if (this.productDetail.productTypeName == "搴旂敤") {
-        debugger;
-        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 {
-        debugger;
-        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.downloadItem = item.id;
-      downloadSdk({ path: item.id })
-        .then((rsp) => {
-          item.upgradeLoading = false;
-          this.downloadItem = "";
-          window.parent.postMessage(
-            {
-              msg: "AppUpdate",
-            },
-            "*"
-          );
-        })
-        .catch((err) => {
-          this.$notify({
-            type: "warning",
-            message: err.data,
-          });
-          item.upgradeLoading = false;
-          this.downloadItem = "";
-        });
-      // 寮�鍚嚜鍔ㄥ埛鏂�
-      this.sdkUpgreading = true;
-    },
-    inputBlur(item) {
-      this.$set(item, "isEdit", false);
-    },
-    autoRefreshAppAndSdkState() {
-      // 鍏抽棴鍚庨��鍑�
-      if (!this.autoRefresh) {
-        return;
-      }
-      if (this.appUpgreading) {
-        this.getAllApps();
-      }
-      if (this.sdkUpgreading) {
-        this.getAllSdk();
-      }
-      let _this = this;
-      setTimeout(() => {
-        _this.autoRefreshAppAndSdkState();
-      }, 500);
-    },
-  },
-};
-</script>
-<style lang="scss">
-.s-task-manage {
-  width: 100% !important;
-  height: 100%;
-  box-sizing: border-box;
-  text-align: left;
-  min-width: 1106px;
-background-color: #fff;
-  .el-tabs {
-    height: calc(100% - 50px);
-  }
-  .el-tabs--border-card > .el-tabs__header {
-    border: none;
-  }
-  .el-tabs__item.is-top {
-    height: 50px;
-    padding: 5px 50px !important;
-    font-size: 15px;
-    border: none !important;
-  }
-  .el-tabs__item.is-top.is-active {
-    font-weight: bold;
-  }
-  .el-tabs__content {
-    width: 100%;
-    height: calc(100% - 34px);
-    box-sizing: border-box;
-  }
-  .el-tab-pane {
-    width: 100%;
-    height: 100%;
-  }
-  .product-detail-dialog {
-    .dialog-title {
-      font-size: 13px;
-    }
-    .el-dialog {
-      width: 50%;
-      min-width: 920px;
-      position: relative;
-    }
-    .el-dialog__header {
-      text-align: center;
-      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: 8px 3px;
-      .button-group {
-        position: absolute;
-        top: 3px;
-
-        left: 6px;
-        left: 10px;
-        .el-button--small {
-          padding: 5px 12px;
-        }
-        button {
-          font-size: 18px;
-          line-height: 12px;
-        }
-      }
-    }
-
-    .dialog-content {
-      .box-top {
-        height: 330px;
-        .top-left {
-          float: left;
-          width: 55%;
-          background-color: rgba(253, 253, 253, 1);
-          margin: 0 0.5%;
-          height: 330px;
-          border-radius: 2px;
-          .banner {
-            text-align: center;
-            margin-top: 3px;
-            video {
-              margin: 0px auto;
-              margin-top: 23px;
-
-              width: 443px;
-              height: 277px;
-            }
-            img {
-              max-width: 90%;
-              margin-top: 28px;
-            }
-          }
-        }
-        .top-right {
-          float: left;
-          width: 43%;
-          margin: 0 0.5%;
-          height: 330px;
-          background-color: rgba(253, 253, 253, 1);
-          position: relative;
-          border-radius: 2px;
-          overflow: hidden;
-          .summary {
-            height: 120px;
-            margin: 5px 5px 0 5px;
-            .icon {
-              margin: 0 10px;
-              margin-top: 8px;
-              float: left;
-              .baseImg {
-                max-width: 106px;
-                max-height: 106px;
-              }
-            }
-
-            .right-desc {
-              float: left;
-              position: absolute;
-              left: 140px;
-              .name {
-                font-size: 28px;
-
-                margin-bottom: 5px;
-                text-overflow: ellipsis;
-                white-space: nowrap;
-                overflow: hidden;
-                width: 250px;
-              }
-              .tags {
-                margin-bottom: 10px;
-                .el-tag {
-                  margin-right: 10px;
-                }
-              }
-            }
-          }
-          .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: 200px;
-            margin-top: 3px;
-
-            .part-title {
-              display: block;
-              line-height: 20px;
-
-              font-size: 16px;
-              margin-left: 24px;
-              border-bottom: 3px solid #3d68e1;
-              width: fit-content;
-              height: 26px;
-              margin-bottom: 8px;
-            }
-            .text {
-              height: 156px;
-              overflow: auto;
-              padding: 0 15px 0px 15px;
-
-              .single-desc {
-                margin-bottom: 10px;
-                font-size: 13px;
-              }
-            }
-          }
-        }
-      }
-      .box-bottom {
-        margin-top: 8px;
-
-        height: 240px;
-        .bot-left {
-          width: 49%;
-          height: 240px;
-          background-color: rgba(253, 253, 253, 1);
-          margin: 0 0.5%;
-          border-radius: 2px;
-          float: left;
-          .part-title {
-            display: block;
-            line-height: 35px;
-            font-size: 16px;
-            margin-left: 24px;
-            border-bottom: 3px solid #3d68e1;
-            width: fit-content;
-            margin-bottom: 10px;
-
-            height: 33px;
-          }
-          .list-zone {
-            overflow: auto;
-            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: 240px;
-          float: left;
-          background-color: rgba(253, 253, 253, 1);
-          width: 49%;
-          margin: 0 0.5%;
-          border-radius: 2px;
-
-          .part-title {
-            display: block;
-            line-height: 35px;
-            font-size: 16px;
-            margin-left: 24px;
-            border-bottom: 3px solid #3d68e1;
-            width: fit-content;
-            margin-bottom: 5px;
-            height: 33px;
-          }
-          .item-zone {
-            overflow: auto;
-            height: 225px;
-            padding: 0px 12px;
-
-            .item {
-              height: 165px;
-              width: 130px;
-              float: left;
-              border-radius: 10px;
-              box-shadow: 0px 5px 14px rgba(0, 0, 0, 0.0666666666666667);
-              position: relative;
-
-              .el-tag {
-                float: right;
-                margin: 8px;
-              }
-              .icon {
-                margin: 0 auto;
-                img {
-                  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: 30%;
-
-                top: 76%;
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
-.flex-title {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.el-loading-mask .el-loading-spinner {
-  top: 40px !important;
-}
-.el-loading-mask .el-loading-spinner svg {
-  transform: none !important;
-  top: 20px !important;
-  left: 40% !important;
-}
-.el-loading-mask .el-loading-spinner p.el-loading-text {
-  display: block !important;
-  text-align: center !important;
-  bottom: 10px !important;
-  top: 80px !important;
-  right: 0 !important;
-  color: #78adf7;
-}
-.el-loading-mask .el-loading-spinner .path {
-  stroke: #78adf7;
-}
-.installInfo {
-  text-indent: 2em;
-  font-size: 14px;
-  line-height: 26px;
-  p {
-    text-align: center;
-  }
-}
-.src-title {
-  color: #bbcee8;
-  font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC";
-  font-weight: 650;
-  font-style: normal;
-  height: 36px;
-  font-size: 15px;
-  padding-left: 25px;
-}
-.update-badge .el-badge__content.is-fixed {
-  top: 10px;
-  right: 4px;
-}
-.empty-tip {
-  padding-left: 25px;
-  color: #ccc;
-  margin-bottom: 18%;
-}
-.task-manage {
-  height: 100%;
-  .installModel {
-    width: 100%;
-    height: 100%;
-    background-color: rgba(0, 0, 0, 0.7);
-    position: fixed;
-    top: 0;
-    left: 0;
-    z-index: 100;
-    .progress-bar {
-      width: 70%;
-      height: 17px;
-      border-radius: 3px;
-      background-color: rgb(227, 229, 231);
-      position: absolute;
-      top: 50%;
-      left: 50%;
-      background: url("/images/algo/green.gif");
-      overflow: hidden;
-      transform: translate(-50%, -50%);
-      .inner-bar {
-        position: absolute;
-        top: 0;
-        left: 0;
-        width: 0;
-        height: 100%;
-        transition: width 3s;
-        background-color: #3d68e1;
-      }
-    }
-  }
-  .el-tab-pane {
-    height: auto !important;
-  }
-  .el-tabs--border-card > .el-tabs__content {
-    padding: 0 !important;
-    overflow: auto !important;
-    background-color: #fff;
-  }
-  .el-tabs__content {
-    padding: 0 !important;
-    overflow: auto !important;
-  }
-
-  .super {
-    width: 100%;
-    height: 100%;
-    .title {
-      margin-bottom: 10px;
-      line-height: 30px;
-      font-family: PingFangSC-Medium;
-      font-size: 16px;
-      color: #222222;
-    }
-    .left-box {
-      height: 100%;
-      box-sizing: border-box;
-      .el-drawer__header {
-        border-bottom: 2px solid #eee;
-        padding-bottom: 10px;
-        font-size: 16px;
-        margin-bottom: 0px;
-        span {
-          outline: none !important;
-        }
-      }
-      .action-bar {
-        margin-bottom: 30px;
-        .el-input {
-          width: 100%;
-        }
-      }
-      .task-list {
-        background: #fff;
-        padding: 20px;
-        box-sizing: border-box;
-
-        .flex-list {
-          display: flex;
-          flex-direction: row;
-          flex-wrap: wrap;
-          min-height: 200px;
-          .wrap-box {
-            width: 11%;
-          }
-          .list-choose-item-left {
-            width: 80%;
-            height: auto;
-            margin: auto;
-            margin-bottom: 30px;
-            max-width: 150px;
-            .mask {
-              width: 100%;
-
-              .el-button + .el-button {
-                margin-left: 0 !important;
-              }
-            }
-          }
-        }
-      }
-      .store-list,
-      .app-list {
-        display: flex;
-        flex-wrap: wrap;
-        .wrap-box {
-          width: 11%;
-          margin-bottom: 30px;
-          .list-choose-item-left {
-            width: 80%;
-            height: auto;
-            margin: auto;
-            margin-bottom: 30px;
-            max-width: 150px;
-          }
-          .inner {
-            width: 80%;
-            box-sizing: border-box;
-            position: relative;
-            font-size: 14px;
-            padding-bottom: 10px;
-            transition: all 1s;
-            background: #ffffff;
-            border: 1px solid #e2e2e2;
-            box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07);
-            border-radius: 4px;
-            margin: auto;
-            .alg-icon {
-              position: relative;
-              width: 80%;
-              margin: auto;
-              padding-top: 80%;
-              svg {
-                position: absolute;
-                top: 50%;
-                left: 50%;
-                transform: translate(-50%, -50%);
-              }
-            }
-            .alg-name {
-              height: 20px;
-              text-align: center;
-              line-height: 20px;
-            }
-            .mask {
-              position: absolute;
-              top: 0;
-              left: 0;
-              width: 100%;
-              height: 100%;
-              background: rgba(0, 0, 0, 0.65);
-              backdrop-filter: blur(1px) brightness(100%);
-              text-align: center;
-              z-index: 1;
-              border-radius: 3px;
-              display: none;
-              svg {
-                position: absolute;
-                top: 49%;
-                left: 50%;
-                transform: translate(-50%, -50%);
-                z-index: 33;
-              }
-            }
-            &:hover {
-              .mask {
-                display: block;
-              }
-            }
-          }
-        }
-      }
-      .drawer-content {
-        font-family: "PingFangSC-Regular";
-        .el-step__title.is-process {
-          border-color: #3d68e1 !important;
-          color: #3d68e1 !important;
-          font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif;
-        }
-        .el-step__head.is-process {
-          border-color: #3d68e1 !important;
-          color: #3d68e1 !important;
-          font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif;
-        }
-        .el-input {
-          width: 100%;
-          margin-bottom: 30px;
-        }
-        .current-step {
-          margin: 40px 30px 30px;
-        }
-        .act-code {
-          padding: 0 30px;
-          p {
-            font-size: 15px;
-            margin-bottom: 16px;
-          }
-        }
-        .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;
-          }
-        }
-      }
-      .tab-content {
-        padding: 20px 20px;
-      }
-    }
-    .mask {
-      position: absolute;
-      width: 100%;
-      height: 100%;
-      background: rgba(0, 0, 0, 0.65);
-      backdrop-filter: blur(1px) brightness(100%);
-      text-align: center;
-      z-index: 1;
-      border-radius: 3px;
-      display: none;
-      .info-onmask {
-        color: #fff;
-      }
-      .left-top {
-        position: absolute;
-        left: 5px;
-        top: 5px;
-        font-size: 12px;
-        color: #90d6ff;
-      }
-      .mask-btn {
-        width: 100%;
-        display: flex;
-      }
-      i {
-        color: #fff;
-        position: relative;
-        top: 40%;
-        display: contents;
-      }
-      i:hover {
-        color: rgba(255, 255, 255, 0.685);
-      }
-    }
-
-    .text-css {
-      width: 100%;
-      overflow: hidden;
-      text-overflow: ellipsis;
-    }
-    .move-hear {
-      margin: 10px 0 0 0;
-      font-size: 5rem;
-    }
-    .list-choose-item {
-      cursor: pointer;
-      position: relative;
-      font-size: 14px;
-      display: inline-block;
-      @media screen and(min-width: 1640px) {
-        margin: 30px 20px 20px 20px;
-      }
-      @media screen and(min-width: 1460px) and(max-width: 1640px) {
-        margin: 30px 20px 20px 10px;
-      }
-      @media screen and(max-width: 1460px) {
-        margin: 30px 10px 20px 10px;
-      }
-      min-width: 126px;
-      height: 120px;
-      transition: all 1s;
-      background: #fff;
-      border: 1px solid #e2e2e2;
-      box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07);
-      border-radius: 4px;
-    }
-    .list-choose-item:hover {
-      .mask {
-        display: block;
-      }
-    }
-
-    .alg-shadow {
-      -webkit-box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.3);
-      -moz-box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.3);
-      box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.3);
-    }
-    .select-color {
-      margin-top: 16px;
-      text-align: center;
-      line-height: 28px;
-    }
-    .list-choose-item-left {
-      cursor: pointer;
-      position: relative;
-      font-size: 14px;
-
-      transition: all 1s;
-      border-radius: 4px;
-      p {
-        display: none;
-        text-align: right;
-        width: 100%;
-        position: absolute;
-        right: 10px;
-        top: 5px;
-      }
-      .click-download {
-        position: absolute;
-        left: 80%;
-        top: 5%;
-      }
-    }
-    .list-choose-item-left:hover {
-      .mask {
-        display: flex;
-        align-items: flex-end;
-        flex-wrap: wrap;
-        justify-content: center;
-        top: 0;
-
-        .bot-btn {
-          flex: 1;
-        }
-        &.flex-center {
-          align-items: center;
-          justify-content: center;
-        }
-      }
-    }
-    .list-choose-item-left-uninstal {
-      color: gray;
-      filter: grayscale(100%);
-    }
-    .list-complete-item.sortable-chosen {
-      background: #4ab7bd;
-    }
-    .list-choose-item.sortable-ghost {
-      background: #30b08f;
-    }
-    .width-new-line {
-      word-wrap: break-word;
-      word-break: break-all;
-    }
-    .dndList-list {
-      max-width: 40%;
-    }
-    .dic-border {
-      width: 98%;
-      min-height: 170px;
-      background: #fff;
-      padding: 10px 10px 10px 20px;
-    }
-    .min-h {
-      min-height: 130px;
-    }
-    .parent-div {
-      border-right: 1px solid rgba(24, 28, 33, 0.5);
-      max-width: 140px;
-      position: relative;
-    }
-    .list-choose-header {
-      position: relative;
-      width: 74px;
-      height: 74px;
-      background-image: linear-gradient(-137deg, #7076f2 0%, #3d63e1 100%);
-      box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07);
-      border-radius: 37px;
-      margin: 10px 25px;
-    }
-
-    .task-name-div {
-      font-family: PingFangSC-Medium;
-      font-size: 15px;
-      color: #4b68e6;
-      text-align: center;
-      margin-top: 6px;
-      max-width: 120px;
-      overflow: hidden;
-      text-overflow: ellipsis;
-      white-space: nowrap;
-    }
-    .border-dash {
-      height: 30px;
-      width: 96%;
-      margin-bottom: 10px;
-      border: 1px dashed rgba(24, 28, 33, 0.5);
-    }
-    .i-setting {
-      position: absolute;
-      font-size: 28px;
-      margin-top: -25px;
-      margin-left: -30px;
-    }
-    .i-delete {
-      position: absolute;
-      font-size: 28px;
-      margin-top: -25px;
-      margin-left: -8px;
-      color: red;
-    }
-    .i-bell {
-      float: left;
-      position: relative;
-      left: 10px;
-      top: 10px;
-      font-size: 24px;
-      color: red;
-    }
-    .task-msg {
-      padding-left: 10px;
-    }
-    .b-top {
-      width: 100%;
-      padding-top: 10px;
-    }
-    .b-bottom {
-      width: 100%;
-      border-bottom: 1px solid rgba(24, 28, 33, 0.5);
-    }
-    .i-set-right {
-      position: absolute;
-      left: 80px;
-      top: -11px;
-      font-size: 24px;
-    }
-    .i-remove-right {
-      position: absolute;
-      right: -1px;
-      top: -11px;
-      font-size: 24px;
-      color: red;
-    }
-    .alg-t {
-      line-height: 31px;
-      font-family: PingFangSC-Medium;
-      font-size: 14px;
-      color: #222222;
-    }
-    .alg-name {
-      line-height: 20px;
-      font-family: PingFangSC-Regular;
-      font-size: 14px;
-      letter-spacing: 0.05em;
-      color: #333;
-      .el-input {
-        position: relative;
-        font-size: 14px;
-        display: inline-block;
-        width: 100%;
-      }
-    }
-    .unit-class {
-      margin-left: 10px;
-      text-align: center;
-      line-height: 38px;
-    }
-    .el-input {
-      position: relative;
-      font-size: 14px;
-      display: inline-block;
-      width: 80%;
-    }
-    .list-complete-item-handle {
-      height: 100%;
-      text-align: center;
-      .svg-wrap {
-        width: 100%;
-        margin: auto;
-        padding-top: 80%;
-        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%;
-          left: 50%;
-          transform: translate(-50%, -50%);
-        }
-        .baseImg {
-          width: 100%;
-          position: absolute;
-          top: 50%;
-          left: 50%;
-          transform: translate(-50%, -50%);
-          max-height: 150px;
-        }
-      }
-      .willUpGrade {
-        .update-icon {
-          position: absolute;
-          top: -8px;
-          right: -8px;
-          z-index: 999;
-        }
-        .iconupdate {
-          color: #01e667;
-          position: absolute;
-          top: 5px;
-          right: 5px;
-          font-weight: 550;
-          font-size: 26px;
-          z-index: 999;
-        }
-      }
-      &.uninstall {
-        .svg-wrap {
-          filter: grayscale(100%);
-        }
-        .alg-name {
-          color: grey;
-        }
-      }
-    }
-    .dragAreaR {
-      height: 100%;
-    }
-    .drag-info {
-      min-width: 126px;
-      height: 120px;
-      border: 1px dashed #3d68e1;
-      box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07);
-      border-radius: 4px;
-      margin: 30px 10px 20px 10px;
-    }
-    .drag-info-text {
-      letter-spacing: 3px;
-      line-height: 20px;
-      width: 80px;
-      height: 42px;
-      font-family: PingFangSC-Regular;
-      font-size: 13px;
-      color: #3d68e1;
-      text-align: center;
-    }
-    .task-edit {
-      font-size: 26px;
-      position: relative;
-      bottom: -6px;
-    }
-    .el-button--cancle {
-      background: #eaeaea;
-      border-radius: 2px;
-      border-color: #eaeaea;
-      font-family: PingFangSC-Medium;
-      font-size: 13px;
-      color: #222222;
-      margin-right: 12px;
-    }
-    .click-changeImg {
-      cursor: pointer;
-      display: none;
-      background: rgba(0, 0, 0, 0.35);
-      width: 74px;
-      line-height: 20px;
-      color: rgb(255, 255, 255);
-      font-size: 14px;
-      opacity: 1;
-      border-radius: 6px;
-    }
-
-    .task-name-google {
-      position: relative;
-      top: 30px;
-      width: 126px;
-      height: 120px;
-      border: 1px solid #fff;
-      background: #fff;
-      border-radius: 4px;
-      cursor: pointer;
-      .set-task {
-        display: none;
-        cursor: pointer;
-      }
-
-      .el-switch__core {
-        width: 27px !important;
-        height: 14px;
-      }
-      .el-switch__core:after {
-        width: 10px;
-        height: 10px;
-      }
-      .el-switch.is-checked .el-switch__core::after {
-        left: 100%;
-        margin-left: -11px;
-      }
-    }
-    .task-name-google:hover {
-      .mask {
-        display: block;
-      }
-    }
-  }
-}
-.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>
-
diff --git a/src/pages/ai_c/index/api.ts b/src/pages/ai_c/index/api.ts
deleted file mode 100644
index 7232d34..0000000
--- a/src/pages/ai_c/index/api.ts
+++ /dev/null
@@ -1,161 +0,0 @@
-import request from '@/scripts/httpRequest'
-import qs from "qs";
-
-// 鏌ヨ鎵�鏈夌畻娉�
-export const findAllSdk = (query: any) => {
-  return request({
-    url: "/data/api-v/sdk/findAllSdk",
-    method: "get",
-    params: query
-  });
-};
-
-// 鏌ユ壘鎵�鏈変换鍔★紝鍖呭惈浠诲姟淇℃伅鍜屽搴旂殑绠楁硶淇℃伅
-export const findAll = (query: any) => {
-  return request({
-    url: "/data/api-v/task/findAll",
-    method: "get",
-    params: query
-  });
-};
-
-// 缁欎换鍔℃坊鍔犵畻娉�
-export const addTaskSdk = (query: any) => {
-  return request({
-    url: "/data/api-v/task/addTaskSdk",
-    method: "post",
-    data: query
-  })
-}
-
-// 缁欎换鍔″垹闄ょ畻娉�
-export const delTaskSdk = (query: any) => {
-  return request({
-    url: "/data/api-v/task/delTaskSdk",
-    method: 'get',
-    params: query
-  })
-}
-
-// 鍒犻櫎浠诲姟
-export const deleteTask = (query: any) => {
-  return request({
-    url: '/data/api-v/task/delete',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鏇存柊浠诲姟鐘舵��
-export const updateTaskStatus = (query: any) => {
-  return request({
-    url: '/data/api-v/task/updateTaskStatus',
-    method: 'post',
-    data: query
-  })
-}
-
-// 鏇存柊浠诲姟鍚嶇О
-export const updateTaskName = (query: any) => {
-  return request({
-    url: '/data/api-v/task/updateTaskName',
-    method: 'post',
-    data: qs.stringify(query)
-  })
-}
-
-// 鑾峰彇绠楁硶鍙傛暟
-export const getSdkArgs = (query: any) => {
-  return request({
-    url: '/data/api-v/sdkArg/getSdkArgs',
-    method: 'get',
-    params: query
-  })
-}
-
-// 绠楁硶鍙傛暟淇濆瓨
-export const saveTaskSdkRule = (query: any) => {
-  return request({
-    url: '/data/api-v/task/saveTaskSdkRule',
-    method: 'post',
-    data: query
-  })
-}
-
-// 娣诲姞浠诲姟
-export const addTask = (query: any) => {
-  return request({
-    url: '/data/api-v/task/addTask',
-    method: 'post',
-    data: query
-  })
-}
-
-// 鏌ヨ绠楁硶瑙勫垯
-export const getRulesByTaskSdk = (query: any) => {
-  return request({
-    url: '/data/api-v/task/getRulesByTaskSdk',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鎭㈠榛樿
-export const deleteTaskSdkRule = (query: any) => {
-  return request({
-    url: '/data/api-v/task/deleteTaskSdkRule',
-    method: 'post',
-    data: qs.stringify(query)
-  })
-}
-
-// 鏍规嵁绫诲瀷鏌ユ壘瀛楀吀
-export const findByType = (query: any) => {
-  return request({
-    url: '/data/api-v/dictionary/findByType',
-    method: "get",
-    params: query
-  })
-}
-
-// 鏌ヨ妫�绱㈡爣绛�
-export const getTagList = (query: any) => {
-  return request({
-    url: '/data/api-v/es/tagList',
-    method: 'post',
-    data: query
-  })
-}
-//瀹夎绠楁硶
-export const downloadSdk = (query: any) => {
-  return request({
-    url: '/data/api-v/sdk/sdkDownload',
-    method: 'get',
-    params: query
-  })
-}
-//涓婁紶瀹屾垚鑾峰彇瀹夎淇℃伅
-export const getInstallInfo = (data: any) => {
-  return request({
-    url: '/data/api-v/sdk/showInstallInfo',
-    method: 'post',
-    params: data
-  })
-}
-//瀹夎宸蹭笂浼犵殑绠楁硶鎺ュ彛
-export const installSdk = (file: any) => {
-  return request({
-    url: '/data/api-v/sdk/install',
-    method: 'post',
-    params: file
-  })
-}
-
-//鍗歌浇宸插畨瑁呯畻娉�
-export const removeSdk = (sdk: any) => {
-  return request({
-    url: '/data/api-v/sdk/unInstall',
-    method: 'post',
-    data: sdk
-  })
-}
\ No newline at end of file
diff --git a/src/pages/ai_c/index/main.ts b/src/pages/ai_c/index/main.ts
deleted file mode 100644
index 8ddab5a..0000000
--- a/src/pages/ai_c/index/main.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import Vue from 'vue';
-import App from './App.vue';
-
-import ElementUI from 'element-ui';
-import 'element-ui/lib/theme-chalk/index.css';
-import "@/assets/css/element-variables.scss";
-Vue.use(ElementUI)
-
-new Vue({
-  el: '#app',
-  render: h => h(App)
-})
diff --git a/src/pages/library/components/addBase.vue b/src/pages/library/components/addBase.vue
index d27669c..f8d8635 100644
--- a/src/pages/library/components/addBase.vue
+++ b/src/pages/library/components/addBase.vue
@@ -424,11 +424,9 @@
       // dateString:褰撳墠鏃堕棿
       // compareDateString:闇�瑕佹瘮杈冪殑鏃堕棿
       if (this.isEmpty(dateString)) {
-        // alert('dateString涓嶈兘涓虹┖')
         return;
       }
       if (this.isEmpty(compareDateString)) {
-        // alert('compareDateString涓嶈兘涓虹┖')
         return 1;
       }
       var dateTime = this.dateParse(dateString).getTime();
diff --git a/src/pages/library/components/baseList.vue b/src/pages/library/components/baseList.vue
index 66c485b..d834691 100644
--- a/src/pages/library/components/baseList.vue
+++ b/src/pages/library/components/baseList.vue
@@ -205,85 +205,14 @@
       this.localTableList = this.BaseManageData.localTables;
       this.defaultShow();
     },
-    handleChange(val) {},
-    async setEnable(item) {
-      let res = await updateDbTableStatus({
-        id: item.id,
-        enable: item.enable,
-      });
-      if (res.success === true) {
-        this.$notify({
-          type: "success",
-          message: "搴曞簱鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
-        });
-      } else {
-        this.$notify({
-          type: "error",
-          message: "搴曞簱鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒",
-        });
-      }
-    },
     add(type) {
       this.$emit("changeShow", null, type);
-    },
-    isDisabled(item) {
-      var flag = true;
-      if (this.isShow("library:set")) {
-        if (item.endTime == "") {
-          flag = false;
-        } else {
-          flag = !this.$moment(new Date()).isBetween(
-            item.startTime,
-            item.endTime
-          );
-        }
-      }
-      return flag;
     },
     clickCategory(index, type, item) {
       this.categoryIndex = type + index;
       // 璋冪敤鍒囨崲鍙充晶闈㈡澘鐨勫嚱鏁板苟涓斿垏鎹㈢埗缁勪欢涓璱sSelected鐨勫�艰鍙︿竴涓粍浠舵竻闄よ閫変腑鐘舵��
       this.clickBase = item;
       this.$emit("getList", item, type);
-    },
-    edit(item, type) {
-      this.$emit("changeShow", item, type);
-    },
-    deleteBase(id) {
-      let token =
-        sessionStorage.getItem("loginedInfo") &&
-        JSON.parse(sessionStorage.getItem("loginedInfo")).access_token;
-      this.$confirm("鎻愮ず锛氱‘瀹氬垹闄ゅ簳搴擄紵", {
-        center: true,
-        cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
-      }).then(() => {
-        fetch(`/data/api-v/dbtable/deleteDBtablesById?id=${id}`, {
-          method: "GET",
-          headers: {
-            "Content-Type": "application/json",
-            Authorization: token,
-          },
-        })
-          .then((res) => {
-            return res.json();
-          })
-          .then((res) => {
-            if (res.success) {
-              this.$notify({
-                type: "success",
-                message: "搴曞簱鍒犻櫎鎴愬姛锛�",
-              });
-            }
-            this.init();
-          })
-          .catch((err) => {
-            this.$notify({
-              type: "error",
-              message: err,
-            });
-          });
-      });
     },
     // 榛樿鏄剧ず绗竴涓簱鐨勬暟鎹�
     defaultShow() {
@@ -317,25 +246,25 @@
         return false;
       }
     },
-    dateCompare(dateString, compareDateString) {
-      // dateString:褰撳墠鏃堕棿
-      // compareDateString:闇�瑕佹瘮杈冪殑鏃堕棿
-      if (this.isEmpty(dateString)) {
-        return;
-      }
-      if (this.isEmpty(compareDateString)) {
-        return 1;
-      }
-      var dateTime = this.dateParse(dateString).getTime();
-      var compareDateTime = this.dateParse(compareDateString).getTime();
-      if (compareDateTime > dateTime) {
-        return 1;
-      } else if (compareDateTime === dateTime) {
-        return 0;
-      } else {
-        return -1;
-      }
-    },
+    // dateCompare(dateString, compareDateString) {
+    //   // dateString:褰撳墠鏃堕棿
+    //   // compareDateString:闇�瑕佹瘮杈冪殑鏃堕棿
+    //   if (this.isEmpty(dateString)) {
+    //     return;
+    //   }
+    //   if (this.isEmpty(compareDateString)) {
+    //     return 1;
+    //   }
+    //   var dateTime = this.dateParse(dateString).getTime();
+    //   var compareDateTime = this.dateParse(compareDateString).getTime();
+    //   if (compareDateTime > dateTime) {
+    //     return 1;
+    //   } else if (compareDateTime === dateTime) {
+    //     return 0;
+    //   } else {
+    //     return -1;
+    //   }
+    // },
   },
   props: {
     listWidth: {
@@ -401,7 +330,7 @@
   font-size: 14px;
 }
 .out-div {
-  max-height: 100%;
+  max-height: 100%;    height: 100%;
   .el-collapse-item__wrap {
     will-change: height;
     background-color: #fff;
diff --git a/src/pages/library/components/carList.vue b/src/pages/library/components/carList.vue
index 4843253..019b4db 100644
--- a/src/pages/library/components/carList.vue
+++ b/src/pages/library/components/carList.vue
@@ -1,253 +1,170 @@
 <template>
   <div class="table-parent">
-    <el-row class style="margin: 20px">
-      <!-- <el-col :span="4" class="tl">
-          <b class="f14">{{this.baseObject.tableName}}</b>
-      </el-col>
-      <el-col :span="2">
-          <b class="f14">{{this.baseObject.bwType === '1'?'榛戝悕鍗�':'鐧藉悕鍗�'}}</b>
-      </el-col>
-      <el-col :span="8">
-          <b class="f14">鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</b>
-      </el-col>-->
-      <div class="tl">
-        <span class="f14" style="color: #000000">{{
-          this.baseObject.tableName ? this.baseObject.tableName + "/&nbsp;" : ""
-        }}</span>
-        <span class="f14" style="color: #000000">{{
-          this.baseObject.bwType === "1"
-            ? "榛戝悕鍗�/&nbsp;"
-            : "鐧藉悕鍗�/&nbsp;&nbsp;&nbsp;"
-        }}</span>
-        <span class="f14" style="color: #000000"
-          >鏈夋晥鏃堕棿锛歿{ this.baseObject.startTime }}--{{
-            this.baseObject.endTime ? this.baseObject.endTime : "姘镐箙鏈夋晥"
-          }}</span
-        >
+    <el-row>
+      <div class="base-tip">
+        <div class="left-tips">
+          <span class="ku-name">{{ this.baseObject.tableName }}</span>
+          <span
+            class="list"
+            :class="
+              this.baseObject.bwType === '1' ? 'black-list' : 'white-list'
+            "
+            >{{ this.baseObject.bwType === "1" ? "榛戝悕鍗�" : "鐧藉悕鍗�" }}</span
+          >
+          <span class="ok-time"
+            >鏈夋晥鏃堕棿锛歿{ this.baseObject.startTime }}--{{
+              this.baseObject.endTime ? this.baseObject.endTime : "姘镐箙鏈夋晥"
+            }}</span
+          >
+        </div>
+
+        <div class="right-btns">
+          <el-switch
+            :active-value="1"
+            :width="52"
+            :inactive-value="0"
+            v-model="baseObject.enable"
+            active-color="#4E94FF"
+            inactive-color="#BBBBBB"
+            style="margin-right: 10px"
+            :disabled="isDisabled(baseObject)"
+            @change="setEnable(baseObject)"
+          >
+          </el-switch>
+
+          <el-tooltip content="鍒犻櫎" placement="top" popper-class="atooltip">
+            <span
+              class="iconfont iconfont-wrap iconshanchuku-09"
+              v-if="isShow('library:set')"
+              @click.stop="askDelete('base')"
+            ></span>
+          </el-tooltip>
+
+          <el-tooltip content="缂栬緫" placement="top" popper-class="atooltip">
+            <span
+              class="iconfont iconfont-wrap iconbianjiku-09"
+              @click.stop="edit"
+              v-if="isShow('library:set')"
+            ></span>
+          </el-tooltip>
+        </div>
       </div>
     </el-row>
-    <el-row class style="margin: 40px 0 40px 20px">
-      <el-col :span="6">
-        <el-input
-          placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�"
-          autocomplete="off"
-          width="100%"
-          size="small"
-          v-model="BaseManageData.contentValue"
-          @keyup.enter.native="handleSearch"
-        ></el-input>
-      </el-col>
-      <el-col :span="2">
-        <el-button size="small" type="primary" @click="handleSearch"
-          >鎼滅储</el-button
-        >
-      </el-col>
-      <el-col :offset="8" :span="3">
-        <fTemplate authority="library:set">
-          <el-button
+
+    <div style="display: flex" class="border-tabl">
+      <div class="head-search">
+        <div class="desc">
+          鏈簱鍏辨湁
+          <span class="nums">{{ BaseManageData.total }}鏉�</span>
+          鏁版嵁
+        </div>
+        <div class="right-group">
+          <el-input
+            placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�"
+            autocomplete="off"
+            width="100%"
             size="small"
-            class="ml10"
-            type="danger"
-            @click="deleteBatch"
-            v-if="isShow('library:set')"
-            >鎵归噺鍒犻櫎</el-button
+            v-model="BaseManageData.contentValue"
+            @keyup.enter.native="handleSearch"
+          ></el-input>
+          <el-button size="small" type="primary" @click="handleSearch"
+            >鎼滅储</el-button
           >
-        </fTemplate>
-      </el-col>
-      <el-col :span="2">
-        <div class="text-left">
-          <el-button size="small" class="ml10" type="primary" @click="addCar"
-            >娣诲姞杞﹁締</el-button
+
+          <el-tooltip
+            content="鎵归噺鍒犻櫎"
+            placement="top"
+            popper-class="atooltip"
           >
-          <el-drawer
-            title="杞﹁締淇℃伅"
-            :modal="false"
-            :destroy-on-close="true"
-            :append-to-body="true"
-            :visible.sync="addDrawer"
-            :direction="direction"
-            :before-close="handleClose1"
+            <fTemplate authority="library:set">
+              <span
+                class="iconfont iconfont-wrap iconpiliangshanchu-09"
+                @click="askDelete('batch')"
+                v-if="isShow('library:set')"
+              ></span>
+            </fTemplate>
+          </el-tooltip>
+
+          <el-tooltip
+            content="娣诲姞杞﹁締"
+            placement="top"
+            popper-class="atooltip"
           >
-            <div class="drawerSpace">
-              <div class="uploadLine">
-                <div class="car-picture">
-                  <el-upload
-                    action
-                    :http-request="uploadCar"
-                    accept="image/*"
-                    list-type="picture-card"
-                    :file-list="form.carUrls"
-                    :before-remove="handleRemoveCarPic"
-                  >
-                    <i class="el-icon-plus" style="margin-top: 25px"></i>
-                    <div>涓婁紶杞﹁締鐓х墖</div>
-                  </el-upload>
-                </div>
-                <div class="person-picture">
-                  <el-upload
-                    action
-                    :http-request="uploadPerson"
-                    list-type="picture-card"
-                    accept="image/*"
-                    :limit="1"
-                    :file-list="form.faceUrl"
-                    :on-remove="handleRemoveFacePic"
-                  >
-                    <i class="el-icon-plus" style="margin-top: 25px"></i>
-                    <div>涓婁紶杞︿富鐓х墖</div>
-                  </el-upload>
-                </div>
-              </div>
-              <el-form
-                ref="formForCar"
-                :model="form"
-                label-width="100px"
-                style="margin-top: 20px; margin-bottom: 50px"
-                :rule="rules"
-              >
-                <el-form-item label="*杞︾墝鍙凤細">
-                  <el-input
-                    placeholder="璇疯緭鍏ヨ溅鐗屽彿"
-                    v-model="form.carNo"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="杞﹁締绫诲瀷锛�">
-                  <el-select
-                    v-model="form.carType"
-                    placeholder="璇烽�夋嫨杞﹁締绫诲瀷"
-                    class="inputWidth"
-                  >
-                    <el-option
-                      v-for="item in VideoPhotoData.dictionary.CARTYPE"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="杞﹁締鍝佺墝锛�">
-                  <el-select
-                    v-model="form.carBrand"
-                    placeholder="璇烽�夋嫨杞﹁締鍝佺墝"
-                    class="inputWidth"
-                  >
-                    <el-option
-                      v-for="item in VideoPhotoData.dictionary.BRAND"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="杞﹁韩棰滆壊锛�">
-                  <el-select
-                    v-model="form.carColor"
-                    placeholder="璇烽�夋嫨杞﹁韩棰滆壊"
-                    class="inputWidth"
-                  >
-                    <el-option
-                      v-for="item in VideoPhotoData.dictionary.nColor"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="杞︿富濮撳悕锛�">
-                  <el-input
-                    v-model="form.personName"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="杞︿富鎬у埆锛�">
-                  <el-radio-group v-model="form.sex">
-                    <el-radio label="鐢�"></el-radio>
-                    <el-radio label="濂�"></el-radio>
-                  </el-radio-group>
-                </el-form-item>
-                <el-form-item label="韬唤璇佸彿锛�">
-                  <el-input v-model="form.idCard" class="inputWidth"></el-input>
-                </el-form-item>
-                <el-form-item label="鎵嬫満鍙凤細">
-                  <el-input
-                    v-model="form.phoneNum"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="鍏朵粬锛�">
-                  <el-input
-                    v-model="form.reserved"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item style="text-align: tight">
-                  <el-button
-                    type="primary"
-                    @click="submitCar"
-                    style="margin-left: 120px"
-                    >淇濆瓨</el-button
-                  >
-                  <el-button @click="resetForm">鍙栨秷</el-button>
-                </el-form-item>
-              </el-form>
-            </div>
-          </el-drawer>
+            <span
+              class="iconfont iconfont-wrap icontianjiacheliang-09"
+              @click="addCar"
+            ></span>
+          </el-tooltip>
+
+          <el-tooltip
+            content="鎵归噺涓婁紶杞︾墝"
+            placement="top"
+            popper-class="atooltip"
+          >
+            <span
+              class="iconfont iconfont-wrap iconshangchuanchepai-09"
+              @click="addBatch"
+            ></span>
+          </el-tooltip>
         </div>
-      </el-col>
-      <el-col :span="3">
-        <div class="text-left">
-          <el-button size="small" class="ml10" type="primary" @click="addBatch"
-            >鎵归噺涓婁紶杞︾墝</el-button
-          >
-          <el-drawer
-            title="涓婁紶杞︾墝"
-            :modal="false"
-            :append-to-body="true"
-            :visible.sync="addBatchDrawer"
-            :direction="direction"
-            :before-close="handleClose2"
-          >
-            <div class="drawerSpace">
-              <div class="plateAttach">
-                <el-input
-                  type="textarea"
-                  :rows="25"
-                  v-model="plates"
-                  style="width: 90%"
-                  placeholder="璇疯緭鍏ヨ溅鐗屽彿"
-                ></el-input>
-                <p>
-                  杞︾墝鍙蜂互閫楀彿鎴栧洖杞﹂敭闅斿紑锛屽崟娆℃渶澶氭敮鎸�100鏉′笂浼狅紝渚嬪锛氫含YAB123,浜現34Y87
-                </p>
-                <el-button
-                  type="primary"
-                  @click="platesBatch"
-                  style="margin-left: 210px"
-                  >淇濆瓨</el-button
-                >
-                <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button>
-              </div>
-            </div>
-          </el-drawer>
-        </div>
-      </el-col>
-    </el-row>
-    <div style="display: flex" class="border-tabl ml20">
+      </div>
+
       <el-table
         id="multipleTable"
         ref="multipleTable"
         :data="BaseManageData.personList"
         tooltip-effect="dark"
-        style="width: 100%"
+        style="width: 100%; overflow: auto"
         :fit="true"
         :default-sort="{ prop: 'createTime', order: 'descending' }"
         @selection-change="handleSelectionChange"
-        :header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
+        :header-cell-style="{
+          background: '#fff',
+          color: '#222222',
+          padding: '2px 1px',
+          borderBottom: 'none',
+        }"
       >
         <el-table-column type="selection" width="30"></el-table-column>
-        <el-table-column label="搴忓彿" width="70" sortable align="center">
-          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        <el-table-column
+          prop="carUrls"
+          label="杞﹁締鐓х墖"
+          width="140"
+          show-overflow-tooltip
+          sortable
+          class="picture"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-carousel
+              style="height: 100px"
+              :autoplay="false"
+              indicator-position="none"
+              :arrow="scope.row.carUrls.length > 1 ? 'always' : 'never'"
+            >
+              <el-carousel-item
+                v-for="(item, index) in scope.row.carUrls"
+                :key="index"
+              >
+                <img
+                  style="width: 100px; height: 100px; object-fit: contain"
+                  :src="item.url"
+                  alt
+                />
+              </el-carousel-item>
+            </el-carousel>
+          </template>
+        </el-table-column>
+        <el-table-column label="鐢熸晥鐘舵��" align="center" width="80">
+          <template slot-scope="scope">
+            <el-switch
+              v-model="scope.row.enable"
+              :active-value="1"
+              :disabled="!isShow('library:set')"
+              :inactive-value="0"
+              @change="enable(scope.row)"
+            ></el-switch>
+          </template>
         </el-table-column>
         <el-table-column
           prop="carNo"
@@ -297,35 +214,7 @@
           align="center"
           width="80"
         ></el-table-column>
-        <el-table-column
-          prop="carUrls"
-          label="杞﹁締鐓х墖"
-          width="140"
-          show-overflow-tooltip
-          sortable
-          class="picture"
-          align="center"
-        >
-          <template slot-scope="scope">
-            <el-carousel
-              style="height: 100px"
-              :autoplay="false"
-              indicator-position="none"
-              :arrow="scope.row.carUrls.length > 1 ? 'always' : 'never'"
-            >
-              <el-carousel-item
-                v-for="(item, index) in scope.row.carUrls"
-                :key="index"
-              >
-                <img
-                  style="width: 100px; height: 100px; object-fit: contain"
-                  :src="item.url"
-                  alt
-                />
-              </el-carousel-item>
-            </el-carousel>
-          </template>
-        </el-table-column>
+
         <el-table-column
           prop="createTime"
           label="鍏ュ簱鏃堕棿"
@@ -334,18 +223,7 @@
           sortable
           align="center"
         ></el-table-column>
-        <!-- <el-table-column prop="reserved" label="鍏朵粬" align="center"></el-table-column> -->
-        <el-table-column label="鐢熸晥鐘舵��" align="center" width="80">
-          <template slot-scope="scope">
-            <el-switch
-              v-model="scope.row.enable"
-              :active-value="1"
-              :disabled="!isShow('library:set')"
-              :inactive-value="0"
-              @change="enable(scope.row)"
-            ></el-switch>
-          </template>
-        </el-table-column>
+
         <el-table-column label="鎿嶄綔" min-width="200" align="center">
           <template slot-scope="scope">
             <fTemplate authority="library:set">
@@ -415,13 +293,12 @@
           </template>
         </el-table-column>
       </el-table>
-    </div>
-    <div class="pt5 pb20" style="height: 40px; position: relative">
       <el-pagination
         @current-change="refrash"
         :current-page="BaseManageData.page"
         :page-size="BaseManageData.size"
-        style="position: absolute; right: 10px; bottom: 5px"
+        style="margin-top: 10px;"
+        layout="total,sizes,prev,pager,next,jumper"
         :total="BaseManageData.total"
       ></el-pagination>
     </div>
@@ -608,6 +485,183 @@
         >
       </div>
     </el-dialog>
+
+    <el-dialog
+      :visible.sync="askDeleteShow"
+      :center="true"
+      custom-class="del-dialog"
+    >
+      <div>
+        <div class="suc-icon">
+          <i class="iconfont icongantanhao1"></i>
+        </div>
+        <div class="tt">{{ delText[0] }}</div>
+        <div class="flex-box">
+          <span>{{ delText[1] }}</span>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="askDeleteShow = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="handleDel">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+
+    <el-drawer
+      title="杞﹁締淇℃伅"
+      :modal="false"
+      :destroy-on-close="true"
+      :append-to-body="true"
+      :visible.sync="addDrawer"
+      :direction="direction"
+      :before-close="handleClose1"
+    >
+      <div class="drawerSpace">
+        <div class="uploadLine">
+          <div class="car-picture">
+            <el-upload
+              action
+              :http-request="uploadCar"
+              accept="image/*"
+              list-type="picture-card"
+              :file-list="form.carUrls"
+              :before-remove="handleRemoveCarPic"
+            >
+              <i class="el-icon-plus" style="margin-top: 25px"></i>
+              <div>涓婁紶杞﹁締鐓х墖</div>
+            </el-upload>
+          </div>
+          <div class="person-picture">
+            <el-upload
+              action
+              :http-request="uploadPerson"
+              list-type="picture-card"
+              accept="image/*"
+              :limit="1"
+              :file-list="form.faceUrl"
+              :on-remove="handleRemoveFacePic"
+            >
+              <i class="el-icon-plus" style="margin-top: 25px"></i>
+              <div>涓婁紶杞︿富鐓х墖</div>
+            </el-upload>
+          </div>
+        </div>
+        <el-form
+          ref="formForCar"
+          :model="form"
+          label-width="100px"
+          style="margin-top: 20px; margin-bottom: 50px"
+          :rule="rules"
+        >
+          <el-form-item label="*杞︾墝鍙凤細">
+            <el-input
+              placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+              v-model="form.carNo"
+              class="inputWidth"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="杞﹁締绫诲瀷锛�">
+            <el-select
+              v-model="form.carType"
+              placeholder="璇烽�夋嫨杞﹁締绫诲瀷"
+              class="inputWidth"
+            >
+              <el-option
+                v-for="item in VideoPhotoData.dictionary.CARTYPE"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="杞﹁締鍝佺墝锛�">
+            <el-select
+              v-model="form.carBrand"
+              placeholder="璇烽�夋嫨杞﹁締鍝佺墝"
+              class="inputWidth"
+            >
+              <el-option
+                v-for="item in VideoPhotoData.dictionary.BRAND"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="杞﹁韩棰滆壊锛�">
+            <el-select
+              v-model="form.carColor"
+              placeholder="璇烽�夋嫨杞﹁韩棰滆壊"
+              class="inputWidth"
+            >
+              <el-option
+                v-for="item in VideoPhotoData.dictionary.nColor"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="杞︿富濮撳悕锛�">
+            <el-input v-model="form.personName" class="inputWidth"></el-input>
+          </el-form-item>
+          <el-form-item label="杞︿富鎬у埆锛�">
+            <el-radio-group v-model="form.sex">
+              <el-radio label="鐢�"></el-radio>
+              <el-radio label="濂�"></el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="韬唤璇佸彿锛�">
+            <el-input v-model="form.idCard" class="inputWidth"></el-input>
+          </el-form-item>
+          <el-form-item label="鎵嬫満鍙凤細">
+            <el-input v-model="form.phoneNum" class="inputWidth"></el-input>
+          </el-form-item>
+          <el-form-item label="鍏朵粬锛�">
+            <el-input v-model="form.reserved" class="inputWidth"></el-input>
+          </el-form-item>
+          <el-form-item style="text-align: tight">
+            <el-button
+              type="primary"
+              @click="submitCar"
+              style="margin-left: 120px"
+              >淇濆瓨</el-button
+            >
+            <el-button @click="resetForm">鍙栨秷</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+    </el-drawer>
+
+    <el-drawer
+      title="涓婁紶杞︾墝"
+      :modal="false"
+      :append-to-body="true"
+      :visible.sync="addBatchDrawer"
+      :direction="direction"
+      :before-close="handleClose2"
+    >
+      <div class="drawerSpace">
+        <div class="plateAttach">
+          <el-input
+            type="textarea"
+            :rows="25"
+            v-model="plates"
+            style="width: 90%"
+            placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+          ></el-input>
+          <p>
+            杞︾墝鍙蜂互閫楀彿鎴栧洖杞﹂敭闅斿紑锛屽崟娆℃渶澶氭敮鎸�100鏉′笂浼狅紝渚嬪锛氫含YAB123,浜現34Y87
+          </p>
+          <el-button
+            type="primary"
+            @click="platesBatch"
+            style="margin-left: 210px"
+            >淇濆瓨</el-button
+          >
+          <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button>
+        </div>
+      </div>
+    </el-drawer>
   </div>
 </template>
 <script>
@@ -616,21 +670,23 @@
   updateBaseCar,
   deleteBasePersons,
   plateBatch,
+  updateDbTableStatus,
 } from "@/api/baseLibrary";
 import axios from "axios";
-// import { findByType } from '@/server/video.js'
 import Upload from "./upload";
 import fTemplate from "@/components/fTemplate";
 import request from "@/scripts/httpRequest";
 export default {
   components: {
-    // httpImg,
     fTemplate,
   },
   props: {
     baseObject: {
       default: () => {},
       type: Object,
+    },
+    syncType: {
+      type: String,
     },
   },
   data() {
@@ -651,15 +707,14 @@
           url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg",
         },
       ],
-      provinces: [
-        { name: "浜�", value: 1 },
-        { name: "娲�", value: 2 },
-        { name: "鍐�", value: 3 },
-      ],
+      // provinces: [
+      //   { name: "浜�", value: 1 },
+      //   { name: "娲�", value: 2 },
+      //   { name: "鍐�", value: 3 },
+      // ],
       copyVisiabled: false,
       moveVisiabled: false,
       buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
-      searchName: "",
       current: 1,
       compare: false,
       pageSize: 10,
@@ -678,7 +733,7 @@
         idCard: "",
         phoneNum: "",
         monitorLevel: "one",
-        carUrls: [], //{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"},{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"}
+        carUrls: [],
         faceUrl: [],
         faceFeature: "",
         carPicUrls: "",
@@ -700,14 +755,12 @@
         ],
       },
       tableData: [],
-      tableHeight: window.innerHeight - 320,
-      multipleSelection: [],
-      peoperLevel: [],
       oldWidth: "",
       oldHeight: "",
-      // 涓婁紶鍚庣殑寮规鏄剧ず
+      askDeleteShow: false,
+      delType: "",
+      toDeleteId: "",
       dialogVisible: false,
-      // 鎵归噺涓婁紶鍚庣殑杩斿洖缁撴灉
       uploadResult: {
         failList: [],
         successList: [],
@@ -727,8 +780,59 @@
       }
       return false;
     },
+    delText() {
+      switch (this.delType) {
+        case "base":
+          return ["鍒犻櫎搴曞簱", "纭畾鍒犻櫎璇ュ簳搴擄紵"];
+        case "single":
+          return ["鍒犻櫎浜哄憳", "纭畾鍒犻櫎璇ュ簳搴撲汉鍛橈紵"];
+        case "batch":
+          return ["鎵归噺鍒犻櫎", "纭畾鍒犻櫎璇ュ簳搴撻�変腑浜哄憳锛�"];
+        default:
+          return ["", ""];
+      }
+    },
   },
   methods: {
+    handleDel() {
+      if (this.delType == "single") {
+        this.deleteThis();
+      } else if (this.delType == "base") {
+        this.deleteBase();
+      } else if (this.delType == "batch") {
+        this.deleteBatch();
+      }
+    },
+    deleteBase() {
+      let token =
+        sessionStorage.getItem("loginedInfo") &&
+        JSON.parse(sessionStorage.getItem("loginedInfo")).access_token;
+      fetch(`/data/api-v/dbtable/deleteDBtablesById?id=${this.baseObject.id}`, {
+        method: "GET",
+        headers: {
+          "Content-Type": "application/json",
+          Authorization: token,
+        },
+      })
+        .then((res) => {
+          return res.json();
+        })
+        .then((res) => {
+          if (res.success) {
+            this.$notify({
+              type: "success",
+              message: "搴曞簱鍒犻櫎鎴愬姛锛�",
+            });
+          }
+          this.$emit("onDelete");
+        })
+        .catch((err) => {
+          this.$notify({
+            type: "error",
+            message: err,
+          });
+        });
+    },
     handleRemoveCarPic(file, fileList) {
       var index = fileList.findIndex((item) => {
         if (item.uid == file.uid) {
@@ -737,10 +841,27 @@
       });
       this.form.carUrls.splice(index, 1);
     },
+    isDisabled(item) {
+      var flag = true;
+      if (this.isShow("library:set")) {
+        if (item.endTime == "") {
+          flag = false;
+        } else {
+          flag = !this.$moment(new Date()).isBetween(
+            item.startTime,
+            item.endTime
+          );
+        }
+      }
+      return flag;
+    },
     handleRemoveFacePic(file, fileList) {
       this.form.faceUrl.splice(0, 1);
     },
-    beforeUoload() {},
+    edit() {
+      this.$emit("changeShow", this.baseObject, this.syncType);
+    },
+    // beforeUoload() {},
     handlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
       this.dialogVisible = true;
@@ -789,7 +910,7 @@
         idCard: "",
         phoneNum: "",
         monitorLevel: "one",
-        carUrls: [], //{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"},{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"}
+        carUrls: [],
         faceUrl: [],
         faceFeature: "",
         carPicUrls: "",
@@ -802,19 +923,9 @@
         reserved: "",
       }),
         done();
-      // this.$confirm('纭鍏抽棴锛�')
-      //   .then(_ => {
-      //     done();
-      //   })
-      //   .catch(_ => {});
     },
     handleClose2(done) {
       done();
-      // this.$confirm('纭鍏抽棴锛�')
-      //   .then(_ => {
-      //     done();
-      //   })
-      //   .catch(_ => {});
     },
     isShow(authority) {
       if (this.isAdmin) {
@@ -834,43 +945,32 @@
         this.$refs.multipleTable.clearSelection();
       }
     },
-    deleteThis(id) {
-      
+    deleteThis() {
       let token =
         sessionStorage.getItem("loginedInfo") &&
         JSON.parse(sessionStorage.getItem("loginedInfo")).access_token;
-      this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱浜哄憳锛�", {
-        center: true,
-        cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
+      fetch(`/data/api-v/dbperson/deleteDbPersonById?id=${this.toDeleteId}`, {
+        method: "GET",
+        headers: {
+          "Content-Type": "application/json",
+          Authorization: token,
+        },
       })
-        .then((_) => {
-          fetch(`/data/api-v/dbperson/deleteDbPersonById?id=${id}`, {
-            method: "GET",
-            headers: {
-              "Content-Type": "application/json",
-              Authorization: token,
-            },
-          })
-            .then((res) => {
-              return res.json();
-            })
-            .then((data) => {
-              if (data.success) {
-                this.$notify({
-                  type: "success",
-                  message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒",
-                });
-              }
-              this.getCarList();
-            })
-            .catch((err) => {
-            });
+        .then((res) => {
+          return res.json();
         })
-        .catch((_) => {});
+        .then((data) => {
+          if (data.success) {
+            this.$notify({
+              type: "success",
+              message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒",
+            });
+          }
+          this.getCarList();
+        })
+        .catch((err) => {});
     },
-    sayHello() {
-    },
+    // sayHello() {},
     getUploadResult(result) {
       this.uploadResult = result.data;
       this.dialogVisible = true;
@@ -891,7 +991,6 @@
       });
     },
     handleClose() {
-      //this.getCarList();
       this.dialogFormVisible = false;
     },
     handleSelectionChange(val) {
@@ -954,7 +1053,7 @@
         personPicUrl: item.personPicUrl,
         reserved: item.reserved,
       });
-      if (res.success === true) {
+      if (res.success) {
         this.$notify({
           type: "success",
           message: "搴曞簱浜哄憳鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
@@ -973,10 +1072,24 @@
       this.$refs.uploadDrag && this.$refs.uploadDrag.uploadStart();
     },
     haveScore(row) {
-      if (row.compareScore && row.compareScore !== "") {
-        return true;
+      return row.compareScore && row.compareScore !== "";
+    },
+    async setEnable(item) {
+      debugger;
+      let res = await updateDbTableStatus({
+        id: item.id,
+        enable: item.enable,
+      });
+      if (res.success) {
+        this.$notify({
+          type: "success",
+          message: "搴曞簱鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
+        });
       } else {
-        return false;
+        this.$notify({
+          type: "error",
+          message: "搴曞簱鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒",
+        });
       }
     },
     async searchImgList(faceUrl, threshold) {
@@ -994,7 +1107,7 @@
       this.total = res.data.total;
       this.compare = true;
     },
-    updateThreshold() {},
+    // updateThreshold() {},
     async updateFace(param) {
       const fd = new FormData();
       fd.append("file", param.file);
@@ -1014,39 +1127,22 @@
         this.form.faceFeature = res.data.data.faceFeature;
       }
     },
-    uploadSuccess() {
-    },
-    uploadError() {
-    },
-    deleteBatch() {
-      if (this.selectedRowKeys.length === 0) {
+    async deleteBatch() {
+      let ids = [];
+      this.selectedRowKeys.map((item, index) => {
+        ids.push(item.id);
+      });
+      let res = await deleteBasePersons(ids);
+      if (res.success) {
         this.$notify({
-          type: "warning",
-          message: "璇烽�夋嫨瑕佸垹闄ょ殑浜哄憳",
+          type: "success",
+          message: "鍒犻櫎鎴愬姛锛�",
         });
+        this.getCarList();
       } else {
-        this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱閫変腑浜哄憳锛�", {
-          center: true,
-          cancelButtonClass: "comfirm-class-cancle",
-          confirmButtonClass: "comfirm-class-sure",
-        }).then(async (_) => {
-          let ids = [];
-          this.selectedRowKeys.map((item, index) => {
-            ids.push(item.id);
-          });
-          let res = await deleteBasePersons(ids);
-          if (res.success) {
-            this.$notify({
-              type: "success",
-              message: "鍒犻櫎鎴愬姛锛�",
-            });
-            this.getCarList();
-          } else {
-            this.$notify({
-              type: "error",
-              message: "鍒犻櫎澶辫触锛�",
-            });
-          }
+        this.$notify({
+          type: "error",
+          message: "鍒犻櫎澶辫触锛�",
         });
       }
     },
@@ -1065,10 +1161,19 @@
         this.BaseManageData.queryPersonList();
       }
     },
-    handleRowStyle({ row, rowIndex }) {
-      if (rowIndex === 0) {
-        return "background:#222222;";
+    askDelete(typ, id) {
+      if (typ == "batch") {
+        if (this.selectedRowKeys.length === 0) {
+          this.$notify({
+            type: "warning",
+            message: "璇烽�夋嫨瑕佸垹闄ょ殑浜哄憳",
+          });
+          return;
+        }
       }
+      this.askDeleteShow = true;
+      this.delType = typ;
+      id && (this.toDeleteId = id);
     },
     blackAngWhite() {
       if (this.BaseManageData.selectBlacks.length > 0) {
@@ -1163,7 +1268,6 @@
       this.$refs["formForCar"].validate(async (valid) => {
         if (valid) {
           let { ...json } = this.form;
-
           for (let index in json.carUrls) {
             if (index == 0) {
               json.carPicUrls += json.carUrls[index].url.substring(11);
@@ -1392,7 +1496,6 @@
   display: none;
 }
 .table-parent {
-  // position: relative;
   height: 100%;
   overflow: visible !important;
   .picture {
@@ -1501,59 +1604,7 @@
   padding-left: 8px !important;
   padding-right: 0px !important;
 }
-// .addToBase1 {
-//   height: 350px;
-//   position: relative;
-//   .topLabel {
-//     margin-top: 20px;
-//     height: 40px;
-//     border-bottom: 1px solid #eee;
-//     font-family: PingFangSC-Medium;
-//     font-size: 20px;
-//     font-weight: 600;
-//     line-height: 1rem;
-//     color: #222222;
-//     text-align: left;
-//     margin-left: 15px;
-//   }
-//   .items {
-//     width: 100%;
-//     height: auto;
-//     overflow-y: auto;
-//       margin-bottom: 20px;
-//     .lable {
-//       // width: 15%;
-//       margin-top: 10px;
-//       // float: left;
-//       //font-family: PingFangSC-Medium;
-//       font-size: 14px;
-//       font-weight: 600;
-//     }
-//     .baseList {
-//       // width: 85%;
-//       height: 100%;
-//       // float: left;
-//       .base {
-//         width: calc(33% - 10px);
-//         padding: 0px 5px;
-//         line-height: 30px;
-//         float: left;
-//         text-align: left;
-//         font-size: 12px !important;
-//         .el-checkbox {
-//           width: 100%;
-//           display: block;
-//           overflow: hidden;
-//           text-overflow: ellipsis;
-//           white-space: nowrap;
-//           .el-checkbox__label {
-//             display: inline !important;
-//           }
-//         }
-//       }
-//     }
-//   }
-// }
+
 .copy,
 .move {
   .el-dialog__body {
@@ -1562,7 +1613,7 @@
 }
 
 .avatar-uploader {
-   max-width: 100px;
+  max-width: 100px;
   min-width: 100px;
   min-height: 100px;
   border: 1px solid #eee;
diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue
index 7775450..1ccb6e4 100644
--- a/src/pages/library/components/personList.vue
+++ b/src/pages/library/components/personList.vue
@@ -26,7 +26,7 @@
             v-model="baseObject.enable"
             active-color="#4E94FF"
             inactive-color="#BBBBBB"
-            style="margin-right: 25px"
+            style="margin-right: 10px"
             :disabled="isDisabled(baseObject)"
             @change="setEnable(baseObject)"
           >
@@ -50,7 +50,6 @@
         </div>
       </div>
     </el-row>
-
     <div class="border-tabl">
       <div class="head-search">
         <div class="desc">
@@ -301,18 +300,6 @@
         :total="BaseManageData.total"
       ></el-pagination>
     </div>
-    <!-- <div class="pt5" style="height: 40px; position: relative">
-      <el-pagination
-        @size-change="handleSizeChange"
-        @current-change="refrash"
-        :current-page="BaseManageData.page"
-        :page-size="BaseManageData.size"
-        :page-sizes="[10, 20, 50, 100]"
-        style="position: absolute; right: 10px; bottom: 5px"
-        layout="total,sizes,prev,pager,next,jumper"
-        :total="BaseManageData.total"
-      ></el-pagination>
-    </div> -->
     <el-dialog
       title="鎶撴媿璇︽儏"
       :visible.sync="cameraDetailVisible"
@@ -1123,7 +1110,6 @@
         idCard: "",
         reserved: "",
       },
-      showPop: true,
       askDeleteShow: false,
       toDeleteId: "",
       reqCameraParams: {
@@ -1173,9 +1159,6 @@
         ],
       },
       tableData: [],
-      // tableHeight: window.innerHeight - 320,
-      // multipleSelection: [],
-      // peoperLevel: [],
       oldWidth: "",
       oldHeight: "",
       delType: "",
@@ -1293,11 +1276,9 @@
           }
           this.getPersonList();
         })
-        .catch((err) => {
-        });
+        .catch((err) => {});
     },
-    sayHello() {
-    },
+    sayHello() {},
     getUploadResult(result) {
       this.uploadResult = result.data;
       this.dialogVisible = true;
@@ -1511,43 +1492,28 @@
         data: fd,
       });
       if (res.data.success) {
-        this.form.personPicUrl = res.data.data.personPicUrl;
+        this.form.persoasyncnPicUrl = res.data.data.personPicUrl;
         this.form.faceFeature = res.data.data.faceFeature;
       }
     },
-    uploadSuccess() {
-    },
-    uploadError() {
-    },
-    deleteBatch() {
-      if (this.selectedRowKeys.length === 0) {
+    uploadSuccess() {},
+    uploadError() {},
+    async deleteBatch() {
+      let ids = [];
+      this.selectedRowKeys.map((item, index) => {
+        ids.push(item.id);
+      });
+      let res = await deleteBasePersons(ids);
+      if (res.success) {
         this.$notify({
-          type: "warning",
-          message: "璇烽�夋嫨瑕佸垹闄ょ殑浜哄憳",
+          type: "success",
+          message: "鍒犻櫎鎴愬姛锛�",
         });
+        this.getPersonList();
       } else {
-        this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱閫変腑浜哄憳锛�", {
-          center: true,
-          cancelButtonClass: "comfirm-class-cancle",
-          confirmButtonClass: "comfirm-class-sure",
-        }).then(async (_) => {
-          let ids = [];
-          this.selectedRowKeys.map((item, index) => {
-            ids.push(item.id);
-          });
-          let res = await deleteBasePersons(ids);
-          if (res.success) {
-            this.$notify({
-              type: "success",
-              message: "鍒犻櫎鎴愬姛锛�",
-            });
-            this.getPersonList();
-          } else {
-            this.$notify({
-              type: "error",
-              message: "鍒犻櫎澶辫触锛�",
-            });
-          }
+        this.$notify({
+          type: "error",
+          message: "鍒犻櫎澶辫触锛�",
         });
       }
     },
@@ -1566,11 +1532,11 @@
         this.BaseManageData.queryPersonList();
       }
     },
-    handleRowStyle({ row, rowIndex }) {
-      if (rowIndex === 0) {
-        return "background:#222222;";
-      }
-    },
+    // handleRowStyle({ row, rowIndex }) {
+    //   if (rowIndex === 0) {
+    //     return "background:#222222;";
+    //   }
+    // },
     blackAngWhite() {
       if (this.BaseManageData.selectBlacks.length > 0) {
         for (let i = 0; i < this.BaseManageData.whiteList.length; i++) {
@@ -1597,17 +1563,6 @@
         }
       }
     },
-    // tosearch(item) {
-    //   var curWwwPath = window.document.location.href;
-    //   var pathname = window.document.location.pathname;
-    //   var pos = curWwwPath.indexOf(pathname);
-    //   var localhostPath = curWwwPath.substring(0, pos); //ip+port
-    //   var href = localhostPath + "/Layout/Searching"
-    //   let captureId = item.id == "" ? item.personId : item.id
-    //   var url = item.personPicUrl ? item.personPicUrl : item.personPicUrl
-    //   var compType = 0
-    //   window.open(href + '?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + url + '&compType=' + compType)
-    // },
     tosearch(item) {
       //let captureId = item.id == "" ? item.baseInfo[0].targetId : item.id
       let captureId = item.id == "" ? item.personId : item.id;
@@ -1829,8 +1784,8 @@
       .el-button--mini {
         padding: 10px 34px;
         font-size: 14px;
-        background:var(--colorCard) !important;
-        border-color:var(--colorCard) !important;
+        background: var(--colorCard) !important;
+        border-color: var(--colorCard) !important;
         width: 150px;
         border-radius: 18px;
       }
@@ -1889,7 +1844,7 @@
       }
       .iconshanchuku-09 {
         color: #fe6d68;
-        margin-right: 10px;
+        // margin-right: 10px;
       }
       .iconshanchuku-09:hover {
         background: #fe6d68;
@@ -1901,7 +1856,7 @@
       }
       .iconbianjiku-09:hover {
         border: 1px solidvar(--colorCard);
-        background:var(--colorCard);
+        background: var(--colorCard);
         color: #fff;
       }
     }
@@ -1944,8 +1899,8 @@
         font-size: 14px;
       }
       .el-radio__input.is-checked .el-radio__inner {
-        border-color:var(--colorCard);
-        background:var(--colorCard);
+        border-color: var(--colorCard);
+        background: var(--colorCard);
       }
 
       .el-input--small {
@@ -1977,8 +1932,8 @@
           padding: 11px 65px;
           font-size: 14px;
           border-radius: 18px;
-          border-color:var(--colorCard) !important;
-          background:var(--colorCard) !important;
+          border-color: var(--colorCard) !important;
+          background: var(--colorCard) !important;
           color: #fff;
         }
         .cancel-btn {
@@ -2035,8 +1990,8 @@
       }
       .iconpiliangshanchu-09 {
         color: #fe6d68;
-        margin-right: 10px;
-        margin-left: 20px;
+        // margin-right: 10px;
+        // margin-left: 20px;
       }
       .iconpiliangshanchu-09:hover {
         background: #fe6d68;
@@ -2046,10 +2001,11 @@
       .el-button--small {
         padding: 8px 45px;
         font-size: 14px;
-        background:var(--colorCard) !important;
+        background: var(--colorCard) !important;
         border-radius: 0px 18px 18px 0px;
-        border-color:var(--colorCard) !important;
+        border-color: var(--colorCard) !important;
         color: #fff;
+        margin-right: 10px;
       }
       .el-input__suffix {
         top: 6px;
@@ -2102,13 +2058,16 @@
       font-size: 15px;
     }
   }
+  .el-table::before {
+    visibility: hidden;
+  }
   .el-checkbox__input.is-indeterminate .el-checkbox__inner {
-    background-color:var(--colorCard);
-    border-color:var(--colorCard);
+    background-color: var(--colorCard);
+    border-color: var(--colorCard);
   }
   .el-checkbox__input.is-checked .el-checkbox__inner {
-    background-color:var(--colorCard);
-    border-color:var(--colorCard);
+    background-color: var(--colorCard);
+    border-color: var(--colorCard);
   }
   .el-table th.el-table__cell > .cell {
     background: #f7f8fa;
@@ -2150,6 +2109,7 @@
   text-align: center;
   font-size: 23px;
   transition: all 0.2s;
+  margin-left: 10px;
 }
 .el-dialog__header {
   padding: 20px 0 10px;
@@ -2223,9 +2183,9 @@
     padding: 8px 15px;
     font-size: 14px;
     border-radius: 3px;
-    background:var(--colorCard) !important;
+    background: var(--colorCard) !important;
     border-radius: 16px;
-    border-color:var(--colorCard) !important;
+    border-color: var(--colorCard) !important;
     width: 128px;
   }
   .el-input--mini .el-input__inner {
@@ -2293,7 +2253,7 @@
       width: 150px;
     }
     .el-button--primary {
-      background:var(--colorCard) !important;
+      background: var(--colorCard) !important;
       padding: 9px 37px;
       color: #fff;
       border: 1px solidvar(--colorCard) !important;
@@ -2350,7 +2310,7 @@
       width: 150px;
     }
     .el-button--primary {
-      background:var(--colorCard) !important;
+      background: var(--colorCard) !important;
       padding: 9px 37px;
       color: #fff;
       border: 1px solidvar(--colorCard) !important;
@@ -2402,8 +2362,8 @@
           border-radius: 8px;
           margin: 0 5px;
           .el-checkbox__input.is-checked .el-checkbox__inner {
-            background-color:var(--colorCard);
-            border-color:var(--colorCard);
+            background-color: var(--colorCard);
+            border-color: var(--colorCard);
           }
           .el-checkbox {
             width: 100%;
@@ -2463,7 +2423,7 @@
       width: 150px;
     }
     .el-button--primary {
-      background:var(--colorCard) !important;
+      background: var(--colorCard) !important;
       padding: 9px 37px;
       color: #fff;
       border: 1px solidvar(--colorCard) !important;
@@ -2535,13 +2495,13 @@
   }
   .el-date-table td.start-date span,
   .el-date-table td.end-date span {
-    background-color:var(--colorCard);
+    background-color: var(--colorCard);
   }
   .el-date-table td.in-range div {
-    background-color:var(--colorCard)17;
+    background-color: var(--colorCard) 17;
   }
   .el-button--default {
-    background:var(--colorCard);
+    background: var(--colorCard);
     padding: 9px 37px;
     color: #fff;
     border: 1px solidvar(--colorCard);
@@ -2573,7 +2533,7 @@
     }
   }
   & > span:hover {
-    background:var(--colorCard);
+    background: var(--colorCard);
     color: #fff;
   }
   & > .del-wrap:hover {
diff --git a/src/pages/library/index/App.vue b/src/pages/library/index/App.vue
index 1c21c31..9d294ea 100644
--- a/src/pages/library/index/App.vue
+++ b/src/pages/library/index/App.vue
@@ -28,6 +28,9 @@
           <car-list
             ref="carList"
             :baseObject="baseObject"
+            @changeShow="changeToAdd"
+            @onDelete="initBaseList"
+            :syncType="syncType"
             v-show="showType == 'car'"
           ></car-list>
         </div>
@@ -74,12 +77,6 @@
     };
   },
   methods: {
-    clearSelect1() {
-      this.$refs.baseLocal.categoryIndex = -1;
-    },
-    clearSelect2() {
-      this.$refs.baseSync.categoryIndex = -1;
-    },
     getPersonList(item,type) {
       this.baseObject = item;
       this.baseForEdit = item;
@@ -152,7 +149,6 @@
 .s-base-manage {
   box-sizing: border-box;
   background-color: #e9ebf2;
-  // min-width: 1315px;
   height: 100%;
   .el-collapse {
     border: none;
@@ -178,7 +174,6 @@
     position: relative;
     background: #fff;
     box-sizing: border-box;
-    // border-right: 1px solid #e0e0e0;
   }
   .resize-save {
     position: absolute;
diff --git a/src/pages/library/index/main.ts b/src/pages/library/index/main.ts
index cadf456..e9b4233 100644
--- a/src/pages/library/index/main.ts
+++ b/src/pages/library/index/main.ts
@@ -3,7 +3,7 @@
 
 import ElementUI from 'element-ui';
 import 'element-ui/lib/theme-chalk/index.css';
-import "@/assets/css/element-variables.scss";
+// import "@/assets/css/element-variables.scss";
 
 import moment from "moment";
 Vue.prototype.$moment = moment;

--
Gitblit v1.8.0