| | |
| | | @submit.native.prevent |
| | | > |
| | | <el-form-item> |
| | | <el-input v-model="queryForm.title" placeholder="名称" /> |
| | | <el-input |
| | | v-model="queryForm.name" |
| | | placeholder="名称" |
| | | clearable="" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-select |
| | | v-model="queryForm.address" |
| | | v-model="queryForm.type" |
| | | placeholder="类型" |
| | | class="handle-select mr10" |
| | | size="mini" |
| | | clearable="" |
| | | > |
| | | <el-option key="1" label="系统" value="系统"></el-option> |
| | | <el-option key="2" label="应用" value="应用"></el-option> |
| | | <el-option key="3" label="算法" value="算法"></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> |
| | | <el-table-column width="300"> |
| | | <template #default="scope"> |
| | | <el-button size="small" @click="handlePublish(scope.row)" |
| | | <el-button |
| | | v-show="props.row.type == 'os' || props.row.type == 'algo'" |
| | | size="small" |
| | | @click="handlePublish(scope.row)" |
| | | >发布</el-button |
| | | > |
| | | <el-button size="small" @click="handleDownload(scope.row)" |
| | |
| | | </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 }"> |
| | |
| | | import { publish, download, rebuild } 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 = { |
| | | 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: "OS基础包", |
| | | sys: "系统包", |
| | | app: "应用包", |
| | | algo: "算法包", |
| | | }, |
| | | projectState: ["下载中", "同步完成", "同步失败"], |
| | | packageState: [ |
| | | "打包完成", |
| | | "已 提 交", |
| | |
| | | queryForm: { |
| | | pageNo: 1, |
| | | pageSize: 20, |
| | | title: "", |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | }, |
| | | |
| | | async expandChange(row, expandRows) { |
| | | console.log(row); |
| | | if (expandRows.length == 0) { |
| | | console.log("fold"); |
| | | return; |
| | | } |
| | | |
| | |
| | | }) |
| | | .then(({ value }) => { |
| | | buildPkg(row, value).then((rsp) => { |
| | | console.log(rsp); |
| | | this.expandChange(row, 1); |
| | | }); |
| | | }) |
| | |
| | | handleDownload(row) { |
| | | download({ path: row.filePath }).then((rsp) => { |
| | | if (rsp && rsp.success) { |
| | | console.log(rsp); |
| | | window.location = rsp.data; |
| | | } |
| | | }); |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |
| | | .el-table .expand-row { |
| | | background-color: oldlace; |
| | | } |
| | | </style> |