fix: 修复钢卷管理相关页面问题和优化功能

- 修复钢卷历史页面控制显示问题
- 在交货报表中添加dataType参数
- 修改checkCoilNo接口支持coilId参数
- 优化镀锌报表查询逻辑,使用Promise.all并行请求
- 修复轧硬报表仓库ID错误问题
- 移除钢卷入库页面的只读限制
- 修复钢卷删除功能,支持删除带coilId的记录
This commit is contained in:
砂糖
2026-01-16 13:07:30 +08:00
parent 4526db8b0e
commit ea9f7fce34
6 changed files with 64 additions and 44 deletions

View File

@@ -194,13 +194,14 @@ export function cancelExportCoil(coilId) {
}
// 检查入场钢卷号或当前钢卷号是否合法(是否存在)
export function checkCoilNo({ currentCoilNo, enterCoilNo }) {
export function checkCoilNo({ currentCoilNo, enterCoilNo, coilId }) {
return request({
url: '/wms/materialCoil/checkCoilNoDuplicate',
method: 'get',
params: {
currentCoilNo,
enterCoilNo
enterCoilNo,
coilId
}
})
}

View File

@@ -61,8 +61,7 @@
<el-row v-if="form.materialType === '成品'">
<el-col :span="24">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
@@ -79,8 +78,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%"
:disabled="readonly">
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%">
<el-option label="净边料" value="净边料" />
<el-option label="毛边料" value="毛边料" />
</el-select>
@@ -94,8 +92,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%"
:disabled="readonly">
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
<el-option label="裸包" value="裸包" />
<el-option label="普包" value="普包" />
<el-option label="简包" value="简包" />
@@ -204,7 +201,7 @@
@click="openReceiptModal(scope.row)" v-loading="buttonLoading">签收</el-button>
<el-button v-if="scope.row.actionStatus == 0 || scope.row.actionStatus == 1" type="danger"
@click="handleReject(scope.row)" v-loading="buttonLoading">拒签</el-button>
<el-button v-if="scope.row.actionStatus == 3" type="warning" v-loading="buttonLoading"
<el-button type="warning" v-loading="buttonLoading"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
@@ -285,8 +282,7 @@
<div v-else>请先选择材料类型</div>
</el-form-item>
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="editCoil.form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<el-select v-model="editCoil.form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
@@ -302,21 +298,19 @@
</el-form-item>
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="editCoil.form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%"
:disabled="readonly">
<el-select v-model="editCoil.form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%">
<el-option label="净边料" value="净边料" />
<el-option label="毛边料" value="毛边料" />
</el-select>
</el-form-item>
<el-form-item label="打包状态" prop="packingStatus">
<el-input v-model="editCoil.form.packingStatus" placeholder="请输入打包状态" :disabled="readonly">
<el-input v-model="editCoil.form.packingStatus" placeholder="请输入打包状态">
</el-input>
</el-form-item>
<el-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="editCoil.form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%"
:disabled="readonly">
<el-select v-model="editCoil.form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
<el-option label="裸包" value="裸包" />
<el-option label="普包" value="普包" />
<el-option label="简包" value="简包" />
@@ -344,7 +338,7 @@
</template>
<script>
import { getMaterialCoil, listMaterialCoil, updateMaterialCoilSimple, getMaxCoilNo, checkCoilNo } from '@/api/wms/coil'
import { getMaterialCoil, listMaterialCoil, updateMaterialCoilSimple, getMaxCoilNo, checkCoilNo, delMaterialCoil } from '@/api/wms/coil'
import { listPendingAction, delPendingAction, updatePendingAction } from '@/api/wms/pendingAction'
import MaterialSelect from "@/components/KLPService/MaterialSelect";
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
@@ -421,15 +415,21 @@ export default {
// 远程校验,检查钢卷号是否存在
{
validator: (rule, value, callback) => {
checkCoilNo({ enterCoilNo: value }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'enter' || duplicateType === 'both') {
// alert('入场钢卷号重复,请重新输入');
callback(new Error('入场钢卷号重复,请重新输入'));
} else {
callback();
}
})
if (this.form.coilId) {
// 新增时触发校验
console.log('新增时触发校验');
callback();
} else {
checkCoilNo({ enterCoilNo: value }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'enter' || duplicateType === 'both') {
// alert('入场钢卷号重复,请重新输入');
callback(new Error('入场钢卷号重复,请重新输入'));
} else {
callback();
}
})
}
}, trigger: 'blur'
},
],
@@ -698,12 +698,18 @@ export default {
},
handleDelete(row) {
console.log(row.coilId)
this.$modal.confirm("确认删除吗?", "删除确认", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.buttonLoading = true;
if (row.coilId) {
delMaterialCoil(row.coilId).catch(err => {
this.$message.error(err.message || '删除钢卷失败')
})
}
delPendingAction(row.actionId).then(response => {
this.$modal.msgSuccess("删除成功");
this.getList();

View File

@@ -15,7 +15,7 @@ export default {
querys: {
dataType: 0,
},
showControl: false,
showControl: true,
labelType: '2',
hideType: false
}

View File

@@ -137,6 +137,7 @@ export default {
pageNum: 1,
pageSize: 9999,
status: 1,
dataType: 1,
byExportTimeStart: startTime,
byExportTimeEnd: endTime,
selectType: 'product',

View File

@@ -90,9 +90,6 @@
<script>
import { listCoilWithIds } from "@/api/wms/coil";
import {
listPendingAction,
} from '@/api/wms/pendingAction';
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
@@ -175,16 +172,16 @@ export default {
...this.queryParams,
pageSize: 9999,
pageNum: 1,
dataType: 1,
// dataType: 1,
createBy: 'suanzhakuguan',
warehouseId: '1988150323162836993'
warehouseId: '1988150099140866050'
}),
// 镀锌原料库
listCoilWithIds({
...this.queryParams,
pageSize: 9999,
pageNum: 1,
dataType: 1,
// dataType: 1,
selectType: 'raw_material',
createBy: 'suanzhakuguan',
warehouseId: '1988150263284953089'
@@ -194,7 +191,7 @@ export default {
...this.queryParams,
pageSize: 9999,
pageNum: 1,
dataType: 1,
// dataType: 1,
selectType: 'raw_material',
createBy: 'suanzhakuguan',
warehouseId: '1988150545175736322'
@@ -204,7 +201,7 @@ export default {
...this.queryParams,
pageSize: 9999,
pageNum: 1,
dataType: 1,
// dataType: 1,
selectType: 'raw_material',
createBy: 'suanzhakuguan',
warehouseId: '1988150150521090049'

View File

@@ -166,15 +166,30 @@ export default {
methods: {
getList() {
this.loading = true
// 镀锌原料库,镀锌纵剪分条原料库
listCoilWithIds({
...this.queryParams,
pageSize: 9999,
pageNum: 1,
dataType: 1,
warehouseIds: '1988150263284953089,1988150487185289217'
}).then(res => {
const list = [...res.rows];
Promise.all([
// 镀锌成品库
listCoilWithIds({
...this.queryParams,
pageSize: 9999,
pageNum: 1,
// dataType: 1,
selectType: 'product',
// createBy: 'suanzhakuguan',
warehouseId: '1988150323162836993'
}),
// 镀锌纵剪分条原料库
listCoilWithIds({
...this.queryParams,
pageSize: 9999,
pageNum: 1,
// dataType: 1,
selectType: 'raw_material',
// createBy: 'suanzhakuguan',
warehouseId: '1988150487185289217'
}),
]).then(([res1, res2]) => {
console.log(res1, res2)
const list = [...res1.rows, ...res2.rows]
// 按照createTime 降序排序
this.list = list.sort(
(a, b) => new Date(b.createTime) - new Date(a.createTime)