resolver-egretimp-plus 0.0.4

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.
Files changed (121) hide show
  1. package/babel.config.js +14 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.LICENSE.txt +8 -0
  4. package/dist/theme/element/index.css +1 -0
  5. package/dist/theme/element/src/components/card.scss +4 -0
  6. package/dist/theme/element/src/components/collapse.scss +16 -0
  7. package/dist/theme/element/src/components/date.scss +13 -0
  8. package/dist/theme/element/src/components/form.scss +54 -0
  9. package/dist/theme/element/src/components/index.scss +42 -0
  10. package/dist/theme/element/src/components/input.scss +15 -0
  11. package/dist/theme/element/src/components/message.scss +31 -0
  12. package/dist/theme/element/src/components/scrollbar.scss +14 -0
  13. package/dist/theme/element/src/components/select.scss +17 -0
  14. package/dist/theme/element/src/components/steps.scss +6 -0
  15. package/dist/theme/element/src/components/table.scss +8 -0
  16. package/dist/theme/element/src/components/tabs.scss +68 -0
  17. package/dist/theme/element/src/components/tree.scss +0 -0
  18. package/dist/theme/element/src/index.scss +79 -0
  19. package/index.js +17 -0
  20. package/package.json +45 -0
  21. package/scripts/gulpfile.mjs +73 -0
  22. package/scripts/webpack.config.js +81 -0
  23. package/src/analysisComponent.jsx +166 -0
  24. package/src/components/helper/button.js +17 -0
  25. package/src/components/helper/dock.js +120 -0
  26. package/src/components/icons/question-filled.vue +13 -0
  27. package/src/components/packages/CmiButton.vue +84 -0
  28. package/src/components/packages/CmiCalendar.vue +138 -0
  29. package/src/components/packages/CmiCell.vue +34 -0
  30. package/src/components/packages/CmiCheckbox.vue +63 -0
  31. package/src/components/packages/CmiDatetimePicker.vue +84 -0
  32. package/src/components/packages/CmiDropdownMenu.vue +57 -0
  33. package/src/components/packages/CmiInput.vue +45 -0
  34. package/src/components/packages/CmiLink.vue +28 -0
  35. package/src/components/packages/CmiPicker.vue +120 -0
  36. package/src/components/packages/CmiRadio.vue +29 -0
  37. package/src/components/packages/CmiSearch.vue +39 -0
  38. package/src/components/packages/CmiSelect.vue +84 -0
  39. package/src/components/packages/CustomComponentCard.vue +40 -0
  40. package/src/components/packages/CustomComponentCardH5.vue +40 -0
  41. package/src/components/packages/CustomComponentCol.vue +69 -0
  42. package/src/components/packages/CustomComponentColH5.vue +8 -0
  43. package/src/components/packages/CustomComponentCollapse.vue +183 -0
  44. package/src/components/packages/CustomComponentCollapseH5.vue +37 -0
  45. package/src/components/packages/CustomComponentCycle.vue +95 -0
  46. package/src/components/packages/CustomComponentCycleTabPane.vue +92 -0
  47. package/src/components/packages/CustomComponentDialog.vue +162 -0
  48. package/src/components/packages/CustomComponentEditor.vue +43 -0
  49. package/src/components/packages/CustomComponentFormLayout.vue +63 -0
  50. package/src/components/packages/CustomComponentFormLayoutH5.vue +55 -0
  51. package/src/components/packages/CustomComponentGrid.vue +29 -0
  52. package/src/components/packages/CustomComponentGridCol.vue +29 -0
  53. package/src/components/packages/CustomComponentInputDialog.vue +144 -0
  54. package/src/components/packages/CustomComponentPlain.vue +80 -0
  55. package/src/components/packages/CustomComponentRow.vue +67 -0
  56. package/src/components/packages/CustomComponentSelectEmployees.vue +133 -0
  57. package/src/components/packages/CustomComponentSendMail.vue +72 -0
  58. package/src/components/packages/CustomComponentSteps.vue +41 -0
  59. package/src/components/packages/CustomComponentTabPane.vue +41 -0
  60. package/src/components/packages/CustomComponentTabPaneH5.vue +30 -0
  61. package/src/components/packages/CustomComponentTable.jsx +406 -0
  62. package/src/components/packages/CustomComponentTableH5.vue +58 -0
  63. package/src/components/packages/CustomComponentTabs.vue +75 -0
  64. package/src/components/packages/CustomComponentTabsH5.vue +86 -0
  65. package/src/components/packages/CustomComponentTree.vue +28 -0
  66. package/src/components/packages/ElButton.vue +90 -0
  67. package/src/components/packages/ElCheckbox.vue +55 -0
  68. package/src/components/packages/ElDatePicker.vue +58 -0
  69. package/src/components/packages/ElInput.vue +23 -0
  70. package/src/components/packages/ElInputNumber.vue +54 -0
  71. package/src/components/packages/ElPagination.vue +56 -0
  72. package/src/components/packages/ElRadio.vue +44 -0
  73. package/src/components/packages/ElSelect.vue +73 -0
  74. package/src/components/packages/ElText.vue +48 -0
  75. package/src/components/packages/ElTimePicker.vue +34 -0
  76. package/src/components/patchComponents.js +46 -0
  77. package/src/components/styles/CustomComponenTable.scss +125 -0
  78. package/src/components/tabs/index.js +8 -0
  79. package/src/components/tabs/src/constants.js +23 -0
  80. package/src/components/tabs/src/tab-bar.js +8 -0
  81. package/src/components/tabs/src/tab-bar.vue +92 -0
  82. package/src/components/tabs/src/tab-nav.jsx +413 -0
  83. package/src/components/tabs/src/tab-pane.js +15 -0
  84. package/src/components/tabs/src/tab-pane.vue +80 -0
  85. package/src/components/tabs/src/tabs.jsx +217 -0
  86. package/src/components/tabs/style/css.js +2 -0
  87. package/src/components/tabs/style/index.js +2 -0
  88. package/src/components/thirdPartyFrame/index.js +32 -0
  89. package/src/components/thirdPartyFrame/src/ThirdPartyFrame.vue +123 -0
  90. package/src/hooks/index.js +129 -0
  91. package/src/hooks/pageConfig.js +20 -0
  92. package/src/index.jsx +140 -0
  93. package/src/renderer.jsx +68 -0
  94. package/src/rules/eventsSupplement.js +439 -0
  95. package/src/rules/parseCondition.js +359 -0
  96. package/src/rules/ruleUtils.js +208 -0
  97. package/src/rules/rulesDriver.js +118 -0
  98. package/src/theme/element/components/card.scss +4 -0
  99. package/src/theme/element/components/collapse.scss +16 -0
  100. package/src/theme/element/components/date.scss +13 -0
  101. package/src/theme/element/components/form.scss +54 -0
  102. package/src/theme/element/components/index.scss +42 -0
  103. package/src/theme/element/components/input.scss +15 -0
  104. package/src/theme/element/components/message.scss +31 -0
  105. package/src/theme/element/components/scrollbar.scss +14 -0
  106. package/src/theme/element/components/select.scss +17 -0
  107. package/src/theme/element/components/steps.scss +6 -0
  108. package/src/theme/element/components/table.scss +8 -0
  109. package/src/theme/element/components/tabs.scss +68 -0
  110. package/src/theme/element/components/tree.scss +0 -0
  111. package/src/theme/element/index.scss +79 -0
  112. package/src/utils/common.js +230 -0
  113. package/src/utils/const.js +198 -0
  114. package/src/utils/defaultVal.js +23 -0
  115. package/src/utils/format.js +19 -0
  116. package/src/utils/index.js +4 -0
  117. package/src/utils/is.js +69 -0
  118. package/src/utils/preserveFunc.js +33 -0
  119. package/src/utils/render.jsx +714 -0
  120. package/src/utils/request.js +10 -0
  121. package/src/utils/valid.js +71 -0
