jobsys-explore 4.6.21 → 4.7.0

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 (180) hide show
  1. package/.eslintignore +3 -3
  2. package/CHANGELOG.md +542 -542
  3. package/README.md +41 -41
  4. package/TODOs.md +8 -8
  5. package/business-components/survey/ExSurvey.jsx +193 -193
  6. package/business-components/survey/index.js +5 -5
  7. package/business-components/survey/index.less +36 -36
  8. package/components/button/ExButton.jsx +120 -120
  9. package/components/button/index.js +4 -4
  10. package/components/button/index.less +7 -7
  11. package/components/decorator/ExDecorator.jsx +31 -31
  12. package/components/decorator/index.js +5 -5
  13. package/components/decorator/index.less +76 -76
  14. package/components/form/ExAddress.jsx +195 -195
  15. package/components/form/ExCascader.jsx +171 -171
  16. package/components/form/ExCheckbox.jsx +59 -59
  17. package/components/form/ExDate.jsx +143 -143
  18. package/components/form/ExDatetime.jsx +166 -166
  19. package/components/form/ExField.jsx +138 -138
  20. package/components/form/ExFieldUploader.jsx +50 -50
  21. package/components/form/ExForm.jsx +544 -544
  22. package/components/form/ExMatrixCheckbox.jsx +99 -99
  23. package/components/form/ExMatrixRadio.jsx +86 -86
  24. package/components/form/ExMatrixScale.jsx +97 -97
  25. package/components/form/ExNumber.jsx +51 -51
  26. package/components/form/ExRadio.jsx +58 -58
  27. package/components/form/ExRate.jsx +51 -51
  28. package/components/form/ExSelect.jsx +251 -251
  29. package/components/form/ExSlider.jsx +55 -55
  30. package/components/form/ExSwitch.jsx +51 -51
  31. package/components/form/ExTime.jsx +99 -99
  32. package/components/form/FormItem.jsx +307 -307
  33. package/components/form/PickerWrapper.jsx +120 -120
  34. package/components/form/index.js +46 -46
  35. package/components/form/index.less +178 -178
  36. package/components/form/utils.js +62 -62
  37. package/components/grid/ExGrid.jsx +53 -53
  38. package/components/grid/index.js +4 -4
  39. package/components/grid/index.less +2 -2
  40. package/components/index.js +12 -12
  41. package/components/pagination/ExPagination.jsx +457 -440
  42. package/components/pagination/index.js +5 -5
  43. package/components/pagination/index.less +3 -3
  44. package/components/provider/ExProvider.jsx +173 -173
  45. package/components/qrcode/ExQrcode.jsx +86 -86
  46. package/components/qrcode/index.js +5 -5
  47. package/components/qrcode/index.less +8 -8
  48. package/components/result/ExResult.jsx +122 -122
  49. package/components/result/index.js +5 -5
  50. package/components/result/index.less +59 -59
  51. package/components/search/ExSearch.jsx +370 -326
  52. package/components/search/components/Expand.jsx +77 -77
  53. package/components/search/components/Field.jsx +27 -27
  54. package/components/search/components/Quick.jsx +57 -57
  55. package/components/search/components/index.js +5 -5
  56. package/components/search/index.js +5 -5
  57. package/components/search/index.less +118 -118
  58. package/components/search/utils.js +30 -30
  59. package/components/sector/ExSector.jsx +52 -52
  60. package/components/sector/README.md +26 -26
  61. package/components/sector/index.js +5 -5
  62. package/components/sector/index.less +122 -122
  63. package/components/theme/ExTheme.jsx +10 -10
  64. package/components/theme/index.js +4 -4
  65. package/components/theme/index.less +98 -98
  66. package/components/uploader/ExUploader.jsx +293 -293
  67. package/components/uploader/index.js +5 -5
  68. package/components/utils.js +187 -187
  69. package/directives/auth.js +113 -113
  70. package/directives/index.js +4 -4
  71. package/dist/cipher-98df1050.cjs.map +1 -1
  72. package/dist/cipher-f2ed5ee6.js.map +1 -1
  73. package/dist/directives.cjs.map +1 -1
  74. package/dist/directives.js.map +1 -1
  75. package/dist/hooks.cjs.map +1 -1
  76. package/dist/hooks.js.map +1 -1
  77. package/dist/jobsys-explore.cjs +6 -6
  78. package/dist/jobsys-explore.cjs.map +1 -1
  79. package/dist/jobsys-explore.js +464 -407
  80. package/dist/jobsys-explore.js.map +1 -1
  81. package/docgen.config.js +15 -15
  82. package/docs/.vuepress/.cache/deps/_metadata.json +52 -52
  83. package/docs/.vuepress/.cache/deps/lodash-es.js +8442 -8442
  84. package/docs/.vuepress/.cache/deps/lodash-es.js.map +7 -7
  85. package/docs/.vuepress/.temp/internal/clientConfigs.js +17 -17
  86. package/docs/.vuepress/.temp/internal/pagesComponents.js +24 -24
  87. package/docs/.vuepress/.temp/internal/pagesData.js +22 -22
  88. package/docs/.vuepress/.temp/internal/pagesRoutes.js +12 -12
  89. package/docs/.vuepress/.temp/internal/themeData.js +1 -1
  90. package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.js +1 -1
  91. package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.vue +37 -37
  92. package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.js +1 -1
  93. package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.vue +71 -71
  94. package/docs/.vuepress/.temp/styles/index.scss +1 -1
  95. package/docs/.vuepress/config.js +61 -61
  96. package/docs/.vuepress/dist/404.html +33 -33
  97. package/docs/.vuepress/dist/assets/404.html-a0ce2184.js +1 -1
  98. package/docs/.vuepress/dist/assets/ExButton.html-ad283101.js +1 -1
  99. package/docs/.vuepress/dist/assets/ExDecorator.html-42d09114.js +1 -1
  100. package/docs/.vuepress/dist/assets/ExDecorator.html-c82c5fe8.js +1 -1
  101. package/docs/.vuepress/dist/assets/ExForm.html-9e3f8000.js +1 -1
  102. package/docs/.vuepress/dist/assets/ExProvider.html-78fdc6cd.js +1 -1
  103. package/docs/.vuepress/dist/assets/ExSearch.html-103f6f34.js +1 -1
  104. package/docs/.vuepress/dist/assets/ExSector.html-a1e24c3a.js +7 -7
  105. package/docs/.vuepress/dist/assets/ExSector.html-cff3fefd.js +1 -1
  106. package/docs/.vuepress/dist/assets/ExUploader.html-8310e424.js +1 -1
  107. package/docs/.vuepress/dist/assets/app-29fe8d1e.js +10 -10
  108. package/docs/.vuepress/dist/assets/hooks.html-90ccbc1a.js +1 -1
  109. package/docs/.vuepress/dist/assets/index.html-85b79c97.js +43 -43
  110. package/docs/.vuepress/dist/assets/style-46d7e227.css +1 -1
  111. package/docs/.vuepress/dist/components/button/ExButton.html +33 -33
  112. package/docs/.vuepress/dist/components/decorator/ExDecorator.html +33 -33
  113. package/docs/.vuepress/dist/components/form/ExForm.html +33 -33
  114. package/docs/.vuepress/dist/components/provider/ExProvider.html +33 -33
  115. package/docs/.vuepress/dist/components/search/ExSearch.html +33 -33
  116. package/docs/.vuepress/dist/components/sector/ExSector.html +39 -39
  117. package/docs/.vuepress/dist/components/uploader/ExUploader.html +33 -33
  118. package/docs/.vuepress/dist/hooks.html +33 -33
  119. package/docs/.vuepress/dist/index.html +75 -75
  120. package/docs/.vuepress/styles/index.scss +7 -7
  121. package/docs/components/decorator/ExDecorator.md +14 -14
  122. package/docs/components/sector/ExSector.md +43 -43
  123. package/docs/index.md +82 -82
  124. package/hooks/cipher.js +44 -44
  125. package/hooks/datetime.js +69 -69
  126. package/hooks/form.js +188 -188
  127. package/hooks/utils.js +282 -282
  128. package/index.html +17 -17
  129. package/package.json +1 -1
  130. package/playground/App.vue +191 -191
  131. package/playground/TestButton.vue +61 -61
  132. package/playground/TestCascader.vue +2442 -2442
  133. package/playground/TestDecorator.vue +14 -14
  134. package/playground/TestForm.vue +429 -429
  135. package/playground/TestFormItem.vue +110 -110
  136. package/playground/TestGrid.vue +22 -22
  137. package/playground/TestPagination.vue +1250 -1248
  138. package/playground/TestQrcode.vue +7 -7
  139. package/playground/TestResult.vue +12 -12
  140. package/playground/TestSearch.vue +115 -115
  141. package/playground/TestSector.vue +15 -15
  142. package/playground/TestSurvey.vue +27 -27
  143. package/playground/TestUploader.vue +14 -14
  144. package/playground/main.js +22 -22
  145. package/utils/style.js +13 -13
  146. package/vite.config.js +54 -54
  147. package/.changeset/blue-spiders-roll.md +0 -5
  148. package/.changeset/cyan-monkeys-draw.md +0 -5
  149. package/.changeset/dry-feet-float.md +0 -5
  150. package/.changeset/empty-mice-share.md +0 -5
  151. package/.changeset/famous-yaks-doubt.md +0 -5
  152. package/.changeset/five-fans-type.md +0 -5
  153. package/.changeset/funny-hats-drop.md +0 -5
  154. package/.changeset/khaki-cobras-bathe.md +0 -5
  155. package/.changeset/khaki-forks-shave.md +0 -5
  156. package/.changeset/lazy-yaks-crash.md +0 -5
  157. package/.changeset/light-cycles-flow.md +0 -5
  158. package/.changeset/loud-mirrors-explain.md +0 -5
  159. package/.changeset/lovely-balloons-protect.md +0 -5
  160. package/.changeset/mean-pens-travel.md +0 -5
  161. package/.changeset/moody-doors-grow.md +0 -5
  162. package/.changeset/moody-laws-change.md +0 -5
  163. package/.changeset/nasty-goats-joke.md +0 -5
  164. package/.changeset/odd-forks-drop.md +0 -5
  165. package/.changeset/olive-windows-suffer.md +0 -5
  166. package/.changeset/popular-carpets-jog.md +0 -5
  167. package/.changeset/popular-planets-play.md +0 -5
  168. package/.changeset/rare-gorillas-boil.md +0 -5
  169. package/.changeset/rare-moose-teach.md +0 -5
  170. package/.changeset/sharp-tools-hope.md +0 -5
  171. package/.changeset/slimy-sloths-refuse.md +0 -5
  172. package/.changeset/slow-boats-search.md +0 -5
  173. package/.changeset/small-experts-bake.md +0 -5
  174. package/.changeset/smooth-horses-tie.md +0 -5
  175. package/.changeset/tame-feet-reply.md +0 -5
  176. package/.changeset/tidy-items-reflect.md +0 -5
  177. package/.changeset/weak-chicken-admire.md +0 -5
  178. package/.changeset/weak-rockets-compare.md +0 -5
  179. package/.changeset/wild-glasses-bathe.md +0 -5
  180. package/.changeset/wise-ears-turn.md +0 -5
