n20-common-lib 3.0.74 → 3.0.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
/>
|
|
159
159
|
</vxe-colgroup>
|
|
160
160
|
<vxe-column
|
|
161
|
-
v-else
|
|
161
|
+
v-else-if="item.formatter"
|
|
162
162
|
:key="'vxe-table-base__column' + i"
|
|
163
163
|
:class-name="`${item.wrap && `vxe-table-custom-wrap`} ${item.bold && `font-w600`}`"
|
|
164
164
|
:formatter="item.formatter ? item.formatter : 'formatName'"
|
|
@@ -167,6 +167,53 @@
|
|
|
167
167
|
:title="item.label"
|
|
168
168
|
:field="item.prop"
|
|
169
169
|
v-bind="item"
|
|
170
|
+
>
|
|
171
|
+
<template #header="{ column }">
|
|
172
|
+
<div
|
|
173
|
+
class="flex-box flex-v flex-c"
|
|
174
|
+
@mouseenter="hoverHeaderProp = item.prop"
|
|
175
|
+
@mouseleave="hoverHeaderProp = null"
|
|
176
|
+
>
|
|
177
|
+
<span
|
|
178
|
+
v-if="item.tooltip"
|
|
179
|
+
v-title="typeof item.tooltip === 'function' ? item.tooltip(column) : item.tooltip"
|
|
180
|
+
class="pointer"
|
|
181
|
+
style="border-bottom: 1px dashed"
|
|
182
|
+
>
|
|
183
|
+
<slot :name="`header_${column.field}`" :column="column">
|
|
184
|
+
{{ column.title }}
|
|
185
|
+
</slot>
|
|
186
|
+
</span>
|
|
187
|
+
<template v-else>
|
|
188
|
+
<slot :name="`header_${column.field}`" :column="column">
|
|
189
|
+
{{ column.title }}
|
|
190
|
+
</slot>
|
|
191
|
+
</template>
|
|
192
|
+
<!-- 已固定列(fixed='left'):hover 时显示 lock 图标,点击取消固定 -->
|
|
193
|
+
<i
|
|
194
|
+
v-if="item.fixed === 'left'"
|
|
195
|
+
class="v3-icon-lock vxe-table--column__icon m-l-ss pointer color-primary"
|
|
196
|
+
@click.stop="unlockColumn(item)"
|
|
197
|
+
></i>
|
|
198
|
+
<!-- 未固定列(且非静态列):hover 时显示 unlock 图标,点击设为固定 -->
|
|
199
|
+
<i
|
|
200
|
+
v-if="!item.fixed && !item.static"
|
|
201
|
+
v-show="hoverHeaderProp === item.prop"
|
|
202
|
+
class="v3-icon-unlock vxe-table--column__icon m-l-ss pointer"
|
|
203
|
+
@click.stop="lockColumn(item)"
|
|
204
|
+
></i>
|
|
205
|
+
</div>
|
|
206
|
+
</template>
|
|
207
|
+
</vxe-column>
|
|
208
|
+
<vxe-column
|
|
209
|
+
v-else
|
|
210
|
+
:key="'vxe-table-base__column' + i"
|
|
211
|
+
:class-name="`${item.wrap && `vxe-table-custom-wrap`} ${item.bold && `font-w600`}`"
|
|
212
|
+
:filters="item.filters"
|
|
213
|
+
:filter-render="item.filters && item.filters.length > 0 ? { name: 'FilterInput' } : null"
|
|
214
|
+
:title="item.label"
|
|
215
|
+
:field="item.prop"
|
|
216
|
+
v-bind="item"
|
|
170
217
|
>
|
|
171
218
|
<template #header="{ column }">
|
|
172
219
|
<div
|
|
@@ -205,19 +252,14 @@
|
|
|
205
252
|
</div>
|
|
206
253
|
</template>
|
|
207
254
|
<!-- 处理旧格式 formatter 和 render -->
|
|
208
|
-
<template
|
|
209
|
-
<!--
|
|
210
|
-
<template
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
</template>
|
|
215
|
-
</vxe-tooltip>
|
|
216
|
-
</template>
|
|
217
|
-
<!-- 旧的 formatter 函数:formatter: ({ row }) => html -->
|
|
218
|
-
<template v-else-if="item._oldFormatter && item._originalFormatter">
|
|
219
|
-
<div v-html="item._originalFormatter({ row })"></div>
|
|
255
|
+
<template #default="{ row, column }">
|
|
256
|
+
<!-- 纯对象字段 -->
|
|
257
|
+
<template
|
|
258
|
+
v-if="row[column.property] && typeof row[column.property] === 'object' && row[column.property].name"
|
|
259
|
+
>
|
|
260
|
+
{{ row[column.property].name }}
|
|
220
261
|
</template>
|
|
262
|
+
<slot v-else :name="`cell_${item.prop}`" :row="row">{{ row[column.property] }}</slot>
|
|
221
263
|
</template>
|
|
222
264
|
</vxe-column>
|
|
223
265
|
</template>
|