@gct-paas/word 0.1.57 → 0.1.59

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.
@@ -85,6 +85,7 @@ export declare class DataManager {
85
85
  private scheduleLayout;
86
86
  getLabelPath(path: JsonPath): JsonPath;
87
87
  getHrefPath(path: JsonPath): JsonPath;
88
+ getIdPath(path: JsonPath): JsonPath;
88
89
  getFieldRuntimeSpecificConfigKeys(): string[];
89
90
  getRuntimeSpecificConfig(): [string, FieldRuntimeSpecificConfig][];
90
91
  setRuntimeSpecificConfig(entries: any): void;
@@ -121,6 +122,8 @@ export declare class DataManager {
121
122
  getLabel<T = any>(path: JsonPath): T | undefined;
122
123
  /** 获取与 value 并存的超链接 href;无或不可链时为 null/undefined */
123
124
  getHref<T = string>(path: JsonPath): T | null | undefined;
125
+ /** 获取与 value 并存的批次唯一标识;老数据可能为空 */
126
+ getId<T = string>(path: JsonPath): T | null | undefined;
124
127
  /** 子表数组路径下未软删行数 */
125
128
  countActiveSubtableRows(arrayPath: JsonPath): number;
126
129
  /**
@@ -328,7 +331,7 @@ export declare class DataManager {
328
331
  * @param runtimeValuePath 版面解析后的具体路径(可选)
329
332
  */
330
333
  removeFieldBindingData(designValuePath: JsonPath, runtimeValuePath?: JsonPath): void;
331
- /** 收集与字段绑定相关的路径(含 value / label / href 及通配符变体) */
334
+ /** 收集与字段绑定相关的路径(含 value / label / href / id 及通配符变体) */
332
335
  private collectFieldBindingPaths;
333
336
  /** 收集可从 rawData 删除的具体路径(跳过含通配符的设计路径) */
334
337
  private collectConcreteRawDataPaths;
@@ -2,11 +2,19 @@
2
2
  export declare const LABEL_SUFFIX = "_lb_";
3
3
  /** 与 rawData 并存的外链 href 后缀(超链接字段) */
4
4
  export declare const HREF_SUFFIX = "_href_";
5
+ /** 与 rawData 并存的 id 后缀(批次字段,如 material_no_ → material_no__id_) */
6
+ export declare const ID_SUFFIX = "_id_";
5
7
  /** 版面超链接文字颜色 */
6
8
  export declare const HYPERLINK_TEXT_COLOR = "#0563c1";
7
9
  export declare function getLabelPath(path: string): string;
8
10
  export declare function getHrefPath(path: string): string;
9
- /** 派生数据路径(label / href),不参与 changedMap / 业务副作用 */
11
+ export declare function getIdPath(path: string): string;
12
+ /**
13
+ * 是否为批次 companion id 路径(以 `__id_` 结尾)。
14
+ * 在于判断用了 endsWith('_id_'):product_id_、warehouse_id_ 也会命中。改成只认以 __id_ 结尾
15
+ */
16
+ export declare function isCompanionIdPath(path: string): boolean;
17
+ /** 派生数据路径(label / href / companion id),不参与 changedMap / 业务副作用 */
10
18
  export declare function isDerivedDataPath(path: string): boolean;
11
19
  /** 子表行内仅前端使用、不参与提交的字段 */
12
20
  export declare const ROW_RUNTIME_META_KEYS: Set<string>;
@@ -0,0 +1,9 @@
1
+ import { Doc } from '../../view/Doc';
2
+ import { WidgetMeta } from '../../widget/widget-meta';
3
+ import { DataEnricherRegistration } from '../enricher-types';
4
+ type IdEnricherOptions = Omit<DataEnricherRegistration, 'enrich'> & {
5
+ doc: Doc;
6
+ widgetMeta: WidgetMeta;
7
+ };
8
+ export declare function createIdEnricher(reg: IdEnricherOptions): DataEnricherRegistration;
9
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { EmitSource } from './emit-source';
2
- export type PipelineLogNS = 'data.emit' | 'pipeline.hydrate' | 'pipeline.onChange' | 'pipeline.deps' | 'enricher.label' | 'enricher.hyperlink' | 'pipeline.afterFlush' | 'table.runtime' | 'init.lifecycle' | 'submit.prepare';
2
+ export type PipelineLogNS = 'data.emit' | 'pipeline.hydrate' | 'pipeline.onChange' | 'pipeline.deps' | 'enricher.label' | 'enricher.hyperlink' | 'enricher.id' | 'pipeline.afterFlush' | 'table.runtime' | 'init.lifecycle' | 'submit.prepare';
3
3
  export type PipelineLogLevel = 'debug' | 'info' | 'warn' | 'error';
4
4
  export interface PipelineLogEvent {
5
5
  ns: PipelineLogNS;
@@ -39,7 +39,7 @@ export interface JoinRule {
39
39
  export interface ApiRule {
40
40
  type: 'api';
41
41
  /** 请求函数 key */
42
- fetcher: 'ref' | 'lot2sn' | 'rdo2ref' | 'ref2lot2sn';
42
+ fetcher: 'ref' | 'rdo2ref' | 'ref2lot2sn';
43
43
  /** 仅主模型字段可发起请求 */
44
44
  onlyMainModelFieldsCanRequest: boolean;
45
45
  /** 失败时的默认 label */
@@ -65,7 +65,11 @@ export interface HyperlinkRule {
65
65
  export interface LabelRule {
66
66
  type: 'label';
67
67
  }
68
- export type ValueChangeRule = HyperlinkRule | LabelRule;
68
+ /** 值变化后补全批次唯一标识(companion `_id_` 字段) */
69
+ export interface IdRule {
70
+ type: 'id';
71
+ }
72
+ export type ValueChangeRule = HyperlinkRule | LabelRule | IdRule;
69
73
  /** 将 manifest 中的 onValueChangeRule 规范为数组 */
70
74
  export declare function normalizeValueChangeRules(rule?: ValueChangeRule | ValueChangeRule[]): ValueChangeRule[];
71
75
  export type ComputedRule = PriorityRule | ResolveRule | MapRule | JoinRule | ApiRule;
@@ -74,6 +78,6 @@ export interface FieldComputedConfig {
74
78
  propRules?: Record<string, ComputedRule>;
75
79
  /** 写入 dataManager 的派生规则 */
76
80
  defaultValueRule?: ComputedRule;
77
- /** 填报值变化后的 enrich(超链接 _href_、展示标签 _lb_) */
81
+ /** 填报值变化后的 enrich(超链接 _href_、展示标签 _lb_、批次 _id_) */
78
82
  onValueChangeRule?: ValueChangeRule | ValueChangeRule[];
79
83
  }
@@ -62,6 +62,6 @@ export declare class LinkageEngine {
62
62
  buildFillFromOption(ctx: TableRuntimeContext, fieldKey: string, rowIndex: number, selectedOption: Record<string, unknown>): Record<string, unknown>;
63
63
  /** 将单条 FieldOptionFillDef 映射写入 updates */
64
64
  private applyOptionFillDef;
65
- /** 构建字段清空更新对象(同时清值与 _lb_ 标签) */
65
+ /** 构建字段清空更新对象(同时清值、_lb_ 标签与 companion _id_) */
66
66
  private buildClearUpdates;
67
67
  }
package/dist/index.es.js CHANGED
@@ -33385,6 +33385,7 @@ function normalizeValueChangeRules(rule) {
33385
33385
  }
33386
33386
  const LABEL_SUFFIX = "_lb_";
33387
33387
  const HREF_SUFFIX = "_href_";
33388
+ const ID_SUFFIX = "_id_";
33388
33389
  const HYPERLINK_TEXT_COLOR = "#0563c1";
33389
33390
  function getLabelPath(path) {
33390
33391
  return path + LABEL_SUFFIX;
@@ -33392,8 +33393,14 @@ function getLabelPath(path) {
33392
33393
  function getHrefPath(path) {
33393
33394
  return path + HREF_SUFFIX;
33394
33395
  }
33396
+ function getIdPath(path) {
33397
+ return path + ID_SUFFIX;
33398
+ }
33399
+ function isCompanionIdPath(path) {
33400
+ return path.endsWith("_" + ID_SUFFIX);
33401
+ }
33395
33402
  function isDerivedDataPath(path) {
33396
- return path.endsWith(LABEL_SUFFIX) || path.endsWith(HREF_SUFFIX);
33403
+ return path.endsWith(LABEL_SUFFIX) || path.endsWith(HREF_SUFFIX) || isCompanionIdPath(path);
33397
33404
  }
33398
33405
  const ROW_RUNTIME_META_KEYS = /* @__PURE__ */ new Set([
33399
33406
  "row_source_",
@@ -34167,7 +34174,7 @@ const apiFetchers = {
34167
34174
  cachePrefix: "lot2sn",
34168
34175
  cacheTTL: 5 * 60 * 1e3,
34169
34176
  fetchDataList: async (params) => {
34170
- const { queryData = {}, pageNo = 1, pageSize = 20 } = params;
34177
+ const { queryData = {}, exp, pageNo = 1, pageSize = 20 } = params;
34171
34178
  const result = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
34172
34179
  {
34173
34180
  modelCategory: API_CONFIG.ENTITY_CATEGORY,
@@ -34176,6 +34183,7 @@ const apiFetchers = {
34176
34183
  },
34177
34184
  {},
34178
34185
  {
34186
+ exp,
34179
34187
  query: queryData,
34180
34188
  pageSize,
34181
34189
  pageNo
@@ -34188,28 +34196,6 @@ const apiFetchers = {
34188
34196
  totalCount: totalCount || 0
34189
34197
  };
34190
34198
  },
34191
- fetchOne: async (id) => {
34192
- if (!id) return {};
34193
- const result = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
34194
- {
34195
- modelCategory: API_CONFIG.ENTITY_CATEGORY,
34196
- modelKey: API_CONFIG.LOT_DEFAULTS.modelKey,
34197
- bsKey: API_CONFIG.LOT_DEFAULTS.bsKey
34198
- },
34199
- {},
34200
- {
34201
- query: { "name_.like": id },
34202
- pageSize: 20,
34203
- pageNo: 1
34204
- }
34205
- );
34206
- const { data = [], totalPage, dict, totalCount } = result || {};
34207
- return {
34208
- data: transformSourceDataList(data || [], dict) || [],
34209
- totalPage,
34210
- totalCount: totalCount || 0
34211
- };
34212
- },
34213
34199
  transformers: {
34214
34200
  toOptions(items) {
34215
34201
  const transformer = createTransformer("name_", "name_");
@@ -34336,11 +34322,7 @@ const apiFetchers = {
34336
34322
  cachePrefix: "productRdo2ref",
34337
34323
  cacheTTL: 5 * 60 * 1e3,
34338
34324
  fetchDataList: async (params) => {
34339
- const {
34340
- queryData = {},
34341
- pageNo = 1,
34342
- pageSize = 20
34343
- } = params;
34325
+ const { queryData = {}, pageNo = 1, pageSize = 20 } = params;
34344
34326
  const result = await api.apaas.modelComprehensive.postBizServiceGeneralModelCategoryModelKeyBsKey(
34345
34327
  {
34346
34328
  modelCategory: API_CONFIG.ENTITY_CATEGORY,
@@ -34374,20 +34356,12 @@ function fieldNeedsLabelEnrichment(fieldType, manifest2) {
34374
34356
  if (rules2.some((rule) => rule.type === "label")) return true;
34375
34357
  return false;
34376
34358
  }
34377
- function getRowPathFromFieldPath(path) {
34378
- const parsed = parseValuePath(path);
34379
- if (!parsed.isSubTable) return "$";
34380
- const normalized = path.replace(/^\$\./, "");
34381
- const lastDot = normalized.lastIndexOf(".");
34382
- if (lastDot < 0) return "$";
34383
- return `$.${normalized.slice(0, lastDot)}`;
34384
- }
34385
34359
  function getDictFieldKey(path, fieldBinding) {
34386
34360
  const parsed = parseValuePath(path);
34387
34361
  return parsed.fieldKey || getLastSegment(fieldBinding.fieldLink) || "";
34388
34362
  }
34389
34363
  function readDictLabel(dataManager, path, fieldBinding, value, dictFieldKey) {
34390
- const rowPath = getRowPathFromFieldPath(path);
34364
+ const rowPath = getBeforeBracket(path);
34391
34365
  const row = rowPath ? dataManager.get(rowPath) : dataManager.getRawData();
34392
34366
  const fieldKey = dictFieldKey || getDictFieldKey(path, fieldBinding);
34393
34367
  const dict = row?._DICT?.[fieldKey];
@@ -34435,7 +34409,7 @@ async function readApiLabel(strategy, value, fieldBinding, loadFieldByKey) {
34435
34409
  refModelKey: fieldInfo?.bindInfo
34436
34410
  };
34437
34411
  try {
34438
- const isSingle = strategy.fetcher === "rdo2ref" || strategy.fetcher === "ref2lot2sn" || strategy.fetcher === "lot2sn";
34412
+ const isSingle = strategy.fetcher === "rdo2ref" || strategy.fetcher === "ref2lot2sn";
34439
34413
  const result = isSingle ? await fetcher.getOptionById(String(value), params) : await fetcher.getOptionByIds(getValue$1(value, true), params);
34440
34414
  const list = Array.isArray(result) ? result : result ? [result] : [];
34441
34415
  const labels = list.map((item) => item?.label).filter(Boolean);
@@ -35691,13 +35665,14 @@ class LinkageEngine {
35691
35665
  if (isBlank(value)) return;
35692
35666
  updates[`${rowPath}.${def.toField}`] = value;
35693
35667
  }
35694
- /** 构建字段清空更新对象(同时清值与 _lb_ 标签) */
35668
+ /** 构建字段清空更新对象(同时清值、_lb_ 标签与 companion _id_) */
35695
35669
  buildClearUpdates(rowPath, clearFieldKeys) {
35696
35670
  const updates = {};
35697
35671
  for (const clearFieldKey of clearFieldKeys) {
35698
35672
  const fieldPath = `${rowPath}.${clearFieldKey}`;
35699
35673
  updates[fieldPath] = void 0;
35700
35674
  updates[getLabelPath(fieldPath)] = void 0;
35675
+ updates[getIdPath(fieldPath)] = void 0;
35701
35676
  }
35702
35677
  return updates;
35703
35678
  }
@@ -36067,6 +36042,7 @@ const NS_LABEL = {
36067
36042
  "pipeline.deps": "依赖刷新",
36068
36043
  "enricher.label": "标签增强",
36069
36044
  "enricher.hyperlink": "超链接增强",
36045
+ "enricher.id": "批次内置ID",
36070
36046
  "pipeline.afterFlush": "业务收尾",
36071
36047
  "table.runtime": "业务子表",
36072
36048
  "init.lifecycle": "文档初始化",
@@ -36345,6 +36321,76 @@ function createHyperlinkEnricher(reg) {
36345
36321
  }
36346
36322
  };
36347
36323
  }
36324
+ function resolveProductId(doc, path) {
36325
+ const dataManager = doc.dataManager;
36326
+ const rowPath = getBeforeBracket(path);
36327
+ if (rowPath) {
36328
+ const row = dataManager.get(rowPath);
36329
+ const productId = row?.product_id_;
36330
+ return productId != null && productId !== "" ? String(productId) : void 0;
36331
+ }
36332
+ const fromParams = doc.paramsConfig?.productId ?? doc.paramsConfig?.product_id_;
36333
+ return fromParams != null && fromParams !== "" ? String(fromParams) : void 0;
36334
+ }
36335
+ function shouldPreservePersistedId(dataManager, valuePath, ctx) {
36336
+ if (ctx?.batchSource !== "hydrate") return false;
36337
+ if (ctx.oldValue !== ctx.newValue) return false;
36338
+ return isPresent(dataManager.get(getIdPath(valuePath)));
36339
+ }
36340
+ function extractCompanionId(result) {
36341
+ if (result == null || result === "" || result === false) return null;
36342
+ if (typeof result === "string" || typeof result === "number") return String(result);
36343
+ if (typeof result === "object") {
36344
+ const record = result;
36345
+ const id = record.id_ ?? record.id;
36346
+ return id != null && id !== "" ? String(id) : null;
36347
+ }
36348
+ return null;
36349
+ }
36350
+ async function resolveLotCompanionId(path, value, productId) {
36351
+ if (value == null || value === "") return null;
36352
+ try {
36353
+ const result = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
36354
+ {
36355
+ bsKey: "biz_get_single_production_identification",
36356
+ modelKey: "em_production_identification",
36357
+ modelCategory: "entity"
36358
+ },
36359
+ {
36360
+ name_: value,
36361
+ ...productId ? { product_id_: productId } : {}
36362
+ },
36363
+ {}
36364
+ );
36365
+ return extractCompanionId(result);
36366
+ } catch {
36367
+ return null;
36368
+ }
36369
+ }
36370
+ function createIdEnricher(reg) {
36371
+ const { doc, widgetMeta, ...rest } = reg;
36372
+ return {
36373
+ ...rest,
36374
+ id: rest.id || `id:${rest.valuePathTemplate}`,
36375
+ enrich: async (path, value, ctx) => {
36376
+ const dataManager = doc.dataManager;
36377
+ const idPath = getIdPath(path);
36378
+ if (shouldPreservePersistedId(dataManager, path, ctx)) return;
36379
+ if (value == null || value === "") {
36380
+ return { [idPath]: null };
36381
+ }
36382
+ if (isPresent(dataManager.get(idPath))) return;
36383
+ const productId = resolveProductId(doc, path);
36384
+ const id = await withRequestCache.handleRequest(
36385
+ "id_enrich_resolve",
36386
+ { path, value, productId },
36387
+ ({ path: reqPath, value: reqValue, productId: reqProductId }) => resolveLotCompanionId(reqPath, reqValue, reqProductId),
36388
+ 30 * 1e3
36389
+ );
36390
+ return { [idPath]: id };
36391
+ }
36392
+ };
36393
+ }
36348
36394
  class Hooks {
36349
36395
  /**
36350
36396
  * @callback HookCallback
@@ -84101,6 +84147,17 @@ function buildFieldEnricherRegistrations(instances, ctx, doc) {
84101
84147
  })
84102
84148
  );
84103
84149
  }
84150
+ if (valueChangeRules.some((rule) => rule.type === "id")) {
84151
+ regs.push(
84152
+ createIdEnricher({
84153
+ id: `id:${valuePath}`,
84154
+ valuePathTemplate: valuePath,
84155
+ match: createValuePathMatcher(valuePath),
84156
+ doc,
84157
+ widgetMeta: instance2.widgetMeta
84158
+ })
84159
+ );
84160
+ }
84104
84161
  if (fieldNeedsLabelEnrichment(fieldMeta.fieldType, manifest2)) {
84105
84162
  const enricherProps = resolveEnricherWidgetProps(instance2, manifest2);
84106
84163
  regs.push(
@@ -84169,7 +84226,12 @@ function collectSubtableRowEnrichPaths(instances, subFieldKey, rowIndexes) {
84169
84226
  if (parsed.parentFieldKey !== subFieldKey) continue;
84170
84227
  for (const rowIndex of uniqueIndexes) {
84171
84228
  paths.add(
84172
- replacePathIndexPlaceholders({ templatePath: valuePath, n: rowIndex, y: rowIndex, x: rowIndex })
84229
+ replacePathIndexPlaceholders({
84230
+ templatePath: valuePath,
84231
+ n: rowIndex,
84232
+ y: rowIndex,
84233
+ x: rowIndex
84234
+ })
84173
84235
  );
84174
84236
  }
84175
84237
  }
@@ -85159,9 +85221,10 @@ const optionsMapEnumConfig = {
85159
85221
  };
85160
85222
  const labelOnValueChangeRule = { type: "label" };
85161
85223
  const hyperlinkOnValueChangeRule = { type: "hyperlink" };
85162
- const hyperlinkAndLabelOnValueChangeRules = [
85224
+ const idOnValueChangeRule = { type: "id" };
85225
+ const hyperlinkAndIdOnValueChangeRules = [
85163
85226
  hyperlinkOnValueChangeRule,
85164
- labelOnValueChangeRule
85227
+ idOnValueChangeRule
85165
85228
  ];
85166
85229
  function mergeCheckTableItemInfosIntoDefaults(defaultsMap, region, infos, layoutColumnCount) {
85167
85230
  applySubFieldDefaults(defaultsMap, region, infos, layoutColumnCount ?? 0);
@@ -101033,7 +101096,7 @@ class PostChangePipeline {
101033
101096
  }
101034
101097
  }
101035
101098
  if (Object.keys(updates).length) {
101036
- const enrichLogNs = enricherIds.some((id) => id.startsWith("label")) ? "enricher.label" : "enricher.hyperlink";
101099
+ const enrichLogNs = enricherIds.some((id) => id.startsWith("label")) ? "enricher.label" : enricherIds.some((id) => id.startsWith("id")) ? "enricher.id" : "enricher.hyperlink";
101037
101100
  createPipelineLogger(enrichLogNs, { batchId, path }).debug(
101038
101101
  `写回增强字段:${Object.keys(updates).join("、")}`,
101039
101102
  { enricherId: enricherIds.join(","), keys: Object.keys(updates) }
@@ -101230,6 +101293,9 @@ class DataManager {
101230
101293
  getHrefPath(path) {
101231
101294
  return getHrefPath(path);
101232
101295
  }
101296
+ getIdPath(path) {
101297
+ return getIdPath(path);
101298
+ }
101233
101299
  getFieldRuntimeSpecificConfigKeys() {
101234
101300
  return [...this.fieldRuntimeConfigByPath.keys()];
101235
101301
  }
@@ -101423,6 +101489,10 @@ class DataManager {
101423
101489
  getHref(path) {
101424
101490
  return this.get(this.getHrefPath(path));
101425
101491
  }
101492
+ /** 获取与 value 并存的批次唯一标识;老数据可能为空 */
101493
+ getId(path) {
101494
+ return this.get(this.getIdPath(path));
101495
+ }
101426
101496
  /** 子表数组路径下未软删行数 */
101427
101497
  countActiveSubtableRows(arrayPath) {
101428
101498
  const rows = this.getByPath(this.rawData, arrayPath);
@@ -102476,9 +102546,14 @@ class DataManager {
102476
102546
  }
102477
102547
  this.removeFieldDependencies(designValuePath);
102478
102548
  }
102479
- /** 收集与字段绑定相关的路径(含 value / label / href 及通配符变体) */
102549
+ /** 收集与字段绑定相关的路径(含 value / label / href / id 及通配符变体) */
102480
102550
  collectFieldBindingPaths(designValuePath) {
102481
- const bases = [designValuePath, getLabelPath(designValuePath), getHrefPath(designValuePath)];
102551
+ const bases = [
102552
+ designValuePath,
102553
+ getLabelPath(designValuePath),
102554
+ getHrefPath(designValuePath),
102555
+ getIdPath(designValuePath)
102556
+ ];
102482
102557
  const wildcardKeys = new Set(bases.map((path) => this.convertPathToWildcard(path)));
102483
102558
  const result = new Set(bases);
102484
102559
  const scanTargets = [
@@ -102501,15 +102576,19 @@ class DataManager {
102501
102576
  paths.add(path);
102502
102577
  paths.add(getLabelPath(path));
102503
102578
  paths.add(getHrefPath(path));
102579
+ paths.add(getIdPath(path));
102504
102580
  }
102505
102581
  return [...paths];
102506
102582
  }
102507
102583
  /** 移除字段注册的组件依赖 */
102508
102584
  removeFieldDependencies(designValuePath) {
102509
102585
  const wildcardKeys = new Set(
102510
- [designValuePath, getLabelPath(designValuePath), getHrefPath(designValuePath)].map(
102511
- (path) => this.convertPathToWildcard(path)
102512
- )
102586
+ [
102587
+ designValuePath,
102588
+ getLabelPath(designValuePath),
102589
+ getHrefPath(designValuePath),
102590
+ getIdPath(designValuePath)
102591
+ ].map((path) => this.convertPathToWildcard(path))
102513
102592
  );
102514
102593
  const nodes = this.collectDepNodes();
102515
102594
  const removedKeys = /* @__PURE__ */ new Set();
@@ -110011,11 +110090,14 @@ function transformTreeData(options = [], currentValue) {
110011
110090
  });
110012
110091
  return { data: treeData, highlightIdx };
110013
110092
  }
110014
- function transformLotData(options = [], currentValue) {
110093
+ function transformLotData(options = [], currentValue, currentId) {
110015
110094
  const highlightIdx = { index: [] };
110016
110095
  const values = Array.isArray(currentValue) ? currentValue.filter((v) => !isNil(v)) : [currentValue].filter((v) => !isNil(v));
110096
+ const preferId = !!currentId;
110017
110097
  const showOptions = (options || []).map((item, index2) => {
110018
- if (values.includes(item.value)) {
110098
+ const matchedById = preferId && item._item?.id_ === currentId;
110099
+ const matchedByValue = !preferId && values.includes(item.value);
110100
+ if (matchedById || matchedByValue) {
110019
110101
  highlightIdx.index.push(index2);
110020
110102
  }
110021
110103
  return {
@@ -121338,12 +121420,7 @@ const manifest$F = {
121338
121420
  ...commonDefaultProps
121339
121421
  },
121340
121422
  computed: {
121341
- defaultValueRule: {
121342
- type: "api",
121343
- fetcher: "lot2sn",
121344
- onlyMainModelFieldsCanRequest: true
121345
- },
121346
- onValueChangeRule: labelOnValueChangeRule
121423
+ onValueChangeRule: idOnValueChangeRule
121347
121424
  }
121348
121425
  };
121349
121426
  const __vite_glob_0_24 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -121964,12 +122041,7 @@ const manifest$f = {
121964
122041
  ...commonDefaultProps
121965
122042
  },
121966
122043
  computed: {
121967
- defaultValueRule: {
121968
- type: "api",
121969
- fetcher: "lot2sn",
121970
- onlyMainModelFieldsCanRequest: true
121971
- },
121972
- onValueChangeRule: [...hyperlinkAndLabelOnValueChangeRules]
122044
+ onValueChangeRule: [...hyperlinkAndIdOnValueChangeRules]
121973
122045
  }
121974
122046
  };
121975
122047
  const __vite_glob_0_50 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -122117,12 +122189,7 @@ const manifest$9 = {
122117
122189
  ...commonDefaultProps
122118
122190
  },
122119
122191
  computed: {
122120
- defaultValueRule: {
122121
- type: "api",
122122
- fetcher: "lot2sn",
122123
- onlyMainModelFieldsCanRequest: true
122124
- },
122125
- onValueChangeRule: [...hyperlinkAndLabelOnValueChangeRules]
122192
+ onValueChangeRule: [...hyperlinkAndIdOnValueChangeRules]
122126
122193
  }
122127
122194
  };
122128
122195
  const __vite_glob_0_56 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -122253,6 +122320,9 @@ const filterFn = (f) => {
122253
122320
  ].includes(f.key)) {
122254
122321
  return false;
122255
122322
  }
122323
+ if (f.createType === "BUILTIN" && f.key && isCompanionIdPath(f.key) && f.type === FIELD_TYPE.TEXT) {
122324
+ return false;
122325
+ }
122256
122326
  return true;
122257
122327
  };
122258
122328
  const FieldIconFallbackMap = {
@@ -126697,6 +126767,7 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
126697
126767
  { label: "记录模式", value: MaterialConsumptionPatternEnum.RECORD }
126698
126768
  ];
126699
126769
  const props = __props;
126770
+ const isBomGranted = ref(false);
126700
126771
  const regionRef = computed(
126701
126772
  () => props.widget.findRegionById(props.active.context.regionId)
126702
126773
  );
@@ -126712,8 +126783,8 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
126712
126783
  regionType: "material-consume-table"
126713
126784
  });
126714
126785
  onMounted(async () => {
126715
- const isGranted = await queryIsBomGranted();
126716
- if (isGranted && regionProps.value && !regionProps.value.material_consumption_pattern_) {
126786
+ isBomGranted.value = await queryIsBomGranted();
126787
+ if (isBomGranted.value && regionProps.value && !regionProps.value.material_consumption_pattern_) {
126717
126788
  regionProps.value.material_consumption_pattern_ = MaterialConsumptionPatternEnum.BOM;
126718
126789
  }
126719
126790
  });
@@ -126746,7 +126817,8 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
126746
126817
  ]),
126747
126818
  _: 1
126748
126819
  }),
126749
- createVNode(unref(GctFormItem), {
126820
+ isBomGranted.value ? (openBlock(), createBlock(unref(GctFormItem), {
126821
+ key: 0,
126750
126822
  inline: false,
126751
126823
  label: "物料消耗模式"
126752
126824
  }, {
@@ -126758,8 +126830,8 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
126758
126830
  }, null, 8, ["modelValue"])
126759
126831
  ]),
126760
126832
  _: 1
126761
- }),
126762
- unref(regionProps).material_consumption_pattern_ === unref(MaterialConsumptionPatternEnum).BOM ? (openBlock(), createBlock(unref(GctFormItem), { key: 0 }, {
126833
+ })) : createCommentVNode("", true),
126834
+ createVNode(unref(GctFormItem), null, {
126763
126835
  label: withCtx(() => [..._cache[5] || (_cache[5] = [
126764
126836
  createElementVNode("div", { class: "form-custom-label" }, " 人为指定物料 ", -1)
126765
126837
  ])]),
@@ -126773,7 +126845,7 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
126773
126845
  ])
126774
126846
  ]),
126775
126847
  _: 1
126776
- })) : createCommentVNode("", true),
126848
+ }),
126777
126849
  unref(regionProps).personal_bom_enabled_ ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
126778
126850
  createElementVNode("div", _hoisted_4$o, [
126779
126851
  createVNode(BomEntryEditor, {
@@ -126805,7 +126877,7 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
126805
126877
  };
126806
126878
  }
126807
126879
  });
126808
- const MaterialConsumeTablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$1v, [["__scopeId", "data-v-0dd8e3b3"]]);
126880
+ const MaterialConsumeTablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$1v, [["__scopeId", "data-v-c6970c00"]]);
126809
126881
  const schema$9 = createTablePanelSchema("material-consume-table.basic", MaterialConsumeTablePanel);
126810
126882
  const schema$8 = createTablePanelSchema("fixed-table.basic", BoundedSubTablePanel);
126811
126883
  const _sfc_main$1u = /* @__PURE__ */ defineComponent({
@@ -136024,6 +136096,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
136024
136096
  columns: {},
136025
136097
  tableData: {},
136026
136098
  modelValue: {},
136099
+ selectedId: {},
136027
136100
  loading: { type: Boolean },
136028
136101
  height: { default: "100%" },
136029
136102
  autoResize: { type: Boolean, default: true },
@@ -136056,6 +136129,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
136056
136129
  return result;
136057
136130
  });
136058
136131
  const rowClassName = ({ row }) => {
136132
+ if (props.selectedId) {
136133
+ return row._item?.id_ === props.selectedId ? "row--active" : "";
136134
+ }
136059
136135
  return selectedIds.value.has(row.__VALUE__) ? "row--active" : "";
136060
136136
  };
136061
136137
  const onCellClick = ({ row }) => {
@@ -136127,7 +136203,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
136127
136203
  };
136128
136204
  }
136129
136205
  });
136130
- const BaseVxeTable = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-8ae65aef"]]);
136206
+ const BaseVxeTable = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-c169ed2c"]]);
136131
136207
  const DEVICE_TYPE_MODEL_KEY = "em_device_type";
136132
136208
  const ENTITY_CATEGORY = "entity";
136133
136209
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
@@ -136431,35 +136507,39 @@ function shouldEnableLinkage(doc, clickedFieldType, clickedKey) {
136431
136507
  return key === clickedKey && fieldMeta.fieldType === targetLinkedFieldType;
136432
136508
  });
136433
136509
  }
