| | |
| | | width="110" |
| | | align="center"> |
| | | <template #default="scope"> |
| | | <el-button v-if="isSalesOutRecord(scope.row)" |
| | | link |
| | | type="primary" |
| | | @click="openResidualOil(scope.row)">录入残油 |
| | | </el-button> |
| | | <!-- 审批通过才能录入残油;未通过时置灰并提示原因 --> |
| | | <el-tooltip v-if="isSalesOutRecord(scope.row)" |
| | | :disabled="isApprovedApproval(scope.row.approvalStatus)" |
| | | content="审批通过后才能录入残油" |
| | | placement="top"> |
| | | <span> |
| | | <el-button link |
| | | type="primary" |
| | | :disabled="!isApprovedApproval(scope.row.approvalStatus)" |
| | | @click="openResidualOil(scope.row)">录入残油 |
| | | </el-button> |
| | | </span> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | return approvalStatusLabelMap[status] || "待审批"; |
| | | }; |
| | | |
| | | // 审批通过判定:数字/字符串/英文枚举三种写法后端都出现过,统一在这里兜住 |
| | | const isApprovedApproval = status => |
| | | status === 1 || |
| | | status === "1" || |
| | | status === "approved" || |
| | | status === "APPROVED"; |
| | | |
| | | // 通过/驳回固定色;其余(含待审批、空值、未映射但文案为待审批)统一用 warning 预警色 |
| | | const getApprovalStatusTagType = status => { |
| | | if ( |
| | | status === 1 || |
| | | status === "1" || |
| | | status === "approved" || |
| | | status === "APPROVED" |
| | | ) |
| | | return "success"; |
| | | if (isApprovedApproval(status)) return "success"; |
| | | if ( |
| | | status === 2 || |
| | | status === "2" || |
| | |
| | | const isSalesOutRecord = row => row?.outCategory === "销售"; |
| | | |
| | | const openResidualOil = row => { |
| | | // 按钮已置灰,这里再兜一层,防止其它入口绕过 |
| | | if (!isApprovedApproval(row?.approvalStatus)) { |
| | | proxy.$modal.msgWarning("审批通过后才能录入残油"); |
| | | return; |
| | | } |
| | | residualForm.value = { |
| | | id: row.id, |
| | | outboundBatches: row.outboundBatches || "", |