This commit is contained in:
wuzilong committed 2026-09-11 21:19:52 +08:00
1 parent 83192719b0
commit 8e87c7d576
33 files changed
+39570 -38896

No files matched your search

@@ -66,7 +66,7 @@
@keyup.enter="confirm"
/>
</div>
<p class="field-tip">整库模糊匹配本列</p>
<p class="field-tip">{{ textFieldTip }}</p>
</template>
<!-- 枚举:固定选项勾选 -->
@@ -224,9 +224,12 @@
options?: Array<{ value: string; label: string; count: number }>
/** CRM 外壳 CrmColFilterHeader 已自绘双三角时传 false,避免重复 */
enableSort?: boolean
/** 文本过滤底部提示;默认「整库模糊匹配本列」 */
textTip?: string
}>(),
{
enableSort: true
enableSort: true,
textTip: ''
}
)
@@ -265,6 +268,10 @@
return '时间:按日期闭区间过滤'
})
const textFieldTip = computed(
() => props.textTip?.trim() || '整库模糊匹配本列'
)
const visibleOptions = computed(() => {
const list = props.options || []
const q = draftKeyword.value.trim().toLowerCase()
+16 -5
View File
@@ -90,23 +90,34 @@ export function moneyTableFormatter(_row: unknown, _column: unknown, cellValue:
export interface ReimburseExpenseDetailLike {
expenseName?: string | null
amount?: number | string | null
occurDate?: string | null
}
/** 列表费用项目列:按明细顺序返回「项目名 (金额元)」各行文案 */
/** 列表费用项目列:按明细顺序返回「项目名 (金额元) 发生时间」各行文案 */
export function getReimburseExpenseItemLines(
details?: ReimburseExpenseDetailLike[] | null,
fallback?: ReimburseExpenseDetailLike | null
): string[] {
const formatLine = (name: string, amount?: number | string | null) =>
`${name} (${formatMoneyNumber(amount)}元)`
const formatLine = (
name: string,
amount?: number | string | null,
occurDate?: string | null
) => {
const datePart = String(occurDate ?? '').trim()
return datePart
? `${name} (${formatMoneyNumber(amount)}元) ${datePart}`
: `${name} (${formatMoneyNumber(amount)}元)`
}
const lines = (details ?? []).filter((d) => String(d?.expenseName ?? '').trim())
if (lines.length) {
return lines.map((d) => formatLine(String(d.expenseName).trim(), d.amount))
return lines.map((d) =>
formatLine(String(d.expenseName).trim(), d.amount, d.occurDate)
)
}
const name = String(fallback?.expenseName ?? '').trim()
if (name) {
return [formatLine(name, fallback?.amount)]
return [formatLine(name, fallback?.amount, fallback?.occurDate)]
}
return ['-']
}
@@ -182,6 +182,7 @@
prop="expenseName"
label="费用项目"
type="text"
text-tip="模糊匹配费用项目名称或发生时间(如 2026-03)"
:is-active="isFilterActive('expenseName')"
:model-value="filters.expenseName || null"
@update:model-value="(v) => setFilterState('expenseName', v)"
@@ -164,7 +164,7 @@
v-if="isColumnVisible('expenseName')"
prop="expenseName"
label="费用项目"
min-width="260"
min-width="300"
align="left"
header-align="center"
show-overflow-tooltip
@@ -176,6 +176,7 @@
prop="expenseName"
label="费用项目"
type="text"
text-tip="模糊匹配费用项目名称或发生时间(如 2026-03)"
:is-active="isFilterActive('expenseName')"
:model-value="filters.expenseName || null"
@update:model-value="(v) => setFilterState('expenseName', v)"
@@ -428,7 +429,7 @@
v-if="isColumnVisible('expenseName')"
prop="expenseName"
label="费用项目"
min-width="260"
min-width="300"
align="left"
header-align="center"
show-overflow-tooltip
@@ -440,6 +441,7 @@
prop="expenseName"
label="费用项目"
type="text"
text-tip="模糊匹配费用项目名称或发生时间(如 2026-03)"
:is-active="isFilterActive('expenseName')"
:model-value="filters.expenseName || null"
@update:model-value="(v) => setFilterState('expenseName', v)"