|
|
@ -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; |
|
|
} |
|
|
} |
|
|
|