| | |
| | | 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> |
| | |
| | | stripe |
| | | :data="list" |
| | | :element-loading-text="elementLoadingText" |
| | | :height="height" |
| | | @selection-change="setSelectRows" |
| | | @expand-change="expandChange" |
| | | > |
| | |
| | | :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> |
| | |
| | | <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 |
| | |
| | | > |
| | | <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> |
| | |
| | | </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 }"> |
| | |
| | | |
| | | <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: [ |
| | | "打包完成", |
| | | "已 提 交", |
| | |
| | | } |
| | | }); |
| | | }, |
| | | 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> |