Browse Source

2026-08-31

代办中心显示异常单号
master
fengyuan_yang 3 weeks ago
parent
commit
1e2fa048c9
  1. 9
      src/api/yieldReport/com_split_order_report.js
  2. 9
      src/api/yieldReport/produce_report_normal.js
  3. 94
      src/views/modules/todo/todoCenter.vue
  4. 17
      src/views/modules/yieldReport/com_produce_report_normal.vue
  5. 4
      src/views/modules/yieldReport/produce_order.vue

9
src/api/yieldReport/com_split_order_report.js

@ -1,7 +1,12 @@
import { createAPI } from '@/utils/httpRequest.js' import { createAPI } from '@/utils/httpRequest.js'
// 获取派工单信息
export const getScheduleDataBySeqNo = data => createAPI('schedule/getScheduleDataBySeqNo', 'POST', data)
// 获取派工单信息(兼容仅传seqNo,支持透传itemNo)
export const getScheduleDataBySeqNo = data => {
const payload = (data !== null && typeof data === 'object')
? data
: { seqNo: data }
return createAPI('schedule/getScheduleDataBySeqNo', 'POST', payload)
}
// 获取当前上机卷信息 // 获取当前上机卷信息
export const getCurrentRollOpsBySeqNo = data => createAPI('schedule/getCurrentRollOpsBySeqNo', 'POST', data) export const getCurrentRollOpsBySeqNo = data => createAPI('schedule/getCurrentRollOpsBySeqNo', 'POST', data)

9
src/api/yieldReport/produce_report_normal.js

@ -1,7 +1,12 @@
import { createAPI, createFormAPI } from '@/utils/httpRequest.js' import { createAPI, createFormAPI } from '@/utils/httpRequest.js'
// 获取派工单信息
export const getScheduleDataBySeqNo = data => createAPI('schedule/getScheduleDataBySeqNo', 'POST', data)
// 获取派工单信息(兼容仅传seqNo,支持透传itemNo)
export const getScheduleDataBySeqNo = data => {
const payload = (data !== null && typeof data === 'object')
? data
: { seqNo: data }
return createAPI('schedule/getScheduleDataBySeqNo', 'POST', payload)
}
// 暂停生产/继续生产(调用存储过程 UspUpdateProductionStatus) // 暂停生产/继续生产(调用存储过程 UspUpdateProductionStatus)
export const updateProductionStatus = data => createAPI('schedule/updateProductionStatus', 'POST', data) export const updateProductionStatus = data => createAPI('schedule/updateProductionStatus', 'POST', data)

94
src/views/modules/todo/todoCenter.vue