@@ -0,0 +1,198 @@
1
+ import { normalPixel, getDate, findComponent, isPatchComponent } from './common.js'
2
+
3
+ export const MODE = {
4
+ OPERATE: 'operate',
5
+ DETAIL: 'detail',
6
+ LOG: 'log'
7
+ }
8
+ export const ARG_FLAGS = {
9
+ CURRENT_DATE: '_currentDate',
10
+ REF_VAL: '_refVal'
11
+ }
12
+ export const NOT_LOG_EFFECT_TYPE = ['CustomComponentTabs', 'CustomComponentTabPane', 'CustomComponentCycleTabPane', 'CustomComponentCollapse', 'CustomComponentTabPaneH5']
13
+ export const FORM_META_TYPE = 'CustomComponentFormLayout'
14
+ export const FORM_META_TYPE_H5 = 'CustomComponentFormLayoutH5'
15
+ export const CONTEXT_PEDDING_TYPE = ['CustomComponentDialog']
16
+ export const NOT_NEED_FORM_ITEM_META_TYPE = [
17
+ 'CustomComponentTabs',
18
+ 'CustomComponentTabPane',
19
+ 'CustomComponentCycleTabPane',
20
+ 'CustomComponentCollapse',
21
+ 'CustomComponentDialog',
22
+ 'ElButton',
23
+ 'CustomComponentTable',
24
+ 'CustomComponentRow',
25
+ 'CustomComponentCol'
26
+ ]
27
+ export const NOT_NEED_COL_ITEM_META_TYPE = ['CustomComponentTabPane', 'CustomComponentDialog', 'CustomComponentCol', 'CustomComponentTabPaneH5']
28
+ export const MULTI_PAGE_META_LIST_TYPES = ['CustomComponentTable']
29
+ 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']
30
+ export const TABLE_COLUMN_NOT_RENDER_META_TYPE = ['el-span']
31
+ export const PREFIX_FLAG = 'el-'
32
+ export const REPLACE_PREFIX_FLAG = 't-'
33
+ export const H5_PREFIX_FLAG = 'cmi-'
34
+ export const H5_REPLACE_PREFIX_FLAG = 'H5-'
35
+ export const DISPLAY_SHOW = '1'
36
+ export const DISPLAY_HIDDEN = '0'
37
+ export const PLAIN_TYPE_COLUMNS = ['ElText', 'ElInput', 'ElDatePicker', 'ElInputNumber']
38
+ export const PLAIN_TYPE_OPTIONS_COLUMNS = ['ElSelect']
39
+ export const MAIL_SEND_URL = '/gcweb/External_Mail'
40
+ export const commonPropsType = {
41
+ // 这边是组件的信息
42
+ compInfo: {
43
+ type: Object,
44
+ getValue(config, props, modelValue) {
45
+ return config
46
+ }
47
+ },
48
+ modelValue: {
49
+ type: [String, Number, Object, Array, undefined, null],
50
+ getValue(config, props, modelValue) {
51
+ return modelValue.value
52
+ }
53
+ },
54
+ // 这边是组件的信息
55
+ config: {
56
+ type: Object,
57
+ getValue(config, props, modelValue) {
58
+ return config
59
+ }
60
+ },
61
+ // 组件对应的ref的值
62
+ refValue: {
63
+ type: [Object, Number, String],
64
+ default: '',
65
+ getValue(config, props, modelValue) {
66
+ return modelValue
67
+ }
68
+ },
69
+ // 组件是否禁用
70
+ disabled: {
71
+ type: Boolean,
72
+ default: false,
73
+ getValue(config, props, modelValue) {
74
+ return calcDisable(config, props.mode)
75
+ }
76
+ },
77
+ // 组件是否可清除
78
+ clearable: {
79
+ type: Boolean,
80
+ default: false,
81
+ getValue(config, props, modelValue) {
82
+ return config.clearableFlag === '1'
83
+ }
84
+ },
85
+ // 组件是否必填
86
+ required: {
87
+ type: Boolean,
88
+ default: false,
89
+ getValue(config, props, modelValue) {
90
+ return config.requiredFlag === '1'
91
+ }
92
+ },
93
+ // 组件是否展示必填标识
94
+ onlyRequiredFlag: {
95
+ type: Boolean,
96
+ default: false,
97
+ getValue(config, props, modelValue) {
98
+ return config.onlyRequiredFlag
99
+ }
100
+ },
101
+ // 表格引用到组件的时候,会传入表格数据
102
+ tableData: {
103
+ type: Array,
104
+ default: () => [],
105
+ getValue(config, props, modelValue) {
106
+ return props.tableData
107
+ }
108
+ },
109
+ // 表格引用到组件的时候,会传入 row 跟 index 的集合
110
+ rowScope: {
111
+ type: Object,
112
+ getValue(config, props, modelValue) {
113
+ return props.rowScope
114
+ }
115
+ },
116
+ width: {
117
+ type: [String, Number],
118
+ default: '',
119
+ getValue(config, props, modelValue) {
120
+ if (!config.width) return null
121
+ return normalPixel(config.width)
122
+ }
123
+ },
124
+ mode: {
125
+ type: [String],
126
+ default: '',
127
+ getValue(config, props,) {
128
+ return props.mode
129
+ }
130
+ },
131
+ options: {
132
+ type: Array,
133
+ default: () => [],
134
+ getValue(config, props, modelValue, selects) {
135
+ const referenceOptions = config.referenceOptions
136
+ const selectKey = config.selectKey
137
+ const options = (selects?.value && selects?.value?.[selectKey]) || (selects?.value && selects?.value?.[`${config.metaCode}ListValue`]) || (selects?.value && selects?.value?.[referenceOptions]) || []
138
+ return options
139
+ }
140
+ }
141
+ }
142
+
143
+ export function calcDisable(config, mode) {
144
+ const flag = isPatchComponent(['CustomComponentTabs', 'CustomComponentTabPane'], config) ?
145
+ false :
146
+ mode === MODE.LOG ?
147
+ (
148
+ config.logAlong || isPatchComponent([FORM_META_TYPE, ...NOT_LOG_EFFECT_TYPE], config) ?
149
+ config.editFlag === '0' :
150
+ true
151
+ ) :
152
+ mode === MODE.DETAIL ?
153
+ (config.detailAlong || isPatchComponent([FORM_META_TYPE, ...NOT_LOG_EFFECT_TYPE], config) ?
154
+ config.editFlag === '0' :
155
+ true
156
+ ) :
157
+ config.editFlag === '0'
158
+ return flag
159
+ }
160
+
161
+ export const META_TYPE_MAP = {
162
+ row: 'CustomComponentRow',
163
+ grid: 'CustomComponentRow',
164
+ 'grid-col': 'CustomComponentCol',
165
+ table: 'CustomComponentTable',
166
+ 'checkbox-table': 'CustomComponentTable',
167
+ tab: 'CustomComponentTabs',
168
+ 'tab-pane': 'CustomComponentTabPane',
169
+ collapse: 'CustomComponentCollapse',
170
+ 'card': 'CustomComponentCollapse',
171
+ cycle: 'CustomComponentCycle',
172
+ 'input': 'ElInput',
173
+ 'textarea': 'ElInput',
174
+ 'button': 'ElButton',
175
+ 'static-text': 'ElText',
176
+ 'number': 'ElInputNumber',
177
+ 'radio': 'ElRadio',
178
+ 'checkbox': 'ElCheckbox',
179
+ 'select': 'ElSelect',
180
+ 'time': 'ElTimePicker',
181
+ 'time-range': 'ElTimePicker',
182
+ 'date': 'ElDatePicker',
183
+ 'date-range': 'ElDatePicker',
184
+ 'cascader': 'ElCascader',
185
+ 'select-employees': 'CustomComponentSelectEmployees',
186
+ 'rich-editor': 'CustomComponentEditor',
187
+ 'pagination': 'ElPagination',
188
+ 'tree': 'CustomComponentTree',
189
+ 'steps': 'CustomComponentSteps',
190
+ 'mail-send': 'CustomComponentSendMail',
191
+
192
+ 'cmi-card': 'CustomComponentCardH5',
193
+ 'cmi-collapse': 'CustomComponentCollapseH5',
194
+ 'cmi-tab': 'CustomComponentTabsH5',
195
+ 'cmi-tab-pane': 'CustomComponentTabPaneH5',
196
+ 'cmi-table': 'CustomComponentTableH5',
197
+ 'cmi-datetime': 'CmiDatetimePicker',
198
+ }
@@ -0,0 +1,23 @@
1
+ import { formatDate } from './common'
2
+ import { ARG_FLAGS } from './const'
3
+
4
+ export default function defaultVal(config) {
5
+ if ((config.defaultVal || config.defaultValue) && !config.bindValue && config.bindValue !== 0) {
6
+ const configDefaultVal = config.defaultVal || config.defaultValue
7
+ let defaultVal = null
8
+ try {
9
+ if (/^{\w*}$/.test(configDefaultVal) || /^\[\w*\]$/.test(configDefaultVal)) {
10
+ defaultVal = JSON.parse(configDefaultVal)
11
+ } else {
12
+ if (configDefaultVal === ARG_FLAGS.CURRENT_DATE || configDefaultVal === 'currentDate') {
13
+ defaultVal = formatDate(new Date(), 'yyyy-MM-dd')
14
+ } else {
15
+ defaultVal = configDefaultVal
16
+ }
17
+ }
18
+ } catch (error) {
19
+ console.log('set default val fail, config', config)
20
+ }
21
+ config.refValue = defaultVal
22
+ }
23
+ }
@@ -0,0 +1,19 @@
1
+ export default {
2
+ // 金额显示方法
3
+ formatAmount(number) {
4
+ const str = String(number)
5
+ const reg = /(\d)(?=(?:\d{3})+$)/g
6
+ return str.replace(reg, '$1,')
7
+ },
8
+ // 金额显示方法加上符号
9
+ formatAmountWidthSymbol: {
10
+ get(val) {
11
+ const num = parseFloat(val)
12
+ return num.toLocaleString('zh', { style: 'currency', currency: 'CNY' })
13
+ },
14
+ set(val) {
15
+ val = val.trim()
16
+ return val.length === '' ? 0 : val.replace(/(¥|,)/g, '')
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,4 @@
1
+ export * from './common.js'
2
+ export * from './render.jsx'
3
+ export * from './const.js'
4
+ export * from './is.js'
@@ -0,0 +1,69 @@
1
+ export {
2
+ isArguments,
3
+ isArrayBuffer,
4
+ isArrayLike,
5
+ isArrayLikeObject,
6
+ isBuffer,
7
+ isBoolean,
8
+ isDate,
9
+ isElement,
10
+ isEmpty,
11
+ isEqual,
12
+ isEqualWith,
13
+ isError,
14
+ isFunction,
15
+ isFinite,
16
+ isLength,
17
+ isMap,
18
+ isMatch,
19
+ isMatchWith,
20
+ isNative,
21
+ isNil,
22
+ isNumber,
23
+ isNull,
24
+ isObjectLike,
25
+ isRegExp,
26
+ isSafeInteger,
27
+ isSet,
28
+ isString,
29
+ isSymbol,
30
+ isTypedArray,
31
+ isUndefined,
32
+ isWeakMap,
33
+ isWeakSet,
34
+ } from 'lodash-es';
35
+ const toString = Object.prototype.toString;
36
+
37
+ export function is(val, type) {
38
+ return toString.call(val) === `[object ${type}]`;
39
+ }
40
+
41
+ export function isDef(val) {
42
+ return typeof val !== 'undefined';
43
+ }
44
+
45
+ export function isObject(val){
46
+ return val !== null && is(val, 'Object');
47
+ }
48
+
49
+ export function isArray(val) {
50
+ return val && Array.isArray(val);
51
+ }
52
+
53
+ export function isWindow(val) {
54
+ return typeof window !== 'undefined' && is(val, 'Window');
55
+ }
56
+
57
+ export const isServer = typeof window === 'undefined';
58
+
59
+ export const isClient = !isServer;
60
+
61
+ export function isHttpUrl(path) {
62
+ const reg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/;
63
+ return reg.test(path);
64
+ }
65
+
66
+ export function isPascalCase(str) {
67
+ const regex = /^[A-Z][A-Za-z]*$/;
68
+ return regex.test(str);
69
+ }
@@ -0,0 +1,33 @@
1
+ import { normalPixel, getDate } from './common.js'
2
+
3
+ function getFunctionArguments(fnStirng) {
4
+ // 使用正则表达式匹配函数的参数部分
5
+ const args = fnStirng.match(/\(([^)]*)\)/)[1];
6
+ // 使用逗号分隔参数字符串,并去除空格
7
+ if (!args) return []
8
+ return args.split(',').map(arg => arg.trim());
9
+ }
10
+
11
+ const PRESERVE_FUNC = [
12
+ {
13
+ key: /^getDate\(\w*\)$/,
14
+ value: getDate
15
+ }
16
+ ]
17
+
18
+ export function preserveCheck(key, val) {
19
+ const regItem = PRESERVE_FUNC.find(({key: regKey}) => {
20
+ return regKey?.test(val)
21
+ })
22
+ if (regItem) {
23
+ const params = getFunctionArguments(val)
24
+ const currentFn = regItem.value
25
+ return {
26
+ checked: true,
27
+ val: currentFn(...params)
28
+ }
29
+ }
30
+ return {
31
+ checked: false,
32
+ }
33
+ }