@robot-admin/naive-ui-components 0.11.0 → 0.11.1

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.
Files changed (91) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/C_Table.base.css +86 -86
  3. package/dist/C_Table.css +86 -86
  4. package/dist/constants.d.cts +5 -5
  5. package/dist/constants.d.ts +5 -5
  6. package/dist/constants2.d.cts +5 -5
  7. package/dist/constants2.d.ts +5 -5
  8. package/dist/constants3.d.cts +3 -3
  9. package/dist/constants3.d.ts +3 -3
  10. package/dist/constants4.d.cts +3 -3
  11. package/dist/constants4.d.ts +3 -3
  12. package/dist/constants5.d.cts +2 -2
  13. package/dist/constants5.d.ts +2 -2
  14. package/dist/data.d.cts +2 -2
  15. package/dist/data.d.ts +2 -2
  16. package/dist/index10.vue.d.cts +2 -2
  17. package/dist/index10.vue.d.ts +3 -3
  18. package/dist/index11.vue.d.cts +3 -3
  19. package/dist/index11.vue.d.ts +3 -3
  20. package/dist/index12.vue.d.cts +3 -3
  21. package/dist/index12.vue.d.ts +5 -5
  22. package/dist/index13.vue.d.cts +5 -5
  23. package/dist/index13.vue.d.ts +3 -3
  24. package/dist/index14.vue.d.cts +3 -3
  25. package/dist/index14.vue.d.ts +5 -5
  26. package/dist/index15.vue.d.cts +5 -5
  27. package/dist/index15.vue.d.ts +2 -2
  28. package/dist/index16.vue.d.cts +2 -2
  29. package/dist/index16.vue.d.ts +1 -1
  30. package/dist/index17.vue.d.cts +1 -1
  31. package/dist/index17.vue.d.ts +6 -6
  32. package/dist/index18.vue.d.cts +6 -6
  33. package/dist/index18.vue.d.ts +3 -3
  34. package/dist/index2.vue.d.cts +5 -5
  35. package/dist/index2.vue.d.ts +5 -5
  36. package/dist/index20.vue.d.cts +3 -3
  37. package/dist/index20.vue.d.ts +3 -3
  38. package/dist/index21.vue.d.cts +2 -2
  39. package/dist/index21.vue.d.ts +2 -2
  40. package/dist/index22.vue.d.cts +1 -1
  41. package/dist/index22.vue.d.ts +1 -1
  42. package/dist/index24.vue.d.cts +4 -4
  43. package/dist/index24.vue.d.ts +4 -4
  44. package/dist/index25.vue.d.cts +1 -1
  45. package/dist/index25.vue.d.ts +1 -1
  46. package/dist/index26.vue.d.cts +3 -3
  47. package/dist/index26.vue.d.ts +3 -3
  48. package/dist/index27.vue.d.cts +3 -3
  49. package/dist/index27.vue.d.ts +3 -3
  50. package/dist/index3.vue.d.cts +3 -3
  51. package/dist/index3.vue.d.ts +3 -3
  52. package/dist/index4.vue.d.cts +4 -4
  53. package/dist/index4.vue.d.ts +4 -4
  54. package/dist/index5.vue.d.cts +3 -3
  55. package/dist/index6.vue.d.ts +2 -2
  56. package/dist/index7.vue.d.cts +2 -2
  57. package/dist/index8.vue.d.ts +2 -2
  58. package/dist/index9.vue.d.cts +2 -2
  59. package/dist/index9.vue.d.ts +2 -2
  60. package/dist/style.css +86 -86
  61. package/dist/useCalendarEvents.d.cts +1 -1
  62. package/dist/useCalendarEvents.d.ts +1 -1
  63. package/dist/useCollapsePanel.d.cts +6 -6
  64. package/dist/useCollapsePanel.d.ts +6 -6
  65. package/dist/useCropperCore.d.cts +5 -5
  66. package/dist/useCropperCore.d.ts +5 -5
  67. package/dist/useDraggableLayout.d.cts +4 -4
  68. package/dist/useDraggableLayout.d.ts +4 -4
  69. package/dist/useEdgeInteraction.d.cts +2 -2
  70. package/dist/useEdgeInteraction.d.ts +2 -2
  71. package/dist/useFullscreen.d.cts +2 -2
  72. package/dist/useFullscreen.d.ts +2 -2
  73. package/dist/useQRCode.d.cts +2 -2
  74. package/dist/useQRCode.d.ts +2 -2
  75. package/dist/useSearchState.d.cts +22 -22
  76. package/dist/useSearchState.d.ts +22 -22
  77. package/dist/useSignatureHistory.d.cts +4 -4
  78. package/dist/useSignatureHistory.d.ts +4 -4
  79. package/dist/useSplitResize.d.cts +5 -5
  80. package/dist/useSplitResize.d.ts +5 -5
  81. package/dist/useTableQuery.cjs +1 -1
  82. package/dist/useTableQuery.d.cts +118 -155
  83. package/dist/useTableQuery.d.ts +118 -155
  84. package/dist/useTableQuery.js +1 -1
  85. package/dist/useTimeSelection.d.cts +3 -3
  86. package/dist/useTimeSelection.d.ts +3 -3
  87. package/dist/useTreeOperations.d.cts +5 -5
  88. package/dist/useTreeOperations.d.ts +5 -5
  89. package/dist/useWorkflowValidation.d.cts +5 -5
  90. package/dist/useWorkflowValidation.d.ts +5 -5
  91. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @robot-admin/naive-ui-components
