feat(钢卷调拨): 新增调拨类型列和改判功能
添加调拨类型列显示和钢卷改判功能,包括改判弹窗和重贴标签操作
This commit is contained in:
@@ -160,12 +160,12 @@
|
||||
</el-table-column> -->
|
||||
|
||||
<el-table-column v-if="showGrade" label="质量状态" align="center" prop="qualityStatus">
|
||||
<template slot-scope="scope">
|
||||
<!-- <template slot-scope="scope">
|
||||
<el-select v-model="scope.row.qualityStatus" placeholder="请选择质量状态" @change="handleGradeChange(scope.row)">
|
||||
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :value="item.value"
|
||||
:label="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
</template> -->
|
||||
</el-table-column>
|
||||
<el-table-column label="逻辑库位" align="center" prop="warehouseId" v-if="editWarehouse">
|
||||
<template slot-scope="scope">
|
||||
@@ -175,6 +175,9 @@
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
||||
|
||||
<el-table-column v-if="hasTransferType" label="调拨类型" align="center" prop="transferType" />
|
||||
|
||||
<el-table-column label="钢卷去向" align="center" prop="nextWarehouseId" v-if="editNext" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.nextWarehouseId" placeholder="钢卷去向" filterable
|
||||
@@ -313,6 +316,13 @@
|
||||
@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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</KLPTable>
|
||||
@@ -504,6 +514,70 @@
|
||||
<process-flow v-if="showProcessFlow" ref="processFlow"></process-flow>
|
||||
</div>
|
||||
</DragResizeBox>
|
||||
|
||||
<!-- 钢卷改判弹窗 -->
|
||||
<el-dialog title="钢卷改判" :visible.sync="judgeDialogVisible" width="800px" append-to-body>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="入场钢卷号">{{ judgeForm.enterCoilNo || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="当前钢卷号">{{ judgeForm.currentCoilNo || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="厂家原料卷号">{{ judgeForm.supplierCoilNo || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="逻辑库位">{{ judgeForm.warehouseName || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="实际库区">{{ judgeForm.actualWarehouseName || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="班组">{{ judgeForm.team || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="材料类型">{{ judgeForm.materialType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="产品/原料">{{ judgeForm.itemName || '-' }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="规格">{{ judgeForm.specification || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="材质">{{ judgeForm.material || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="厂家">{{ judgeForm.manufacturer || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="镀层质量">{{ judgeForm.zincLayer || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="表面处理">{{ judgeForm.surfaceTreatmentDesc || '-'
|
||||
}}</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="质量状态">{{ judgeForm.qualityStatus || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="切边要求">{{ judgeForm.trimmingRequirement || '-'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="原料材质">{{ judgeForm.packingStatus || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="包装要求">{{ judgeForm.packagingRequirement || '-'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="实测厚度(m)">{{ judgeForm.actualThickness || '-' }}
|
||||
m</el-descriptions-item>
|
||||
<el-descriptions-item label="实测宽度(m)">{{ judgeForm.actualWidth || '-' }}
|
||||
m</el-descriptions-item>
|
||||
<el-descriptions-item label="长度">{{ judgeForm.length || '-' }}
|
||||
m</el-descriptions-item>
|
||||
<el-descriptions-item label="毛重">{{ judgeForm.grossWeight || '-' }} t</el-descriptions-item>
|
||||
<el-descriptions-item label="净重">{{ judgeForm.netWeight || '-' }} t</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="生产开始时间">{{ judgeForm.productionStartTime || '-'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="生产结束时间">{{ judgeForm.productionEndTime || '-'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="调制度">{{ judgeForm.temperGrade || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="镀层种类">{{ judgeForm.coatingType || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="钢卷表面处理">{{ judgeForm.coilSurfaceTreatment || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" :span="2">{{ judgeForm.remark || '-' }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<div style="margin-top: 20px; padding: 15px; background-color: #f5f7fa; border-radius: 4px;">
|
||||
<el-form :model="judgeForm" label-width="120px">
|
||||
<el-form-item label="修改质量状态">
|
||||
<el-select v-model="judgeForm.qualityStatus" placeholder="请选择质量状态" style="width: 200px">
|
||||
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :value="item.value" :label="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="通知重贴标签">
|
||||
<el-checkbox v-model="judgeForm.notifyReLabel">是否通知重贴标签</el-checkbox>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="judgeDialogVisible = false">取消</el-button>
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitJudgeForm">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -675,6 +749,10 @@ export default {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
hasTransferType: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -851,6 +929,22 @@ export default {
|
||||
shippedCount: 0,
|
||||
unshippedCount: 0,
|
||||
statistics: {},
|
||||
// 钢卷改判弹窗
|
||||
judgeDialogVisible: false,
|
||||
judgeForm: {
|
||||
coilId: undefined,
|
||||
enterCoilNo: undefined,
|
||||
currentCoilNo: undefined,
|
||||
netWeight: undefined,
|
||||
warehouseName: undefined,
|
||||
actualWarehouseName: undefined,
|
||||
qualityStatus: undefined,
|
||||
itemName: undefined,
|
||||
itemMaterial: undefined,
|
||||
itemSpecification: undefined,
|
||||
itemManufacturer: undefined,
|
||||
notifyReLabel: false
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -933,6 +1027,19 @@ export default {
|
||||
})
|
||||
// 打开一个弹窗列出查询到的所有单据明细
|
||||
},
|
||||
// 处理重贴标签
|
||||
handleReplaceLabel(row) {
|
||||
updateMaterialCoilSimple({
|
||||
...row,
|
||||
transferType: '',
|
||||
}).then(res => {
|
||||
this.$message({
|
||||
message: '标签已重贴,记录移除',
|
||||
type: 'success',
|
||||
});
|
||||
this.getList();
|
||||
})
|
||||
},
|
||||
// 格式化毫秒值为xx天xx小时xx分钟
|
||||
formatDuration(milliseconds) {
|
||||
if (!milliseconds || milliseconds < 0) return '';
|
||||
@@ -1413,6 +1520,39 @@ export default {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
},
|
||||
/** 改判按钮操作 */
|
||||
handleJudge(row) {
|
||||
// 填充改判表单数据
|
||||
this.judgeForm = {
|
||||
...row,
|
||||
notifyReLabel: true
|
||||
};
|
||||
this.judgeDialogVisible = true;
|
||||
},
|
||||
/** 提交改判表单 */
|
||||
submitJudgeForm() {
|
||||
this.buttonLoading = true;
|
||||
const submitData = {
|
||||
...this.judgeForm,
|
||||
// 如果通知重贴标签,则设置 transferType 为技术部改判
|
||||
transferType: this.judgeForm.notifyReLabel ? '技术部改判' : null
|
||||
};
|
||||
updateMaterialCoilSimple(submitData).then(res => {
|
||||
this.buttonLoading = false;
|
||||
this.$message({
|
||||
message: '改判成功',
|
||||
type: 'success'
|
||||
});
|
||||
this.judgeDialogVisible = false;
|
||||
this.getList();
|
||||
}).catch(err => {
|
||||
this.buttonLoading = false;
|
||||
this.$message({
|
||||
message: '改判失败',
|
||||
type: 'error'
|
||||
});
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const coilIds = row.coilId || this.ids;
|
||||
|
||||
27
klp-ui/src/views/wms/coil/views/base/tranfer.vue
Normal file
27
klp-ui/src/views/wms/coil/views/base/tranfer.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<BasePage :qrcode="qrcode" :querys="querys" :hideWarehouseQuery="hideWarehouseQuery"
|
||||
:hideType="hideType" :showControl="showControl" :hasTransferType="hasTransferType" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BasePage from '../../panels/base.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BasePage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
qrcode: false,
|
||||
querys: {
|
||||
hasTransferType: true,
|
||||
// dataType: 1,
|
||||
},
|
||||
hideWarehouseQuery: true,
|
||||
hasTransferType: true,
|
||||
showControl: false,
|
||||
hideType: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user