fix(项目管理): 修复jar包上传
This commit is contained in:
parent
c78f9fa178
commit
e789cac2da
|
@ -0,0 +1,81 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog width="50%" :close-on-click-modal="false" top="5vh" :title="$t('api_test.jar_config.title')" :visible.sync="visible" class="jar-import" @close="close">
|
||||||
|
<div v-loading="result.loading">
|
||||||
|
<ms-jar-config-from :config="currentConfig" :callback="saveConfig" ref="jarConfigFrom" :read-only="isReadOnly"/>
|
||||||
|
<!-- <ms-jar-search-bar v-if="(!isSearchBarQuery && configs.length > 0) || isSearchBarQuery" :condition="condition"-->
|
||||||
|
<!-- @search="getJarConfigs" :table-data="configs" ref="jarSearchBar"/>-->
|
||||||
|
<ms-jar-config-list :show-upload-btn="false" :table-data="configs" ref="jarConfigList"/>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import MsDialogFooter from "@/business/components/common/components/MsDialogFooter";
|
||||||
|
import {listenGoBack, removeGoBackListener} from "@/common/js/utils";
|
||||||
|
import MsJarConfigFrom from "@/business/components/api/test/components/jar/JarConfigFrom";
|
||||||
|
import MsJarSearchBar from "@/business/components/api/test/components/jar/JarSearchBar";
|
||||||
|
import MsJarConfigList from "@/business/components/settings/workspace/JarConfigList";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "MsJarConfig",
|
||||||
|
components: {MsJarConfigFrom, MsJarSearchBar, MsDialogFooter, MsJarConfigList},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
result: {},
|
||||||
|
currentConfig: {},
|
||||||
|
configs: [],
|
||||||
|
condition: {},
|
||||||
|
isSearchBarQuery: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
isReadOnly: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
open() {
|
||||||
|
this.visible = true;
|
||||||
|
this.condition = {};
|
||||||
|
listenGoBack(this.close);
|
||||||
|
},
|
||||||
|
saveConfig(config, file) {
|
||||||
|
for (let item of this.configs) {
|
||||||
|
if (item.name === config.name && item.id !== config.id) {
|
||||||
|
this.$warning(this.$t('commons.already_exists'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (item.fileName === file.name && item.id !== config.id) {
|
||||||
|
this.$warning(this.$t('api_test.jar_config.file_exist'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let url = config.id ? "/jar/update" : "/jar/add";
|
||||||
|
this.result = this.$fileUpload(url, file, null, config, () => {
|
||||||
|
this.$success(this.$t('commons.save_success'));
|
||||||
|
this.$refs.jarConfigList.getJarConfigs();
|
||||||
|
this.$refs.jarConfigFrom.clear();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
rowSelect(config) {
|
||||||
|
this.currentConfig = config;
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$refs.jarConfigFrom.clear();
|
||||||
|
removeGoBackListener(this.close);
|
||||||
|
this.visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
.jar-config-list {
|
||||||
|
max-height: 600px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
|
@ -0,0 +1,135 @@
|
||||||
|
<template>
|
||||||
|
<div class="jar-config-list">
|
||||||
|
<el-card style="height: 100%;">
|
||||||
|
<template v-slot:header>
|
||||||
|
<ms-table-header :show-create="false" :condition.sync="condition"
|
||||||
|
@search="getJarConfigs"
|
||||||
|
:create-tip="$t('project.create')">
|
||||||
|
</ms-table-header>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<el-table border :data="tableData"
|
||||||
|
class="adjust-table table-content"
|
||||||
|
:height="tableHeight"
|
||||||
|
@row-click="handleView">
|
||||||
|
|
||||||
|
<el-table-column prop="name" :label="$t('commons.name')" show-overflow-tooltip/>
|
||||||
|
<el-table-column prop="fileName" :label="$t('api_test.jar_config.jar_file')" show-overflow-tooltip/>
|
||||||
|
<el-table-column prop="description" :label="$t('commons.description')" show-overflow-tooltip/>
|
||||||
|
<el-table-column prop="updateTime" :label="$t('commons.update_time')" show-overflow-tooltip>
|
||||||
|
<template v-slot:default="scope">
|
||||||
|
<span>{{ scope.row.updateTime | timestampFormatDate }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="creator" :label="$t('report.user_name')" show-overflow-tooltip/>
|
||||||
|
<el-table-column prop="modifier" :label="$t('commons.modifier')" show-overflow-tooltip/>
|
||||||
|
|
||||||
|
<el-table-column :label="$t('commons.operating')" min-width="100">
|
||||||
|
<template v-slot:default="scope">
|
||||||
|
<div>
|
||||||
|
<ms-table-operator-button :tip="$t('commons.delete')" icon="el-icon-delete" type="danger"
|
||||||
|
@exec="handleDelete(scope.row.id)" v-permission="['PROJECT_FILE:READ+DELETE+JAR']"/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
<ms-table-pagination :change="getJarConfigs" :current-page.sync="currentPage" :page-size.sync="pageSize"
|
||||||
|
:total="total"/>
|
||||||
|
|
||||||
|
<ms-jar-config ref="jarConfig" @refresh="getJarConfigs"/>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import MsTableOperatorButton from "@/business/components/common/components/MsTableOperatorButton";
|
||||||
|
import MsTablePagination from "@/business/components/common/pagination/TablePagination";
|
||||||
|
import MsMainContainer from "@/business/components/common/components/MsMainContainer";
|
||||||
|
import MsContainer from "@/business/components/common/components/MsContainer";
|
||||||
|
import MsTableHeader from "@/business/components/common/components/MsTableHeader";
|
||||||
|
import MsTableButton from "@/business/components/common/components/MsTableButton";
|
||||||
|
import MsJarConfig from "@/business/components/api/test/components/jar/JarConfig";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "MsJarConfigList",
|
||||||
|
components: {
|
||||||
|
MsTableOperatorButton,
|
||||||
|
MsTablePagination,
|
||||||
|
MsMainContainer,
|
||||||
|
MsContainer,
|
||||||
|
MsTableHeader,
|
||||||
|
MsTableButton,
|
||||||
|
MsJarConfig
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
isReadOnly: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getJarConfigs();
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
result: {},
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 5,
|
||||||
|
total: 0,
|
||||||
|
tableData: [],
|
||||||
|
condition: {},
|
||||||
|
tableHeight: 'calc(50vh - 250px)'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openJarConfig() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.jarConfig.open();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getJarConfigs(isSearchBarQuery) {
|
||||||
|
if (isSearchBarQuery) {
|
||||||
|
this.isSearchBarQuery = isSearchBarQuery;
|
||||||
|
}
|
||||||
|
this.result = this.$post("/jar/list/" + this.currentPage + "/" + this.pageSize, this.condition, response => {
|
||||||
|
let data = response.data;
|
||||||
|
let {itemCount, listObject} = data;
|
||||||
|
this.total = itemCount;
|
||||||
|
this.tableData = listObject;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleView(row) {
|
||||||
|
this.$emit('rowSelect', row);
|
||||||
|
},
|
||||||
|
handleDelete(id) {
|
||||||
|
this.$confirm(this.$t('api_test.jar_config.delete_tip'), '', {
|
||||||
|
confirmButtonText: this.$t('commons.confirm'),
|
||||||
|
cancelButtonText: this.$t('commons.cancel'),
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.result = this.$get("/jar/delete/" + id, () => {
|
||||||
|
this.$success(this.$t('commons.delete_success'));
|
||||||
|
this.getJarConfigs();
|
||||||
|
});
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: this.$t('commons.delete_cancelled')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
.el-icon-check {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: green;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -268,7 +268,7 @@ import MsTableOperatorButton from "../../common/components/MsTableOperatorButton
|
||||||
import ApiEnvironmentConfig from "../../api/test/components/ApiEnvironmentConfig";
|
import ApiEnvironmentConfig from "../../api/test/components/ApiEnvironmentConfig";
|
||||||
import TemplateComponent from "../../track/plan/view/comonents/report/TemplateComponent/TemplateComponent";
|
import TemplateComponent from "../../track/plan/view/comonents/report/TemplateComponent/TemplateComponent";
|
||||||
import {GROUP_PROJECT, PROJECT_ID} from "@/common/js/constants";
|
import {GROUP_PROJECT, PROJECT_ID} from "@/common/js/constants";
|
||||||
import MsJarConfig from "../../api/test/components/jar/JarConfig";
|
import MsJarConfig from "@/business/components/settings/workspace/JarConfig";
|
||||||
import MsTableButton from "../../common/components/MsTableButton";
|
import MsTableButton from "../../common/components/MsTableButton";
|
||||||
import {_filter, _sort} from "@/common/js/tableUtils";
|
import {_filter, _sort} from "@/common/js/tableUtils";
|
||||||
import MsResourceFiles from "@/business/components/performance/test/components/ResourceFiles";
|
import MsResourceFiles from "@/business/components/performance/test/components/ResourceFiles";
|
||||||
|
|
Loading…
Reference in New Issue