fix:保存完参数后,按钮还在saving状态的bug

This commit is contained in:
hrz
2025-09-13 09:22:11 +08:00
parent f5143d60b7
commit 64f3062eb2
2 changed files with 41 additions and 30 deletions
@@ -122,6 +122,9 @@ export default {
visible(newVal) {
if (newVal) {
this.dialogKey = Date.now();
} else {
// 当对话框关闭时,重置saving状态
this.saving = false;
}
}
}
+38 -30
View File
@@ -5,8 +5,8 @@
<div class="operation-bar">
<h2 class="page-title">{{ $t('paramManagement.pageTitle') }}</h2>
<div class="right-operations">
<el-input :placeholder="$t('paramManagement.searchPlaceholder')" v-model="searchCode" class="search-input"
@keyup.enter.native="handleSearch" clearable />
<el-input :placeholder="$t('paramManagement.searchPlaceholder')" v-model="searchCode"
class="search-input" @keyup.enter.native="handleSearch" clearable />
<el-button class="btn-search" @click="handleSearch">{{ $t('paramManagement.search') }}</el-button>
</div>
</div>
@@ -24,25 +24,31 @@
<el-checkbox v-model="scope.row.selected"></el-checkbox>
</template>
</el-table-column>
<el-table-column :label="$t('paramManagement.paramCode')" prop="paramCode" align="center"></el-table-column>
<el-table-column :label="$t('paramManagement.paramValue')" prop="paramValue" align="center" show-overflow-tooltip>
<el-table-column :label="$t('paramManagement.paramCode')" prop="paramCode"
align="center"></el-table-column>
<el-table-column :label="$t('paramManagement.paramValue')" prop="paramValue" align="center"
show-overflow-tooltip>
<template slot-scope="scope">
<div v-if="isSensitiveParam(scope.row.paramCode)">
<span v-if="!scope.row.showValue">{{ maskSensitiveValue(scope.row.paramValue)
}}</span>
<span v-else>{{ scope.row.paramValue }}</span>
<el-button size="mini" type="text" @click="toggleSensitiveValue(scope.row)">
{{ scope.row.showValue ? $t('paramManagement.hide') : $t('paramManagement.view') }}
{{ scope.row.showValue ? $t('paramManagement.hide') :
$t('paramManagement.view') }}
</el-button>
</div>
<span v-else>{{ scope.row.paramValue }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('paramManagement.remark')" prop="remark" align="center"></el-table-column>
<el-table-column :label="$t('paramManagement.remark')" prop="remark"
align="center"></el-table-column>
<el-table-column :label="$t('paramManagement.operation')" align="center">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="editParam(scope.row)">{{ $t('paramManagement.edit') }}</el-button>
<el-button size="mini" type="text" @click="deleteParam(scope.row)">{{ $t('paramManagement.delete') }}</el-button>
<el-button size="mini" type="text" @click="editParam(scope.row)">{{
$t('paramManagement.edit') }}</el-button>
<el-button size="mini" type="text" @click="deleteParam(scope.row)">{{
$t('paramManagement.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -50,16 +56,19 @@
<div class="table_bottom">
<div class="ctrl_btn">
<el-button size="mini" type="primary" class="select-all-btn" @click="handleSelectAll">
{{ isAllSelected ? $t('paramManagement.deselectAll') : $t('paramManagement.selectAll') }}
{{ isAllSelected ? $t('paramManagement.deselectAll') :
$t('paramManagement.selectAll') }}
</el-button>
<el-button size="mini" type="success" @click="showAddDialog">{{ $t('paramManagement.add') }}</el-button>
<el-button size="mini" type="success" @click="showAddDialog">{{
$t('paramManagement.add') }}</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete"
@click="deleteSelectedParams">{{ $t('paramManagement.delete') }}</el-button>
@click="deleteSelectedParams">{{
$t('paramManagement.delete') }}</el-button>
</div>
<div class="custom-pagination">
<el-select v-model="pageSize" @change="handlePageSizeChange" class="page-size-select">
<el-option v-for="item in pageSizeOptions" :key="item" :label="`${item}${$t('paramManagement.itemsPerPage')}`"
:value="item">
<el-option v-for="item in pageSizeOptions" :key="item"
:label="`${item}${$t('paramManagement.itemsPerPage')}`" :value="item">
</el-option>
</el-select>
<button class="pagination-btn" :disabled="currentPage === 1" @click="goFirst">
@@ -97,7 +106,6 @@ import Api from "@/apis/api";
import HeaderBar from "@/components/HeaderBar.vue";
import ParamDialog from "@/components/ParamDialog.vue";
import VersionFooter from "@/components/VersionFooter.vue";
import i18n from '@/i18n';
export default {
components: { HeaderBar, ParamDialog, VersionFooter },
data() {
@@ -116,9 +124,9 @@ export default {
paramForm: {
id: null,
paramCode: "",
paramValue: "",
valueType: "string",
remark: ""
paramValue: "",
valueType: "string",
remark: ""
},
};
},
@@ -166,7 +174,7 @@ export default {
if (data.code === 0) {
this.paramsList = data.data.list.map(item => ({
...item,
valueType: item.valueType || "string",
valueType: item.valueType || "string",
selected: false,
showValue: false
}));
@@ -193,23 +201,23 @@ export default {
showAddDialog() {
this.dialogTitle = this.$t('paramManagement.addParam');
this.paramForm = {
id: null,
paramCode: "",
paramValue: "",
valueType: "string", // 默认值
remark: ""
};
id: null,
paramCode: "",
paramValue: "",
valueType: "string", // 默认值
remark: ""
};
this.dialogVisible = true;
},
editParam(row) {
this.dialogTitle = this.$t('paramManagement.editParam');
this.paramForm = {
id: row.id,
paramCode: row.paramCode,
paramValue: row.paramValue,
valueType: row.valueType || "string", // 确保有值
remark: row.remark
};
id: row.id,
paramCode: row.paramCode,
paramValue: row.paramValue,
valueType: row.valueType || "string", // 确保有值
remark: row.remark
};
this.dialogVisible = true;
},
handleSubmit(form) {