You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<template> <div class="quality-issue-detail"> <!-- 查看模式 --> <div> <el-form label-position="top" class="detail-form"> <!-- 基础信息区 --> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="反馈单号"> <el-input v-model="detailData.issueNo" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="问题日期"> <el-input :value="formatDate(detailData.issueDate)" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="供应商编码"> <el-input v-model="detailData.supplierNo" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="供应商名称"> <el-input v-model="detailData.supplierName" disabled /> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="6"> <el-form-item label="供应商负责人"> <el-input v-model="detailData.supplierResponsible" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="Plant"> <el-input v-model="detailData.plant" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="Claim No"> <el-input v-model="detailData.claimNo" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="Product Category"> <el-input v-model="detailData.productCategory" disabled /> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="6"> <el-form-item label="Part No"> <el-input v-model="detailData.partNo" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="批次数量"> <el-input v-model="detailData.batchQty" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="拒收批次数量"> <el-input v-model="detailData.rejectBatchQty" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="投诉接收日期"> <el-input :value="formatDate(detailData.receiveComplaintDate)" disabled /> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="6"> <el-form-item label="样品接收日期"> <el-input :value="formatDate(detailData.receiveSampleDate)" disabled /> </el-form-item> </el-col> <el-col :span="18"> <el-form-item label="问题简述"> <el-input v-model="detailData.issueSummary" disabled /> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="24"> <el-form-item label="问题详细描述"> <el-input v-model="detailData.issueDescription" type="textarea" :rows="2" resize="none" disabled ></el-input> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="4"> <el-form-item label="Level"> <el-input v-model="detailData.levelNo" disabled /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="Mode 1"> <el-input v-model="detailData.mode1" disabled /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="Mode 2"> <el-input v-model="detailData.mode2" disabled /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="Mode 3"> <el-input v-model="detailData.mode3" disabled /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="Inspector"> <el-input v-model="detailData.inspector" disabled /> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="6"> <el-form-item label="录入人"> <el-input v-model="detailData.createBy" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="录入时间"> <el-input v-model="detailData.createDate" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="要求回复日期"> <el-input :value="formatDate(detailData.requireReplyDate)" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="状态"> <el-input v-model="detailData.status" disabled /> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="24"> <el-form-item label="Why Escape"> <el-input v-model="detailData.whyEscape" type="textarea" :rows="2" resize="none" disabled ></el-input> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="24"> <el-form-item label="原因分析"> <el-input v-model="detailData.analysis" type="textarea" :rows="3" resize="none" disabled ></el-input> </el-form-item> </el-col> </el-row>
<el-row :gutter="20"> <el-col :span="24"> <el-form-item label="后续措施"> <el-input v-model="detailData.correctiveAction" type="textarea" :rows="3" resize="none" disabled ></el-input> </el-form-item> </el-col> </el-row>
<el-row :gutter="20" style="margin-top: 20px;"> <el-col :span="6"> <el-form-item label="回复人"> <el-input v-model="detailData.replyBy" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="回复时间"> <el-input v-model="detailData.replyTime" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="录入人(回复)"> <el-input v-model="detailData.entryBy" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="录入时间(回复)"> <el-input v-model="detailData.entryDate" disabled /> </el-form-item> </el-col> </el-row>
<!-- 索赔信息区块 --> <div class="claim-section"> <div class="claim-title">索赔信息</div> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="是否被索赔"> <el-input :value="detailData.claimFlag === 'Y' ? '是' : (detailData.claimFlag === 'N' ? '否' : '')" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="被索赔金额"> <el-input v-model="detailData.claimAmount" disabled /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="处置备注"> <el-input v-model="detailData.disposalRemark" disabled /> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="录入人(索赔)"> <el-input v-model="detailData.entryBy" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="录入时间(索赔)"> <el-input v-model="detailData.entryDate" disabled /> </el-form-item> </el-col> </el-row> </div>
<el-row :gutter="20" class="reduce-margin-top"> <el-col :span="6"> <el-form-item label="关闭人"> <el-input v-model="detailData.closeBy" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="关闭时间"> <el-input v-model="detailData.closeTime" disabled /> </el-form-item> </el-col> </el-row>
</el-form> </div> </div></template>
<script>export default { name: 'QualityIssueDetail', props: { detailData: { type: Object, default: () => ({}) } }, data() { return {} }, methods: { formatDate(dateStr) { if (!dateStr) return '' return dateStr.length > 10 ? dateStr.substring(0, 10) : dateStr } }}</script><style scoped lang="scss">.quality-issue-detail { width: 100%; padding: 0 10px;}
.detail-form { width: 100%;}
/* ======================= 表单整体间距======================= */.el-form-item { margin-bottom: 8px;}
/deep/ .el-form-item__label { display: block; font-size: 14px; color: #606266; line-height: 20px; height: 20px; padding-bottom: 8px; margin-bottom: 6px; font-weight: 500;}
.el-row { margin-bottom: 8px;}
.el-row:last-child { margin-bottom: 0;}
/* ======================= Input======================= */::v-deep .el-input__inner { height: 36px; line-height: 36px; font-size: 14px; border-radius: 4px;}
/* ======================= Textarea======================= */::v-deep .el-textarea__inner { font-size: 14px; line-height: 22px; padding: 10px 14px; min-height: 70px;}
/* textarea表单项额外间距 */.el-form-item:has(.el-textarea) { margin-bottom: 36px;}
/* ======================= Disabled======================= */::v-deep .el-input.is-disabled .el-input__inner { background-color: #f5f7fa; color: #909399; border-color: #e4e7ed;}
/* ======================= DatePicker======================= */::v-deep .el-date-editor.el-input { width: 100%;}
/* ======================= Number======================= */::v-deep .el-input-number { width: 100%;}
::v-deep .el-input-number .el-input__inner { text-align: left;}
/* ======================= 索赔信息区块======================= */.claim-section { border: 1px solid #ebeef5; border-radius: 4px; background: #fafafa; padding: 20px; margin: 16px 0 28px;}
.claim-title { font-size: 15px; font-weight: 600; color: #303133; padding-left: 10px; margin-bottom: 20px; border-left: 3px solid #409eff;}
.claim-section .el-form-item { margin-bottom: 4px;}
.claim-section .el-row:last-child .el-form-item { margin-bottom: 0;}
::v-deep .el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; color: #606266;}/deep/ .el-textarea { display: block; margin-top: 4px;}
@media screen and (max-width: 1600px) { .el-form-item { margin-bottom: 10px; }
.claim-section { margin: 10px 0 20px; }}.reduce-margin-top { margin-top: -16px;}
.reduce-margin-top .el-form-item { margin-bottom: 10px;}</style>
|