resolver-egretimp-plus 0.1.113 → 0.1.115

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 (219) hide show
  1. package/dist/h5/index.js +1 -1
  2. package/dist/theme/element/index.css +1 -1
  3. package/dist/theme/element/src/components/common.scss +4 -0
  4. package/dist/theme/element/src/components/text.scss +17 -0
  5. package/dist/web/index.js +2 -2
  6. package/package.json +1 -1
  7. package/src/analysisComponent.jsx +2 -1
  8. package/src/components/helper/table.jsx +26 -23
  9. package/src/components/packages-H5/CustomComponentCollapseH5.vue +6 -2
  10. package/src/components/packages-web/ElText.jsx +0 -1
  11. package/src/theme/element/components/common.scss +4 -0
  12. package/src/theme/element/components/text.scss +17 -0
  13. package/src-bak/analysisComponent.jsx +343 -0
  14. package/src-bak/api/builtIn.js +10 -0
  15. package/src-bak/bpm/bpmInstance.js +388 -0
  16. package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +8 -0
  17. package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +97 -0
  18. package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +88 -0
  19. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +3 -0
  20. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +76 -0
  21. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +201 -0
  22. package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +69 -0
  23. package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +56 -0
  24. package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +76 -0
  25. package/src-bak/bpm/udc-sdk-esm/cjs/index.js +46 -0
  26. package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +21 -0
  27. package/src-bak/components/childDialog/index.js +39 -0
  28. package/src-bak/components/childDialog/src/index.vue +185 -0
  29. package/src-bak/components/cmiFormItem/index.js +1 -0
  30. package/src-bak/components/cmiFormItem/src/index.vue +112 -0
  31. package/src-bak/components/confirmInstance-H5/index.js +53 -0
  32. package/src-bak/components/confirmInstance-H5/src/index.vue +54 -0
  33. package/src-bak/components/helper/FormPolyfill.jsx +25 -0
  34. package/src-bak/components/helper/calcTooltip.jsx +134 -0
  35. package/src-bak/components/helper/dock.js +141 -0
  36. package/src-bak/components/helper/eventOrchestration.js +763 -0
  37. package/src-bak/components/helper/resolver.js +163 -0
  38. package/src-bak/components/helper/table.jsx +103 -0
  39. package/src-bak/components/icons/date.vue +33 -0
  40. package/src-bak/components/icons/info.vue +62 -0
  41. package/src-bak/components/icons/loading.vue +19 -0
  42. package/src-bak/components/icons/question-filled.vue +8 -0
  43. package/src-bak/components/loading/index.js +6 -0
  44. package/src-bak/components/loading/loading.js +98 -0
  45. package/src-bak/components/loading/loading.scss +74 -0
  46. package/src-bak/components/loading/loading.vue +89 -0
  47. package/src-bak/components/loadingComponent/LoadingComponent.vue +33 -0
  48. package/src-bak/components/modal/index.js +9 -0
  49. package/src-bak/components/modal/modal.scss +195 -0
  50. package/src-bak/components/modal/modal.vue +201 -0
  51. package/src-bak/components/options/OptionsDefault.vue +47 -0
  52. package/src-bak/components/packages-H5/CmiButton.vue +120 -0
  53. package/src-bak/components/packages-H5/CmiCalendar.vue +152 -0
  54. package/src-bak/components/packages-H5/CmiCell.vue +87 -0
  55. package/src-bak/components/packages-H5/CmiCheckbox.vue +82 -0
  56. package/src-bak/components/packages-H5/CmiDatetimePicker.vue +98 -0
  57. package/src-bak/components/packages-H5/CmiDivider.vue +30 -0
  58. package/src-bak/components/packages-H5/CmiDropdownMenu.vue +58 -0
  59. package/src-bak/components/packages-H5/CmiInput.vue +69 -0
  60. package/src-bak/components/packages-H5/CmiLink.vue +28 -0
  61. package/src-bak/components/packages-H5/CmiPicker.vue +229 -0
  62. package/src-bak/components/packages-H5/CmiRadio.vue +29 -0
  63. package/src-bak/components/packages-H5/CmiSearch.vue +39 -0
  64. package/src-bak/components/packages-H5/CmiSelect.vue +84 -0
  65. package/src-bak/components/packages-H5/CustomComponentCardH5.vue +129 -0
  66. package/src-bak/components/packages-H5/CustomComponentColH5.vue +8 -0
  67. package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +137 -0
  68. package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +54 -0
  69. package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +38 -0
  70. package/src-bak/components/packages-H5/CustomComponentTableH5.vue +352 -0
  71. package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +170 -0
  72. package/src-bak/components/packages-web/CustomComponentCard.vue +40 -0
  73. package/src-bak/components/packages-web/CustomComponentCol.vue +66 -0
  74. package/src-bak/components/packages-web/CustomComponentCollapse.vue +164 -0
  75. package/src-bak/components/packages-web/CustomComponentCycle.vue +95 -0
  76. package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +155 -0
  77. package/src-bak/components/packages-web/CustomComponentDialog.vue +192 -0
  78. package/src-bak/components/packages-web/CustomComponentEditor.vue +50 -0
  79. package/src-bak/components/packages-web/CustomComponentFileExport.vue +60 -0
  80. package/src-bak/components/packages-web/CustomComponentFileImport.vue +60 -0
  81. package/src-bak/components/packages-web/CustomComponentFormLayout.vue +65 -0
  82. package/src-bak/components/packages-web/CustomComponentGrid.vue +29 -0
  83. package/src-bak/components/packages-web/CustomComponentGridCol.vue +29 -0
  84. package/src-bak/components/packages-web/CustomComponentInputDialog.vue +144 -0
  85. package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +84 -0
  86. package/src-bak/components/packages-web/CustomComponentPlain.vue +243 -0
  87. package/src-bak/components/packages-web/CustomComponentRow.vue +83 -0
  88. package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +203 -0
  89. package/src-bak/components/packages-web/CustomComponentSendMail.vue +62 -0
  90. package/src-bak/components/packages-web/CustomComponentSteps.vue +41 -0
  91. package/src-bak/components/packages-web/CustomComponentTabPane.vue +20 -0
  92. package/src-bak/components/packages-web/CustomComponentTable.jsx +813 -0
  93. package/src-bak/components/packages-web/CustomComponentTabs.vue +126 -0
  94. package/src-bak/components/packages-web/CustomComponentTree.vue +28 -0
  95. package/src-bak/components/packages-web/ElButton.vue +146 -0
  96. package/src-bak/components/packages-web/ElCheckbox.vue +97 -0
  97. package/src-bak/components/packages-web/ElDatePicker.vue +93 -0
  98. package/src-bak/components/packages-web/ElInput copy.jsx +393 -0
  99. package/src-bak/components/packages-web/ElInput.jsx +312 -0
  100. package/src-bak/components/packages-web/ElInputNumber.vue +81 -0
  101. package/src-bak/components/packages-web/ElPagination.vue +61 -0
  102. package/src-bak/components/packages-web/ElRadio.vue +47 -0
  103. package/src-bak/components/packages-web/ElSelect.jsx +249 -0
  104. package/src-bak/components/packages-web/ElSelect_bak.vue +155 -0
  105. package/src-bak/components/packages-web/ElText.jsx +187 -0
  106. package/src-bak/components/packages-web/ElTextaa.vue +169 -0
  107. package/src-bak/components/packages-web/ElTimePicker.vue +39 -0
  108. package/src-bak/components/patchComponents-H5.js +46 -0
  109. package/src-bak/components/patchComponents-web.js +46 -0
  110. package/src-bak/components/simpleFormItemPc/index.js +1 -0
  111. package/src-bak/components/simpleFormItemPc/src/index.vue +94 -0
  112. package/src-bak/components/table/index.ts +29 -0
  113. package/src-bak/components/table/src/composables/use-scrollbar.ts +30 -0
  114. package/src-bak/components/table/src/config.ts +256 -0
  115. package/src-bak/components/table/src/filter-panel.vue +260 -0
  116. package/src-bak/components/table/src/h-helper.ts +34 -0
  117. package/src-bak/components/table/src/layout-observer.ts +78 -0
  118. package/src-bak/components/table/src/store/current.ts +85 -0
  119. package/src-bak/components/table/src/store/expand.ts +76 -0
  120. package/src-bak/components/table/src/store/helper.ts +74 -0
  121. package/src-bak/components/table/src/store/index.ts +246 -0
  122. package/src-bak/components/table/src/store/tree.ts +230 -0
  123. package/src-bak/components/table/src/store/watcher.ts +543 -0
  124. package/src-bak/components/table/src/table/defaults.ts +402 -0
  125. package/src-bak/components/table/src/table/key-render-helper.ts +27 -0
  126. package/src-bak/components/table/src/table/style-helper.ts +378 -0
  127. package/src-bak/components/table/src/table/utils-helper.ts +47 -0
  128. package/src-bak/components/table/src/table-body/defaults.ts +52 -0
  129. package/src-bak/components/table/src/table-body/events-helper.ts +203 -0
  130. package/src-bak/components/table/src/table-body/index.ts +119 -0
  131. package/src-bak/components/table/src/table-body/render-helper.ts +283 -0
  132. package/src-bak/components/table/src/table-body/styles-helper.ts +164 -0
  133. package/src-bak/components/table/src/table-column/defaults.ts +237 -0
  134. package/src-bak/components/table/src/table-column/index.ts +202 -0
  135. package/src-bak/components/table/src/table-column/render-helper.ts +214 -0
  136. package/src-bak/components/table/src/table-column/watcher-helper.ts +88 -0
  137. package/src-bak/components/table/src/table-footer/index.ts +128 -0
  138. package/src-bak/components/table/src/table-footer/mapState-helper.ts +33 -0
  139. package/src-bak/components/table/src/table-footer/style-helper.ts +51 -0
  140. package/src-bak/components/table/src/table-header/event-helper.ts +213 -0
  141. package/src-bak/components/table/src/table-header/index.ts +244 -0
  142. package/src-bak/components/table/src/table-header/style.helper.ts +119 -0
  143. package/src-bak/components/table/src/table-header/utils-helper.ts +94 -0
  144. package/src-bak/components/table/src/table-layout.ts +259 -0
  145. package/src-bak/components/table/src/table.vue +389 -0
  146. package/src-bak/components/table/src/tableColumn.ts +3 -0
  147. package/src-bak/components/table/src/tokens.ts +5 -0
  148. package/src-bak/components/table/src/util.ts +521 -0
  149. package/src-bak/components/table/style/css.ts +5 -0
  150. package/src-bak/components/table/style/index.ts +5 -0
  151. package/src-bak/components/tabs/index.js +8 -0
  152. package/src-bak/components/tabs/src/constants.js +23 -0
  153. package/src-bak/components/tabs/src/tab-bar.js +8 -0
  154. package/src-bak/components/tabs/src/tab-bar.vue +92 -0
  155. package/src-bak/components/tabs/src/tab-nav.jsx +424 -0
  156. package/src-bak/components/tabs/src/tab-pane.js +16 -0
  157. package/src-bak/components/tabs/src/tab-pane.vue +80 -0
  158. package/src-bak/components/tabs/src/tabs.jsx +223 -0
  159. package/src-bak/components/tabs/style/css.js +2 -0
  160. package/src-bak/components/tabs/style/index.js +2 -0
  161. package/src-bak/components/thirdPartyFrame/index.js +32 -0
  162. package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +125 -0
  163. package/src-bak/enums/index.js +16 -0
  164. package/src-bak/hooks/configLoad.js +45 -0
  165. package/src-bak/hooks/index.js +189 -0
  166. package/src-bak/hooks/mock.js +6960 -0
  167. package/src-bak/hooks/pageConfig.js +127 -0
  168. package/src-bak/index.jsx +440 -0
  169. package/src-bak/renderer.jsx +77 -0
  170. package/src-bak/resolver-H5.vue +88 -0
  171. package/src-bak/resolver-common.vue +129 -0
  172. package/src-bak/resolver-web.vue +91 -0
  173. package/src-bak/rules/eventsSupplement.js +573 -0
  174. package/src-bak/rules/parseCondition.js +378 -0
  175. package/src-bak/rules/ruleUtils.js +273 -0
  176. package/src-bak/rules/rulesDriver.js +118 -0
  177. package/src-bak/rulesImp/events.js +588 -0
  178. package/src-bak/rulesImp/index.js +33 -0
  179. package/src-bak/rulesImp/ruleInstance.js +231 -0
  180. package/src-bak/rulesImp/ruleUtils.js +124 -0
  181. package/src-bak/theme/element/components/button.scss +122 -0
  182. package/src-bak/theme/element/components/card.scss +8 -0
  183. package/src-bak/theme/element/components/checkbox.scss +19 -0
  184. package/src-bak/theme/element/components/collapse.scss +174 -0
  185. package/src-bak/theme/element/components/common.scss +30 -0
  186. package/src-bak/theme/element/components/cycle.scss +0 -0
  187. package/src-bak/theme/element/components/date.scss +13 -0
  188. package/src-bak/theme/element/components/dialog.scss +44 -0
  189. package/src-bak/theme/element/components/form.scss +104 -0
  190. package/src-bak/theme/element/components/index.scss +55 -0
  191. package/src-bak/theme/element/components/input.scss +36 -0
  192. package/src-bak/theme/element/components/message.scss +48 -0
  193. package/src-bak/theme/element/components/pagination.scss +47 -0
  194. package/src-bak/theme/element/components/popper.scss +3 -0
  195. package/src-bak/theme/element/components/radio.scss +40 -0
  196. package/src-bak/theme/element/components/scrollbar.scss +14 -0
  197. package/src-bak/theme/element/components/select.scss +82 -0
  198. package/src-bak/theme/element/components/steps.scss +6 -0
  199. package/{src/components/styles/CustomComponenTable.scss → src-bak/theme/element/components/table.scss} +90 -13
  200. package/src-bak/theme/element/components/tabs.scss +128 -0
  201. package/src-bak/theme/element/components/tag.scss +6 -0
  202. package/{src/components/styles → src-bak/theme/element/components}/text.scss +3 -3
  203. package/src-bak/theme/element/components/textarea.scss +3 -0
  204. package/src-bak/theme/element/components/tree.scss +0 -0
  205. package/src-bak/theme/element/index.scss +55 -0
  206. package/src-bak/utils/cipher.js +141 -0
  207. package/src-bak/utils/common.js +664 -0
  208. package/src-bak/utils/const.js +259 -0
  209. package/src-bak/utils/defaultVal.js +92 -0
  210. package/src-bak/utils/dom.js +36 -0
  211. package/src-bak/utils/format.js +19 -0
  212. package/src-bak/utils/index.js +4 -0
  213. package/src-bak/utils/is.js +74 -0
  214. package/src-bak/utils/loadModule.js +75 -0
  215. package/src-bak/utils/preserveFunc.js +33 -0
  216. package/src-bak/utils/render.jsx +1138 -0
  217. package/src-bak/utils/request.js +136 -0
  218. package/src-bak/utils/respone.js +70 -0
  219. package/src-bak/utils/valid.js +89 -0
