resolver-egretimp-plus 0.1.114 → 0.1.116
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/const/index.js +1 -1
- package/dist/h5/index.js +9 -9
- package/dist/web/index.js +2 -2
- package/package.json +1 -1
- package/src/components/packages-H5/CustomComponentCollapseH5.vue +6 -2
- package/src/components/packages-web/CustomComponentPlain.vue +5 -1
- package/src/hooks/watchRuels.js +94 -0
- package/src/index.jsx +9 -2
- package/src/rulesOfDate/eventsSupplement.js +559 -0
- package/src/rulesOfDate/parseCondition.js +257 -0
- package/src/rulesOfDate/ruleUtils.js +343 -0
- package/src/rulesOfDate/rulesDriver.js +67 -0
- package/src/utils/common.js +24 -16
- package/src/utils/const.js +1 -0
- package/src/utils/render.jsx +7 -1
- package/src-bak/analysisComponent.jsx +343 -0
- package/src-bak/api/builtIn.js +10 -0
- package/src-bak/bpm/bpmInstance.js +388 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +8 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +97 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +88 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +3 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +76 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +201 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +69 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +56 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +76 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/index.js +46 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +21 -0
- package/src-bak/components/childDialog/index.js +39 -0
- package/src-bak/components/childDialog/src/index.vue +185 -0
- package/src-bak/components/cmiFormItem/index.js +1 -0
- package/src-bak/components/cmiFormItem/src/index.vue +112 -0
- package/src-bak/components/confirmInstance-H5/index.js +53 -0
- package/src-bak/components/confirmInstance-H5/src/index.vue +54 -0
- package/src-bak/components/helper/FormPolyfill.jsx +25 -0
- package/src-bak/components/helper/calcTooltip.jsx +134 -0
- package/src-bak/components/helper/dock.js +141 -0
- package/src-bak/components/helper/eventOrchestration.js +763 -0
- package/src-bak/components/helper/resolver.js +163 -0
- package/src-bak/components/helper/table.jsx +103 -0
- package/src-bak/components/icons/date.vue +33 -0
- package/src-bak/components/icons/info.vue +62 -0
- package/src-bak/components/icons/loading.vue +19 -0
- package/src-bak/components/icons/question-filled.vue +8 -0
- package/src-bak/components/loading/index.js +6 -0
- package/src-bak/components/loading/loading.js +98 -0
- package/src-bak/components/loading/loading.scss +74 -0
- package/src-bak/components/loading/loading.vue +89 -0
- package/src-bak/components/loadingComponent/LoadingComponent.vue +33 -0
- package/src-bak/components/modal/index.js +9 -0
- package/src-bak/components/modal/modal.scss +195 -0
- package/src-bak/components/modal/modal.vue +201 -0
- package/src-bak/components/options/OptionsDefault.vue +47 -0
- package/src-bak/components/packages-H5/CmiButton.vue +120 -0
- package/src-bak/components/packages-H5/CmiCalendar.vue +152 -0
- package/src-bak/components/packages-H5/CmiCell.vue +87 -0
- package/src-bak/components/packages-H5/CmiCheckbox.vue +82 -0
- package/src-bak/components/packages-H5/CmiDatetimePicker.vue +98 -0
- package/src-bak/components/packages-H5/CmiDivider.vue +30 -0
- package/src-bak/components/packages-H5/CmiDropdownMenu.vue +58 -0
- package/src-bak/components/packages-H5/CmiInput.vue +69 -0
- package/src-bak/components/packages-H5/CmiLink.vue +28 -0
- package/src-bak/components/packages-H5/CmiPicker.vue +229 -0
- package/src-bak/components/packages-H5/CmiRadio.vue +29 -0
- package/src-bak/components/packages-H5/CmiSearch.vue +39 -0
- package/src-bak/components/packages-H5/CmiSelect.vue +84 -0
- package/src-bak/components/packages-H5/CustomComponentCardH5.vue +129 -0
- package/src-bak/components/packages-H5/CustomComponentColH5.vue +8 -0
- package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +141 -0
- package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +54 -0
- package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +38 -0
- package/src-bak/components/packages-H5/CustomComponentTableH5.vue +352 -0
- package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +170 -0
- package/src-bak/components/packages-web/CustomComponentCard.vue +40 -0
- package/src-bak/components/packages-web/CustomComponentCol.vue +66 -0
- package/src-bak/components/packages-web/CustomComponentCollapse.vue +164 -0
- package/src-bak/components/packages-web/CustomComponentCycle.vue +95 -0
- package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +155 -0
- package/src-bak/components/packages-web/CustomComponentDialog.vue +192 -0
- package/src-bak/components/packages-web/CustomComponentEditor.vue +50 -0
- package/src-bak/components/packages-web/CustomComponentFileExport.vue +60 -0
- package/src-bak/components/packages-web/CustomComponentFileImport.vue +60 -0
- package/src-bak/components/packages-web/CustomComponentFormLayout.vue +65 -0
- package/src-bak/components/packages-web/CustomComponentGrid.vue +29 -0
- package/src-bak/components/packages-web/CustomComponentGridCol.vue +29 -0
- package/src-bak/components/packages-web/CustomComponentInputDialog.vue +144 -0
- package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +84 -0
- package/src-bak/components/packages-web/CustomComponentPlain.vue +247 -0
- package/src-bak/components/packages-web/CustomComponentRow.vue +83 -0
- package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +203 -0
- package/src-bak/components/packages-web/CustomComponentSendMail.vue +62 -0
- package/src-bak/components/packages-web/CustomComponentSteps.vue +41 -0
- package/src-bak/components/packages-web/CustomComponentTabPane.vue +20 -0
- package/src-bak/components/packages-web/CustomComponentTable.jsx +814 -0
- package/src-bak/components/packages-web/CustomComponentTabs.vue +126 -0
- package/src-bak/components/packages-web/CustomComponentTree.vue +28 -0
- package/src-bak/components/packages-web/ElButton.vue +146 -0
- package/src-bak/components/packages-web/ElCheckbox.vue +97 -0
- package/src-bak/components/packages-web/ElDatePicker.vue +93 -0
- package/src-bak/components/packages-web/ElInput copy.jsx +393 -0
- package/src-bak/components/packages-web/ElInput.jsx +312 -0
- package/src-bak/components/packages-web/ElInputNumber.vue +81 -0
- package/src-bak/components/packages-web/ElPagination.vue +61 -0
- package/src-bak/components/packages-web/ElRadio.vue +47 -0
- package/src-bak/components/packages-web/ElSelect.jsx +249 -0
- package/src-bak/components/packages-web/ElSelect_bak.vue +155 -0
- package/src-bak/components/packages-web/ElText.jsx +187 -0
- package/src-bak/components/packages-web/ElTextaa.vue +169 -0
- package/src-bak/components/packages-web/ElTimePicker.vue +39 -0
- package/src-bak/components/patchComponents-H5.js +46 -0
- package/src-bak/components/patchComponents-web.js +46 -0
- package/src-bak/components/simpleFormItemPc/index.js +1 -0
- package/src-bak/components/simpleFormItemPc/src/index.vue +94 -0
- package/src-bak/components/table/index.ts +29 -0
- package/src-bak/components/table/src/composables/use-scrollbar.ts +30 -0
- package/src-bak/components/table/src/config.ts +256 -0
- package/src-bak/components/table/src/filter-panel.vue +260 -0
- package/src-bak/components/table/src/h-helper.ts +34 -0
- package/src-bak/components/table/src/layout-observer.ts +78 -0
- package/src-bak/components/table/src/store/current.ts +85 -0
- package/src-bak/components/table/src/store/expand.ts +76 -0
- package/src-bak/components/table/src/store/helper.ts +74 -0
- package/src-bak/components/table/src/store/index.ts +246 -0
- package/src-bak/components/table/src/store/tree.ts +230 -0
- package/src-bak/components/table/src/store/watcher.ts +543 -0
- package/src-bak/components/table/src/table/defaults.ts +402 -0
- package/src-bak/components/table/src/table/key-render-helper.ts +27 -0
- package/src-bak/components/table/src/table/style-helper.ts +378 -0
- package/src-bak/components/table/src/table/utils-helper.ts +47 -0
- package/src-bak/components/table/src/table-body/defaults.ts +52 -0
- package/src-bak/components/table/src/table-body/events-helper.ts +203 -0
- package/src-bak/components/table/src/table-body/index.ts +119 -0
- package/src-bak/components/table/src/table-body/render-helper.ts +283 -0
- package/src-bak/components/table/src/table-body/styles-helper.ts +164 -0
- package/src-bak/components/table/src/table-column/defaults.ts +237 -0
- package/src-bak/components/table/src/table-column/index.ts +202 -0
- package/src-bak/components/table/src/table-column/render-helper.ts +214 -0
- package/src-bak/components/table/src/table-column/watcher-helper.ts +88 -0
- package/src-bak/components/table/src/table-footer/index.ts +128 -0
- package/src-bak/components/table/src/table-footer/mapState-helper.ts +33 -0
- package/src-bak/components/table/src/table-footer/style-helper.ts +51 -0
- package/src-bak/components/table/src/table-header/event-helper.ts +213 -0
- package/src-bak/components/table/src/table-header/index.ts +244 -0
- package/src-bak/components/table/src/table-header/style.helper.ts +119 -0
- package/src-bak/components/table/src/table-header/utils-helper.ts +94 -0
- package/src-bak/components/table/src/table-layout.ts +259 -0
- package/src-bak/components/table/src/table.vue +389 -0
- package/src-bak/components/table/src/tableColumn.ts +3 -0
- package/src-bak/components/table/src/tokens.ts +5 -0
- package/src-bak/components/table/src/util.ts +521 -0
- package/src-bak/components/table/style/css.ts +5 -0
- package/src-bak/components/table/style/index.ts +5 -0
- package/src-bak/components/tabs/index.js +8 -0
- package/src-bak/components/tabs/src/constants.js +23 -0
- package/src-bak/components/tabs/src/tab-bar.js +8 -0
- package/src-bak/components/tabs/src/tab-bar.vue +92 -0
- package/src-bak/components/tabs/src/tab-nav.jsx +424 -0
- package/src-bak/components/tabs/src/tab-pane.js +16 -0
- package/src-bak/components/tabs/src/tab-pane.vue +80 -0
- package/src-bak/components/tabs/src/tabs.jsx +223 -0
- package/src-bak/components/tabs/style/css.js +2 -0
- package/src-bak/components/tabs/style/index.js +2 -0
- package/src-bak/components/thirdPartyFrame/index.js +32 -0
- package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +125 -0
- package/src-bak/enums/index.js +16 -0
- package/src-bak/hooks/configLoad.js +45 -0
- package/src-bak/hooks/index.js +189 -0
- package/src-bak/hooks/mock.js +6960 -0
- package/src-bak/hooks/pageConfig.js +127 -0
- package/src-bak/index.jsx +443 -0
- package/src-bak/renderer.jsx +77 -0
- package/src-bak/resolver-H5.vue +88 -0
- package/src-bak/resolver-common.vue +129 -0
- package/src-bak/resolver-web.vue +91 -0
- package/src-bak/rules/eventsSupplement.js +573 -0
- package/src-bak/rules/parseCondition.js +378 -0
- package/src-bak/rules/ruleUtils.js +273 -0
- package/src-bak/rules/rulesDriver.js +139 -0
- package/src-bak/rulesImp/events.js +588 -0
- package/src-bak/rulesImp/index.js +33 -0
- package/src-bak/rulesImp/ruleInstance.js +231 -0
- package/src-bak/rulesImp/ruleUtils.js +124 -0
- package/src-bak/theme/element/components/button.scss +122 -0
- package/src-bak/theme/element/components/card.scss +8 -0
- package/src-bak/theme/element/components/checkbox.scss +19 -0
- package/src-bak/theme/element/components/collapse.scss +174 -0
- package/src-bak/theme/element/components/common.scss +30 -0
- package/src-bak/theme/element/components/cycle.scss +0 -0
- package/src-bak/theme/element/components/date.scss +13 -0
- package/src-bak/theme/element/components/dialog.scss +44 -0
- package/src-bak/theme/element/components/form.scss +104 -0
- package/src-bak/theme/element/components/index.scss +55 -0
- package/src-bak/theme/element/components/input.scss +36 -0
- package/src-bak/theme/element/components/message.scss +48 -0
- package/src-bak/theme/element/components/pagination.scss +47 -0
- package/src-bak/theme/element/components/popper.scss +3 -0
- package/src-bak/theme/element/components/radio.scss +40 -0
- package/src-bak/theme/element/components/scrollbar.scss +14 -0
- package/src-bak/theme/element/components/select.scss +82 -0
- package/src-bak/theme/element/components/steps.scss +6 -0
- package/src-bak/theme/element/components/table.scss +218 -0
- package/src-bak/theme/element/components/tabs.scss +128 -0
- package/src-bak/theme/element/components/tag.scss +6 -0
- package/src-bak/theme/element/components/text.scss +20 -0
- package/src-bak/theme/element/components/textarea.scss +3 -0
- package/src-bak/theme/element/components/tree.scss +0 -0
- package/src-bak/theme/element/index.scss +55 -0
- package/src-bak/utils/cipher.js +141 -0
- package/src-bak/utils/common.js +664 -0
- package/src-bak/utils/const.js +259 -0
- package/src-bak/utils/defaultVal.js +92 -0
- package/src-bak/utils/dom.js +36 -0
- package/src-bak/utils/format.js +19 -0
- package/src-bak/utils/index.js +4 -0
- package/src-bak/utils/is.js +74 -0
- package/src-bak/utils/loadModule.js +75 -0
- package/src-bak/utils/preserveFunc.js +33 -0
- package/src-bak/utils/render.jsx +1138 -0
- package/src-bak/utils/request.js +136 -0
- package/src-bak/utils/respone.js +70 -0
- package/src-bak/utils/valid.js +89 -0
package/src/utils/common.js
CHANGED
|
@@ -569,34 +569,42 @@ function normalizeNumberString(numStr) {
|
|
|
569
569
|
}
|
|
570
570
|
|
|
571
571
|
|
|
572
|
-
export function getPathVal(obj = {}, path) {
|
|
572
|
+
export function getPathVal(obj = {}, path, separator = '.') {
|
|
573
573
|
let paths = path
|
|
574
574
|
if (typeof path === 'string') {
|
|
575
|
-
paths = path.split(
|
|
575
|
+
paths = path.split(separator)
|
|
576
576
|
}
|
|
577
577
|
return paths.reduce((ret, key) => {
|
|
578
578
|
if (ret) {
|
|
579
|
+
const match = key.match(/^(\w+)\[(\d+)\]/)
|
|
580
|
+
if (match) {
|
|
581
|
+
return ret[match[1]]?.[match[2]]
|
|
582
|
+
}
|
|
579
583
|
return ret[key]
|
|
580
584
|
}
|
|
581
585
|
return null
|
|
582
586
|
}, obj) ?? ''
|
|
583
587
|
}
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
if (
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
588
|
+
|
|
589
|
+
export function assignmentPathVal(obj = {}, path, val, separator = '.') {
|
|
590
|
+
if (path && obj) {
|
|
591
|
+
let beginObj = obj
|
|
592
|
+
if (isRef(obj)) {
|
|
593
|
+
beginObj = obj.value
|
|
594
|
+
}
|
|
595
|
+
const keyArr = path.split(separator)
|
|
596
|
+
keyArr.reduce((ret, code, idx) => {
|
|
597
|
+
if (idx === keyArr.length - 1) {
|
|
598
|
+
ret[code] = val
|
|
599
|
+
} else {
|
|
600
|
+
!ret[code] && (ret[code] = {})
|
|
596
601
|
}
|
|
597
|
-
|
|
602
|
+
return ret[code]
|
|
603
|
+
}, beginObj)
|
|
604
|
+
if (isRef(obj)) {
|
|
605
|
+
obj.value = beginObj
|
|
598
606
|
}
|
|
599
|
-
}
|
|
607
|
+
}
|
|
600
608
|
}
|
|
601
609
|
|
|
602
610
|
export function eleIsOverflow(e) {
|
package/src/utils/const.js
CHANGED
|
@@ -46,6 +46,7 @@ export const NOT_NEED_FORM_ITEM_META_TYPE = [
|
|
|
46
46
|
]
|
|
47
47
|
export const EXECTE_CLICK_EVENT_COMPONENTS = ['ElInput', 'ElButton', 'CmiInput', 'CmiButton', 'ElText']
|
|
48
48
|
export const TRANS_CELL_COMPONETS = ['CmiInput', 'CmiSelect', 'CmiPicker']
|
|
49
|
+
export const CYCLE_COMPONETS = ['CustomComponentCycle', 'CustomComponentCycleTabPane', 'CustomComponentTable']
|
|
49
50
|
export const NOT_NEED_COL_ITEM_META_TYPE = ['CustomComponentTabPane', 'CustomComponentDialog', 'CustomComponentCol', 'CustomComponentTabPaneH5']
|
|
50
51
|
export const MULTI_PAGE_META_LIST_TYPES = ['CustomComponentTable']
|
|
51
52
|
export const SPECIAL_SET_FULL_WIDTH_ITEM_META_TYPE = ['el-select', 'el-date-picker', 'el-time-picker', 'el-time-select', 'el-cascader', 'el-input-number', 'CustomComponentTree', 'CustomComponentSteps']
|
package/src/utils/render.jsx
CHANGED
|
@@ -25,7 +25,8 @@ import {
|
|
|
25
25
|
TRANS_CELL_COMPONETS,
|
|
26
26
|
MODE,
|
|
27
27
|
|
|
28
|
-
isHidden
|
|
28
|
+
isHidden,
|
|
29
|
+
CYCLE_COMPONETS
|
|
29
30
|
} from './const.js'
|
|
30
31
|
import { preserveCheck } from './preserveFunc.js'
|
|
31
32
|
import { isArray, isFunction, isString } from './is.js'
|
|
@@ -355,6 +356,11 @@ function getTableServices(lcpPageServiceMapVOList = [], { dynamicMapComp, dynami
|
|
|
355
356
|
}
|
|
356
357
|
return []
|
|
357
358
|
}
|
|
359
|
+
|
|
360
|
+
export function isCycleConfig(config) {
|
|
361
|
+
return findComponent(CYCLE_COMPONETS, config.renderby) !== -1 || findComponent(CYCLE_COMPONETS, config.metaType) !== -1
|
|
362
|
+
}
|
|
363
|
+
|
|
358
364
|
function parsePolyfillConfigs({ polyfillConfigs, instance, parentRootValue, parentDynamicMapComp}, config) {
|
|
359
365
|
const hireRelat = config.hireRelat
|
|
360
366
|
const findKeys = Object.keys(polyfillConfigs || {}).filter(key => hireRelat.endsWith(key))
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { computed, defineAsyncComponent, getCurrentInstance, inject, onBeforeMount, provide, ref, watch } from 'vue'
|
|
2
|
+
import { COFNGI_KEY_EVENT_FLAG, commonPropsType, definePrivatelyProp, EXECTE_CLICK_EVENT_COMPONENTS, findComponent, getComponentPropsKeys, getComponentSolt, hasOwn, isPlainObject } from './utils/index.js'
|
|
3
|
+
import { useVmodels } from './hooks/index.js'
|
|
4
|
+
import { getRenderComponentProps, generateFormItemPolyfill } from './utils/index.js'
|
|
5
|
+
import rulesDriver from './rules/rulesDriver'
|
|
6
|
+
import { penddingRules } from './rules/ruleUtils.js'
|
|
7
|
+
import { useRoute } from 'vue-router'
|
|
8
|
+
import { executeEventOrchestration } from './components/helper/eventOrchestration.js'
|
|
9
|
+
import { useRouter } from 'vue-router'
|
|
10
|
+
import { onErrorCaptured } from 'vue'
|
|
11
|
+
import LoadingComponent from './components/loadingComponent/LoadingComponent.vue'
|
|
12
|
+
import { useConfigLoad } from './hooks/configLoad.js'
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
name: 'AnalysisComponent',
|
|
16
|
+
inheritAttrs: false,
|
|
17
|
+
props: {
|
|
18
|
+
config: {
|
|
19
|
+
type: Object,
|
|
20
|
+
default: () => ({})
|
|
21
|
+
},
|
|
22
|
+
// 这个组件通过v-model进行数据的绑定
|
|
23
|
+
modelValue: {
|
|
24
|
+
// type: [String, Number, Object],
|
|
25
|
+
default: null
|
|
26
|
+
},
|
|
27
|
+
component: {
|
|
28
|
+
type: [Function, Object, String],
|
|
29
|
+
default: null
|
|
30
|
+
},
|
|
31
|
+
// 如果是表格中列的组件,会传入行数据,{row, $index}
|
|
32
|
+
rowScope: {
|
|
33
|
+
type: [Object],
|
|
34
|
+
default: () => null
|
|
35
|
+
},
|
|
36
|
+
// 当前模式;操作:operate(默认)、详情:detail、日志:log
|
|
37
|
+
mode: {
|
|
38
|
+
type: String,
|
|
39
|
+
default: 'operate', // 操作:operate(默认)、详情:detail、日志:log
|
|
40
|
+
},
|
|
41
|
+
additionConfigs: {
|
|
42
|
+
type: Array,
|
|
43
|
+
default: () => []
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
emits: ['update:modelValue'],
|
|
47
|
+
setup(props, { emit, attrs }) {
|
|
48
|
+
const currentAttrs = computed(() => {
|
|
49
|
+
const ret = {
|
|
50
|
+
...attrs
|
|
51
|
+
}
|
|
52
|
+
delete ret.onClick
|
|
53
|
+
return ret
|
|
54
|
+
})
|
|
55
|
+
useConfigLoad(props.config)
|
|
56
|
+
const configsSet = inject('_configsSet')
|
|
57
|
+
const ruleExecuter = inject('_ruleExecuter')
|
|
58
|
+
const dialogReq = inject('_dialogReq', {})
|
|
59
|
+
const requestTraceId = inject('requestTraceId')
|
|
60
|
+
const polyfillConfigs = inject('_polyfillConfigs', {})
|
|
61
|
+
const buttonActions = inject('buttonActions', {})
|
|
62
|
+
const router = useRouter()
|
|
63
|
+
const route = useRoute()
|
|
64
|
+
const routeQuery= route?.query
|
|
65
|
+
const hireRelatMapRules = inject('hireRelatMapRules')
|
|
66
|
+
const components = inject('components')
|
|
67
|
+
const dataLoad = inject('dataLoad')
|
|
68
|
+
const rootForm = inject('rootForm')
|
|
69
|
+
const _axiosInstance = inject('_axiosInstance')
|
|
70
|
+
const confirmInstance = inject('_confirmInstance')
|
|
71
|
+
const openChildDialogInstance = inject('_openChildDialogInstance')
|
|
72
|
+
const messageCb = inject('_messageCb')
|
|
73
|
+
const messageInstance = inject('_messageInstance')
|
|
74
|
+
const builtPolyfillReq = inject('_builtPolyfillReq')
|
|
75
|
+
const rootValue = inject('rootValue')
|
|
76
|
+
const validate = inject('_validate')
|
|
77
|
+
const lang = inject('lang')
|
|
78
|
+
|
|
79
|
+
const selects = inject('selects')
|
|
80
|
+
const _parentRootValue = inject('_parentRootValue')
|
|
81
|
+
const _parentDynamicMapComp = inject('_parentDynamicMapComp')
|
|
82
|
+
|
|
83
|
+
definePrivatelyProp(props.config, '_lang', lang)
|
|
84
|
+
definePrivatelyProp(props.config, '_rootValue', rootValue)
|
|
85
|
+
definePrivatelyProp(props.config, 'router', router)
|
|
86
|
+
definePrivatelyProp(props.config, 'route', route)
|
|
87
|
+
definePrivatelyProp(props.config, '_validate', validate)
|
|
88
|
+
definePrivatelyProp(props.config, '_rowScope', props.rowScope)
|
|
89
|
+
definePrivatelyProp(props.config, '_selects', selects)
|
|
90
|
+
definePrivatelyProp(props.config, '_parentRootValue', _parentRootValue)
|
|
91
|
+
definePrivatelyProp(props.config, '_parentDynamicMapComp', _parentDynamicMapComp)
|
|
92
|
+
// 当前组件的实例
|
|
93
|
+
const instance = getCurrentInstance()
|
|
94
|
+
const appContext = instance?.appContext
|
|
95
|
+
definePrivatelyProp(props.config, 'wrapVm', instance)
|
|
96
|
+
const refFn = e => {
|
|
97
|
+
// 具体渲染的组件
|
|
98
|
+
definePrivatelyProp(props.config, 'vm', e)
|
|
99
|
+
}
|
|
100
|
+
const onVnodeMounted = (e) => {
|
|
101
|
+
definePrivatelyProp(props.config, 'vmIsBind', true)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
if (props.config.onVnodeMounted && typeof props.config.onVnodeMounted === 'function') {
|
|
105
|
+
const context = {
|
|
106
|
+
dataLoad: dataLoad
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
props.config.onVnodeMounted.call(context, props, e, selects)
|
|
110
|
+
} catch (error) {
|
|
111
|
+
console.error('onVnodeMounted error,', error, props.config)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (props.config.onMounted) {
|
|
115
|
+
let onMounted = props.config.onMounted
|
|
116
|
+
if (typeof onMounted === 'string') {
|
|
117
|
+
try {
|
|
118
|
+
onMounted = eval(`(function({props, e, selects}) {
|
|
119
|
+
try {
|
|
120
|
+
${props.config.onMounted}
|
|
121
|
+
} catch (error) {
|
|
122
|
+
console.error('onMounted error===:', props, error)
|
|
123
|
+
}
|
|
124
|
+
})`)
|
|
125
|
+
} catch (error) {
|
|
126
|
+
console.error('parse onMounted error===:',props, error)
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
typeof onMounted === 'function' && onMounted({props, e, selects})
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// 执行没有执行完的规则
|
|
133
|
+
const hireRelat = props.config?.hireRelat
|
|
134
|
+
if (penddingRules[hireRelat]?.length) {
|
|
135
|
+
penddingRules[hireRelat].forEach(context => {
|
|
136
|
+
const rules = context.rules
|
|
137
|
+
delete context.rules
|
|
138
|
+
setTimeout(() => {
|
|
139
|
+
rulesDriver.call(context, rules)
|
|
140
|
+
}, 0)
|
|
141
|
+
})
|
|
142
|
+
penddingRules[hireRelat] = null
|
|
143
|
+
}
|
|
144
|
+
// 使用json-rules-engine书写的规则,打开这边,需要对之前的规则进行注释,并且需要再index.js文件中进行开启 ====start====
|
|
145
|
+
if (ruleExecuter?.penddingRules?.[hireRelat]?.length) {
|
|
146
|
+
ruleExecuter?.penddingRules[hireRelat].forEach(context => {
|
|
147
|
+
const rules = context.rules
|
|
148
|
+
delete context.rules
|
|
149
|
+
setTimeout(() => {
|
|
150
|
+
ruleExecuter?.run(context, rules)
|
|
151
|
+
}, 0)
|
|
152
|
+
})
|
|
153
|
+
ruleExecuter.penddingRules[hireRelat] = null
|
|
154
|
+
}
|
|
155
|
+
// 使用json-rules-engine书写的规则,打开这边,需要对之前的规则进行注释,并且需要再index.js文件中进行开启 ====end====
|
|
156
|
+
|
|
157
|
+
if (props.config?.immediateClickEvent) {
|
|
158
|
+
const unWatch = watch(dataLoad, (val) => {
|
|
159
|
+
if (val) {
|
|
160
|
+
setTimeout(() => {
|
|
161
|
+
executeClickEvents()
|
|
162
|
+
unWatch && unWatch()
|
|
163
|
+
}, 100);
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
immediate: true
|
|
167
|
+
})
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const onVnodeUnmounted = () => {
|
|
171
|
+
props.config.vmIsBind = false
|
|
172
|
+
if (props.config.onVnodeUnmounted && typeof props.config.onVnodeUnmounted === 'function') {
|
|
173
|
+
try {
|
|
174
|
+
props.config.onVnodeUnmounted(props)
|
|
175
|
+
} catch (error) {
|
|
176
|
+
console.error('onVnodeUnmounted error,', error, props.config)
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const { vModelObjs, initVmodels, modelValue } = useVmodels(props, emit) // 过个v-model绑定对象,实现可以组件过赋值
|
|
182
|
+
|
|
183
|
+
definePrivatelyProp(props.config, 'refValue', modelValue)
|
|
184
|
+
// onBeforeMount(() => {
|
|
185
|
+
// defaultVal(props.config, modelValue) // 设置默认值
|
|
186
|
+
// })
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
// 获取组件中定义的props,赋值对应的属性====start====
|
|
190
|
+
const fnComponentkeys = ref([])
|
|
191
|
+
function getFncomponentProps() {
|
|
192
|
+
const obj = {}
|
|
193
|
+
fnComponentkeys.value.forEach(key => {
|
|
194
|
+
if (hasOwn(props.config, key)) {
|
|
195
|
+
const config = props.config
|
|
196
|
+
if (COFNGI_KEY_EVENT_FLAG.test(key) && typeof config[key] === 'function') {
|
|
197
|
+
obj[key] = function(...arg) {
|
|
198
|
+
return config[key](...arg, vm)
|
|
199
|
+
}
|
|
200
|
+
} else {
|
|
201
|
+
obj[key] = config[key]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
return obj
|
|
206
|
+
}
|
|
207
|
+
if (typeof props.component === 'function') {
|
|
208
|
+
props.component()?.then(res => {
|
|
209
|
+
if (res?.default?.emits) {
|
|
210
|
+
initVmodels(res?.default?.emits)
|
|
211
|
+
}
|
|
212
|
+
fnComponentkeys.value = getComponentPropsKeys(res?.default || res)
|
|
213
|
+
})
|
|
214
|
+
} else {
|
|
215
|
+
if (props.component?.emits) {
|
|
216
|
+
initVmodels(props.component?.emits)
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// 获取组件中定义的props,赋值对应的属性===end===
|
|
220
|
+
const currentComponent = computed(() => {
|
|
221
|
+
if (typeof props.component === 'function') {
|
|
222
|
+
return defineAsyncComponent({
|
|
223
|
+
loader: props.component,
|
|
224
|
+
loadingComponent: LoadingComponent,
|
|
225
|
+
delay: 0
|
|
226
|
+
})
|
|
227
|
+
} else {
|
|
228
|
+
return props.component
|
|
229
|
+
}
|
|
230
|
+
})
|
|
231
|
+
/**
|
|
232
|
+
* 动态赋值parent跟dynamicHireRelat
|
|
233
|
+
* 同时设置dynamicMapComp(动态dynamicHireRelat对应的config集合)
|
|
234
|
+
*/
|
|
235
|
+
const parent = inject('parent', null)
|
|
236
|
+
const dynamicMapComp = inject('dynamicMapComp')
|
|
237
|
+
|
|
238
|
+
const configLinks = [parent, ...props.additionConfigs, props.config]
|
|
239
|
+
configLinks.reduce((parent, config) => {
|
|
240
|
+
definePrivatelyProp(config, 'parent', parent)
|
|
241
|
+
definePrivatelyProp(config, 'dynamicMapComp', dynamicMapComp)
|
|
242
|
+
|
|
243
|
+
// 如果已经有dynamicHireRelat值的时候,就不需要再进行以下赋值了
|
|
244
|
+
if (
|
|
245
|
+
config?.dynamicHireRelat_bak && !configsSet?.has(config)
|
|
246
|
+
// && props.mode !== 'operate'
|
|
247
|
+
) {
|
|
248
|
+
definePrivatelyProp(config, 'dynamicHireRelat', `${config.dynamicHireRelat_bak}__@__${props.mode}__`)
|
|
249
|
+
} else {
|
|
250
|
+
const dynamicHireRelat = parent?.dynamicHireRelat ? `${parent?.dynamicHireRelat}${hasOwn(config, 'rowIndex') ? `[${config.rowIndex}]` : ''}->${(config.metaCode || '')}` : config.metaCode
|
|
251
|
+
definePrivatelyProp(config, 'dynamicHireRelat', dynamicHireRelat)
|
|
252
|
+
config.dynamicHireRelat_bak = dynamicHireRelat
|
|
253
|
+
}
|
|
254
|
+
configsSet?.add(config) // 搜集所有的config
|
|
255
|
+
config.dynamicHireRelat && (dynamicMapComp[config.dynamicHireRelat] = config)
|
|
256
|
+
return config
|
|
257
|
+
})
|
|
258
|
+
|
|
259
|
+
provide('parent', props.config)
|
|
260
|
+
|
|
261
|
+
const _isH5 = inject('_isH5')
|
|
262
|
+
const onClick = (e, params) => {
|
|
263
|
+
const context = {
|
|
264
|
+
props,
|
|
265
|
+
dynamicMapComp,
|
|
266
|
+
hireRelatMapRules,
|
|
267
|
+
components,
|
|
268
|
+
selects,
|
|
269
|
+
rootValue: rootValue?.value,
|
|
270
|
+
dataLoad,
|
|
271
|
+
rootForm,
|
|
272
|
+
routeQuery,
|
|
273
|
+
appContext
|
|
274
|
+
}
|
|
275
|
+
attrs?.onClick?.call(context, e) // 如果配置中有点击事件
|
|
276
|
+
if (findComponent(EXECTE_CLICK_EVENT_COMPONENTS, props.config?.renderby || props.config?.metaType) !== -1 ) {
|
|
277
|
+
executeClickEvents(params)
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
function executeClickEvents(params = {}) {
|
|
281
|
+
// beforeRequestService,
|
|
282
|
+
// afterRequestService,
|
|
283
|
+
// beforeOpenDialog,
|
|
284
|
+
// afterOpenDialog,
|
|
285
|
+
// middleOpenDialog,
|
|
286
|
+
// 目前parmas支持以上五种钩子
|
|
287
|
+
if (!isPlainObject(params)) {
|
|
288
|
+
params = {}
|
|
289
|
+
}
|
|
290
|
+
executeEventOrchestration({
|
|
291
|
+
...params,
|
|
292
|
+
builtPolyfillReq,
|
|
293
|
+
components,
|
|
294
|
+
props,
|
|
295
|
+
requestTraceId: requestTraceId?.value,
|
|
296
|
+
axiosInstance: _axiosInstance?.value,
|
|
297
|
+
polyfillConfigs,
|
|
298
|
+
rootValue: rootValue?.value,
|
|
299
|
+
confirmInstance: confirmInstance?.value,
|
|
300
|
+
dynamicMapComp,
|
|
301
|
+
openChildDialog: openChildDialogInstance?.value,
|
|
302
|
+
messageInstance: messageInstance?.value,
|
|
303
|
+
messageCb,
|
|
304
|
+
buttonActions,
|
|
305
|
+
lang: lang?.value,
|
|
306
|
+
dialogReq,
|
|
307
|
+
appContext
|
|
308
|
+
})
|
|
309
|
+
}
|
|
310
|
+
onErrorCaptured((err, instance, info) => {
|
|
311
|
+
console.error('component render failer', lang?.value?.indexOf('zh') > -1 ? props.config?.metaNameZh : props.config?.metaNameEn, props.config?.metaCode, err, instance, info)
|
|
312
|
+
})
|
|
313
|
+
return () => {
|
|
314
|
+
const componentProps = getFncomponentProps()
|
|
315
|
+
const compProps = getRenderComponentProps({config: props.config, props, component: props.component, modelValue, selects, lang: lang.value, vm: instance.proxy})
|
|
316
|
+
const compPropsOnClick = compProps?.onClick
|
|
317
|
+
delete compProps.onClick
|
|
318
|
+
const formItemPolyfill = generateFormItemPolyfill(props.config, lang.value, compProps, _isH5?.value, {
|
|
319
|
+
lang,
|
|
320
|
+
rootValue,
|
|
321
|
+
dynamicMapComp,
|
|
322
|
+
props,
|
|
323
|
+
messageInstance: messageInstance?.value
|
|
324
|
+
}) // 生成formItem()的辅助函数
|
|
325
|
+
return formItemPolyfill(
|
|
326
|
+
<currentComponent.value
|
|
327
|
+
ref={refFn}
|
|
328
|
+
onVnodeMounted={onVnodeMounted}
|
|
329
|
+
onVnodeUnmounted={onVnodeUnmounted}
|
|
330
|
+
{...currentAttrs.value}
|
|
331
|
+
onClick={(e, params) => {onClick(e, params);compPropsOnClick?.(e)}}
|
|
332
|
+
{...componentProps}
|
|
333
|
+
{...compProps}
|
|
334
|
+
{...vModelObjs}
|
|
335
|
+
>
|
|
336
|
+
{
|
|
337
|
+
getComponentSolt({config: props.config})
|
|
338
|
+
}
|
|
339
|
+
</currentComponent.value>
|
|
340
|
+
)
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const QUERY_PAGE_CONFIG_DATA = '/sa-lcp/api/v1/pageConfig/queryPageConfigData'
|
|
2
|
+
export const LCP_LOGIN = '/sa-lcp/login'
|
|
3
|
+
export const GET_SYS_PARAM_CACHE = '/sa-lcp/api/v1/sysparam/getSysParamCache'
|
|
4
|
+
export const REFRESH_TOKEN = '/sa-lcp/changePwd/refreshToken'
|
|
5
|
+
export const DATA_VALID_RULE_EXECUTE = '/sa-lcp/api/v1/validate/dataValidRuleExecute'
|
|
6
|
+
export const FIND_FILEA_NND_CONENT_BY_ID = '/sa-lcp/api/v1/fileopertate/findFileAndContentById'
|
|
7
|
+
|
|
8
|
+
export const MAIL_SEND_URL = '/gcweb/External_Mail'
|
|
9
|
+
export const FILE_IMPORT_URL = '/gcweb/External_Import'
|
|
10
|
+
export const FILE_EXPORT_URL = '/gcweb/External_Export'
|