@gct-paas/excel 0.1.18 → 0.1.20
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/{VueVideoPlayer-D3u-ZHom.js → VueVideoPlayer-DePpm38H.js} +2 -2
- package/dist/{agg-design-D7CkIPCA.js → agg-design-hreKYp5a.js} +1 -1
- package/dist/{agg-props-DNNO9ucx.js → agg-props-CCDh2o6E.js} +1 -1
- package/dist/{agg-style-v_94dzX8.js → agg-style-Bh8vdJvs.js} +1 -1
- package/dist/{align-editor-COpCDpFf.js → align-editor-DpDuDOMr.js} +1 -1
- package/dist/{attach-fields-editor-o_7W-2sr.js → attach-fields-editor-BeGxW6de.js} +2 -2
- package/dist/{barcode-design-CvsGGAio.js → barcode-design-CFVTZNAy.js} +3 -2
- package/dist/base/index.es.js +63 -138
- package/dist/base-font-editor-laOkjBe1.js +119 -0
- package/dist/{boolean-design-Hc8Es5l1.js → boolean-design-DIlM9Nrt.js} +3 -2
- package/dist/{boolean-props-CGamLGXA.js → boolean-props-CGuFs72-.js} +3 -3
- package/dist/{boolean-style-m-WuSO6S.js → boolean-style-BUz6sBUN.js} +5 -4
- package/dist/cell-upload-Dw3t7ZKJ.js +33 -0
- package/dist/{date-range-editor-BZkhUU-x.js → date-range-editor-rXaru-8n.js} +3 -2
- package/dist/{date-time-design-B_oFOcft.js → date-time-design-HfjWK3SA.js} +1 -1
- package/dist/{date-time-props-hGnSGQKc.js → date-time-props-C_cG-6wI.js} +3 -3
- package/dist/{date-time-style-CGKG8i3K.js → date-time-style-BeCDP5TE.js} +1 -1
- package/dist/{decimal-design-B5Artgk6.js → decimal-design-DzLpjX9N.js} +7 -3
- package/dist/{decimal-display-mode-C4XUezoP.js → decimal-display-mode-BhD1cOOe.js} +3 -2
- package/dist/{decimal-props-Q37uOcWl.js → decimal-props-C6f22071.js} +5 -4
- package/dist/{decimal-style-C2CnGPVG.js → decimal-style-XN3rLM2j.js} +1 -1
- package/dist/{default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-DTnbLBVW.js → default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-CJC4kBNh.js} +3 -2
- package/dist/{diagonal-design-CyUvkcvp.js → diagonal-design-Dh0qhgSq.js} +2 -2
- package/dist/{double-design-D_ipWcRm.js → double-design-XHHlqmEp.js} +6 -3
- package/dist/{double-props-D4FGbfe2.js → double-props-Cvi36aBN.js} +4 -4
- package/dist/{double-style-BbD_6_Os.js → double-style-Dkoth54S.js} +1 -1
- package/dist/{document-sub-table-action-Cy6Rd8OS.js → dynamic-table-action-mGrBO_bn.js} +661 -553
- package/dist/{document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-OPdk2I5p.js} +366 -147
- package/dist/{edit.utils-CXmmCnxE-BK4QnSP-.js → edit.utils-CXmmCnxE-DeDBtyJd.js} +1 -1
- package/dist/{enum-design-lOufLU6Z.js → enum-design-CAOAFdI6.js} +13 -7
- package/dist/{enum-props-brKRP5Uz.js → enum-props-CBN-AvBS.js} +4 -4
- package/dist/{enum-style-BQQHkDUD.js → enum-style-cOiK44Ae.js} +37 -9
- package/dist/excel.css +1049 -407
- package/dist/{exceljs.min-CUwGyNAf.js → exceljs.min-pnja99MZ.js} +2 -2
- package/dist/{expression-design-BPEci3dg.js → expression-design-CqgcK8eO.js} +1 -1
- package/dist/{expression-props-Cvg-9V-B.js → expression-props-wXQOIrMY.js} +1 -1
- package/dist/{expression-style-Dv3Hl8lm.js → expression-style-BzavnOux.js} +1 -1
- package/dist/{file-design-BIzi6cpq.js → file-design-BSQknhnY.js} +1 -1
- package/dist/{file-props-oV2U7bpO.js → file-props-CwiuBVHW.js} +2 -2
- package/dist/{file-style-CZrxokgP.js → file-style-CG4a3THb.js} +1 -1
- package/dist/{font-editor-B41KgpWJ.js → font-editor--CgwL-wF.js} +3 -3
- package/dist/{form-annotation-controller-CdNmJKv-.js → form-annotation-controller-DDDyHAwe.js} +3 -2
- package/dist/{image-design-DMfBfSkD.js → image-design-CwPjfDxf.js} +2 -2
- package/dist/{image-design-C3FEtW6i.js → image-design-D1D0SN5W.js} +3 -2
- package/dist/{image-props-DPibJk7n.js → image-props-C4E9gMsG.js} +1 -1
- package/dist/{image-style-DLudd5Vt.js → image-style-CIb1mi13.js} +1 -1
- package/dist/{index-B1r6-Uxf.js → index-0mxMA4vZ.js} +2 -1
- package/dist/{index-B7lz2J6V.js → index-A2MbCZtS.js} +10 -3
- package/dist/{index-DJIzgsog.js → index-B2ZNkbGm.js} +2 -1
- package/dist/{index-rXMzwu77.js → index-B2tFXR--.js} +5 -2
- package/dist/{index-Cp7mC3Qt.js → index-B7DDYlzm.js} +2 -1
- package/dist/{index-BiNVmD5v.js → index-BAlLZmfu.js} +2 -1
- package/dist/{index-yih5hGsL.js → index-BG_CEaW0.js} +3537 -2743
- package/dist/{index-B8ey1U_N.js → index-BJYSmTeW.js} +2 -1
- package/dist/{index-D7fFpHaN.js → index-BKoXo3Ha.js} +2 -1
- package/dist/{index-oSIIidoF.js → index-BSHUFede.js} +2 -1
- package/dist/{index-C5bYd42n.js → index-Bi4hE4Ye.js} +3 -2
- package/dist/{index-vZZ5q2xJ.js → index-BneV2tbp.js} +2 -1
- package/dist/{index-D0YZX_c7.js → index-ByTKu8n6.js} +2 -1
- package/dist/{index-DHVK-P9J.js → index-CGSTq7zN.js} +2 -1
- package/dist/{index-DFoELlwd.js → index-CIl6oWcB.js} +2 -1
- package/dist/{index-I_FRG0Ho.js → index-CKqLoN9r.js} +2 -1
- package/dist/{index-CtiiIgjs.js → index-CWpratsK.js} +50 -106
- package/dist/{index-B1CG-75q.js → index-CcmNFTia.js} +3 -2
- package/dist/{index-BgZkpQKh.js → index-CeMBvNee.js} +2 -1
- package/dist/{index-BOis3jsA.js → index-Cgka0WmQ.js} +4 -1
- package/dist/{index-CUIGN7Rt.js → index-D0XkCn_x.js} +2 -1
- package/dist/{index-DsNRjyQD.js → index-D0n65ya-.js} +2 -1
- package/dist/{index-DAqYc474.js → index-D9tUJAeF.js} +2 -1
- package/dist/{index-Cjz0GLDq.js → index-DLoQlQk6.js} +3 -2
- package/dist/{index-DDpNgyvD.js → index-DOj318_B.js} +3 -2
- package/dist/{index-DPQkm6_v.js → index-Dl2FIifp.js} +2 -1
- package/dist/{index-Bppcm2iQ.js → index-Drf0Arr4.js} +2 -1
- package/dist/{index-Bvjplnz_.js → index-HHF5iK-6.js} +6 -1
- package/dist/{index-B8wKNUsK.js → index-Hg59RKKE.js} +2 -1
- package/dist/{index-BZ1jj7Nu.js → index-PMDIMwwL.js} +2 -1
- package/dist/{index-DH_EZe8p.js → index-PWmkKVZV.js} +2 -1
- package/dist/{index-CkYbgRrH.js → index-UUDS4nmS.js} +2 -1
- package/dist/{index-Cn_c3-eW.js → index-ZrNXSw4w.js} +2 -1
- package/dist/index.es.js +44 -44
- package/dist/{integer-design-DhkNa9IA.js → integer-design-Cy9c0fzI.js} +6 -3
- package/dist/{integer-props-c_aQpjaT.js → integer-props-DFDOIb2a.js} +5 -4
- package/dist/{integer-style-CS5v7Bhq.js → integer-style-CfIX5ReH.js} +1 -1
- package/dist/{mb-render-Cs7LUxzk.js → mb-render-D_uumPQr.js} +1 -1
- package/dist/{number-input-ex-CwKIHfk1.js → number-input-ex-CWci0pCj.js} +12 -4
- package/dist/{org-props-BcbW62Jg.js → org-props-B5dk289u.js} +3 -2
- package/dist/{org-style-Bk7mgML3.js → org-style-BoSDPuw9.js} +1 -1
- package/dist/{pagination-design-B1KyJUAG.js → pagination-design-Ci4wxUIk.js} +3 -2
- package/dist/paper-widget-design-BilYU9rh.js +4 -0
- package/dist/{qrcode-design-EafZURDZ.js → qrcode-design-CJ9R5DIn.js} +1 -1
- package/dist/ref-autofill-editor-B4KDvHhR.js +2334 -0
- package/dist/{ref-props-C95McyZp.js → ref-props-CwDGepT3.js} +17 -9
- package/dist/{ref-style-BxdvOF-4.js → ref-style-B35CsOQO.js} +1 -1
- package/dist/{regex-editor-BGukvOEI.js → regex-editor-CIVvr_Lx.js} +2 -2
- package/dist/{revo-grid.entry-BeRVTVKO.js → revo-grid.entry-DeWzC35s.js} +1 -1
- package/dist/{revogr-attribution_7.entry-CHtbU2lV.js → revogr-attribution_7.entry-BJZ-twfj.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-DnvQ-Rl7.js → revogr-clipboard_3.entry-DkgRA8qw.js} +2 -2
- package/dist/{revogr-data_4.entry-DLRSuaN8.js → revogr-data_4.entry-BZLzvcbo.js} +2 -2
- package/dist/{revogr-filter-panel.entry-BDkhY-74.js → revogr-filter-panel.entry-zGvhshno.js} +1 -1
- package/dist/{select-render-type-editor.vue_vue_type_script_setup_true_lang-ChESg_eM.js → select-render-type-editor.vue_vue_type_script_setup_true_lang-Asn5-ZRz.js} +3 -2
- package/dist/{serialnumber-design-CRaym9J-.js → serialnumber-design-CYFU5TVt.js} +1 -1
- package/dist/shared/index.es.js +16 -16
- package/dist/{signature-design-BJHfLDNV.js → signature-design-Cwi0cZOI.js} +5 -2
- package/dist/{signature-props-B9hfppHh.js → signature-props-cQRB8U8x.js} +3 -3
- package/dist/{signature-style-DM4rqHnN.js → signature-style-C90NsLxg.js} +1 -1
- package/dist/{single-field-drop-eClQhTSv.js → single-field-drop-BFhQs-3z.js} +2 -2
- package/dist/{size-editor-BjlCmEWf.js → size-editor-Dx3y_otg.js} +1 -1
- package/dist/src/nocode-base/src/components/border-td.vue.d.ts +1 -0
- package/dist/src/nocode-base/src/components/{document-quick-fill-modal.vue.d.ts → document-quick-fill/dynamic-quick-fill-modal.vue.d.ts} +1 -1
- package/dist/src/nocode-base/src/components/{document-quick-fillin.vue.d.ts → document-quick-fill/fixed-quick-fill-modal.vue.d.ts} +10 -4
- package/dist/src/nocode-base/src/components/document-quick-fill/quick-fill.util.d.ts +22 -0
- package/dist/src/nocode-base/src/components/document-sub-table-action/fixed-table-action.vue.d.ts +17 -0
- package/dist/src/nocode-base/src/components/index.d.ts +4 -3
- package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +3 -1
- package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +3 -0
- package/dist/src/nocode-base/src/types/common/base.d.ts +2 -0
- package/dist/src/nocode-base/src/types/fields/i-enum-select.d.ts +2 -0
- package/dist/src/nocode-base/src/types/fields/i-select.d.ts +4 -0
- package/dist/src/nocode-base/src/types/fields/i-trace.d.ts +7 -0
- package/dist/src/nocode-base/src/types/render/mc-render.d.ts +3 -1
- package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +3 -1
- package/dist/src/nocode-base/src/types/widgets/i-sub-table.d.ts +4 -0
- package/dist/src/nocode-web-render/src/hooks/userFormPrint.d.ts +2 -0
- package/dist/src/nocode-web-render/src/render/index.d.ts +2 -2
- package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +3 -1
- package/dist/src/nocode-web-render/src/render/sub-table/common/sub-table-render.d.ts +3 -1
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/index.d.ts +1 -2
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +3 -1
- package/dist/src/online-form/src/utils/field.enum.d.ts +3 -2
- package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields-editor.vue.d.ts +15 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields.util.d.ts +11 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/index.d.ts +3 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/index.d.ts +3 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search-editor.vue.d.ts +15 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search.util.d.ts +14 -0
- package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +16 -0
- package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +27 -2
- package/dist/src/{nocode-web-render/src/render/sub-table/material-consume/scan-modal.vue.d.ts → online-form/src/views/designer/modules/panel/comps/confirm-before-delete-config.vue.d.ts} +2 -4
- package/dist/src/online-form/src/views/designer/modules/panel/comps/quick-fill-config.vue.d.ts +9 -0
- package/dist/src/online-form/src/views/designer/modules/sheet/sheet-cell.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/types/index.d.ts +2 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/common-select.util.d.ts +47 -0
- package/dist/src/shared/components/field-transfer/components/field-transfer-modal.vue.d.ts +30 -0
- package/dist/src/shared/components/field-transfer/components/modal-wrapper.vue.d.ts +65 -0
- package/dist/src/shared/components/field-transfer/hooks/useModelField.d.ts +169 -0
- package/dist/src/shared/components/field-transfer/hooks/useTreeData.d.ts +139 -0
- package/dist/src/shared/components/field-transfer/index.d.ts +21 -0
- package/dist/src/shared/components/field-transfer/useFieldTransfer.d.ts +47 -0
- package/dist/src/shared/components/field-transfer/utils/enum.d.ts +6 -0
- package/dist/src/shared/components/field-transfer/utils/i18n.d.ts +1 -0
- package/dist/src/shared/components/field-transfer/utils/tree-tool.d.ts +6 -0
- package/dist/{text-design-BGxM7gzI.js → text-design-TEheiKQx.js} +3 -2
- package/dist/{text-design-C3RhersV.js → text-design-jMPxIgZW.js} +10 -6
- package/dist/{text-props-CIpXslMv.js → text-props-CrkSvg6D.js} +5 -5
- package/dist/{text-style-BPjaT5Ic.js → text-style-DmwTt8KQ.js} +1 -1
- package/dist/{throttle-Cpk1LoGk-LNQ7rPwu.js → throttle-Cpk1LoGk-DTkhEkFR.js} +1 -1
- package/dist/{timediff-design-DqVuVrmx.js → timediff-design-D_if-K1S.js} +2 -1
- package/dist/{trace-design-IbjVLAhv.js → trace-design-oN7pgtab.js} +2 -2
- package/dist/{trace-props-C-F_eDG2.js → trace-props-BFnUk6kv.js} +24 -16
- package/dist/{trace-style-DRenZ1n1.js → trace-style-TNnFcvfw.js} +1 -1
- package/dist/{user-props-qQx7HZ7T.js → user-props-Ce-ilCmU.js} +3 -2
- package/dist/{user-style-BPFOx0xn.js → user-style-4rp0jKYP.js} +1 -1
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-Crnt5d7x.js → value-editor.vue_vue_type_style_index_0_lang-DMuR0u4j.js} +3 -2
- package/dist/{version-select-BkZzH36D.js → version-select-DSFIlYgX.js} +2 -2
- package/dist/web-render/index.es.js +9 -9
- package/dist/{widget-barcode-CPZjarSa.js → widget-barcode-Du7LOaiy.js} +5 -4
- package/dist/{widget-diagonal-DebN3u9t.js → widget-diagonal-D-q7WK6T.js} +3 -3
- package/dist/{widget-image-BSMWxm9c.js → widget-image-Da5mvgMm.js} +5 -5
- package/dist/{widget-line-CyavTHOV.js → widget-line-oIFH8P04.js} +3 -2
- package/dist/{widget-pagination-ZCBdy6HQ.js → widget-pagination-CSonelt_.js} +6 -5
- package/dist/{widget-power-B1NFysHT.js → widget-power-CWczWA7K.js} +3 -3
- package/dist/{widget-qrcode-B0TTSoSK.js → widget-qrcode-MQ-cSphb.js} +4 -3
- package/dist/{widget-rangelimit-C_ureKDr.js → widget-rangelimit-CFDeRJIf.js} +3 -3
- package/dist/{widget-serialnumber-Dq15dHnk.js → widget-serialnumber-DlE2-jvp.js} +1 -1
- package/dist/{widget-text-B9EXKFiM.js → widget-text-B1SnpOGN.js} +5 -5
- package/dist/{widget-timediff-BhLrQuGb.js → widget-timediff-DeyJbqRE.js} +3 -2
- package/package.json +1 -1
- package/dist/base-font-editor-BmC423aB.js +0 -83
- package/dist/cell-upload-CiXVE0Ii.js +0 -25
- package/dist/paper-widget-design-Cp0ioo8c.js +0 -4
- package/dist/ref-autofill-editor-OtclaSqy.js +0 -673
- /package/dist/src/nocode-base/src/components/document-sub-table-action/{document-sub-table-action.vue.d.ts → dynamic-table-action.vue.d.ts} +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { computed, watch, toRaw, onUnmounted, markRaw, ref, toRef, reactive, inject, provide, defineComponent, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, renderSlot, createVNode, toDisplayString, isVNode,
|
|
1
|
+
import { computed, watch, toRaw, onUnmounted, markRaw, ref, toRef, reactive, inject, provide, defineComponent, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, isVNode, h, onBeforeMount, resolveComponent, createBlock, withCtx, Fragment, renderList, createTextVNode, onMounted } from "vue";
|
|
2
2
|
import { cloneDeep, has, isNil, merge, defaults, pickBy, mergeWith, omit, last, pick } from "lodash-es";
|
|
3
|
-
import { e as ComponentTypeEnum, F as FIELD_TYPE, i as api,
|
|
4
|
-
import { u as useFormModel, w as watchDebounced } from "./mb-render-
|
|
3
|
+
import { e as ComponentTypeEnum, F as FIELD_TYPE, i as api, aT as ButtonTypeEnum, v as FormTypeEnum, aO as safeParseArray, aq as RenderModeEnum, aQ as mergeByMultiKey, aS as BpmnSignatureTypeEnum, aP as BpmnNodeTypeEnum, ab as useWidgetStaticAttrs, by as assembleRules, bz as deleteFormRule, bA as setFormRule, aF as requestDisplayValidation, bB as isReferenceOptionActive, bC as validateAllFields, bD as runValidation, bE as stockCheck, am as getParseRuleInfo, an as getParseRuleValue, bF as materialCheck, ax as calcFillData, as as FormulaRuleFieldKeyEnum, bG as judgeUnique, g as SubTableType, ao as useCurrentPageFormState, R as Dependency_ENUM, Q as ASSIGNMENTSTRATEGY_ENUM, aM as uuid2, a3 as DeviceLink, G as useNamespace, _ as _export_sfc, aj as NCB_PROVIDE, b5 as buildFormChangeDisplayRows, aR as getRowId, bw as resolveRowFormChangeMark, bv as resolveFormChangeRowUi, bk as isAnnLocationSelected, bx as setSelectMobileTdId, bl as isFormChangeGhostRow, h as CellType, ad as setSelectAnnotationId, br as recordSubtableRowDelete, b8 as deleteSubtableRow, bs as relocateDeletedRowsToEnd, bH as FRONT_ROW_KEY, az as transformUtils, bj as insertSubtableRows, bq as recordSubtableRowAdd, u as useModal, bI as q, bJ as groupFixedTableRows, bK as QUICK_FILL_ALLOWED_FIELDS, bL as processQuickFillRows, bM as getIsGroupEmpty, bh as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-OPdk2I5p.js";
|
|
4
|
+
import { u as useFormModel, w as watchDebounced } from "./mb-render-D_uumPQr.js";
|
|
5
5
|
import dayjs from "dayjs";
|
|
6
|
+
import { Modal, message } from "ant-design-vue";
|
|
6
7
|
var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
|
|
7
8
|
MaterialConsumptionPatternEnum2["RECORD"] = "record";
|
|
8
9
|
MaterialConsumptionPatternEnum2["BOM"] = "bom";
|
|
@@ -1050,14 +1051,14 @@ class BomEntryValidator {
|
|
|
1050
1051
|
*/
|
|
1051
1052
|
async validateHasCompleted(arr) {
|
|
1052
1053
|
const groupData = this.filterGroupData(arr);
|
|
1053
|
-
const
|
|
1054
|
+
const message2 = $t("sys.edhr.mcTable.sequenceLoadingError", {
|
|
1054
1055
|
product: this.bomEntry.product_code_
|
|
1055
1056
|
});
|
|
1056
1057
|
if (!groupData.length) {
|
|
1057
1058
|
if (!this.bomEntry.force_loading_enabled_) {
|
|
1058
1059
|
return;
|
|
1059
1060
|
}
|
|
1060
|
-
throw new Error(
|
|
1061
|
+
throw new Error(message2);
|
|
1061
1062
|
}
|
|
1062
1063
|
if (this.bomEntry.type_ === "view") {
|
|
1063
1064
|
return;
|
|
@@ -1070,26 +1071,26 @@ class BomEntryValidator {
|
|
|
1070
1071
|
// 等于的时候要相等才算填报完成,小于的时候报错,大于由修改的时候报错,这边不报错
|
|
1071
1072
|
case "eq":
|
|
1072
1073
|
if (consumeNum < this.remainingNum) {
|
|
1073
|
-
throw new Error(
|
|
1074
|
+
throw new Error(message2);
|
|
1074
1075
|
}
|
|
1075
1076
|
break;
|
|
1076
1077
|
// 大于等于的时候要大于等于才算完成
|
|
1077
1078
|
case "gte":
|
|
1078
1079
|
if (consumeNum < this.remainingNum) {
|
|
1079
|
-
throw new Error(
|
|
1080
|
+
throw new Error(message2);
|
|
1080
1081
|
}
|
|
1081
1082
|
break;
|
|
1082
1083
|
// 小于等于的时候要小于等于有值就算算完成
|
|
1083
1084
|
case "lte":
|
|
1084
1085
|
if (consumeNum <= 0) {
|
|
1085
|
-
throw new Error(
|
|
1086
|
+
throw new Error(message2);
|
|
1086
1087
|
}
|
|
1087
1088
|
break;
|
|
1088
1089
|
case "bounds":
|
|
1089
1090
|
const consumeSum = consumeNum + this.hasConsumed;
|
|
1090
1091
|
const { min } = await this.calcCustomNumberLimit(groupData[0]);
|
|
1091
1092
|
if (consumeSum < min) {
|
|
1092
|
-
throw new Error(
|
|
1093
|
+
throw new Error(message2);
|
|
1093
1094
|
}
|
|
1094
1095
|
break;
|
|
1095
1096
|
}
|
|
@@ -1479,10 +1480,10 @@ class MaterialConsumeTableController {
|
|
|
1479
1480
|
this.tableDataRef.value = [...value, ...deletedArr];
|
|
1480
1481
|
}
|
|
1481
1482
|
/** 错误信息 */
|
|
1482
|
-
error(
|
|
1483
|
+
error(message2) {
|
|
1483
1484
|
MaterialConsumeTableController.render.message({
|
|
1484
1485
|
type: "error",
|
|
1485
|
-
content:
|
|
1486
|
+
content: message2
|
|
1486
1487
|
});
|
|
1487
1488
|
}
|
|
1488
1489
|
/**
|
|
@@ -1670,8 +1671,11 @@ class MaterialConsumeTableController {
|
|
|
1670
1671
|
this.isScanOpen = true;
|
|
1671
1672
|
await MaterialConsumeTableController.render.openScanModal({
|
|
1672
1673
|
title,
|
|
1673
|
-
onScan: async (str) => {
|
|
1674
|
+
onScan: async ({ str }) => {
|
|
1674
1675
|
console.log("onScan", str);
|
|
1676
|
+
if (!str) {
|
|
1677
|
+
return;
|
|
1678
|
+
}
|
|
1675
1679
|
await this.parseScanStr(str);
|
|
1676
1680
|
}
|
|
1677
1681
|
});
|
|
@@ -1801,11 +1805,11 @@ class MaterialConsumeTableController {
|
|
|
1801
1805
|
* @param message
|
|
1802
1806
|
* @return {*}
|
|
1803
1807
|
*/
|
|
1804
|
-
calcErrorObj(
|
|
1808
|
+
calcErrorObj(message2) {
|
|
1805
1809
|
return {
|
|
1806
1810
|
field: this.widget.props.field + "_0_product_id_",
|
|
1807
1811
|
message: JSON.stringify({
|
|
1808
|
-
message,
|
|
1812
|
+
message: message2,
|
|
1809
1813
|
showFieldName: $t("sys.model.product"),
|
|
1810
1814
|
showModelKey: this.widget.props.modelKey,
|
|
1811
1815
|
showModelName: this.widget.props.tableTitle,
|
|
@@ -2963,8 +2967,12 @@ function useFormTmplConfig() {
|
|
|
2963
2967
|
injectController
|
|
2964
2968
|
};
|
|
2965
2969
|
}
|
|
2966
|
-
const _hoisted_1$
|
|
2967
|
-
const
|
|
2970
|
+
const _hoisted_1$6 = ["data-merge", "data-fill-direction"];
|
|
2971
|
+
const _hoisted_2$1 = {
|
|
2972
|
+
key: 0,
|
|
2973
|
+
class: "absolute z-9 top-1/2 right-0 w-0 h-0 -translate-y-4"
|
|
2974
|
+
};
|
|
2975
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
2968
2976
|
__name: "border-td",
|
|
2969
2977
|
props: {
|
|
2970
2978
|
border: {},
|
|
@@ -3026,25 +3034,28 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
3026
3034
|
class: normalizeClass([unref(ns).b("content")])
|
|
3027
3035
|
}, [
|
|
3028
3036
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
3029
|
-
], 2)
|
|
3030
|
-
|
|
3037
|
+
], 2),
|
|
3038
|
+
_ctx.$slots.tableAction ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
|
|
3039
|
+
renderSlot(_ctx.$slots, "tableAction", {}, void 0, true)
|
|
3040
|
+
])) : createCommentVNode("", true)
|
|
3041
|
+
], 16, _hoisted_1$6);
|
|
3031
3042
|
};
|
|
3032
3043
|
}
|
|
3033
3044
|
});
|
|
3034
|
-
const BorderTD = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3035
|
-
const _sfc_main$
|
|
3036
|
-
const _hoisted_1$
|
|
3045
|
+
const BorderTD = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-5f774f44"]]);
|
|
3046
|
+
const _sfc_main$7 = {};
|
|
3047
|
+
const _hoisted_1$5 = { class: "nocode-loading" };
|
|
3037
3048
|
function _sfc_render(_ctx, _cache) {
|
|
3038
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
3049
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [..._cache[0] || (_cache[0] = [
|
|
3039
3050
|
createElementVNode("div", { class: "nocode-shape shape-1" }, null, -1),
|
|
3040
3051
|
createElementVNode("div", { class: "nocode-shape shape-2" }, null, -1),
|
|
3041
3052
|
createElementVNode("div", { class: "nocode-shape shape-3" }, null, -1),
|
|
3042
3053
|
createElementVNode("div", { class: "nocode-shape shape-4" }, null, -1)
|
|
3043
3054
|
])]);
|
|
3044
3055
|
}
|
|
3045
|
-
const DocumentLoading = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3056
|
+
const DocumentLoading = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render], ["__scopeId", "data-v-d8b64b7b"]]);
|
|
3046
3057
|
const _imports_0 = "data:image/png;base64,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";
|
|
3047
|
-
const _hoisted_1$
|
|
3058
|
+
const _hoisted_1$4 = { class: "nocode-document-layout-wrapper" };
|
|
3048
3059
|
const _hoisted_2 = {
|
|
3049
3060
|
key: 0,
|
|
3050
3061
|
class: "nocode-common-loading-warp"
|
|
@@ -3058,7 +3069,7 @@ const _hoisted_4 = {
|
|
|
3058
3069
|
class: "nocode-common-loading-warp"
|
|
3059
3070
|
};
|
|
3060
3071
|
const _hoisted_5 = { class: "w200px text-center color-[#666]" };
|
|
3061
|
-
const _sfc_main$
|
|
3072
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
3062
3073
|
__name: "document-layout",
|
|
3063
3074
|
props: {
|
|
3064
3075
|
loading: { type: Boolean },
|
|
@@ -3066,7 +3077,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
3066
3077
|
},
|
|
3067
3078
|
setup(__props) {
|
|
3068
3079
|
return (_ctx, _cache) => {
|
|
3069
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
3080
|
+
return openBlock(), createElementBlock("div", _hoisted_1$4, [
|
|
3070
3081
|
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
3071
3082
|
createVNode(DocumentLoading)
|
|
3072
3083
|
])) : __props.hasData ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
@@ -3147,6 +3158,8 @@ const DocumentSubTable = /* @__PURE__ */ defineComponent({
|
|
|
3147
3158
|
isRowSubTable2d,
|
|
3148
3159
|
childInitRowLen,
|
|
3149
3160
|
quickFill,
|
|
3161
|
+
confirmBeforeDelete,
|
|
3162
|
+
confirmBeforeDeleteTip,
|
|
3150
3163
|
subModelType
|
|
3151
3164
|
} = reactive(props.widget.props);
|
|
3152
3165
|
const {
|
|
@@ -3332,7 +3345,23 @@ const DocumentSubTable = /* @__PURE__ */ defineComponent({
|
|
|
3332
3345
|
});
|
|
3333
3346
|
break;
|
|
3334
3347
|
case "deleteRowCurrent":
|
|
3335
|
-
|
|
3348
|
+
if (confirmBeforeDelete) {
|
|
3349
|
+
const content = confirmBeforeDeleteTip || $t("sys.confirmExecution");
|
|
3350
|
+
Modal.confirm({
|
|
3351
|
+
width: 316,
|
|
3352
|
+
centered: true,
|
|
3353
|
+
class: "confirm-before-delete-modal",
|
|
3354
|
+
icon: h("i", {
|
|
3355
|
+
class: "iconfont icon-jinggao"
|
|
3356
|
+
}),
|
|
3357
|
+
content,
|
|
3358
|
+
onOk() {
|
|
3359
|
+
handleDeleteRow(rowData, dataIdx);
|
|
3360
|
+
}
|
|
3361
|
+
});
|
|
3362
|
+
} else {
|
|
3363
|
+
handleDeleteRow(rowData, dataIdx);
|
|
3364
|
+
}
|
|
3336
3365
|
break;
|
|
3337
3366
|
case "default":
|
|
3338
3367
|
handleDefaultClick();
|
|
@@ -3639,11 +3668,11 @@ var MaterialConsumeActionType = /* @__PURE__ */ ((MaterialConsumeActionType2) =>
|
|
|
3639
3668
|
MaterialConsumeActionType2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
|
|
3640
3669
|
return MaterialConsumeActionType2;
|
|
3641
3670
|
})(MaterialConsumeActionType || {});
|
|
3642
|
-
const _hoisted_1$
|
|
3671
|
+
const _hoisted_1$3 = {
|
|
3643
3672
|
key: 0,
|
|
3644
3673
|
class: "material-consume-action-bar"
|
|
3645
3674
|
};
|
|
3646
|
-
const _sfc_main$
|
|
3675
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
3647
3676
|
__name: "material-consume-action",
|
|
3648
3677
|
props: {
|
|
3649
3678
|
showBom: { type: Boolean, default: false },
|
|
@@ -3674,7 +3703,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3674
3703
|
emit("doAction", MaterialConsumeActionType.CONFIRM, props.rowData);
|
|
3675
3704
|
};
|
|
3676
3705
|
return (_ctx, _cache) => {
|
|
3677
|
-
return __props.showConfirmBtn && isEditing.value ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
3706
|
+
return __props.showConfirmBtn && isEditing.value ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
3678
3707
|
createElementVNode("div", {
|
|
3679
3708
|
class: "sub-table-btn btn-confirm",
|
|
3680
3709
|
onClick: handleConfirm
|
|
@@ -3685,7 +3714,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3685
3714
|
};
|
|
3686
3715
|
}
|
|
3687
3716
|
});
|
|
3688
|
-
const MaterialConsumeAction = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3717
|
+
const MaterialConsumeAction = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-18b5f02d"]]);
|
|
3689
3718
|
const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
3690
3719
|
name: "NocodeMaterialConsumeTable",
|
|
3691
3720
|
props: {
|
|
@@ -4123,490 +4152,101 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
4123
4152
|
})])])]);
|
|
4124
4153
|
}
|
|
4125
4154
|
});
|
|
4126
|
-
const
|
|
4127
|
-
|
|
4155
|
+
const _hoisted_1$2 = { class: "document-quick-fill-container" };
|
|
4156
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
4157
|
+
__name: "fixed-quick-fill-modal",
|
|
4128
4158
|
props: {
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
},
|
|
4134
|
-
|
|
4135
|
-
basicInfo: {
|
|
4136
|
-
type: Object,
|
|
4137
|
-
required: true
|
|
4138
|
-
},
|
|
4139
|
-
/** 表单数据 */
|
|
4140
|
-
formState: {
|
|
4141
|
-
type: Object,
|
|
4142
|
-
required: true
|
|
4143
|
-
},
|
|
4144
|
-
/** 模板数据中心 */
|
|
4145
|
-
widgetCenter: {
|
|
4146
|
-
type: Object,
|
|
4147
|
-
required: true
|
|
4148
|
-
},
|
|
4149
|
-
/** 是否是移动端渲染 */
|
|
4150
|
-
isMobile: {
|
|
4151
|
-
type: Boolean
|
|
4152
|
-
},
|
|
4153
|
-
selfInfoList: {
|
|
4154
|
-
type: Array
|
|
4155
|
-
}
|
|
4159
|
+
rowCount: {},
|
|
4160
|
+
colCount: {},
|
|
4161
|
+
dgRowCount: {},
|
|
4162
|
+
dgColCount: {},
|
|
4163
|
+
dgDirection: {},
|
|
4164
|
+
columns: {}
|
|
4156
4165
|
},
|
|
4157
|
-
setup(
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
const
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
pageWidth,
|
|
4175
|
-
pageHeight,
|
|
4176
|
-
colsWidth,
|
|
4177
|
-
subTable2DList
|
|
4178
|
-
} = widget.props;
|
|
4179
|
-
provide(NCB_PROVIDE.PAGER, widget);
|
|
4180
|
-
const size = [pageWidth, pageHeight];
|
|
4181
|
-
const sortSize = size.slice().sort();
|
|
4182
|
-
const isLandscape = JSON.stringify(size) !== JSON.stringify(sortSize);
|
|
4183
|
-
const orientation = isLandscape ? "landscape" : "portrait";
|
|
4184
|
-
const resultSize = isLandscape && isPdfMode ? sortSize : size;
|
|
4185
|
-
const paddings = pageMargins?.split(" ");
|
|
4186
|
-
const config = {
|
|
4187
|
-
cls: orientation,
|
|
4188
|
-
style: {
|
|
4189
|
-
width: `${resultSize[0]}mm`,
|
|
4190
|
-
height: `${resultSize[1]}mm`
|
|
4166
|
+
setup(__props) {
|
|
4167
|
+
const props = __props;
|
|
4168
|
+
const rows = ref([]);
|
|
4169
|
+
const cols = ref([]);
|
|
4170
|
+
onBeforeMount(() => {
|
|
4171
|
+
const { rowCount, colCount } = props;
|
|
4172
|
+
const newRow = () => Array.from({ length: colCount }).reduce((map, v, i) => {
|
|
4173
|
+
map[`KEY${i}`] = "";
|
|
4174
|
+
return map;
|
|
4175
|
+
}, {});
|
|
4176
|
+
rows.value = Array.from({ length: rowCount }, newRow);
|
|
4177
|
+
cols.value = Object.keys(rows.value?.[0] || {}).map((k) => ({ prop: k, name: k }));
|
|
4178
|
+
});
|
|
4179
|
+
const handleBeforePaste = (e) => {
|
|
4180
|
+
if (!props.columns.length) {
|
|
4181
|
+
e.preventDefault();
|
|
4182
|
+
message.warn($t("sys.quickFillingFixedNoFieldsTip"));
|
|
4191
4183
|
}
|
|
4192
4184
|
};
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
};
|
|
4210
|
-
const field = tdInfo.props.fixedTableFieldId ?? "";
|
|
4211
|
-
if (tdInfo.props.isNewFixedTableTd) {
|
|
4212
|
-
const cellFixedTableDataIdx = tdInfo.cellFixedTableDataIdx ?? 0;
|
|
4213
|
-
Object.assign(attrInfo, {
|
|
4214
|
-
formData: props.formState?.[field]?.[cellFixedTableDataIdx] ?? {},
|
|
4215
|
-
subtableFieldId: field,
|
|
4216
|
-
realRowIndex: cellFixedTableDataIdx,
|
|
4217
|
-
pageRowIndex: cellFixedTableDataIdx
|
|
4185
|
+
async function onSave() {
|
|
4186
|
+
const { dgRowCount, dgColCount, dgDirection, columns } = props;
|
|
4187
|
+
const groupedRows = groupFixedTableRows(unref(rows), {
|
|
4188
|
+
rowCount: dgRowCount,
|
|
4189
|
+
colCount: dgColCount,
|
|
4190
|
+
direction: dgDirection
|
|
4191
|
+
}).map((row) => {
|
|
4192
|
+
const values = Object.values(row);
|
|
4193
|
+
if (values.every((v) => v === "")) {
|
|
4194
|
+
return null;
|
|
4195
|
+
}
|
|
4196
|
+
const _row = {};
|
|
4197
|
+
columns.forEach((col, i) => {
|
|
4198
|
+
if (QUICK_FILL_ALLOWED_FIELDS.has(col.fieldType)) {
|
|
4199
|
+
_row[col.prop] = values[i];
|
|
4200
|
+
}
|
|
4218
4201
|
});
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
realRowIndex: rowIdx,
|
|
4228
|
-
pageRowIndex: rowIdx,
|
|
4229
|
-
/** 检验表列坐标,与 realRowIndex 解耦,不改变原有 formData 绑定逻辑 */
|
|
4230
|
-
realColIndex: colIdx
|
|
4202
|
+
return _row;
|
|
4203
|
+
}).filter(Boolean);
|
|
4204
|
+
try {
|
|
4205
|
+
return {
|
|
4206
|
+
ok: true,
|
|
4207
|
+
params: {
|
|
4208
|
+
data: processQuickFillRows(groupedRows, columns)
|
|
4209
|
+
}
|
|
4231
4210
|
};
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
baseInfo.formData = props.formState?.[field]?.[colIdx] ?? {};
|
|
4235
|
-
baseInfo.realRowIndex = colIdx;
|
|
4236
|
-
baseInfo.pageRowIndex = colIdx;
|
|
4237
|
-
break;
|
|
4238
|
-
case "row":
|
|
4239
|
-
baseInfo.formData = props.formState?.[field]?.[rowIdx] ?? {};
|
|
4240
|
-
break;
|
|
4241
|
-
case "child":
|
|
4242
|
-
baseInfo.formData = props.formState?.[field]?.[rowIdx]?.["_2DTABLE_"]?.[colIdx] ?? {};
|
|
4243
|
-
baseInfo.childSubTableDataIndex = colIdx;
|
|
4244
|
-
break;
|
|
4245
|
-
}
|
|
4246
|
-
Object.assign(attrInfo, baseInfo);
|
|
4211
|
+
} catch (err) {
|
|
4212
|
+
console.warn(err);
|
|
4247
4213
|
}
|
|
4248
|
-
return
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
widgets: widget.headerWidgets
|
|
4276
|
-
})]), widget.footerWidgets && createVNode("div", {
|
|
4277
|
-
"class": "paper-footer"
|
|
4278
|
-
}, [slots.overlay?.({
|
|
4279
|
-
widgets: widget.footerWidgets
|
|
4280
|
-
})]), widget.watermarks && createVNode("div", {
|
|
4281
|
-
"class": "paper-watermark"
|
|
4282
|
-
}, [slots.overlay?.({
|
|
4283
|
-
widgets: widget.watermarks
|
|
4284
|
-
})])]), createVNode("div", {
|
|
4285
|
-
"class": "cmp-paper-container"
|
|
4286
|
-
}, [createVNode("table", {
|
|
4287
|
-
"ref": mainTableRef,
|
|
4288
|
-
"class": "main-table-wrapper",
|
|
4289
|
-
"cellpadding": "0",
|
|
4290
|
-
"cellspacing": "0"
|
|
4291
|
-
}, [createVNode("colgroup", null, [colsWidth.map((cw, cwIdx) => createVNode("col", {
|
|
4292
|
-
"key": cwIdx,
|
|
4293
|
-
"width": cw
|
|
4294
|
-
}, null))]), createVNode("tbody", null, [props.page.containerIds.map((trId, trIdx) => {
|
|
4295
|
-
const trInfo = props.widgetCenter[trId];
|
|
4296
|
-
const tdIds = trInfo.nextIds;
|
|
4297
|
-
const height = props.page.dynamicRowHeights?.[trId] || trInfo.props.height;
|
|
4298
|
-
return createVNode("tr", {
|
|
4299
|
-
"key": `${trId}_${trIdx}`,
|
|
4300
|
-
"height": height
|
|
4301
|
-
}, [tdIds.map((tdId, tdIdx) => {
|
|
4302
|
-
const tdInfo = props.widgetCenter[tdId];
|
|
4303
|
-
const tdAttrs = {
|
|
4304
|
-
key: tdId,
|
|
4305
|
-
id: tdId,
|
|
4306
|
-
hidden: tdInfo.cellHidden,
|
|
4307
|
-
borderAttrs: tdInfo.props.sourceBorderAttrs,
|
|
4308
|
-
autoMerge: tdInfo.fillDirection === "x" ? tdInfo.xAutoMerge : tdInfo.autoMerge,
|
|
4309
|
-
fillDirection: tdInfo.fillDirection,
|
|
4310
|
-
...pick(tdInfo.props, ["rowspan", "colspan", "class"])
|
|
4311
|
-
};
|
|
4312
|
-
const realTdAttrInfo = props.page.mergeBlock?.[tdId];
|
|
4313
|
-
const dynamicConfig = {};
|
|
4314
|
-
if (realTdAttrInfo) {
|
|
4315
|
-
Object.assign(tdAttrs, {
|
|
4316
|
-
...pick(realTdAttrInfo, ["rowspan", "colspan", "borderAttrs"]),
|
|
4317
|
-
hidden: false
|
|
4318
|
-
});
|
|
4319
|
-
Object.assign(dynamicConfig, {
|
|
4320
|
-
...pick(realTdAttrInfo, ["visibleText", "sourceTdId", "isDynRo"])
|
|
4321
|
-
});
|
|
4322
|
-
}
|
|
4323
|
-
const subInfo = props.page.subTableMap?.[tdId];
|
|
4324
|
-
if (subInfo && subInfo.wrapperTdId === tdId) {
|
|
4325
|
-
const subWidget = props.widgetCenter[subInfo.widgetId];
|
|
4326
|
-
const field = subWidget.props.field ?? "";
|
|
4327
|
-
const relationObj = props.page.relation[field] ?? {};
|
|
4328
|
-
const subTable2dItem = subTable2DList.find((item) => item.subTable2d && item.rowSubFieldKey === field);
|
|
4329
|
-
if (subWidget.props.isMaterialConsumeTable) {
|
|
4330
|
-
const tableController = tmplBomController.value?.tableControllers[subWidget.props.materialConsumeTableId];
|
|
4331
|
-
if (tableController) {
|
|
4332
|
-
return createVNode("td", mergeProps({
|
|
4333
|
-
"style": tdInfo.style
|
|
4334
|
-
}, tdAttrs), [createVNode(MaterialConsumeTable, {
|
|
4335
|
-
"subInfo": subInfo,
|
|
4336
|
-
"widget": subWidget,
|
|
4337
|
-
"formData": props.formState,
|
|
4338
|
-
"widgetCenter": props.widgetCenter,
|
|
4339
|
-
"start": relationObj?.start,
|
|
4340
|
-
"end": relationObj.end,
|
|
4341
|
-
"isMobile": props.isMobile,
|
|
4342
|
-
"tableController": tableController
|
|
4343
|
-
}, {
|
|
4344
|
-
widget: (subProps) => slots.widget?.(subProps),
|
|
4345
|
-
subAction: (subProps) => slots.subAction?.(subProps)
|
|
4346
|
-
})]);
|
|
4347
|
-
}
|
|
4348
|
-
}
|
|
4349
|
-
const subTableCore = subTableCoreFactory.value?.getSubCoreByTid(subInfo.widgetId);
|
|
4350
|
-
return createVNode("td", mergeProps({
|
|
4351
|
-
"style": tdInfo.style
|
|
4352
|
-
}, tdAttrs), [createVNode(DocumentSubTable, {
|
|
4353
|
-
"subInfo": subInfo,
|
|
4354
|
-
"widget": subWidget,
|
|
4355
|
-
"subTable2dItem": subTable2dItem,
|
|
4356
|
-
"formData": props.formState,
|
|
4357
|
-
"widgetCenter": props.widgetCenter,
|
|
4358
|
-
"start": relationObj?.start,
|
|
4359
|
-
"end": relationObj.end,
|
|
4360
|
-
"isMobile": props.isMobile,
|
|
4361
|
-
"subTableCore": subTableCore
|
|
4362
|
-
}, {
|
|
4363
|
-
widget: (subProps) => slots.widget?.(subProps),
|
|
4364
|
-
subAction: (subProps) => slots.subAction?.(subProps)
|
|
4365
|
-
})]);
|
|
4366
|
-
}
|
|
4367
|
-
if (tdInfo.cellValueType) {
|
|
4368
|
-
const widgetAttrs = getWidgetAttrs(tdInfo);
|
|
4369
|
-
if (props.isMobile) {
|
|
4370
|
-
Object.assign(tdAttrs, {
|
|
4371
|
-
onClick: setSelectMobileTdId.bind(null, tdInfo, props.basicInfo, props.widgetCenter, openFillFieldsModal, -1)
|
|
4372
|
-
});
|
|
4373
|
-
}
|
|
4374
|
-
return createVNode(BorderTD, mergeProps({
|
|
4375
|
-
"style": tdInfo.style
|
|
4376
|
-
}, tdAttrs, {
|
|
4377
|
-
"isEmpty": true
|
|
4378
|
-
}), {
|
|
4379
|
-
default: () => [tdInfo.cellValueType !== CellType.Default || tdInfo.cellWidget.props.value ? slots.widget?.({
|
|
4380
|
-
tdInfo,
|
|
4381
|
-
...widgetAttrs,
|
|
4382
|
-
dynamicConfig
|
|
4383
|
-
}) : null]
|
|
4384
|
-
});
|
|
4385
|
-
}
|
|
4386
|
-
if (realTdAttrInfo && tdInfo.cellHidden) {
|
|
4387
|
-
const sourceTdInfo = props.widgetCenter[dynamicConfig?.sourceTdId];
|
|
4388
|
-
const widgetAttrs = getWidgetAttrs(tdInfo);
|
|
4389
|
-
return createVNode(BorderTD, mergeProps({
|
|
4390
|
-
"style": tdInfo.style
|
|
4391
|
-
}, tdAttrs, {
|
|
4392
|
-
"isEmpty": true
|
|
4393
|
-
}), {
|
|
4394
|
-
default: () => [dynamicConfig?.isDynRo ? slots.widget?.({
|
|
4395
|
-
tdInfo: sourceTdInfo,
|
|
4396
|
-
...widgetAttrs,
|
|
4397
|
-
dynamicConfig
|
|
4398
|
-
}) : null]
|
|
4399
|
-
});
|
|
4400
|
-
}
|
|
4401
|
-
})]);
|
|
4402
|
-
})])])])])]);
|
|
4403
|
-
}
|
|
4404
|
-
});
|
|
4405
|
-
const _hoisted_1$1 = { class: "document-quick-fill-container" };
|
|
4406
|
-
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
4407
|
-
__name: "document-quick-fill-modal",
|
|
4408
|
-
props: {
|
|
4409
|
-
columns: {},
|
|
4410
|
-
modal: {},
|
|
4411
|
-
callback: {}
|
|
4412
|
-
},
|
|
4413
|
-
setup(__props) {
|
|
4414
|
-
const props = __props;
|
|
4415
|
-
const rows = ref([]);
|
|
4416
|
-
function makeEmptyRow() {
|
|
4417
|
-
return Object.fromEntries(props.columns.map((c) => [c.prop, ""]));
|
|
4418
|
-
}
|
|
4419
|
-
function initRows(count = 10) {
|
|
4420
|
-
rows.value = Array.from({ length: count }, () => makeEmptyRow());
|
|
4421
|
-
}
|
|
4422
|
-
onBeforeMount(() => {
|
|
4423
|
-
initRows(200);
|
|
4424
|
-
});
|
|
4425
|
-
function processRows(rows2 = []) {
|
|
4426
|
-
const isBlank = (v) => v === null || v === void 0 || typeof v === "string" && v.trim() === "" || Array.isArray(v) && v.length === 0;
|
|
4427
|
-
const roundToScale = (num, scale) => {
|
|
4428
|
-
if (scale == null) return num;
|
|
4429
|
-
const factor = Math.pow(10, scale);
|
|
4430
|
-
return Math.round(num * factor) / factor;
|
|
4431
|
-
};
|
|
4432
|
-
const parseNumber = (v, { integer = false, scale = null } = {}) => {
|
|
4433
|
-
if (v === null || v === void 0) return null;
|
|
4434
|
-
if (typeof v === "number") {
|
|
4435
|
-
if (!Number.isFinite(v)) return null;
|
|
4436
|
-
if (integer && !Number.isInteger(v)) return null;
|
|
4437
|
-
const n2 = scale != null ? roundToScale(v, scale) : v;
|
|
4438
|
-
return Number.isFinite(n2) ? n2 : null;
|
|
4439
|
-
}
|
|
4440
|
-
let s = String(v).trim();
|
|
4441
|
-
if (s === "") return null;
|
|
4442
|
-
s = s.replace(/,/g, "");
|
|
4443
|
-
if (/^[\(\(].+[\)\)]$/.test(s)) {
|
|
4444
|
-
s = "-" + s.replace(/^[\(\(]|[\)\)]$/g, "");
|
|
4445
|
-
}
|
|
4446
|
-
const n = Number(s);
|
|
4447
|
-
if (!Number.isFinite(n)) return null;
|
|
4448
|
-
if (integer) {
|
|
4449
|
-
if (!Number.isInteger(n)) return null;
|
|
4450
|
-
return n;
|
|
4451
|
-
} else {
|
|
4452
|
-
return scale != null ? roundToScale(n, scale) : n;
|
|
4453
|
-
}
|
|
4454
|
-
};
|
|
4455
|
-
const parseToDate = (v) => {
|
|
4456
|
-
if (v === null || v === void 0 || v === "") return null;
|
|
4457
|
-
if (typeof v === "string") {
|
|
4458
|
-
let s = v.trim();
|
|
4459
|
-
if (s === "") return null;
|
|
4460
|
-
s = s.replace(/-/g, "/");
|
|
4461
|
-
if (/^\d{1,2}:\d{2}(:\d{2})?$/.test(s)) {
|
|
4462
|
-
const today = /* @__PURE__ */ new Date();
|
|
4463
|
-
const datePart = `${today.getFullYear()}/${today.getMonth() + 1}/${today.getDate()}`;
|
|
4464
|
-
s = `${datePart} ${s}`;
|
|
4465
|
-
}
|
|
4466
|
-
const d = new Date(s);
|
|
4467
|
-
return isNaN(d) ? null : d;
|
|
4468
|
-
}
|
|
4469
|
-
return null;
|
|
4470
|
-
};
|
|
4471
|
-
const buildOptionLookup = (opts = []) => {
|
|
4472
|
-
const map = /* @__PURE__ */ new Map();
|
|
4473
|
-
for (const o of opts) {
|
|
4474
|
-
const val = o.value != null ? String(o.value) : void 0;
|
|
4475
|
-
const text = o.text != null ? String(o.text) : void 0;
|
|
4476
|
-
const label = o.label != null ? String(o.label) : void 0;
|
|
4477
|
-
if (val !== void 0) map.set(val, val);
|
|
4478
|
-
if (text !== void 0) map.set(text, val || text);
|
|
4479
|
-
if (label !== void 0) map.set(label, val || label);
|
|
4480
|
-
}
|
|
4481
|
-
return map;
|
|
4482
|
-
};
|
|
4483
|
-
const pad2 = (n) => String(n).padStart(2, "0");
|
|
4484
|
-
const formatDate = (d) => `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}`;
|
|
4485
|
-
const formatTime = (d) => `${pad2(d.getHours())}:${pad2(d.getMinutes())}:${pad2(d.getSeconds())}`;
|
|
4486
|
-
const formatDateTime = (d) => `${formatDate(d)} ${formatTime(d)}`;
|
|
4487
|
-
const out = rows2.map((row) => {
|
|
4488
|
-
const newRow = { ...row };
|
|
4489
|
-
for (const f of props.columns) {
|
|
4490
|
-
const val = row[f.prop];
|
|
4491
|
-
switch (f.fieldType) {
|
|
4492
|
-
case FIELD_TYPE.INTEGER:
|
|
4493
|
-
case FIELD_TYPE.LONG:
|
|
4494
|
-
{
|
|
4495
|
-
const n = parseNumber(val, { integer: true });
|
|
4496
|
-
newRow[f.prop] = isBlank(n) ? void 0 : n;
|
|
4497
|
-
}
|
|
4498
|
-
break;
|
|
4499
|
-
case FIELD_TYPE.DOUBLE:
|
|
4500
|
-
case FIELD_TYPE.DECIMAL:
|
|
4501
|
-
{
|
|
4502
|
-
const n = parseNumber(val, { integer: false, scale: null });
|
|
4503
|
-
newRow[f.prop] = isBlank(n) ? void 0 : n;
|
|
4504
|
-
}
|
|
4505
|
-
break;
|
|
4506
|
-
case FIELD_TYPE.DATE:
|
|
4507
|
-
{
|
|
4508
|
-
const d = parseToDate(val);
|
|
4509
|
-
newRow[f.prop] = d ? formatDate(d) : isBlank(val) ? void 0 : val;
|
|
4510
|
-
}
|
|
4511
|
-
break;
|
|
4512
|
-
case FIELD_TYPE.TIME:
|
|
4513
|
-
{
|
|
4514
|
-
const d = parseToDate(val);
|
|
4515
|
-
newRow[f.prop] = d ? formatTime(d) : isBlank(val) ? void 0 : val;
|
|
4516
|
-
}
|
|
4517
|
-
break;
|
|
4518
|
-
case FIELD_TYPE.DATE_TIME:
|
|
4519
|
-
{
|
|
4520
|
-
const d = parseToDate(val);
|
|
4521
|
-
newRow[f.prop] = d ? formatDateTime(d) : isBlank(val) ? void 0 : val;
|
|
4522
|
-
}
|
|
4523
|
-
break;
|
|
4524
|
-
case FIELD_TYPE.OPTION_MULTI:
|
|
4525
|
-
{
|
|
4526
|
-
const lookup = buildOptionLookup(f.newOptions);
|
|
4527
|
-
if (typeof val === "string") {
|
|
4528
|
-
const tokens = val.split(/[;,]/).map((s) => s.trim()).filter((s) => s !== "");
|
|
4529
|
-
const arr = tokens.map((t) => lookup.get(t)).filter((v) => v !== void 0);
|
|
4530
|
-
newRow[f.prop] = arr.length ? arr.join(",") : void 0;
|
|
4531
|
-
} else {
|
|
4532
|
-
newRow[f.prop] = isBlank(val) ? void 0 : val;
|
|
4533
|
-
}
|
|
4534
|
-
}
|
|
4535
|
-
break;
|
|
4536
|
-
case FIELD_TYPE.OPTION:
|
|
4537
|
-
{
|
|
4538
|
-
const lookup = buildOptionLookup(f.newOptions);
|
|
4539
|
-
if (isBlank(val)) {
|
|
4540
|
-
newRow[f.prop] = void 0;
|
|
4541
|
-
} else {
|
|
4542
|
-
const tokens = val.split(/[;,]/).map((s) => s.trim()).filter((s) => s !== "");
|
|
4543
|
-
const normalized = lookup.get(tokens?.[0]);
|
|
4544
|
-
newRow[f.prop] = normalized !== void 0 ? normalized : void 0;
|
|
4545
|
-
}
|
|
4546
|
-
}
|
|
4547
|
-
break;
|
|
4548
|
-
default:
|
|
4549
|
-
newRow[f.prop] = isBlank(val) ? void 0 : val;
|
|
4550
|
-
}
|
|
4551
|
-
}
|
|
4552
|
-
return newRow;
|
|
4553
|
-
}).filter((row) => {
|
|
4554
|
-
return props.columns.some((f) => {
|
|
4555
|
-
const v = row[f.prop];
|
|
4556
|
-
if (v === 0 || v === false) return true;
|
|
4557
|
-
return !isBlank(v);
|
|
4558
|
-
});
|
|
4559
|
-
});
|
|
4560
|
-
return out;
|
|
4561
|
-
}
|
|
4562
|
-
async function onSave() {
|
|
4563
|
-
try {
|
|
4564
|
-
return {
|
|
4565
|
-
ok: true,
|
|
4566
|
-
params: {
|
|
4567
|
-
data: processRows(unref(rows.value))
|
|
4568
|
-
}
|
|
4569
|
-
};
|
|
4570
|
-
} catch (err) {
|
|
4571
|
-
console.warn(err);
|
|
4572
|
-
}
|
|
4573
|
-
return {
|
|
4574
|
-
ok: false
|
|
4575
|
-
};
|
|
4576
|
-
}
|
|
4577
|
-
useModal(onSave);
|
|
4578
|
-
return (_ctx, _cache) => {
|
|
4579
|
-
return openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
4580
|
-
_cache[0] || (_cache[0] = createElementVNode("div", { class: "quick-fill-tips" }, [
|
|
4581
|
-
createElementVNode("i", { class: "iconfont icon-zhuyi" }),
|
|
4582
|
-
createElementVNode("ul", { class: "tips-list" }, [
|
|
4583
|
-
createElementVNode("li", null, "可将Excel内容粘贴到表格中,支持使用复制、粘贴、删除快捷键"),
|
|
4584
|
-
createElementVNode("li", null, "表单中支持快速填报的字段类型:文本、长文本、整数、长整数、小数、精度小数、日期、时间、日期时间、LOT/SN、报废物料批次、枚举单选、枚举多选(选项间以“,”分割)"),
|
|
4585
|
-
createElementVNode("li", null, "当前快速填报最多支持200行")
|
|
4586
|
-
])
|
|
4587
|
-
], -1)),
|
|
4588
|
-
createVNode(unref(q), {
|
|
4589
|
-
class: "cell-border",
|
|
4590
|
-
range: "",
|
|
4591
|
-
resize: "",
|
|
4592
|
-
colSize: 200,
|
|
4593
|
-
source: rows.value,
|
|
4594
|
-
columns: __props.columns,
|
|
4595
|
-
theme: "material",
|
|
4596
|
-
"hide-attribution": "",
|
|
4597
|
-
"apply-on-close": true,
|
|
4598
|
-
"row-headers": { prop: "rowIndex", name: "序号", size: 60 }
|
|
4599
|
-
}, null, 8, ["source", "columns"])
|
|
4600
|
-
]);
|
|
4214
|
+
return {
|
|
4215
|
+
ok: false
|
|
4216
|
+
};
|
|
4217
|
+
}
|
|
4218
|
+
useModal(onSave);
|
|
4219
|
+
return (_ctx, _cache) => {
|
|
4220
|
+
return openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
4221
|
+
_cache[0] || (_cache[0] = createElementVNode("div", { class: "quick-fill-tips" }, [
|
|
4222
|
+
createElementVNode("i", { class: "iconfont icon-zhuyi" }),
|
|
4223
|
+
createElementVNode("ul", { class: "tips-list" }, [
|
|
4224
|
+
createElementVNode("li", null, "可将Excel内容粘贴到表格中,支持使用复制、粘贴、删除快捷键"),
|
|
4225
|
+
createElementVNode("li", null, " 表单中支持快速填报的字段类型:文本、长文本、整数、长整数、小数、精度小数、日期、时间、日期时间、LOT/SN、报废物料批次、枚举单选、枚举多选(选项间以“,”分割) ")
|
|
4226
|
+
])
|
|
4227
|
+
], -1)),
|
|
4228
|
+
createVNode(unref(q), {
|
|
4229
|
+
class: "cell-border",
|
|
4230
|
+
range: "",
|
|
4231
|
+
resize: "",
|
|
4232
|
+
colSize: 200,
|
|
4233
|
+
source: rows.value,
|
|
4234
|
+
columns: cols.value,
|
|
4235
|
+
theme: "material",
|
|
4236
|
+
"hide-attribution": "",
|
|
4237
|
+
"apply-on-close": true,
|
|
4238
|
+
onBeforepaste: handleBeforePaste
|
|
4239
|
+
}, null, 8, ["source", "columns"])
|
|
4240
|
+
]);
|
|
4601
4241
|
};
|
|
4602
4242
|
}
|
|
4603
4243
|
});
|
|
4604
|
-
const
|
|
4605
|
-
const _hoisted_1 = {
|
|
4244
|
+
const FixedQuickFillModal = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-082f502b"]]);
|
|
4245
|
+
const _hoisted_1$1 = {
|
|
4606
4246
|
key: 1,
|
|
4607
4247
|
class: "sub-table-action__subtitle"
|
|
4608
4248
|
};
|
|
4609
|
-
const _sfc_main$
|
|
4249
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
4610
4250
|
__name: "sub-table-action",
|
|
4611
4251
|
props: {
|
|
4612
4252
|
showDelBtn: { type: Boolean, default: false },
|
|
@@ -4624,7 +4264,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4624
4264
|
setup(__props, { emit: __emit }) {
|
|
4625
4265
|
const props = __props;
|
|
4626
4266
|
const emit = __emit;
|
|
4627
|
-
computed(() => {
|
|
4267
|
+
const showMenus = computed(() => {
|
|
4628
4268
|
const menus = [
|
|
4629
4269
|
...props.isMaterialConsume ? [
|
|
4630
4270
|
{
|
|
@@ -4734,6 +4374,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4734
4374
|
];
|
|
4735
4375
|
return menus.filter((i) => i.show !== false);
|
|
4736
4376
|
});
|
|
4377
|
+
const displayMenus = computed(() => props.menus?.length ? props.menus : showMenus.value);
|
|
4737
4378
|
const stopRefPropagation = (vm) => {
|
|
4738
4379
|
if (!vm?.$el) {
|
|
4739
4380
|
return;
|
|
@@ -4784,11 +4425,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4784
4425
|
selectedKeys: []
|
|
4785
4426
|
}, {
|
|
4786
4427
|
default: withCtx(() => [
|
|
4787
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
4428
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(displayMenus.value, (menu) => {
|
|
4788
4429
|
return openBlock(), createElementBlock(Fragment, {
|
|
4789
4430
|
key: menu.key
|
|
4790
4431
|
}, [
|
|
4791
|
-
menu.type === "divider" ? (openBlock(), createBlock(_component_a_menu_divider, { key: 0 })) : menu.type === "subtitle" ? (openBlock(), createElementBlock("div", _hoisted_1, toDisplayString(menu.label), 1)) : menu.type === "submenu" ? (openBlock(), createBlock(_component_a_sub_menu, {
|
|
4432
|
+
menu.type === "divider" ? (openBlock(), createBlock(_component_a_menu_divider, { key: 0 })) : menu.type === "subtitle" ? (openBlock(), createElementBlock("div", _hoisted_1$1, toDisplayString(menu.label), 1)) : menu.type === "submenu" ? (openBlock(), createBlock(_component_a_sub_menu, {
|
|
4792
4433
|
popupClassName: "sub-table-action__submenu-popup",
|
|
4793
4434
|
key: menu.key
|
|
4794
4435
|
}, {
|
|
@@ -4872,48 +4513,514 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4872
4513
|
};
|
|
4873
4514
|
}
|
|
4874
4515
|
});
|
|
4875
|
-
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
4876
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4877
|
-
__name: "
|
|
4516
|
+
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-e0624e4c"]]);
|
|
4517
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
4518
|
+
__name: "fixed-table-action",
|
|
4878
4519
|
props: {
|
|
4879
|
-
|
|
4880
|
-
|
|
4520
|
+
tdId: {},
|
|
4521
|
+
formState: {},
|
|
4881
4522
|
widgetCenter: {},
|
|
4882
|
-
|
|
4883
|
-
showDelBtn: { type: Boolean },
|
|
4884
|
-
showQuickFillBtn: { type: Boolean },
|
|
4885
|
-
showInsertMultiple: { type: Boolean, default: true },
|
|
4886
|
-
showEditBtn: { type: Boolean },
|
|
4887
|
-
isMaterialConsume: { type: Boolean },
|
|
4888
|
-
showBom: { type: Boolean },
|
|
4889
|
-
showScanBtn: { type: Boolean },
|
|
4890
|
-
showConfirmBtn: { type: Boolean },
|
|
4891
|
-
noPopover: { type: Boolean },
|
|
4892
|
-
menus: {}
|
|
4523
|
+
fixedTableInfo: {}
|
|
4893
4524
|
},
|
|
4894
4525
|
setup(__props) {
|
|
4526
|
+
const menus = [
|
|
4527
|
+
{
|
|
4528
|
+
type: SubTableActionMenuTypeEnum.ACTION,
|
|
4529
|
+
key: SubTableActionEnum.QuickFillRowCurrent,
|
|
4530
|
+
label: "快速填报",
|
|
4531
|
+
icon: "icon-zhongxinbianjidangqianhang"
|
|
4532
|
+
}
|
|
4533
|
+
];
|
|
4895
4534
|
const props = __props;
|
|
4896
|
-
const
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
4901
|
-
|
|
4902
|
-
|
|
4903
|
-
|
|
4904
|
-
|
|
4905
|
-
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4535
|
+
const onMenuClick = async ({ key }) => {
|
|
4536
|
+
if (key === "quickFillRowCurrent") {
|
|
4537
|
+
const { fixedTableInfo } = props;
|
|
4538
|
+
const {
|
|
4539
|
+
range,
|
|
4540
|
+
dgRange,
|
|
4541
|
+
subFieldKey,
|
|
4542
|
+
fillDirection: dgDirection,
|
|
4543
|
+
columns,
|
|
4544
|
+
columnKeys
|
|
4545
|
+
} = fixedTableInfo;
|
|
4546
|
+
const rowCount = range.b - range.t + 1;
|
|
4547
|
+
const colCount = range.r - range.l + 1;
|
|
4548
|
+
const dgRowCount = dgRange.b - dgRange.t + 1;
|
|
4549
|
+
const dgColCount = dgRange.r - dgRange.l + 1;
|
|
4550
|
+
const res = await window.NocodeAdapter.utils.overlay.modal(
|
|
4551
|
+
FixedQuickFillModal,
|
|
4552
|
+
{
|
|
4553
|
+
rowCount,
|
|
4554
|
+
colCount,
|
|
4555
|
+
dgRowCount,
|
|
4556
|
+
dgColCount,
|
|
4557
|
+
dgDirection,
|
|
4558
|
+
columns
|
|
4559
|
+
},
|
|
4560
|
+
{ title: "快速填报", width: "1060px" }
|
|
4561
|
+
);
|
|
4562
|
+
if (res.ok && res.params?.data.length) {
|
|
4563
|
+
const newGroupList = [...res.params.data];
|
|
4564
|
+
let activeIndex = 0;
|
|
4565
|
+
props.formState[subFieldKey].forEach((oldGroup) => {
|
|
4566
|
+
const isEmpty = getIsGroupEmpty(oldGroup, columnKeys);
|
|
4567
|
+
if (isEmpty) {
|
|
4568
|
+
const newGroup = newGroupList[activeIndex];
|
|
4569
|
+
if (newGroup) {
|
|
4570
|
+
Object.assign(oldGroup, newGroup);
|
|
4571
|
+
activeIndex++;
|
|
4572
|
+
}
|
|
4573
|
+
}
|
|
4574
|
+
});
|
|
4575
|
+
}
|
|
4576
|
+
}
|
|
4577
|
+
};
|
|
4578
|
+
return (_ctx, _cache) => {
|
|
4579
|
+
return openBlock(), createBlock(SubTableAction, {
|
|
4580
|
+
showQuickFillBtn: "",
|
|
4581
|
+
menus,
|
|
4582
|
+
onMenuClick
|
|
4583
|
+
});
|
|
4584
|
+
};
|
|
4585
|
+
}
|
|
4586
|
+
});
|
|
4587
|
+
const DocumentPaper = /* @__PURE__ */ defineComponent({
|
|
4588
|
+
name: "NocodeDocumentPaper",
|
|
4589
|
+
props: {
|
|
4590
|
+
/** 页面内容信息 */
|
|
4591
|
+
page: {
|
|
4592
|
+
type: Object,
|
|
4593
|
+
required: true
|
|
4594
|
+
},
|
|
4595
|
+
/** 映射信息 */
|
|
4596
|
+
basicInfo: {
|
|
4597
|
+
type: Object,
|
|
4598
|
+
required: true
|
|
4599
|
+
},
|
|
4600
|
+
/** 表单数据 */
|
|
4601
|
+
formState: {
|
|
4602
|
+
type: Object,
|
|
4603
|
+
required: true
|
|
4604
|
+
},
|
|
4605
|
+
/** 模板数据中心 */
|
|
4606
|
+
widgetCenter: {
|
|
4607
|
+
type: Object,
|
|
4608
|
+
required: true
|
|
4609
|
+
},
|
|
4610
|
+
/** 是否是移动端渲染 */
|
|
4611
|
+
isMobile: {
|
|
4612
|
+
type: Boolean
|
|
4613
|
+
},
|
|
4614
|
+
selfInfoList: {
|
|
4615
|
+
type: Array
|
|
4616
|
+
}
|
|
4617
|
+
},
|
|
4618
|
+
setup(props, {
|
|
4619
|
+
slots
|
|
4620
|
+
}) {
|
|
4621
|
+
provide(NCB_PROVIDE.DATA_RELATION_SHIP, props.basicInfo);
|
|
4622
|
+
provide(NCB_PROVIDE.FORM_INST_LIST, props.selfInfoList);
|
|
4623
|
+
const tmplBomCMap = inject(NCB_PROVIDE.TMPL_BOM_CONTROLLER_MAP);
|
|
4624
|
+
const tmplBomController = computed(() => tmplBomCMap.value?.[props.basicInfo?.uniqueId]);
|
|
4625
|
+
const subTableCoreFactoryMap = inject(NCB_PROVIDE.SUB_TABLE_CORE_FACTORY_MAP);
|
|
4626
|
+
const subTableCoreFactory = computed(() => subTableCoreFactoryMap.value?.[props.basicInfo?.uniqueId]);
|
|
4627
|
+
const filledFixedTableKeys = ref([]);
|
|
4628
|
+
const fixedTables = computed(() => {
|
|
4629
|
+
const info = props.selfInfoList?.[0];
|
|
4630
|
+
if (!info) {
|
|
4631
|
+
return [];
|
|
4632
|
+
}
|
|
4633
|
+
const designer = JSON.parse(info.designerJson || "{}");
|
|
4634
|
+
return designer.sheets?.[0]?.paper?.fixedTables || designer.fixedTables || [];
|
|
4635
|
+
});
|
|
4636
|
+
const fixedTableInfoMap = computed(() => {
|
|
4637
|
+
const {
|
|
4638
|
+
widgetCenter
|
|
4639
|
+
} = props;
|
|
4640
|
+
const map = {};
|
|
4641
|
+
fixedTables.value.forEach((table) => {
|
|
4642
|
+
const {
|
|
4643
|
+
field: subFieldKey,
|
|
4644
|
+
model: subModelKey,
|
|
4645
|
+
range,
|
|
4646
|
+
dgRange,
|
|
4647
|
+
fillDirection,
|
|
4648
|
+
quickFill
|
|
4649
|
+
} = table;
|
|
4650
|
+
const {
|
|
4651
|
+
r: colNo,
|
|
4652
|
+
t: rowNo
|
|
4653
|
+
} = range;
|
|
4654
|
+
const trId = widgetCenter[ComponentTypeEnum.PAPER].nextIds[rowNo - 1];
|
|
4655
|
+
const tdId = widgetCenter[trId].nextIds[colNo - 1];
|
|
4656
|
+
const newOptions = widgetCenter[tdId]?.cellWidget?.props?.newSpecificConfig?.newOptions || [];
|
|
4657
|
+
const columns = Object.values(widgetCenter[ComponentTypeEnum.PAPER].props.fixedTableFieldMap || {}).map((o) => o.fieldMeta).filter((m) => m?.subFieldKey === subFieldKey).map((m) => ({
|
|
4658
|
+
prop: m.field,
|
|
4659
|
+
fieldType: m.fieldType,
|
|
4660
|
+
newOptions
|
|
4661
|
+
}));
|
|
4662
|
+
const columnKeys = columns.map((c) => c.prop);
|
|
4663
|
+
map[tdId] = {
|
|
4664
|
+
subFieldKey,
|
|
4665
|
+
subModelKey,
|
|
4666
|
+
range,
|
|
4667
|
+
dgRange,
|
|
4668
|
+
fillDirection,
|
|
4669
|
+
columns,
|
|
4670
|
+
columnKeys,
|
|
4671
|
+
// 兼容历史数据,[固定表]默认开启 快速填报
|
|
4672
|
+
quickFillVisible: quickFill === void 0 ? true : quickFill
|
|
4673
|
+
};
|
|
4674
|
+
});
|
|
4675
|
+
return map;
|
|
4676
|
+
});
|
|
4677
|
+
watch(() => props.formState, (formState) => {
|
|
4678
|
+
filledFixedTableKeys.value = fixedTables.value.map((t) => t.field).filter((subTableField) => {
|
|
4679
|
+
const info = Object.values(fixedTableInfoMap.value).find((item) => item.subFieldKey === subTableField);
|
|
4680
|
+
const colKeys = info?.columnKeys || [];
|
|
4681
|
+
return formState[subTableField]?.every((g) => !getIsGroupEmpty(g, colKeys));
|
|
4682
|
+
});
|
|
4683
|
+
}, {
|
|
4684
|
+
deep: true,
|
|
4685
|
+
immediate: true
|
|
4686
|
+
});
|
|
4687
|
+
const mainTableRef = ref();
|
|
4688
|
+
const isPdfMode = inject(NCB_PROVIDE.IS_PDF, false);
|
|
4689
|
+
const openFillFieldsModal = inject(NCB_PROVIDE.MOBILE_FILL_FIELDS_POPUP);
|
|
4690
|
+
const widget = props.widgetCenter?.[ComponentTypeEnum.PAPER];
|
|
4691
|
+
const {
|
|
4692
|
+
pageMargins,
|
|
4693
|
+
pageSize,
|
|
4694
|
+
pageWidth,
|
|
4695
|
+
pageHeight,
|
|
4696
|
+
colsWidth,
|
|
4697
|
+
subTable2DList
|
|
4698
|
+
} = widget.props;
|
|
4699
|
+
provide(NCB_PROVIDE.PAGER, widget);
|
|
4700
|
+
const size = [pageWidth, pageHeight];
|
|
4701
|
+
const sortSize = size.slice().sort();
|
|
4702
|
+
const isLandscape = JSON.stringify(size) !== JSON.stringify(sortSize);
|
|
4703
|
+
const orientation = isLandscape ? "landscape" : "portrait";
|
|
4704
|
+
const resultSize = isLandscape && isPdfMode ? sortSize : size;
|
|
4705
|
+
const paddings = pageMargins?.split(" ");
|
|
4706
|
+
const config = {
|
|
4707
|
+
cls: orientation,
|
|
4708
|
+
style: {
|
|
4709
|
+
width: `${resultSize[0]}mm`,
|
|
4710
|
+
height: `${resultSize[1]}mm`
|
|
4711
|
+
}
|
|
4712
|
+
};
|
|
4713
|
+
const paperStyles = {
|
|
4714
|
+
width: `${pageWidth}mm`,
|
|
4715
|
+
minWidth: `${pageWidth}mm`,
|
|
4716
|
+
height: `${pageHeight}mm`,
|
|
4717
|
+
padding: pageMargins,
|
|
4718
|
+
"--pageWidth": `-${pageWidth}mm`
|
|
4719
|
+
};
|
|
4720
|
+
const overlayStyle = {
|
|
4721
|
+
["--offset-top"]: paddings?.[0] || "0px",
|
|
4722
|
+
["--offset-right"]: paddings?.[1] || "0px",
|
|
4723
|
+
["--offset-bottom"]: paddings?.[2] || "0px",
|
|
4724
|
+
["--offset-left"]: paddings?.[3] || "0px"
|
|
4725
|
+
};
|
|
4726
|
+
const getWidgetAttrs = (tdInfo) => {
|
|
4727
|
+
const attrInfo = {
|
|
4728
|
+
formData: props.formState
|
|
4729
|
+
};
|
|
4730
|
+
const field = tdInfo.props.fixedTableFieldId ?? "";
|
|
4731
|
+
if (tdInfo.props.isNewFixedTableTd) {
|
|
4732
|
+
const cellFixedTableDataIdx = tdInfo.cellFixedTableDataIdx ?? 0;
|
|
4733
|
+
Object.assign(attrInfo, {
|
|
4734
|
+
formData: props.formState?.[field]?.[cellFixedTableDataIdx] ?? {},
|
|
4735
|
+
subtableFieldId: field,
|
|
4736
|
+
realRowIndex: cellFixedTableDataIdx,
|
|
4737
|
+
pageRowIndex: cellFixedTableDataIdx
|
|
4738
|
+
});
|
|
4739
|
+
} else if (tdInfo.props.isNewCheckTable2D) {
|
|
4740
|
+
const {
|
|
4741
|
+
checkTableType
|
|
4742
|
+
} = tdInfo.props;
|
|
4743
|
+
const rowIdx = tdInfo.cellCheckTableDataRowIdx ?? 0;
|
|
4744
|
+
const colIdx = tdInfo.cellCheckTableDataColIdx ?? 0;
|
|
4745
|
+
const baseInfo = {
|
|
4746
|
+
subtableFieldId: field,
|
|
4747
|
+
realRowIndex: rowIdx,
|
|
4748
|
+
pageRowIndex: rowIdx,
|
|
4749
|
+
/** 检验表列坐标,与 realRowIndex 解耦,不改变原有 formData 绑定逻辑 */
|
|
4750
|
+
realColIndex: colIdx
|
|
4751
|
+
};
|
|
4752
|
+
switch (checkTableType) {
|
|
4753
|
+
case "col":
|
|
4754
|
+
baseInfo.formData = props.formState?.[field]?.[colIdx] ?? {};
|
|
4755
|
+
baseInfo.realRowIndex = colIdx;
|
|
4756
|
+
baseInfo.pageRowIndex = colIdx;
|
|
4757
|
+
break;
|
|
4758
|
+
case "row":
|
|
4759
|
+
baseInfo.formData = props.formState?.[field]?.[rowIdx] ?? {};
|
|
4760
|
+
break;
|
|
4761
|
+
case "child":
|
|
4762
|
+
baseInfo.formData = props.formState?.[field]?.[rowIdx]?.["_2DTABLE_"]?.[colIdx] ?? {};
|
|
4763
|
+
baseInfo.childSubTableDataIndex = colIdx;
|
|
4764
|
+
break;
|
|
4765
|
+
}
|
|
4766
|
+
Object.assign(attrInfo, baseInfo);
|
|
4767
|
+
}
|
|
4768
|
+
return attrInfo;
|
|
4769
|
+
};
|
|
4770
|
+
onMounted(async () => {
|
|
4771
|
+
if (props.basicInfo.renderModeType === RenderModeEnum.ViewMode) {
|
|
4772
|
+
await waitDomStable(mainTableRef.value, void 0, void 0, props.basicInfo.__isPrintRender);
|
|
4773
|
+
mergeMarkedTd();
|
|
4774
|
+
}
|
|
4775
|
+
});
|
|
4776
|
+
return () => createVNode("div", {
|
|
4777
|
+
"class": ["cmp-paper-wrapper", pageSize, config.cls, {
|
|
4778
|
+
"print-view": isPdfMode,
|
|
4779
|
+
// 单份打印可选隐藏字段控件底色;未显式传 false 时保持查看态底色。
|
|
4780
|
+
"hide-print-field-bg": props.basicInfo.showPrintFieldBg === false
|
|
4781
|
+
}],
|
|
4782
|
+
"style": {
|
|
4783
|
+
...config.style,
|
|
4784
|
+
...overlayStyle
|
|
4785
|
+
},
|
|
4786
|
+
"data-nocode-orientation": config.cls,
|
|
4787
|
+
"data-nocode-width": pageWidth,
|
|
4788
|
+
"data-nocode-height": pageHeight
|
|
4789
|
+
}, [createVNode("div", {
|
|
4790
|
+
"class": "cmp-paper",
|
|
4791
|
+
"style": paperStyles
|
|
4792
|
+
}, [createVNode("div", {
|
|
4793
|
+
"class": "cmp-paper-overlay"
|
|
4794
|
+
}, [slots.annotation?.(), widget.headerWidgets && createVNode("div", {
|
|
4795
|
+
"class": "paper-header"
|
|
4796
|
+
}, [slots.overlay?.({
|
|
4797
|
+
widgets: widget.headerWidgets
|
|
4798
|
+
})]), widget.footerWidgets && createVNode("div", {
|
|
4799
|
+
"class": "paper-footer"
|
|
4800
|
+
}, [slots.overlay?.({
|
|
4801
|
+
widgets: widget.footerWidgets
|
|
4802
|
+
})]), widget.watermarks && createVNode("div", {
|
|
4803
|
+
"class": "paper-watermark"
|
|
4804
|
+
}, [slots.overlay?.({
|
|
4805
|
+
widgets: widget.watermarks
|
|
4806
|
+
})])]), createVNode("div", {
|
|
4807
|
+
"class": "cmp-paper-container"
|
|
4808
|
+
}, [createVNode("table", {
|
|
4809
|
+
"ref": mainTableRef,
|
|
4810
|
+
"class": "main-table-wrapper",
|
|
4811
|
+
"cellpadding": "0",
|
|
4812
|
+
"cellspacing": "0"
|
|
4813
|
+
}, [createVNode("colgroup", null, [colsWidth.map((cw, cwIdx) => createVNode("col", {
|
|
4814
|
+
"key": cwIdx,
|
|
4815
|
+
"width": cw
|
|
4816
|
+
}, null))]), createVNode("tbody", null, [props.page.containerIds.map((trId, trIndex) => {
|
|
4817
|
+
const trInfo = props.widgetCenter[trId];
|
|
4818
|
+
const tdIds = trInfo.nextIds;
|
|
4819
|
+
const height = props.page.dynamicRowHeights?.[trId] || trInfo.props.height;
|
|
4820
|
+
return createVNode("tr", {
|
|
4821
|
+
"key": `${trId}_${trIndex}`,
|
|
4822
|
+
"height": height
|
|
4823
|
+
}, [tdIds.map((tdId) => {
|
|
4824
|
+
const tdInfo = props.widgetCenter[tdId];
|
|
4825
|
+
const tdAttrs = {
|
|
4826
|
+
key: tdId,
|
|
4827
|
+
id: tdId,
|
|
4828
|
+
hidden: tdInfo.cellHidden,
|
|
4829
|
+
borderAttrs: tdInfo.props.sourceBorderAttrs,
|
|
4830
|
+
autoMerge: tdInfo.fillDirection === "x" ? tdInfo.xAutoMerge : tdInfo.autoMerge,
|
|
4831
|
+
fillDirection: tdInfo.fillDirection,
|
|
4832
|
+
...pick(tdInfo.props, ["rowspan", "colspan", "class"])
|
|
4833
|
+
};
|
|
4834
|
+
const realTdAttrInfo = props.page.mergeBlock?.[tdId];
|
|
4835
|
+
const dynamicConfig = {};
|
|
4836
|
+
if (realTdAttrInfo) {
|
|
4837
|
+
Object.assign(tdAttrs, {
|
|
4838
|
+
...pick(realTdAttrInfo, ["rowspan", "colspan", "borderAttrs"]),
|
|
4839
|
+
hidden: false
|
|
4840
|
+
});
|
|
4841
|
+
Object.assign(dynamicConfig, {
|
|
4842
|
+
...pick(realTdAttrInfo, ["visibleText", "sourceTdId", "isDynRo"])
|
|
4843
|
+
});
|
|
4844
|
+
}
|
|
4845
|
+
const subInfo = props.page.subTableMap?.[tdId];
|
|
4846
|
+
if (subInfo && subInfo.wrapperTdId === tdId) {
|
|
4847
|
+
const subWidget = props.widgetCenter[subInfo.widgetId];
|
|
4848
|
+
const field = subWidget.props.field ?? "";
|
|
4849
|
+
const relationObj = props.page.relation[field] ?? {};
|
|
4850
|
+
const subTable2dItem = subTable2DList.find((item) => item.subTable2d && item.rowSubFieldKey === field);
|
|
4851
|
+
if (subWidget.props.isMaterialConsumeTable) {
|
|
4852
|
+
const tableController = tmplBomController.value?.tableControllers[subWidget.props.materialConsumeTableId];
|
|
4853
|
+
if (tableController) {
|
|
4854
|
+
return createVNode("td", mergeProps({
|
|
4855
|
+
"style": tdInfo.style
|
|
4856
|
+
}, tdAttrs), [createVNode(MaterialConsumeTable, {
|
|
4857
|
+
"subInfo": subInfo,
|
|
4858
|
+
"widget": subWidget,
|
|
4859
|
+
"formData": props.formState,
|
|
4860
|
+
"widgetCenter": props.widgetCenter,
|
|
4861
|
+
"start": relationObj?.start,
|
|
4862
|
+
"end": relationObj.end,
|
|
4863
|
+
"isMobile": props.isMobile,
|
|
4864
|
+
"tableController": tableController
|
|
4865
|
+
}, {
|
|
4866
|
+
widget: (subProps) => slots.widget?.(subProps),
|
|
4867
|
+
subAction: (subProps) => slots.subAction?.(subProps)
|
|
4868
|
+
})]);
|
|
4869
|
+
}
|
|
4870
|
+
}
|
|
4871
|
+
const subTableCore = subTableCoreFactory.value?.getSubCoreByTid(subInfo.widgetId);
|
|
4872
|
+
return createVNode("td", mergeProps({
|
|
4873
|
+
"style": tdInfo.style
|
|
4874
|
+
}, tdAttrs), [createVNode(DocumentSubTable, {
|
|
4875
|
+
"subInfo": subInfo,
|
|
4876
|
+
"widget": subWidget,
|
|
4877
|
+
"subTable2dItem": subTable2dItem,
|
|
4878
|
+
"formData": props.formState,
|
|
4879
|
+
"widgetCenter": props.widgetCenter,
|
|
4880
|
+
"start": relationObj?.start,
|
|
4881
|
+
"end": relationObj.end,
|
|
4882
|
+
"isMobile": props.isMobile,
|
|
4883
|
+
"subTableCore": subTableCore
|
|
4884
|
+
}, {
|
|
4885
|
+
widget: (subProps) => slots.widget?.(subProps),
|
|
4886
|
+
subAction: (subProps) => slots.subAction?.(subProps)
|
|
4887
|
+
})]);
|
|
4888
|
+
}
|
|
4889
|
+
if (tdInfo.cellValueType) {
|
|
4890
|
+
const widgetAttrs = getWidgetAttrs(tdInfo);
|
|
4891
|
+
if (props.isMobile) {
|
|
4892
|
+
Object.assign(tdAttrs, {
|
|
4893
|
+
onClick: setSelectMobileTdId.bind(null, tdInfo, props.basicInfo, props.widgetCenter, openFillFieldsModal, -1)
|
|
4894
|
+
});
|
|
4895
|
+
}
|
|
4896
|
+
const fixedTableInfo = fixedTableInfoMap.value[tdId];
|
|
4897
|
+
return createVNode(BorderTD, mergeProps({
|
|
4898
|
+
"style": tdInfo.style
|
|
4899
|
+
}, tdAttrs, {
|
|
4900
|
+
"isEmpty": true
|
|
4901
|
+
}), {
|
|
4902
|
+
default: () => tdInfo.cellValueType !== CellType.Default || tdInfo.cellWidget.props.value ? slots.widget?.({
|
|
4903
|
+
tdInfo,
|
|
4904
|
+
...widgetAttrs,
|
|
4905
|
+
dynamicConfig
|
|
4906
|
+
}) : null,
|
|
4907
|
+
// [固定表]右上角 加装 操作按钮
|
|
4908
|
+
tableAction: (() => {
|
|
4909
|
+
const fixedTableActionVisible = fixedTableInfo?.quickFillVisible && !filledFixedTableKeys.value.includes(fixedTableInfo.subFieldKey);
|
|
4910
|
+
return () => fixedTableActionVisible ? createVNode(_sfc_main$2, {
|
|
4911
|
+
"tdId": tdId,
|
|
4912
|
+
"formState": props.formState,
|
|
4913
|
+
"widgetCenter": props.widgetCenter,
|
|
4914
|
+
"fixedTableInfo": fixedTableInfo
|
|
4915
|
+
}, null) : null;
|
|
4916
|
+
})()
|
|
4917
|
+
});
|
|
4918
|
+
}
|
|
4919
|
+
if (realTdAttrInfo && tdInfo.cellHidden) {
|
|
4920
|
+
const sourceTdInfo = props.widgetCenter[dynamicConfig?.sourceTdId];
|
|
4921
|
+
const widgetAttrs = getWidgetAttrs(tdInfo);
|
|
4922
|
+
return createVNode(BorderTD, mergeProps({
|
|
4923
|
+
"style": tdInfo.style
|
|
4924
|
+
}, tdAttrs, {
|
|
4925
|
+
"isEmpty": true
|
|
4926
|
+
}), {
|
|
4927
|
+
default: () => [dynamicConfig?.isDynRo ? slots.widget?.({
|
|
4928
|
+
tdInfo: sourceTdInfo,
|
|
4929
|
+
...widgetAttrs,
|
|
4930
|
+
dynamicConfig
|
|
4931
|
+
}) : null]
|
|
4932
|
+
});
|
|
4933
|
+
}
|
|
4934
|
+
})]);
|
|
4935
|
+
})])])])])]);
|
|
4936
|
+
}
|
|
4937
|
+
});
|
|
4938
|
+
const _hoisted_1 = { class: "document-quick-fill-container" };
|
|
4939
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
4940
|
+
__name: "dynamic-quick-fill-modal",
|
|
4941
|
+
props: {
|
|
4942
|
+
columns: {},
|
|
4943
|
+
modal: {},
|
|
4944
|
+
callback: {}
|
|
4945
|
+
},
|
|
4946
|
+
setup(__props) {
|
|
4947
|
+
const props = __props;
|
|
4948
|
+
const rows = ref([]);
|
|
4949
|
+
function makeEmptyRow() {
|
|
4950
|
+
return Object.fromEntries(props.columns.map((c) => [c.prop, ""]));
|
|
4951
|
+
}
|
|
4952
|
+
function initRows(count = 10) {
|
|
4953
|
+
rows.value = Array.from({ length: count }, () => makeEmptyRow());
|
|
4954
|
+
}
|
|
4955
|
+
onBeforeMount(() => {
|
|
4956
|
+
initRows(200);
|
|
4957
|
+
});
|
|
4958
|
+
async function onSave() {
|
|
4959
|
+
try {
|
|
4960
|
+
return {
|
|
4961
|
+
ok: true,
|
|
4962
|
+
params: {
|
|
4963
|
+
data: processQuickFillRows(unref(rows), props.columns)
|
|
4964
|
+
}
|
|
4965
|
+
};
|
|
4966
|
+
} catch (err) {
|
|
4967
|
+
console.warn(err);
|
|
4968
|
+
}
|
|
4969
|
+
return {
|
|
4970
|
+
ok: false
|
|
4971
|
+
};
|
|
4972
|
+
}
|
|
4973
|
+
useModal(onSave);
|
|
4974
|
+
return (_ctx, _cache) => {
|
|
4975
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
4976
|
+
_cache[0] || (_cache[0] = createElementVNode("div", { class: "quick-fill-tips" }, [
|
|
4977
|
+
createElementVNode("i", { class: "iconfont icon-zhuyi" }),
|
|
4978
|
+
createElementVNode("ul", { class: "tips-list" }, [
|
|
4979
|
+
createElementVNode("li", null, "可将Excel内容粘贴到表格中,支持使用复制、粘贴、删除快捷键"),
|
|
4980
|
+
createElementVNode("li", null, "表单中支持快速填报的字段类型:文本、长文本、整数、长整数、小数、精度小数、日期、时间、日期时间、LOT/SN、报废物料批次、枚举单选、枚举多选(选项间以“,”分割)"),
|
|
4981
|
+
createElementVNode("li", null, "当前快速填报最多支持200行")
|
|
4982
|
+
])
|
|
4983
|
+
], -1)),
|
|
4984
|
+
createVNode(unref(q), {
|
|
4985
|
+
class: "cell-border",
|
|
4986
|
+
range: "",
|
|
4987
|
+
resize: "",
|
|
4988
|
+
colSize: 200,
|
|
4989
|
+
source: rows.value,
|
|
4990
|
+
columns: __props.columns,
|
|
4991
|
+
theme: "material",
|
|
4992
|
+
"hide-attribution": "",
|
|
4993
|
+
"apply-on-close": true,
|
|
4994
|
+
"row-headers": { prop: "rowIndex", name: "序号", size: 60 }
|
|
4995
|
+
}, null, 8, ["source", "columns"])
|
|
4996
|
+
]);
|
|
4997
|
+
};
|
|
4998
|
+
}
|
|
4999
|
+
});
|
|
5000
|
+
const DynamicQuickFillModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ae9acd3f"]]);
|
|
5001
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5002
|
+
__name: "dynamic-table-action",
|
|
5003
|
+
props: {
|
|
5004
|
+
subTableFieldId: {},
|
|
5005
|
+
mobileTdIdGroups: {},
|
|
5006
|
+
widgetCenter: {},
|
|
5007
|
+
handleMenuClick: {},
|
|
5008
|
+
showDelBtn: { type: Boolean },
|
|
5009
|
+
showQuickFillBtn: { type: Boolean },
|
|
5010
|
+
showInsertMultiple: { type: Boolean, default: true },
|
|
5011
|
+
showEditBtn: { type: Boolean },
|
|
5012
|
+
isMaterialConsume: { type: Boolean },
|
|
5013
|
+
showBom: { type: Boolean },
|
|
5014
|
+
showScanBtn: { type: Boolean },
|
|
5015
|
+
showConfirmBtn: { type: Boolean },
|
|
5016
|
+
noPopover: { type: Boolean },
|
|
5017
|
+
menus: {}
|
|
5018
|
+
},
|
|
5019
|
+
setup(__props) {
|
|
5020
|
+
const props = __props;
|
|
5021
|
+
const fieldColumn = computed(() => {
|
|
5022
|
+
const info = getSubTableQuickFillInfo(props.subTableFieldId, props.mobileTdIdGroups);
|
|
5023
|
+
if (!info?.mainWidgetIds?.length) return [];
|
|
4917
5024
|
return info.mainWidgetIds.flatMap((tdId) => {
|
|
4918
5025
|
const widget = props.widgetCenter?.[tdId];
|
|
4919
5026
|
if (!widget) return [];
|
|
@@ -4923,7 +5030,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4923
5030
|
const wProps = cellWidget.props || {};
|
|
4924
5031
|
const { isFieldModel, field, fieldType, newSpecificConfig } = wProps;
|
|
4925
5032
|
if (isFieldModel) return [];
|
|
4926
|
-
if (!
|
|
5033
|
+
if (!QUICK_FILL_ALLOWED_FIELDS.has(fieldType)) return [];
|
|
4927
5034
|
return {
|
|
4928
5035
|
fieldType,
|
|
4929
5036
|
field,
|
|
@@ -4936,7 +5043,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4936
5043
|
const onMenuClick = async ({ key, actionValue }) => {
|
|
4937
5044
|
if (key === "quickFillRowCurrent") {
|
|
4938
5045
|
const res = await window.NocodeAdapter.utils.overlay.modal(
|
|
4939
|
-
|
|
5046
|
+
DynamicQuickFillModal,
|
|
4940
5047
|
{ columns: fieldColumn.value },
|
|
4941
5048
|
{ title: "快速填报", width: "1060px" }
|
|
4942
5049
|
);
|
|
@@ -4972,20 +5079,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4972
5079
|
};
|
|
4973
5080
|
}
|
|
4974
5081
|
});
|
|
4975
|
-
const
|
|
5082
|
+
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-53d7e66c"]]);
|
|
4976
5083
|
export {
|
|
4977
5084
|
BorderTD as B,
|
|
4978
5085
|
DeviceLinkTmplUtil as D,
|
|
4979
|
-
|
|
5086
|
+
FixedQuickFillModal as F,
|
|
4980
5087
|
MaterialConsumptionPatternEnum as M,
|
|
4981
5088
|
SubTableCore as S,
|
|
4982
|
-
_sfc_main$
|
|
5089
|
+
_sfc_main$6 as _,
|
|
4983
5090
|
useFormTmplConfig as a,
|
|
4984
5091
|
useStyles as b,
|
|
4985
5092
|
useDependency as c,
|
|
4986
5093
|
useValidator as d,
|
|
4987
5094
|
DocumentPaper as e,
|
|
4988
|
-
|
|
5095
|
+
DynamicTableAction as f,
|
|
4989
5096
|
MaterialConsumeTableController as g,
|
|
4990
5097
|
SubTableActionMenuTypeEnum as h,
|
|
4991
5098
|
getMenuByAction as i,
|
|
@@ -4994,11 +5101,12 @@ export {
|
|
|
4994
5101
|
getInsertSubMenu as l,
|
|
4995
5102
|
useMaterialBalance as m,
|
|
4996
5103
|
commonUtils as n,
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5104
|
+
DeviceConnector as o,
|
|
5105
|
+
DocumentLoading as p,
|
|
5106
|
+
DynamicQuickFillModal as q,
|
|
5107
|
+
FormTmplConfigController as r,
|
|
5108
|
+
MCDataUtil as s,
|
|
5109
|
+
useOnlineFormActionButton as t,
|
|
5002
5110
|
useOnlineFormTransformField2Component as u,
|
|
5003
5111
|
validate as v
|
|
5004
5112
|
};
|