@gct-paas/word 0.1.74-beta.44 → 0.1.74-beta.46
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/dist/index.es.js +553 -134
- package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +20 -2
- package/dist/runtime/canvas/table/render/material-consume/service.d.ts +8 -0
- package/dist/runtime/renderer/dropdowns/components/tables/strategy/selectStrategy.d.ts +2 -0
- package/dist/suites/edhr/panel-schema/data-init/material-consume-object/bom-validator.d.ts +22 -6
- package/dist/suites/edhr/panel-schema/data-init/material-consume-object/index.d.ts +1 -0
- package/dist/suites/edhr/panel-schema/data-init/material-consume-object/linkage.d.ts +64 -0
- package/dist/word.css +6 -6
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @gct-paas/word v0.1.74-beta.
|
|
1
|
+
/*! @gct-paas/word v0.1.74-beta.46 */
|
|
2
2
|
import { Fragment, Suspense, Teleport, Transition, TransitionGroup, cloneVNode, computed, createApp, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, effectScope, getCurrentInstance, getCurrentScope, guardReactiveProps, h, inject, isRef, isVNode, markRaw, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeMount, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, readonly, ref, render, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toHandlers, toRaw, toRef, toValue, unref, useAttrs, useCssVars, useModel, useSlots, vModelRadio, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
3
3
|
import St, { PopperWrapper } from "floating-vue";
|
|
4
4
|
import VueKonva from "vue-konva";
|
|
@@ -99109,10 +99109,10 @@ var init_selectStrategy = __esmMin((() => {
|
|
|
99109
99109
|
[FIELD_TYPE.ROUTING_OPERATION]: {
|
|
99110
99110
|
columnsKey: "route-operation",
|
|
99111
99111
|
fetcher: "ref",
|
|
99112
|
-
buildQuery({ keyword, isMockReport }) {
|
|
99112
|
+
buildQuery({ keyword, isMockReport, routingOperationId }) {
|
|
99113
99113
|
return buildLikeQuery(["name_", "code_"], keyword, {
|
|
99114
|
-
|
|
99115
|
-
|
|
99114
|
+
ref_master_id_: routingOperationId,
|
|
99115
|
+
type_: "NODE_SPEC"
|
|
99116
99116
|
});
|
|
99117
99117
|
},
|
|
99118
99118
|
transform: transformLotData
|
|
@@ -125184,6 +125184,52 @@ async function getReinspectionDate(params) {
|
|
|
125184
125184
|
if (!parsed.isValid()) return;
|
|
125185
125185
|
return parsed.format("YYYY-MM-DD");
|
|
125186
125186
|
}
|
|
125187
|
+
/** 物料+批次查复检日期;缺任一参数不查;无日期放过;小于当天则 throw */
|
|
125188
|
+
async function assertReinspectionDate(opts) {
|
|
125189
|
+
if (!opts.product_id_ || !opts.material_no_ && !opts.material_no_id_) return;
|
|
125190
|
+
const date = await getReinspectionDate({
|
|
125191
|
+
product_id_: opts.product_id_,
|
|
125192
|
+
material_no_: opts.material_no_,
|
|
125193
|
+
material_no_id_: opts.material_no_id_
|
|
125194
|
+
});
|
|
125195
|
+
if (!date) return;
|
|
125196
|
+
if (dayjs(date).isBefore(dayjs(), "day")) throw new Error("已超物料复检日期,该物料不可用");
|
|
125197
|
+
}
|
|
125198
|
+
function pickProductBaseId(option) {
|
|
125199
|
+
var _option$_OPCT;
|
|
125200
|
+
if (!option) return void 0;
|
|
125201
|
+
const nested = (_option$_OPCT = option._OPCT) === null || _option$_OPCT === void 0 || (_option$_OPCT = _option$_OPCT.product_id_) === null || _option$_OPCT === void 0 ? void 0 : _option$_OPCT.base_id_;
|
|
125202
|
+
const raw = option.product_id_base_id_ ?? nested;
|
|
125203
|
+
if (isBlank$1(raw)) return void 0;
|
|
125204
|
+
return String(raw);
|
|
125205
|
+
}
|
|
125206
|
+
async function fetchProductBaseId(versionId) {
|
|
125207
|
+
try {
|
|
125208
|
+
var _res$data2;
|
|
125209
|
+
const res = await postApi({
|
|
125210
|
+
modelCategory: "entity",
|
|
125211
|
+
modelKey: "em_product",
|
|
125212
|
+
bsKey: "getOne"
|
|
125213
|
+
}, {}, { query: { id_: versionId } });
|
|
125214
|
+
const record = (res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2[0]) ?? (res === null || res === void 0 ? void 0 : res.data);
|
|
125215
|
+
const baseId = record === null || record === void 0 ? void 0 : record.base_id_;
|
|
125216
|
+
return isBlank$1(baseId) ? void 0 : String(baseId);
|
|
125217
|
+
} catch {
|
|
125218
|
+
return;
|
|
125219
|
+
}
|
|
125220
|
+
}
|
|
125221
|
+
/** 主表物料 RDO 引用:`baseId:versionId`。无法拼出则返回 undefined,禁止写裸版本 id。 */
|
|
125222
|
+
async function resolveProductRdoRef(raw, option) {
|
|
125223
|
+
if (isBlank$1(raw)) return void 0;
|
|
125224
|
+
const parsed = parseFormTmplRefId(String(raw));
|
|
125225
|
+
if (parsed.baseId && parsed.id) return `${parsed.baseId}:${parsed.id}`;
|
|
125226
|
+
const versionId = parsed.id;
|
|
125227
|
+
if (!versionId) return void 0;
|
|
125228
|
+
const baseFromOption = pickProductBaseId(option);
|
|
125229
|
+
if (baseFromOption) return `${baseFromOption}:${versionId}`;
|
|
125230
|
+
const baseId = await fetchProductBaseId(versionId);
|
|
125231
|
+
return baseId ? `${baseId}:${versionId}` : void 0;
|
|
125232
|
+
}
|
|
125187
125233
|
/** 查批次锁定记录(最新一条) */
|
|
125188
125234
|
async function getLotLockedReason(production_identification_id_) {
|
|
125189
125235
|
const { data = {}, dict = {} } = await postApi({
|
|
@@ -125196,6 +125242,7 @@ async function getLotLockedReason(production_identification_id_) {
|
|
|
125196
125242
|
var postApi;
|
|
125197
125243
|
var init_service$5 = __esmMin((() => {
|
|
125198
125244
|
init_api$1();
|
|
125245
|
+
init_core$1();
|
|
125199
125246
|
postApi = getApi().apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey;
|
|
125200
125247
|
}));
|
|
125201
125248
|
//#endregion
|
|
@@ -126495,14 +126542,44 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
126495
126542
|
* @param rowPath $.f_sub[n] n 必须为数字
|
|
126496
126543
|
*/
|
|
126497
126544
|
static updateViewFieldsDisablement(option) {
|
|
126498
|
-
const fields = [
|
|
126545
|
+
const fields = ["material_no_", "qty_"];
|
|
126546
|
+
this._updateDisablement({
|
|
126547
|
+
...option,
|
|
126548
|
+
fields
|
|
126549
|
+
});
|
|
126550
|
+
}
|
|
126551
|
+
/**
|
|
126552
|
+
* 编辑态行:按 Excel calcDisabledFields 禁用字段,其余受控字段可填
|
|
126553
|
+
*/
|
|
126554
|
+
static applyEditingRowDisablement(option) {
|
|
126555
|
+
const allFields = [
|
|
126556
|
+
"product_id_",
|
|
126499
126557
|
"material_no_",
|
|
126558
|
+
"qty_consumed_",
|
|
126500
126559
|
"qty_",
|
|
126501
|
-
"
|
|
126560
|
+
"qty_required_",
|
|
126561
|
+
"routing_operation_id_",
|
|
126562
|
+
"expiration_date_",
|
|
126563
|
+
"qty_required_uom_id_",
|
|
126564
|
+
"qty_uom_id_",
|
|
126565
|
+
"qty_transfer_",
|
|
126566
|
+
"qty_consumed_total_",
|
|
126567
|
+
"qty_transfer_uom_id_",
|
|
126568
|
+
"transfer_formula_",
|
|
126569
|
+
"sort_num_"
|
|
126502
126570
|
];
|
|
126571
|
+
const disabledSet = new Set(option.disabledFields);
|
|
126503
126572
|
this._updateDisablement({
|
|
126504
|
-
|
|
126505
|
-
|
|
126573
|
+
dataManager: option.dataManager,
|
|
126574
|
+
rowPath: option.rowPath,
|
|
126575
|
+
fields: allFields.filter((field) => disabledSet.has(field)),
|
|
126576
|
+
disabled: true
|
|
126577
|
+
});
|
|
126578
|
+
this._updateDisablement({
|
|
126579
|
+
dataManager: option.dataManager,
|
|
126580
|
+
rowPath: option.rowPath,
|
|
126581
|
+
fields: allFields.filter((field) => !disabledSet.has(field)),
|
|
126582
|
+
disabled: false
|
|
126506
126583
|
});
|
|
126507
126584
|
}
|
|
126508
126585
|
/**
|
|
@@ -126725,11 +126802,11 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
126725
126802
|
* @param defaultData 子表行默认值(含工序等)
|
|
126726
126803
|
*/
|
|
126727
126804
|
initTableData(dataManager, subFieldKey, defaultData) {
|
|
126728
|
-
if (this.isDataProcessed) return;
|
|
126805
|
+
if (this.isDataProcessed) return [];
|
|
126729
126806
|
const existingRows = dataManager.getRawData()[subFieldKey];
|
|
126730
|
-
if (Array.isArray(existingRows) && existingRows.some((row) => row && !row.deleted_ && !row.__gw_default)) return;
|
|
126807
|
+
if (Array.isArray(existingRows) && existingRows.some((row) => row && !row.deleted_ && !row.__gw_default)) return [];
|
|
126731
126808
|
const rows = this.calcFormState();
|
|
126732
|
-
if (!(rows === null || rows === void 0 ? void 0 : rows.length)) return;
|
|
126809
|
+
if (!(rows === null || rows === void 0 ? void 0 : rows.length)) return [];
|
|
126733
126810
|
const tableRows = transformUtils.transformSourceData2SubTable(rows, {}, defaultData);
|
|
126734
126811
|
tableRows.forEach((row, i) => {
|
|
126735
126812
|
ensureFrontRowKey(row);
|
|
@@ -126737,12 +126814,15 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
126737
126814
|
});
|
|
126738
126815
|
this.actualTableData = tableRows;
|
|
126739
126816
|
tableRows.forEach((row, i) => {
|
|
126740
|
-
|
|
126817
|
+
const rowPath = `$.${subFieldKey}[${i}]`;
|
|
126818
|
+
if (row.is_confirmed_) MCDataUtil.updateConfirmableFieldsDisablement({
|
|
126741
126819
|
dataManager,
|
|
126742
|
-
rowPath
|
|
126743
|
-
disabled:
|
|
126820
|
+
rowPath,
|
|
126821
|
+
disabled: true
|
|
126744
126822
|
});
|
|
126823
|
+
else this.syncEditingRowDisablement(dataManager, rowPath, row);
|
|
126745
126824
|
});
|
|
126825
|
+
return tableRows.map((_, index) => index);
|
|
126746
126826
|
}
|
|
126747
126827
|
/**
|
|
126748
126828
|
* 根据数据计算需要禁用的字段
|
|
@@ -126762,6 +126842,14 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
126762
126842
|
}
|
|
126763
126843
|
return disabledKeys;
|
|
126764
126844
|
}
|
|
126845
|
+
/** 可编辑行:对齐 Excel getNewTdInfo + calcDisabledFields */
|
|
126846
|
+
syncEditingRowDisablement(dataManager, rowPath, row) {
|
|
126847
|
+
MCDataUtil.applyEditingRowDisablement({
|
|
126848
|
+
dataManager,
|
|
126849
|
+
rowPath,
|
|
126850
|
+
disabledFields: this.calcDisabledFields(row)
|
|
126851
|
+
});
|
|
126852
|
+
}
|
|
126765
126853
|
/**
|
|
126766
126854
|
* 获取是否是 物料查看
|
|
126767
126855
|
* @param product_id_
|
|
@@ -126932,7 +127020,8 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
126932
127020
|
(_this$setupScope = this.setupScope) === null || _this$setupScope === void 0 || _this$setupScope.stop();
|
|
126933
127021
|
this.setupScope = effectScope(true);
|
|
126934
127022
|
this.setupDoc = opts.doc;
|
|
126935
|
-
this.initTableData(opts.doc.dataManager, opts.subTableInfo.subFieldKey, opts.defaultRowData);
|
|
127023
|
+
const initializedRowIndexes = this.initTableData(opts.doc.dataManager, opts.subTableInfo.subFieldKey, opts.defaultRowData);
|
|
127024
|
+
await hydrateSubtableRowLabels(opts.doc, opts.subTableInfo.subFieldKey, initializedRowIndexes);
|
|
126936
127025
|
this.setupScope.run(() => {
|
|
126937
127026
|
watch(() => this.materialNoNum, () => this.syncQtyRequiredFromBom(opts.doc), { immediate: true });
|
|
126938
127027
|
watch(() => this.tableDataRef.value.map((row) => [
|
|
@@ -126964,14 +127053,7 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
126964
127053
|
* 物料+批次查复检日期;缺任一参数不查;无日期放过;小于当天则 throw
|
|
126965
127054
|
*/
|
|
126966
127055
|
async validateReinspectionDate(opts) {
|
|
126967
|
-
|
|
126968
|
-
const date = await getReinspectionDate({
|
|
126969
|
-
product_id_: opts.product_id_,
|
|
126970
|
-
material_no_: opts.material_no_,
|
|
126971
|
-
material_no_id_: opts.material_no_id_
|
|
126972
|
-
});
|
|
126973
|
-
if (!date) return;
|
|
126974
|
-
if (dayjs(date).isBefore(dayjs(), "day")) throw new Error("已超物料复检日期,该物料不可用");
|
|
127056
|
+
await assertReinspectionDate(opts);
|
|
126975
127057
|
}
|
|
126976
127058
|
/**
|
|
126977
127059
|
* 校验数据,并退出编辑
|
|
@@ -127078,7 +127160,10 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127078
127160
|
const entryIdx = this.bomEntriesValidator.resolveEntryIndex(row);
|
|
127079
127161
|
const targetUtil = entryIdx >= 0 ? this.bomEntriesValidator.bomEntryValidators[entryIdx] : void 0;
|
|
127080
127162
|
if (!targetUtil) {
|
|
127163
|
+
var _dataManager$getRawDa2;
|
|
127081
127164
|
MCDataUtil.updateRow(option, false);
|
|
127165
|
+
const unlocked = (_dataManager$getRawDa2 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa2 === void 0 ? void 0 : _dataManager$getRawDa2[rowIndex];
|
|
127166
|
+
if (unlocked) this.syncEditingRowDisablement(dataManager, `$.${subFieldKey}[${rowIndex}]`, unlocked);
|
|
127082
127167
|
return;
|
|
127083
127168
|
}
|
|
127084
127169
|
const targetRows = this.actualTableData.filter((r) => isRowInBomGroup(r, targetUtil));
|
|
@@ -127094,6 +127179,18 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127094
127179
|
setGroupEditState(this.actualTableData, current, false);
|
|
127095
127180
|
}
|
|
127096
127181
|
setGroupEditState(this.actualTableData, targetUtil, true);
|
|
127182
|
+
const rawRows = dataManager.getRawData()[subFieldKey] ?? [];
|
|
127183
|
+
rawRows.forEach((item, index) => {
|
|
127184
|
+
if (item.deleted_) return;
|
|
127185
|
+
const rowPath = `$.${subFieldKey}[${index}]`;
|
|
127186
|
+
if (current && isRowInBomGroup(item, current)) MCDataUtil.updateConfirmableFieldsDisablement({
|
|
127187
|
+
dataManager,
|
|
127188
|
+
rowPath,
|
|
127189
|
+
disabled: true
|
|
127190
|
+
});
|
|
127191
|
+
if (isRowInBomGroup(item, targetUtil)) this.syncEditingRowDisablement(dataManager, rowPath, item);
|
|
127192
|
+
});
|
|
127193
|
+
dataManager.set(subFieldKey, rawRows, "user");
|
|
127097
127194
|
}
|
|
127098
127195
|
/**
|
|
127099
127196
|
* 在当前 BOM 组下方新增一个空组。
|
|
@@ -127102,7 +127199,7 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127102
127199
|
* 返回新行在活跃数据中的下标,调用方据此执行 Word 子表行初始化。
|
|
127103
127200
|
*/
|
|
127104
127201
|
async addGroup(option, doc) {
|
|
127105
|
-
var _dataManager$
|
|
127202
|
+
var _dataManager$getRawDa3;
|
|
127106
127203
|
const { dataManager, subFieldKey, rowIndex } = option;
|
|
127107
127204
|
const rawRows = dataManager.getRawData()[subFieldKey] ?? [];
|
|
127108
127205
|
const activeRows = rawRows.filter((row) => !row.deleted_);
|
|
@@ -127141,7 +127238,7 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127141
127238
|
};
|
|
127142
127239
|
ensureFrontRowKey(newRow);
|
|
127143
127240
|
if (!dataManager.insertAt(`$.${subFieldKey}`, insertIndex, newRow)) return;
|
|
127144
|
-
const insertedRow = (_dataManager$
|
|
127241
|
+
const insertedRow = (_dataManager$getRawDa3 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa3 === void 0 ? void 0 : _dataManager$getRawDa3[insertIndex];
|
|
127145
127242
|
if (insertedRow) {
|
|
127146
127243
|
this.setDefaultValue(insertedRow, doc);
|
|
127147
127244
|
dataManager.set(`$.${subFieldKey}[${insertIndex}]`, insertedRow, "user");
|
|
@@ -127150,6 +127247,57 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127150
127247
|
return insertIndex;
|
|
127151
127248
|
}
|
|
127152
127249
|
/**
|
|
127250
|
+
* 组内加一行:当前行下方插入,继承 bom_entry_id_。
|
|
127251
|
+
*/
|
|
127252
|
+
addRowForGroup(option, doc) {
|
|
127253
|
+
var _dataManager$getRawDa4;
|
|
127254
|
+
const { dataManager, subFieldKey, rowIndex } = option;
|
|
127255
|
+
const currentRow = (dataManager.getRawData()[subFieldKey] ?? []).filter((row) => !row.deleted_)[rowIndex];
|
|
127256
|
+
if (!currentRow) return;
|
|
127257
|
+
const newRow = {
|
|
127258
|
+
is_confirmed_: false,
|
|
127259
|
+
expiration_date_: "",
|
|
127260
|
+
...currentRow.bom_entry_id_ ? { bom_entry_id_: currentRow.bom_entry_id_ } : {}
|
|
127261
|
+
};
|
|
127262
|
+
ensureFrontRowKey(newRow);
|
|
127263
|
+
const insertIndex = rowIndex + 1;
|
|
127264
|
+
if (!dataManager.insertAt(`$.${subFieldKey}`, insertIndex, newRow)) return;
|
|
127265
|
+
const insertedRow = (_dataManager$getRawDa4 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa4 === void 0 ? void 0 : _dataManager$getRawDa4[insertIndex];
|
|
127266
|
+
if (insertedRow) {
|
|
127267
|
+
this.setDefaultValue(insertedRow, doc);
|
|
127268
|
+
dataManager.set(`$.${subFieldKey}[${insertIndex}]`, insertedRow, "user");
|
|
127269
|
+
}
|
|
127270
|
+
this.updateDerivedQtyFields(doc);
|
|
127271
|
+
return insertIndex;
|
|
127272
|
+
}
|
|
127273
|
+
/**
|
|
127274
|
+
* 仅剩一行时清空内容:保留行身份和默认值,并断开 BOM 组。
|
|
127275
|
+
*/
|
|
127276
|
+
clearRow(option, doc) {
|
|
127277
|
+
const { dataManager, subFieldKey, rowIndex } = option;
|
|
127278
|
+
const row = (dataManager.getRawData()[subFieldKey] ?? [])[rowIndex];
|
|
127279
|
+
if (!row) return;
|
|
127280
|
+
const preserved = pick(row, ["id_", FRONT_ROW_KEY]);
|
|
127281
|
+
Object.keys(row).forEach((key) => {
|
|
127282
|
+
if (!(key in preserved)) delete row[key];
|
|
127283
|
+
});
|
|
127284
|
+
Object.assign(row, {
|
|
127285
|
+
is_confirmed_: false,
|
|
127286
|
+
expiration_date_: ""
|
|
127287
|
+
}, preserved);
|
|
127288
|
+
ensureFrontRowKey(row);
|
|
127289
|
+
this.setDefaultValue(row, doc);
|
|
127290
|
+
row.bom_entry_id_ = void 0;
|
|
127291
|
+
row.qty_consumed_total_ = void 0;
|
|
127292
|
+
dataManager.set(`$.${subFieldKey}[${rowIndex}]`, row, "user");
|
|
127293
|
+
MCDataUtil.updateConfirmableFieldsDisablement({
|
|
127294
|
+
dataManager,
|
|
127295
|
+
rowPath: `$.${subFieldKey}[${rowIndex}]`,
|
|
127296
|
+
disabled: false
|
|
127297
|
+
});
|
|
127298
|
+
this.updateDerivedQtyFields(doc);
|
|
127299
|
+
}
|
|
127300
|
+
/**
|
|
127153
127301
|
* 更新整个数组的所有行的已消耗数量
|
|
127154
127302
|
*
|
|
127155
127303
|
* 调用时机:[物料消耗表]任意一行
|
|
@@ -127233,6 +127381,7 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127233
127381
|
if (["product_id_", "material_no_"].includes(fieldKey)) {
|
|
127234
127382
|
const rowPath = `${parentFieldPath}[${dataIndex}]`;
|
|
127235
127383
|
if (fieldKey === "product_id_") {
|
|
127384
|
+
var _doc$dataManager$getR;
|
|
127236
127385
|
const row = doc.dataManager.get(rowPath);
|
|
127237
127386
|
if (row._scanFallback) {
|
|
127238
127387
|
try {
|
|
@@ -127260,12 +127409,8 @@ var init_material_consume_table_controller = __esmMin((() => {
|
|
|
127260
127409
|
[`${rowPath}.qty_`]: void 0,
|
|
127261
127410
|
[`${rowPath}.expiration_date_`]: void 0
|
|
127262
127411
|
}, "user");
|
|
127263
|
-
const
|
|
127264
|
-
|
|
127265
|
-
dataManager: doc.dataManager,
|
|
127266
|
-
rowPath,
|
|
127267
|
-
disabled
|
|
127268
|
-
});
|
|
127412
|
+
const nextRow = (_doc$dataManager$getR = doc.dataManager.getRawData()[parentFieldKey]) === null || _doc$dataManager$getR === void 0 ? void 0 : _doc$dataManager$getR[dataIndex];
|
|
127413
|
+
if (nextRow) this.syncEditingRowDisablement(doc.dataManager, rowPath, nextRow);
|
|
127269
127414
|
} else if (fieldKey === "material_no_") {
|
|
127270
127415
|
if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.is_locked_) {
|
|
127271
127416
|
doc.dataManager.setMultiple({
|
|
@@ -127529,7 +127674,9 @@ var init_material_consume_util = __esmMin((() => {
|
|
|
127529
127674
|
rowPath,
|
|
127530
127675
|
disabled: true
|
|
127531
127676
|
});
|
|
127677
|
+
else tableController === null || tableController === void 0 || tableController.syncEditingRowDisablement(doc.dataManager, rowPath, row);
|
|
127532
127678
|
});
|
|
127679
|
+
if (isBomPattern && !activeCount) tableController === null || tableController === void 0 || tableController.syncEditingRowDisablement(doc.dataManager, `${table_key_}[0]`, { is_confirmed_: false });
|
|
127533
127680
|
});
|
|
127534
127681
|
};
|
|
127535
127682
|
handleAllMCTablesMounted = (doc, tmplBomC) => {
|
|
@@ -127572,9 +127719,11 @@ function getGroupProductIds(entry) {
|
|
|
127572
127719
|
* 找不到说明物料不在当前 BOM 中。
|
|
127573
127720
|
*/
|
|
127574
127721
|
function findEntryByProductId(entries, productId) {
|
|
127575
|
-
|
|
127722
|
+
const versionId = parseFormTmplRefId(productId).id || productId;
|
|
127723
|
+
return entries.find((entry) => getGroupProductIds(entry).includes(versionId));
|
|
127576
127724
|
}
|
|
127577
127725
|
var init_scan_validator = __esmMin((() => {
|
|
127726
|
+
init_core$1();
|
|
127578
127727
|
window.$t;
|
|
127579
127728
|
}));
|
|
127580
127729
|
//#endregion
|
|
@@ -127682,23 +127831,51 @@ function validateObjectBomForScan(opts) {
|
|
|
127682
127831
|
if (!findEntryByProductId(formInstBom.bomEntries ?? [], productId)) throw new Error(ERR_MATERIAL_NOT_MATCH);
|
|
127683
127832
|
}
|
|
127684
127833
|
/**
|
|
127685
|
-
*
|
|
127686
|
-
* -
|
|
127687
|
-
* - 无候选时用占位 id,避免空数组被后端当成不筛选
|
|
127834
|
+
* 收集实例 BOM 主料 + 已开替代料的版本 id。
|
|
127835
|
+
* - 无需过滤返回 null(无配置 / 记录模式 / 人为指定)
|
|
127688
127836
|
*/
|
|
127689
|
-
function
|
|
127837
|
+
function collectObjectBomVersionIds(opts) {
|
|
127690
127838
|
const { formInstBom, belongingObject } = opts;
|
|
127691
127839
|
const objectBom = findObjectBom(formInstBom, belongingObject);
|
|
127692
|
-
if (!objectBom
|
|
127693
|
-
|
|
127840
|
+
if (!objectBom) return null;
|
|
127841
|
+
if (objectBom.material_consumption_pattern_ === MaterialConsumptionPatternEnum.RECORD) return null;
|
|
127842
|
+
if (objectBom.personal_bom_enabled_) return null;
|
|
127694
127843
|
const versionIds = /* @__PURE__ */ new Set();
|
|
127695
|
-
bomEntries.forEach((entry) => {
|
|
127844
|
+
(formInstBom.bomEntries ?? []).forEach((entry) => {
|
|
127696
127845
|
getGroupProductIds(entry).forEach((id) => {
|
|
127697
127846
|
const versionId = id === null || id === void 0 ? void 0 : id.split(":").pop();
|
|
127698
127847
|
if (versionId) versionIds.add(versionId);
|
|
127699
127848
|
});
|
|
127700
127849
|
});
|
|
127701
|
-
return
|
|
127850
|
+
return Array.from(versionIds);
|
|
127851
|
+
}
|
|
127852
|
+
function toObjectBomFilterIds(versionIds) {
|
|
127853
|
+
if (!versionIds) return null;
|
|
127854
|
+
return versionIds.length ? versionIds : [EMPTY_PRODUCT_VERSION_ID];
|
|
127855
|
+
}
|
|
127856
|
+
/**
|
|
127857
|
+
* 物料消耗对象物料批下拉:限制为 BOM 主料 + 已开替代料的替代料
|
|
127858
|
+
* - 无需过滤时返回 null(无配置 / 记录模式 / 人为指定)
|
|
127859
|
+
* - 无候选时用占位 id,避免空数组被后端当成不筛选
|
|
127860
|
+
*/
|
|
127861
|
+
function getObjectBomMaterialLotQuery(opts) {
|
|
127862
|
+
const ids = toObjectBomFilterIds(collectObjectBomVersionIds(opts));
|
|
127863
|
+
return ids ? { "product_id_.versionIn": ids } : null;
|
|
127864
|
+
}
|
|
127865
|
+
/**
|
|
127866
|
+
* 物料消耗对象物料下拉:限制为 BOM 主料 + 已开替代料的替代料
|
|
127867
|
+
* - 无需过滤时返回 null(无配置 / 记录模式 / 人为指定)
|
|
127868
|
+
* - 无候选时用占位 id,避免空数组被后端当成不筛选
|
|
127869
|
+
*/
|
|
127870
|
+
function getObjectBomProductQuery(opts) {
|
|
127871
|
+
const ids = toObjectBomFilterIds(collectObjectBomVersionIds(opts));
|
|
127872
|
+
return ids ? { "id_.in": ids } : null;
|
|
127873
|
+
}
|
|
127874
|
+
/** 对象下拉按字段类型取 BOM 过滤;非物料/批次返回 null */
|
|
127875
|
+
function getObjectBomDropdownQuery(fieldType, opts) {
|
|
127876
|
+
if (fieldType === FIELD_TYPE.MATERIAL_NO) return getObjectBomMaterialLotQuery(opts);
|
|
127877
|
+
if (fieldType === FIELD_TYPE.PRODUCT) return getObjectBomProductQuery(opts);
|
|
127878
|
+
return null;
|
|
127702
127879
|
}
|
|
127703
127880
|
/**
|
|
127704
127881
|
* 表单提交:校验所有物料消耗对象的数量 vs 需求数量
|
|
@@ -127751,15 +127928,156 @@ var $t$1, ERR_MATERIAL_NOT_MATCH;
|
|
|
127751
127928
|
var init_bom_validator = __esmMin((() => {
|
|
127752
127929
|
init_product_id_query();
|
|
127753
127930
|
init_scan_validator();
|
|
127931
|
+
init_types$4();
|
|
127754
127932
|
init_field_type();
|
|
127755
127933
|
$t$1 = (...args) => window.$t(...args);
|
|
127756
127934
|
ERR_MATERIAL_NOT_MATCH = "当前物料不在 bom 中";
|
|
127757
127935
|
}));
|
|
127758
127936
|
//#endregion
|
|
127937
|
+
//#region src/suites/edhr/panel-schema/data-init/material-consume-object/linkage.ts
|
|
127938
|
+
function widgetFieldKey$1(field) {
|
|
127939
|
+
return (field.fieldLink ? getLastSegment$1(field.fieldLink) : field.key) || void 0;
|
|
127940
|
+
}
|
|
127941
|
+
function isMaterialConsumeObject(doc, belongingObject) {
|
|
127942
|
+
var _doc$fieldModelQuery$;
|
|
127943
|
+
const objectField = (_doc$fieldModelQuery$ = doc.fieldModelQuery.getFieldList(doc.mainModelKey)) === null || _doc$fieldModelQuery$ === void 0 ? void 0 : _doc$fieldModelQuery$.find((field) => field.key === belongingObject);
|
|
127944
|
+
if (!objectField) return false;
|
|
127945
|
+
return resolveFieldManifestType(objectField) === FIELD_TYPE.MATERIAL_CONSUME;
|
|
127946
|
+
}
|
|
127947
|
+
function collectConsumeObjectPaths(doc, belongingObject) {
|
|
127948
|
+
var _doc$model, _doc$model$getWidgetI;
|
|
127949
|
+
const paths = {};
|
|
127950
|
+
const widgets = ((_doc$model = doc.model) === null || _doc$model === void 0 || (_doc$model$getWidgetI = _doc$model.getWidgetInstances) === null || _doc$model$getWidgetI === void 0 ? void 0 : _doc$model$getWidgetI.call(_doc$model)) ?? [];
|
|
127951
|
+
for (const widget of widgets) {
|
|
127952
|
+
var _widget$widgetMeta;
|
|
127953
|
+
const field = (_widget$widgetMeta = widget.widgetMeta) === null || _widget$widgetMeta === void 0 ? void 0 : _widget$widgetMeta.field;
|
|
127954
|
+
if (!field || field.belongingObject !== belongingObject) continue;
|
|
127955
|
+
const key = widgetFieldKey$1(field);
|
|
127956
|
+
const path = key ? generateValuePath(key, "") : void 0;
|
|
127957
|
+
if (!path) continue;
|
|
127958
|
+
if (field.fieldType === FIELD_TYPE.PRODUCT) paths.productPath = path;
|
|
127959
|
+
if (field.fieldType === FIELD_TYPE.MATERIAL_NO) paths.materialNoPath = path;
|
|
127960
|
+
}
|
|
127961
|
+
return paths;
|
|
127962
|
+
}
|
|
127963
|
+
function pickLotProductRaw(option) {
|
|
127964
|
+
if (!option) return void 0;
|
|
127965
|
+
return option.product_id_ ?? option.materialId;
|
|
127966
|
+
}
|
|
127967
|
+
function isUnchangedProduct(doc, productPath, pending) {
|
|
127968
|
+
const oldValue = doc.dataManager.get(productPath);
|
|
127969
|
+
const nextValue = productPath in pending ? pending[productPath] : oldValue;
|
|
127970
|
+
return !isBlank$1(nextValue) && isSameFieldValue(oldValue, nextValue);
|
|
127971
|
+
}
|
|
127972
|
+
function buildLotClearUpdates(materialNoPath) {
|
|
127973
|
+
if (!materialNoPath) return {};
|
|
127974
|
+
return {
|
|
127975
|
+
[materialNoPath]: null,
|
|
127976
|
+
[getIdPath(materialNoPath)]: null
|
|
127977
|
+
};
|
|
127978
|
+
}
|
|
127979
|
+
/**
|
|
127980
|
+
* 消耗对象批次下拉:同组物料有值时按该物料版本过滤,替换 BOM versionIn。
|
|
127981
|
+
*/
|
|
127982
|
+
function getConsumeObjectLotProductQuery(opts) {
|
|
127983
|
+
var _doc$isInEditMode;
|
|
127984
|
+
const { doc, belongingObject, fieldType } = opts;
|
|
127985
|
+
if ((_doc$isInEditMode = doc.isInEditMode) === null || _doc$isInEditMode === void 0 ? void 0 : _doc$isInEditMode.call(doc)) return null;
|
|
127986
|
+
if (!belongingObject || fieldType !== FIELD_TYPE.MATERIAL_NO) return null;
|
|
127987
|
+
if (!isMaterialConsumeObject(doc, belongingObject)) return null;
|
|
127988
|
+
const { productPath } = collectConsumeObjectPaths(doc, belongingObject);
|
|
127989
|
+
if (!productPath) return null;
|
|
127990
|
+
const productValue = doc.dataManager.get(productPath);
|
|
127991
|
+
if (isBlank$1(productValue)) return null;
|
|
127992
|
+
const productId = parseFormTmplRefId(String(productValue)).id;
|
|
127993
|
+
return productId ? { "product_id_.versionEq": productId } : null;
|
|
127994
|
+
}
|
|
127995
|
+
/**
|
|
127996
|
+
* 物料消耗对象下拉联动:
|
|
127997
|
+
* - 改/清物料:清空同组批次
|
|
127998
|
+
* - 选批次且 option 有物料 id:写入同组物料(RDO `base:version`)
|
|
127999
|
+
* - 清批次 / 手输批次:不动物料
|
|
128000
|
+
* - 选批次但解析不出 RDO 引用:throw,调用方不得写入批次
|
|
128001
|
+
*/
|
|
128002
|
+
async function buildConsumeObjectSelectUpdates(opts) {
|
|
128003
|
+
var _doc$isInEditMode2;
|
|
128004
|
+
const { doc, belongingObject, fieldType, selectedOption, pending = {} } = opts;
|
|
128005
|
+
if ((_doc$isInEditMode2 = doc.isInEditMode) === null || _doc$isInEditMode2 === void 0 ? void 0 : _doc$isInEditMode2.call(doc)) return {};
|
|
128006
|
+
if (!belongingObject || !fieldType) return {};
|
|
128007
|
+
if (!isMaterialConsumeObject(doc, belongingObject)) return {};
|
|
128008
|
+
const { productPath, materialNoPath } = collectConsumeObjectPaths(doc, belongingObject);
|
|
128009
|
+
if (fieldType === FIELD_TYPE.PRODUCT) {
|
|
128010
|
+
if (productPath && isUnchangedProduct(doc, productPath, pending)) return {};
|
|
128011
|
+
return buildLotClearUpdates(materialNoPath);
|
|
128012
|
+
}
|
|
128013
|
+
if (fieldType === FIELD_TYPE.MATERIAL_NO) {
|
|
128014
|
+
const raw = pickLotProductRaw(selectedOption);
|
|
128015
|
+
if (isBlank$1(raw) || !productPath) return {};
|
|
128016
|
+
const ref = await resolveProductRdoRef(raw, selectedOption);
|
|
128017
|
+
if (!ref) throw new Error(ERR_RESOLVE_PRODUCT);
|
|
128018
|
+
return { [productPath]: ref };
|
|
128019
|
+
}
|
|
128020
|
+
return {};
|
|
128021
|
+
}
|
|
128022
|
+
/** 扫码写入同组物料:路径与下拉一致;解析失败 throw。 */
|
|
128023
|
+
async function buildConsumeObjectScanProductUpdate(opts) {
|
|
128024
|
+
var _doc$isInEditMode3;
|
|
128025
|
+
const { doc, belongingObject, material } = opts;
|
|
128026
|
+
if ((_doc$isInEditMode3 = doc.isInEditMode) === null || _doc$isInEditMode3 === void 0 ? void 0 : _doc$isInEditMode3.call(doc)) return {};
|
|
128027
|
+
if (!belongingObject || !material) return {};
|
|
128028
|
+
if (!isMaterialConsumeObject(doc, belongingObject)) return {};
|
|
128029
|
+
const { productPath } = collectConsumeObjectPaths(doc, belongingObject);
|
|
128030
|
+
if (!productPath) return {};
|
|
128031
|
+
const ref = await resolveProductRdoRef(material.product_id_ ?? material.materialId, material);
|
|
128032
|
+
if (!ref) throw new Error(ERR_RESOLVE_PRODUCT_SCAN);
|
|
128033
|
+
return { [productPath]: ref };
|
|
128034
|
+
}
|
|
128035
|
+
function pickMergedValue(doc, path, nextValues) {
|
|
128036
|
+
if (path in nextValues) return nextValues[path];
|
|
128037
|
+
return doc.dataManager.get(path);
|
|
128038
|
+
}
|
|
128039
|
+
/**
|
|
128040
|
+
* 消耗对象写入前的复检入参:用即将写入的物料+批次。
|
|
128041
|
+
* 缺对象、缺物料或批次时返回 null(与消耗表缺参不查一致)。
|
|
128042
|
+
* product_id_ 为版本 id,供 versionEq 使用。
|
|
128043
|
+
*/
|
|
128044
|
+
function getConsumeObjectReinspectionParams(opts) {
|
|
128045
|
+
var _doc$isInEditMode4;
|
|
128046
|
+
const { doc, belongingObject, fieldType, nextValues = {} } = opts;
|
|
128047
|
+
if ((_doc$isInEditMode4 = doc.isInEditMode) === null || _doc$isInEditMode4 === void 0 ? void 0 : _doc$isInEditMode4.call(doc)) return null;
|
|
128048
|
+
if (!belongingObject || !fieldType) return null;
|
|
128049
|
+
if (fieldType !== FIELD_TYPE.PRODUCT && fieldType !== FIELD_TYPE.MATERIAL_NO) return null;
|
|
128050
|
+
if (!isMaterialConsumeObject(doc, belongingObject)) return null;
|
|
128051
|
+
const { productPath, materialNoPath } = collectConsumeObjectPaths(doc, belongingObject);
|
|
128052
|
+
if (!productPath || !materialNoPath) return null;
|
|
128053
|
+
const productId = pickMergedValue(doc, productPath, nextValues);
|
|
128054
|
+
const materialNo = pickMergedValue(doc, materialNoPath, nextValues);
|
|
128055
|
+
const materialNoId = pickMergedValue(doc, getIdPath(materialNoPath), nextValues);
|
|
128056
|
+
if (isBlank$1(productId) || isBlank$1(materialNo) && isBlank$1(materialNoId)) return null;
|
|
128057
|
+
const versionId = parseFormTmplRefId(String(productId)).id;
|
|
128058
|
+
if (!versionId) return null;
|
|
128059
|
+
return {
|
|
128060
|
+
product_id_: versionId,
|
|
128061
|
+
material_no_: isBlank$1(materialNo) ? void 0 : String(materialNo),
|
|
128062
|
+
material_no_id_: isBlank$1(materialNoId) ? void 0 : String(materialNoId)
|
|
128063
|
+
};
|
|
128064
|
+
}
|
|
128065
|
+
var ERR_RESOLVE_PRODUCT, ERR_RESOLVE_PRODUCT_SCAN;
|
|
128066
|
+
var init_linkage = __esmMin((() => {
|
|
128067
|
+
init_field_paths();
|
|
128068
|
+
init_field_updates();
|
|
128069
|
+
init_field_type();
|
|
128070
|
+
init_service$5();
|
|
128071
|
+
init_core$1();
|
|
128072
|
+
ERR_RESOLVE_PRODUCT = "无法解析物料,请重新选择批次";
|
|
128073
|
+
ERR_RESOLVE_PRODUCT_SCAN = "无法解析物料,请重新扫码";
|
|
128074
|
+
}));
|
|
128075
|
+
//#endregion
|
|
127759
128076
|
//#region src/suites/edhr/panel-schema/data-init/material-consume-object/index.ts
|
|
127760
128077
|
var init_material_consume_object = __esmMin((() => {
|
|
127761
128078
|
init_use_tmpl_bom();
|
|
127762
128079
|
init_bom_validator();
|
|
128080
|
+
init_linkage();
|
|
127763
128081
|
}));
|
|
127764
128082
|
//#endregion
|
|
127765
128083
|
//#region src/runtime/validation/useFormValidator.ts
|
|
@@ -140234,7 +140552,7 @@ function useTableDropdown(props, searchFilters) {
|
|
|
140234
140552
|
/** 非联动场景、可选过滤、或联动已选择关联值时,才展示搜索栏 */
|
|
140235
140553
|
const showSearch = computed(() => !enableLinkage.value || !linkageRequiresUpstreamValue.value || !!linkDataValue.value);
|
|
140236
140554
|
const fetcher = async ({ keyword = "", pageNo, pageSize, deviceTypeId }) => {
|
|
140237
|
-
var _fieldMeta$value14, _fieldMeta$value15, _window$TMPL_BOM_CONT, _fieldMeta$value16, _parsedValuePath$segm;
|
|
140555
|
+
var _fieldMeta$value14, _fieldMeta$value15, _window$TMPL_BOM_CONT, _fieldMeta$value16, _fieldMeta$value17, _parsedValuePath$segm, _docInst$value$params;
|
|
140238
140556
|
if (!fieldInfo.value) return {
|
|
140239
140557
|
data: [],
|
|
140240
140558
|
totalPage: 0,
|
|
@@ -140255,10 +140573,15 @@ function useTableDropdown(props, searchFilters) {
|
|
|
140255
140573
|
const assocFilterParams = await buildAssocFilterExtraParams(docInst.value, widgetProps.value, runtimeValuePath.value);
|
|
140256
140574
|
const belongingObject = (_fieldMeta$value15 = fieldMeta.value) === null || _fieldMeta$value15 === void 0 ? void 0 : _fieldMeta$value15.belongingObject;
|
|
140257
140575
|
const formTmplBomController = (_window$TMPL_BOM_CONT = window[TMPL_BOM_CONTROLLER]) === null || _window$TMPL_BOM_CONT === void 0 ? void 0 : _window$TMPL_BOM_CONT.value;
|
|
140258
|
-
const objectBomParams = ((_fieldMeta$value16 = fieldMeta.value) === null || _fieldMeta$value16 === void 0 ? void 0 : _fieldMeta$value16.fieldType
|
|
140576
|
+
const objectBomParams = getObjectBomDropdownQuery((_fieldMeta$value16 = fieldMeta.value) === null || _fieldMeta$value16 === void 0 ? void 0 : _fieldMeta$value16.fieldType, {
|
|
140259
140577
|
formInstBom: formTmplBomController === null || formTmplBomController === void 0 ? void 0 : formTmplBomController.formInstBom,
|
|
140260
140578
|
belongingObject
|
|
140261
|
-
})
|
|
140579
|
+
});
|
|
140580
|
+
const lotProductParams = getConsumeObjectLotProductQuery({
|
|
140581
|
+
doc: docInst.value,
|
|
140582
|
+
belongingObject,
|
|
140583
|
+
fieldType: (_fieldMeta$value17 = fieldMeta.value) === null || _fieldMeta$value17 === void 0 ? void 0 : _fieldMeta$value17.fieldType
|
|
140584
|
+
});
|
|
140262
140585
|
const parsedValuePath = parseValuePath(runtimeValuePath.value);
|
|
140263
140586
|
const rowIndexMatch = (_parsedValuePath$segm = parsedValuePath.segments[0]) === null || _parsedValuePath$segm === void 0 ? void 0 : _parsedValuePath$segm.match(/\[(\d+)\]/);
|
|
140264
140587
|
const rowIndex = rowIndexMatch ? Number(rowIndexMatch[1]) : void 0;
|
|
@@ -140266,15 +140589,15 @@ function useTableDropdown(props, searchFilters) {
|
|
|
140266
140589
|
const materialConsumeRow = rowIndex != null ? materialConsumeTableController === null || materialConsumeTableController === void 0 ? void 0 : materialConsumeTableController.actualTableData[rowIndex] : void 0;
|
|
140267
140590
|
let materialConsumeRowParams;
|
|
140268
140591
|
if (materialConsumeTableController && materialConsumeRow) {
|
|
140269
|
-
var _fieldMeta$
|
|
140270
|
-
if (((_fieldMeta$
|
|
140271
|
-
else if (((_fieldMeta$
|
|
140592
|
+
var _fieldMeta$value18, _fieldMeta$value19;
|
|
140593
|
+
if (((_fieldMeta$value18 = fieldMeta.value) === null || _fieldMeta$value18 === void 0 ? void 0 : _fieldMeta$value18.fieldType) === FIELD_TYPE.PRODUCT) materialConsumeRowParams = materialConsumeTableController.getProductQueryForRow(materialConsumeRow, rowIndex);
|
|
140594
|
+
else if (((_fieldMeta$value19 = fieldMeta.value) === null || _fieldMeta$value19 === void 0 ? void 0 : _fieldMeta$value19.fieldType) === FIELD_TYPE.MATERIAL_NO) materialConsumeRowParams = materialConsumeTableController.getMaterialNoQueryForRow(materialConsumeRow, rowIndex);
|
|
140272
140595
|
}
|
|
140273
140596
|
const extraParams = {
|
|
140274
140597
|
...subFieldConfig.get(valuePath),
|
|
140275
140598
|
...runtimeValuePath.value ? subFieldConfig.get(runtimeValuePath.value) : {},
|
|
140276
140599
|
...assocFilterParams,
|
|
140277
|
-
...objectBomParams ?? {},
|
|
140600
|
+
...lotProductParams ?? objectBomParams ?? {},
|
|
140278
140601
|
...materialConsumeRowParams ?? {}
|
|
140279
140602
|
};
|
|
140280
140603
|
const { queryData = {}, exp = "" } = (buildQuery === null || buildQuery === void 0 ? void 0 : buildQuery({
|
|
@@ -140286,7 +140609,8 @@ function useTableDropdown(props, searchFilters) {
|
|
|
140286
140609
|
deviceGroupId: widgetProps.value.enableCascadeDataFilter ? widgetProps.value.deviceGroupId : void 0,
|
|
140287
140610
|
extraParams,
|
|
140288
140611
|
optionMapping,
|
|
140289
|
-
isMockReport: !!docInst.value.isMockReport
|
|
140612
|
+
isMockReport: !!docInst.value.isMockReport,
|
|
140613
|
+
routingOperationId: (_docInst$value$params = docInst.value.paramsConfig) === null || _docInst$value$params === void 0 ? void 0 : _docInst$value$params.routingOperationId
|
|
140290
140614
|
})) ?? {};
|
|
140291
140615
|
const apiFetcher = apiFetchers[fetcher];
|
|
140292
140616
|
if (!apiFetcher) return {
|
|
@@ -143532,8 +143856,17 @@ var init_overlay_render_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
143532
143856
|
belongingObject,
|
|
143533
143857
|
productId: material.materialId
|
|
143534
143858
|
});
|
|
143859
|
+
await assertReinspectionDate({
|
|
143860
|
+
product_id_: material.materialId,
|
|
143861
|
+
material_no_: material.productionIdentificationName,
|
|
143862
|
+
material_no_id_: material.productionIdentificationId
|
|
143863
|
+
});
|
|
143864
|
+
const productUpdates = await buildConsumeObjectScanProductUpdate({
|
|
143865
|
+
doc: props.doc,
|
|
143866
|
+
belongingObject,
|
|
143867
|
+
material
|
|
143868
|
+
});
|
|
143535
143869
|
const byBiz = (bizType) => objectFields.find((item) => (item.bizType || item.type) === bizType);
|
|
143536
|
-
const productField = byBiz(FIELD_TYPE.PRODUCT);
|
|
143537
143870
|
const qtyField = byBiz(FIELD_TYPE.QTY);
|
|
143538
143871
|
const expirationField = objectFields.find((item) => {
|
|
143539
143872
|
var _item$key;
|
|
@@ -143542,7 +143875,7 @@ var init_overlay_render_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
143542
143875
|
const updates = { ...transformedData };
|
|
143543
143876
|
updates[runtimeValuePath.value] = material.productionIdentificationName;
|
|
143544
143877
|
updates[getIdPath(runtimeValuePath.value)] = material.productionIdentificationId;
|
|
143545
|
-
|
|
143878
|
+
Object.assign(updates, productUpdates);
|
|
143546
143879
|
if (qtyField && parsedValue.qty !== void 0) updates[qtyField.key] = parsedValue.qty;
|
|
143547
143880
|
if (expirationField && parsedValue.expiration !== void 0) updates[expirationField.key] = parsedValue.expiration;
|
|
143548
143881
|
props.doc.dataManager.setMultiple(updates, "user");
|
|
@@ -143596,7 +143929,7 @@ var init_overlay_render_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
143596
143929
|
});
|
|
143597
143930
|
}
|
|
143598
143931
|
async function onChange(data, record) {
|
|
143599
|
-
var _widgetProps$value7, _widgetProps$value8, _props$widget$widgetM, _props$widget$dataSlo, _fieldMeta$value4, _fieldMeta$value5, _fieldMeta$value6, _fieldMeta$value7;
|
|
143932
|
+
var _widgetProps$value7, _widgetProps$value8, _props$widget$widgetM, _props$widget$dataSlo, _fieldMeta$value4, _fieldMeta$value5, _fieldMeta$value6, _fieldMeta$value7, _fieldMeta$value10, _fieldMeta$value11;
|
|
143600
143933
|
const dataValues = loadDataValuesByAutofillRules(record, (_widgetProps$value7 = widgetProps.value) === null || _widgetProps$value7 === void 0 ? void 0 : _widgetProps$value7.autofillRules, runtimeValuePath.value, (_widgetProps$value8 = widgetProps.value) === null || _widgetProps$value8 === void 0 ? void 0 : _widgetProps$value8.autofillEnabled, props.doc);
|
|
143601
143934
|
const subFieldValuePath = (_props$widget$widgetM = props.widget.widgetMeta) === null || _props$widget$widgetM === void 0 || (_props$widget$widgetM = _props$widget$widgetM.field) === null || _props$widget$widgetM === void 0 ? void 0 : _props$widget$widgetM.valuePath;
|
|
143602
143935
|
const dataIndex = (_props$widget$dataSlo = props.widget.dataSlotIndex) === null || _props$widget$dataSlo === void 0 ? void 0 : _props$widget$dataSlo.dataIndex;
|
|
@@ -143639,11 +143972,39 @@ var init_overlay_render_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
143639
143972
|
...dateObjectFill
|
|
143640
143973
|
};
|
|
143641
143974
|
const linkageClears = tableRuntime.buildDownstreamClears(pending);
|
|
143642
|
-
|
|
143975
|
+
let consumeUpdates = {};
|
|
143976
|
+
try {
|
|
143977
|
+
var _fieldMeta$value8, _fieldMeta$value9;
|
|
143978
|
+
consumeUpdates = await buildConsumeObjectSelectUpdates({
|
|
143979
|
+
doc: props.doc,
|
|
143980
|
+
belongingObject: (_fieldMeta$value8 = fieldMeta.value) === null || _fieldMeta$value8 === void 0 ? void 0 : _fieldMeta$value8.belongingObject,
|
|
143981
|
+
fieldType: (_fieldMeta$value9 = fieldMeta.value) === null || _fieldMeta$value9 === void 0 ? void 0 : _fieldMeta$value9.fieldType,
|
|
143982
|
+
selectedOption: record,
|
|
143983
|
+
pending: data
|
|
143984
|
+
});
|
|
143985
|
+
} catch (e) {
|
|
143986
|
+
GctMessage.error((e === null || e === void 0 ? void 0 : e.message) || "无法解析物料,请重新选择批次");
|
|
143987
|
+
return;
|
|
143988
|
+
}
|
|
143989
|
+
const nextValues = {
|
|
143643
143990
|
...pending,
|
|
143644
143991
|
...linkageClears,
|
|
143645
|
-
...dateObjectClears
|
|
143646
|
-
|
|
143992
|
+
...dateObjectClears,
|
|
143993
|
+
...consumeUpdates
|
|
143994
|
+
};
|
|
143995
|
+
const reinspection = getConsumeObjectReinspectionParams({
|
|
143996
|
+
doc: props.doc,
|
|
143997
|
+
belongingObject: (_fieldMeta$value10 = fieldMeta.value) === null || _fieldMeta$value10 === void 0 ? void 0 : _fieldMeta$value10.belongingObject,
|
|
143998
|
+
fieldType: (_fieldMeta$value11 = fieldMeta.value) === null || _fieldMeta$value11 === void 0 ? void 0 : _fieldMeta$value11.fieldType,
|
|
143999
|
+
nextValues
|
|
144000
|
+
});
|
|
144001
|
+
if (reinspection) try {
|
|
144002
|
+
await assertReinspectionDate(reinspection);
|
|
144003
|
+
} catch (e) {
|
|
144004
|
+
GctMessage.error((e === null || e === void 0 ? void 0 : e.message) || "已超物料复检日期,该物料不可用");
|
|
144005
|
+
return;
|
|
144006
|
+
}
|
|
144007
|
+
props.doc.dataManager.setMultiple(nextValues, "user");
|
|
143647
144008
|
if (subFieldValuePath && isNumber(dataIndex)) {
|
|
143648
144009
|
var _props$doc$model, _allRegions$find;
|
|
143649
144010
|
const parsed = parseValuePath(subFieldValuePath);
|
|
@@ -143777,8 +144138,8 @@ var init_overlay_render_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
143777
144138
|
//#region src/runtime/canvas/__common__/widget-container/overlay-render.vue?vue&type=style&index=0&lang.less
|
|
143778
144139
|
var init_overlay_render_vue_vue_type_style_index_0_lang = __esmMin((() => {}));
|
|
143779
144140
|
//#endregion
|
|
143780
|
-
//#region src/runtime/canvas/__common__/widget-container/overlay-render.vue?vue&type=style&index=1&scoped=
|
|
143781
|
-
var
|
|
144141
|
+
//#region src/runtime/canvas/__common__/widget-container/overlay-render.vue?vue&type=style&index=1&scoped=5a0ffda2&lang.less
|
|
144142
|
+
var init_overlay_render_vue_vue_type_style_index_1_scoped_5a0ffda2_lang = __esmMin((() => {}));
|
|
143782
144143
|
//#endregion
|
|
143783
144144
|
//#region src/runtime/canvas/__common__/widget-container/overlay-render.vue
|
|
143784
144145
|
var overlay_render_default;
|
|
@@ -143786,9 +144147,9 @@ var init_overlay_render = __esmMin((() => {
|
|
|
143786
144147
|
init_overlay_render_vue_vue_type_script_setup_true_lang();
|
|
143787
144148
|
init_overlay_render_vue_vue_type_script_setup_true_lang();
|
|
143788
144149
|
init_overlay_render_vue_vue_type_style_index_0_lang();
|
|
143789
|
-
|
|
144150
|
+
init_overlay_render_vue_vue_type_style_index_1_scoped_5a0ffda2_lang();
|
|
143790
144151
|
init__plugin_vue_export_helper();
|
|
143791
|
-
overlay_render_default = /*#__PURE__*/ _plugin_vue_export_helper_default(overlay_render_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
144152
|
+
overlay_render_default = /*#__PURE__*/ _plugin_vue_export_helper_default(overlay_render_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5a0ffda2"]]);
|
|
143792
144153
|
}));
|
|
143793
144154
|
//#endregion
|
|
143794
144155
|
//#region src/utils/composables/useHoverDelay.ts
|
|
@@ -146996,7 +147357,7 @@ var init_business_scan_menu = __esmMin((() => {
|
|
|
146996
147357
|
}));
|
|
146997
147358
|
//#endregion
|
|
146998
147359
|
//#region src/runtime/canvas/table/render/table-structure-overlay/sub-table-action/repeating-table-action.vue?vue&type=script&setup=true&name=sub-table-action&lang.ts
|
|
146999
|
-
var _hoisted_1$133, _hoisted_2$81, _hoisted_3$54, _hoisted_4$39, _hoisted_5$29, _hoisted_6$19, _hoisted_7$15, _hoisted_8$11, _hoisted_9$6, _hoisted_10$5, _hoisted_11$4, _hoisted_12$3, _hoisted_13$2, _hoisted_14$2, _hoisted_15$2, _hoisted_16$2, _hoisted_17$1, _hoisted_18$1, _hoisted_19, _hoisted_20, repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
|
|
147360
|
+
var _hoisted_1$133, _hoisted_2$81, _hoisted_3$54, _hoisted_4$39, _hoisted_5$29, _hoisted_6$19, _hoisted_7$15, _hoisted_8$11, _hoisted_9$6, _hoisted_10$5, _hoisted_11$4, _hoisted_12$3, _hoisted_13$2, _hoisted_14$2, _hoisted_15$2, _hoisted_16$2, _hoisted_17$1, _hoisted_18$1, _hoisted_19, _hoisted_20, _hoisted_21, _hoisted_22, _hoisted_23, _hoisted_24, _hoisted_25, _hoisted_26, repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
|
|
147000
147361
|
var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang = __esmMin((() => {
|
|
147001
147362
|
init_base$2();
|
|
147002
147363
|
init_core$1();
|
|
@@ -147006,39 +147367,47 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147006
147367
|
init_table$1();
|
|
147007
147368
|
init_material_balance();
|
|
147008
147369
|
init__register_();
|
|
147009
|
-
init_types$4();
|
|
147010
147370
|
init_constants$1();
|
|
147011
147371
|
init_quick_fill_util();
|
|
147012
147372
|
init_business_scan_menu();
|
|
147013
147373
|
_hoisted_1$133 = { class: "sub-table-action-bar" };
|
|
147014
147374
|
_hoisted_2$81 = { class: "sub-table-action-popper" };
|
|
147015
|
-
_hoisted_3$54 = {
|
|
147375
|
+
_hoisted_3$54 = { class: "action-menu" };
|
|
147376
|
+
_hoisted_4$39 = { class: "item-icon" };
|
|
147377
|
+
_hoisted_5$29 = { class: "action-menu" };
|
|
147378
|
+
_hoisted_6$19 = { class: "item-icon" };
|
|
147379
|
+
_hoisted_7$15 = { class: "item-icon" };
|
|
147380
|
+
_hoisted_8$11 = { class: "item-icon" };
|
|
147381
|
+
_hoisted_9$6 = {
|
|
147016
147382
|
key: 0,
|
|
147017
147383
|
class: "action-menu"
|
|
147018
147384
|
};
|
|
147019
|
-
|
|
147020
|
-
|
|
147021
|
-
_hoisted_6$19 = { class: "item-icon" };
|
|
147022
|
-
_hoisted_7$15 = {
|
|
147385
|
+
_hoisted_10$5 = { class: "item-icon" };
|
|
147386
|
+
_hoisted_11$4 = {
|
|
147023
147387
|
key: 1,
|
|
147024
147388
|
class: "action-menu"
|
|
147025
147389
|
};
|
|
147026
|
-
_hoisted_8$11 = { class: "item-icon" };
|
|
147027
|
-
_hoisted_9$6 = { class: "action-menu" };
|
|
147028
|
-
_hoisted_10$5 = { class: "item-icon scale-large" };
|
|
147029
|
-
_hoisted_11$4 = { class: "item-icon" };
|
|
147030
147390
|
_hoisted_12$3 = { class: "item-icon" };
|
|
147031
|
-
_hoisted_13$2 = {
|
|
147032
|
-
|
|
147033
|
-
_hoisted_15$2 = { class: "item-icon scale-large" };
|
|
147034
|
-
_hoisted_16$2 = { class: "item-label flex-between-center" };
|
|
147035
|
-
_hoisted_17$1 = {
|
|
147036
|
-
key: 2,
|
|
147391
|
+
_hoisted_13$2 = {
|
|
147392
|
+
key: 1,
|
|
147037
147393
|
class: "action-menu"
|
|
147038
147394
|
};
|
|
147395
|
+
_hoisted_14$2 = { class: "item-icon" };
|
|
147396
|
+
_hoisted_15$2 = { class: "action-menu" };
|
|
147397
|
+
_hoisted_16$2 = { class: "item-icon scale-large" };
|
|
147398
|
+
_hoisted_17$1 = { class: "item-icon" };
|
|
147039
147399
|
_hoisted_18$1 = { class: "item-icon" };
|
|
147040
|
-
_hoisted_19 = { class: "
|
|
147041
|
-
_hoisted_20 = { class: "
|
|
147400
|
+
_hoisted_19 = { class: "item-icon scale-large" };
|
|
147401
|
+
_hoisted_20 = { class: "item-label flex-between-center" };
|
|
147402
|
+
_hoisted_21 = { class: "item-icon scale-large" };
|
|
147403
|
+
_hoisted_22 = { class: "item-label flex-between-center" };
|
|
147404
|
+
_hoisted_23 = {
|
|
147405
|
+
key: 0,
|
|
147406
|
+
class: "action-menu"
|
|
147407
|
+
};
|
|
147408
|
+
_hoisted_24 = { class: "item-icon" };
|
|
147409
|
+
_hoisted_25 = { class: "sub-more-btn" };
|
|
147410
|
+
_hoisted_26 = { class: "sub-more-btn-item" };
|
|
147042
147411
|
repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default = /*@__PURE__*/ defineComponent({
|
|
147043
147412
|
__name: "repeating-table-action",
|
|
147044
147413
|
props: {
|
|
@@ -147119,12 +147488,20 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147119
147488
|
const { subRenderer, subFieldKey, index } = getCtx();
|
|
147120
147489
|
const visibleRows = getTableRows(subFieldKey, true);
|
|
147121
147490
|
const { isMaterialConsume, isWarehouseInventory, isPretreatmentList } = subTableType.value;
|
|
147491
|
+
const canQuickFill = !!((_subRenderer$widgetMe = subRenderer.widgetMeta) === null || _subRenderer$widgetMe === void 0 || (_subRenderer$widgetMe = _subRenderer$widgetMe.props) === null || _subRenderer$widgetMe === void 0 ? void 0 : _subRenderer$widgetMe.quickFill);
|
|
147492
|
+
const canCopy = !isWarehouseInventory && !isPretreatmentList && !isMaterialConsume;
|
|
147493
|
+
const canInsertMulti = !isMaterialConsume;
|
|
147494
|
+
const canDelete = visibleRows.length > 1;
|
|
147495
|
+
const canClear = isMaterialConsume && visibleRows.length === 1 && !!props.isLastRow;
|
|
147496
|
+
const isConfirmed = !!((_visibleRows$index = visibleRows[index]) === null || _visibleRows$index === void 0 ? void 0 : _visibleRows$index.is_confirmed_);
|
|
147122
147497
|
return {
|
|
147123
|
-
canQuickFill
|
|
147124
|
-
canCopy
|
|
147125
|
-
canInsertMulti
|
|
147126
|
-
canDelete
|
|
147127
|
-
|
|
147498
|
+
canQuickFill,
|
|
147499
|
+
canCopy,
|
|
147500
|
+
canInsertMulti,
|
|
147501
|
+
canDelete,
|
|
147502
|
+
canClear,
|
|
147503
|
+
canEdit: isConfirmed,
|
|
147504
|
+
canInsertMcRow: isMaterialConsume && !isConfirmed
|
|
147128
147505
|
};
|
|
147129
147506
|
});
|
|
147130
147507
|
const mcTableCtrl = computed(() => {
|
|
@@ -147132,10 +147509,6 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147132
147509
|
const { valuePath } = getCtx();
|
|
147133
147510
|
return tmplBomCRef === null || tmplBomCRef === void 0 || (_tmplBomCRef$value = tmplBomCRef.value) === null || _tmplBomCRef$value === void 0 ? void 0 : _tmplBomCRef$value.tableControllers[valuePath];
|
|
147134
147511
|
});
|
|
147135
|
-
const mcTableIsBomPattern = computed(() => {
|
|
147136
|
-
var _mcTableCtrl$value;
|
|
147137
|
-
return ((_mcTableCtrl$value = mcTableCtrl.value) === null || _mcTableCtrl$value === void 0 ? void 0 : _mcTableCtrl$value.mcPattern) === MaterialConsumptionPatternEnum.BOM;
|
|
147138
|
-
});
|
|
147139
147512
|
const handleMaterialConsumeAction = async (val) => {
|
|
147140
147513
|
const ctrl = mcTableCtrl.value;
|
|
147141
147514
|
const { tableName, valuePath, subFieldKey, subModelKey, index: rowIndex } = getCtx();
|
|
@@ -147153,7 +147526,7 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147153
147526
|
subModelKey,
|
|
147154
147527
|
subFieldOptions: getSubFieldOptions(subModelKey)
|
|
147155
147528
|
});
|
|
147156
|
-
else if (val === "edit-row") ctrl.editRow({
|
|
147529
|
+
else if (val === "edit-row") await ctrl.editRow({
|
|
147157
147530
|
dataManager,
|
|
147158
147531
|
subFieldKey,
|
|
147159
147532
|
rowIndex
|
|
@@ -147165,7 +147538,21 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147165
147538
|
rowIndex
|
|
147166
147539
|
}, doc);
|
|
147167
147540
|
if (insertedIndex !== void 0) handleRowIncreased(subFieldKey, insertedIndex);
|
|
147168
|
-
}
|
|
147541
|
+
} else if (val === "add-row") {
|
|
147542
|
+
const insertedIndex = ctrl.addRowForGroup({
|
|
147543
|
+
dataManager,
|
|
147544
|
+
subFieldKey,
|
|
147545
|
+
rowIndex
|
|
147546
|
+
}, doc);
|
|
147547
|
+
if (insertedIndex !== void 0) handleRowIncreased(subFieldKey, insertedIndex);
|
|
147548
|
+
} else if (val === "clear-row") GctModal.confirm("是否确认清除内容?", () => {
|
|
147549
|
+
ctrl.clearRow({
|
|
147550
|
+
dataManager,
|
|
147551
|
+
subFieldKey,
|
|
147552
|
+
rowIndex
|
|
147553
|
+
}, doc);
|
|
147554
|
+
handleRowIncreased(subFieldKey, rowIndex);
|
|
147555
|
+
});
|
|
147169
147556
|
};
|
|
147170
147557
|
const handleMaterialBalanceAction = async () => {
|
|
147171
147558
|
await openMaterialBalanceConsumeModal({ doc: props.doc });
|
|
@@ -147198,9 +147585,13 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147198
147585
|
*/
|
|
147199
147586
|
const handleRowIncreased = (subFieldKey, rowIndex) => {
|
|
147200
147587
|
if (subTableType.value.isMaterialConsume) {
|
|
147201
|
-
var _mcTableCtrl$
|
|
147202
|
-
(_mcTableCtrl$
|
|
147203
|
-
|
|
147588
|
+
var _mcTableCtrl$value, _props$doc$dataManage;
|
|
147589
|
+
(_mcTableCtrl$value = mcTableCtrl.value) === null || _mcTableCtrl$value === void 0 || _mcTableCtrl$value.updateRowConsumed(props.doc);
|
|
147590
|
+
const row = (_props$doc$dataManage = props.doc.dataManager.getRawData()[subFieldKey]) === null || _props$doc$dataManage === void 0 ? void 0 : _props$doc$dataManage[rowIndex];
|
|
147591
|
+
if (row) {
|
|
147592
|
+
var _mcTableCtrl$value2;
|
|
147593
|
+
(_mcTableCtrl$value2 = mcTableCtrl.value) === null || _mcTableCtrl$value2 === void 0 || _mcTableCtrl$value2.syncEditingRowDisablement(props.doc.dataManager, `$.${subFieldKey}[${rowIndex}]`, row);
|
|
147594
|
+
}
|
|
147204
147595
|
}
|
|
147205
147596
|
new TableRuntime(props.doc).onRowInit(subFieldKey, rowIndex);
|
|
147206
147597
|
};
|
|
@@ -147275,76 +147666,104 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
|
|
|
147275
147666
|
"instant-move": ""
|
|
147276
147667
|
}, {
|
|
147277
147668
|
popper: withCtx(() => [createElementVNode("div", _hoisted_2$81, [
|
|
147278
|
-
subTableType.value.isMaterialConsume ? (openBlock(), createElementBlock(
|
|
147279
|
-
_cache[
|
|
147280
|
-
actionInfo.value.canEdit ? (openBlock(), createElementBlock("div", {
|
|
147281
|
-
key: 0,
|
|
147669
|
+
subTableType.value.isMaterialConsume ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
147670
|
+
createElementVNode("div", _hoisted_3$54, [_cache[17] || (_cache[17] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)), createElementVNode("div", {
|
|
147282
147671
|
class: "menu-item",
|
|
147283
|
-
onClick: _cache[0] || (_cache[0] = ($event) => handleMaterialConsumeAction("
|
|
147284
|
-
}, [createElementVNode("div", _hoisted_4$39, [createVNode(unref(icon_default), {
|
|
147285
|
-
|
|
147286
|
-
|
|
147672
|
+
onClick: _cache[0] || (_cache[0] = ($event) => handleMaterialConsumeAction("scan"))
|
|
147673
|
+
}, [createElementVNode("div", _hoisted_4$39, [createVNode(unref(icon_default), {
|
|
147674
|
+
icon: "icon-saoma1",
|
|
147675
|
+
size: "16"
|
|
147676
|
+
})]), _cache[16] || (_cache[16] = createElementVNode("div", { class: "item-label" }, "条码扫描", -1))])]),
|
|
147677
|
+
createElementVNode("div", _hoisted_5$29, [
|
|
147678
|
+
_cache[21] || (_cache[21] = createElementVNode("div", { class: "menu-title" }, "行编辑", -1)),
|
|
147679
|
+
actionInfo.value.canEdit ? (openBlock(), createElementBlock("div", {
|
|
147680
|
+
key: 0,
|
|
147681
|
+
class: "menu-item",
|
|
147682
|
+
onClick: _cache[1] || (_cache[1] = ($event) => handleMaterialConsumeAction("edit-row"))
|
|
147683
|
+
}, [createElementVNode("div", _hoisted_6$19, [createVNode(unref(icon_default), {
|
|
147684
|
+
icon: "icon-zhongxinbianjidangqianhang",
|
|
147685
|
+
size: "20"
|
|
147686
|
+
})]), _cache[18] || (_cache[18] = createElementVNode("div", { class: "item-label" }, "重新编辑当前行", -1))])) : createCommentVNode("", true),
|
|
147687
|
+
actionInfo.value.canInsertMcRow ? (openBlock(), createElementBlock("div", {
|
|
147688
|
+
key: 1,
|
|
147689
|
+
class: "menu-item",
|
|
147690
|
+
onClick: _cache[2] || (_cache[2] = ($event) => handleMaterialConsumeAction("add-row"))
|
|
147691
|
+
}, [createElementVNode("div", _hoisted_7$15, [createVNode(unref(icon_default), {
|
|
147692
|
+
icon: "icon-jiayihang",
|
|
147693
|
+
size: "20"
|
|
147694
|
+
})]), _cache[19] || (_cache[19] = createElementVNode("div", { class: "item-label" }, "加一行", -1))])) : createCommentVNode("", true),
|
|
147695
|
+
createElementVNode("div", {
|
|
147696
|
+
class: "menu-item",
|
|
147697
|
+
onClick: _cache[3] || (_cache[3] = ($event) => handleMaterialConsumeAction("add-group"))
|
|
147698
|
+
}, [createElementVNode("div", _hoisted_8$11, [createVNode(unref(icon_default), {
|
|
147699
|
+
icon: "icon-jiayihang",
|
|
147700
|
+
size: "20"
|
|
147701
|
+
})]), _cache[20] || (_cache[20] = createElementVNode("div", { class: "item-label" }, "加一组", -1))])
|
|
147702
|
+
]),
|
|
147703
|
+
actionInfo.value.canDelete ? (openBlock(), createElementBlock("div", _hoisted_9$6, [createElementVNode("div", {
|
|
147287
147704
|
class: "menu-item",
|
|
147288
|
-
onClick: _cache[
|
|
147289
|
-
}, [createElementVNode("div",
|
|
147290
|
-
|
|
147291
|
-
|
|
147705
|
+
onClick: _cache[4] || (_cache[4] = ($event) => handleAction("deleteRowCurrent"))
|
|
147706
|
+
}, [createElementVNode("div", _hoisted_10$5, [createVNode(unref(icon_default), {
|
|
147707
|
+
icon: "icon-a-shanchubiaoge",
|
|
147708
|
+
size: "16"
|
|
147709
|
+
})]), _cache[22] || (_cache[22] = createElementVNode("div", { class: "item-label" }, "删除行", -1))])])) : actionInfo.value.canClear ? (openBlock(), createElementBlock("div", _hoisted_11$4, [createElementVNode("div", {
|
|
147292
147710
|
class: "menu-item",
|
|
147293
|
-
onClick: _cache[
|
|
147294
|
-
}, [createElementVNode("div",
|
|
147295
|
-
|
|
147296
|
-
|
|
147711
|
+
onClick: _cache[5] || (_cache[5] = ($event) => handleMaterialConsumeAction("clear-row"))
|
|
147712
|
+
}, [createElementVNode("div", _hoisted_12$3, [createVNode(unref(icon_default), {
|
|
147713
|
+
icon: "icon-a-shanchubiaoge",
|
|
147714
|
+
size: "16"
|
|
147715
|
+
})]), _cache[23] || (_cache[23] = createElementVNode("div", { class: "item-label" }, "清除内容", -1))])])) : createCommentVNode("", true)
|
|
147716
|
+
], 64)) : createCommentVNode("", true),
|
|
147717
|
+
businessScanMenu.value ? (openBlock(), createElementBlock("div", _hoisted_13$2, [_cache[25] || (_cache[25] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)), createElementVNode("div", {
|
|
147297
147718
|
class: "menu-item",
|
|
147298
147719
|
onClick: handleBusinessScanAction
|
|
147299
|
-
}, [createElementVNode("div",
|
|
147300
|
-
createElementVNode("div",
|
|
147720
|
+
}, [createElementVNode("div", _hoisted_14$2, [createVNode(unref(icon_default), { icon: "icon-saoyisao" })]), _cache[24] || (_cache[24] = createElementVNode("div", { class: "item-label" }, " 条码扫描 ", -1))])])) : createCommentVNode("", true),
|
|
147721
|
+
!subTableType.value.isMaterialConsume ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createElementVNode("div", _hoisted_15$2, [
|
|
147301
147722
|
actionInfo.value.canQuickFill ? (openBlock(), createElementBlock("div", {
|
|
147302
147723
|
key: 0,
|
|
147303
147724
|
class: "menu-item",
|
|
147304
|
-
onClick: _cache[
|
|
147305
|
-
}, [createElementVNode("div",
|
|
147306
|
-
_cache[
|
|
147307
|
-
|
|
147308
|
-
key: 1,
|
|
147725
|
+
onClick: _cache[6] || (_cache[6] = ($event) => unref(handleOpenDynamicQuickFillModal)(props))
|
|
147726
|
+
}, [createElementVNode("div", _hoisted_16$2, [createVNode(unref(icon_default), { icon: "icon-zhongxinbianjidangqianhang" })]), _cache[26] || (_cache[26] = createElementVNode("div", { class: "item-label" }, "快速填报", -1))])) : createCommentVNode("", true),
|
|
147727
|
+
_cache[31] || (_cache[31] = createElementVNode("div", { class: "menu-title" }, "行编辑", -1)),
|
|
147728
|
+
createElementVNode("div", {
|
|
147309
147729
|
class: "menu-item",
|
|
147310
|
-
onClick: _cache[
|
|
147311
|
-
}, [createElementVNode("div",
|
|
147730
|
+
onClick: _cache[7] || (_cache[7] = ($event) => handleAction("insertRowAfter"))
|
|
147731
|
+
}, [createElementVNode("div", _hoisted_17$1, [createVNode(unref(icon_default), { icon: "icon-tianjia" })]), _cache[27] || (_cache[27] = createElementVNode("div", { class: "item-label" }, " 加一行 ", -1))]),
|
|
147312
147732
|
actionInfo.value.canCopy ? (openBlock(), createElementBlock("div", {
|
|
147313
|
-
key:
|
|
147733
|
+
key: 1,
|
|
147314
147734
|
class: "menu-item",
|
|
147315
|
-
onClick: _cache[
|
|
147316
|
-
}, [createElementVNode("div",
|
|
147735
|
+
onClick: _cache[8] || (_cache[8] = ($event) => handleAction("copyCurrentRow"))
|
|
147736
|
+
}, [createElementVNode("div", _hoisted_18$1, [createVNode(unref(icon_default), { icon: "icon-fuzhihang" })]), _cache[28] || (_cache[28] = createElementVNode("div", { class: "item-label" }, " 复制行 ", -1))])) : createCommentVNode("", true),
|
|
147317
147737
|
actionInfo.value.canInsertMulti ? (openBlock(), createElementBlock("div", {
|
|
147318
|
-
key:
|
|
147738
|
+
key: 2,
|
|
147319
147739
|
class: "menu-item",
|
|
147320
|
-
onClick: _cache[
|
|
147321
|
-
}, [createElementVNode("div",
|
|
147740
|
+
onClick: _cache[11] || (_cache[11] = ($event) => handleAction("insertRowBeforeMore"))
|
|
147741
|
+
}, [createElementVNode("div", _hoisted_19, [createVNode(unref(icon_default), { icon: "icon-shangfangcharuhang" })]), createElementVNode("div", _hoisted_20, [_cache[29] || (_cache[29] = createElementVNode("div", null, " 在上方插入行 ", -1)), createVNode(unref(input_number_default), {
|
|
147322
147742
|
modelValue: formState.upRowNum,
|
|
147323
|
-
"onUpdate:modelValue": _cache[
|
|
147743
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => formState.upRowNum = $event),
|
|
147324
147744
|
min: 1,
|
|
147325
147745
|
integer: "",
|
|
147326
147746
|
style: { "width": "68px" },
|
|
147327
|
-
onClick: _cache[
|
|
147747
|
+
onClick: _cache[10] || (_cache[10] = withModifiers(() => {}, ["stop"]))
|
|
147328
147748
|
}, null, 8, ["modelValue"])])])) : createCommentVNode("", true),
|
|
147329
147749
|
actionInfo.value.canInsertMulti ? (openBlock(), createElementBlock("div", {
|
|
147330
|
-
key:
|
|
147750
|
+
key: 3,
|
|
147331
147751
|
class: "menu-item",
|
|
147332
|
-
onClick: _cache[
|
|
147333
|
-
}, [createElementVNode("div",
|
|
147752
|
+
onClick: _cache[14] || (_cache[14] = ($event) => handleAction("insertRowAfterMore"))
|
|
147753
|
+
}, [createElementVNode("div", _hoisted_21, [createVNode(unref(icon_default), { icon: "icon-xiafangcharuhang" })]), createElementVNode("div", _hoisted_22, [_cache[30] || (_cache[30] = createElementVNode("div", null, " 在下方插入行 ", -1)), createVNode(unref(input_number_default), {
|
|
147334
147754
|
modelValue: formState.downRowNum,
|
|
147335
|
-
"onUpdate:modelValue": _cache[
|
|
147755
|
+
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => formState.downRowNum = $event),
|
|
147336
147756
|
min: 1,
|
|
147337
147757
|
integer: "",
|
|
147338
147758
|
style: { "width": "68px" },
|
|
147339
|
-
onClick: _cache[
|
|
147759
|
+
onClick: _cache[13] || (_cache[13] = withModifiers(() => {}, ["stop"]))
|
|
147340
147760
|
}, null, 8, ["modelValue"])])])) : createCommentVNode("", true)
|
|
147341
|
-
]),
|
|
147342
|
-
actionInfo.value.canDelete ? (openBlock(), createElementBlock("div", _hoisted_17$1, [createElementVNode("div", {
|
|
147761
|
+
]), actionInfo.value.canDelete ? (openBlock(), createElementBlock("div", _hoisted_23, [createElementVNode("div", {
|
|
147343
147762
|
class: "menu-item",
|
|
147344
|
-
onClick: _cache[
|
|
147345
|
-
}, [createElementVNode("div",
|
|
147763
|
+
onClick: _cache[15] || (_cache[15] = ($event) => handleAction("deleteRowCurrent"))
|
|
147764
|
+
}, [createElementVNode("div", _hoisted_24, [createVNode(unref(icon_default), { icon: "icon-shanchu1" })]), _cache[32] || (_cache[32] = createElementVNode("div", { class: "item-label" }, " 删除行 ", -1))])])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)
|
|
147346
147765
|
])]),
|
|
147347
|
-
default: withCtx(() => [createElementVNode("div",
|
|
147766
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_25, [createElementVNode("div", _hoisted_26, [createVNode(unref(icon_default), {
|
|
147348
147767
|
icon: "icon-gengduo1",
|
|
147349
147768
|
color: "#fff"
|
|
147350
147769
|
})])])]),
|
package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export interface UpdateRowOption {
|
|
|
20
20
|
* 物料消耗表字段控制 v2026.6.15
|
|
21
21
|
* - [需求数量、已消耗数量] 始终只读
|
|
22
22
|
* - [有效期、唯一标识、自定义字段] 始终可填(不做控制)
|
|
23
|
-
* - 选择的物料类型是[查看物料]时 [
|
|
23
|
+
* - 选择的物料类型是[查看物料]时 [批次、上料数量] 只读(与 Excel calcDisabledFields 一致)
|
|
24
24
|
* - 单行校验通过后(包括暂存后再次编辑)[物料、批次、上料数量、工序、需求数量单位、数量单位、转换后数量、转换数量单位ID、单位转化公式] 只读
|
|
25
25
|
* v2026.7.30
|
|
26
26
|
* - [物料消耗模式]是[记录模式]时,可以填写[需求数量](BOM 模式禁用 需求数量)
|
|
@@ -54,6 +54,14 @@ export declare class MCDataUtil {
|
|
|
54
54
|
rowPath: string;
|
|
55
55
|
disabled: boolean;
|
|
56
56
|
}): void;
|
|
57
|
+
/**
|
|
58
|
+
* 编辑态行:按 Excel calcDisabledFields 禁用字段,其余受控字段可填
|
|
59
|
+
*/
|
|
60
|
+
static applyEditingRowDisablement(option: {
|
|
61
|
+
dataManager: DataManager;
|
|
62
|
+
rowPath: string;
|
|
63
|
+
disabledFields: string[];
|
|
64
|
+
}): void;
|
|
57
65
|
/**
|
|
58
66
|
* 校验通过后,更新指定字段是否禁用
|
|
59
67
|
* 参顶部[物料消耗表字段控制]
|
|
@@ -157,13 +165,15 @@ export declare class MaterialConsumeTableController {
|
|
|
157
165
|
* 未填报时初始化消耗表行数据
|
|
158
166
|
* @param defaultData 子表行默认值(含工序等)
|
|
159
167
|
*/
|
|
160
|
-
initTableData(dataManager: DataManager, subFieldKey: string, defaultData?: Record<string, any>):
|
|
168
|
+
initTableData(dataManager: DataManager, subFieldKey: string, defaultData?: Record<string, any>): number[];
|
|
161
169
|
/**
|
|
162
170
|
* 根据数据计算需要禁用的字段
|
|
163
171
|
* @param row
|
|
164
172
|
* @return {*}
|
|
165
173
|
*/
|
|
166
174
|
calcDisabledFields(row: IMaterialConsumeData): (keyof IMaterialConsumeData)[];
|
|
175
|
+
/** 可编辑行:对齐 Excel getNewTdInfo + calcDisabledFields */
|
|
176
|
+
syncEditingRowDisablement(dataManager: DataManager, rowPath: string, row: IMaterialConsumeData): void;
|
|
167
177
|
/**
|
|
168
178
|
* 获取是否是 物料查看
|
|
169
179
|
* @param product_id_
|
|
@@ -285,6 +295,14 @@ export declare class MaterialConsumeTableController {
|
|
|
285
295
|
* 返回新行在活跃数据中的下标,调用方据此执行 Word 子表行初始化。
|
|
286
296
|
*/
|
|
287
297
|
addGroup(option: UpdateRowOption, doc: Doc): Promise<number | undefined>;
|
|
298
|
+
/**
|
|
299
|
+
* 组内加一行:当前行下方插入,继承 bom_entry_id_。
|
|
300
|
+
*/
|
|
301
|
+
addRowForGroup(option: UpdateRowOption, doc: Doc): number | undefined;
|
|
302
|
+
/**
|
|
303
|
+
* 仅剩一行时清空内容:保留行身份和默认值,并断开 BOM 组。
|
|
304
|
+
*/
|
|
305
|
+
clearRow(option: UpdateRowOption, doc: Doc): void;
|
|
288
306
|
/**
|
|
289
307
|
* 更新整个数组的所有行的已消耗数量
|
|
290
308
|
*
|
|
@@ -72,5 +72,13 @@ export declare function getReinspectionDate(params: {
|
|
|
72
72
|
material_no_?: string;
|
|
73
73
|
material_no_id_?: string;
|
|
74
74
|
}): Promise<string | undefined>;
|
|
75
|
+
/** 物料+批次查复检日期;缺任一参数不查;无日期放过;小于当天则 throw */
|
|
76
|
+
export declare function assertReinspectionDate(opts: {
|
|
77
|
+
product_id_?: string;
|
|
78
|
+
material_no_?: string;
|
|
79
|
+
material_no_id_?: string;
|
|
80
|
+
}): Promise<void>;
|
|
81
|
+
/** 主表物料 RDO 引用:`baseId:versionId`。无法拼出则返回 undefined,禁止写裸版本 id。 */
|
|
82
|
+
export declare function resolveProductRdoRef(raw?: unknown, option?: Record<string, unknown> | null): Promise<string | undefined>;
|
|
75
83
|
/** 查批次锁定记录(最新一条) */
|
|
76
84
|
export declare function getLotLockedReason(production_identification_id_: string): Promise<string>;
|
|
@@ -20,6 +20,8 @@ export interface SelectQueryContext {
|
|
|
20
20
|
};
|
|
21
21
|
/** 模拟填报:工序不传 operating_state_,避免模板数据被启用态滤空 */
|
|
22
22
|
isMockReport?: boolean;
|
|
23
|
+
/** 当前工序 id,用于限定可选工序 */
|
|
24
|
+
routingOperationId?: string;
|
|
23
25
|
}
|
|
24
26
|
export interface SelectQueryResult {
|
|
25
27
|
queryData?: Record<string, any>;
|
|
@@ -25,16 +25,31 @@ export declare function validateObjectBomForScan(opts: {
|
|
|
25
25
|
belongingObject?: string;
|
|
26
26
|
productId?: string;
|
|
27
27
|
}): void;
|
|
28
|
+
type ObjectBomSelectOpts = {
|
|
29
|
+
formInstBom?: FormInstBomResponse | null;
|
|
30
|
+
belongingObject?: string;
|
|
31
|
+
};
|
|
28
32
|
/**
|
|
29
|
-
*
|
|
30
|
-
* - 无需过滤时返回 null
|
|
33
|
+
* 物料消耗对象物料批下拉:限制为 BOM 主料 + 已开替代料的替代料
|
|
34
|
+
* - 无需过滤时返回 null(无配置 / 记录模式 / 人为指定)
|
|
31
35
|
* - 无候选时用占位 id,避免空数组被后端当成不筛选
|
|
32
36
|
*/
|
|
33
|
-
export declare function getObjectBomMaterialLotQuery(opts: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
export declare function getObjectBomMaterialLotQuery(opts: ObjectBomSelectOpts): {
|
|
38
|
+
'product_id_.versionIn': string[];
|
|
39
|
+
} | null;
|
|
40
|
+
/**
|
|
41
|
+
* 物料消耗对象物料下拉:限制为 BOM 主料 + 已开替代料的替代料
|
|
42
|
+
* - 无需过滤时返回 null(无配置 / 记录模式 / 人为指定)
|
|
43
|
+
* - 无候选时用占位 id,避免空数组被后端当成不筛选
|
|
44
|
+
*/
|
|
45
|
+
export declare function getObjectBomProductQuery(opts: ObjectBomSelectOpts): {
|
|
46
|
+
'id_.in': string[];
|
|
47
|
+
} | null;
|
|
48
|
+
/** 对象下拉按字段类型取 BOM 过滤;非物料/批次返回 null */
|
|
49
|
+
export declare function getObjectBomDropdownQuery(fieldType: string | undefined, opts: ObjectBomSelectOpts): {
|
|
37
50
|
'product_id_.versionIn': string[];
|
|
51
|
+
} | {
|
|
52
|
+
'id_.in': string[];
|
|
38
53
|
} | null;
|
|
39
54
|
/**
|
|
40
55
|
* 表单提交:校验所有物料消耗对象的数量 vs 需求数量
|
|
@@ -50,3 +65,4 @@ export declare function validateObjectBomQtyOnSubmit(opts: {
|
|
|
50
65
|
field: string;
|
|
51
66
|
message: string;
|
|
52
67
|
} | null>;
|
|
68
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
interface ConsumeObjectDoc {
|
|
2
|
+
isInEditMode?: () => boolean;
|
|
3
|
+
mainModelKey: string;
|
|
4
|
+
fieldModelQuery: {
|
|
5
|
+
getFieldList: (modelKey: string) => Array<{
|
|
6
|
+
key: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
bizType?: string;
|
|
9
|
+
}> | undefined;
|
|
10
|
+
};
|
|
11
|
+
dataManager: {
|
|
12
|
+
get: (path: string) => unknown;
|
|
13
|
+
};
|
|
14
|
+
model?: {
|
|
15
|
+
getWidgetInstances?: () => any[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface ConsumeObjectSelectUpdatesOpts {
|
|
19
|
+
doc: ConsumeObjectDoc;
|
|
20
|
+
belongingObject?: string;
|
|
21
|
+
fieldType?: string;
|
|
22
|
+
selectedOption?: Record<string, unknown> | null;
|
|
23
|
+
pending?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 消耗对象批次下拉:同组物料有值时按该物料版本过滤,替换 BOM versionIn。
|
|
27
|
+
*/
|
|
28
|
+
export declare function getConsumeObjectLotProductQuery(opts: {
|
|
29
|
+
doc: ConsumeObjectDoc;
|
|
30
|
+
belongingObject?: string;
|
|
31
|
+
fieldType?: string;
|
|
32
|
+
}): {
|
|
33
|
+
'product_id_.versionEq': string;
|
|
34
|
+
} | null;
|
|
35
|
+
/**
|
|
36
|
+
* 物料消耗对象下拉联动:
|
|
37
|
+
* - 改/清物料:清空同组批次
|
|
38
|
+
* - 选批次且 option 有物料 id:写入同组物料(RDO `base:version`)
|
|
39
|
+
* - 清批次 / 手输批次:不动物料
|
|
40
|
+
* - 选批次但解析不出 RDO 引用:throw,调用方不得写入批次
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildConsumeObjectSelectUpdates(opts: ConsumeObjectSelectUpdatesOpts): Promise<Record<string, unknown>>;
|
|
43
|
+
/** 扫码写入同组物料:路径与下拉一致;解析失败 throw。 */
|
|
44
|
+
export declare function buildConsumeObjectScanProductUpdate(opts: {
|
|
45
|
+
doc: ConsumeObjectDoc;
|
|
46
|
+
belongingObject?: string;
|
|
47
|
+
material?: Record<string, unknown> | null;
|
|
48
|
+
}): Promise<Record<string, unknown>>;
|
|
49
|
+
/**
|
|
50
|
+
* 消耗对象写入前的复检入参:用即将写入的物料+批次。
|
|
51
|
+
* 缺对象、缺物料或批次时返回 null(与消耗表缺参不查一致)。
|
|
52
|
+
* product_id_ 为版本 id,供 versionEq 使用。
|
|
53
|
+
*/
|
|
54
|
+
export declare function getConsumeObjectReinspectionParams(opts: {
|
|
55
|
+
doc: ConsumeObjectDoc;
|
|
56
|
+
belongingObject?: string;
|
|
57
|
+
fieldType?: string;
|
|
58
|
+
nextValues?: Record<string, unknown>;
|
|
59
|
+
}): {
|
|
60
|
+
product_id_: string;
|
|
61
|
+
material_no_?: string;
|
|
62
|
+
material_no_id_?: string;
|
|
63
|
+
} | null;
|
|
64
|
+
export {};
|
package/dist/word.css
CHANGED
|
@@ -9689,7 +9689,7 @@ textarea[data-v-a7d89044]::placeholder {
|
|
|
9689
9689
|
/**
|
|
9690
9690
|
* 字段态配色 —— DOM 控件子集(input / select / overlay)
|
|
9691
9691
|
*/
|
|
9692
|
-
.widget-container-action[data-v-
|
|
9692
|
+
.widget-container-action[data-v-5a0ffda2] {
|
|
9693
9693
|
position: absolute;
|
|
9694
9694
|
inset: 0;
|
|
9695
9695
|
z-index: 999;
|
|
@@ -9697,7 +9697,7 @@ textarea[data-v-a7d89044]::placeholder {
|
|
|
9697
9697
|
height: 0;
|
|
9698
9698
|
pointer-events: all;
|
|
9699
9699
|
}
|
|
9700
|
-
.picker-trigger[data-v-
|
|
9700
|
+
.picker-trigger[data-v-5a0ffda2] {
|
|
9701
9701
|
display: flex;
|
|
9702
9702
|
box-sizing: border-box;
|
|
9703
9703
|
align-items: center;
|
|
@@ -9709,19 +9709,19 @@ textarea[data-v-a7d89044]::placeholder {
|
|
|
9709
9709
|
outline: none;
|
|
9710
9710
|
background-color: #fff;
|
|
9711
9711
|
}
|
|
9712
|
-
.picker-trigger.disabled[data-v-
|
|
9712
|
+
.picker-trigger.disabled[data-v-5a0ffda2] {
|
|
9713
9713
|
border: 1px solid rgba(13, 13, 13, 0.12);
|
|
9714
9714
|
cursor: not-allowed;
|
|
9715
9715
|
}
|
|
9716
|
-
.picker-trigger.disabled .gct-icon[data-v-
|
|
9716
|
+
.picker-trigger.disabled .gct-icon[data-v-5a0ffda2] {
|
|
9717
9717
|
color: rgba(0, 0, 0, 0.25);
|
|
9718
9718
|
}
|
|
9719
|
-
.picker-trigger.readonly[data-v-
|
|
9719
|
+
.picker-trigger.readonly[data-v-5a0ffda2] {
|
|
9720
9720
|
border-color: #d9d9d9;
|
|
9721
9721
|
background-color: #f5f6f8;
|
|
9722
9722
|
cursor: default;
|
|
9723
9723
|
}
|
|
9724
|
-
.picker-trigger.readonly .gct-icon[data-v-
|
|
9724
|
+
.picker-trigger.readonly .gct-icon[data-v-5a0ffda2] {
|
|
9725
9725
|
color: rgba(0, 0, 0, 0.65);
|
|
9726
9726
|
}
|
|
9727
9727
|
.resize-box[data-v-788ab62c] {
|