@ -163,8 +163,13 @@
<div class="todo-source">{{ item.messageSource || '-' }}</div> <div class="todo-source">{{ item.messageSource || '-' }}</div>
<div class="todo-main-title">
{{ item.orderNo || '-' }}
<div class="todo-main-title-row">
<div class="todo-main-title">
{{ item.orderNo || '-' }}
</div>
<div class="todo-process-chip" :title="buildProcessExceptionLabel(item)">
{{ buildProcessExceptionLabel(item) }}
</div>
</div> </div>
<div class="todo-detail-line"> <div class="todo-detail-line">
@ -240,6 +245,12 @@
width="830px" width="830px"
class="todo-cache-detail-dialog" class="todo-cache-detail-dialog"
append-to-body> append-to-body>
<div slot="title" class="todo-detail-dialog-title">
<span class="todo-detail-dialog-title-main">{{ detailDialogTitle }}</span>
<span class="todo-detail-dialog-title-process" :title="buildProcessExceptionLabel({ mrbInspectionReport: detailProcessExceptionNo })">
{{ buildProcessExceptionLabel({ mrbInspectionReport: detailProcessExceptionNo }) }}
</span>
</div>
<div v-loading="detailDialogLoading" class="todo-detail-content"> <div v-loading="detailDialogLoading" class="todo-detail-content">
<div v-if="detailSections.length === 0" class="todo-detail-empty-tip"> <div v-if="detailSections.length === 0" class="todo-detail-empty-tip">
当前代办暂无详情数据 当前代办暂无详情数据
@ -406,6 +417,7 @@ export default {
detailDialogVisible: false, detailDialogVisible: false,
detailDialogLoading: false, detailDialogLoading: false,
detailDialogTitle: '创建分卷详情', detailDialogTitle: '创建分卷详情',
detailProcessExceptionNo: '',
detailSections: [], detailSections: [],
showMrbRegisterFlag: false, showMrbRegisterFlag: false,
currentAuditTodo: null, currentAuditTodo: null,
@ -552,6 +564,18 @@ export default {
}, },
resetDetailData () { resetDetailData () {
this.detailSections = [] this.detailSections = []
this.detailProcessExceptionNo = ''
},
resolveProcessExceptionNo (row) {
if (!row) {
return ''
}
const value = row.mrbInspectionReport || row.processExceptionNo || ''
return String(value).trim()
},
buildProcessExceptionLabel (row) {
const processExceptionNo = this.resolveProcessExceptionNo(row)
return processExceptionNo || '-'
}, },
toInt (value) { toInt (value) {
const num = Number(value) const num = Number(value)
@ -712,13 +736,15 @@ export default {
this.detailDialogVisible = true this.detailDialogVisible = true
this.detailDialogLoading = true this.detailDialogLoading = true
this.resetDetailData() this.resetDetailData()
this.detailProcessExceptionNo = this.resolveProcessExceptionNo(row)
const query = { const query = {
site: row.site || this.searchData.site || this.$store.state.user.site, site: row.site || this.searchData.site || this.$store.state.user.site,
buNo: row.buNo || this.searchData.buNo || '', buNo: row.buNo || this.searchData.buNo || '',
infoCode: row.infoCode || '', infoCode: row.infoCode || '',
orderNo: row.orderNo || '', orderNo: row.orderNo || '',
seqNo: row.seqNo
seqNo: row.seqNo,
mrbInspectionReport: this.resolveProcessExceptionNo(row)
} }
getTodoDetailRecords(query).then(({ data }) => { getTodoDetailRecords(query).then(({ data }) => {
if (!(data && data.code === 200)) { if (!(data && data.code === 200)) {
@ -726,6 +752,10 @@ export default {
return return
} }
const resultMap = data.resultMap || {} const resultMap = data.resultMap || {}
const processExceptionNo = this.resolveProcessExceptionNo(resultMap)
if (processExceptionNo) {
this.detailProcessExceptionNo = processExceptionNo
}
const triggerList = resultMap.triggerList || [] const triggerList = resultMap.triggerList || []
const reportList = resultMap.reportList || [] const reportList = resultMap.reportList || []
const sections = [] const sections = []
@ -1041,10 +1071,36 @@ export default {
} }
.todo-main-title { .todo-main-title {
margin-top: 6px;
margin-top: 0;
font-size: 14px; font-size: 14px;
color: #303133; color: #303133;
font-weight: 700; font-weight: 700;
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.todo-main-title-row {
margin-top: 6px;
display: flex;
align-items: center;
gap: 8px;
}
.todo-process-chip {
max-width: 52%;
font-size: 11px;
color: #2f7ed8;
border: 1px solid #b3d8ff;
background: #ecf5ff;
border-radius: 999px;
line-height: 18px;
padding: 0 8px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
.todo-detail-line { .todo-detail-line {
@ -1142,6 +1198,36 @@ export default {
padding-top: 10px; padding-top: 10px;
} }
.todo-detail-dialog-title {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
width: calc(100% - 36px);
}
.todo-detail-dialog-title-main {
min-width: 0;
color: #303133;
font-size: 20px;
font-weight: 600;
}
.todo-detail-dialog-title-process {
flex-shrink: 0;
max-width: 310px;
color: #2f7ed8;
font-size: 12px;
border: 1px solid #b3d8ff;
background: #ecf5ff;
border-radius: 999px;
padding: 2px 10px;
line-height: 18px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.todo-detail-content { .todo-detail-content {
min-height: 120px; min-height: 120px;
} }

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

@ -4394,7 +4394,10 @@ export default {
}, },
// //
getScheduleDataBySeqNo() { getScheduleDataBySeqNo() {
getScheduleDataBySeqNo(this.scheduleData.seqNo).then(({data}) => {
getScheduleDataBySeqNo({
seqNo: this.scheduleData.seqNo,
itemNo: this.scheduleData.itemNo
}).then(({data}) => {
this.scheduleData.seqNo = data.row.seqNo; this.scheduleData.seqNo = data.row.seqNo;
this.scheduleData.orderNo = data.row.orderNo; this.scheduleData.orderNo = data.row.orderNo;
this.scheduleData.itemNo = data.row.itemNo; this.scheduleData.itemNo = data.row.itemNo;
@ -4644,9 +4647,14 @@ export default {
} }
}, },
init(seqNo, operatorData) {
init(seqNo, operatorData, itemNo) {
// //
this.scheduleData.seqNo = seqNo; this.scheduleData.seqNo = seqNo;
if (itemNo !== undefined && itemNo !== null && Number(itemNo) > 0) {
this.scheduleData.itemNo = Number(itemNo);
} else {
this.scheduleData.itemNo = 0;
}
this.currentRollOps.seqNo = seqNo; this.currentRollOps.seqNo = seqNo;
this.operatorData = operatorData; this.operatorData = operatorData;
@ -4678,7 +4686,10 @@ export default {
// //
async refreshPageData() { async refreshPageData() {
await getScheduleDataBySeqNo(this.scheduleData.seqNo).then(({data}) => {
await getScheduleDataBySeqNo({
seqNo: this.scheduleData.seqNo,
itemNo: this.scheduleData.itemNo
}).then(({data}) => {
this.scheduleData.site = data.row.site; this.scheduleData.site = data.row.site;
this.searchData.site = data.row.site; this.searchData.site = data.row.site;
this.currentRollOps.site = data.row.site; this.currentRollOps.site = data.row.site;

4
src/views/modules/yieldReport/produce_order.vue

@ -2042,7 +2042,7 @@ export default {
// //
this.showReportFlag = true this.showReportFlag = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.comProduceReportNormal.init(this.currentRow.seqNo, this.operatorData)
this.$refs.comProduceReportNormal.init(this.currentRow.seqNo, this.operatorData, this.currentRow.itemNo)
}) })
}, },
@ -2110,7 +2110,7 @@ export default {
this.showReportFlag = true this.showReportFlag = true
// //
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.comProduceReportNormal.init(this.currentRow.seqNo, this.operatorData)
this.$refs.comProduceReportNormal.init(this.currentRow.seqNo, this.operatorData, this.currentRow.itemNo)
}) })
}) })
}, },

Loading…
Cancel
Save