@gct-paas/excel 0.1.19 → 0.1.21
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-Bt1Le9qP.js → VueVideoPlayer-Bf0x69CJ.js} +2 -2
- package/dist/{agg-design-B_5evAJ0.js → agg-design-CLSOm6QJ.js} +1 -1
- package/dist/{agg-props-C62Ecenu.js → agg-props-4nnDqWtf.js} +1 -1
- package/dist/{agg-style-Q0xSL8Ye.js → agg-style-FHSkeH5u.js} +1 -1
- package/dist/{align-editor-D_LtYlh3.js → align-editor-Bf391dfO.js} +1 -1
- package/dist/{attach-fields-editor-3v3VNOfe.js → attach-fields-editor-U0Vg4ar8.js} +3 -2
- package/dist/{barcode-design-lusKmMnv.js → barcode-design-XLuURxqD.js} +2 -2
- package/dist/base/index.es.js +352 -177
- package/dist/{base-font-editor-DmasOst9.js → base-font-editor-adnb7ShQ.js} +3 -2
- package/dist/{boolean-design-BqGJVhKn.js → boolean-design-Bk3jIc2m.js} +2 -2
- package/dist/{boolean-props-DS7J4GHS.js → boolean-props-D1C7P7oX.js} +3 -3
- package/dist/{boolean-style-C9FslVV7.js → boolean-style-CWmep9-Y.js} +4 -4
- package/dist/{cell-upload-BFw5Yg_j.js → cell-upload-wzPF8ovv.js} +3 -2
- package/dist/{date-range-editor-PmJBHc8i.js → date-range-editor-CGCLkDFp.js} +3 -2
- package/dist/{date-time-design-DQ_Z-xUx.js → date-time-design-CG6fhsBd.js} +1 -1
- package/dist/{date-time-props-DfZoJukN.js → date-time-props-DGa4XIFD.js} +3 -3
- package/dist/{date-time-style-Doye-MHk.js → date-time-style-C5xs_HQX.js} +1 -1
- package/dist/{decimal-design-Bg-tdrtL.js → decimal-design-Dg2PWB7J.js} +1 -1
- package/dist/{decimal-display-mode-D_K6_XX1.js → decimal-display-mode-B5nxWZnK.js} +2 -2
- package/dist/{decimal-props-4QveEdf3.js → decimal-props-BUduwEu5.js} +4 -4
- package/dist/{decimal-style-B-n8SfAy.js → decimal-style-CW6QyMh0.js} +1 -1
- package/dist/{default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-B3GvGAje.js → default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-BlQSjkvP.js} +3 -2
- package/dist/{diagonal-design-B_l3lV5s.js → diagonal-design-xlveiCza.js} +2 -2
- package/dist/{double-design-BaWZXLjK.js → double-design-Dkzgoo0g.js} +1 -1
- package/dist/{double-props-sDsBpAER.js → double-props-DwI5z-Mz.js} +4 -4
- package/dist/{double-style--oSjQw07.js → double-style-B09n2Oup.js} +1 -1
- package/dist/{dynamic-table-action-zLjamAaN.js → dynamic-table-action-KwzaoPBC.js} +130 -271
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_94e9d614_lang-UooIxEeL.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-ByU7Owiw.js} +436 -306
- package/dist/{edit.utils-CXmmCnxE-BrwRVXLT.js → edit.utils-CXmmCnxE-Do4weQUL.js} +1 -1
- package/dist/{enum-design-BgVuHvvu.js → enum-design-D_hYB8q2.js} +2 -2
- package/dist/{enum-props-DYN6LsLg.js → enum-props-SHpVl7is.js} +4 -4
- package/dist/{enum-style-D56_-gMw.js → enum-style-zTZKj6Li.js} +3 -3
- package/dist/excel.css +10119 -10237
- package/dist/{exceljs.min-DQkwXbni.js → exceljs.min-Dy4OavkS.js} +2 -2
- package/dist/{expression-design-CIMwIArR.js → expression-design-DH37JCnd.js} +1 -1
- package/dist/{expression-props--l3LwKAM.js → expression-props-D4aZ2FzY.js} +1 -1
- package/dist/{expression-style-CjM5oro9.js → expression-style-Bj0tEmqJ.js} +1 -1
- package/dist/{file-design-BYcXA55B.js → file-design-hV82bwcT.js} +1 -1
- package/dist/{file-props-DvsQZUcL.js → file-props-BR0xOn8f.js} +2 -2
- package/dist/{file-style-BiWmCsMZ.js → file-style-CPXRGFCR.js} +1 -1
- package/dist/{font-editor-BaRVmXey.js → font-editor-QrOFLcNA.js} +3 -3
- package/dist/{image-design-Bad-BXel.js → image-design-B3FASJvR.js} +2 -2
- package/dist/{image-design-Dr_w89Hq.js → image-design-WqYFe8Hz.js} +2 -2
- package/dist/{image-props-4lKEAwDq.js → image-props-DZ0lHvNN.js} +1 -1
- package/dist/{image-style-LoHD1zvr.js → image-style-D3jSU46p.js} +1 -1
- package/dist/{index--Bxx_VqV.js → index-4aWfyi4S.js} +2 -2
- package/dist/{index-pPTh0-mL.js → index-B2JfWmQ5.js} +1 -1
- package/dist/{index-D4Yb4Urx.js → index-BCRANZ6N.js} +1 -1
- package/dist/index-BYFfjfXo.js +4198 -0
- package/dist/{index-Bsjegt_0.js → index-BYnhPyxm.js} +1 -1
- package/dist/{index-Vx5npC-J.js → index-B_bGf5j3.js} +2 -2
- package/dist/{index-DRYxbbtG.js → index-BgJenclY.js} +1 -1
- package/dist/{index-CH--dgZ4.js → index-BocrGDq2.js} +1 -1
- package/dist/{index-3qfB5NN-.js → index-BpacgAuY.js} +1 -1
- package/dist/{index-DDnUeBCP.js → index-C9uva5U9.js} +1 -1
- package/dist/{index-D-mFMP7t.js → index-CAp9OIUg.js} +2 -2
- package/dist/{index-COiTpNXf.js → index-CVsM5Bam.js} +1 -1
- package/dist/{index-Ce0SltjH.js → index-Cblyq6yH.js} +1 -1
- package/dist/{index-ByXwQO9g.js → index-ChFaMPeg.js} +2 -2
- package/dist/{index-CqjhgxKH.js → index-Cqh9EW_d.js} +9 -3
- package/dist/{index-B-2N8GeG.js → index-CquVE9ii.js} +1 -1
- package/dist/{index-Dk-CUvB9.js → index-CsLZerBY.js} +42714 -4640
- package/dist/{index-CQ7Hcly4.js → index-D8uy8whi.js} +1 -1
- package/dist/{index-CEufXc_2.js → index-DKR79OBc.js} +1 -1
- package/dist/{index-C7KdVTwU.js → index-DNHA-joo.js} +1 -1
- package/dist/{index-Bki98NXv.js → index-DU3SF4eg.js} +1 -1
- package/dist/{index-CcLTIQGc.js → index-DVaUctcz.js} +1 -1
- package/dist/{index-B9IMST50.js → index-DegtNz07.js} +1 -1
- package/dist/{index-B_VejD7m.js → index-DpFPYL8b.js} +1 -1
- package/dist/{index-BSfbsA-W.js → index-Dvp79b5b.js} +1 -1
- package/dist/{index-CP099vf_.js → index-DxgKf-wy.js} +1 -1
- package/dist/{index-BZYuG4zS.js → index-Jz0_ApK0.js} +1 -1
- package/dist/{index-C6mtZJIQ.js → index-Ol6_R1tg.js} +1 -1
- package/dist/{index-B3YoA1vo.js → index-RY064UmV.js} +1 -1
- package/dist/{index-BsUkUBZV.js → index-dECIkP6q.js} +1 -1
- package/dist/{index-DpPrrfLV.js → index-iGA3l7nd.js} +5 -1
- package/dist/{index-D9CHdykS.js → index-pMF19I7H.js} +1 -1
- package/dist/{index-Dq72GFzs.js → index-wmbtcxzT.js} +2 -2
- package/dist/index.es.js +45 -45
- package/dist/{integer-design-C2EkL0hc.js → integer-design-_-oIGMZi.js} +1 -1
- package/dist/{integer-props-Cs-CvjQS.js → integer-props-CbhqGTWT.js} +5 -4
- package/dist/{integer-style-BtAfQCAn.js → integer-style-CRDDq2e1.js} +1 -1
- package/dist/{mb-render-CsWNoQnS.js → mb-render-Bh6EegbE.js} +1 -30
- package/dist/{number-input-ex-eza87s5O.js → number-input-ex-n0MRaA8Z.js} +2 -1
- package/dist/{org-props-BJ6FKaVj.js → org-props-B_ED1XJd.js} +2 -2
- package/dist/{org-style-LRy5QsV5.js → org-style-P7mL2u1-.js} +1 -1
- package/dist/{pagination-design-sA-kbILI.js → pagination-design-CC2ZvE5K.js} +2 -2
- package/dist/paper-widget-design-CvvM0OZ2.js +4 -0
- package/dist/{qrcode-design-BsWJrsvD.js → qrcode-design-C_G8R7Lo.js} +1 -1
- package/dist/ref-autofill-editor-DdUMjliQ.js +2333 -0
- package/dist/{ref-props-BInJu7PN.js → ref-props-CCwA0E2w.js} +17 -9
- package/dist/{ref-style-Dgc_9tko.js → ref-style-C3Qy3L2V.js} +1 -1
- package/dist/{regex-editor-C09XpMhm.js → regex-editor-CswiNY9l.js} +3 -2
- package/dist/{revo-grid.entry-BIm5A5wM.js → revo-grid.entry-fhJrZlXs.js} +1 -1
- package/dist/{revogr-attribution_7.entry-B06XF5B_.js → revogr-attribution_7.entry-BxX5Aax7.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-C8dVJYtR.js → revogr-clipboard_3.entry-B84Mg6_S.js} +2 -2
- package/dist/{revogr-data_4.entry-Dgp6vYqe.js → revogr-data_4.entry-BSSMKH9X.js} +2 -2
- package/dist/{revogr-filter-panel.entry-xo_juIUc.js → revogr-filter-panel.entry-xjYp1Z8c.js} +1 -1
- package/dist/{select-render-type-editor.vue_vue_type_script_setup_true_lang-vIUGBOWr.js → select-render-type-editor.vue_vue_type_script_setup_true_lang-JwULnnUe.js} +2 -2
- package/dist/{serialnumber-design-mWcys6hI.js → serialnumber-design-qdEzFAi4.js} +1 -1
- package/dist/shared/index.es.js +26 -27
- package/dist/{signature-design-Dl-Lv5Z5.js → signature-design-DyLTKEwS.js} +1 -1
- package/dist/{signature-props-DSzpO-_r.js → signature-props-CXwqrh0H.js} +3 -3
- package/dist/{signature-style-Bk34vOsk.js → signature-style-ibNQSAPQ.js} +1 -1
- package/dist/{single-field-drop-CiPUMT9B.js → single-field-drop-BSdWy-C4.js} +3 -2
- package/dist/{size-editor-B5aunbUM.js → size-editor-8C1AxONY.js} +1 -1
- package/dist/src/nocode-base/src/components/document-quick-fill/fixed-quick-fill-modal.vue.d.ts +5 -1
- package/dist/src/nocode-base/src/components/document-quick-fill/quick-fill.util.d.ts +11 -6
- package/dist/src/nocode-base/src/components/document-sub-table-action/fixed-table-action.vue.d.ts +4 -0
- package/dist/src/nocode-base/src/hooks/annotation/form-annotation-controller.d.ts +14 -148
- package/dist/src/nocode-base/src/hooks/annotation/index.d.ts +0 -1
- 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-web-render/src/index.d.ts +0 -1
- 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/modules/panel/comps/quick-fill-config.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/common/data-source-title.vue.d.ts +2 -2
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/common-select.util.d.ts +47 -0
- package/dist/src/shared/components/Signature/ui/sign-editor.vue.d.ts +2 -2
- 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/src/shared/components/version-select/version-select.vue.d.ts +2 -2
- package/dist/{text-design-BIFz5gw1.js → text-design-BzDtceUO.js} +2 -2
- package/dist/{text-design-C0dORvkP.js → text-design-Di-2lpQC.js} +2 -2
- package/dist/{text-props-ClHI-4aM.js → text-props-YXtd9DCt.js} +5 -5
- package/dist/{text-style-DANM5fvy.js → text-style-BtclwHUQ.js} +1 -1
- package/dist/{throttle-Cpk1LoGk-Da5HSLWc.js → throttle-Cpk1LoGk-BFMM5iqm.js} +1 -1
- package/dist/{timediff-design-BDCsQIal.js → timediff-design-DPDNHC4C.js} +1 -1
- package/dist/{trace-design-CKqq1WH_.js → trace-design-B2tffMF2.js} +2 -2
- package/dist/{trace-props-BI24XFMc.js → trace-props-CWTXFYZ9.js} +24 -16
- package/dist/{trace-style-CX1f7oZH.js → trace-style-AmSVnHXF.js} +1 -1
- package/dist/use-namespace-qtLS8nEh.js +88 -0
- package/dist/{user-props-gF7KPnP8.js → user-props-hR1saiG7.js} +2 -2
- package/dist/{user-style-DIouAMWa.js → user-style-BsMfhFHo.js} +1 -1
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-DHj-zNxm.js → value-editor.vue_vue_type_style_index_0_lang-zAPZ-2E_.js} +2 -2
- package/dist/{version-select-CL3QQGND.js → version-select-CeQP0Bne.js} +1041 -4
- package/dist/web-render/index.es.js +12 -955
- package/dist/{widget-barcode-DZiCyrQW.js → widget-barcode-DPdsvAF5.js} +4 -4
- package/dist/{widget-diagonal-D_Oz8te1.js → widget-diagonal-BfjZGony.js} +4 -3
- package/dist/{widget-image-TL_SLOap.js → widget-image-D_E_0ZEd.js} +5 -5
- package/dist/{widget-line-BQ-qcBUA.js → widget-line-SDiSxrzr.js} +2 -2
- package/dist/{widget-pagination-DciJE9qC.js → widget-pagination-DdIoe9Yy.js} +5 -5
- package/dist/{widget-power-B9KTIpwA.js → widget-power-hifeC3T0.js} +4 -3
- package/dist/{widget-qrcode-DRoj5rSy.js → widget-qrcode-DBEsM1iE.js} +3 -3
- package/dist/{widget-rangelimit-Ckgx3i4r.js → widget-rangelimit-clQ84tvq.js} +4 -3
- package/dist/{widget-serialnumber-aUkR-0yC.js → widget-serialnumber-BXvzHCYR.js} +1 -1
- package/dist/{widget-text-CJIT-hY3.js → widget-text-CPojsb_9.js} +5 -5
- package/dist/{widget-timediff-x-RQMdNg.js → widget-timediff-DGBZsme_.js} +2 -2
- package/package.json +1 -1
- package/dist/AntdIcon-C3RMq2zm.js +0 -1040
- package/dist/form-annotation-controller-Zw6OoPLe.js +0 -707
- package/dist/index-Bm6Hdoud.js +0 -41849
- package/dist/paper-widget-design-BGY5qu-K.js +0 -4
- package/dist/ref-autofill-editor-BbozAOcm.js +0 -673
- package/dist/src/nocode-base/src/hooks/annotation/types.d.ts +0 -16
- package/dist/src/nocode-web-render/src/annotation/form-abandon-medpro-modal.vue.d.ts +0 -15
- package/dist/src/nocode-web-render/src/annotation/form-abandon-modal.vue.d.ts +0 -15
- package/dist/src/nocode-web-render/src/annotation/form-abandon-v2-modal.vue.d.ts +0 -11
- package/dist/src/nocode-web-render/src/annotation/index.d.ts +0 -2
- package/dist/src/nocode-web-render/src/annotation/submit-form-change-modal.vue.d.ts +0 -104
- package/dist/src/nocode-web-render/src/annotation/use-annotation.d.ts +0 -37
|
@@ -1,9 +1,38 @@
|
|
|
1
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, aT as ButtonTypeEnum,
|
|
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, t as FormTypeEnum, aM as safeParseArray, ao as RenderModeEnum, aO as mergeByMultiKey, aS as BpmnSignatureTypeEnum, aN as BpmnNodeTypeEnum, a9 as useWidgetStaticAttrs, bw as assembleRules, bx as deleteFormRule, by as setFormRule, aD as requestDisplayValidation, bz as isReferenceOptionActive, bA as validateAllFields, bB as runValidation, bC as stockCheck, ak as getParseRuleInfo, al as getParseRuleValue, bD as materialCheck, av as calcFillData, aq as FormulaRuleFieldKeyEnum, bE as judgeUnique, g as SubTableType, am as useCurrentPageFormState, N as Dependency_ENUM, M as ASSIGNMENTSTRATEGY_ENUM, aK as uuid2, a1 as DeviceLink, _ as _export_sfc, ah as NCB_PROVIDE, b5 as buildFormChangeDisplayRows, aP as getRowId, bu as resolveRowFormChangeMark, bt as resolveFormChangeRowUi, bj as isAnnLocationSelected, bv as setSelectMobileTdId, bk as isFormChangeGhostRow, h as CellType, ab as setSelectAnnotationId, bp as recordSubtableRowDelete, b7 as deleteSubtableRow, bq as relocateDeletedRowsToEnd, bF as FRONT_ROW_KEY, ax as transformUtils, bi as insertSubtableRows, bo as recordSubtableRowAdd, bG as q, bH as groupFixedTableRows, bI as QUICK_FILL_ALLOWED_FIELDS, bJ as processQuickFillRows, bK as getIsGroupEmpty, bg as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-ByU7Owiw.js";
|
|
4
|
+
import { u as useFormModel, w as watchDebounced } from "./mb-render-Bh6EegbE.js";
|
|
5
5
|
import dayjs from "dayjs";
|
|
6
|
-
import {
|
|
6
|
+
import { a as useNamespace, u as useModal } from "./use-namespace-qtLS8nEh.js";
|
|
7
|
+
import { Modal, message } from "ant-design-vue";
|
|
8
|
+
const InstanceStatusValues = {
|
|
9
|
+
/** 作废状态 */
|
|
10
|
+
ABANDON: "ABANDON",
|
|
11
|
+
/** 未填报 */
|
|
12
|
+
UNFILLED: "UNFILLED",
|
|
13
|
+
/** 已填报 */
|
|
14
|
+
FILLED: "FILLED",
|
|
15
|
+
/** 已完成 */
|
|
16
|
+
COMPLETED: "COMPLETED",
|
|
17
|
+
/** 进行中 */
|
|
18
|
+
RUNNING: "RUNNING",
|
|
19
|
+
/** 暂存 */
|
|
20
|
+
STASH: "STASH",
|
|
21
|
+
/** 待放行 */
|
|
22
|
+
UNRELEASED: "UNRELEASED",
|
|
23
|
+
/** 放行中 */
|
|
24
|
+
RELEASE: "RELEASE",
|
|
25
|
+
/** 异常 */
|
|
26
|
+
EXCEPTION: "EXCEPTION",
|
|
27
|
+
/** 已封存 */
|
|
28
|
+
ARCHIVED: "ARCHIVED",
|
|
29
|
+
/** 汇总中 */
|
|
30
|
+
IN_SUMMARY: "IN_SUMMARY",
|
|
31
|
+
/** 已汇总 */
|
|
32
|
+
SUMMARIZED: "SUMMARIZED",
|
|
33
|
+
/** 汇总审核中、表单变更审核中 */
|
|
34
|
+
IN_AUDIT: "IN_AUDIT"
|
|
35
|
+
};
|
|
7
36
|
var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
|
|
8
37
|
MaterialConsumptionPatternEnum2["RECORD"] = "record";
|
|
9
38
|
MaterialConsumptionPatternEnum2["BOM"] = "bom";
|
|
@@ -1051,14 +1080,14 @@ class BomEntryValidator {
|
|
|
1051
1080
|
*/
|
|
1052
1081
|
async validateHasCompleted(arr) {
|
|
1053
1082
|
const groupData = this.filterGroupData(arr);
|
|
1054
|
-
const
|
|
1083
|
+
const message2 = $t("sys.edhr.mcTable.sequenceLoadingError", {
|
|
1055
1084
|
product: this.bomEntry.product_code_
|
|
1056
1085
|
});
|
|
1057
1086
|
if (!groupData.length) {
|
|
1058
1087
|
if (!this.bomEntry.force_loading_enabled_) {
|
|
1059
1088
|
return;
|
|
1060
1089
|
}
|
|
1061
|
-
throw new Error(
|
|
1090
|
+
throw new Error(message2);
|
|
1062
1091
|
}
|
|
1063
1092
|
if (this.bomEntry.type_ === "view") {
|
|
1064
1093
|
return;
|
|
@@ -1071,26 +1100,26 @@ class BomEntryValidator {
|
|
|
1071
1100
|
// 等于的时候要相等才算填报完成,小于的时候报错,大于由修改的时候报错,这边不报错
|
|
1072
1101
|
case "eq":
|
|
1073
1102
|
if (consumeNum < this.remainingNum) {
|
|
1074
|
-
throw new Error(
|
|
1103
|
+
throw new Error(message2);
|
|
1075
1104
|
}
|
|
1076
1105
|
break;
|
|
1077
1106
|
// 大于等于的时候要大于等于才算完成
|
|
1078
1107
|
case "gte":
|
|
1079
1108
|
if (consumeNum < this.remainingNum) {
|
|
1080
|
-
throw new Error(
|
|
1109
|
+
throw new Error(message2);
|
|
1081
1110
|
}
|
|
1082
1111
|
break;
|
|
1083
1112
|
// 小于等于的时候要小于等于有值就算算完成
|
|
1084
1113
|
case "lte":
|
|
1085
1114
|
if (consumeNum <= 0) {
|
|
1086
|
-
throw new Error(
|
|
1115
|
+
throw new Error(message2);
|
|
1087
1116
|
}
|
|
1088
1117
|
break;
|
|
1089
1118
|
case "bounds":
|
|
1090
1119
|
const consumeSum = consumeNum + this.hasConsumed;
|
|
1091
1120
|
const { min } = await this.calcCustomNumberLimit(groupData[0]);
|
|
1092
1121
|
if (consumeSum < min) {
|
|
1093
|
-
throw new Error(
|
|
1122
|
+
throw new Error(message2);
|
|
1094
1123
|
}
|
|
1095
1124
|
break;
|
|
1096
1125
|
}
|
|
@@ -1480,10 +1509,10 @@ class MaterialConsumeTableController {
|
|
|
1480
1509
|
this.tableDataRef.value = [...value, ...deletedArr];
|
|
1481
1510
|
}
|
|
1482
1511
|
/** 错误信息 */
|
|
1483
|
-
error(
|
|
1512
|
+
error(message2) {
|
|
1484
1513
|
MaterialConsumeTableController.render.message({
|
|
1485
1514
|
type: "error",
|
|
1486
|
-
content:
|
|
1515
|
+
content: message2
|
|
1487
1516
|
});
|
|
1488
1517
|
}
|
|
1489
1518
|
/**
|
|
@@ -1805,11 +1834,11 @@ class MaterialConsumeTableController {
|
|
|
1805
1834
|
* @param message
|
|
1806
1835
|
* @return {*}
|
|
1807
1836
|
*/
|
|
1808
|
-
calcErrorObj(
|
|
1837
|
+
calcErrorObj(message2) {
|
|
1809
1838
|
return {
|
|
1810
1839
|
field: this.widget.props.field + "_0_product_id_",
|
|
1811
1840
|
message: JSON.stringify({
|
|
1812
|
-
message,
|
|
1841
|
+
message: message2,
|
|
1813
1842
|
showFieldName: $t("sys.model.product"),
|
|
1814
1843
|
showModelKey: this.widget.props.modelKey,
|
|
1815
1844
|
showModelName: this.widget.props.tableTitle,
|
|
@@ -2970,7 +2999,7 @@ function useFormTmplConfig() {
|
|
|
2970
2999
|
const _hoisted_1$6 = ["data-merge", "data-fill-direction"];
|
|
2971
3000
|
const _hoisted_2$1 = {
|
|
2972
3001
|
key: 0,
|
|
2973
|
-
class: "absolute z-9 top-
|
|
3002
|
+
class: "absolute z-9 top-1/2 right-0 w-0 h-0 -translate-y-4"
|
|
2974
3003
|
};
|
|
2975
3004
|
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
2976
3005
|
__name: "border-td",
|
|
@@ -3042,7 +3071,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
3042
3071
|
};
|
|
3043
3072
|
}
|
|
3044
3073
|
});
|
|
3045
|
-
const BorderTD = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-
|
|
3074
|
+
const BorderTD = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-5f774f44"]]);
|
|
3046
3075
|
const _sfc_main$7 = {};
|
|
3047
3076
|
const _hoisted_1$5 = { class: "nocode-loading" };
|
|
3048
3077
|
function _sfc_render(_ctx, _cache) {
|
|
@@ -4152,197 +4181,6 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
4152
4181
|
})])])]);
|
|
4153
4182
|
}
|
|
4154
4183
|
});
|
|
4155
|
-
function processRows(rows = [], columns = []) {
|
|
4156
|
-
const isBlank = (v) => v === null || v === void 0 || typeof v === "string" && v.trim() === "" || Array.isArray(v) && v.length === 0;
|
|
4157
|
-
const roundToScale = (num, scale) => {
|
|
4158
|
-
if (scale == null) return num;
|
|
4159
|
-
const factor = Math.pow(10, scale);
|
|
4160
|
-
return Math.round(num * factor) / factor;
|
|
4161
|
-
};
|
|
4162
|
-
const parseNumber = (v, { integer = false, scale = null } = {}) => {
|
|
4163
|
-
if (v === null || v === void 0) return null;
|
|
4164
|
-
if (typeof v === "number") {
|
|
4165
|
-
if (!Number.isFinite(v)) return null;
|
|
4166
|
-
if (integer && !Number.isInteger(v)) return null;
|
|
4167
|
-
const n2 = scale != null ? roundToScale(v, scale) : v;
|
|
4168
|
-
return Number.isFinite(n2) ? n2 : null;
|
|
4169
|
-
}
|
|
4170
|
-
let s = String(v).trim();
|
|
4171
|
-
if (s === "") return null;
|
|
4172
|
-
s = s.replace(/,/g, "");
|
|
4173
|
-
if (/^[\(\(].+[\)\)]$/.test(s)) {
|
|
4174
|
-
s = "-" + s.replace(/^[\(\(]|[\)\)]$/g, "");
|
|
4175
|
-
}
|
|
4176
|
-
const n = Number(s);
|
|
4177
|
-
if (!Number.isFinite(n)) return null;
|
|
4178
|
-
if (integer) {
|
|
4179
|
-
if (!Number.isInteger(n)) return null;
|
|
4180
|
-
return n;
|
|
4181
|
-
} else {
|
|
4182
|
-
return scale != null ? roundToScale(n, scale) : n;
|
|
4183
|
-
}
|
|
4184
|
-
};
|
|
4185
|
-
const parseToDate = (v) => {
|
|
4186
|
-
if (v === null || v === void 0 || v === "") return null;
|
|
4187
|
-
if (typeof v === "string") {
|
|
4188
|
-
let s = v.trim();
|
|
4189
|
-
if (s === "") return null;
|
|
4190
|
-
s = s.replace(/-/g, "/");
|
|
4191
|
-
if (/^\d{1,2}:\d{2}(:\d{2})?$/.test(s)) {
|
|
4192
|
-
const today = /* @__PURE__ */ new Date();
|
|
4193
|
-
const datePart = `${today.getFullYear()}/${today.getMonth() + 1}/${today.getDate()}`;
|
|
4194
|
-
s = `${datePart} ${s}`;
|
|
4195
|
-
}
|
|
4196
|
-
const d = new Date(s);
|
|
4197
|
-
return isNaN(d) ? null : d;
|
|
4198
|
-
}
|
|
4199
|
-
return null;
|
|
4200
|
-
};
|
|
4201
|
-
const buildOptionLookup = (opts = []) => {
|
|
4202
|
-
const map = /* @__PURE__ */ new Map();
|
|
4203
|
-
for (const o of opts) {
|
|
4204
|
-
const val = o.value != null ? String(o.value) : void 0;
|
|
4205
|
-
const text = o.text != null ? String(o.text) : void 0;
|
|
4206
|
-
const label = o.label != null ? String(o.label) : void 0;
|
|
4207
|
-
if (val !== void 0) map.set(val, val);
|
|
4208
|
-
if (text !== void 0) map.set(text, val || text);
|
|
4209
|
-
if (label !== void 0) map.set(label, val || label);
|
|
4210
|
-
}
|
|
4211
|
-
return map;
|
|
4212
|
-
};
|
|
4213
|
-
const pad2 = (n) => String(n).padStart(2, "0");
|
|
4214
|
-
const formatDate = (d) => `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}`;
|
|
4215
|
-
const formatTime = (d) => `${pad2(d.getHours())}:${pad2(d.getMinutes())}:${pad2(d.getSeconds())}`;
|
|
4216
|
-
const formatDateTime = (d) => `${formatDate(d)} ${formatTime(d)}`;
|
|
4217
|
-
const out = rows.map((row) => {
|
|
4218
|
-
const newRow = { ...row };
|
|
4219
|
-
for (const f of columns) {
|
|
4220
|
-
const val = row[f.prop];
|
|
4221
|
-
switch (f.fieldType) {
|
|
4222
|
-
case FIELD_TYPE.INTEGER:
|
|
4223
|
-
case FIELD_TYPE.LONG:
|
|
4224
|
-
{
|
|
4225
|
-
const n = parseNumber(val, { integer: true });
|
|
4226
|
-
newRow[f.prop] = isBlank(n) ? void 0 : n;
|
|
4227
|
-
}
|
|
4228
|
-
break;
|
|
4229
|
-
case FIELD_TYPE.DOUBLE:
|
|
4230
|
-
case FIELD_TYPE.DECIMAL:
|
|
4231
|
-
{
|
|
4232
|
-
const n = parseNumber(val, { integer: false, scale: null });
|
|
4233
|
-
newRow[f.prop] = isBlank(n) ? void 0 : n;
|
|
4234
|
-
}
|
|
4235
|
-
break;
|
|
4236
|
-
case FIELD_TYPE.DATE:
|
|
4237
|
-
{
|
|
4238
|
-
const d = parseToDate(val);
|
|
4239
|
-
newRow[f.prop] = d ? formatDate(d) : isBlank(val) ? void 0 : val;
|
|
4240
|
-
}
|
|
4241
|
-
break;
|
|
4242
|
-
case FIELD_TYPE.TIME:
|
|
4243
|
-
{
|
|
4244
|
-
const d = parseToDate(val);
|
|
4245
|
-
newRow[f.prop] = d ? formatTime(d) : isBlank(val) ? void 0 : val;
|
|
4246
|
-
}
|
|
4247
|
-
break;
|
|
4248
|
-
case FIELD_TYPE.DATE_TIME:
|
|
4249
|
-
{
|
|
4250
|
-
const d = parseToDate(val);
|
|
4251
|
-
newRow[f.prop] = d ? formatDateTime(d) : isBlank(val) ? void 0 : val;
|
|
4252
|
-
}
|
|
4253
|
-
break;
|
|
4254
|
-
case FIELD_TYPE.OPTION_MULTI:
|
|
4255
|
-
{
|
|
4256
|
-
const lookup = buildOptionLookup(f.newOptions);
|
|
4257
|
-
if (typeof val === "string") {
|
|
4258
|
-
const tokens = val.split(/[;,]/).map((s) => s.trim()).filter((s) => s !== "");
|
|
4259
|
-
const arr = tokens.map((t) => lookup.get(t)).filter((v) => v !== void 0);
|
|
4260
|
-
newRow[f.prop] = arr.length ? arr.join(",") : void 0;
|
|
4261
|
-
} else {
|
|
4262
|
-
newRow[f.prop] = isBlank(val) ? void 0 : val;
|
|
4263
|
-
}
|
|
4264
|
-
}
|
|
4265
|
-
break;
|
|
4266
|
-
case FIELD_TYPE.OPTION:
|
|
4267
|
-
{
|
|
4268
|
-
const lookup = buildOptionLookup(f.newOptions);
|
|
4269
|
-
if (isBlank(val)) {
|
|
4270
|
-
newRow[f.prop] = void 0;
|
|
4271
|
-
} else {
|
|
4272
|
-
const tokens = val.split(/[;,]/).map((s) => s.trim()).filter((s) => s !== "");
|
|
4273
|
-
const normalized = lookup.get(tokens?.[0]);
|
|
4274
|
-
newRow[f.prop] = normalized !== void 0 ? normalized : void 0;
|
|
4275
|
-
}
|
|
4276
|
-
}
|
|
4277
|
-
break;
|
|
4278
|
-
default:
|
|
4279
|
-
newRow[f.prop] = isBlank(val) ? void 0 : val;
|
|
4280
|
-
}
|
|
4281
|
-
}
|
|
4282
|
-
return newRow;
|
|
4283
|
-
}).filter((row) => {
|
|
4284
|
-
return columns.some((f) => {
|
|
4285
|
-
const v = row[f.prop];
|
|
4286
|
-
if (v === 0 || v === false) return true;
|
|
4287
|
-
return !isBlank(v);
|
|
4288
|
-
});
|
|
4289
|
-
});
|
|
4290
|
-
return out;
|
|
4291
|
-
}
|
|
4292
|
-
function groupFixedTableRows(rows, options) {
|
|
4293
|
-
const { rowCount, colCount, direction, z = "row" } = options;
|
|
4294
|
-
const n = rows.length;
|
|
4295
|
-
if (!n) return [];
|
|
4296
|
-
const keys = Object.keys(rows[0]);
|
|
4297
|
-
const m = keys.length;
|
|
4298
|
-
const matrix = rows.map((row) => keys.map((k) => row[k]));
|
|
4299
|
-
const result = [];
|
|
4300
|
-
function createBlock2(startRow, startCol, height, width) {
|
|
4301
|
-
const values = [];
|
|
4302
|
-
if (z === "row") {
|
|
4303
|
-
for (let r = 0; r < height; r++) {
|
|
4304
|
-
const rowValues = [];
|
|
4305
|
-
for (let c = 0; c < width; c++) {
|
|
4306
|
-
rowValues.push(matrix[startRow + r][startCol + c]);
|
|
4307
|
-
}
|
|
4308
|
-
if (r % 2 === 1) {
|
|
4309
|
-
rowValues.reverse();
|
|
4310
|
-
}
|
|
4311
|
-
values.push(...rowValues);
|
|
4312
|
-
}
|
|
4313
|
-
} else {
|
|
4314
|
-
for (let c = 0; c < width; c++) {
|
|
4315
|
-
const colValues = [];
|
|
4316
|
-
for (let r = 0; r < height; r++) {
|
|
4317
|
-
colValues.push(matrix[startRow + r][startCol + c]);
|
|
4318
|
-
}
|
|
4319
|
-
if (c % 2 === 1) {
|
|
4320
|
-
colValues.reverse();
|
|
4321
|
-
}
|
|
4322
|
-
values.push(...colValues);
|
|
4323
|
-
}
|
|
4324
|
-
}
|
|
4325
|
-
const row = {};
|
|
4326
|
-
values.forEach((v, i) => {
|
|
4327
|
-
row[`K${i}`] = v;
|
|
4328
|
-
});
|
|
4329
|
-
result.push(row);
|
|
4330
|
-
}
|
|
4331
|
-
if (direction === "x") {
|
|
4332
|
-
for (let r = 0; r < n; r += rowCount) {
|
|
4333
|
-
for (let c = 0; c < m; c += colCount) {
|
|
4334
|
-
createBlock2(r, c, Math.min(rowCount, n - r), Math.min(colCount, m - c));
|
|
4335
|
-
}
|
|
4336
|
-
}
|
|
4337
|
-
} else {
|
|
4338
|
-
for (let c = 0; c < m; c += colCount) {
|
|
4339
|
-
for (let r = 0; r < n; r += rowCount) {
|
|
4340
|
-
createBlock2(r, c, Math.min(rowCount, n - r), Math.min(colCount, m - c));
|
|
4341
|
-
}
|
|
4342
|
-
}
|
|
4343
|
-
}
|
|
4344
|
-
return result;
|
|
4345
|
-
}
|
|
4346
4184
|
const _hoisted_1$2 = { class: "document-quick-fill-container" };
|
|
4347
4185
|
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
4348
4186
|
__name: "fixed-quick-fill-modal",
|
|
@@ -4367,6 +4205,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4367
4205
|
rows.value = Array.from({ length: rowCount }, newRow);
|
|
4368
4206
|
cols.value = Object.keys(rows.value?.[0] || {}).map((k) => ({ prop: k, name: k }));
|
|
4369
4207
|
});
|
|
4208
|
+
const handleBeforePaste = (e) => {
|
|
4209
|
+
if (!props.columns.length) {
|
|
4210
|
+
e.preventDefault();
|
|
4211
|
+
message.warn($t("sys.quickFillingFixedNoFieldsTip"));
|
|
4212
|
+
}
|
|
4213
|
+
};
|
|
4370
4214
|
async function onSave() {
|
|
4371
4215
|
const { dgRowCount, dgColCount, dgDirection, columns } = props;
|
|
4372
4216
|
const groupedRows = groupFixedTableRows(unref(rows), {
|
|
@@ -4380,7 +4224,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4380
4224
|
}
|
|
4381
4225
|
const _row = {};
|
|
4382
4226
|
columns.forEach((col, i) => {
|
|
4383
|
-
|
|
4227
|
+
if (QUICK_FILL_ALLOWED_FIELDS.has(col.fieldType)) {
|
|
4228
|
+
_row[col.prop] = values[i];
|
|
4229
|
+
}
|
|
4384
4230
|
});
|
|
4385
4231
|
return _row;
|
|
4386
4232
|
}).filter(Boolean);
|
|
@@ -4388,7 +4234,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4388
4234
|
return {
|
|
4389
4235
|
ok: true,
|
|
4390
4236
|
params: {
|
|
4391
|
-
data:
|
|
4237
|
+
data: processQuickFillRows(groupedRows, columns)
|
|
4392
4238
|
}
|
|
4393
4239
|
};
|
|
4394
4240
|
} catch (err) {
|
|
@@ -4417,13 +4263,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4417
4263
|
columns: cols.value,
|
|
4418
4264
|
theme: "material",
|
|
4419
4265
|
"hide-attribution": "",
|
|
4420
|
-
"apply-on-close": true
|
|
4266
|
+
"apply-on-close": true,
|
|
4267
|
+
onBeforepaste: handleBeforePaste
|
|
4421
4268
|
}, null, 8, ["source", "columns"])
|
|
4422
4269
|
]);
|
|
4423
4270
|
};
|
|
4424
4271
|
}
|
|
4425
4272
|
});
|
|
4426
|
-
const FixedQuickFillModal = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
4273
|
+
const FixedQuickFillModal = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-082f502b"]]);
|
|
4427
4274
|
const _hoisted_1$1 = {
|
|
4428
4275
|
key: 1,
|
|
4429
4276
|
class: "sub-table-action__subtitle"
|
|
@@ -4556,9 +4403,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4556
4403
|
];
|
|
4557
4404
|
return menus.filter((i) => i.show !== false);
|
|
4558
4405
|
});
|
|
4559
|
-
const displayMenus = computed(
|
|
4560
|
-
() => props.menus?.length ? props.menus : showMenus.value
|
|
4561
|
-
);
|
|
4406
|
+
const displayMenus = computed(() => props.menus?.length ? props.menus : showMenus.value);
|
|
4562
4407
|
const stopRefPropagation = (vm) => {
|
|
4563
4408
|
if (!vm?.$el) {
|
|
4564
4409
|
return;
|
|
@@ -4697,10 +4542,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4697
4542
|
};
|
|
4698
4543
|
}
|
|
4699
4544
|
});
|
|
4700
|
-
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
4545
|
+
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-e0624e4c"]]);
|
|
4701
4546
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
4702
4547
|
__name: "fixed-table-action",
|
|
4703
4548
|
props: {
|
|
4549
|
+
tdId: {},
|
|
4704
4550
|
formState: {},
|
|
4705
4551
|
widgetCenter: {},
|
|
4706
4552
|
fixedTableInfo: {}
|
|
@@ -4717,18 +4563,19 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4717
4563
|
const props = __props;
|
|
4718
4564
|
const onMenuClick = async ({ key }) => {
|
|
4719
4565
|
if (key === "quickFillRowCurrent") {
|
|
4720
|
-
const {
|
|
4721
|
-
const {
|
|
4566
|
+
const { fixedTableInfo } = props;
|
|
4567
|
+
const {
|
|
4568
|
+
range,
|
|
4569
|
+
dgRange,
|
|
4570
|
+
subFieldKey,
|
|
4571
|
+
fillDirection: dgDirection,
|
|
4572
|
+
columns,
|
|
4573
|
+
columnKeys
|
|
4574
|
+
} = fixedTableInfo;
|
|
4722
4575
|
const rowCount = range.b - range.t + 1;
|
|
4723
4576
|
const colCount = range.r - range.l + 1;
|
|
4724
4577
|
const dgRowCount = dgRange.b - dgRange.t + 1;
|
|
4725
4578
|
const dgColCount = dgRange.r - dgRange.l + 1;
|
|
4726
|
-
const columns = Object.values(widgetCenter[ComponentTypeEnum.PAPER].props.fixedTableFieldMap).map((o) => o.fieldMeta).filter((m) => m?.subFieldKey === subFieldKey).map((m) => ({
|
|
4727
|
-
prop: m.field,
|
|
4728
|
-
fieldType: m.fieldType,
|
|
4729
|
-
newOptions: []
|
|
4730
|
-
// JSW TODO: 传递枚举单选、多选 选项
|
|
4731
|
-
}));
|
|
4732
4579
|
const res = await window.NocodeAdapter.utils.overlay.modal(
|
|
4733
4580
|
FixedQuickFillModal,
|
|
4734
4581
|
{
|
|
@@ -4742,14 +4589,11 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4742
4589
|
{ title: "快速填报", width: "1060px" }
|
|
4743
4590
|
);
|
|
4744
4591
|
if (res.ok && res.params?.data.length) {
|
|
4745
|
-
const validKeys = columns.map((c) => c.prop);
|
|
4746
4592
|
const newGroupList = [...res.params.data];
|
|
4747
4593
|
let activeIndex = 0;
|
|
4748
4594
|
props.formState[subFieldKey].forEach((oldGroup) => {
|
|
4749
|
-
const
|
|
4750
|
-
|
|
4751
|
-
);
|
|
4752
|
-
if (isEmptyGroup) {
|
|
4595
|
+
const isEmpty = getIsGroupEmpty(oldGroup, columnKeys);
|
|
4596
|
+
if (isEmpty) {
|
|
4753
4597
|
const newGroup = newGroupList[activeIndex];
|
|
4754
4598
|
if (newGroup) {
|
|
4755
4599
|
Object.assign(oldGroup, newGroup);
|
|
@@ -4809,37 +4653,66 @@ const DocumentPaper = /* @__PURE__ */ defineComponent({
|
|
|
4809
4653
|
const tmplBomController = computed(() => tmplBomCMap.value?.[props.basicInfo?.uniqueId]);
|
|
4810
4654
|
const subTableCoreFactoryMap = inject(NCB_PROVIDE.SUB_TABLE_CORE_FACTORY_MAP);
|
|
4811
4655
|
const subTableCoreFactory = computed(() => subTableCoreFactoryMap.value?.[props.basicInfo?.uniqueId]);
|
|
4812
|
-
const
|
|
4656
|
+
const filledFixedTableKeys = ref([]);
|
|
4657
|
+
const fixedTables = computed(() => {
|
|
4813
4658
|
const info = props.selfInfoList?.[0];
|
|
4814
|
-
const map = {};
|
|
4815
4659
|
if (!info) {
|
|
4816
|
-
return
|
|
4660
|
+
return [];
|
|
4817
4661
|
}
|
|
4818
4662
|
const designer = JSON.parse(info.designerJson || "{}");
|
|
4819
|
-
|
|
4820
|
-
|
|
4663
|
+
return designer.sheets?.[0]?.paper?.fixedTables || designer.fixedTables || [];
|
|
4664
|
+
});
|
|
4665
|
+
const fixedTableInfoMap = computed(() => {
|
|
4666
|
+
const {
|
|
4667
|
+
widgetCenter
|
|
4668
|
+
} = props;
|
|
4669
|
+
const map = {};
|
|
4670
|
+
fixedTables.value.forEach((table) => {
|
|
4821
4671
|
const {
|
|
4822
|
-
field,
|
|
4823
|
-
model,
|
|
4672
|
+
field: subFieldKey,
|
|
4673
|
+
model: subModelKey,
|
|
4824
4674
|
range,
|
|
4825
4675
|
dgRange,
|
|
4826
|
-
fillDirection
|
|
4676
|
+
fillDirection,
|
|
4677
|
+
quickFill
|
|
4827
4678
|
} = table;
|
|
4828
4679
|
const {
|
|
4829
|
-
r:
|
|
4830
|
-
t:
|
|
4680
|
+
r: colNo,
|
|
4681
|
+
t: rowNo
|
|
4831
4682
|
} = range;
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4683
|
+
const trId = widgetCenter[ComponentTypeEnum.PAPER].nextIds[rowNo - 1];
|
|
4684
|
+
const tdId = widgetCenter[trId].nextIds[colNo - 1];
|
|
4685
|
+
const newOptions = widgetCenter[tdId]?.cellWidget?.props?.newSpecificConfig?.newOptions || [];
|
|
4686
|
+
const columns = Object.values(widgetCenter[ComponentTypeEnum.PAPER].props.fixedTableFieldMap || {}).map((o) => o.fieldMeta).filter((m) => m?.subFieldKey === subFieldKey).map((m) => ({
|
|
4687
|
+
prop: m.field,
|
|
4688
|
+
fieldType: m.fieldType,
|
|
4689
|
+
newOptions
|
|
4690
|
+
}));
|
|
4691
|
+
const columnKeys = columns.map((c) => c.prop);
|
|
4692
|
+
map[tdId] = {
|
|
4693
|
+
subFieldKey,
|
|
4694
|
+
subModelKey,
|
|
4835
4695
|
range,
|
|
4836
4696
|
dgRange,
|
|
4837
4697
|
fillDirection,
|
|
4838
|
-
|
|
4698
|
+
columns,
|
|
4699
|
+
columnKeys,
|
|
4700
|
+
// 兼容历史数据,[固定表]默认开启 快速填报
|
|
4701
|
+
quickFillVisible: quickFill === void 0 ? true : quickFill
|
|
4839
4702
|
};
|
|
4840
4703
|
});
|
|
4841
4704
|
return map;
|
|
4842
4705
|
});
|
|
4706
|
+
watch(() => props.formState, (formState) => {
|
|
4707
|
+
filledFixedTableKeys.value = fixedTables.value.map((t) => t.field).filter((subTableField) => {
|
|
4708
|
+
const info = Object.values(fixedTableInfoMap.value).find((item) => item.subFieldKey === subTableField);
|
|
4709
|
+
const colKeys = info?.columnKeys || [];
|
|
4710
|
+
return formState[subTableField]?.every((g) => !getIsGroupEmpty(g, colKeys));
|
|
4711
|
+
});
|
|
4712
|
+
}, {
|
|
4713
|
+
deep: true,
|
|
4714
|
+
immediate: true
|
|
4715
|
+
});
|
|
4843
4716
|
const mainTableRef = ref();
|
|
4844
4717
|
const isPdfMode = inject(NCB_PROVIDE.IS_PDF, false);
|
|
4845
4718
|
const openFillFieldsModal = inject(NCB_PROVIDE.MOBILE_FILL_FIELDS_POPUP);
|
|
@@ -4976,7 +4849,7 @@ const DocumentPaper = /* @__PURE__ */ defineComponent({
|
|
|
4976
4849
|
return createVNode("tr", {
|
|
4977
4850
|
"key": `${trId}_${trIndex}`,
|
|
4978
4851
|
"height": height
|
|
4979
|
-
}, [tdIds.map((tdId
|
|
4852
|
+
}, [tdIds.map((tdId) => {
|
|
4980
4853
|
const tdInfo = props.widgetCenter[tdId];
|
|
4981
4854
|
const tdAttrs = {
|
|
4982
4855
|
key: tdId,
|
|
@@ -5049,8 +4922,7 @@ const DocumentPaper = /* @__PURE__ */ defineComponent({
|
|
|
5049
4922
|
onClick: setSelectMobileTdId.bind(null, tdInfo, props.basicInfo, props.widgetCenter, openFillFieldsModal, -1)
|
|
5050
4923
|
});
|
|
5051
4924
|
}
|
|
5052
|
-
const
|
|
5053
|
-
const fixedTableInfo = fixedTableInfoMap.value[coord];
|
|
4925
|
+
const fixedTableInfo = fixedTableInfoMap.value[tdId];
|
|
5054
4926
|
return createVNode(BorderTD, mergeProps({
|
|
5055
4927
|
"style": tdInfo.style
|
|
5056
4928
|
}, tdAttrs, {
|
|
@@ -5062,11 +4934,15 @@ const DocumentPaper = /* @__PURE__ */ defineComponent({
|
|
|
5062
4934
|
dynamicConfig
|
|
5063
4935
|
}) : null,
|
|
5064
4936
|
// [固定表]右上角 加装 操作按钮
|
|
5065
|
-
tableAction:
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
|
|
5069
|
-
|
|
4937
|
+
tableAction: (() => {
|
|
4938
|
+
const fixedTableActionVisible = fixedTableInfo?.quickFillVisible && !filledFixedTableKeys.value.includes(fixedTableInfo.subFieldKey);
|
|
4939
|
+
return () => fixedTableActionVisible ? createVNode(_sfc_main$2, {
|
|
4940
|
+
"tdId": tdId,
|
|
4941
|
+
"formState": props.formState,
|
|
4942
|
+
"widgetCenter": props.widgetCenter,
|
|
4943
|
+
"fixedTableInfo": fixedTableInfo
|
|
4944
|
+
}, null) : null;
|
|
4945
|
+
})()
|
|
5070
4946
|
});
|
|
5071
4947
|
}
|
|
5072
4948
|
if (realTdAttrInfo && tdInfo.cellHidden) {
|
|
@@ -5113,7 +4989,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
5113
4989
|
return {
|
|
5114
4990
|
ok: true,
|
|
5115
4991
|
params: {
|
|
5116
|
-
data:
|
|
4992
|
+
data: processQuickFillRows(unref(rows), props.columns)
|
|
5117
4993
|
}
|
|
5118
4994
|
};
|
|
5119
4995
|
} catch (err) {
|
|
@@ -5150,7 +5026,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
5150
5026
|
};
|
|
5151
5027
|
}
|
|
5152
5028
|
});
|
|
5153
|
-
const DynamicQuickFillModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
5029
|
+
const DynamicQuickFillModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ae9acd3f"]]);
|
|
5154
5030
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5155
5031
|
__name: "dynamic-table-action",
|
|
5156
5032
|
props: {
|
|
@@ -5174,24 +5050,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5174
5050
|
const fieldColumn = computed(() => {
|
|
5175
5051
|
const info = getSubTableQuickFillInfo(props.subTableFieldId, props.mobileTdIdGroups);
|
|
5176
5052
|
if (!info?.mainWidgetIds?.length) return [];
|
|
5177
|
-
const allowed = /* @__PURE__ */ new Set([
|
|
5178
|
-
FIELD_TYPE.TEXT,
|
|
5179
|
-
FIELD_TYPE.LONG_TEXT,
|
|
5180
|
-
FIELD_TYPE.INTEGER,
|
|
5181
|
-
FIELD_TYPE.LONG,
|
|
5182
|
-
FIELD_TYPE.DOUBLE,
|
|
5183
|
-
FIELD_TYPE.DECIMAL,
|
|
5184
|
-
FIELD_TYPE.DATE,
|
|
5185
|
-
FIELD_TYPE.TIME,
|
|
5186
|
-
FIELD_TYPE.DATE_TIME,
|
|
5187
|
-
FIELD_TYPE.OPTION,
|
|
5188
|
-
FIELD_TYPE.OPTION_MULTI,
|
|
5189
|
-
FIELD_TYPE.MATERIAL_NO,
|
|
5190
|
-
FIELD_TYPE.STERILIZE_LOT,
|
|
5191
|
-
FIELD_TYPE.MATERIAL_LOT,
|
|
5192
|
-
FIELD_TYPE.RELATED_LOT_NO,
|
|
5193
|
-
FIELD_TYPE.SCRAP_MATERIAL_NO
|
|
5194
|
-
]);
|
|
5195
5053
|
return info.mainWidgetIds.flatMap((tdId) => {
|
|
5196
5054
|
const widget = props.widgetCenter?.[tdId];
|
|
5197
5055
|
if (!widget) return [];
|
|
@@ -5201,7 +5059,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5201
5059
|
const wProps = cellWidget.props || {};
|
|
5202
5060
|
const { isFieldModel, field, fieldType, newSpecificConfig } = wProps;
|
|
5203
5061
|
if (isFieldModel) return [];
|
|
5204
|
-
if (!
|
|
5062
|
+
if (!QUICK_FILL_ALLOWED_FIELDS.has(fieldType)) return [];
|
|
5205
5063
|
return {
|
|
5206
5064
|
fieldType,
|
|
5207
5065
|
field,
|
|
@@ -5250,11 +5108,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5250
5108
|
};
|
|
5251
5109
|
}
|
|
5252
5110
|
});
|
|
5253
|
-
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5111
|
+
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-53d7e66c"]]);
|
|
5254
5112
|
export {
|
|
5255
5113
|
BorderTD as B,
|
|
5256
5114
|
DeviceLinkTmplUtil as D,
|
|
5257
5115
|
FixedQuickFillModal as F,
|
|
5116
|
+
InstanceStatusValues as I,
|
|
5258
5117
|
MaterialConsumptionPatternEnum as M,
|
|
5259
5118
|
SubTableCore as S,
|
|
5260
5119
|
_sfc_main$6 as _,
|