|
|
@@ -156,6 +156,13 @@
|
|
|
>
|
|
|
<el-icon><EditPen /></el-icon>特殊样本
|
|
|
</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="showStorageCertQcButton"
|
|
|
+ class="btn-op-item"
|
|
|
+ @click="openStorageCertQcDialog"
|
|
|
+ >
|
|
|
+ <el-icon><Document /></el-icon>填写储存证质检信息
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
<template v-else-if="showWorkOrderOps">
|
|
|
<el-button
|
|
|
@@ -177,6 +184,13 @@
|
|
|
>
|
|
|
<el-icon><EditPen /></el-icon>特殊样本
|
|
|
</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="showStorageCertQcButton"
|
|
|
+ class="btn-op-item"
|
|
|
+ @click="openStorageCertQcDialog"
|
|
|
+ >
|
|
|
+ <el-icon><Document /></el-icon>填写储存证质检信息
|
|
|
+ </el-button>
|
|
|
<el-dropdown
|
|
|
v-if="hasMoreWorkOrderActions(row)"
|
|
|
trigger="hover"
|
|
|
@@ -234,12 +248,21 @@
|
|
|
:target="sampleSpecialMarkTarget"
|
|
|
@success="emit('sample-special-changed')"
|
|
|
/>
|
|
|
+ <StorageCertQcDialog
|
|
|
+ v-model:visible="storageCertQcVisible"
|
|
|
+ mode="edit"
|
|
|
+ :sample-code="String(row.sampleCode || '')"
|
|
|
+ :sample-type-name="String(row.sampleTypeName || '')"
|
|
|
+ :qc-work-order-id="String(row.id || '')"
|
|
|
+ />
|
|
|
</article>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { computed, ref } from 'vue'
|
|
|
- import { Setting, View, More, EditPen, Delete } from '@element-plus/icons-vue'
|
|
|
+ import { Setting, View, More, EditPen, Delete, Document } from '@element-plus/icons-vue'
|
|
|
+ import StorageCertQcDialog from '@/components/business/storage-cert-qc-dialog/index.vue'
|
|
|
+ import { supportsStorageCertQc } from '@/utils/storage-cert-qc-fields'
|
|
|
import type { QcWorkOrder, OutboundQcDetailProduct } from '@/api/qc-work-order'
|
|
|
import type { QcTask } from '@/api/qc-task'
|
|
|
import type { QcInspectionBatch } from '@/utils/qc-inspection-batch'
|
|
|
@@ -314,6 +337,11 @@
|
|
|
}>()
|
|
|
|
|
|
const sampleSpecialDialogVisible = ref(false)
|
|
|
+ const storageCertQcVisible = ref(false)
|
|
|
+
|
|
|
+ const showStorageCertQcButton = computed(() =>
|
|
|
+ supportsStorageCertQc(String(props.row?.sampleTypeName || ''))
|
|
|
+ )
|
|
|
|
|
|
const sampleSpecialMarkTarget = computed(() =>
|
|
|
resolveInboundSampleSpecialMarkTargetFromRow(props.row)
|
|
|
@@ -328,6 +356,10 @@
|
|
|
sampleSpecialDialogVisible.value = true
|
|
|
}
|
|
|
|
|
|
+ function openStorageCertQcDialog() {
|
|
|
+ storageCertQcVisible.value = true
|
|
|
+ }
|
|
|
+
|
|
|
const effectiveCardMeta = computed(() =>
|
|
|
resolveCardMetaForRow(props.row, props.cardMetaConfig.tabKey)
|
|
|
)
|