diff --git a/frontend/src/business/components/api/automation/ApiAutomation.vue b/frontend/src/business/components/api/automation/ApiAutomation.vue index b5d4e44dd1..6b3097575c 100644 --- a/frontend/src/business/components/api/automation/ApiAutomation.vue +++ b/frontend/src/business/components/api/automation/ApiAutomation.vue @@ -33,6 +33,8 @@ @edit="editScenario" @changeSelectDataRangeAll="changeSelectDataRangeAll" :custom-num="customNum" + :init-api-table-opretion="initApiTableOpretion" + @updateInitApiTableOpretion="updateInitApiTableOpretion" ref="apiScenarioList"/> @@ -123,7 +125,9 @@ export default { selectNodeIds: [], nodeTree: [], currentModulePath: "", - customNum: false + customNum: false, + //影响API表格刷新的操作。 为了防止高频率刷新模块列表用。如果是模块更新而造成的表格刷新,则不回调模块刷新方法 + initApiTableOpretion: 'init', }; }, mounted() { @@ -341,6 +345,7 @@ export default { }, nodeChange(node, nodeIds, pNodes) { + this.initApiTableOpretion = "nodeChange"; this.selectNodeIds = nodeIds; }, setModuleOptions(data) { @@ -354,6 +359,7 @@ export default { }, enableTrash(data) { this.activeName = "default"; + this.initApiTableOpretion = "enableTrash"; this.trashEnable = data; }, getProject() { @@ -363,6 +369,9 @@ export default { this.customNum = data.scenarioCustomNum; } }); + }, + updateInitApiTableOpretion(param){ + this.initApiTableOpretion = param; } } }; diff --git a/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue b/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue index 76a0a0f2b7..7d35baa0c2 100644 --- a/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue +++ b/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue @@ -275,7 +275,8 @@ export default { customNum: { type: Boolean, default: false - } + }, + initApiTableOpretion: String, }, data() { return { @@ -426,7 +427,9 @@ export default { this.search(); }, search(projectId) { - this.$emit('refreshTree'); + if(this.needRefreshModule()){ + this.$emit('refreshTree'); + } this.selectRows = new Set(); this.condition.moduleIds = this.selectNodeIds; if (this.trashEnable) { @@ -866,6 +869,14 @@ export default { }, getConditions() { return this.condition; + }, + needRefreshModule(){ + if(this.initApiTableOpretion === '0'){ + return true; + }else { + this.$emit('updateInitApiTableOpretion','0'); + return false; + } } } }; diff --git a/frontend/src/business/components/api/definition/ApiDefinition.vue b/frontend/src/business/components/api/definition/ApiDefinition.vue index f6173ef1f8..fa9ba38755 100644 --- a/frontend/src/business/components/api/definition/ApiDefinition.vue +++ b/frontend/src/business/components/api/definition/ApiDefinition.vue @@ -55,6 +55,8 @@ @handleCase="handleCase" @showExecResult="showExecResult" @refreshTable="refresh" + :init-api-table-opretion="initApiTableOpretion" + @updateInitApiTableOpretion="updateInitApiTableOpretion" ref="apiList"/> diff --git a/frontend/src/business/components/common/components/table/MsTable.vue b/frontend/src/business/components/common/components/table/MsTable.vue index 8cb719e1d5..450db8a55b 100644 --- a/frontend/src/business/components/common/components/table/MsTable.vue +++ b/frontend/src/business/components/common/components/table/MsTable.vue @@ -12,6 +12,7 @@ class="test-content adjust-table ms-table" :class="{'ms-select-all-fixed':showSelectAll}" :height="screenHeight" + v-loading="result.loading" ref="table" @row-click="handleRowClick"> @@ -79,6 +80,7 @@ export default { return { selectDataCounts: 0, selectRows: new Set(), + result: {}, selectIds: [] }; },