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,77 +1,77 @@
1
- import { isUndefined } from "lodash-es"
2
- import { reactive } from "vue"
3
- import { Button, Collapse, CollapseItem } from "vant"
4
- import ExGrid from "../../grid/ExGrid.jsx"
5
-
6
- const render = (item, queryForm) => {
7
- if (isUndefined(item._temp)) {
8
- item._temp = reactive({
9
- activeNames: item.key,
10
- })
11
- }
12
-
13
- const toggleChooseOption = (value) => {
14
- if (item.expandable === "multiple") {
15
- if (!queryForm[item.key] || !queryForm[item.key]?.length) {
16
- queryForm[item.key] = [value]
17
- } else {
18
- const index = queryForm[item.key].indexOf(value)
19
- if (index === -1) {
20
- queryForm[item.key].push(value)
21
- } else {
22
- queryForm[item.key].splice(index, 1)
23
- }
24
- }
25
- } else {
26
- queryForm[item.key] = queryForm[item.key] === value ? "" : value
27
- }
28
- }
29
-
30
- const isOptionActive = (value) => {
31
- if (item.expandable === "multiple") {
32
- return queryForm[item.key]?.includes(value)
33
- } else {
34
- return queryForm[item.key] === value
35
- }
36
- }
37
-
38
- const optionElems = () => (
39
- <ExGrid columns={3}>
40
- {{
41
- default: () =>
42
- item.options.map((option) => (
43
- <Button
44
- class={`ex-search__expand-option`}
45
- type={`${isOptionActive(option.value) ? "primary" : "default"}`}
46
- hairline={true}
47
- round={true}
48
- size={"small"}
49
- onClick={() => toggleChooseOption(option.value)}
50
- >
51
- {option.text}
52
- </Button>
53
- )),
54
- }}
55
- </ExGrid>
56
- )
57
-
58
- return (
59
- <div class={"ex-search__popup-item ex-search__expand-item"}>
60
- <Collapse v-model={item._temp.activeNames} border={false} accordion={true}>
61
- {{
62
- default: () => (
63
- <CollapseItem name={item.key}>
64
- {{
65
- default: () => <div class={"ex-search__expand-options"}>{optionElems()}</div>,
66
- title: () => <span class={"ex-search__expand-title"}>{item.title}</span>,
67
- value: () => <span class={"ex-search__expand-trigger"}>展开</span>,
68
- }}
69
- </CollapseItem>
70
- ),
71
- }}
72
- </Collapse>
73
- </div>
74
- )
75
- }
76
-
77
- export default render
1
+ import { isUndefined } from "lodash-es"
2
+ import { reactive } from "vue"
3
+ import { Button, Collapse, CollapseItem } from "vant"
4
+ import ExGrid from "../../grid/ExGrid.jsx"
5
+
6
+ const render = (item, queryForm) => {
7
+ if (isUndefined(item._temp)) {
8
+ item._temp = reactive({
9
+ activeNames: item.key,
10
+ })
11
+ }
12
+
13
+ const toggleChooseOption = (value) => {
14
+ if (item.expandable === "multiple") {
15
+ if (!queryForm[item.key] || !queryForm[item.key]?.length) {
16
+ queryForm[item.key] = [value]
17
+ } else {
18
+ const index = queryForm[item.key].indexOf(value)
19
+ if (index === -1) {
20
+ queryForm[item.key].push(value)
21
+ } else {
22
+ queryForm[item.key].splice(index, 1)
23
+ }
24
+ }
25
+ } else {
26
+ queryForm[item.key] = queryForm[item.key] === value ? "" : value
27
+ }
28
+ }
29
+
30
+ const isOptionActive = (value) => {
31
+ if (item.expandable === "multiple") {
32
+ return queryForm[item.key]?.includes(value)
33
+ } else {
34
+ return queryForm[item.key] === value
35
+ }
36
+ }
37
+
38
+ const optionElems = () => (
39
+ <ExGrid columns={3}>
40
+ {{
41
+ default: () =>
42
+ item.options.map((option) => (
43
+ <Button
44
+ class={`ex-search__expand-option`}
45
+ type={`${isOptionActive(option.value) ? "primary" : "default"}`}
46
+ hairline={true}
47
+ round={true}
48
+ size={"small"}
49
+ onClick={() => toggleChooseOption(option.value)}
50
+ >
51
+ {option.text}
52
+ </Button>
53
+ )),
54
+ }}
55
+ </ExGrid>
56
+ )
57
+
58
+ return (
59
+ <div class={"ex-search__popup-item ex-search__expand-item"}>
60
+ <Collapse v-model={item._temp.activeNames} border={false} accordion={true}>
61
+ {{
62
+ default: () => (
63
+ <CollapseItem name={item.key}>
64
+ {{
65
+ default: () => <div class={"ex-search__expand-options"}>{optionElems()}</div>,
66
+ title: () => <span class={"ex-search__expand-title"}>{item.title}</span>,
67
+ value: () => <span class={"ex-search__expand-trigger"}>展开</span>,
68
+ }}
69
+ </CollapseItem>
70
+ ),
71
+ }}
72
+ </Collapse>
73
+ </div>
74
+ )
75
+ }
76
+
77
+ export default render
@@ -1,27 +1,27 @@
1
- import ExSelect from "../../form/ExSelect.jsx"
2
- import ExDate from "../../form/ExDate.jsx"
3
- import ExDatetime from "../../form/ExDatetime.jsx"
4
- import ExField from "../../form/ExField.jsx"
5
- import ExNumber from "../../form/ExNumber.jsx"
6
-
7
- const render = (item, queryForm) => {
8
- const fieldElem = () => {
9
- const fieldProps = { label: item.title, name: item.key, placeholder: `搜索${item.title}` }
10
-
11
- if (item.type === "select") {
12
- return <ExSelect v-model={queryForm[item.key]} clearable={true} options={item.options} {...fieldProps} {...item.inputProps}></ExSelect>
13
- } else if (item.type === "date") {
14
- return <ExDate v-model={queryForm[item.key]} {...fieldProps} {...item.inputProps}></ExDate>
15
- } else if (item.type === "datetime") {
16
- return <ExDatetime v-model={queryForm[item.key]} {...fieldProps} {...item.inputProps}></ExDatetime>
17
- } else if (item.type === "number") {
18
- return <ExNumber v-model={queryForm[item.key]} {...fieldProps} {...item.props}></ExNumber>
19
- }
20
-
21
- return <ExField v-model={queryForm[item.key]} {...fieldProps} {...item.inputProps}></ExField>
22
- }
23
-
24
- return <div class={"ex-search__popup-item ex-search__field-item"}>{fieldElem()}</div>
25
- }
26
-
27
- export default render
1
+ import ExSelect from "../../form/ExSelect.jsx"
2
+ import ExDate from "../../form/ExDate.jsx"
3
+ import ExDatetime from "../../form/ExDatetime.jsx"
4
+ import ExField from "../../form/ExField.jsx"
5
+ import ExNumber from "../../form/ExNumber.jsx"
6
+
7
+ const render = (item, queryForm) => {
8
+ const fieldElem = () => {
9
+ const fieldProps = { label: item.title, name: item.key, placeholder: `搜索${item.title}` }
10
+
11
+ if (item.type === "select") {
12
+ return <ExSelect v-model={queryForm[item.key]} clearable={true} options={item.options} {...fieldProps} {...item.inputProps}></ExSelect>
13
+ } else if (item.type === "date") {
14
+ return <ExDate v-model={queryForm[item.key]} {...fieldProps} {...item.inputProps}></ExDate>
15
+ } else if (item.type === "datetime") {
16
+ return <ExDatetime v-model={queryForm[item.key]} {...fieldProps} {...item.inputProps}></ExDatetime>
17
+ } else if (item.type === "number") {
18
+ return <ExNumber v-model={queryForm[item.key]} {...fieldProps} {...item.props}></ExNumber>
19
+ }
20
+
21
+ return <ExField v-model={queryForm[item.key]} {...fieldProps} {...item.inputProps}></ExField>
22
+ }
23
+
24
+ return <div class={"ex-search__popup-item ex-search__field-item"}>{fieldElem()}</div>
25
+ }
26
+
27
+ export default render
@@ -1,57 +1,57 @@
1
- import { ref } from "vue"
2
- import ExSelect from "../../form/ExSelect.jsx"
3
- import ExCascader from "../../form/ExCascader.jsx"
4
- import { Icon } from "vant"
5
-
6
- const render = (item, queryForm, onSearch) => {
7
- const selectRef = ref()
8
- const cascadeRef = ref()
9
-
10
- let renderItem
11
- if (item.type === "select") {
12
- renderItem = (
13
- <ExSelect
14
- ref={selectRef}
15
- v-model={queryForm[item.key]}
16
- options={item.options}
17
- clearable={true}
18
- onChange={onSearch}
19
- defaultProps={item.defaultProps}
20
- >
21
- {() => (
22
- <div class={`ex-search__quick-trigger ${queryForm[item.key] ? "active" : ""}`}>
23
- <span class={"ex-search__quick-label"}>{selectRef.value?.displayText || item.title}</span>
24
- <span class={"ex-search__quick-icon"}>
25
- <Icon name={"arrow-down"}></Icon>
26
- </span>
27
- </div>
28
- )}
29
- </ExSelect>
30
- )
31
- } else if (item.type === "cascade") {
32
- renderItem = (
33
- <ExCascader
34
- ref={cascadeRef}
35
- v-model={queryForm[item.key]}
36
- options={item.options}
37
- clearable={true}
38
- title={`搜索${item.title}`}
39
- onChange={onSearch}
40
- defaultProps={item.defaultProps}
41
- >
42
- {() => (
43
- <div class={`ex-search__quick-trigger ${queryForm[item.key]?.length ? "active" : ""}`}>
44
- <span class={"ex-search__quick-label"}>{cascadeRef.value?.displayText || item.title}</span>
45
- <span class={"ex-search__quick-icon"}>
46
- <Icon name={"arrow-down"}></Icon>
47
- </span>
48
- </div>
49
- )}
50
- </ExCascader>
51
- )
52
- }
53
-
54
- return <div class={"ex-search__quick-item"}>{renderItem}</div>
55
- }
56
-
57
- export default render
1
+ import { ref } from "vue"
2
+ import ExSelect from "../../form/ExSelect.jsx"
3
+ import ExCascader from "../../form/ExCascader.jsx"
4
+ import { Icon } from "vant"
5
+
6
+ const render = (item, queryForm, onSearch) => {
7
+ const selectRef = ref()
8
+ const cascadeRef = ref()
9
+
10
+ let renderItem
11
+ if (item.type === "select") {
12
+ renderItem = (
13
+ <ExSelect
14
+ ref={selectRef}
15
+ v-model={queryForm[item.key]}
16
+ options={item.options}
17
+ clearable={true}
18
+ onChange={onSearch}
19
+ defaultProps={item.defaultProps}
20
+ >
21
+ {() => (
22
+ <div class={`ex-search__quick-trigger ${queryForm[item.key] ? "active" : ""}`}>
23
+ <span class={"ex-search__quick-label"}>{selectRef.value?.displayText || item.title}</span>
24
+ <span class={"ex-search__quick-icon"}>
25
+ <Icon name={"arrow-down"}></Icon>
26
+ </span>
27
+ </div>
28
+ )}
29
+ </ExSelect>
30
+ )
31
+ } else if (item.type === "cascade") {
32
+ renderItem = (
33
+ <ExCascader
34
+ ref={cascadeRef}
35
+ v-model={queryForm[item.key]}
36
+ options={item.options}
37
+ clearable={true}
38
+ title={`搜索${item.title}`}
39
+ onChange={onSearch}
40
+ defaultProps={item.defaultProps}
41
+ >
42
+ {() => (
43
+ <div class={`ex-search__quick-trigger ${queryForm[item.key]?.length ? "active" : ""}`}>
44
+ <span class={"ex-search__quick-label"}>{cascadeRef.value?.displayText || item.title}</span>
45
+ <span class={"ex-search__quick-icon"}>
46
+ <Icon name={"arrow-down"}></Icon>
47
+ </span>
48
+ </div>
49
+ )}
50
+ </ExCascader>
51
+ )
52
+ }
53
+
54
+ return <div class={"ex-search__quick-item"}>{renderItem}</div>
55
+ }
56
+
57
+ export default render
@@ -1,5 +1,5 @@
1
- import createExpand from "./Expand.jsx"
2
- import createQuick from "./Quick.jsx"
3
- import createField from "./Field.jsx"
4
-
5
- export { createExpand, createQuick, createField }
1
+ import createExpand from "./Expand.jsx"
2
+ import createQuick from "./Quick.jsx"
3
+ import createField from "./Field.jsx"
4
+
5
+ export { createExpand, createQuick, createField }
@@ -1,5 +1,5 @@
1
- import _ExSearch from "./ExSearch.jsx"
2
- import withInstall from "../../utils/withInstall"
3
-
4
- export const ExSearch = withInstall(_ExSearch)
5
- export default ExSearch
1
+ import _ExSearch from "./ExSearch.jsx"
2
+ import withInstall from "../../utils/withInstall"
3
+
4
+ export const ExSearch = withInstall(_ExSearch)
5
+ export default ExSearch
@@ -1,119 +1,119 @@
1
- .ex-search {
2
- background: var(--ex-white);
3
-
4
- .ex-search__quick-bar {
5
- padding: var(--van-padding-sm) var(--van-padding-md);
6
-
7
- display: flex;
8
- align-items: center;
9
- justify-content: space-between;
10
-
11
- .ex-search__quick-container {
12
- flex-grow: 1;
13
- display: flex;
14
-
15
- .ex-search__quick-item {
16
- margin-right: var(--van-padding-md);
17
-
18
- .ex-search__quick-trigger {
19
- font-size: 12px;
20
- font-weight: 400;
21
- color: var(--ex-gray-7);
22
- display: flex;
23
- align-items: center;
24
-
25
- &.active {
26
- color: var(--van-primary-color);
27
- }
28
-
29
- .ex-search__quick-label {
30
- max-width: 130px;
31
- overflow: hidden;
32
- white-space: nowrap;
33
- text-overflow: ellipsis;
34
- display: inline-block;
35
- }
36
-
37
- .ex-search__quick-icon {
38
- margin-left: 2px;
39
- }
40
-
41
-
42
- }
43
- }
44
- }
45
-
46
- .ex-search__filter {
47
- font-size: 12px;
48
- font-weight: 400;
49
- color: var(--ex-gray-7);
50
- width: 50px;
51
- text-align: right;
52
- flex-shrink: 0;
53
- }
54
- }
55
- }
56
-
57
- .ex-search-popup {
58
- height: 80%;
59
- overflow: hidden;
60
-
61
- .ex-search-popup__header {
62
- box-sizing: border-box;
63
- padding: var(--van-padding-md);
64
- display: flex;
65
- align-items: center;
66
- justify-content: space-between;
67
- height: 48px;
68
- }
69
-
70
- .ex-search-popup__content {
71
- height: calc(100% - 114px);
72
- overflow: auto;
73
- }
74
-
75
-
76
- .ex-search-popup__footer {
77
- padding: var(--van-padding-md);
78
- box-sizing: border-box;
79
- height: 66px;
80
- line-height: 0;
81
- }
82
-
83
-
84
- .ex-search__popup-item {
85
- margin-bottom: var(--van-padding-md);
86
- }
87
-
88
- .ex-search__field-item {
89
- .ex-field {
90
- .van-field__label {
91
- font-weight: bold;
92
- }
93
- }
94
- }
95
-
96
- .ex-search__expand-item {
97
-
98
- .van-collapse-item {
99
- .van-cell {
100
- &:after {
101
- border-bottom: none
102
- }
103
- }
104
- }
105
-
106
- .ex-search__expand-title {
107
- font-weight: bold;
108
- }
109
-
110
- .ex-search__expand-trigger {
111
- font-size: 12px;
112
- }
113
-
114
- .ex-search__expand-options {
115
- .ex-search__expand-option {
116
- }
117
- }
118
- }
1
+ .ex-search {
2
+ background: var(--ex-white);
3
+
4
+ .ex-search__quick-bar {
5
+ padding: var(--van-padding-sm) var(--van-padding-md);
6
+
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: space-between;
10
+
11
+ .ex-search__quick-container {
12
+ flex-grow: 1;
13
+ display: flex;
14
+
15
+ .ex-search__quick-item {
16
+ margin-right: var(--van-padding-md);
17
+
18
+ .ex-search__quick-trigger {
19
+ font-size: 12px;
20
+ font-weight: 400;
21
+ color: var(--ex-gray-7);
22
+ display: flex;
23
+ align-items: center;
24
+
25
+ &.active {
26
+ color: var(--van-primary-color);
27
+ }
28
+
29
+ .ex-search__quick-label {
30
+ max-width: 130px;
31
+ overflow: hidden;
32
+ white-space: nowrap;
33
+ text-overflow: ellipsis;
34
+ display: inline-block;
35
+ }
36
+
37
+ .ex-search__quick-icon {
38
+ margin-left: 2px;
39
+ }
40
+
41
+
42
+ }
43
+ }
44
+ }
45
+
46
+ .ex-search__filter {
47
+ font-size: 12px;
48
+ font-weight: 400;
49
+ color: var(--ex-gray-7);
50
+ width: 50px;
51
+ text-align: right;
52
+ flex-shrink: 0;
53
+ }
54
+ }
55
+ }
56
+
57
+ .ex-search-popup {
58
+ height: 80%;
59
+ overflow: hidden;
60
+
61
+ .ex-search-popup__header {
62
+ box-sizing: border-box;
63
+ padding: var(--van-padding-md);
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: space-between;
67
+ height: 48px;
68
+ }
69
+
70
+ .ex-search-popup__content {
71
+ height: calc(100% - 114px);
72
+ overflow: auto;
73
+ }
74
+
75
+
76
+ .ex-search-popup__footer {
77
+ padding: var(--van-padding-md);
78
+ box-sizing: border-box;
79
+ height: 66px;
80
+ line-height: 0;
81
+ }
82
+
83
+
84
+ .ex-search__popup-item {
85
+ margin-bottom: var(--van-padding-md);
86
+ }
87
+
88
+ .ex-search__field-item {
89
+ .ex-field {
90
+ .van-field__label {
91
+ font-weight: bold;
92
+ }
93
+ }
94
+ }
95
+
96
+ .ex-search__expand-item {
97
+
98
+ .van-collapse-item {
99
+ .van-cell {
100
+ &:after {
101
+ border-bottom: none
102
+ }
103
+ }
104
+ }
105
+
106
+ .ex-search__expand-title {
107
+ font-weight: bold;
108
+ }
109
+
110
+ .ex-search__expand-trigger {
111
+ font-size: 12px;
112
+ }
113
+
114
+ .ex-search__expand-options {
115
+ .ex-search__expand-option {
116
+ }
117
+ }
118
+ }
119
119
  }
@@ -1,30 +1,30 @@
1
- import { isArray, isDate, isFunction, isUndefined } from "lodash-es"
2
- import { useAddressFullCode } from "../form/ExAddress.jsx"
3
-
4
- /**
5
- * 初始化搜索表单项默认值
6
- * @param {FormItemConfig} item
7
- */
8
- const initSearchItemDefaultValue = (item) => {
9
- let value = ""
10
-
11
- if (!isUndefined(item.defaultValue)) {
12
- value = isFunction(item.defaultValue) ? item.defaultValue() : item.defaultValue
13
- }
14
- if (item.type === "number") {
15
- value = value ? Number(value) : 0
16
- } else if (item.type === "date" || item.type === "datetime") {
17
- value = isDate(value) ? value : null
18
- } else if (item.type === "checkbox" || item.type === "cascade") {
19
- value = value || []
20
- } else if (item.type === "address") {
21
- value = value || []
22
- if (!isArray(value)) {
23
- value = useAddressFullCode(value)
24
- }
25
- }
26
-
27
- return value
28
- }
29
-
30
- export { initSearchItemDefaultValue }
1
+ import { isArray, isDate, isFunction, isUndefined } from "lodash-es"
2
+ import { useAddressFullCode } from "../form/ExAddress.jsx"
3
+
4
+ /**
5
+ * 初始化搜索表单项默认值
6
+ * @param {FormItemConfig} item
7
+ */
8
+ const initSearchItemDefaultValue = (item) => {
9
+ let value = ""
10
+
11
+ if (!isUndefined(item.defaultValue)) {
12
+ value = isFunction(item.defaultValue) ? item.defaultValue() : item.defaultValue
13
+ }
14
+ if (item.type === "number") {
15
+ value = value ? Number(value) : 0
16
+ } else if (item.type === "date" || item.type === "datetime") {
17
+ value = isDate(value) ? value : null
18
+ } else if (item.type === "checkbox" || item.type === "cascade") {
19
+ value = value || []
20
+ } else if (item.type === "address") {
21
+ value = value || []
22
+ if (!isArray(value)) {
23
+ value = useAddressFullCode(value)
24
+ }
25
+ }
26
+
27
+ return value
28
+ }
29
+
30
+ export { initSearchItemDefaultValue }