@@ -0,0 +1,126 @@
1
+ <template>
2
+ <Tabs :class="tabsClass" v-bind="transTabsProps" v-model="activeNames">
3
+ <Renderer :activeNames="activeNames" :config="tabpanes" v-model="props.refValue.value"></Renderer>
4
+ <template v-for="(_, key) in slots" :key="key" v-slot:[key]="scope">
5
+ <slot :name="key" v-bind="scope"></slot>
6
+ </template>
7
+ </Tabs>
8
+ </template>
9
+ <script setup>
10
+ import { ElTabs } from 'element-plus'
11
+ import Tabs from '../tabs'
12
+ import Renderer from '../../renderer.jsx'
13
+ import { computed, useAttrs, useSlots } from 'vue'
14
+ import { commonPropsType, hasOwn } from '../../utils/index.js'
15
+
16
+ // import * as lib from 'element-plus/es/utils/index.mjs'
17
+
18
+ const slots = useSlots()
19
+ const props = defineProps({
20
+ ...ElTabs.props,
21
+ ...commonPropsType,
22
+ showBar: {
23
+ type: Boolean,
24
+ default: true
25
+ },
26
+ hiddenHeadUnderline: {
27
+ type: [String, Number],
28
+ default: '0'
29
+ }
30
+ })
31
+ const attrs = useAttrs()
32
+ const tabsProps = computed(() => {
33
+ const ret = Object.keys(ElTabs.props).reduce((ret, key) => {
34
+ ret[key] = props[key]
35
+ return ret
36
+ }, {...attrs})
37
+ delete ret.modelValue
38
+ delete ret['onUpdate:modelValue']
39
+ return ret
40
+ })
41
+ const tabpanes = computed(() => {
42
+ return props.config.pmPageMetaList || []
43
+ })
44
+ const activeNames = computed({
45
+ get() {
46
+ const currentTab = tabpanes.value.find(tab => tab.defaultShowFlag == '1')
47
+ const currentCycleTab = tabpanes.value.find(tab => tab.currentCode)
48
+ if (currentTab) {
49
+ return currentTab?.isCycle == '1' ? `${currentTab.metaCode}-0` : currentTab.metaCode
50
+ }
51
+ if (currentCycleTab) {
52
+ return currentCycleTab.currentCode
53
+ }
54
+ if (tabpanes.value[0]) {
55
+ if (assertMetaType(tabpanes.value[0], 'CustomComponentCycleTabPane') || tabpanes.value[0]?.isCycle == '1') {
56
+ return `${tabpanes.value[0].metaCode}-0`
57
+ } else {
58
+ return tabpanes.value[0].metaCode
59
+ }
60
+ }
61
+ },
62
+ set(val) {
63
+ tabpanes.value.forEach(tab => {
64
+ if (assertMetaType(tab, 'CustomComponentCycleTabPane') || tab?.isCycle == '1') {
65
+ if (/^cycleTabpane-(\d+)$/.test(val)) {
66
+ tab.currentCode = val
67
+ } else {
68
+ tab.currentCode = ''
69
+ }
70
+ } else if (tab.metaType === 'CustomComponentTabPane') {
71
+ if (tab.metaCode === val) {
72
+ tab.defaultShowFlag = '1'
73
+ } else {
74
+ tab.defaultShowFlag = '0'
75
+ }
76
+ }
77
+
78
+ })
79
+ }
80
+ })
81
+ const isHeaderAuto = computed(() => {
82
+ return props.config.autoHeader == '1'
83
+ })
84
+ const level = computed(() => {
85
+ return props.config.level ?? tabpanes.value.find(tabpane => hasOwn(tabpane, 'level'))?.level ?? 1
86
+ })
87
+ const transTabsProps = computed(() => {
88
+ const polyProps = level.value == 1 ? {
89
+ stretch: true,
90
+ type: 'border-card'
91
+ } : level.value == 2 ? {
92
+ } : level.value == 3 ? {
93
+ type: 'card'
94
+ } : {}
95
+ return {
96
+ ...tabsProps.value,
97
+ ...polyProps,
98
+ showBar: props.showBar,
99
+ }
100
+ })
101
+ /**
102
+ * 层级为一的时候,并且只有一个页签,激活的页签头,应该有分割线
103
+ */
104
+ const fullBorder = computed(() => {
105
+ return tabpanes.value.length === 1 && level.value == 1
106
+ })
107
+
108
+ const tabsClass = computed(() => {
109
+ return {
110
+ [`tabs-level-${level.value}`]: true,
111
+ 'tabpane-auto-header': isHeaderAuto.value,
112
+ 'full-border': fullBorder.value,
113
+ 'hidden-head-underline': props.hiddenHeadUnderline == '1'
114
+ }
115
+ })
116
+
117
+ function assertMetaType(config, metaType) {
118
+ return config.renderby === metaType || config.metaType === metaType
119
+ }
120
+
121
+ defineExpose({
122
+ setActiveTab(tabMetaCode) {
123
+ activeNames.value = tabMetaCode
124
+ }
125
+ })
126
+ </script>
@@ -0,0 +1,28 @@
1
+ <script setup>
2
+ import { ElTree } from 'element-plus'
3
+ import { computed, useAttrs } from "vue";
4
+ import { commonPropsType } from '../../utils/index.js'
5
+
6
+ const props = defineProps({
7
+ ...commonPropsType,
8
+ ...ElTree.props
9
+ })
10
+
11
+ const attrs = useAttrs()
12
+ const calcProps = computed(() => {
13
+ return Object.keys(ElTree.props).reduce((ret, key) => {
14
+ ret[key] = props[key]
15
+ return ret
16
+ }, {})
17
+ })
18
+ const options = computed(() => {
19
+ return props.options || []
20
+ })
21
+
22
+ </script>
23
+ <template>
24
+ <el-tree
25
+ v-bind="{...attrs, ...calcProps}"
26
+ :data="options"
27
+ />
28
+ </template>
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <ElButton @click.stop="buttonAction" v-bind="{...calcAttrs, ...calcPorps}" :class="{'el-button--def': isDefSize}">
3
+ {{label}}
4
+ <template v-for="(_, keyaa) in slots" :key="keyaa" v-slot:[keyaa]="scope">
5
+ <slot :name="keyaa" v-bind="scope"></slot>
6
+ </template>
7
+ </ElButton>
8
+ </template>
9
+ <script setup>
10
+ import { ElButton } from 'element-plus'
11
+ import { defineProps, inject, getCurrentInstance, computed, useAttrs, useSlots } from 'vue'
12
+ import { commonPropsType, isPromise } from '../../utils/index.js'
13
+ import { useRoute } from 'vue-router'
14
+
15
+ defineOptions({
16
+ inheritAttrs: false
17
+ })
18
+ const appContext = getCurrentInstance()?.appContext
19
+ const slots = useSlots()
20
+ const props = defineProps({
21
+ ...commonPropsType,
22
+ ...ElButton.props,
23
+ size: String,
24
+ plain: [String, Number, Boolean],
25
+ circle: [String, Number, Boolean]
26
+ })
27
+ const isDefSize = computed(() => {
28
+ return props?.config?.widgetSize === 'def'
29
+ })
30
+ const calcPorps = computed(() => {
31
+ const ret = Object.keys(ElButton.props).reduce((total, key) => {
32
+ total[key] = props[key]
33
+ return total
34
+ }, {})
35
+
36
+ if (props.config?.icon) {
37
+ ret.suffixIcon = props.config?.icon
38
+ }
39
+ if (ret.plain == '1') {
40
+ ret.plain = true
41
+ } else {
42
+ ret.plain = false
43
+ }
44
+
45
+ if (ret.circle == '1') {
46
+ ret.circle = true
47
+ } else {
48
+ ret.circle = false
49
+ }
50
+ if (props?.config?.rounds === true && props?.config?.rounds == '1') {
51
+ ret.round = true
52
+ }
53
+ if (props?.config?.widgetSize) {
54
+ ret.size = props?.config?.widgetSize
55
+ }
56
+ if (props?.config?.displayType) {
57
+ ret.type = props?.config?.displayType
58
+ }
59
+ if (ret.type === 'info') {
60
+ ret.type = ''
61
+ }
62
+ if (ret.size === 'def') {
63
+ ret.size = ''
64
+ }
65
+ return ret
66
+ })
67
+
68
+ const attrs = useAttrs()
69
+ const calcAttrs = computed(() => {
70
+ const props = {
71
+ ...attrs,
72
+ }
73
+ delete props.onClick
74
+ return props
75
+ })
76
+
77
+ const lang = inject('lang')
78
+
79
+ const label = computed(() => {
80
+ return lang.value.indexOf('zh') > -1 ? (props.config?.labelZh || props.config?.metaNameZh) : (props.config?.labelEn || props.config?.metaNameEn)
81
+ })
82
+ const route = useRoute()
83
+ const buttonActions = inject('buttonActions', {})
84
+
85
+ const dynamicMapComp = inject('dynamicMapComp')
86
+ const hireRelatMapRules = inject('hireRelatMapRules')
87
+ const components = inject('components')
88
+ const selects = inject('selects')
89
+ const rootValue = inject('rootValue')
90
+ const dataLoad = inject('dataLoad')
91
+ const rootForm = inject('rootForm')
92
+ const validate = inject('_validate', () => {})
93
+ const parentRootValue = inject('_parentRootValue', {})
94
+ const parentDynamicMapComp = inject('_parentDynamicMapComp', {})
95
+ const rootInstance = inject('_rootInstance', {})
96
+
97
+ const routeQuery= route?.query
98
+
99
+ // params主要用于外部直接调用click方法时候传入的
100
+ const buttonAction = async (e, params) => {
101
+ const lastClick = () => {
102
+ attrs?.onClick?.(e, params)
103
+ }
104
+ const actionKey = props.config?.clickActionKey || props.config?.buttonActionKey || props.config?.hireRelat
105
+ const actionFn = buttonActions[actionKey]
106
+
107
+ let actionFnRet = null
108
+ if (actionFn) {
109
+ actionFnRet = actionFn(props, {
110
+ dynamicMapComp,
111
+ hireRelatMapRules,
112
+ components,
113
+ selects,
114
+ rootValue: rootValue?.value,
115
+ dataLoad,
116
+ rootForm,
117
+ routeQuery,
118
+ validate,
119
+ lastClick,
120
+ parentRootValue,
121
+ parentDynamicMapComp,
122
+ rootInstance
123
+ }, appContext)
124
+ }
125
+ if (actionFnRet !== null && actionFnRet !== undefined) {
126
+ if (isPromise(actionFnRet)) {
127
+ actionFnRet.then(res => {
128
+ if (res) {
129
+ lastClick()
130
+ }
131
+ })
132
+ } else {
133
+ if (actionFnRet) {
134
+ lastClick()
135
+ }
136
+ }
137
+ } else {
138
+ lastClick()
139
+ }
140
+ }
141
+ defineExpose({
142
+ click: (params) => {
143
+ buttonAction(null, params)
144
+ }
145
+ })
146
+ </script>
@@ -0,0 +1,97 @@
1
+ <template>
2
+ <ElCheckboxGroup v-if="isMutiple" v-bind="{...checkboxGroupProps, ...attrs}" v-model="proxyValue" >
3
+ <ElCheckbox
4
+ v-for="option in props.options"
5
+ :key="option.columnValue"
6
+ :value="option.columnValue"
7
+ :disabled="option.columnStatus == '0' || option.columnStatus == '2'"
8
+
9
+ >
10
+ {{lang.indexOf('zh') > -1 ? option.columnDesc_zh : option.columnDesc}}
11
+ <template v-for="(_, key) in slots" :key="key" v-slot:[key]="scope">
12
+ <slot :name="key" v-bind="scope"></slot>
13
+ </template>
14
+ </ElCheckbox>
15
+ </ElCheckboxGroup>
16
+ <ElCheckbox v-else v-bind="{...checkboxProps, ...attrs}" v-model="proxyValue">
17
+ <template v-if="showLabel">{{ label }}</template>
18
+ <template v-for="(_, key) in slots" :key="key" v-slot:[key]="scope">
19
+ <slot :name="key" v-bind="scope"></slot>
20
+ </template>
21
+ </ElCheckbox>
22
+ </template>
23
+ <script setup>
24
+ import { ElCheckbox, ElCheckboxGroup } from 'element-plus'
25
+ import { useAttrs, computed, inject, useSlots } from 'vue'
26
+ import { commonPropsType, hasOwn } from '../../utils/index.js'
27
+
28
+ const slots = useSlots()
29
+ const props = defineProps({
30
+ ...ElCheckbox.props,
31
+ ...commonPropsType,
32
+ notShowLabel: {
33
+ type: [Number, String],
34
+ default: '0'
35
+ }
36
+ })
37
+
38
+ const lang = inject('lang')
39
+
40
+ const label = computed(() => {
41
+ return lang.value.indexOf('zh') > -1 ? (props.config?.labelZh || props.config?.metaNameZh) : (props.config?.labelEn || props.config?.metaNameEn)
42
+ })
43
+ const showLabel = computed(() => {
44
+ return props.notShowLabel != '1'
45
+ })
46
+ const checkboxGroupProps = computed(() => {
47
+ const ret = Object.keys(ElCheckboxGroup.props).reduce((ret, key) => {
48
+ ret[key] = props[key]
49
+ return ret
50
+ }, {})
51
+ return ret
52
+ })
53
+
54
+ const checkboxProps = computed(() => {
55
+ const ret = Object.keys(ElCheckbox.props).reduce((ret, key) => {
56
+ ret[key] = props[key]
57
+ return ret
58
+ }, {})
59
+ if (!hasOwn(props.config, 'true-value') && !hasOwn(props.config, 'trueValue')) {
60
+ ret['true-value'] = '1'
61
+ }
62
+ if (!hasOwn(props.config, 'false-value') && !hasOwn(props.config, 'falseValue')) {
63
+ ret['false-value'] = '0'
64
+ }
65
+ return ret
66
+ })
67
+ const attrs = useAttrs()
68
+
69
+ // 值是list 还是,连起来的string
70
+ const isStrVal = computed(() => {
71
+ // valueType 值为 list 或者 string
72
+ return props.config?.valueType !== 'list'
73
+ })
74
+ // 是否为多选
75
+ const isMutiple = computed(() => {
76
+ return props.options && props.options.length
77
+ })
78
+ const modelValue = defineModel()
79
+
80
+ const proxyValue = computed({
81
+ get() {
82
+ if (isMutiple.value) {
83
+ const val = modelValue.value || ''
84
+ return val ? (isStrVal.value ? val.split(',') : val) : []
85
+ } else {
86
+ return modelValue.value || ''
87
+ }
88
+ },
89
+ set(val) {
90
+ if (isMutiple.value) {
91
+ modelValue.value = isStrVal.value ? val.join(',') : val
92
+ } else {
93
+ modelValue.value = val || ''
94
+ }
95
+ }
96
+ })
97
+ </script>
@@ -0,0 +1,93 @@
1
+ <template>
2
+ <ElDatePicker v-bind="{ ...attrs, ...datePickerProps}" :disabledDate="disabledDate" v-model="value">
3
+ <template v-for="(_, key) in slots" :key="key" v-slot:[key]="scope">
4
+ <slot :name="key" v-bind="scope"></slot>
5
+ </template>
6
+ </ElDatePicker>
7
+ </template>
8
+ <script setup>
9
+ import { ElDatePicker } from 'element-plus'
10
+ import { useAttrs, computed, watch, nextTick, useSlots } from 'vue'
11
+ import { commonPropsType, formatDate, isDate, hasOwn } from '../../utils/index.js'
12
+ import { useFormItem } from 'element-plus'
13
+ import dateIcon from '../icons/date.vue'
14
+ import dayjs from 'dayjs'
15
+
16
+ const slots = useSlots()
17
+ const { formItem: elFormItem } = useFormItem()
18
+ const props = defineProps({
19
+ ...ElDatePicker.props,
20
+ ...commonPropsType,
21
+ min: {
22
+ type: [Date, String],
23
+ default: null
24
+ },
25
+ max: {
26
+ type: [Date, String],
27
+ default: null
28
+ },
29
+ })
30
+
31
+ const datePickerProps = computed(() => {
32
+ const ret = Object.keys(ElDatePicker.props).reduce((ret, key) => {
33
+ ret[key] = props[key]
34
+ return ret
35
+ }, {})
36
+ if (!ret['value-format'] && !ret.valueFormat) {
37
+ ret.valueFormat = 'YYYY-MM-DD'
38
+ }
39
+ if (props?.config?.displayType) {
40
+ ret.type = props?.config?.displayType
41
+ }
42
+ if (!hasOwn(props?.config, 'prefix-icon') && !hasOwn(props?.config, 'prefixIcon')) {
43
+ if (ret.type == 'date') {
44
+ ret.prefixIcon = dateIcon
45
+ }
46
+ }
47
+ return ret
48
+ })
49
+ const attrs = useAttrs()
50
+ const modeValue = defineModel()
51
+
52
+ const value = computed({
53
+ get() {
54
+ if (isNaN(Number(modeValue.value))) {
55
+ return modeValue.value
56
+ } else {
57
+ if (datePickerProps.value.valueFormat === 'timestamp' || `${modeValue.value}`.length >= 13) {
58
+ return Number(modeValue.value)
59
+ }
60
+ return modeValue.value
61
+ }
62
+ },
63
+ set(val) {
64
+ modeValue.value = val
65
+ }
66
+ })
67
+ watch(value, () => {
68
+ nextTick(() => {
69
+ elFormItem?.validate?.('blur').catch()
70
+ })
71
+ })
72
+
73
+ const disabledDate = (date) => {
74
+ if (datePickerProps.value?.disabledDate?.(date)) {
75
+ return true
76
+ }
77
+ const currentDateStr = dayjs(date).format('YYYY-MM-DD')
78
+ const currentDateUnix = dayjs(currentDateStr).unix()
79
+ if (props.min) {
80
+ const minUnix = dayjs(props.min).unix()
81
+ if (minUnix > currentDateUnix) {
82
+ return true
83
+ }
84
+ }
85
+ if (props.max) {
86
+ const maxUnix = dayjs(props.max).unix()
87
+ if (maxUnix < currentDateUnix) {
88
+ return true
89
+ }
90
+ }
91
+ return false
92
+ }
93
+ </script>