From fec2ece4213cbf9ed43b0f969f9a05441f91aa22 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 19 五月 2022 19:55:04 +0800
Subject: [PATCH] 添加package删除功能

---
 src/views/project/index.vue |  113 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 84 insertions(+), 29 deletions(-)

diff --git a/src/views/project/index.vue b/src/views/project/index.vue
index b016eb0..a787dd6 100644
--- a/src/views/project/index.vue
+++ b/src/views/project/index.vue
@@ -23,10 +23,28 @@
               size="mini"
               clearable=""
             >
-              <el-option key="os" label="鍩虹" value="os"></el-option>
-              <el-option key="sys" label="绯荤粺" value="sys"></el-option>
-              <el-option key="app" label="搴旂敤" value="app"></el-option>
-              <el-option key="algo" label="绠楁硶" value="algo"></el-option>
+              <el-option
+                v-for="(v, k) in typeOptions"
+                :key="k"
+                :label="v"
+                :value="k"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-select
+              v-model="queryForm.arch"
+              placeholder="鏋舵瀯"
+              class="handle-select mr10"
+              size="mini"
+              clearable=""
+            >
+              <el-option
+                v-for="(v, k) in archOptions"
+                :key="k"
+                :label="v"
+                :value="k"
+              ></el-option>
             </el-select>
           </el-form-item>
           <el-form-item>
@@ -56,7 +74,6 @@
       stripe
       :data="list"
       :element-loading-text="elementLoadingText"
-      :height="height"
       @selection-change="setSelectRows"
       @expand-change="expandChange"
     >
@@ -66,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>
@@ -82,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
@@ -92,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>
@@ -102,38 +135,50 @@
         </template>
       </el-table-column>
       <!-- <el-table-column show-overflow-tooltip type="selection" width="55"></el-table-column> -->
-      <el-table-column show-overflow-tooltip label="搴忓彿" width="95">
+      <el-table-column show-overflow-tooltip label="搴忓彿" width="50">
         <template #default="scope">{{ scope.$index + 1 }}</template>
       </el-table-column>
       <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>{{ row.type | typeFilter }}</el-tag>
+          <el-tag>{{ typeOptions[row.type] }}</el-tag>
         </template>
       </el-table-column>
       <el-table-column show-overflow-tooltip prop="arch" label="鏋舵瀯">
+        <template #default="{ row }">
+          <el-tag>{{ archOptions[row.arch] }}</el-tag>
+        </template>
       </el-table-column>
       <!-- <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'">{{
-            row.state | stateFilter
+            projectState[row.state]
           }}</el-tag>
         </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 }">
@@ -168,35 +213,31 @@
 
 <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";
+
 export default {
   name: "ComprehensiveTable",
   components: {
     TableEdit,
-  },
-  filters: {
-    stateFilter(state) {
-      const stateMap = ["涓嬭浇涓�", "鍚屾瀹屾垚", "鍚屾澶辫触"];
-
-      return stateMap[state];
-    },
-    typeFilter(type) {
-      const typeMap = {
-        os: "OS鍩虹鍖�",
-        sys: "绯荤粺鍖�",
-        app: "搴旂敤鍖�",
-        algo: "绠楁硶鍖�",
-      };
-      return typeMap[type];
-    },
   },
   data() {
     return {
       list: [],
       listLoading: true,
       layout: "total, sizes, prev, pager, next, jumper",
+      archOptions: {
+        amd64: "x86_64",
+        arm64: "arm_64",
+      },
+      typeOptions: {
+        os: "AIOS",
+        sys: "绯荤粺鍖�",
+        app: "搴旂敤鍖�",
+        algo: "绠楁硶鍖�",
+      },
+      projectState: ["涓嬭浇涓�", "鍚屾瀹屾垚", "鍚屾澶辫触"],
       packageState: [
         "鎵撳寘瀹屾垚",
         "宸� 鎻� 浜�",
@@ -341,6 +382,20 @@
         }
       });
     },
+    handleDeletePkg(row) {
+      if (row.id) {
+        this.$baseConfirm("浣犵‘瀹氳鍒犻櫎褰撳墠椤瑰悧", null, async () => {
+          const { msg } = await deletePkg(row);
+          this.$baseMessage(msg, "success");
+          this.fetchData();
+        });
+      }
+    },
   },
 };
 </script>
+<style>
+.el-table .expand-row {
+  background-color: oldlace;
+}
+</style>

--
Gitblit v1.8.0