diff --git a/src/api/mes/qc/pendinginspect/index.ts b/src/api/mes/qc/pendinginspect/index.ts
index 290428bff..596b2312d 100644
--- a/src/api/mes/qc/pendinginspect/index.ts
+++ b/src/api/mes/qc/pendinginspect/index.ts
@@ -7,7 +7,6 @@ export interface QcPendingInspectVO {
sourceDocCode: string
sourceLineId: number
qcType: number
- qcTypeName: string
itemId: number
itemCode: string
itemName: string
@@ -16,6 +15,15 @@ export interface QcPendingInspectVO {
quantity: number
vendorId: number
vendorName: string
+ // 工单/工作站/任务(IPQC/RQC 场景)
+ workOrderId: number
+ workstationId: number
+ workstationName: string
+ taskId: number
+ taskCode: string
+ // 客户(OQC/RQC 场景)
+ clientId: number
+ clientName: string
recordTime: string
}
diff --git a/src/views/mes/qc/defect/DefectForm.vue b/src/views/mes/qc/defect/DefectForm.vue
index 9ac2870b8..2b27585f4 100644
--- a/src/views/mes/qc/defect/DefectForm.vue
+++ b/src/views/mes/qc/defect/DefectForm.vue
@@ -11,9 +11,7 @@
-
- 生成
-
+ 生成
@@ -21,12 +19,7 @@
-
+
-
+
-
+
新增缺陷
@@ -27,11 +22,7 @@
-
+
-
+
{{ scope.row.remark || '-' }}
diff --git a/src/views/mes/qc/indicator/IndicatorForm.vue b/src/views/mes/qc/indicator/IndicatorForm.vue
index e7f5652bf..798bfa4d2 100644
--- a/src/views/mes/qc/indicator/IndicatorForm.vue
+++ b/src/views/mes/qc/indicator/IndicatorForm.vue
@@ -48,7 +48,11 @@
-
+
图片/照片
文件
diff --git a/src/views/mes/qc/indicator/components/QcIndicatorSelect.vue b/src/views/mes/qc/indicator/components/QcIndicatorSelect.vue
index 71608193c..15d8f6fef 100644
--- a/src/views/mes/qc/indicator/components/QcIndicatorSelect.vue
+++ b/src/views/mes/qc/indicator/components/QcIndicatorSelect.vue
@@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase()
filteredList.value = allList.value.filter(
(item) =>
- item.name?.toLowerCase().includes(keyword) ||
- item.code?.toLowerCase().includes(keyword)
+ item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
)
}
diff --git a/src/views/mes/qc/ipqc/IpqcForm.vue b/src/views/mes/qc/ipqc/IpqcForm.vue
index 6860dfa5d..d24ca2da2 100644
--- a/src/views/mes/qc/ipqc/IpqcForm.vue
+++ b/src/views/mes/qc/ipqc/IpqcForm.vue
@@ -49,6 +49,8 @@
v-model="formData.workOrderId"
placeholder="请选择生产工单"
class="!w-1/1"
+ :disabled="isFromPendingTask"
+ @change="handleWorkOrderChange"
/>
@@ -58,12 +60,19 @@
v-model="formData.workstationId"
placeholder="请选择工位"
class="!w-1/1"
+ :disabled="isFromPendingTask"
/>
-
+
@@ -78,6 +87,7 @@
:precision="2"
placeholder="请输入检测数量"
class="!w-1/1"
+ :disabled="isFromPendingTask"
/>
@@ -280,6 +290,9 @@ const dialogTitle = computed(() => {
return titles[formType.value] || t('action.' + formType.value)
}) // 弹窗标题,根据 formType 自动显示
const isDetail = computed(() => formType.value === 'detail') // 表单是否为详情模式(只读)
+const isFromPendingTask = computed(
+ () => formType.value === 'create' && formData.value.sourceDocId != null
+) // 是否来自待检任务(有预填的来源单据信息)
const formData = ref({
id: undefined as number | undefined,
@@ -343,8 +356,13 @@ const handleScrapChanged = () => {
(formData.value.otherScrapQuantity || 0)
}
+/** 生产工单变更:清空关联的任务等信息 */
+const handleWorkOrderChange = () => {
+ formData.value.taskId = undefined
+}
+
/** 打开弹窗 */
-const open = async (type: string, id?: number) => {
+const open = async (type: string, id?: number, data?: QcIpqcVO) => {
dialogVisible.value = true
formType.value = type
activeTab.value = 'line'
@@ -357,6 +375,9 @@ const open = async (type: string, id?: number) => {
} finally {
formLoading.value = false
}
+ } else if (data) {
+ // 预填模式:来自待检任务(pending inspect)
+ Object.assign(formData.value, data)
}
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
diff --git a/src/views/mes/qc/oqc/OqcForm.vue b/src/views/mes/qc/oqc/OqcForm.vue
index 600302f40..4da65ce44 100644
--- a/src/views/mes/qc/oqc/OqcForm.vue
+++ b/src/views/mes/qc/oqc/OqcForm.vue
@@ -32,12 +32,22 @@
-
+
-
+
@@ -57,6 +67,7 @@
:precision="2"
placeholder="请输入发货数量"
class="!w-1/1"
+ :disabled="isFromPendingTask"
/>
@@ -235,6 +246,9 @@ const dialogTitle = computed(() => {
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const formType = ref('') // 表单的类型:create - 新增;update - 修改
const activeTab = ref('line') // 当前激活的标签页
+const isFromPendingTask = computed(
+ () => formType.value === 'create' && formData.value.sourceDocId != null
+) // 是否来自待检任务(有预填的来源单据信息)
const formData = ref({
id: undefined as number | undefined,
@@ -284,7 +298,7 @@ const generateCode = () => {
}
/** 打开弹窗 */
-const open = async (type: string, id?: number) => {
+const open = async (type: string, id?: number, data?: QcOqcVO) => {
dialogVisible.value = true
formType.value = type
activeTab.value = 'line'
@@ -297,6 +311,9 @@ const open = async (type: string, id?: number) => {
} finally {
formLoading.value = false
}
+ } else if (data) {
+ // 预填模式:来自待检任务(pending inspect)
+ Object.assign(formData.value, data)
}
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
diff --git a/src/views/mes/qc/pendinginspect/index.vue b/src/views/mes/qc/pendinginspect/index.vue
index 249fd1a07..5d29ea3c0 100644
--- a/src/views/mes/qc/pendinginspect/index.vue
+++ b/src/views/mes/qc/pendinginspect/index.vue
@@ -57,7 +57,6 @@
-
@@ -72,7 +71,34 @@
v-if="scope.row.qcType === MesQcTypeEnum.IQC"
v-hasPermi="['mes:qc-iqc:create']"
>
- 创建检验单
+ 来料检验
+
+
+ 过程检验
+
+
+ 退货检验
+
+
+ 出货检验
@@ -85,8 +111,11 @@
/>
-
+
+
+
+