feat: 新增多项功能并优化多个页面交互

1. 新增批量修改钢卷合同接口与合同批量转单功能
2. 优化KLPTable多选列默认位置与物料预警查询交互
3. 升级CoilTable支持多选与自定义操作栏
4. 新增菜单导出功能
5. 优化钢卷面板列宽与操作按钮文案
This commit is contained in:
2026-06-24 17:51:14 +08:00
parent fa84bae4f2
commit a4f8ecb48b
8 changed files with 255 additions and 75 deletions

View File

@@ -26,16 +26,7 @@
<el-option label="已忽略" value="2" />
</el-select>
</el-form-item>
<el-form-item label="工序" prop="actionType">
<el-select
v-model="queryParams.actionType"
placeholder="请选择工序"
clearable
@change="handleQuery"
>
<el-option v-for="item in dict.type.action_type" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="处理人" prop="handleBy">
<el-input v-model="queryParams.handleBy" placeholder="请输入处理人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
@@ -91,6 +82,15 @@
</el-col>
</el-row>
<el-row :gutter="10" class="mb8" style="margin-bottom: 16px;">
<el-col :span="24">
<el-radio-group v-model="queryParams.actionType" @change="handleQuery" size="mini">
<el-radio-button :key="all" :label="''">全部</el-radio-button>
<el-radio-button v-for="item in dict.type.action_type" :key="item.value" :label="item.value">{{ item.label }}</el-radio-button>
</el-radio-group>
</el-col>
</el-row>
<el-table v-loading="loading" :data="materialWarningList" :row-class-name="getRowClassName" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :selectable="checkSelectable" />
<!-- <el-table-column label="钢卷ID" align="center" prop="coilId" /> -->

View File

@@ -165,11 +165,11 @@
<current-coil-no :current-coil-no="scope.row.currentCoilNo"></current-coil-no>
</template>
</el-table-column>
<el-table-column label="净重" align="center" prop="netWeight" v-if="!hideWarehouseQuery" />
<el-table-column label="净重" width="80" align="center" prop="netWeight" v-if="!hideWarehouseQuery" />
<el-table-column label="逻辑库位" width="120" align="center" prop="warehouseName" v-if="!hideWarehouseQuery" />
<el-table-column label="实际库区" width="100" align="center" prop="actualWarehouseName"
v-if="!hideWarehouseQuery && !showExportTime" />
<el-table-column label="产品类型" align="center" width="180" v-if="!moreColumn">
<el-table-column label="产品类型" align="center" width="160" v-if="!moreColumn">
<template slot-scope="scope">
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row" />
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row" />
@@ -256,22 +256,15 @@
</template>
</el-table-column>
<el-table-column label="关联订单" align="center" prop="relatedToOrder" v-if="showRelatedToOrder" width="150">
<template slot-scope="scope">
<el-switch @change="handleRowChange(scope.row)" v-model="scope.row.isRelatedToOrder" :active-value="1"
:inactive-value="0" />
</template>
</el-table-column>
<el-table-column label="发货计划" align="center" prop="nextWarehouseId"
v-if="showWaybill || (isShipView && shipViewModel.status == 'has')" width="150">
v-if="showWaybill || isShipView" width="150">
<template slot-scope="scope">
{{ scope.row.bindPlanName || '-' }}
</template>
</el-table-column>
<el-table-column label="发货单据" align="center" prop="nextWarehouseId"
v-if="showWaybill || (isShipView && shipViewModel.status == 'has')" width="150">
v-if="showWaybill || isShipView" width="150">
<template slot-scope="scope">
<el-popover placement="top" width="400" trigger="hover">
<div>
@@ -346,52 +339,55 @@
</el-table-column>
<el-table-column prop="action" label="操作" align="center" class-name="small-padding fixed-width"
<el-table-column prop="action" label="操作" align="center" class-name="small-padding fixed-width" width="180"
v-if="!moreColumn">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handlePreviewLabel(scope.row)">
预览标签
</el-button>
<el-button size="mini" type="text" icon="el-icon-printer" @click="handlePrintLabel(scope.row)">
打印标签
</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleNumberCoilClick(scope.row)">
数字钢卷
</el-button>
<el-button size="mini" v-if="showStatus" type="text" icon="el-icon-upload"
@click="handleExportCoil(scope.row)">
发货
</el-button>
<el-button size="mini" v-if="showExportTime" type="text" icon="el-icon-close"
@click="handleCancelExport(scope.row)">
撤回发货
</el-button>
<el-button size="mini" v-if="showProductionTimeEdit" type="text" icon="el-icon-close"
@click="handleProductionTimeEdit(scope.row)">
加工修正
</el-button>
<el-button size="mini" v-if="showExportTime" type="text" icon="el-icon-sold-out"
@click="handleReturnCoil(scope.row)">
退货钢卷
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleCheck(scope.row)"
v-if="showControl">修正</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleTrace(scope.row)">追溯</el-button>
<el-button size="mini" v-if="showWaybill" type="text" icon="el-icon-close"
@click="handleRemoveFromWaybill(scope.row)">
移出发货单
</el-button>
<el-button v-if="showGrade" size="mini" type="text" icon="el-icon-edit" @click="handleJudge(scope.row)">
改判
</el-button>
<el-button size="mini" v-if="hasTransferType" type="text" icon="el-icon-close"
@click="handleReplaceLabel(scope.row)">
重贴标签
</el-button>
<el-button size="mini" v-if="hasTransferType" type="text" icon="el-icon-document"
@click="handleViewTransferRecord(scope.row)">
查看记录
</el-button>
<div>
<el-button size="mini" type="text" icon="el-icon-view" @click="handlePreviewLabel(scope.row)">
预览标签
</el-button>
<el-button size="mini" type="text" icon="el-icon-printer" @click="handlePrintLabel(scope.row)">
打印标签
</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleNumberCoilClick(scope.row)">
数字钢卷
</el-button>
<el-button size="mini" v-if="showStatus" type="text" icon="el-icon-upload"
@click="handleExportCoil(scope.row)">
钢卷发货
</el-button>
<el-button size="mini" v-if="showExportTime" type="text" icon="el-icon-close"
@click="handleCancelExport(scope.row)">
撤回发货
</el-button>
<el-button size="mini" v-if="showProductionTimeEdit" type="text" icon="el-icon-close"
@click="handleProductionTimeEdit(scope.row)">
加工修正
</el-button>
<el-button size="mini" v-if="showExportTime" type="text" icon="el-icon-sold-out"
@click="handleReturnCoil(scope.row)">
退货钢卷
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleCheck(scope.row)"
v-if="showControl">数据修正</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleTrace(scope.row)">生产追溯</el-button>
<el-button size="mini" v-if="showWaybill" type="text" icon="el-icon-close"
@click="handleRemoveFromWaybill(scope.row)">
移出货单
</el-button>
<el-button v-if="showGrade" size="mini" type="text" icon="el-icon-edit" @click="handleJudge(scope.row)">
质量改判
</el-button>
<el-button size="mini" v-if="hasTransferType" type="text" icon="el-icon-close"
@click="handleReplaceLabel(scope.row)">
重贴标签
</el-button>
<el-button size="mini" v-if="hasTransferType" type="text" icon="el-icon-document"
@click="handleViewTransferRecord(scope.row)">
查看记录
</el-button>
</div>
</template>
</el-table-column>
</KLPTable>