zhangzengfei
2022-10-19 6339f41cfff5b9fdf33eb2f788658247430b5091
src/views/project/index.vue
@@ -112,9 +112,22 @@
                >
                <el-button
                  size="small"
                  type="warning"
                  :disabled="scope.row.state === 0"
                  @click="handleRebuild(scope.row)"
                  >重置</el-button
                >
                <!-- 正在打包的任务以及自动打包的任务不允许删除 -->
                <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>
@@ -130,7 +143,8 @@
        prop="name"
        label="名称"
        width="150"
      ></el-table-column>
      >
      </el-table-column>
      <el-table-column
        show-overflow-tooltip
        prop="desc"
@@ -157,9 +171,15 @@
      <!-- <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
@@ -187,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"
@@ -200,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";
@@ -224,7 +244,13 @@
        app: "应用包",
        algo: "算法包",
      },
      projectState: ["下载中", "同步完成", "同步失败"],
      projectState: [
        "下载中",
        "同步完成",
        "下载失败",
        "代码库错误",
        "同步失败",
      ],
      packageState: [
        "打包完成",
        "已 提 交",
@@ -236,9 +262,10 @@
      total: 0,
      background: true,
      selectRows: "",
      expandRow: "",
      elementLoadingText: "正在加载...",
      queryForm: {
        pageNo: 1,
        pageIndex: 1,
        pageSize: 20,
      },
    };
@@ -290,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() {
@@ -320,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();
        }
      });
@@ -369,6 +399,15 @@
        }
      });
    },
    handleDeletePkg(row) {
      if (row.id) {
        this.$baseConfirm("你确定要删除当前项吗", null, async () => {
          const { msg } = await deletePkg(row);
          this.$baseMessage(msg, "success");
          this.getPackageList(row.projectId);
        });
      }
    },
  },
};
</script>