fix(frontend): resolve cross-page selection loss, add destroy-on-close to dialogs, and fix row-key collision in stocktake

This commit is contained in:
DXC
2026-04-02 18:35:11 +08:00
parent 1e2f4953b6
commit edf09508f6
8 changed files with 20 additions and 13 deletions

View File

@ -86,7 +86,7 @@
/>
<!-- 新增调整单弹窗 -->
<el-dialog v-model="showDialog" title="新增盘盈盘亏调整单" width="700px" :close-on-click-modal="false">
<el-dialog v-model="showDialog" title="新增盘盈盘亏调整单" width="700px" destroy-on-close :close-on-click-modal="false">
<el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
<el-form-item label="选择物料" prop="stock_id">
<el-select
@ -128,7 +128,7 @@
</el-dialog>
<!-- 物料选择弹窗 -->
<el-dialog v-model="showStockDialog" title="选择物料" width="800px">
<el-dialog v-model="showStockDialog" title="选择物料" width="800px" destroy-on-close>
<div class="filter-container" style="margin-bottom: 15px">
<el-input v-model="stockKeyword" placeholder="搜索SKU/条码" style="width: 200px" @keyup.enter="fetchStocks" clearable />
<el-button type="primary" @click="fetchStocks">搜索</el-button>
@ -152,7 +152,7 @@
</el-dialog>
<!-- 盘点差异审核弹窗 -->
<el-dialog v-model="showReviewDialog" title="盘点差异审核" width="1200px" :close-on-click-modal="false">
<el-dialog v-model="showReviewDialog" title="盘点差异审核" width="1200px" destroy-on-close :close-on-click-modal="false">
<div v-loading="reviewLoading">
<!-- 搜索栏 -->
<div style="margin-bottom: 16px; display: flex; gap: 12px;">
@ -171,8 +171,8 @@
<el-button type="primary" @click="handleReviewSearch">搜索</el-button>
</div>
<el-table :data="reviewList" border stripe ref="reviewTableRef" @selection-change="handleReviewSelectionChange">
<el-table-column type="selection" width="50" />
<el-table :data="reviewList" border stripe ref="reviewTableRef" row-key="id" @selection-change="handleReviewSelectionChange">
<el-table-column type="selection" width="50" :reserve-selection="true" />
<el-table-column prop="sku" label="SKU" width="140" />
<el-table-column prop="material_name" label="物料名称" min-width="150" show-overflow-tooltip />
<el-table-column prop="spec_model" label="规格" width="120" show-overflow-tooltip />
@ -226,7 +226,7 @@
</el-dialog>
<!-- 处理调整单弹窗 -->
<el-dialog v-model="showProcessDialog" title="处理调整单" width="500px" :close-on-click-modal="false">
<el-dialog v-model="showProcessDialog" title="处理调整单" width="500px" destroy-on-close :close-on-click-modal="false">
<el-form label-width="120px">
<el-form-item label="调整单号">
<el-input v-model="processForm.order_no" disabled />