feat: 价格调整管理模块 el-table → VxeTable 迁移

- 安装 vxe-table@4.19.6 + xe-utils@3.9.1
- main.js 全局注册 VxeTable
- priceAdjustmentManagement/index.vue 替换 4 个表格:
  - el-table → vxe-table (+ edit-config 可编辑单元格)
  - el-table-column → vxe-column
  - selection → checkbox
  - 可编辑列添加 edit-render
- 备份: backup/vxetable-migration-20260602/
This commit is contained in:
2026-06-02 15:58:59 +08:00
parent dc3c37123f
commit 67a0f7fc08
4 changed files with 145 additions and 79 deletions

View File

@@ -1,5 +1,7 @@
import {createApp} from 'vue';
import VxeUIAll from 'vxe-table';
import 'vxe-table/lib/style.css';
import Cookies from 'js-cookie';
// 导入 hiprint 并挂载到全局 window 对象
@@ -122,6 +124,7 @@ directive(app);
// 全局禁止点击遮罩层关闭弹窗
ElDialog.props.closeOnClickModal.default = false;
// 使用element-plus 并且设置全局的大小
app.use(VxeUIAll);
app.use(ElementPlus, {
locale: zhCn,
// 支持 large、default、small

View File

@@ -75,23 +75,23 @@
</el-button>
</el-col>
</el-row>
<el-table
<vxe-table
v-if="refreshTable"
ref="tableRef"
v-loading="loading"
:data="definitionList1"
tooltip-effect="dark"
:show-overflow-tooltip="true"
show-overflow
:edit-config="{trigger: 'click', mode: 'cell' }"
style="width: 100% !important"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="40"
align="center"
fixed="left"
/>
<el-table-column
<vxe-column
label="名称"
prop="name"
align="center"
@@ -117,8 +117,8 @@
</template>
</PopoverList>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="编码"
prop="busNo"
align="center"
@@ -126,9 +126,9 @@
<template #default="scope">
{{ scope.row.busNo ? scope.row.busNo : '-' }}
</template>
</el-table-column>
</vxe-column>
<el-table-column
<vxe-column
label="规格"
prop="volume"
align="center"
@@ -136,8 +136,8 @@
<template #default="scope">
{{ scope.row.volume ? scope.row.volume : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="当前进货价"
prop="originBuyingPrice"
align="center"
@@ -145,10 +145,11 @@
<template #default="scope">
{{ scope.row.originBuyingPrice ? scope.row.originBuyingPrice : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调后进货价"
prop="newBuyingPrice"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -158,8 +159,8 @@
step="0.01"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="当前零售价"
prop="originRetailPrice"
align="center"
@@ -167,10 +168,11 @@
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调后零售价"
prop="newRetailPrice"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -180,10 +182,11 @@
step="0.01"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调价理由"
prop="reason"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -195,8 +198,8 @@
autosize
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -268,23 +271,23 @@
</el-button>
</el-col>
</el-row>
<el-table
<vxe-table
v-if="refreshTable"
ref="tableRef"
v-loading="loading"
:data="definitionList2"
tooltip-effect="dark"
:show-overflow-tooltip="true"
show-overflow
:edit-config="{trigger: 'click', mode: 'cell' }"
style="width: 100% !important"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="40"
align="center"
fixed="left"
/>
<el-table-column
<vxe-column
label="名称"
prop="name"
align="center"
@@ -310,8 +313,8 @@
</template>
</PopoverList>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="编码"
prop="busNo"
align="center"
@@ -319,8 +322,8 @@
<template #default="scope">
{{ scope.row.busNo ? scope.row.busNo : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="规格"
prop="volume"
align="center"
@@ -328,8 +331,8 @@
<template #default="scope">
{{ scope.row.volume ? scope.row.volume : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="当前进货价"
prop="originBuyingPrice"
align="center"
@@ -337,10 +340,11 @@
<template #default="scope">
{{ scope.row.originBuyingPrice ? scope.row.originBuyingPrice : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调后进货价"
prop="newBuyingPrice"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -350,8 +354,8 @@
step="0.01"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="当前零售价"
prop="originRetailPrice"
align="center"
@@ -359,10 +363,11 @@
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调后零售价"
prop="newRetailPrice"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -372,10 +377,11 @@
step="0.01"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调价理由"
prop="reason"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -387,8 +393,8 @@
autosize
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -460,23 +466,23 @@
</el-button>
</el-col>
</el-row>
<el-table
<vxe-table
v-if="refreshTable"
ref="tableRef"
v-loading="loading"
:data="definitionList3"
tooltip-effect="dark"
:show-overflow-tooltip="true"
show-overflow
:edit-config="{trigger: 'click', mode: 'cell' }"
style="width: 100% !important"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="40"
align="center"
fixed="left"
/>
<el-table-column
<vxe-column
label="名称"
prop="name"
align="center"
@@ -502,8 +508,8 @@
</template>
</PopoverList>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="编码"
prop="busNo"
align="center"
@@ -511,9 +517,9 @@
<template #default="scope">
{{ scope.row.busNo ? scope.row.busNo : '-' }}
</template>
</el-table-column>
</vxe-column>
<el-table-column
<vxe-column
label="当前零售价"
prop="originRetailPrice"
align="center"
@@ -521,10 +527,11 @@
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调后零售价"
prop="newRetailPrice"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -534,10 +541,11 @@
step="0.01"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调价理由"
prop="reason"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -549,8 +557,8 @@
autosize
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -652,22 +660,22 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-if="refreshTable"
ref="tableRef"
v-loading="loading"
:data="definitionList4"
tooltip-effect="dark"
:show-overflow-tooltip="true"
show-overflow
:edit-config="{trigger: 'click', mode: 'cell' }"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="40"
align="center"
fixed="left"
/>
<el-table-column
<vxe-column
label="名称"
prop="orgName"
align="center"
@@ -677,8 +685,8 @@
{{ scope.row.orgName ? scope.row.orgName : '-' }}
</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="类型"
min-width="120"
align="center"
@@ -701,8 +709,8 @@
</el-select>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="当前零售价"
prop="originRetailPrice"
align="center"
@@ -710,10 +718,11 @@
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调后零售价"
prop="newRetailPrice"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -723,10 +732,11 @@
step="0.01"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
label="调价理由"
prop="reason"
:edit-render="{}"
align="center"
>
<template #default="scope">
@@ -738,8 +748,8 @@
autosize
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"