提交
This commit is contained in:
1 parent
c1832f9d03
commit
e7d080c9d3
27 files changed
+5168
-4954
No files matched your search
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "label": "cell-product.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L1"}, {"id": "api_cell_product_fetchcellproductlist", "label": "fetchCellProductList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L3"}, {"id": "api_cell_product_fetchcellproductdetail", "label": "fetchCellProductDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L20"}, {"id": "api_cell_product_fetchcreatecellproduct", "label": "fetchCreateCellProduct()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L24"}, {"id": "api_cell_product_fetchupdatecellproduct", "label": "fetchUpdateCellProduct()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L28"}, {"id": "api_cell_product_fetchdeletecellproduct", "label": "fetchDeleteCellProduct()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L32"}, {"id": "api_cell_product_fetchnextcellproductcode", "label": "fetchNextCellProductCode()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L36"}, {"id": "api_cell_product_fetchmaxpassageproductseq", "label": "fetchMaxPassageProductSeq()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L43"}, {"id": "api_cell_product_fetchcellproductchain", "label": "fetchCellProductChain()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L59"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchcellproductlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchcellproductdetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchcreatecellproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchupdatecellproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchdeletecellproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchnextcellproductcode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchmaxpassageproductseq", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_cell_product_ts", "target": "api_cell_product_fetchcellproductchain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts", "source_location": "L59", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_cell_product_fetchcellproductlist", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/celLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskoutputproductdialog_vue", "label": "TaskOutputProductDialog.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L1"}, {"id": "production_work_order_taskoutputproductdialog_remotesearchproducttypes", "label": "remoteSearchProductTypes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L371"}, {"id": "production_work_order_taskoutputproductdialog_ensureproducttypeinoptions", "label": "ensureProductTypeInOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L387"}, {"id": "production_work_order_taskoutputproductdialog_remotesearchspecs", "label": "remoteSearchSpecs()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L393"}, {"id": "production_work_order_taskoutputproductdialog_ensurespecinoptions", "label": "ensureSpecInOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L409"}, {"id": "production_work_order_taskoutputproductdialog_remotesearchstorageslots", "label": "remoteSearchStorageSlots()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L415"}, {"id": "production_work_order_taskoutputproductdialog_onstorageslotselectvisible", "label": "onStorageSlotSelectVisible()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L429"}, {"id": "production_work_order_taskoutputproductdialog_onproducttypeselectvisible", "label": "onProductTypeSelectVisible()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L433"}, {"id": "production_work_order_taskoutputproductdialog_onspecselectvisible", "label": "onSpecSelectVisible()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L437"}, {"id": "production_work_order_taskoutputproductdialog_getotherlinestorageslotids", "label": "getOtherLineStorageSlotIds()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L460"}, {"id": "production_work_order_taskoutputproductdialog_getlinestorageslotoptions", "label": "getLineStorageSlotOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L466"}, {"id": "production_work_order_taskoutputproductdialog_normalizedatevalue", "label": "normalizeDateValue()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L503"}, {"id": "production_work_order_taskoutputproductdialog_calcexpiryfromfreeze", "label": "calcExpiryFromFreeze()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L509"}, {"id": "production_work_order_taskoutputproductdialog_onfreezedatechange", "label": "onFreezeDateChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L520"}, {"id": "production_work_order_taskoutputproductdialog_createemptyproductline", "label": "createEmptyProductLine()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L524"}, {"id": "production_work_order_taskoutputproductdialog_resolvespecname", "label": "resolveSpecName()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L535"}, {"id": "production_work_order_taskoutputproductdialog_populateformfromedititem", "label": "populateFormFromEditItem()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/sLine truncated
|
||||
@@ -237,10 +237,10 @@ const CARD_META_BY_TAB: Record<ProductionWorkOrderTabKey, ProductionWorkOrderCar
|
||||
showProtocolFeeSummary: false,
|
||||
showOutboundFeeSummary: false,
|
||||
metaFields: temporaryFields,
|
||||
allowDispatchQc: false,
|
||||
allowDispatchQc: true,
|
||||
allowSampleReception: false,
|
||||
allowDispatchComplete: false,
|
||||
allowEditRemark: false,
|
||||
allowDispatchComplete: true,
|
||||
allowEditRemark: true,
|
||||
allowDelete: true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { QcWorkOrder } from '@/api/qc-work-order'
|
||||
import { fetchQcWorkOrderDetail } from '@/api/qc-work-order'
|
||||
import { fetchMyQcTaskList, type QcTask } from '@/api/qc-task'
|
||||
import { groupInboundQcWorkOrders } from '@/utils/qc-work-order-groups'
|
||||
import { groupInboundQcWorkOrders, matchesTemporaryQcSourceFilter } from '@/utils/qc-work-order-groups'
|
||||
import type { QcWorkOrderTabKey } from '@/utils/qc-work-order-tabs'
|
||||
import {
|
||||
resolveTabKeyFromWorkOrder,
|
||||
@@ -51,7 +51,7 @@ function keywordMatchesWorkOrder(row: QcWorkOrder, keyword: string, tabKey: QcWo
|
||||
const tab = getQcWorkOrderTab(tabKey)!
|
||||
const fields =
|
||||
tabKey === 'temporary'
|
||||
? [row.workOrderNo]
|
||||
? [row.workOrderNo, row.productionWorkOrderNo]
|
||||
: tabKey === 'outbound_basic_experiment'
|
||||
? [row.workOrderNo, row.applicationNo, row.projectTitle, row.customerName, row.applicationName]
|
||||
: tab.group === 'outbound'
|
||||
@@ -70,8 +70,12 @@ export function filterMineEntriesByWorkOrderSearch(
|
||||
const row = entry.workOrder
|
||||
if (resolveTabKeyFromWorkOrder(row) !== tabKey) return false
|
||||
if (filters.workOrderStatus && row.workOrderStatus !== filters.workOrderStatus) return false
|
||||
if (tab.listLayout !== 'standalone' && filters.triggerSource && row.triggerSource !== filters.triggerSource) {
|
||||
return false
|
||||
if (filters.triggerSource) {
|
||||
if (tabKey === 'temporary') {
|
||||
if (!matchesTemporaryQcSourceFilter(row, filters.triggerSource)) return false
|
||||
} else if (tab.listLayout !== 'standalone' && row.triggerSource !== filters.triggerSource) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
if (!keywordMatchesWorkOrder(row, filters.keyword || '', tabKey)) return false
|
||||
if (tabUsesInfusionTimeFilter(tab)) {
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
import type { QcWorkOrder } from '@/api/qc-work-order'
|
||||
import { qcBizTypeLabel } from '@/utils/qc-labels'
|
||||
import {
|
||||
donationStatusLabel,
|
||||
donationStatusTagType,
|
||||
protocolStatusLabel,
|
||||
protocolStatusTagType,
|
||||
qcBizTypeTagType
|
||||
protocolStatusTagType
|
||||
} from '@/utils/status-tag-registry'
|
||||
import type { TagType } from '@/utils/status-tag-registry'
|
||||
import type { QcWorkOrderTabKey } from '@/utils/qc-work-order-tabs'
|
||||
import { getQcWorkOrderTab } from '@/utils/qc-work-order-tabs'
|
||||
import { formatMoneyDisplay } from '@/utils/money-format'
|
||||
import {
|
||||
isTemporaryQcFromProduction
|
||||
} from '@/utils/qc-work-order-groups'
|
||||
|
||||
export type CardMetaFieldKind = 'text' | 'tag'
|
||||
|
||||
@@ -130,10 +131,9 @@ const outboundBasicExperimentFields: CardMetaField[] = [
|
||||
|
||||
const temporaryFields: CardMetaField[] = [
|
||||
{
|
||||
label: '业务类型',
|
||||
kind: 'tag',
|
||||
getValue: (row) => row.qcBizTypeLabel || qcBizTypeLabel('temporary'),
|
||||
getTagType: () => qcBizTypeTagType('temporary')
|
||||
label: '关联生产工单',
|
||||
getValue: (row) => row.productionWorkOrderNo || '—',
|
||||
visible: (row) => isTemporaryQcFromProduction(row)
|
||||
},
|
||||
{
|
||||
label: '产品编码',
|
||||
@@ -266,7 +266,7 @@ const CARD_META_BY_TAB: Record<QcWorkOrderTabKey, QcWorkOrderCardMetaConfig> = {
|
||||
temporary: {
|
||||
tabKey: 'temporary',
|
||||
listLayout: 'standalone',
|
||||
showTriggerTag: false,
|
||||
showTriggerTag: true,
|
||||
showProtocolFeeSummary: false,
|
||||
showOutboundFeeSummary: false,
|
||||
metaFields: temporaryFields,
|
||||
|
||||
@@ -75,3 +75,23 @@ export function isGateTriggerSource(source?: string | null) {
|
||||
const ts = (source || 'reception').trim()
|
||||
return ts === 'reception' || ts === 'schedule'
|
||||
}
|
||||
|
||||
/** 临时质检:是否由生产工单派发 */
|
||||
export function isTemporaryQcFromProduction(row: QcWorkOrder) {
|
||||
return (row.triggerSource || '') === 'production' || !!(row.productionWorkOrderId || '').trim()
|
||||
}
|
||||
|
||||
export function temporaryQcSourceLabel(row: QcWorkOrder) {
|
||||
return isTemporaryQcFromProduction(row) ? '生产派发' : '手动创建'
|
||||
}
|
||||
|
||||
export function temporaryQcSourceTagType(row: QcWorkOrder): 'warning' | 'info' {
|
||||
return isTemporaryQcFromProduction(row) ? 'warning' : 'info'
|
||||
}
|
||||
|
||||
export function matchesTemporaryQcSourceFilter(row: QcWorkOrder, filterValue?: string) {
|
||||
if (!filterValue) return true
|
||||
if (filterValue === 'production') return isTemporaryQcFromProduction(row)
|
||||
if (filterValue === 'manual') return !isTemporaryQcFromProduction(row)
|
||||
return (row.triggerSource || '') === filterValue
|
||||
}
|
||||
@@ -16,7 +16,10 @@
|
||||
<span
|
||||
>工单号:<b>{{ workOrderRow?.workOrderNo || '—' }}</b></span
|
||||
>
|
||||
<span>样本编码:{{ workOrderRow?.sampleCode || '—' }}</span>
|
||||
<span v-if="workOrderRow?.workOrderType !== 'temporary'">
|
||||
样本编码:{{ workOrderRow?.sampleCode || '—' }}
|
||||
</span>
|
||||
<span v-else>工单类型:临时生产</span>
|
||||
</div>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
@@ -160,7 +163,11 @@
|
||||
productionTaskId: selected?.taskId,
|
||||
remark: form.remark || undefined
|
||||
})
|
||||
ElMessage.success('质检工单派发成功')
|
||||
ElMessage.success(
|
||||
props.workOrderRow?.workOrderType === 'temporary'
|
||||
? '临时质检工单派发成功'
|
||||
: '质检工单派发成功'
|
||||
)
|
||||
emit('success', { sampleCode: props.workOrderRow.sampleCode })
|
||||
handleClose()
|
||||
} finally {
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-if="cardMetaConfig.showTriggerTag"
|
||||
:type="triggerSourceTagType(row.triggerSource)"
|
||||
:type="resolveTriggerTagType(row)"
|
||||
size="small"
|
||||
>
|
||||
{{ row.triggerSourceLabel || triggerSourceTabLabel(row) }}
|
||||
{{ resolveTriggerTagLabel(row) }}
|
||||
</el-tag>
|
||||
</div>
|
||||
<dl class="qc-work-order-card__meta">
|
||||
@@ -127,7 +127,7 @@
|
||||
import { workOrderStatusLabel } from '@/utils/qc-labels'
|
||||
import type { TagType } from '@/utils/status-tag-registry'
|
||||
import type { QcWorkOrderCardMetaConfig } from '@/utils/qc-work-order-card-meta'
|
||||
import { triggerSourceTabLabel } from '@/utils/qc-work-order-groups'
|
||||
import { triggerSourceTabLabel, temporaryQcSourceLabel, temporaryQcSourceTagType } from '@/utils/qc-work-order-groups'
|
||||
import QcWorkOrderTaskSubList from './QcWorkOrderTaskSubList.vue'
|
||||
import QcWorkOrderFeeSummaryBar from './QcWorkOrderFeeSummaryBar.vue'
|
||||
import QcWorkOrderProtocolPaymentPanel from './QcWorkOrderProtocolPaymentPanel.vue'
|
||||
@@ -181,6 +181,20 @@
|
||||
return 'success'
|
||||
}
|
||||
|
||||
function resolveTriggerTagLabel(row: QcWorkOrder) {
|
||||
if (props.cardMetaConfig.tabKey === 'temporary') {
|
||||
return temporaryQcSourceLabel(row)
|
||||
}
|
||||
return row.triggerSourceLabel || triggerSourceTabLabel(row)
|
||||
}
|
||||
|
||||
function resolveTriggerTagType(row: QcWorkOrder): TagType {
|
||||
if (props.cardMetaConfig.tabKey === 'temporary') {
|
||||
return temporaryQcSourceTagType(row)
|
||||
}
|
||||
return triggerSourceTagType(row.triggerSource)
|
||||
}
|
||||
|
||||
function workOrderStatusTagType(status: string): TagType {
|
||||
if (status === 'ywc') return 'success'
|
||||
if (status === 'ypz') return 'warning'
|
||||
|
||||
+45
-26
@@ -17,6 +17,11 @@ import {
|
||||
appendTaskResultSections,
|
||||
type QcWorkOrderTaskView
|
||||
} from './useQcWorkOrderTaskViewSections'
|
||||
import {
|
||||
isTemporaryQcFromProduction,
|
||||
temporaryQcSourceLabel,
|
||||
temporaryQcSourceTagType
|
||||
} from '@/utils/qc-work-order-groups'
|
||||
|
||||
function formatMetric(v: unknown) {
|
||||
if (v === null || v === undefined || v === '') return '—'
|
||||
@@ -159,35 +164,49 @@ export function buildTemporaryViewSections(
|
||||
detail: QcWorkOrderDetail,
|
||||
tasks: QcWorkOrderTaskView[]
|
||||
): ViewSection[] {
|
||||
const basicFields: ViewSection['fields'] = [
|
||||
{ label: '工单号', value: detail.workOrderNo },
|
||||
{ label: '工单类型', value: '临时', tagType: 'warning' },
|
||||
{
|
||||
label: '业务类型',
|
||||
value: detail.qcBizTypeLabel || qcBizTypeLabel('temporary'),
|
||||
tagType: 'warning'
|
||||
},
|
||||
{
|
||||
label: '工单来源',
|
||||
value: temporaryQcSourceLabel(detail),
|
||||
tagType: temporaryQcSourceTagType(detail)
|
||||
}
|
||||
]
|
||||
if (isTemporaryQcFromProduction(detail)) {
|
||||
basicFields.push({
|
||||
label: '关联生产工单',
|
||||
value: detail.productionWorkOrderNo || '—'
|
||||
})
|
||||
}
|
||||
basicFields.push(
|
||||
{ label: '产品编码', value: detail.cellProductCode || '—' },
|
||||
{ label: '产品名称', value: detail.cellProductName || '—' },
|
||||
{ label: '产品类型', value: detail.cellProductTypeName || '—' },
|
||||
{ label: '代次', value: detail.cellProductPassage || '—' },
|
||||
{ label: '规格', value: detail.cellProductSpecName || '—' },
|
||||
{
|
||||
label: '状态',
|
||||
value: workOrderStatusLabel(detail.workOrderStatus),
|
||||
tagType:
|
||||
detail.workOrderStatus === 'ywc'
|
||||
? 'success'
|
||||
: detail.workOrderStatus === 'ypz'
|
||||
? 'warning'
|
||||
: 'info'
|
||||
},
|
||||
{ label: '备注', value: detail.remark || '—', span: true },
|
||||
{ label: '创建时间', value: detail.createTime || '—' }
|
||||
)
|
||||
return [
|
||||
{
|
||||
title: '基本信息',
|
||||
fields: [
|
||||
{ label: '工单号', value: detail.workOrderNo },
|
||||
{ label: '工单类型', value: '临时', tagType: 'warning' },
|
||||
{
|
||||
label: '业务类型',
|
||||
value: detail.qcBizTypeLabel || qcBizTypeLabel('temporary'),
|
||||
tagType: 'warning'
|
||||
},
|
||||
{ label: '产品编码', value: detail.cellProductCode || '—' },
|
||||
{ label: '产品名称', value: detail.cellProductName || '—' },
|
||||
{ label: '产品类型', value: detail.cellProductTypeName || '—' },
|
||||
{ label: '代次', value: detail.cellProductPassage || '—' },
|
||||
{ label: '规格', value: detail.cellProductSpecName || '—' },
|
||||
{
|
||||
label: '状态',
|
||||
value: workOrderStatusLabel(detail.workOrderStatus),
|
||||
tagType:
|
||||
detail.workOrderStatus === 'ywc'
|
||||
? 'success'
|
||||
: detail.workOrderStatus === 'ypz'
|
||||
? 'warning'
|
||||
: 'info'
|
||||
},
|
||||
{ label: '备注', value: detail.remark || '—', span: true },
|
||||
{ label: '创建时间', value: detail.createTime || '—' }
|
||||
]
|
||||
fields: basicFields
|
||||
},
|
||||
...appendTaskResultSections(detail, tasks)
|
||||
]
|
||||
|
||||
+6
-2
@@ -20,6 +20,10 @@ import {
|
||||
} from '@/utils/qc-work-order-tabs'
|
||||
import { getCardMetaConfig } from '@/utils/qc-work-order-card-meta'
|
||||
|
||||
function shouldApplyTriggerSourceFilter(tabKey: QcWorkOrderTabKey, tabLayout: string) {
|
||||
return tabLayout !== 'standalone' || tabKey === 'temporary'
|
||||
}
|
||||
|
||||
export type QcWorkOrderTabPageMode = 'manage' | 'mine'
|
||||
|
||||
export function useQcWorkOrderTabPage(
|
||||
@@ -71,7 +75,7 @@ export function useQcWorkOrderTabPage(
|
||||
keyword: searchForm.keyword || undefined,
|
||||
workOrderStatus: searchForm.workOrderStatus || undefined,
|
||||
triggerSource:
|
||||
tab.listLayout !== 'standalone' && searchForm.triggerSource
|
||||
shouldApplyTriggerSourceFilter(tabKey.value, tab.listLayout) && searchForm.triggerSource
|
||||
? searchForm.triggerSource
|
||||
: undefined,
|
||||
tabKey: tabKey.value,
|
||||
@@ -116,7 +120,7 @@ export function useQcWorkOrderTabPage(
|
||||
keyword: searchForm.keyword || undefined,
|
||||
workOrderStatus: searchForm.workOrderStatus || undefined,
|
||||
triggerSource:
|
||||
tab.listLayout !== 'standalone' && searchForm.triggerSource
|
||||
shouldApplyTriggerSourceFilter(tabKey.value, tab.listLayout) && searchForm.triggerSource
|
||||
? searchForm.triggerSource
|
||||
: undefined,
|
||||
...toWorkOrderListQuery(tab),
|
||||
|
||||
@@ -21,20 +21,24 @@
|
||||
<el-option label="已作废" value="yzf" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="tabConfig.listLayout !== 'standalone'" label="触发来源">
|
||||
<el-form-item v-if="tabConfig.listLayout !== 'standalone' || tabKey === 'temporary'" label="工单来源">
|
||||
<el-select
|
||||
v-model="searchForm.triggerSource"
|
||||
placeholder="全部"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<template v-if="tabConfig.group === 'inbound'">
|
||||
<template v-if="tabKey === 'temporary'">
|
||||
<el-option label="生产派发" value="production" />
|
||||
<el-option label="手动创建" value="manual" />
|
||||
</template>
|
||||
<template v-else-if="tabConfig.group === 'inbound'">
|
||||
<el-option label="样本接收" value="reception" />
|
||||
</template>
|
||||
<template v-else-if="tabConfig.listLayout === 'outbound-grouped'">
|
||||
<el-option label="计划质检" value="schedule" />
|
||||
</template>
|
||||
<el-option label="生产过程" value="production" />
|
||||
<el-option v-if="tabKey !== 'temporary'" label="生产过程" value="production" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="filterTimeLabel">
|
||||
@@ -115,20 +119,27 @@
|
||||
|
||||
<div v-show="filterExpanded" id="my-qc-task-filter-extra" class="filter-extra">
|
||||
<div class="filter-grid my-qc-task-filter-extra-grid">
|
||||
<el-form-item v-if="tabConfig.listLayout !== 'standalone'" label="触发来源">
|
||||
<el-form-item
|
||||
v-if="tabConfig.listLayout !== 'standalone' || tabKey === 'temporary'"
|
||||
label="工单来源"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchForm.triggerSource"
|
||||
placeholder="全部"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<template v-if="tabConfig.group === 'inbound'">
|
||||
<template v-if="tabKey === 'temporary'">
|
||||
<el-option label="生产派发" value="production" />
|
||||
<el-option label="手动创建" value="manual" />
|
||||
</template>
|
||||
<template v-else-if="tabConfig.group === 'inbound'">
|
||||
<el-option label="样本接收" value="reception" />
|
||||
</template>
|
||||
<template v-else-if="tabConfig.listLayout === 'outbound-grouped'">
|
||||
<el-option label="计划质检" value="schedule" />
|
||||
</template>
|
||||
<el-option label="生产过程" value="production" />
|
||||
<el-option v-if="tabKey !== 'temporary'" label="生产过程" value="production" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务类型">
|
||||
|
||||
Reference in new issue
Block a user