Browse Source

2025-10-21

过站采集 报工的MRB异常单 增加MRB异常登记
master
fengyuan_yang 3 months ago
parent
commit
c7e2157bac
  1. 3
      src/api/yieldReport/produce_order.js
  2. 262
      src/views/modules/yieldReport/com_mrb_register.vue
  3. 16
      src/views/modules/yieldReport/com_produce_report_normal.vue

3
src/api/yieldReport/produce_order.js

@ -56,3 +56,6 @@ export const updateOperatorTime = data => createAPI('schedule/updateOperatorTime
// 批量更新操作员时间
export const batchUpdateOperatorTime = data => createAPI('schedule/batchUpdateOperatorTime', 'POST', data)
// 更新派工单MRB信息
export const updateScheduleMrbInfo = data => createAPI('schedule/updateScheduleMrbInfo', 'POST', data)

262
src/views/modules/yieldReport/com_mrb_register.vue

@ -0,0 +1,262 @@
<template>
<div class="mrb-register">
<el-dialog title="MRB异常单登记" :close-on-click-modal="false" v-drag :visible.sync="visible" width="550px" :append-to-body="true" @close="handleClose">
<el-form :model="formData" :rules="rules" ref="mrbForm" label-width="65px" class="mrb-form">
<el-form-item prop="mrb">
<span slot="label" class="required-label">MRB</span>
<el-input v-model="formData.mrb" placeholder="请扫描/选择操作员" clearable></el-input>
</el-form-item>
<el-form-item prop="mrbInspectionReport">
<span slot="label" class="required-label">质检单</span>
<el-input v-model="formData.mrbInspectionReport" placeholder="请填写质检单" clearable></el-input>
</el-form-item>
<el-form-item label="备注" prop="mrbRemark">
<el-input type="textarea" v-model="formData.mrbRemark" :rows="3"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top: 55px;text-align:center">
<el-button type="primary" :loading="loading" @click="submitForm">确定</el-button>
<el-button type="primary" @click="closeDialog">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
<script>
import { updateScheduleMrbInfo } from '@/api/yieldReport/produce_order.js';
export default {
name: 'ComMrbRegister',
props: {
visible: {
type: Boolean,
default: false
}
},
data() {
return {
loading: false,
scheduleData: {
site: '',
orderNo: '',
itemNo: '',
seqNo: ''
},
formData: {
mrb: '',
mrbInspectionReport: '',
mrbRemark: ''
},
rules: {
mrb: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
mrbInspectionReport: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
}
};
},
methods: {
/**
* 初始化对话框
* @param {Object} scheduleData - 派工单数据
*/
init(scheduleData) {
this.scheduleData = {
site: scheduleData.site,
orderNo: scheduleData.orderNo,
itemNo: scheduleData.itemNo,
seqNo: scheduleData.seqNo
};
//
this.formData = {
mrb: '',
mrbInspectionReport: '',
mrbRemark: ''
};
//
this.$nextTick(() => {
if (this.$refs.mrbForm) {
this.$refs.mrbForm.clearValidate();
}
});
},
/**
* 提交表单
*/
submitForm() {
this.$refs.mrbForm.validate((valid) => {
if (valid) {
this.loading = true;
const params = {
site: this.scheduleData.site,
orderNo: this.scheduleData.orderNo,
itemNo: this.scheduleData.itemNo,
seqNo: this.scheduleData.seqNo,
mrb: this.formData.mrb,
mrbInspectionReport: this.formData.mrbInspectionReport,
mrbRemark: this.formData.mrbRemark
};
updateScheduleMrbInfo(params).then(({ data }) => {
this.loading = false;
if (data.code === 0 || data.code === 200) {
this.$message.success('MRB异常单登记成功');
this.$emit('update:visible', false);
//
this.$emit('confirmed');
} else {
this.$message.error(data.msg || 'MRB异常单登记失败');
}
}).catch((error) => {
this.loading = false;
this.$message.error('MRB异常单登记失败: ' + (error.message || '未知错误'));
});
} else {
this.$message.warning('请填写必填项');
return false;
}
});
},
/**
* 关闭对话框
*/
closeDialog() {
this.$emit('update:visible', false);
},
/**
* 对话框关闭事件
*/
handleClose() {
//
if (this.$refs.mrbForm) {
this.$refs.mrbForm.resetFields();
}
}
}
};
</script>
<style scoped>
.mrb-register {
/* MRB异常单登记样式 */
}
/* 表单样式 */
.mrb-form {
padding: 10px 10px 20px 0px;
}
/* 必填标签样式 - 红色星号 */
.required-label::before {
color: #ff4d4f;
margin-right: 4px;
font-size: 14px;
}
.required-label {
color: #1ab394;
font-size: 14px;
font-weight: 500;
}
/* 表单项间距 */
.mrb-form /deep/ .el-form-item {
margin-bottom: 22px;
}
/* 输入框样式 */
.mrb-form /deep/ .el-input__inner {
height: 36px;
line-height: 36px;
border-radius: 4px;
}
/* 文本域样式 */
.mrb-form /deep/ .el-textarea__inner {
border-radius: 4px;
}
/* 底部按钮区域 */
.dialog-footer {
text-align: center;
padding: 20px 0 10px 0;
}
/* 确定按钮 - 绿色主题 */
.confirm-btn {
background-color: #1ab394;
border-color: #1ab394;
color: #ffffff;
min-width: 80px;
padding: 10px 20px;
border-radius: 4px;
font-size: 14px;
}
.confirm-btn:hover {
background-color: #18a689;
border-color: #18a689;
}
.confirm-btn:active {
background-color: #16967d;
border-color: #16967d;
}
/* 关闭按钮 - 绿色边框 */
.close-btn {
background-color: #ffffff;
border-color: #1ab394;
color: #1ab394;
min-width: 80px;
padding: 10px 20px;
border-radius: 4px;
font-size: 14px;
margin-left: 20px;
}
.close-btn:hover {
background-color: #1ab394;
border-color: #1ab394;
color: #ffffff;
}
.close-btn:active {
background-color: #18a689;
border-color: #18a689;
}
/* 对话框标题样式 */
.mrb-register /deep/ .el-dialog__title {
font-size: 16px;
font-weight: 500;
color: #333;
}
/* 对话框body padding调整 */
.mrb-register /deep/ .el-dialog__body {
padding: 10px 20px;
}
/* placeholder文字颜色 */
.mrb-form /deep/ .el-input__inner::placeholder,
.mrb-form /deep/ .el-textarea__inner::placeholder {
color: #c0c4cc;
}
</style>

16
src/views/modules/yieldReport/com_produce_report_normal.vue

@ -730,6 +730,9 @@
<!-- 过程检验组件 -->
<ComProcessInspection :visible.sync="showProcessInspectionFlag" :orderNo="scheduleData.orderNo" :resourceId="scheduleData.resourceId"></ComProcessInspection>
<!-- MRB异常单登记组件 -->
<ComMrbRegister ref="comMrbRegister" :visible.sync="showMrbRegisterFlag" @confirmed="onMrbConfirmed"></ComMrbRegister>
<!-- SOP预览弹出框 -->
<el-dialog title="SOP预览" :visible.sync="showSopPreviewFlag" width="50%" top="5vh" :before-close="closeSopPreview">
<div class="sop-preview-content">
@ -883,6 +886,7 @@ import comFinishSchedule from "./com_finish_schedule";/*结束派工单组件*/
import notOverFinishRoll from "./not_over_finish_roll";/*生产过程的停机组件*/
import ComMalformedMaterial from "./com_malformed_material";/*生产过程的停机组件*/
import ComProcessInspection from "./com_process_inspection";/*过程检验组件*/
import ComMrbRegister from "./com_mrb_register";/*MRB异常单登记组件*/
var functionId = 'C10000002';
export default {
data() {
@ -895,6 +899,7 @@ export default {
malformedMaterialButtonFlag: true,// 2022-11-17
showProcessInspectionFlag: false,//
processInspectionButtonStyle: '', //
showMrbRegisterFlag: false,// MRB
showDefault: false,
popoverFlag: false,
showNotOverFlag: false,
@ -3712,6 +3717,7 @@ export default {
notOverFinishRoll,/*异常下级报工*/
ComMalformedMaterial, // ,
ComProcessInspection,/*过程检验组件*/
ComMrbRegister,/*MRB异常单登记组件*/
},
methods: {
//
@ -4645,6 +4651,16 @@ export default {
//
qualityInspectionModal() {
// MRB
this.showMrbRegisterFlag = true;
this.$nextTick(() => {
this.$refs.comMrbRegister.init(this.scheduleData);
});
},
// MRB
onMrbConfirmed() {
// MRB
//
this.checkProcessInspectionPendingCount();
this.showProcessInspectionFlag = true;

Loading…
Cancel
Save