feat(wms/move): 新增调拨单记忆输入并优化权限与功能

1. 新增MemoInput组件的maxSuggestions配置,限制下拉提示条数
2. 为调拨单相关页面替换输入框为带记忆功能的MemoInput
3. 移除冗余的regrade_quality_type字典依赖
4. 给删除按钮增加glc角色权限控制
5. 简化删除操作的Promise链式调用逻辑
6. 新增调拨单号、名称的枚举存储key
This commit is contained in:
王文昊
2026-07-08 10:34:10 +08:00
parent 72a9371f5f
commit eef375cc2a
5 changed files with 20 additions and 23 deletions

View File

@@ -58,6 +58,12 @@ export default {
disabled: {
type: Boolean,
default: false
},
// 下拉最多展示条数默认6条
maxSuggestions: {
type: Number,
default: 6,
validator: (value) => value > 0
}
},
data() {
@@ -118,7 +124,7 @@ export default {
});
}
cb(results); // 回调返回匹配结果
cb(results.slice(0, this.maxSuggestions)); // 回调返回匹配结果(限制条数)
},
/**

View File

@@ -12,4 +12,6 @@ export const MemoInputStorageKey = {
packagingRequirement: 'packagingRequirement', // 打包要求
coilSpec: 'coilSpec', // 钢卷规格
coatingType: 'coatingType', // 钢卷镀层种类
transferNo: 'transferNo', // 调拨单号
transferName: 'transferName', // 调拨单名称
}

View File

@@ -411,7 +411,7 @@ import { listWarehouse } from '@/api/wms/warehouse'
export default {
name: 'QualityReview',
components: { CoilSelector },
dicts: ['quality_review_status', 'regrade_quality_type', 'coil_quality_status'],
dicts: ['quality_review_status', 'coil_quality_status'],
data() {
return {
// 列表

View File

@@ -93,7 +93,7 @@ import { listQualityReview, approveQualityReview, rejectQualityReview, getQualit
export default {
name: 'QualityReviewTodo',
dicts: ['quality_review_status', 'regrade_quality_type', 'coil_quality_status'],
dicts: ['quality_review_status', 'coil_quality_status'],
data() {
return {
loading: false,

View File

@@ -2,11 +2,10 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="调拨单号" prop="transferNo">
<el-input v-model="queryParams.transferNo" placeholder="请输入调拨单号" clearable @keyup.enter.native="handleQuery" />
<MemoInput storageKey="transferNo" v-model="queryParams.transferNo" placeholder="请输入调拨单号" />
</el-form-item>
<el-form-item label="调拨单名称" prop="transferName">
<el-input v-model="queryParams.transferName" placeholder="请输入调拨单名称,用于帮助记忆与沟通" clearable
@keyup.enter.native="handleQuery" />
<MemoInput storageKey="transferName" v-model="queryParams.transferName" placeholder="请输入调拨单名称,用于帮助记忆与沟通" />
</el-form-item>
<el-form-item label="调拨时间" prop="transferTime">
<el-date-picker clearable v-model="queryParams.transferTime" type="date" value-format="yyyy-MM-dd"
@@ -41,7 +40,7 @@
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete">删除</el-button>
v-hasRole="['glc']" @click="handleDelete">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
@@ -80,8 +79,8 @@
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
:disabled="!canEdit(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
:disabled="!canDelete(scope.row)">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" v-hasRole="['glc']"
@click="handleDelete(scope.row)">删除</el-button>
<el-button size="mini" plain type="text" @click="handleSubmitapprove(scope.row)"
v-if="(scope.row.approveStatus || '0') == '0'" icon="el-icon-check">提交</el-button>
<el-button size="mini" plain type="text" @click="handleWithdrawapprove(scope.row)"
@@ -103,10 +102,10 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="调拨单号" prop="transferNo">
<el-input v-model="form.transferNo" placeholder="请输入调拨单号" />
<MemoInput storageKey="transferNo" v-model="form.transferNo" placeholder="请输入调拨单号" />
</el-form-item>
<el-form-item label="调拨单名称" prop="transferName">
<el-input v-model="form.transferName" placeholder="请输入调拨单名称,用于帮助记忆与沟通" />
<MemoInput storageKey="transferName" v-model="form.transferName" placeholder="请输入调拨单名称,用于帮助记忆与沟通" />
</el-form-item>
<el-form-item label="调拨时间" prop="transferTime">
<el-date-picker clearable v-model="form.transferTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
@@ -297,12 +296,6 @@ export default {
const status = row.approveStatus || '0';
return status === '0' || status === '1' || status === '3';
},
/** 判断是否可以删除 */
canDelete(row) {
// 如果没有状态字段,则视为未提交
const status = row.approveStatus || '0';
return status === '0';
},
/** 提交审批 */
handleSubmitapprove(row) {
this.$confirm('确定要提交审批吗?', '提示', {
@@ -604,14 +597,10 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const orderIds = row.orderId || this.ids;
this.$modal.confirm('是否确认删除调拨单主编号为"' + orderIds + '"的数据项?').then(() => {
this.loading = true;
return delTransferOrder(orderIds);
}).then(() => {
this.loading = false;
this.loading = true;
delTransferOrder(orderIds).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
}).finally(() => {
this.loading = false;
});