feat: 修改打包状态为原料材质并优化异常管理功能
修改所有打包状态字段为原料材质,统一业务术语 重构异常管理功能,新增异常记录列表和删除功能 优化分条钢卷面板显示更多物料信息 将切边要求和包装要求改为下拉选择框
This commit is contained in:
@@ -355,8 +355,8 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="打包状态" prop="packingStatus">
|
||||
<el-input v-model="form.packingStatus" placeholder="请输入打包状态">
|
||||
<el-form-item label="原料材质" prop="packingStatus">
|
||||
<el-input v-model="form.packingStatus" placeholder="请输入原料材质">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
@@ -791,7 +791,7 @@ export default {
|
||||
{ label: '毛重', prop: 'grossWeight' },
|
||||
{ label: '备注', prop: 'remark' },
|
||||
{ label: '质量状态', prop: 'qualityStatus' },
|
||||
{ label: '打包状态', prop: 'packingStatus' },
|
||||
{ label: '原料材质', prop: 'packingStatus' },
|
||||
{ label: '切边要求', prop: 'edgeRequirement' },
|
||||
{ label: '包装要求', prop: 'packagingRequirement' },
|
||||
{ label: '厂家', prop: 'itemManufacturer' },
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
<span class="param-value">{{ item.trimmingRequirement }}</span>
|
||||
</div>
|
||||
<div class="param-row" v-if="item.packingStatus">
|
||||
<span class="param-label">打包状态:</span>
|
||||
<span class="param-label">原料材质:</span>
|
||||
<span class="param-value">{{ item.packingStatus }}</span>
|
||||
</div>
|
||||
<div class="param-row" v-if="item.packagingRequirement">
|
||||
@@ -410,13 +410,8 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-dialog title="新增异常" :visible.sync="exceptionDialogVisible" width="600px">
|
||||
<abnormal-form ref="abnormalForm" v-model="exceptionForm" :show-coil-selector="false"></abnormal-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="info" @click="handleAbnormal">查看异常</el-button>
|
||||
<el-button type="primary" @click="confirmException">确 定</el-button>
|
||||
<el-button @click="cancelException">取 消</el-button>
|
||||
</div>
|
||||
<el-dialog title="异常管理" :visible.sync="exceptionDialogVisible" fullscreen>
|
||||
<exception-manager :coilId="currentCoilId"></exception-manager>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 标签预览弹窗 -->
|
||||
@@ -439,10 +434,9 @@ import { listPendingAction, startProcess, cancelAction, delPendingAction, addPen
|
||||
import { parseTime } from '@/utils/klp'
|
||||
import ProductInfo from '@/components/KLPService/Renderer/ProductInfo'
|
||||
import RawMaterialInfo from '@/components/KLPService/Renderer/RawMaterialInfo'
|
||||
import { addCoilAbnormal } from '@/api/wms/coilAbnormal'
|
||||
import LabelRender from './LabelRender/index.vue'
|
||||
import StepSplit from './stepSplit.vue'
|
||||
import AbnormalForm from '../components/AbnormalForm'
|
||||
import ExceptionManager from '../components/ExceptionManager'
|
||||
import { getCoilTagPrintType } from '@/views/wms/coil/js/coilPrint'
|
||||
|
||||
export default {
|
||||
@@ -467,7 +461,7 @@ export default {
|
||||
RawMaterialInfo,
|
||||
LabelRender,
|
||||
StepSplit,
|
||||
AbnormalForm
|
||||
ExceptionManager
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -503,16 +497,7 @@ export default {
|
||||
},
|
||||
buttonLoading: false,
|
||||
exceptionDialogVisible: false,
|
||||
exceptionForm: {
|
||||
coilId: null,
|
||||
position: null,
|
||||
lengthCoord: null,
|
||||
startPosition: 0,
|
||||
endPosition: 0,
|
||||
defectCode: null,
|
||||
degree: null,
|
||||
remark: null
|
||||
},
|
||||
currentCoilId: null,
|
||||
tagSizeMap: {
|
||||
'2': {
|
||||
width: 100,
|
||||
@@ -930,27 +915,14 @@ export default {
|
||||
return '—'
|
||||
},
|
||||
handleAddAbnormal(row) {
|
||||
this.exceptionForm.coilId = row.coilId
|
||||
this.currentCoilId = row.coilId
|
||||
if (!row.coilId) {
|
||||
this.$message.error('请先选择钢卷')
|
||||
return
|
||||
}
|
||||
// 显示弹窗
|
||||
this.exceptionDialogVisible = true
|
||||
},
|
||||
confirmException() {
|
||||
this.$refs["abnormalForm"].validate(valid => {
|
||||
if (valid) {
|
||||
addCoilAbnormal({
|
||||
...this.exceptionForm,
|
||||
length: this.exceptionForm.endPosition - this.exceptionForm.startPosition,
|
||||
}).then(response => {
|
||||
this.$message.success('异常记录添加成功')
|
||||
this.cancelException();
|
||||
// 重置表单
|
||||
this.getMaterialCoil()
|
||||
}).catch(error => {
|
||||
console.error('异常记录添加失败:', error)
|
||||
this.$message.error('异常记录添加失败: ' + (error.message || error))
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
handleAbnormal() {
|
||||
this.$router.push({
|
||||
path: '/quality/detail',
|
||||
@@ -1386,4 +1358,16 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 对话框底部样式
|
||||
.dialog-footer {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
padding: 16px;
|
||||
border-top: 1px solid #e4e7ed;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
</style>
|
||||
@@ -30,16 +30,28 @@
|
||||
<el-descriptions-item label="所在库位">{{ coilInfo.warehouseName || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="材料类型">{{ coilInfo.materialType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="净重">{{ coilInfo.netWeight || '-' }} T</el-descriptions-item>
|
||||
<el-descriptions-item label="物料名称">{{ coilInfo.itemName || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="规格">{{ coilInfo.specification || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="材质">{{ coilInfo.material || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="原料材质">{{ coilInfo.packingStatus || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="净重">{{ coilInfo.netWeight || '-' }} T</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<!-- 已分条钢卷列表 -->
|
||||
|
||||
<el-descriptions :column="1" border title="已分出的钢卷列表"></el-descriptions>
|
||||
<el-table v-loading="splitListLoading" :data="splitList" @row-click="handleSplitItemClick"
|
||||
highlight-current-row border stripe>
|
||||
<el-table-column prop="enterCoilNo" label="入场钢卷号" />
|
||||
|
||||
<el-table-column prop="currentCoilNo" label="当前钢卷号" />
|
||||
<el-table-column prop="materialType" label="材料类型" />
|
||||
<el-table-column prop="netWeight" label="净重" />
|
||||
<el-table-column prop="dataType" label="钢卷状态">
|
||||
<el-table-column label="物料类型">
|
||||
<template #default="scope">
|
||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row" />
|
||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="netWeight" label="净重" width="70" />
|
||||
<el-table-column prop="dataType" label="钢卷状态" width="80">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.status == 1">
|
||||
<el-tag type="info">已发货</el-tag>
|
||||
@@ -56,7 +68,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="220">
|
||||
<el-table-column label="操作" width="180">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.dataType == 1 && scope.row.status == 0">
|
||||
<el-button @click.stop="handlePrint(scope.row)">打印</el-button>
|
||||
@@ -126,8 +138,8 @@
|
||||
<el-option label="毛边料" value="毛边料" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="打包状态" prop="packingStatus">
|
||||
<el-input v-model="splitForm.packingStatus" placeholder="请输入打包状态" />
|
||||
<el-form-item label="原料材质" prop="packingStatus">
|
||||
<el-input v-model="splitForm.packingStatus" placeholder="请输入原料材质" />
|
||||
</el-form-item>
|
||||
<el-form-item label="包装要求" prop="packagingRequirement">
|
||||
<el-select v-model="splitForm.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
|
||||
@@ -225,13 +237,13 @@
|
||||
<el-descriptions-item label="厂家">{{ selectedSplitItem.manufacturer || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="镀层质量">{{ selectedSplitItem.zincLayer || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="表面处理">{{ selectedSplitItem.surfaceTreatmentDesc || '-'
|
||||
}}</el-descriptions-item>
|
||||
}}</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="质量状态">{{ selectedSplitItem.qualityStatus || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="切边要求">{{ selectedSplitItem.trimmingRequirement || '-'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="打包状态">{{ selectedSplitItem.packingStatus || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="原料材质">{{ selectedSplitItem.packingStatus || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="包装要求">{{ selectedSplitItem.packagingRequirement || '-'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="实测厚度(m)">{{ selectedSplitItem.actualThickness || '-' }}
|
||||
@@ -246,12 +258,12 @@
|
||||
<el-descriptions-item label="调制度">{{ selectedSplitItem.temperGrade || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="镀层种类">{{ selectedSplitItem.coatingType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="生产开始时间">{{ selectedSplitItem.productionStartTime || '-'
|
||||
}}</el-descriptions-item>
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="生产结束时间">{{ selectedSplitItem.productionEndTime || '-'
|
||||
}}</el-descriptions-item>
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="生产耗时">{{ selectedSplitItem.formattedDuration ||
|
||||
(selectedSplitItem.productionDuration ? selectedSplitItem.productionDuration + ' 分钟' : '-')
|
||||
}}</el-descriptions-item>
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" :span="2">{{ selectedSplitItem.remark || '-' }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
@@ -287,6 +299,8 @@ import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect
|
||||
import TimeInput from "@/components/TimeInput";
|
||||
import AbnormalForm from '../components/AbnormalForm';
|
||||
import { generateCoilNoPrefix } from "@/utils/coil/coilNo";
|
||||
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
|
||||
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
||||
|
||||
export default {
|
||||
name: 'StepSplit',
|
||||
@@ -314,7 +328,9 @@ export default {
|
||||
WarehouseSelect,
|
||||
ActualWarehouseSelect,
|
||||
TimeInput,
|
||||
AbnormalForm
|
||||
AbnormalForm,
|
||||
ProductInfo,
|
||||
RawMaterialInfo,
|
||||
},
|
||||
dicts: ['coil_quality_status', 'coil_abnormal_position', 'coil_abnormal_code', 'coil_abnormal_degree'],
|
||||
data() {
|
||||
|
||||
Reference in New Issue
Block a user