@@ -1,120 +1,120 @@
1
- import { defineComponent, ref } from "vue"
2
- import { Popup } from "vant"
3
- import ExField from "./ExField.jsx"
4
- import { omit, pick } from "lodash-es"
5
- import { defaultFieldProps } from "../utils"
6
-
7
- export default defineComponent({
8
- name: "PickerWrapper",
9
-
10
- props: {
11
- /**
12
- * Picker 标题
13
- */
14
- title: { type: String, default: "" },
15
-
16
- /**
17
- * 是否启用卡片模式
18
- */
19
- inset: { type: Boolean, default: false },
20
-
21
- /**
22
- * 是否会弹窗
23
- */
24
- disabled: { type: Boolean, default: false },
25
-
26
- /**
27
- * 是否显示关闭
28
- */
29
- closeable: { type: Boolean, default: true },
30
- },
31
- emits: ["close", "open"],
32
- setup: (props, { emit, slots, expose }) => {
33
- const showPopup = ref(false)
34
-
35
- const onClickWrapper = () => {
36
- if (props.disabled) {
37
- return
38
- }
39
- showPopup.value = true
40
- emit("open")
41
- }
42
-
43
- const close = () => {
44
- showPopup.value = false
45
- emit("close")
46
- }
47
-
48
- expose({ close })
49
-
50
- return () => {
51
- // 为了让 ExField 的 onClickInput 事件才触发 Popup
52
- // 所以会手动获取 trigger slot 的第一个组件来手动监听 onClick 事件
53
- // 如果以后有需要多个组件的情况,再做调整
54
-
55
- let TriggerElem = slots.trigger ? slots.trigger() : null
56
-
57
- if (TriggerElem && TriggerElem.length) {
58
- TriggerElem = TriggerElem[0]
59
- }
60
-
61
- return [
62
- <span class={"ex-field-popup-wrapper"}>
63
- <TriggerElem onClick={onClickWrapper}></TriggerElem>
64
- </span>,
65
-
66
- <Popup
67
- v-model:show={showPopup.value}
68
- closeable={props.closeable}
69
- position={"bottom"}
70
- round={true}
71
- teleport={"body"}
72
- closeOnPopstate={true}
73
- class={`ex-field-popup ${props.inset ? "ex-field-popup-inset" : ""}`}
74
- safeAreaInsetBottom={true}
75
- safeAreaInsetTop={true}
76
- onClickOverlay={close}
77
- onClickCloseIcon={close}
78
- >
79
- {{
80
- default: () => [
81
- props.closeable ? (
82
- <div class={"ex-field-popup__header"}>
83
- <h2 class={"ex-field-popup__title"}>{props.title}</h2>
84
- </div>
85
- ) : null,
86
- slots.default?.(),
87
- ],
88
- }}
89
- </Popup>,
90
- ]
91
- }
92
- },
93
- })
94
-
95
- export const pickerProps = (props) => {
96
- return {
97
- title: props.title || `请选择${props.label}`,
98
- disabled: props.readonly || props.disabled,
99
- }
100
- }
101
-
102
- export const pickerSlots = (slots, props) => {
103
- let triggerElem = slots.default ? slots.default() : null
104
-
105
- if (!triggerElem) {
106
- const fieldProps = pick(props, Object.keys(defaultFieldProps))
107
- // default slot 是 trigger, 其它的 slots 全部传给 ExField
108
- const fieldSlots = omit(slots, "default")
109
-
110
- triggerElem = (
111
- <ExField {...fieldProps} mask={true}>
112
- {fieldSlots}
113
- </ExField>
114
- )
115
- }
116
-
117
- return {
118
- trigger: () => triggerElem,
119
- }
120
- }
1
+ import { defineComponent, ref } from "vue"
2
+ import { Popup } from "vant"
3
+ import ExField from "./ExField.jsx"
4
+ import { omit, pick } from "lodash-es"
5
+ import { defaultFieldProps } from "../utils"
6
+
7
+ export default defineComponent({
8
+ name: "PickerWrapper",
9
+
10
+ props: {
11
+ /**
12
+ * Picker 标题
13
+ */
14
+ title: { type: String, default: "" },
15
+
16
+ /**
17
+ * 是否启用卡片模式
18
+ */
19
+ inset: { type: Boolean, default: false },
20
+
21
+ /**
22
+ * 是否会弹窗
23
+ */
24
+ disabled: { type: Boolean, default: false },
25
+
26
+ /**
27
+ * 是否显示关闭
28
+ */
29
+ closeable: { type: Boolean, default: true },
30
+ },
31
+ emits: ["close", "open"],
32
+ setup: (props, { emit, slots, expose }) => {
33
+ const showPopup = ref(false)
34
+
35
+ const onClickWrapper = () => {
36
+ if (props.disabled) {
37
+ return
38
+ }
39
+ showPopup.value = true
40
+ emit("open")
41
+ }
42
+
43
+ const close = () => {
44
+ showPopup.value = false
45
+ emit("close")
46
+ }
47
+
48
+ expose({ close })
49
+
50
+ return () => {
51
+ // 为了让 ExField 的 onClickInput 事件才触发 Popup
52
+ // 所以会手动获取 trigger slot 的第一个组件来手动监听 onClick 事件
53
+ // 如果以后有需要多个组件的情况,再做调整
54
+
55
+ let TriggerElem = slots.trigger ? slots.trigger() : null
56
+
57
+ if (TriggerElem && TriggerElem.length) {
58
+ TriggerElem = TriggerElem[0]
59
+ }
60
+
61
+ return [
62
+ <span class={"ex-field-popup-wrapper"}>
63
+ <TriggerElem onClick={onClickWrapper}></TriggerElem>
64
+ </span>,
65
+
66
+ <Popup
67
+ v-model:show={showPopup.value}
68
+ closeable={props.closeable}
69
+ position={"bottom"}
70
+ round={true}
71
+ teleport={"body"}
72
+ closeOnPopstate={true}
73
+ class={`ex-field-popup ${props.inset ? "ex-field-popup-inset" : ""}`}
74
+ safeAreaInsetBottom={true}
75
+ safeAreaInsetTop={true}
76
+ onClickOverlay={close}
77
+ onClickCloseIcon={close}
78
+ >
79
+ {{
80
+ default: () => [
81
+ props.closeable ? (
82
+ <div class={"ex-field-popup__header"}>
83
+ <h2 class={"ex-field-popup__title"}>{props.title}</h2>
84
+ </div>
85
+ ) : null,
86
+ slots.default?.(),
87
+ ],
88
+ }}
89
+ </Popup>,
90
+ ]
91
+ }
92
+ },
93
+ })
94
+
95
+ export const pickerProps = (props) => {
96
+ return {
97
+ title: props.title || `请选择${props.label}`,
98
+ disabled: props.readonly || props.disabled,
99
+ }
100
+ }
101
+
102
+ export const pickerSlots = (slots, props) => {
103
+ let triggerElem = slots.default ? slots.default() : null
104
+
105
+ if (!triggerElem) {
106
+ const fieldProps = pick(props, Object.keys(defaultFieldProps))
107
+ // default slot 是 trigger, 其它的 slots 全部传给 ExField
108
+ const fieldSlots = omit(slots, "default")
109
+
110
+ triggerElem = (
111
+ <ExField {...fieldProps} mask={true}>
112
+ {fieldSlots}
113
+ </ExField>
114
+ )
115
+ }
116
+
117
+ return {
118
+ trigger: () => triggerElem,
119
+ }
120
+ }
@@ -1,46 +1,46 @@
1
- import "./index.less"
2
-
3
- import withInstall from "../../utils/withInstall"
4
-
5
- import _ExField from "./ExField.jsx"
6
- import _ExAddress, {
7
- addressData as _addressData,
8
- useAddressFullCode as _useAddressFullCode,
9
- useAddressNameFormCode as _useAddressNameFormCode,
10
- } from "./ExAddress.jsx"
11
- import _ExCascader from "./ExCascader.jsx"
12
- import _ExCheckbox from "./ExCheckbox.jsx"
13
- import _ExDate from "./ExDate.jsx"
14
- import _ExDatetime from "./ExDatetime.jsx"
15
- import _ExTime from "./ExTime.jsx"
16
- import _ExNumber from "./ExNumber.jsx"
17
- import _ExRadio from "./ExRadio.jsx"
18
- import _ExSelect from "./ExSelect.jsx"
19
- import _ExSwitch from "./ExSwitch.jsx"
20
- import _ExRate from "./ExRate.jsx"
21
- import _ExSlider from "./ExSlider.jsx"
22
- import _ExFieldUploader from "./ExFieldUploader.jsx"
23
- import _ExMatrixRadio from "./ExMatrixRadio.jsx"
24
-
25
- import _ExForm from "./ExForm.jsx"
26
-
27
- export const useAddressFullCode = _useAddressFullCode
28
- export const useAddressNameFormCode = _useAddressNameFormCode
29
- export const addressData = _addressData
30
- export const ExAddress = withInstall(_ExAddress)
31
- export const ExField = withInstall(_ExField)
32
- export const ExCascader = withInstall(_ExCascader)
33
- export const ExCheckbox = withInstall(_ExCheckbox)
34
- export const ExDate = withInstall(_ExDate)
35
- export const ExDatetime = withInstall(_ExDatetime)
36
- export const ExTime = withInstall(_ExTime)
37
- export const ExNumber = withInstall(_ExNumber)
38
- export const ExRadio = withInstall(_ExRadio)
39
- export const ExSelect = withInstall(_ExSelect)
40
- export const ExSwitch = withInstall(_ExSwitch)
41
- export const ExRate = withInstall(_ExRate)
42
- export const ExSlider = withInstall(_ExSlider)
43
- export const ExFieldUploader = withInstall(_ExFieldUploader)
44
- export const ExMatrixRadio = withInstall(_ExMatrixRadio)
45
-
46
- export const ExForm = withInstall(_ExForm)
1
+ import "./index.less"
2
+
3
+ import withInstall from "../../utils/withInstall"
4
+
5
+ import _ExField from "./ExField.jsx"
6
+ import _ExAddress, {
7
+ addressData as _addressData,
8
+ useAddressFullCode as _useAddressFullCode,
9
+ useAddressNameFormCode as _useAddressNameFormCode,
10
+ } from "./ExAddress.jsx"
11
+ import _ExCascader from "./ExCascader.jsx"
12
+ import _ExCheckbox from "./ExCheckbox.jsx"
13
+ import _ExDate from "./ExDate.jsx"
14
+ import _ExDatetime from "./ExDatetime.jsx"
15
+ import _ExTime from "./ExTime.jsx"
16
+ import _ExNumber from "./ExNumber.jsx"
17
+ import _ExRadio from "./ExRadio.jsx"
18
+ import _ExSelect from "./ExSelect.jsx"
19
+ import _ExSwitch from "./ExSwitch.jsx"
20
+ import _ExRate from "./ExRate.jsx"
21
+ import _ExSlider from "./ExSlider.jsx"
22
+ import _ExFieldUploader from "./ExFieldUploader.jsx"
23
+ import _ExMatrixRadio from "./ExMatrixRadio.jsx"
24
+
25
+ import _ExForm from "./ExForm.jsx"
26
+
27
+ export const useAddressFullCode = _useAddressFullCode
28
+ export const useAddressNameFormCode = _useAddressNameFormCode
29
+ export const addressData = _addressData
30
+ export const ExAddress = withInstall(_ExAddress)
31
+ export const ExField = withInstall(_ExField)
32
+ export const ExCascader = withInstall(_ExCascader)
33
+ export const ExCheckbox = withInstall(_ExCheckbox)
34
+ export const ExDate = withInstall(_ExDate)
35
+ export const ExDatetime = withInstall(_ExDatetime)
36
+ export const ExTime = withInstall(_ExTime)
37
+ export const ExNumber = withInstall(_ExNumber)
38
+ export const ExRadio = withInstall(_ExRadio)
39
+ export const ExSelect = withInstall(_ExSelect)
40
+ export const ExSwitch = withInstall(_ExSwitch)
41
+ export const ExRate = withInstall(_ExRate)
42
+ export const ExSlider = withInstall(_ExSlider)
43
+ export const ExFieldUploader = withInstall(_ExFieldUploader)
44
+ export const ExMatrixRadio = withInstall(_ExMatrixRadio)
45
+
46
+ export const ExForm = withInstall(_ExForm)
@@ -1,178 +1,178 @@
1
- .ex-form {
2
- & > .van-cell-group {
3
- margin-bottom: var(--van-padding-md);
4
- background: transparent;
5
- }
6
-
7
- &.ex-form__fixed {
8
- & > .van-cell-group {
9
- margin-bottom: 100px;
10
- }
11
- }
12
-
13
- .ex-form__footer {
14
- margin: var(--van-padding-md);
15
- }
16
-
17
- .ex-form__btn-wrapper {
18
- padding: var(--van-padding-md);
19
- display: flex;
20
- align-items: center;
21
- justify-content: space-between;
22
-
23
- .ex-form__cancel-btn {
24
- margin-right: 4px;
25
- }
26
- }
27
-
28
- .ex-form__btn-wrapper-fixed {
29
- position: fixed;
30
- bottom: 0;
31
- left: 0;
32
- right: 0;
33
- background: var(--van-white);
34
- padding: var(--van-padding-md);
35
-
36
- display: flex;
37
- align-items: center;
38
- justify-content: space-between;
39
-
40
- .ex-form__cancel-btn {
41
- margin-right: 4px;
42
- }
43
- }
44
- }
45
-
46
- .ex-field {
47
- border-bottom: 1px solid var(--van-gray-1);
48
-
49
- .ex-field__label {
50
- display: inline-block;
51
-
52
- .ex-field__help-handler {
53
- margin-left: 4px;
54
- }
55
- }
56
-
57
- .van-checkbox-group .van-checkbox,
58
- .van-radio-group .van-radio {
59
- margin-bottom: 6px;
60
- }
61
-
62
- .van-checkbox-group .van-checkbox.van-checkbox--horizontal,
63
- .van-radio-group .van-radio.van-raido--horizontal {
64
- margin-bottom: 0;
65
- }
66
- }
67
-
68
- .ex-field__help {
69
- padding: 8px;
70
- font-size: 13px;
71
- max-width: calc(100vw * 0.5);
72
- }
73
-
74
- .ex-field__append {
75
- padding: 5px var(--van-cell-horizontal-padding);
76
- font-size: 13px;
77
- background: var(--ex-white);
78
- }
79
-
80
- .ex-field-popup {
81
- background: var(--van-gray-1) !important;
82
-
83
- &.ex-field-popup-inset {
84
- box-sizing: border-box;
85
- padding: 0 var(--van-padding-md) 10px;
86
- }
87
-
88
- .ex-field-popup__header {
89
- display: flex;
90
- align-items: center;
91
- justify-content: space-between;
92
- height: 48px;
93
- padding: 0 var(--van-padding-md);
94
-
95
- .ex-field-popup__title {
96
- font-weight: var(--vant-font-bold);
97
- font-size: var(--van-font-size-lg);
98
- line-height: 20px;
99
- }
100
- }
101
-
102
- .van-collapse {
103
- border-radius: var(--van-radius-lg);
104
- overflow: hidden;
105
-
106
- &.ex-datetime_collapse {
107
- .van-collapse-item {
108
- .van-cell {
109
- .van-cell__value {
110
- color: var(--van-primary-color);
111
- }
112
- }
113
- }
114
- }
115
- }
116
-
117
- .van-cascader {
118
- border-radius: var(--van-radius-lg);
119
- overflow: hidden;
120
- background: var(--van-white);
121
- }
122
-
123
- .ex-field-popup__clear-btn {
124
- background: var(--ex-white);
125
- margin: var(--van-padding-sm);
126
- }
127
- }
128
-
129
- .ex-slider-button {
130
- width: var(--van-slider-button-width);
131
- height: var(--van-slider-button-height);
132
- text-align: center;
133
- color: #fff;
134
- font-size: 12px;
135
- line-height: var(--van-slider-button-height);
136
- background: var(--van-primary-color);
137
- border-radius: var(--van-slider-button-radius);
138
- box-shadow: var(--van-slider-button-shadow);
139
- }
140
-
141
- .ex-cascader {
142
- .van-cascader__header {
143
- padding: 0;
144
-
145
- .van-cascader__title {
146
- width: 100%;
147
- }
148
- }
149
- }
150
-
151
- .ex-matrix {
152
- .van-cell__value, .van-field__value {
153
- overflow: auto;
154
- }
155
-
156
- .ex-matrix-container {
157
- overflow-x: auto;
158
- width: 100%;
159
- margin-top: 10px;
160
-
161
- table {
162
- .ex-matrix-option {
163
- min-width: 40px;
164
- display: flex;
165
- justify-content: center;
166
- height: 30px;
167
- }
168
-
169
- .ex-matrix-row {
170
- white-space: nowrap;
171
- padding-right: 10px;
172
- font-weight: bold;
173
- }
174
- }
175
- }
176
-
177
- }
178
-
1
+ .ex-form {
2
+ & > .van-cell-group {
3
+ margin-bottom: var(--van-padding-md);
4
+ background: transparent;
5
+ }
6
+
7
+ &.ex-form__fixed {
8
+ & > .van-cell-group {
9
+ margin-bottom: 100px;
10
+ }
11
+ }
12
+
13
+ .ex-form__footer {
14
+ margin: var(--van-padding-md);
15
+ }
16
+
17
+ .ex-form__btn-wrapper {
18
+ padding: var(--van-padding-md);
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+
23
+ .ex-form__cancel-btn {
24
+ margin-right: 4px;
25
+ }
26
+ }
27
+
28
+ .ex-form__btn-wrapper-fixed {
29
+ position: fixed;
30
+ bottom: 0;
31
+ left: 0;
32
+ right: 0;
33
+ background: var(--van-white);
34
+ padding: var(--van-padding-md);
35
+
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: space-between;
39
+
40
+ .ex-form__cancel-btn {
41
+ margin-right: 4px;
42
+ }
43
+ }
44
+ }
45
+
46
+ .ex-field {
47
+ border-bottom: 1px solid var(--van-gray-1);
48
+
49
+ .ex-field__label {
50
+ display: inline-block;
51
+
52
+ .ex-field__help-handler {
53
+ margin-left: 4px;
54
+ }
55
+ }
56
+
57
+ .van-checkbox-group .van-checkbox,
58
+ .van-radio-group .van-radio {
59
+ margin-bottom: 6px;
60
+ }
61
+
62
+ .van-checkbox-group .van-checkbox.van-checkbox--horizontal,
63
+ .van-radio-group .van-radio.van-raido--horizontal {
64
+ margin-bottom: 0;
65
+ }
66
+ }
67
+
68
+ .ex-field__help {
69
+ padding: 8px;
70
+ font-size: 13px;
71
+ max-width: calc(100vw * 0.5);
72
+ }
73
+
74
+ .ex-field__append {
75
+ padding: 5px var(--van-cell-horizontal-padding);
76
+ font-size: 13px;
77
+ background: var(--ex-white);
78
+ }
79
+
80
+ .ex-field-popup {
81
+ background: var(--van-gray-1) !important;
82
+
83
+ &.ex-field-popup-inset {
84
+ box-sizing: border-box;
85
+ padding: 0 var(--van-padding-md) 10px;
86
+ }
87
+
88
+ .ex-field-popup__header {
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: space-between;
92
+ height: 48px;
93
+ padding: 0 var(--van-padding-md);
94
+
95
+ .ex-field-popup__title {
96
+ font-weight: var(--vant-font-bold);
97
+ font-size: var(--van-font-size-lg);
98
+ line-height: 20px;
99
+ }
100
+ }
101
+
102
+ .van-collapse {
103
+ border-radius: var(--van-radius-lg);
104
+ overflow: hidden;
105
+
106
+ &.ex-datetime_collapse {
107
+ .van-collapse-item {
108
+ .van-cell {
109
+ .van-cell__value {
110
+ color: var(--van-primary-color);
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ .van-cascader {
118
+ border-radius: var(--van-radius-lg);
119
+ overflow: hidden;
120
+ background: var(--van-white);
121
+ }
122
+
123
+ .ex-field-popup__clear-btn {
124
+ background: var(--ex-white);
125
+ margin: var(--van-padding-sm);
126
+ }
127
+ }
128
+
129
+ .ex-slider-button {
130
+ width: var(--van-slider-button-width);
131
+ height: var(--van-slider-button-height);
132
+ text-align: center;
133
+ color: #fff;
134
+ font-size: 12px;
135
+ line-height: var(--van-slider-button-height);
136
+ background: var(--van-primary-color);
137
+ border-radius: var(--van-slider-button-radius);
138
+ box-shadow: var(--van-slider-button-shadow);
139
+ }
140
+
141
+ .ex-cascader {
142
+ .van-cascader__header {
143
+ padding: 0;
144
+
145
+ .van-cascader__title {
146
+ width: 100%;
147
+ }
148
+ }
149
+ }
150
+
151
+ .ex-matrix {
152
+ .van-cell__value, .van-field__value {
153
+ overflow: auto;
154
+ }
155
+
156
+ .ex-matrix-container {
157
+ overflow-x: auto;
158
+ width: 100%;
159
+ margin-top: 10px;
160
+
161
+ table {
162
+ .ex-matrix-option {
163
+ min-width: 40px;
164
+ display: flex;
165
+ justify-content: center;
166
+ height: 30px;
167
+ }
168
+
169
+ .ex-matrix-row {
170
+ white-space: nowrap;
171
+ padding-right: 10px;
172
+ font-weight: bold;
173
+ }
174
+ }
175
+ }
176
+
177
+ }
178
+