✨ feat(defect): 支持缺陷记录弹窗的编辑和详情模式
parent
4e964e2eea
commit
342b5d08c0
|
|
@ -3,7 +3,7 @@
|
|||
<Dialog title="缺陷记录" v-model="dialogVisible" width="900px">
|
||||
<div class="overflow-hidden">
|
||||
<!-- 新增按钮 -->
|
||||
<el-row class="mb-10px">
|
||||
<el-row v-if="!isDetail" class="mb-10px">
|
||||
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['mes:qc-defect:create']">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增缺陷
|
||||
</el-button>
|
||||
|
|
@ -16,6 +16,8 @@
|
|||
<el-input
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.name"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 1, maxRows: 4 }"
|
||||
placeholder="请输入缺陷描述"
|
||||
/>
|
||||
<span v-else>{{ scope.row.name }}</span>
|
||||
|
|
@ -56,7 +58,7 @@
|
|||
<span v-else>{{ scope.row.remark || '-' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="130" fixed="right">
|
||||
<el-table-column v-if="!isDetail" label="操作" align="center" width="130" fixed="right">
|
||||
<template #default="scope">
|
||||
<template v-if="scope.row.editing">
|
||||
<el-button link type="success" @click="handleSave(scope.row)">保存</el-button>
|
||||
|
|
@ -103,11 +105,16 @@ import { QcDefectRecordApi, QcDefectRecordVO } from '@/api/mes/qc/defectrecord'
|
|||
/** 缺陷记录内联编辑弹窗(通用组件,供 IQC/IPQC/OQC/RQC 各模块复用) */
|
||||
defineOptions({ name: 'DefectRecordInlineList' })
|
||||
|
||||
const props = defineProps<{
|
||||
formType?: string // 表单类型:update - 编辑;detail - 详情(只读)
|
||||
}>()
|
||||
|
||||
const emit = defineEmits(['refresh']) // 通知父组件刷新行统计
|
||||
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
|
||||
const isDetail = computed(() => props.formType === 'detail') // 是否为详情模式(只读)
|
||||
const dialogVisible = ref(false)
|
||||
const loading = ref(false)
|
||||
const list = ref<any[]>([])
|
||||
|
|
|
|||
|
|
@ -257,11 +257,11 @@
|
|||
</el-form>
|
||||
|
||||
<!-- 子表标签页(编辑/详情模式下显示) -->
|
||||
<template v-if="formType === 'update' && formData.id">
|
||||
<template v-if="formData.id">
|
||||
<el-divider />
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="检验项" name="line">
|
||||
<IpqcLineList :ipqc-id="formData.id" />
|
||||
<IpqcLineList :ipqc-id="formData.id" :form-type="formType" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果" name="result">
|
||||
<QcIndicatorResultList :qc-id="formData.id!" :qc-type="MesQcTypeEnum.IPQC" />
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
/>
|
||||
|
||||
<!-- 缺陷记录弹窗(内联编辑) -->
|
||||
<DefectRecordInlineList ref="defectListRef" @refresh="getList" />
|
||||
<DefectRecordInlineList ref="defectListRef" :form-type="formType" @refresh="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -45,7 +45,10 @@ import { MesQcTypeEnum } from '@/views/mes/utils/constants'
|
|||
|
||||
defineOptions({ name: 'IpqcLineList' })
|
||||
|
||||
const props = defineProps<{ ipqcId: number }>()
|
||||
const props = defineProps<{
|
||||
ipqcId: number
|
||||
formType?: string // 表单类型:传递给缺陷记录弹窗
|
||||
}>()
|
||||
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<QcIpqcLineVO[]>([]) // 列表的数据
|
||||
|
|
|
|||
|
|
@ -207,12 +207,12 @@
|
|||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<!-- 子表标签页(编辑模式下显示) -->
|
||||
<template v-if="formType === 'update' && formData.id">
|
||||
<!-- 子表标签页(编辑/详情模式下显示) -->
|
||||
<template v-if="formData.id">
|
||||
<el-divider />
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="检验项" name="line">
|
||||
<IqcLineList :iqc-id="formData.id" />
|
||||
<IqcLineList :iqc-id="formData.id" :form-type="formType" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果" name="result">
|
||||
<QcIndicatorResultList :qc-id="formData.id!" :qc-type="MesQcTypeEnum.IQC" />
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
/>
|
||||
|
||||
<!-- 缺陷记录弹窗(内联编辑) -->
|
||||
<DefectRecordInlineList ref="defectListRef" @refresh="getList" />
|
||||
<DefectRecordInlineList ref="defectListRef" :form-type="formType" @refresh="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -46,7 +46,10 @@ import { MesQcTypeEnum } from '@/views/mes/utils/constants'
|
|||
|
||||
defineOptions({ name: 'IqcLineList' })
|
||||
|
||||
const props = defineProps<{ iqcId: number }>()
|
||||
const props = defineProps<{
|
||||
iqcId: number
|
||||
formType?: string // 表单类型:传递给缺陷记录弹窗
|
||||
}>()
|
||||
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<QcIqcLineVO[]>([]) // 列表的数据
|
||||
|
|
|
|||
|
|
@ -218,11 +218,11 @@
|
|||
</el-form>
|
||||
|
||||
<!-- 子表标签页(编辑模式下显示) -->
|
||||
<template v-if="(formType === 'update' || isDetail) && formData.id">
|
||||
<template v-if="formData.id">
|
||||
<el-divider />
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="检验项" name="line">
|
||||
<OqcLineList :oqc-id="formData.id" />
|
||||
<OqcLineList :oqc-id="formData.id" :form-type="formType" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果" name="result">
|
||||
<QcIndicatorResultList :qc-id="formData.id!" :qc-type="MesQcTypeEnum.OQC" />
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
/>
|
||||
|
||||
<!-- 缺陷记录弹窗(内联编辑) -->
|
||||
<DefectRecordInlineList ref="defectListRef" @refresh="getList" />
|
||||
<DefectRecordInlineList ref="defectListRef" :form-type="formType" @refresh="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -45,7 +45,10 @@ import { MesQcTypeEnum } from '@/views/mes/utils/constants'
|
|||
|
||||
defineOptions({ name: 'OqcLineList' })
|
||||
|
||||
const props = defineProps<{ oqcId: number }>()
|
||||
const props = defineProps<{
|
||||
oqcId: number
|
||||
formType?: string // 表单类型:传递给缺陷记录弹窗
|
||||
}>()
|
||||
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<QcOqcLineVO[]>([]) // 列表的数据
|
||||
|
|
|
|||
|
|
@ -205,11 +205,11 @@
|
|||
</el-form>
|
||||
|
||||
<!-- 子表标签页(编辑/详情模式下显示) -->
|
||||
<template v-if="(formType === 'update' || formType === 'detail') && formData.id">
|
||||
<template v-if="formData.id">
|
||||
<el-divider />
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="检验项" name="line">
|
||||
<RqcLineList :rqc-id="formData.id" />
|
||||
<RqcLineList :rqc-id="formData.id" :form-type="formType" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果" name="result">
|
||||
<QcIndicatorResultList :qc-id="formData.id!" :qc-type="MesQcTypeEnum.RQC" />
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
/>
|
||||
|
||||
<!-- 缺陷记录弹窗(内联编辑) -->
|
||||
<DefectRecordInlineList ref="defectListRef" @refresh="getList" />
|
||||
<DefectRecordInlineList ref="defectListRef" :form-type="formType" @refresh="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -45,7 +45,10 @@ import { MesQcTypeEnum } from '@/views/mes/utils/constants'
|
|||
|
||||
defineOptions({ name: 'RqcLineList' })
|
||||
|
||||
const props = defineProps<{ rqcId: number }>()
|
||||
const props = defineProps<{
|
||||
rqcId: number
|
||||
formType?: string // 表单类型:传递给缺陷记录弹窗
|
||||
}>()
|
||||
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<QcRqcLineVO[]>([]) // 列表的数据
|
||||
|
|
|
|||
Loading…
Reference in New Issue