136434
- function buildLikeQuery(fields2, keyword, query) {
136435
- if (!keyword?.trim()) {
136436
- return {
136437
- queryData: { ...query },
136438
- exp: ""
136439
- };
136510
+ function buildLikeQuery(fields2, keyword, query = {}) {
136511
+ const resultQuery = {
136512
+ ...query
136513
+ };
136514
+ const queryExp = Object.keys(query);
136515
+ let likeExp = "";
136516
+ if (keyword?.trim()) {
136517
+ fields2.forEach((field) => {
136518
+ const key = field.includes(".") ? field : `${field}.iLike`;
136519
+ resultQuery[key] = keyword;
136520
+ });
136521
+ likeExp = `OR(${fields2.map((field) => field.includes(".") ? field : `${field}.iLike`).join(",")})`;
136440
136522
  }
136441
- const queryData = fields2.reduce(
136442
- (prev, field) => {
136443
- const expKey = field.includes(".") ? field : field + ".iLike";
136444
- prev[expKey] = keyword;
136445
- return prev;
136446
- },
136447
- {
136448
- ...query
136449
- }
136450
- );
136451
- const exp = `OR(${fields2.map((k) => `${k}.iLike`).join(",")})`;
136452
- return { queryData, exp };
136523
+ const baseExp = queryExp.length ? `OR(${queryExp.join(",")})` : "";
136524
+ let exp = "";
136525
+ if (baseExp && likeExp) {
136526
+ exp = `AND(${baseExp},${likeExp})`;
136527
+ } else {
136528
+ exp = baseExp || likeExp;
136529
+ }
136530
+ return {
136531
+ queryData: resultQuery,
136532
+ exp
136533
+ };
136453
136534
  }
136454
136535
  const selectStrategyMap = {
136455
136536
  [FIELD_TYPE.MATERIAL_NO]: {
136456
136537
  columnsKey: "lot-sn",
136457
136538
  fetcher: "lot2sn",
136458
136539
  allowManualInput: true,
136540
+ persistOptionId: true,
136459
136541
  buildQuery({ keyword, extraParams }) {
136460
- return buildLikeQuery(["name_"], keyword, {
136461
- ...extraParams
136462
- });
136542
+ return buildLikeQuery(["name_"], keyword, { "product_id_.isNotNull": null, ...extraParams });
136463
136543
  },
136464
136544
  transform: transformLotData
136465
136545
  },
@@ -136467,8 +136547,9 @@ const selectStrategyMap = {
136467
136547
  columnsKey: "lot-sn",
136468
136548
  fetcher: "lot2sn",
136469
136549
  allowManualInput: true,
136470
- buildQuery({ keyword }) {
136471
- return buildLikeQuery(["name_"], keyword, {});
136550
+ persistOptionId: true,
136551
+ buildQuery({ keyword, extraParams }) {
136552
+ return buildLikeQuery(["name_"], keyword, { "product_id_.isNotNull": null, ...extraParams });
136472
136553
  },
136473
136554
  transform: transformLotData
136474
136555
  },
@@ -136476,8 +136557,9 @@ const selectStrategyMap = {
136476
136557
  columnsKey: "lot-sn",
136477
136558
  fetcher: "lot2sn",
136478
136559
  allowManualInput: true,
136479
- buildQuery({ keyword }) {
136480
- return buildLikeQuery(["name_"], keyword, {});
136560
+ persistOptionId: true,
136561
+ buildQuery({ keyword, extraParams }) {
136562
+ return buildLikeQuery(["name_"], keyword, { "product_id_.isNotNull": null, ...extraParams });
136481
136563
  },
136482
136564
  transform: transformLotData
136483
136565
  },
@@ -136687,6 +136769,11 @@ function useTableDropdown(props, searchFilters) {
136687
136769
  const strategy = computed(() => getSelectStrategy(widgetProps.value, fieldMeta.value?.fieldType));
136688
136770
  const isDeviceField = computed(() => fieldInfo.value?.type === FIELD_TYPE.DEVICE);
136689
136771
  const columns2 = computed(() => getColumns(strategy.value.columnsKey, strategy.value.isTree));
136772
+ const selectedId = computed(() => {
136773
+ if (!runtimeValuePath.value) return void 0;
136774
+ const id = docInst.value.dataManager.get(getIdPath(runtimeValuePath.value));
136775
+ return id != null && id !== "" ? String(id) : void 0;
136776
+ });
136690
136777
  const businessLinkage = computed(
136691
136778
  () => new TableRuntime(docInst.value).resolveSelectLinkage({
136692
136779
  subFieldKey: fieldMeta.value?.subFieldKey,
@@ -136799,7 +136886,7 @@ function useTableDropdown(props, searchFilters) {
136799
136886
  pageNo,
136800
136887
  pageSize
136801
136888
  });
136802
- const info = transform(res.options ?? [], props.modelValue);
136889
+ const info = transform(res.options ?? [], props.modelValue, selectedId.value);
136803
136890
  return {
136804
136891
  data: info.data || [],
136805
136892
  totalPage: Number(res?.totalPage ?? 0),
@@ -136808,6 +136895,7 @@ function useTableDropdown(props, searchFilters) {
136808
136895
  };
136809
136896
  };
136810
136897
  const allowManualInput = computed(() => strategy.value.allowManualInput ?? false);
136898
+ const persistOptionId = computed(() => !!strategy.value.persistOptionId);
136811
136899
  return {
136812
136900
  fetcher,
136813
136901
  columns: columns2,
@@ -136818,7 +136906,9 @@ function useTableDropdown(props, searchFilters) {
136818
136906
  enableLinkage,
136819
136907
  clearValuePath,
136820
136908
  allowManualInput,
136821
- isDeviceField
136909
+ isDeviceField,
136910
+ selectedId,
136911
+ persistOptionId
136822
136912
  };
136823
136913
  }
136824
136914
  const _hoisted_1$7 = { class: "table-dropdown" };
@@ -136854,7 +136944,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
136854
136944
  columns: columns2,
136855
136945
  fetcher: baseFetcher,
136856
136946
  allowManualInput,
136857
- isDeviceField
136947
+ isDeviceField,
136948
+ selectedId,
136949
+ persistOptionId
136858
136950
  } = useTableDropdown(props, searchFilters);
136859
136951
  const fetcher = (opts) => baseFetcher({ ...opts, deviceTypeId: deviceTypeId.value });
136860
136952
  const showManualInputBtn = computed(() => allowManualInput.value && !!keyword.value?.trim());
@@ -136889,6 +136981,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
136889
136981
  const onChangeSelect = (row) => {
136890
136982
  const { __VALUE__ } = row || {};
136891
136983
  const data = setValue(__VALUE__ ? __VALUE__ : void 0, runtimeValuePath.value);
136984
+ if (persistOptionId.value) {
136985
+ const idPath = getIdPath(runtimeValuePath.value);
136986
+ Object.assign(data, setValue(row?._item?.id_ ?? void 0, idPath));
136987
+ }
136892
136988
  if (clearValuePath.value) {
136893
136989
  const clearData = setValue(void 0, clearValuePath.value);
136894
136990
  Object.assign(data, clearData);
@@ -136987,10 +137083,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
136987
137083
  columns: unref(columns2),
136988
137084
  tableData: unref(tableData),
136989
137085
  modelValue: __props.modelValue,
137086
+ selectedId: unref(selectedId),
136990
137087
  loading: unref(loading),
136991
137088
  "show-row-selection-mode": "",
136992
137089
  onChangeSelect
136993
- }, null, 8, ["columns", "tableData", "modelValue", "loading"]),
137090
+ }, null, 8, ["columns", "tableData", "modelValue", "selectedId", "loading"]),
136994
137091
  unref(hasData) ? (openBlock(), createBlock(paginationControl, {
136995
137092
  key: 2,
136996
137093
  pagination: unref(pagination),
@@ -81,6 +81,4 @@ export declare const apiFetchers: {
81
81
  /** 产品但要 ref */
82
82
  productRdo2ref: APIFetcher;
83
83
  };
84
- /** 清除指定类型的缓存 */
85
- export declare function clearApiFetcherCache(type: 'dept' | 'user' | 'ref' | 'lot2sn' | 'ref2lot2sn' | 'all'): void;
86
84
  export type { FetcherConfig, RequestParams, OptionResult, Option };
@@ -34,15 +34,16 @@ export declare function transformTreeData(options?: any[], currentValue?: string
34
34
  * 用于批次/表格数据场景,将原始数据转换为表格行数据
35
35
  *
36
36
  * @param options - 原始选项数据
37
- * @param currentValue - 当前选中的值
37
+ * @param currentValue - 当前选中的值(批次号 name)
38
+ * @param currentId - companion `_id_`;有值时优先按 id 高亮,老数据无 id 时回退 name
38
39
  * @returns 转换后的数据和高亮索引
39
40
  *
40
41
  * @example
41
42
  * ```typescript
42
- * const { data, highlightIdx } = transformLotData(options, 'lot-123');
43
+ * const { data, highlightIdx } = transformLotData(options, 'lot-123', 'id-xxx');
43
44
  * ```
44
45
  */
45
- export declare function transformLotData(options?: Option[], currentValue?: string | string[]): {
46
+ export declare function transformLotData(options?: Option[], currentValue?: string | string[], currentId?: string): {
46
47
  data: any[];
47
48
  highlightIdx: {
48
49
  index: number[];
@@ -2,6 +2,8 @@ type __VLS_Props = {
2
2
  columns: any[];
3
3
  tableData: any[];
4
4
  modelValue?: string;
5
+ /** 批次 companion id,优先于 modelValue 做行高亮 */
6
+ selectedId?: string;
5
7
  loading: boolean;
6
8
  height?: string;
7
9
  autoResize?: boolean;
@@ -19,4 +19,6 @@ export declare function useTableDropdown(props: any, searchFilters?: MaybeRef<Ta
19
19
  clearValuePath: import('vue').ComputedRef<string | undefined>;
20
20
  allowManualInput: import('vue').ComputedRef<boolean>;
21
21
  isDeviceField: import('vue').ComputedRef<boolean>;
22
+ selectedId: import('vue').ComputedRef<string | undefined>;
23
+ persistOptionId: import('vue').ComputedRef<boolean>;
22
24
  };
@@ -202,6 +202,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
202
202
  readonly columns: any[];
203
203
  readonly tableData: any[];
204
204
  readonly modelValue?: string | undefined;
205
+ readonly selectedId?: string | undefined;
205
206
  readonly loading: boolean;
206
207
  readonly height?: string | undefined;
207
208
  readonly autoResize?: boolean | undefined;
@@ -241,6 +242,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
241
242
  columns: any[];
242
243
  tableData: any[];
243
244
  modelValue?: string;
245
+ selectedId?: string;
244
246
  loading: boolean;
245
247
  height?: string;
246
248
  autoResize?: boolean;
@@ -287,6 +289,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
287
289
  columns: any[];
288
290
  tableData: any[];
289
291
  modelValue?: string;
292
+ selectedId?: string;
290
293
  loading: boolean;
291
294
  height?: string;
292
295
  autoResize?: boolean;
@@ -26,8 +26,10 @@ export interface SelectStrategy {
26
26
  clearFieldId?: string;
27
27
  /** 搜索无匹配时允许将输入关键字作为值写入 */
28
28
  allowManualInput?: boolean;
29
+ /** 下拉选中时同步写入 companion `_id_`(批次字段) */
30
+ persistOptionId?: boolean;
29
31
  buildQuery?: (ctx: SelectQueryContext) => SelectQueryResult;
30
- transform: (options: any[], value?: string) => any;
32
+ transform: (options: any[], value?: string, currentId?: string) => any;
31
33
  }
32
34
  /**
33
35
  * 判断指定字段是否需要开启【报废/不良】分类 ->原因单向数据联动
@@ -197,6 +197,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
197
197
  readonly columns: any[];
198
198
  readonly tableData: any[];
199
199
  readonly modelValue?: string | undefined;
200
+ readonly selectedId?: string | undefined;
200
201
  readonly loading: boolean;
201
202
  readonly height?: string | undefined;
202
203
  readonly autoResize?: boolean | undefined;
@@ -236,6 +237,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
236
237
  columns: any[];
237
238
  tableData: any[];
238
239
  modelValue?: string;
240
+ selectedId?: string;
239
241
  loading: boolean;
240
242
  height?: string;
241
243
  autoResize?: boolean;
@@ -282,6 +284,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
282
284
  columns: any[];
283
285
  tableData: any[];
284
286
  modelValue?: string;
287
+ selectedId?: string;
285
288
  loading: boolean;
286
289
  height?: string;
287
290
  autoResize?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { ComponentDependency } from '../../../../shared/panel/modules/field-dependency-module/types';
2
- import { MapRule, PriorityRule, ResolveRule, HyperlinkRule, LabelRule } from '../../../../../domain/field/field-props-schema-type';
2
+ import { MapRule, PriorityRule, ResolveRule, HyperlinkRule, LabelRule, IdRule } from '../../../../../domain/field/field-props-schema-type';
3
3
  import { FieldNodeRenderers } from '../../../../../domain/widget/component-type';
4
4
  export declare const commonDefaultRenderers: FieldNodeRenderers;
5
5
  export declare const commonDefaultProps: {
@@ -78,5 +78,9 @@ export declare const optionsMapEnumConfig: MapRule;
78
78
  export declare const labelOnValueChangeRule: LabelRule;
79
79
  /** 值变化后补全可点击 _href_ */
80
80
  export declare const hyperlinkOnValueChangeRule: HyperlinkRule;
81
+ /** 值变化后补全批次唯一标识 _id_ */
82
+ export declare const idOnValueChangeRule: IdRule;
81
83
  /** 同时补全 _href_ 与 _lb_(如批次号等追溯字段) */
82
84
  export declare const hyperlinkAndLabelOnValueChangeRules: readonly [HyperlinkRule, LabelRule];
85
+ /** 批次号:补全 _href_ 与 _id_ */
86
+ export declare const hyperlinkAndIdOnValueChangeRules: readonly [HyperlinkRule, IdRule];
package/dist/word.css CHANGED
@@ -10539,22 +10539,22 @@ svg.portrait-icon[data-v-8bdb451e] {
10539
10539
  .bom-entry-item .iconfont.btn-item[data-v-f070d621] {
10540
10540
  margin-right: 8px;
10541
10541
  }
10542
- .panel-material-consume-table[data-v-0dd8e3b3] {
10542
+ .panel-material-consume-table[data-v-c6970c00] {
10543
10543
  position: relative;
10544
10544
  }
10545
- .panel-material-consume-table .container[data-v-0dd8e3b3] {
10545
+ .panel-material-consume-table .container[data-v-c6970c00] {
10546
10546
  padding: 16px;
10547
10547
  }
10548
- .panel-material-consume-table .form-custom-label[data-v-0dd8e3b3] {
10548
+ .panel-material-consume-table .form-custom-label[data-v-c6970c00] {
10549
10549
  display: inline-flex;
10550
10550
  align-items: center;
10551
10551
  gap: 4px;
10552
10552
  }
10553
- .panel-material-consume-table .form-custom-label .icon[data-v-0dd8e3b3] {
10553
+ .panel-material-consume-table .form-custom-label .icon[data-v-c6970c00] {
10554
10554
  cursor: pointer;
10555
10555
  vertical-align: text-top;
10556
10556
  }
10557
- .panel-material-consume-table .content[data-v-0dd8e3b3] {
10557
+ .panel-material-consume-table .content[data-v-c6970c00] {
10558
10558
  display: flex;
10559
10559
  align-items: center;
10560
10560
  justify-content: flex-end;
@@ -10562,7 +10562,7 @@ svg.portrait-icon[data-v-8bdb451e] {
10562
10562
  line-height: 22px;
10563
10563
  width: 100%;
10564
10564
  }
10565
- .panel-material-consume-table .entries-container[data-v-0dd8e3b3] {
10565
+ .panel-material-consume-table .entries-container[data-v-c6970c00] {
10566
10566
  padding: 6px 0;
10567
10567
  }
10568
10568
  .add-ds-btn[data-v-444003bd] {
@@ -12501,7 +12501,7 @@ svg.portrait-icon[data-v-8bdb451e] {
12501
12501
  width: 100%;
12502
12502
  height: 248px;
12503
12503
  }
12504
- .base-vxe-table-wrapper[data-v-8ae65aef] {
12504
+ .base-vxe-table-wrapper[data-v-c169ed2c] {
12505
12505
  display: flex;
12506
12506
  flex-direction: column;
12507
12507
  flex: 1;
@@ -12509,10 +12509,10 @@ svg.portrait-icon[data-v-8bdb451e] {
12509
12509
  width: 800px;
12510
12510
  height: 360px;
12511
12511
  }
12512
- .base-vxe-table-wrapper[data-v-8ae65aef] .dropdown-vxe-table .row--active {
12512
+ .base-vxe-table-wrapper[data-v-c169ed2c] .dropdown-vxe-table .row--active {
12513
12513
  background: #e6f7ff;
12514
12514
  }
12515
- .base-vxe-table-wrapper .vxe-grid-empty-word[data-v-8ae65aef] {
12515
+ .base-vxe-table-wrapper .vxe-grid-empty-word[data-v-c169ed2c] {
12516
12516
  display: flex;
12517
12517
  flex-direction: column;
12518
12518
  align-items: center;
@@ -12520,7 +12520,7 @@ svg.portrait-icon[data-v-8bdb451e] {
12520
12520
  color: rgba(0, 0, 0, 0.45);
12521
12521
  margin: 32px 0;
12522
12522
  }
12523
- .base-vxe-table-wrapper .vxe-grid-empty-word > img[data-v-8ae65aef] {
12523
+ .base-vxe-table-wrapper .vxe-grid-empty-word > img[data-v-c169ed2c] {
12524
12524
  width: 60px;
12525
12525
  margin-bottom: 12px;
12526
12526
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/word",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "GCT 在线 word",
5
5
  "keywords": [
6
6
  "vue",