2
2
 
3
+ ## 0.11.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 1b09ddd: Preserve the row model generic across `C_Table` Vue props so typed `CrudBinding<T>` values can be passed directly without consumer-side casts.
8
+
3
9
  ## 0.11.0
4
10
 
5
11
  ### Minor Changes
@@ -1100,7 +1100,7 @@ to {
1100
1100
  transform: scale(1.15);
1101
1101
  }
1102
1102
  /* unplugin-vue-components disabled *//* ================= 1. 组件根容器 ================= */
1103
- .c-table-wrapper[data-v-eff47d90] {
1103
+ .c-table-wrapper[data-v-cb3ea22c] {
1104
1104
  --c-table-border-color: var(--border-color, #e5e7eb);
1105
1105
  --c-table-bg: var(--body-color, #fff);
1106
1106
  --c-table-header-bg: var(--card-color, #fafafc);
@@ -1113,52 +1113,52 @@ to {
1113
1113
  }
1114
1114
 
1115
1115
  /* ================= 列拖拽排序 ================= */
1116
- .column-drag-ghost[data-v-eff47d90] {
1116
+ .column-drag-ghost[data-v-cb3ea22c] {
1117
1117
  opacity: var(--c-table-drag-ghost-opacity);
1118
1118
  background: var(--c-table-drag-ghost-bg) !important;
1119
1119
  }
1120
- .drag-handle[data-v-eff47d90] {
1120
+ .drag-handle[data-v-cb3ea22c] {
1121
1121
  cursor: grab;
1122
1122
  }
1123
- .drag-handle[data-v-eff47d90]:active {
1123
+ .drag-handle[data-v-cb3ea22c]:active {
1124
1124
  cursor: grabbing;
1125
1125
  }
1126
1126
 
1127
1127
  /* ================= 合计行强调 ================= */
1128
- .c-table-wrapper[data-v-eff47d90] .n-data-table-tfoot {
1128
+ .c-table-wrapper[data-v-cb3ea22c] .n-data-table-tfoot {
1129
1129
  background: var(--c-table-summary-bg);
1130
1130
  font-weight: var(--c-table-summary-font-weight);
1131
1131
  }
1132
1132
 
1133
1133
  /* ================= 2. 表格工具栏 ================= */
1134
- .table-toolbar[data-v-eff47d90] {
1134
+ .table-toolbar[data-v-cb3ea22c] {
1135
1135
  display: flex;
1136
1136
  justify-content: space-between;
1137
1137
  align-items: center;
1138
1138
  margin-bottom: 16px;
1139
1139
  }
1140
- .table-toolbar .toolbar-left[data-v-eff47d90] {
1140
+ .table-toolbar .toolbar-left[data-v-cb3ea22c] {
1141
1141
  display: flex;
1142
1142
  align-items: center;
1143
1143
  gap: 12px;
1144
1144
  }
1145
- .table-toolbar .toolbar-right[data-v-eff47d90] {
1145
+ .table-toolbar .toolbar-right[data-v-cb3ea22c] {
1146
1146
  display: flex;
1147
1147
  align-items: center;
1148
1148
  gap: 8px;
1149
1149
  }
1150
- .table-toolbar .toolbar-right .column-settings-btn[data-v-eff47d90] {
1150
+ .table-toolbar .toolbar-right .column-settings-btn[data-v-cb3ea22c] {
1151
1151
  opacity: 0.6;
1152
1152
  transition: opacity 0.2s ease, transform 0.2s ease;
1153
1153
  cursor: pointer;
1154
1154
  }
1155
- .table-toolbar .toolbar-right .column-settings-btn[data-v-eff47d90]:hover {
1155
+ .table-toolbar .toolbar-right .column-settings-btn[data-v-cb3ea22c]:hover {
1156
1156
  opacity: 1;
1157
1157
  transform: scale(1.1);
1158
1158
  }
1159
1159
 
1160
1160
  /* ================= 3. 动态行工具栏 ================= */
1161
- .dynamic-rows-toolbar[data-v-eff47d90] {
1161
+ .dynamic-rows-toolbar[data-v-cb3ea22c] {
1162
1162
  margin-bottom: 16px;
1163
1163
  padding: 16px;
1164
1164
  border-radius: 8px;
@@ -1167,12 +1167,12 @@ to {
1167
1167
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
1168
1168
  transition: all 0.2s ease;
1169
1169
  }
1170
- .dynamic-rows-toolbar[data-v-eff47d90]:hover {
1170
+ .dynamic-rows-toolbar[data-v-cb3ea22c]:hover {
1171
1171
  border-color: var(--n-primary-color-suppl);
1172
1172
  }
1173
1173
 
1174
1174
  /* ================= 4. 表格布局基础 ================= */
1175
- [data-v-eff47d90] .n-data-table {
1175
+ [data-v-cb3ea22c] .n-data-table {
1176
1176
  table-layout: auto !important;
1177
1177
  width: 100% !important;
1178
1178
  border-radius: 8px;
@@ -1180,12 +1180,12 @@ to {
1180
1180
  }
1181
1181
 
1182
1182
  /* 确保表格容器允许横向滚动(固定列必需) */
1183
- [data-v-eff47d90] .n-data-table-wrapper {
1183
+ [data-v-cb3ea22c] .n-data-table-wrapper {
1184
1184
  overflow-x: auto !important;
1185
1185
  }
1186
1186
 
1187
1187
  /* 分页组件样式 */
1188
- .pagination-wrapper[data-v-eff47d90] {
1188
+ .pagination-wrapper[data-v-cb3ea22c] {
1189
1189
  margin-top: 16px;
1190
1190
  display: flex;
1191
1191
  justify-content: flex-end;
@@ -1193,12 +1193,12 @@ to {
1193
1193
 
1194
1194
  /* ================= 5. 表格列宽度管理 ================= */
1195
1195
  /* 普通列的最小宽度保护 */
1196
- [data-v-eff47d90] .n-data-table-th:not(:last-child) {
1196
+ [data-v-cb3ea22c] .n-data-table-th:not(:last-child) {
1197
1197
  min-width: 80px !important;
1198
1198
  }
1199
1199
 
1200
1200
  /* 操作列固定宽度(适应4个按钮的布局) */
1201
- [data-v-eff47d90] .c-table-actions-column {
1201
+ [data-v-cb3ea22c] .c-table-actions-column {
1202
1202
  width: 180px !important;
1203
1203
  min-width: 160px !important;
1204
1204
  max-width: 200px !important;
@@ -1207,14 +1207,14 @@ to {
1207
1207
  }
1208
1208
 
1209
1209
  /* 操作按钮容器居中 */
1210
- [data-v-eff47d90] .c-table-actions-column .n-space {
1210
+ [data-v-cb3ea22c] .c-table-actions-column .n-space {
1211
1211
  justify-content: center !important;
1212
1212
  align-items: center !important;
1213
1213
  }
1214
1214
 
1215
1215
  /* ================= 6. 可编辑单元格样式 ================= */
1216
1216
  /* 单元格编辑容器 - 精致化设计 */
1217
- .cell-edit-wrapper[data-v-eff47d90] {
1217
+ .cell-edit-wrapper[data-v-cb3ea22c] {
1218
1218
  display: flex;
1219
1219
  align-items: center;
1220
1220
  justify-content: space-between;
@@ -1227,23 +1227,23 @@ to {
1227
1227
  position: relative;
1228
1228
  /* 悬停效果 */
1229
1229
  }
1230
- .cell-edit-wrapper[data-v-eff47d90]:hover {
1230
+ .cell-edit-wrapper[data-v-cb3ea22c]:hover {
1231
1231
  background-color: var(--n-color-target);
1232
1232
  }
1233
- .cell-edit-wrapper:hover .cell-edit-icon[data-v-eff47d90] {
1233
+ .cell-edit-wrapper:hover .cell-edit-icon[data-v-cb3ea22c] {
1234
1234
  opacity: 1;
1235
1235
  color: var(--n-color-success);
1236
1236
  transform: scale(1.05);
1237
1237
  }
1238
- .cell-edit-wrapper[data-v-eff47d90] {
1238
+ .cell-edit-wrapper[data-v-cb3ea22c] {
1239
1239
  /* 激活状态 */
1240
1240
  }
1241
- .cell-edit-wrapper[data-v-eff47d90]:active {
1241
+ .cell-edit-wrapper[data-v-cb3ea22c]:active {
1242
1242
  transform: translateY(1px);
1243
1243
  }
1244
1244
 
1245
1245
  /* 单元格内容 */
1246
- .cell-value[data-v-eff47d90] {
1246
+ .cell-value[data-v-cb3ea22c] {
1247
1247
  flex: 1;
1248
1248
  overflow: hidden;
1249
1249
  text-overflow: ellipsis;
@@ -1254,7 +1254,7 @@ to {
1254
1254
  }
1255
1255
 
1256
1256
  /* 编辑图标 - 使用全局选择器确保动态创建的元素也能被选中 */
1257
- .cell-edit-icon[data-v-eff47d90],.cell-edit-icon {
1257
+ .cell-edit-icon[data-v-cb3ea22c],.cell-edit-icon {
1258
1258
  flex-shrink: 0;
1259
1259
  width: 24px;
1260
1260
  height: 24px;
@@ -1270,29 +1270,29 @@ to {
1270
1270
  position: relative;
1271
1271
  /* 悬停效果 */
1272
1272
  }
1273
- .cell-edit-icon[data-v-eff47d90]:hover,.cell-edit-icon {
1273
+ .cell-edit-icon[data-v-cb3ea22c]:hover,.cell-edit-icon {
1274
1274
  opacity: 1 !important;
1275
1275
  color: var(--n-color-success-hover) !important;
1276
1276
  background-color: var(--n-color-success-pressed);
1277
1277
  transform: scale(1.1);
1278
1278
  }
1279
- .cell-edit-icon[data-v-eff47d90],.cell-edit-icon {
1279
+ .cell-edit-icon[data-v-cb3ea22c],.cell-edit-icon {
1280
1280
  /* 激活效果 */
1281
1281
  }
1282
- .cell-edit-icon[data-v-eff47d90]:active,.cell-edit-icon {
1282
+ .cell-edit-icon[data-v-cb3ea22c]:active,.cell-edit-icon {
1283
1283
  transform: scale(0.95);
1284
1284
  }
1285
- .cell-edit-icon[data-v-eff47d90],.cell-edit-icon {
1285
+ .cell-edit-icon[data-v-cb3ea22c],.cell-edit-icon {
1286
1286
  /* 图标尺寸 */
1287
1287
  }
1288
- .cell-edit-icon svg[data-v-eff47d90],.cell-edit-icon {
1288
+ .cell-edit-icon svg[data-v-cb3ea22c],.cell-edit-icon {
1289
1289
  width: 14px;
1290
1290
  height: 14px;
1291
1291
  }
1292
1292
 
1293
1293
  /* ================= 7. 单元格编辑状态样式 ================= */
1294
1294
  /* 编辑容器 - 确保水平布局不换行 */
1295
- .cell-editing-container[data-v-eff47d90],[data-v-eff47d90] .cell-editing-container {
1295
+ .cell-editing-container[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-editing-container {
1296
1296
  display: flex !important;
1297
1297
  align-items: center !important;
1298
1298
  width: 100% !important;
@@ -1306,39 +1306,39 @@ to {
1306
1306
  }
1307
1307
 
1308
1308
  /* 编辑输入区域 - 占据剩余空间 */
1309
- .cell-editing-input[data-v-eff47d90],[data-v-eff47d90] .cell-editing-input {
1309
+ .cell-editing-input[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-editing-input {
1310
1310
  flex: 1 !important;
1311
1311
  min-width: 0 !important;
1312
1312
  }
1313
1313
 
1314
1314
  /* 深度选择器处理输入框样式 */
1315
- [data-v-eff47d90] .cell-editing-input .n-input {
1315
+ [data-v-cb3ea22c] .cell-editing-input .n-input {
1316
1316
  border: none !important;
1317
1317
  box-shadow: none !important;
1318
1318
  background: transparent !important;
1319
1319
  }
1320
- [data-v-eff47d90] .cell-editing-input .n-input.n-input--focus {
1320
+ [data-v-cb3ea22c] .cell-editing-input .n-input.n-input--focus {
1321
1321
  border: none !important;
1322
1322
  box-shadow: none !important;
1323
1323
  }
1324
- [data-v-eff47d90] .cell-editing-input .n-input-number {
1324
+ [data-v-cb3ea22c] .cell-editing-input .n-input-number {
1325
1325
  border: none !important;
1326
1326
  box-shadow: none !important;
1327
1327
  background: transparent !important;
1328
1328
  }
1329
- [data-v-eff47d90] .cell-editing-input .n-select {
1329
+ [data-v-cb3ea22c] .cell-editing-input .n-select {
1330
1330
  border: none !important;
1331
1331
  box-shadow: none !important;
1332
1332
  background: transparent !important;
1333
1333
  }
1334
- [data-v-eff47d90] .cell-editing-input .n-select .n-base-selection {
1334
+ [data-v-cb3ea22c] .cell-editing-input .n-select .n-base-selection {
1335
1335
  border: none !important;
1336
1336
  box-shadow: none !important;
1337
1337
  background: transparent !important;
1338
1338
  }
1339
1339
 
1340
1340
  /* 编辑操作按钮容器 */
1341
- .cell-editing-actions[data-v-eff47d90],[data-v-eff47d90] .cell-editing-actions {
1341
+ .cell-editing-actions[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-editing-actions {
1342
1342
  display: flex !important;
1343
1343
  flex-shrink: 0 !important;
1344
1344
  align-items: center !important;
@@ -1351,7 +1351,7 @@ to {
1351
1351
  }
1352
1352
 
1353
1353
  /* 编辑操作按钮 */
1354
- .cell-action-btn[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn {
1354
+ .cell-action-btn[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn {
1355
1355
  display: flex !important;
1356
1356
  align-items: center !important;
1357
1357
  justify-content: center !important;
@@ -1364,34 +1364,34 @@ to {
1364
1364
  background: transparent !important;
1365
1365
  /* 保存按钮 */
1366
1366
  }
1367
- .cell-action-btn.cell-action-save[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn.cell-action-save {
1367
+ .cell-action-btn.cell-action-save[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn.cell-action-save {
1368
1368
  color: var(--n-color-success) !important;
1369
1369
  }
1370
- .cell-action-btn.cell-action-save[data-v-eff47d90]:hover,[data-v-eff47d90] .cell-action-btn.cell-action-save:hover {
1370
+ .cell-action-btn.cell-action-save[data-v-cb3ea22c]:hover,[data-v-cb3ea22c] .cell-action-btn.cell-action-save:hover {
1371
1371
  background: var(--n-color-success-pressed) !important;
1372
1372
  transform: scale(1.1) !important;
1373
1373
  }
1374
- .cell-action-btn[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn {
1374
+ .cell-action-btn[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn {
1375
1375
  /* 取消按钮 */
1376
1376
  }
1377
- .cell-action-btn.cell-action-cancel[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn.cell-action-cancel {
1377
+ .cell-action-btn.cell-action-cancel[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn.cell-action-cancel {
1378
1378
  color: var(--n-color-error) !important;
1379
1379
  }
1380
- .cell-action-btn.cell-action-cancel[data-v-eff47d90]:hover,[data-v-eff47d90] .cell-action-btn.cell-action-cancel:hover {
1380
+ .cell-action-btn.cell-action-cancel[data-v-cb3ea22c]:hover,[data-v-cb3ea22c] .cell-action-btn.cell-action-cancel:hover {
1381
1381
  background: var(--n-color-error-pressed) !important;
1382
1382
  transform: scale(1.1) !important;
1383
1383
  }
1384
- .cell-action-btn[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn {
1384
+ .cell-action-btn[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn {
1385
1385
  /* 图标尺寸 */
1386
1386
  }
1387
- .cell-action-btn svg[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn svg {
1387
+ .cell-action-btn svg[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn svg {
1388
1388
  width: 11px !important;
1389
1389
  height: 11px !important;
1390
1390
  }
1391
1391
 
1392
1392
  /* ================= 7. 操作按钮样式 ================= */
1393
1393
  /* 通用按钮样式 */
1394
- [data-v-eff47d90] .n-button {
1394
+ [data-v-cb3ea22c] .n-button {
1395
1395
  white-space: nowrap;
1396
1396
  font-size: 12px !important;
1397
1397
  flex-shrink: 0 !important;
@@ -1400,60 +1400,60 @@ to {
1400
1400
  font-weight: 500;
1401
1401
  /* 图标间距 */
1402
1402
  }
1403
- [data-v-eff47d90] .n-button .n-icon {
1403
+ [data-v-cb3ea22c] .n-button .n-icon {
1404
1404
  margin-right: 4px !important;
1405
1405
  }
1406
- [data-v-eff47d90] .n-button {
1406
+ [data-v-cb3ea22c] .n-button {
1407
1407
  /* 小尺寸按钮优化 */
1408
1408
  }
1409
- [data-v-eff47d90] .n-button.n-button--small-type {
1409
+ [data-v-cb3ea22c] .n-button.n-button--small-type {
1410
1410
  padding: 4px 8px;
1411
1411
  height: 28px;
1412
1412
  line-height: 20px;
1413
1413
  }
1414
- [data-v-eff47d90] .n-button {
1414
+ [data-v-cb3ea22c] .n-button {
1415
1415
  /* 四元按钮样式 */
1416
1416
  }
1417
- [data-v-eff47d90] .n-button.n-button--quaternary-type:hover {
1417
+ [data-v-cb3ea22c] .n-button.n-button--quaternary-type:hover {
1418
1418
  transform: translateY(-1px);
1419
1419
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1420
1420
  }
1421
- [data-v-eff47d90] .n-button.n-button--quaternary-type:active {
1421
+ [data-v-cb3ea22c] .n-button.n-button--quaternary-type:active {
1422
1422
  transform: translateY(0);
1423
1423
  }
1424
1424
 
1425
1425
  /* ================= 8. 按钮组间距优化 ================= */
1426
1426
  /* 操作按钮组 */
1427
- [data-v-eff47d90] .n-space.n-space--horizontal .n-space-item:not(:last-child) {
1427
+ [data-v-cb3ea22c] .n-space.n-space--horizontal .n-space-item:not(:last-child) {
1428
1428
  margin-right: 6px !important;
1429
1429
  }
1430
1430
 
1431
1431
  /* ================= 9. 模态框样式优化 ================= */
1432
1432
  /* 编辑模态框 */
1433
- [data-v-eff47d90] .n-modal .n-card {
1433
+ [data-v-cb3ea22c] .n-modal .n-card {
1434
1434
  border-radius: 12px;
1435
1435
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
1436
1436
  }
1437
- [data-v-eff47d90] .n-modal .n-card__header {
1437
+ [data-v-cb3ea22c] .n-modal .n-card__header {
1438
1438
  padding: 20px 24px 16px;
1439
1439
  font-weight: 600;
1440
1440
  font-size: 16px;
1441
1441
  }
1442
- [data-v-eff47d90] .n-modal .n-card__content {
1442
+ [data-v-cb3ea22c] .n-modal .n-card__content {
1443
1443
  padding: 0 24px 16px;
1444
1444
  }
1445
- [data-v-eff47d90] .n-modal .n-card__action {
1445
+ [data-v-cb3ea22c] .n-modal .n-card__action {
1446
1446
  padding: 16px 24px 20px;
1447
1447
  border-top: 1px solid var(--n-divider-color);
1448
1448
  }
1449
1449
 
1450
1450
  /* ================= 10. 描述列表样式 ================= */
1451
1451
  /* 详情模态框描述列表 */
1452
- [data-v-eff47d90] .n-descriptions .n-descriptions-item-label {
1452
+ [data-v-cb3ea22c] .n-descriptions .n-descriptions-item-label {
1453
1453
  font-weight: 500;
1454
1454
  color: var(--n-text-color-2);
1455
1455
  }
1456
- [data-v-eff47d90] .n-descriptions .n-descriptions-item-content {
1456
+ [data-v-cb3ea22c] .n-descriptions .n-descriptions-item-content {
1457
1457
  color: var(--n-text-color-1);
1458
1458
  word-break: break-all;
1459
1459
  }
@@ -1461,99 +1461,99 @@ to {
1461
1461
  /* ================= 11. 响应式设计 ================= */
1462
1462
  /* 移动端适配 */
1463
1463
  @media (max-width: 768px) {
1464
- .c-table-wrapper[data-v-eff47d90] {
1464
+ .c-table-wrapper[data-v-cb3ea22c] {
1465
1465
  overflow-x: auto;
1466
1466
  }
1467
1467
  /* 操作列在移动端的适配 */
1468
- [data-v-eff47d90] .n-data-table-th:last-child {
1468
+ [data-v-cb3ea22c] .n-data-table-th:last-child {
1469
1469
  width: 160px !important;
1470
1470
  min-width: 160px !important;
1471
1471
  }
1472
1472
  /* 按钮在移动端的优化 */
1473
- [data-v-eff47d90] .n-button {
1473
+ [data-v-cb3ea22c] .n-button {
1474
1474
  font-size: 11px !important;
1475
1475
  padding: 3px 6px;
1476
1476
  }
1477
- [data-v-eff47d90] .n-button .n-icon {
1477
+ [data-v-cb3ea22c] .n-button .n-icon {
1478
1478
  margin-right: 2px !important;
1479
1479
  }
1480
1480
  /* 单元格编辑图标在移动端始终显示 */
1481
- .cell-edit-icon[data-v-eff47d90] {
1481
+ .cell-edit-icon[data-v-cb3ea22c] {
1482
1482
  opacity: 0.6;
1483
1483
  }
1484
1484
  }
1485
1485
  /* ================= 12. 主题适配 ================= */
1486
1486
  /* 暗色主题适配 - 已通过 CSS 变量自动适配 */
1487
- [data-theme=dark][data-v-eff47d90] {
1487
+ [data-theme=dark][data-v-cb3ea22c] {
1488
1488
  /* CSS 变量已自动适配,如有特殊需求可在此添加 */
1489
1489
  }
1490
1490
 
1491
1491
  /* ================= 13. 响应式优化 ================= */
1492
1492
  /* 小屏幕下的单元格编辑优化 */
1493
1493
  @media (max-width: 768px) {
1494
- .cell-editing-container[data-v-eff47d90],[data-v-eff47d90] .cell-editing-container {
1494
+ .cell-editing-container[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-editing-container {
1495
1495
  gap: 6px !important;
1496
1496
  }
1497
- .cell-editing-actions[data-v-eff47d90],[data-v-eff47d90] .cell-editing-actions {
1497
+ .cell-editing-actions[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-editing-actions {
1498
1498
  gap: 3px !important;
1499
1499
  padding: 2px !important;
1500
1500
  }
1501
- .cell-action-btn[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn {
1501
+ .cell-action-btn[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn {
1502
1502
  width: 18px !important;
1503
1503
  height: 18px !important;
1504
1504
  }
1505
- .cell-action-btn svg[data-v-eff47d90],[data-v-eff47d90] .cell-action-btn svg {
1505
+ .cell-action-btn svg[data-v-cb3ea22c],[data-v-cb3ea22c] .cell-action-btn svg {
1506
1506
  width: 10px !important;
1507
1507
  height: 10px !important;
1508
1508
  }
1509
1509
  /* 移动端编辑图标 */
1510
- .cell-edit-icon[data-v-eff47d90] {
1510
+ .cell-edit-icon[data-v-cb3ea22c] {
1511
1511
  opacity: 0.6 !important;
1512
1512
  }
1513
- .cell-value[data-v-eff47d90] {
1513
+ .cell-value[data-v-cb3ea22c] {
1514
1514
  margin-right: 12px !important;
1515
1515
  }
1516
1516
  }
1517
1517
  /* ================= 14. 性能优化 ================= */
1518
1518
  /* 使用 GPU 加速的动画 */
1519
- .cell-edit-icon[data-v-eff47d90],
1520
- .cell-action-btn[data-v-eff47d90] {
1519
+ .cell-edit-icon[data-v-cb3ea22c],
1520
+ .cell-action-btn[data-v-cb3ea22c] {
1521
1521
  will-change: transform;
1522
1522
  backface-visibility: hidden;
1523
1523
  }
1524
- [data-v-eff47d90] .n-button {
1524
+ [data-v-cb3ea22c] .n-button {
1525
1525
  will-change: transform;
1526
1526
  backface-visibility: hidden;
1527
1527
  }
1528
1528
 
1529
1529
  /* ================= 15. 可访问性优化 ================= */
1530
1530
  /* 聚焦状态 */
1531
- .cell-edit-wrapper[data-v-eff47d90]:focus-within,
1532
- .cell-editing-container[data-v-eff47d90]:focus-within {
1531
+ .cell-edit-wrapper[data-v-cb3ea22c]:focus-within,
1532
+ .cell-editing-container[data-v-cb3ea22c]:focus-within {
1533
1533
  outline: 2px solid var(--n-primary-color);
1534
1534
  outline-offset: 2px;
1535
1535
  }
1536
1536
 
1537
1537
  /* 高对比度模式支持 */
1538
1538
  @media (prefers-contrast: high) {
1539
- .cell-edit-icon[data-v-eff47d90] {
1539
+ .cell-edit-icon[data-v-cb3ea22c] {
1540
1540
  opacity: 0.8;
1541
1541
  }
1542
- .cell-editing-actions[data-v-eff47d90] {
1542
+ .cell-editing-actions[data-v-cb3ea22c] {
1543
1543
  border-width: 2px;
1544
1544
  }
1545
1545
  }
1546
1546
  /* ================= 11. 行拖拽排序 ================= */
1547
- .row-drag-ghost[data-v-eff47d90] {
1547
+ .row-drag-ghost[data-v-cb3ea22c] {
1548
1548
  opacity: 0.4;
1549
1549
  background: var(--c-table-drag-ghost-bg) !important;
1550
1550
  }
1551
- .row-drag-chosen[data-v-eff47d90] {
1551
+ .row-drag-chosen[data-v-cb3ea22c] {
1552
1552
  background: var(--n-color-hover, #f5f5f5) !important;
1553
1553
  }
1554
1554
 
1555
1555
  /* ================= 12. 批量操作栏 ================= */
1556
- .batch-actions-bar[data-v-eff47d90] {
1556
+ .batch-actions-bar[data-v-cb3ea22c] {
1557
1557
  display: flex;
1558
1558
  align-items: center;
1559
1559
  justify-content: space-between;
@@ -1563,25 +1563,25 @@ to {
1563
1563
  border-radius: 6px;
1564
1564
  border: 1px solid var(--n-primary-color-suppl, #70b3ff);
1565
1565
  }
1566
- .batch-actions-bar .batch-info[data-v-eff47d90] {
1566
+ .batch-actions-bar .batch-info[data-v-cb3ea22c] {
1567
1567
  font-size: 13px;
1568
1568
  color: var(--n-text-color-2);
1569
1569
  font-weight: 500;
1570
1570
  }
1571
1571
 
1572
1572
  /* ================= 13. 错误状态 ================= */
1573
- .table-error-state[data-v-eff47d90] {
1573
+ .table-error-state[data-v-cb3ea22c] {
1574
1574
  padding: 48px 24px;
1575
1575
  text-align: center;
1576
1576
  }
1577
- .table-error-state .error-content[data-v-eff47d90] {
1577
+ .table-error-state .error-content[data-v-cb3ea22c] {
1578
1578
  display: flex;
1579
1579
  flex-direction: column;
1580
1580
  align-items: center;
1581
1581
  gap: 12px;
1582
1582
  color: var(--n-text-color-3, #999);
1583
1583
  }
1584
- .table-error-state .error-message[data-v-eff47d90] {
1584
+ .table-error-state .error-message[data-v-cb3ea22c] {
1585
1585
  font-size: 14px;
1586
1586
  margin: 0;
1587
1587
  color: var(--n-text-color-2, #666);