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 | 109 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 81 insertions(+), 28 deletions(-)
diff --git a/src/views/project/index.vue b/src/views/project/index.vue
index 2746022..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>
@@ -108,34 +141,44 @@
<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 }">
@@ -170,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: [
"鎵撳寘瀹屾垚",
"宸� 鎻� 浜�",
@@ -343,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