diff --git a/src/features/ht/components/zxFw.vue b/src/features/ht/components/zxFw.vue index 2c1a7b8..4aae2e7 100644 --- a/src/features/ht/components/zxFw.vue +++ b/src/features/ht/components/zxFw.vue @@ -46,6 +46,16 @@ interface ServiceItem { type: ServiceMethodType } +const SERVICE_SELECTOR_ROWS: string[][] = [ + ['0', '2', '3', '4'], + ['6', '7', '10', '8', '9', '11', '12', '13'], + ['37', '38', '39', '40'], + ['21', '22', '23', '24', '25', '26'], + ['15', '16', '17', '18', '19', '20'], + ['29', '30', '31', '32', '33', '34', '35', '36'], + ['41', '42', '43', '44'] +] + interface DetailRow { id: string code: string @@ -162,6 +172,12 @@ const serviceDict = computed(() => { const serviceById = computed(() => new Map(serviceDict.value.map(item => [item.id, item]))) const serviceIdByCode = computed(() => new Map(serviceDict.value.map(item => [item.code, item.id]))) const serviceIdSignature = computed(() => serviceDict.value.map(item => item.id).join('|')) +const serviceSelectorRows = computed(() => { + const available = new Set(serviceDict.value.map(item => item.id)) + return SERVICE_SELECTOR_ROWS + .map(row => row.filter(id => available.has(id))) + .filter(row => row.length > 0) +}) const fixedBudgetRow: Pick = { id: 'fixed-budget-c', code: '', name: t('htZxFw.subtotal') } /** 判断是否固定汇总行(小计行)。 */ @@ -1276,7 +1292,7 @@ onActivated(async () => {