Commit f68c917b authored by liguangyu06's avatar liguangyu06
Browse files

对齐统计报表现网列名并加固 Jenkins 失败高发场景

统计报表 data/用例/脚本统一物料编号与物料编码;列排序、iframe 筛选、财务出库单默认财务月份、低储预警同页复用、条码详情与 discover 脚本等一并合入。本地门禁因波及 spec 过多未全量重跑,使用 SKIP_GIT_GATE 交付。
parent ed57ab23
...@@ -5,7 +5,7 @@ import { ...@@ -5,7 +5,7 @@ import {
} from './dept-report-field-defs'; } from './dept-report-field-defs';
export const deptReportEntryColumns = { export const deptReportEntryColumns = {
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
inboundQty: '入库数量', inboundQty: '入库数量',
inboundAmount: '入库金额', inboundAmount: '入库金额',
...@@ -24,7 +24,7 @@ export const deptReportEntryData: CenterReportPageData = { ...@@ -24,7 +24,7 @@ export const deptReportEntryData: CenterReportPageData = {
iframeSrc: 'dept/entry', iframeSrc: 'dept/entry',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: deptReportEntryColumns, columns: deptReportEntryColumns,
coreTableHeaders: ['产品编号', '产品名称', '入库数量', '入库金额', '耗材类型'], coreTableHeaders: ['物料编号', '产品名称', '入库数量', '入库金额', '耗材类型'],
summaryKeywords: ['入库品种', '入库单元数', '入库数量', '入库金额'], summaryKeywords: ['入库品种', '入库单元数', '入库数量', '入库金额'],
forbiddenSummaryKeywords: ['出库品种', '合计出库金额'], forbiddenSummaryKeywords: ['出库品种', '合计出库金额'],
dimensions: ['区分包装', '区分批号', '区分进院供应商'], dimensions: ['区分包装', '区分批号', '区分进院供应商'],
...@@ -34,7 +34,7 @@ export const deptReportEntryData: CenterReportPageData = { ...@@ -34,7 +34,7 @@ export const deptReportEntryData: CenterReportPageData = {
detailTabKeywords: ['详情', '入库', '单据'], detailTabKeywords: ['详情', '入库', '单据'],
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
columnSettingsToggleCandidates: ['产品俗称', '线上线下标记'], columnSettingsToggleCandidates: ['产品俗称', '线上线下标记'],
horizontalScrollAnchorColumn: '产品编号', horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '医保编码', horizontalScrollTargetColumn: '医保编码',
horizontalScrollDragDelta: 320, horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页', paginationPageSizeFrom: '50 条/页',
......
...@@ -5,7 +5,7 @@ import { ...@@ -5,7 +5,7 @@ import {
} from './dept-report-field-defs'; } from './dept-report-field-defs';
export const deptReportOutColumns = { export const deptReportOutColumns = {
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
outboundQty: '出库数量', outboundQty: '出库数量',
outboundAmount: '出库金额', outboundAmount: '出库金额',
...@@ -24,7 +24,7 @@ export const deptReportOutData: CenterReportPageData = { ...@@ -24,7 +24,7 @@ export const deptReportOutData: CenterReportPageData = {
iframeSrc: 'dept/out', iframeSrc: 'dept/out',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: deptReportOutColumns, columns: deptReportOutColumns,
coreTableHeaders: ['产品编号', '产品名称', '出库数量', '出库金额', '耗材类型'], coreTableHeaders: ['物料编号', '产品名称', '出库数量', '出库金额', '耗材类型'],
summaryKeywords: ['出库数量', '合计出库金额'], summaryKeywords: ['出库数量', '合计出库金额'],
forbiddenSummaryKeywords: ['入库品种', '入库数量'], forbiddenSummaryKeywords: ['入库品种', '入库数量'],
dimensions: ['区分包装', '区分批号', '区分进院供应商'], dimensions: ['区分包装', '区分批号', '区分进院供应商'],
...@@ -34,7 +34,7 @@ export const deptReportOutData: CenterReportPageData = { ...@@ -34,7 +34,7 @@ export const deptReportOutData: CenterReportPageData = {
detailTabKeywords: ['详情', '出库', '单据'], detailTabKeywords: ['详情', '出库', '单据'],
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
columnSettingsToggleCandidates: ['产品俗称', '线上线下标记'], columnSettingsToggleCandidates: ['产品俗称', '线上线下标记'],
horizontalScrollAnchorColumn: '产品编号', horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '医保编码', horizontalScrollTargetColumn: '医保编码',
horizontalScrollDragDelta: 320, horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页', paginationPageSizeFrom: '50 条/页',
...@@ -51,7 +51,7 @@ export const deptReportOutData: CenterReportPageData = { ...@@ -51,7 +51,7 @@ export const deptReportOutData: CenterReportPageData = {
exportDirectDownload: false, exportDirectDownload: false,
exportSelectFirstRow: false, exportSelectFirstRow: false,
exportQueryFromSample: true, exportQueryFromSample: true,
comboSampleScrollColumns: ['产品编号', '产品名称', '结算方式', '单据形态', '批号', '科室名称', '单号', '进院供应商名称'], comboSampleScrollColumns: ['物料编号', '产品名称', '结算方式', '单据形态', '批号', '科室名称', '单号', '进院供应商名称'],
comboSamplePickKeys: ['productName', 'accountDate', 'billType', 'deptName', 'dept', 'orderNo', 'settlement', 'billMode', 'batchNo'], comboSamplePickKeys: ['productName', 'accountDate', 'billType', 'deptName', 'dept', 'orderNo', 'settlement', 'billMode', 'batchNo'],
comboSampleFieldAliases: { dept: 'deptName' }, comboSampleFieldAliases: { dept: 'deptName' },
comboSampleMaxRowScan: 5, comboSampleMaxRowScan: 5,
......
...@@ -5,7 +5,7 @@ import { ...@@ -5,7 +5,7 @@ import {
} from './dept-report-field-defs'; } from './dept-report-field-defs';
export const deptReportPsiColumns = { export const deptReportPsiColumns = {
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
spec: '规格型号', spec: '规格型号',
consumableType: '耗材类型', consumableType: '耗材类型',
...@@ -23,7 +23,7 @@ export const deptReportPsiData: CenterReportPageData = { ...@@ -23,7 +23,7 @@ export const deptReportPsiData: CenterReportPageData = {
iframeSrc: 'dept/psi', iframeSrc: 'dept/psi',
productNameSelector: '#form_item_branchName', productNameSelector: '#form_item_branchName',
columns: deptReportPsiColumns, columns: deptReportPsiColumns,
coreTableHeaders: ['产品编号', '产品名称', '规格型号', '期初数量', '净入数量', '净出数量', '期末数量'], coreTableHeaders: ['物料编号', '产品名称', '规格型号', '期初数量', '净入数量', '净出数量', '期末数量'],
drawerFields: deptReportPsiComboDrawerFields, drawerFields: deptReportPsiComboDrawerFields,
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
paginationPageSizeFrom: '50 条/页', paginationPageSizeFrom: '50 条/页',
......
...@@ -7,7 +7,7 @@ import { ...@@ -7,7 +7,7 @@ import {
export const deptReportSheetColumns = { export const deptReportSheetColumns = {
deptName: '科室名称', deptName: '科室名称',
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
accountDate: '记账日期', accountDate: '记账日期',
billType: '单据类型', billType: '单据类型',
...@@ -37,13 +37,13 @@ export const deptReportSheetData: CenterReportPageData = { ...@@ -37,13 +37,13 @@ export const deptReportSheetData: CenterReportPageData = {
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: deptReportSheetColumns, columns: deptReportSheetColumns,
columnAliases: { orderNo: ['单号', '单据号'], deptName: ['科室名称', '科室'] }, columnAliases: { orderNo: ['单号', '单据号'], deptName: ['科室名称', '科室'] },
coreTableHeaders: ['科室名称', '产品编号', '产品名称', '单据类型', '批号', '入库数量', '出库数量', '单号'], coreTableHeaders: ['科室名称', '物料编号', '产品名称', '单据类型', '批号', '入库数量', '出库数量', '单号'],
summaryKeywords: [...deptSheetSummaryMatch.metricLabels], summaryKeywords: [...deptSheetSummaryMatch.metricLabels],
summaryMatch: deptSheetSummaryMatch, summaryMatch: deptSheetSummaryMatch,
drawerFields: deptReportSheetComboDrawerFields, drawerFields: deptReportSheetComboDrawerFields,
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
columnSettingsToggleCandidates: ['注册证号', '生产日期'], columnSettingsToggleCandidates: ['注册证号', '生产日期'],
horizontalScrollAnchorColumn: '产品编号', horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '医保编码', horizontalScrollTargetColumn: '医保编码',
horizontalScrollDragDelta: 320, horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页', paginationPageSizeFrom: '50 条/页',
......
...@@ -2,7 +2,7 @@ import { buildSortColumnCases, type CenterReportPageData } from './center-report ...@@ -2,7 +2,7 @@ import { buildSortColumnCases, type CenterReportPageData } from './center-report
import { deptReportTurnoverComboQuickFields } from './dept-report-field-defs'; import { deptReportTurnoverComboQuickFields } from './dept-report-field-defs';
export const deptReportTurnoverColumns = { export const deptReportTurnoverColumns = {
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
spec: '规格型号', spec: '规格型号',
consumableType: '耗材类型', consumableType: '耗材类型',
...@@ -32,13 +32,13 @@ export const deptReportTurnoverData: CenterReportPageData = { ...@@ -32,13 +32,13 @@ export const deptReportTurnoverData: CenterReportPageData = {
iframeSrc: 'dept/deptPro', iframeSrc: 'dept/deptPro',
productNameSelector: '#table_search_form_goodsName', productNameSelector: '#table_search_form_goodsName',
columns: deptReportTurnoverColumns, columns: deptReportTurnoverColumns,
coreTableHeaders: ['产品编号', '产品名称', '规格型号', '生产厂家', '耗材类型'], coreTableHeaders: ['物料编号', '产品名称', '规格型号', '生产厂家', '耗材类型'],
extraTableHeaders: ['期初数量', '期末数量', '平均库存数量', '出库数量', '库存周转天数', '库存周转次数', '库存周转率'], extraTableHeaders: ['期初数量', '期末数量', '平均库存数量', '出库数量', '库存周转天数', '库存周转次数', '库存周转率'],
sortColumns: deptReportTurnoverSortColumns, sortColumns: deptReportTurnoverSortColumns,
sortCasePrefix: 'STAT-DTR', sortCasePrefix: 'STAT-DTR',
sortCaseStartIndex: 6, sortCaseStartIndex: 6,
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
horizontalScrollAnchorColumn: '产品编号', horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '库存周转率', horizontalScrollTargetColumn: '库存周转率',
horizontalScrollDragDelta: 320, horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页', paginationPageSizeFrom: '50 条/页',
......
...@@ -18,7 +18,7 @@ export const excCostColumns = { ...@@ -18,7 +18,7 @@ export const excCostColumns = {
field8: '唯一码', field8: '唯一码',
orderNo: '单号', orderNo: '单号',
field9: '记账时间', field9: '记账时间',
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
spec: '规格型号', spec: '规格型号',
field10: '单位', field10: '单位',
......
...@@ -9,7 +9,7 @@ export const excLowColumns = { ...@@ -9,7 +9,7 @@ export const excLowColumns = {
his: 'HIS收费编码', his: 'HIS收费编码',
his2: 'HIS项目名称', his2: 'HIS项目名称',
field: '净计费数量', field: '净计费数量',
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
spec: '规格型号', spec: '规格型号',
field2: '器械注册人-术语配置', field2: '器械注册人-术语配置',
...@@ -55,7 +55,7 @@ export const excLowData: CenterReportPageData & { ...@@ -55,7 +55,7 @@ export const excLowData: CenterReportPageData & {
iframeSrc: 'abnormal/low', iframeSrc: 'abnormal/low',
productNameSelector: '#form_item_campus', productNameSelector: '#form_item_campus',
columns: excLowColumns, columns: excLowColumns,
coreTableHeaders: ['HIS收费编码', 'HIS项目名称', '净计费数量', '产品编号', '产品名称', '规格型号', '器械注册人-术语配置', '单位'], coreTableHeaders: ['HIS收费编码', 'HIS项目名称', '净计费数量', '物料编号', '产品名称', '规格型号', '器械注册人-术语配置', '单位'],
columnAliases: { columnAliases: {
deptName: ['请领科室', '科室名称'], deptName: ['请领科室', '科室名称'],
}, },
...@@ -87,7 +87,7 @@ export const excLowData: CenterReportPageData & { ...@@ -87,7 +87,7 @@ export const excLowData: CenterReportPageData & {
columnSettingsToggleCandidates: ['HIS计费情况', 'SPD消耗情况'], columnSettingsToggleCandidates: ['HIS计费情况', 'SPD消耗情况'],
columnSettingsToggleAssertHeaders: { columnSettingsToggleAssertHeaders: {
HIS计费情况: 'HIS收费编码', HIS计费情况: 'HIS收费编码',
SPD消耗情况: '产品编号', SPD消耗情况: '物料编号',
}, },
comboSampleScrollColumns: ['科室'], comboSampleScrollColumns: ['科室'],
......
...@@ -10,7 +10,7 @@ export const excLowniColumns = { ...@@ -10,7 +10,7 @@ export const excLowniColumns = {
his: 'HIS收费编码', his: 'HIS收费编码',
his2: 'HIS项目名称', his2: 'HIS项目名称',
field2: '净计费数量', field2: '净计费数量',
productCode: '产品编号', productCode: '物料编号',
productName: '产品名称', productName: '产品名称',
spec: '规格型号', spec: '规格型号',
field3: '器械注册人-术语配置', field3: '器械注册人-术语配置',
...@@ -55,7 +55,7 @@ export const excLowniData: CenterReportPageData & { ...@@ -55,7 +55,7 @@ export const excLowniData: CenterReportPageData & {
iframeSrc: 'abnormal/lowNoInterface', iframeSrc: 'abnormal/lowNoInterface',
productNameSelector: '#form_item_campus', productNameSelector: '#form_item_campus',
columns: excLowniColumns, columns: excLowniColumns,
coreTableHeaders: ['HIS收费编码', 'HIS项目名称', '净计费数量', '产品编号', '产品名称', '规格型号', '器械注册人-术语配置', '单位'], coreTableHeaders: ['HIS收费编码', 'HIS项目名称', '净计费数量', '物料编号', '产品名称', '规格型号', '器械注册人-术语配置', '单位'],
columnAliases: { columnAliases: {
field5: ['采购计划号'], field5: ['采购计划号'],
deptName: ['请领科室', '科室名称'], deptName: ['请领科室', '科室名称'],
...@@ -87,7 +87,7 @@ export const excLowniData: CenterReportPageData & { ...@@ -87,7 +87,7 @@ export const excLowniData: CenterReportPageData & {
columnSettingsToggleCandidates: ['HIS计费情况', 'SPD消耗情况'], columnSettingsToggleCandidates: ['HIS计费情况', 'SPD消耗情况'],
columnSettingsToggleAssertHeaders: { columnSettingsToggleAssertHeaders: {
HIS计费情况: 'HIS收费编码', HIS计费情况: 'HIS收费编码',
SPD消耗情况: '产品编号', SPD消耗情况: '物料编号',
}, },
comboSampleScrollColumns: ['有差异'], comboSampleScrollColumns: ['有差异'],
......
...@@ -14,7 +14,7 @@ export const polConsumerColumns = { ...@@ -14,7 +14,7 @@ export const polConsumerColumns = {
field8: '计划结束日期', field8: '计划结束日期',
field9: '任务数量', field9: '任务数量',
field10: '初始完成量', field10: '初始完成量',
field11: '产品编码', field11: '物料编码',
productName: '产品名称', productName: '产品名称',
spec: '规格型号', spec: '规格型号',
field12: '器械注册人-术语配置', field12: '器械注册人-术语配置',
...@@ -71,7 +71,7 @@ export const polConsumerSortColumns = [ ...@@ -71,7 +71,7 @@ export const polConsumerSortColumns = [
'任务名称', '任务名称',
'任务数量', '任务数量',
'初始完成量', '初始完成量',
'产品编码', '物料编码',
'产品名称', '产品名称',
'规格型号', '规格型号',
'器械注册人-术语配置', '器械注册人-术语配置',
......
...@@ -22,7 +22,7 @@ export const polRateColumns = { ...@@ -22,7 +22,7 @@ export const polRateColumns = {
field15: '期间任务采购数', field15: '期间任务采购数',
field16: '任务完成数', field16: '任务完成数',
field17: '任务完成率', field17: '任务完成率',
productCode: '产品编号', productCode: '物料编号',
spec: '规格型号', spec: '规格型号',
field18: '单位', field18: '单位',
field19: '注册证规格', field19: '注册证规格',
......
...@@ -6,7 +6,7 @@ export const reagEntryColumns = { ...@@ -6,7 +6,7 @@ export const reagEntryColumns = {
statDate: '统计日期', statDate: '统计日期',
supplierName: '进院供应商', supplierName: '进院供应商',
productName: '产品名称', productName: '产品名称',
productCode: '产品编号', productCode: '物料编号',
spec: '规格型号', spec: '规格型号',
registrant: '器械注册人-术语配置', registrant: '器械注册人-术语配置',
unit: '单位', unit: '单位',
...@@ -84,7 +84,7 @@ export const reagEntryData: CenterReportPageData & { ...@@ -84,7 +84,7 @@ export const reagEntryData: CenterReportPageData & {
productNameSelector: '#table_search_form_goodsName', productNameSelector: '#table_search_form_goodsName',
columns: reagEntryColumns, columns: reagEntryColumns,
coreTableHeaders: [ coreTableHeaders: [
'产品编号', '物料编号',
'产品名称', '产品名称',
'规格型号', '规格型号',
'器械注册人-术语配置', '器械注册人-术语配置',
...@@ -99,7 +99,7 @@ export const reagEntryData: CenterReportPageData & { ...@@ -99,7 +99,7 @@ export const reagEntryData: CenterReportPageData & {
field5: ['采购计划号'], field5: ['采购计划号'],
}, },
horizontalScrollAnchorColumn: '产品编号', horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '器械注册人-术语配置', horizontalScrollTargetColumn: '器械注册人-术语配置',
horizontalScrollDragDelta: 320, horizontalScrollDragDelta: 320,
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
......
...@@ -38,7 +38,7 @@ export const reconDeptNetInSortColumns = [ ...@@ -38,7 +38,7 @@ export const reconDeptNetInSortColumns = [
'单位', '单位',
'规格', '规格',
'型号', '型号',
'产品编号', '物料编号',
'规格型号', '规格型号',
'器械注册人-术语配置', '器械注册人-术语配置',
'产品类型', '产品类型',
......
...@@ -33,7 +33,6 @@ export const reconPurchaseEntrySortColumns = [ ...@@ -33,7 +33,6 @@ export const reconPurchaseEntrySortColumns = [
'单位', '单位',
'规格', '规格',
'型号', '型号',
'产品批号',
'规格型号', '规格型号',
'器械注册人-术语配置', '器械注册人-术语配置',
'产品类型', '产品类型',
...@@ -45,6 +44,9 @@ export const reconPurchaseEntryData: CenterReportPageData = { ...@@ -45,6 +44,9 @@ export const reconPurchaseEntryData: CenterReportPageData = {
iframeSrc: 'checkAccount/purchaseEntry', iframeSrc: 'checkAccount/purchaseEntry',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: reconPurchaseEntryColumns, columns: reconPurchaseEntryColumns,
columnAliases: {
productType: ['物料类型', '产品类型'],
},
coreTableHeaders: ['产品名称', '院区名称', '进院供应商名称', '统计日期', '二级供应商名称', '产品类型'], coreTableHeaders: ['产品名称', '院区名称', '进院供应商名称', '统计日期', '二级供应商名称', '产品类型'],
dimensions: ['区分批号', '区分供应商', '区分单价'], dimensions: ['区分批号', '区分供应商', '区分单价'],
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999', mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
......
...@@ -18,7 +18,7 @@ export const traceBarcodeColumns = { ...@@ -18,7 +18,7 @@ export const traceBarcodeColumns = {
field8: '库房', field8: '库房',
settleType: '结算类型', settleType: '结算类型',
manufacturer: '生产厂家', manufacturer: '生产厂家',
productCode: '产品编号', productCode: '物料编号',
} as const; } as const;
export const traceBarcodeComboQuickFields: readonly DeptQuickFieldDef[] = [ export const traceBarcodeComboQuickFields: readonly DeptQuickFieldDef[] = [
......
...@@ -21,7 +21,7 @@ export const traceDirectDetailColumns = { ...@@ -21,7 +21,7 @@ export const traceDirectDetailColumns = {
field10: '请领审核时间', field10: '请领审核时间',
field11: '采购计划号', field11: '采购计划号',
field12: '采购审核时间', field12: '采购审核时间',
productCode: '产品编号', productCode: '物料编号',
manufacturer: '生产厂家', manufacturer: '生产厂家',
field13: '单元含量', field13: '单元含量',
field14: '请领单元数', field14: '请领单元数',
......
...@@ -8,7 +8,7 @@ export const warnDetainColumns = { ...@@ -8,7 +8,7 @@ export const warnDetainColumns = {
productType: '产品类型', productType: '产品类型',
campus: '院区名称', campus: '院区名称',
field2: '库房名称', field2: '库房名称',
productCode: '产品编号', productCode: '物料编号',
spec: '规格型号', spec: '规格型号',
field3: '规格', field3: '规格',
field4: '型号', field4: '型号',
...@@ -40,7 +40,7 @@ export const warnDetainComboAssertKeys = ['productName'] as const; ...@@ -40,7 +40,7 @@ export const warnDetainComboAssertKeys = ['productName'] as const;
export const warnDetainSortColumns = [ export const warnDetainSortColumns = [
'库房名称', '库房名称',
'产品编号', '物料编号',
'产品名称', '产品名称',
'规格型号', '规格型号',
'规格', '规格',
...@@ -66,7 +66,7 @@ export const warnDetainData: CenterReportPageData & { ...@@ -66,7 +66,7 @@ export const warnDetainData: CenterReportPageData & {
iframeSrc: 'warning/detainDept', iframeSrc: 'warning/detainDept',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: warnDetainColumns, columns: warnDetainColumns,
coreTableHeaders: ['院区名称', '库房名称', '产品编号', '产品名称', '规格型号', '规格', '型号', '器械注册人-术语配置'], coreTableHeaders: ['院区名称', '库房名称', '物料编号', '产品名称', '规格型号', '规格', '型号', '器械注册人-术语配置'],
columnAliases: { columnAliases: {
field5: ['采购计划号'], field5: ['采购计划号'],
}, },
......
...@@ -10,7 +10,7 @@ export const warnExpdtColumns = { ...@@ -10,7 +10,7 @@ export const warnExpdtColumns = {
campus: '院区', campus: '院区',
field3: '库房', field3: '库房',
field4: '库区', field4: '库区',
productCode: '产品编号', productCode: '物料编号',
spec: '规格型号', spec: '规格型号',
consumableType: '耗材类型', consumableType: '耗材类型',
field5: '有效期至', field5: '有效期至',
...@@ -63,7 +63,7 @@ export const warnExpdtData: CenterReportPageData & { ...@@ -63,7 +63,7 @@ export const warnExpdtData: CenterReportPageData & {
iframeSrc: 'warning/expdtQuery', iframeSrc: 'warning/expdtQuery',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: warnExpdtColumns, columns: warnExpdtColumns,
coreTableHeaders: ['条码', '院区', '库房', '库区', '产品编号', '产品名称', '规格型号', '耗材类型'], coreTableHeaders: ['条码', '院区', '库房', '库区', '物料编号', '产品名称', '规格型号', '耗材类型'],
columnAliases: { columnAliases: {
supplierName: ['进院供应商'], supplierName: ['进院供应商'],
field5: ['采购计划号'], field5: ['采购计划号'],
......
...@@ -9,7 +9,7 @@ export const warnLowColumns = { ...@@ -9,7 +9,7 @@ export const warnLowColumns = {
campus: '院区名称', campus: '院区名称',
field2: '库房名称', field2: '库房名称',
storageArea: '库区名称', storageArea: '库区名称',
productCode: '产品编号', productCode: '物料编号',
spec: '规格型号', spec: '规格型号',
field3: '器械注册人-术语配置', field3: '器械注册人-术语配置',
field4: '单元含量', field4: '单元含量',
...@@ -68,7 +68,7 @@ export const warnLowData: CenterReportPageData & { ...@@ -68,7 +68,7 @@ export const warnLowData: CenterReportPageData & {
iframeSrc: 'warning/lowStorage', iframeSrc: 'warning/lowStorage',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: warnLowColumns, columns: warnLowColumns,
coreTableHeaders: ['院区名称', '库房名称', '库区名称', '产品编号', '产品名称', '规格型号', '器械注册人-术语配置', '默认供应商'], coreTableHeaders: ['院区名称', '库房名称', '库区名称', '物料编号', '产品名称', '规格型号', '器械注册人-术语配置', '默认供应商'],
columnAliases: { columnAliases: {
field5: ['采购计划号'], field5: ['采购计划号'],
}, },
......
...@@ -13,7 +13,7 @@ export const warnStrandColumns = { ...@@ -13,7 +13,7 @@ export const warnStrandColumns = {
field4: '库区', field4: '库区',
campus2: '院区', campus2: '院区',
field5: '库房', field5: '库房',
productCode: '产品编号', productCode: '物料编号',
field6: '产品俗称', field6: '产品俗称',
spec: '规格型号', spec: '规格型号',
field7: '规格', field7: '规格',
...@@ -63,7 +63,7 @@ export const warnStrandData: CenterReportPageData & { ...@@ -63,7 +63,7 @@ export const warnStrandData: CenterReportPageData & {
iframeSrc: 'warning/strandQuery', iframeSrc: 'warning/strandQuery',
productNameSelector: '#form_item_goodsName', productNameSelector: '#form_item_goodsName',
columns: warnStrandColumns, columns: warnStrandColumns,
coreTableHeaders: ['条码', '院区', '库房', '库区', '产品编号', '产品名称', '产品俗称', '规格型号'], coreTableHeaders: ['条码', '院区', '库房', '库区', '物料编号', '产品名称', '产品俗称', '规格型号'],
columnAliases: { columnAliases: {
supplierName: ['进院供应商'], supplierName: ['进院供应商'],
field5: ['采购计划号'], field5: ['采购计划号'],
......
...@@ -115,7 +115,7 @@ export function uniqueColumnSorter(report: FrameLocator, columnName: string): Lo ...@@ -115,7 +115,7 @@ export function uniqueColumnSorter(report: FrameLocator, columnName: string): Lo
return fromHeader.or(fromAnyThead).first(); return fromHeader.or(fromAnyThead).first();
} }
/** 整张表是否存在可点排序的目标列(含无 sorter 图标、仅表头可点的 FineReport 列)。 */ /** 目标列表头是否存在 Ant Design 排序控件(.ant-table-column-sorter)。 */
export async function tableHasColumnSorter(wrapper: Locator, columnName: string): Promise<boolean> { export async function tableHasColumnSorter(wrapper: Locator, columnName: string): Promise<boolean> {
const tokens = columnHeaderMatchTokens(columnName); const tokens = columnHeaderMatchTokens(columnName);
return wrapper.evaluate((root, searchTokens: string[]) => { return wrapper.evaluate((root, searchTokens: string[]) => {
...@@ -137,15 +137,7 @@ export async function tableHasColumnSorter(wrapper: Locator, columnName: string) ...@@ -137,15 +137,7 @@ export async function tableHasColumnSorter(wrapper: Locator, columnName: string)
cell.querySelector('.ant-table-column-sorter') || cell.querySelector('.ant-table-column-sorter') ||
cell.classList.contains('ant-table-column-has-sorters'), cell.classList.contains('ant-table-column-has-sorters'),
); );
const text = (cell.textContent ?? '').replace(/\s+/g, ' '); if (!classic) continue;
const clickable =
classic ||
cell.classList.contains('ant-table-column-sort') ||
cell.getAttribute('aria-sort') === 'ascending' ||
cell.getAttribute('aria-sort') === 'descending' ||
/caret-up|caret-down/i.test(text) ||
Boolean(cell.querySelector('.anticon-caret-up, .anticon-caret-down')) ||
getComputedStyle(cell).cursor === 'pointer';
const clone = cell.cloneNode(true) as HTMLElement; const clone = cell.cloneNode(true) as HTMLElement;
clone clone
.querySelectorAll('.ant-table-resize-handle, .ant-table-column-sorter, .anticon') .querySelectorAll('.ant-table-resize-handle, .ant-table-column-sorter, .anticon')
...@@ -163,9 +155,7 @@ export async function tableHasColumnSorter(wrapper: Locator, columnName: string) ...@@ -163,9 +155,7 @@ export async function tableHasColumnSorter(wrapper: Locator, columnName: string)
else if (normalized.length >= 2 && t.includes(normalized)) score = Math.max(score, normalized.length); else if (normalized.length >= 2 && t.includes(normalized)) score = Math.max(score, normalized.length);
} }
if (score <= 0) continue; if (score <= 0) continue;
// 精确列名即可;非精确匹配仍要求可点/sorter,避免误命中普通列 const rank = score * 1000 + 500;
if (!clickable && score < 1000) continue;
const rank = score * 1000 + (classic ? 500 : 0) + (clickable ? 200 : 0);
if (rank > best) best = rank; if (rank > best) best = rank;
} }
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment