From 6339f41cfff5b9fdf33eb2f788658247430b5091 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 19 十月 2022 17:19:52 +0800
Subject: [PATCH] 添加更新提醒

---
 src/views/project/index.vue |   87 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 70 insertions(+), 17 deletions(-)

diff --git a/src/views/project/index.vue b/src/views/project/index.vue
index 1a909eb..c6b7321 100644
--- a/src/views/project/index.vue
+++ b/src/views/project/index.vue
@@ -74,7 +74,6 @@
       stripe
       :data="list"
       :element-loading-text="elementLoadingText"
-      :height="height"
       @selection-change="setSelectRows"
       @expand-change="expandChange"
     >
@@ -84,7 +83,10 @@
             :data="props.row.pkgList"
             :show-header="false"
             style="width: 100%"
+            row-class-name="expand-row"
+            :highlight-current-row="false"
           >
+            >
             <el-table-column prop="fileName"></el-table-column>
             <el-table-column prop="version" width="150"></el-table-column>
             <el-table-column prop="commit" width="150"></el-table-column>
@@ -100,7 +102,7 @@
             <el-table-column width="300">
               <template #default="scope">
                 <el-button
-                  v-show="props.row.type == 'os'"
+                  v-show="props.row.type == 'os' || props.row.type == 'algo'"
                   size="small"
                   @click="handlePublish(scope.row)"
                   >鍙戝竷</el-button
@@ -110,9 +112,22 @@
                 >
                 <el-button
                   size="small"
+                  type="warning"
                   :disabled="scope.row.state === 0"
                   @click="handleRebuild(scope.row)"
                   >閲嶇疆</el-button
+                >
+
+                <!-- 姝e湪鎵撳寘鐨勪换鍔′互鍙婅嚜鍔ㄦ墦鍖呯殑浠诲姟涓嶅厑璁稿垹闄� -->
+                <el-button
+                  size="small"
+                  type="danger"
+                  :disabled="
+                    scope.row.createType == 0 ||
+                    (scope.row.state > 0 && scope.row.state < 3)
+                  "
+                  @click="handleDeletePkg(scope.row)"
+                  >鍒犻櫎</el-button
                 >
               </template>
             </el-table-column>
@@ -126,15 +141,23 @@
       <el-table-column
         show-overflow-tooltip
         prop="name"
-        label="椤圭洰鍚嶇О"
+        label="鍚嶇О"
         width="150"
+      >
+      </el-table-column>
+      <el-table-column
+        show-overflow-tooltip
+        prop="desc"
+        label="鎻忚堪"
       ></el-table-column>
       <el-table-column
         show-overflow-tooltip
         prop="srcUrl"
-        label="椤圭洰鍦板潃"
+        label="鍦板潃"
         width="500"
       ></el-table-column>
+      <el-table-column show-overflow-tooltip prop="branch" label="鍒嗘敮">
+      </el-table-column>
       <el-table-column show-overflow-tooltip prop="type" label="绫诲瀷">
         <template #default="{ row }">
           <el-tag>{{ typeOptions[row.type] }}</el-tag>
@@ -148,15 +171,21 @@
       <!-- <el-table-column show-overflow-tooltip label="褰撳墠鐗堟湰" prop="latestVersion"></el-table-column> -->
       <el-table-column label="鐘舵��">
         <template #default="{ row }">
-          <el-tag :type="row.state == 2 ? 'danger' : 'success'">{{
-            projectState[row.state]
-          }}</el-tag>
+          <el-badge
+            is-dot
+            :hidden="row.latestPkgShortSha1 == row.shortSha1"
+            style="margin-top: 6px"
+          >
+            <el-tag :type="row.state > 1 ? 'danger' : 'success'">{{
+              projectState[row.state]
+            }}</el-tag>
+          </el-badge>
         </template>
       </el-table-column>
       <el-table-column
         label="鍒涘缓鏃堕棿"
         prop="createdAt"
-        width="200"
+        width="150"
       ></el-table-column>
       <el-table-column label="鎿嶄綔" width="180px">
         <template #default="{ row }">
@@ -178,7 +207,7 @@
     </el-table>
     <el-pagination
       :background="background"
-      :current-page="queryForm.pageNo"
+      :current-page="queryForm.pageIndex"
       :layout="layout"
       :page-size="queryForm.pageSize"
       :total="total"
@@ -191,7 +220,7 @@
 
 <script>
 import { getList, deletePrj, getPkgList, buildPkg } from "@/api/project";
-import { publish, download, rebuild } from "@/api/package";
+import { publish, download, rebuild, deletePkg } from "@/api/package";
 
 import TableEdit from "./components/ProjectEdit.vue";
 
@@ -210,12 +239,18 @@
         arm64: "arm_64",
       },
       typeOptions: {
-        os: "OS鍩虹鍖�",
+        os: "AIOS",
         sys: "绯荤粺鍖�",
         app: "搴旂敤鍖�",
         algo: "绠楁硶鍖�",
       },
-      projectState: ["涓嬭浇涓�", "鍚屾瀹屾垚", "鍚屾澶辫触"],
+      projectState: [
+        "涓嬭浇涓�",
+        "鍚屾瀹屾垚",
+        "涓嬭浇澶辫触",
+        "浠g爜搴撻敊璇�",
+        "鍚屾澶辫触",
+      ],
       packageState: [
         "鎵撳寘瀹屾垚",
         "宸� 鎻� 浜�",
@@ -227,9 +262,10 @@
       total: 0,
       background: true,
       selectRows: "",
+      expandRow: "",
       elementLoadingText: "姝e湪鍔犺浇...",
       queryForm: {
-        pageNo: 1,
+        pageIndex: 1,
         pageSize: 20,
       },
     };
@@ -281,11 +317,11 @@
       this.fetchData();
     },
     handleCurrentChange(val) {
-      this.queryForm.pageNo = val;
+      this.queryForm.pageIndex = val;
       this.fetchData();
     },
     handleQuery() {
-      this.queryForm.pageNo = 1;
+      this.queryForm.pageIndex = 1;
       this.fetchData();
     },
     async fetchData() {
@@ -311,9 +347,12 @@
         return;
       }
 
-      const { data, total } = await getPkgList(row.id);
+      this.getPackageList(row.id);
+    },
+    async getPackageList(id) {
+      const { data, total } = await getPkgList(id);
       this.list.forEach((item, idx) => {
-        if (item.id === row.id) {
+        if (item.id === id) {
           this.list[idx].pkgList = data.reverse();
         }
       });
@@ -360,6 +399,20 @@
         }
       });
     },
+    handleDeletePkg(row) {
+      if (row.id) {
+        this.$baseConfirm("浣犵‘瀹氳鍒犻櫎褰撳墠椤瑰悧", null, async () => {
+          const { msg } = await deletePkg(row);
+          this.$baseMessage(msg, "success");
+          this.getPackageList(row.projectId);
+        });
+      }
+    },
   },
 };
 </script>
+<style>
+.el-table .expand-row {
+  background-color: oldlace;
+}
+</style>

--
Gitblit v1.8.0