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.
- package/.eslintignore +3 -3
- package/CHANGELOG.md +542 -542
- package/README.md +41 -41
- package/TODOs.md +8 -8
- package/business-components/survey/ExSurvey.jsx +193 -193
- package/business-components/survey/index.js +5 -5
- package/business-components/survey/index.less +36 -36
- package/components/button/ExButton.jsx +120 -120
- package/components/button/index.js +4 -4
- package/components/button/index.less +7 -7
- package/components/decorator/ExDecorator.jsx +31 -31
- package/components/decorator/index.js +5 -5
- package/components/decorator/index.less +76 -76
- package/components/form/ExAddress.jsx +195 -195
- package/components/form/ExCascader.jsx +171 -171
- package/components/form/ExCheckbox.jsx +59 -59
- package/components/form/ExDate.jsx +143 -143
- package/components/form/ExDatetime.jsx +166 -166
- package/components/form/ExField.jsx +138 -138
- package/components/form/ExFieldUploader.jsx +50 -50
- package/components/form/ExForm.jsx +544 -544
- package/components/form/ExMatrixCheckbox.jsx +99 -99
- package/components/form/ExMatrixRadio.jsx +86 -86
- package/components/form/ExMatrixScale.jsx +97 -97
- package/components/form/ExNumber.jsx +51 -51
- package/components/form/ExRadio.jsx +58 -58
- package/components/form/ExRate.jsx +51 -51
- package/components/form/ExSelect.jsx +251 -251
- package/components/form/ExSlider.jsx +55 -55
- package/components/form/ExSwitch.jsx +51 -51
- package/components/form/ExTime.jsx +99 -99
- package/components/form/FormItem.jsx +307 -307
- package/components/form/PickerWrapper.jsx +120 -120
- package/components/form/index.js +46 -46
- package/components/form/index.less +178 -178
- package/components/form/utils.js +62 -62
- package/components/grid/ExGrid.jsx +53 -53
- package/components/grid/index.js +4 -4
- package/components/grid/index.less +2 -2
- package/components/index.js +12 -12
- package/components/pagination/ExPagination.jsx +457 -440
- package/components/pagination/index.js +5 -5
- package/components/pagination/index.less +3 -3
- package/components/provider/ExProvider.jsx +173 -173
- package/components/qrcode/ExQrcode.jsx +86 -86
- package/components/qrcode/index.js +5 -5
- package/components/qrcode/index.less +8 -8
- package/components/result/ExResult.jsx +122 -122
- package/components/result/index.js +5 -5
- package/components/result/index.less +59 -59
- package/components/search/ExSearch.jsx +370 -326
- package/components/search/components/Expand.jsx +77 -77
- package/components/search/components/Field.jsx +27 -27
- package/components/search/components/Quick.jsx +57 -57
- package/components/search/components/index.js +5 -5
- package/components/search/index.js +5 -5
- package/components/search/index.less +118 -118
- package/components/search/utils.js +30 -30
- package/components/sector/ExSector.jsx +52 -52
- package/components/sector/README.md +26 -26
- package/components/sector/index.js +5 -5
- package/components/sector/index.less +122 -122
- package/components/theme/ExTheme.jsx +10 -10
- package/components/theme/index.js +4 -4
- package/components/theme/index.less +98 -98
- package/components/uploader/ExUploader.jsx +293 -293
- package/components/uploader/index.js +5 -5
- package/components/utils.js +187 -187
- package/directives/auth.js +113 -113
- package/directives/index.js +4 -4
- package/dist/cipher-98df1050.cjs.map +1 -1
- package/dist/cipher-f2ed5ee6.js.map +1 -1
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js.map +1 -1
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/jobsys-explore.cjs +6 -6
- package/dist/jobsys-explore.cjs.map +1 -1
- package/dist/jobsys-explore.js +464 -407
- package/dist/jobsys-explore.js.map +1 -1
- package/docgen.config.js +15 -15
- package/docs/.vuepress/.cache/deps/_metadata.json +52 -52
- package/docs/.vuepress/.cache/deps/lodash-es.js +8442 -8442
- package/docs/.vuepress/.cache/deps/lodash-es.js.map +7 -7
- package/docs/.vuepress/.temp/internal/clientConfigs.js +17 -17
- package/docs/.vuepress/.temp/internal/pagesComponents.js +24 -24
- package/docs/.vuepress/.temp/internal/pagesData.js +22 -22
- package/docs/.vuepress/.temp/internal/pagesRoutes.js +12 -12
- package/docs/.vuepress/.temp/internal/themeData.js +1 -1
- package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.vue +37 -37
- package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.vue +71 -71
- package/docs/.vuepress/.temp/styles/index.scss +1 -1
- package/docs/.vuepress/config.js +61 -61
- package/docs/.vuepress/dist/404.html +33 -33
- package/docs/.vuepress/dist/assets/404.html-a0ce2184.js +1 -1
- package/docs/.vuepress/dist/assets/ExButton.html-ad283101.js +1 -1
- package/docs/.vuepress/dist/assets/ExDecorator.html-42d09114.js +1 -1
- package/docs/.vuepress/dist/assets/ExDecorator.html-c82c5fe8.js +1 -1
- package/docs/.vuepress/dist/assets/ExForm.html-9e3f8000.js +1 -1
- package/docs/.vuepress/dist/assets/ExProvider.html-78fdc6cd.js +1 -1
- package/docs/.vuepress/dist/assets/ExSearch.html-103f6f34.js +1 -1
- package/docs/.vuepress/dist/assets/ExSector.html-a1e24c3a.js +7 -7
- package/docs/.vuepress/dist/assets/ExSector.html-cff3fefd.js +1 -1
- package/docs/.vuepress/dist/assets/ExUploader.html-8310e424.js +1 -1
- package/docs/.vuepress/dist/assets/app-29fe8d1e.js +10 -10
- package/docs/.vuepress/dist/assets/hooks.html-90ccbc1a.js +1 -1
- package/docs/.vuepress/dist/assets/index.html-85b79c97.js +43 -43
- package/docs/.vuepress/dist/assets/style-46d7e227.css +1 -1
- package/docs/.vuepress/dist/components/button/ExButton.html +33 -33
- package/docs/.vuepress/dist/components/decorator/ExDecorator.html +33 -33
- package/docs/.vuepress/dist/components/form/ExForm.html +33 -33
- package/docs/.vuepress/dist/components/provider/ExProvider.html +33 -33
- package/docs/.vuepress/dist/components/search/ExSearch.html +33 -33
- package/docs/.vuepress/dist/components/sector/ExSector.html +39 -39
- package/docs/.vuepress/dist/components/uploader/ExUploader.html +33 -33
- package/docs/.vuepress/dist/hooks.html +33 -33
- package/docs/.vuepress/dist/index.html +75 -75
- package/docs/.vuepress/styles/index.scss +7 -7
- package/docs/components/decorator/ExDecorator.md +14 -14
- package/docs/components/sector/ExSector.md +43 -43
- package/docs/index.md +82 -82
- package/hooks/cipher.js +44 -44
- package/hooks/datetime.js +69 -69
- package/hooks/form.js +188 -188
- package/hooks/utils.js +282 -282
- package/index.html +17 -17
- package/package.json +1 -1
- package/playground/App.vue +191 -191
- package/playground/TestButton.vue +61 -61
- package/playground/TestCascader.vue +2442 -2442
- package/playground/TestDecorator.vue +14 -14
- package/playground/TestForm.vue +429 -429
- package/playground/TestFormItem.vue +110 -110
- package/playground/TestGrid.vue +22 -22
- package/playground/TestPagination.vue +1250 -1248
- package/playground/TestQrcode.vue +7 -7
- package/playground/TestResult.vue +12 -12
- package/playground/TestSearch.vue +115 -115
- package/playground/TestSector.vue +15 -15
- package/playground/TestSurvey.vue +27 -27
- package/playground/TestUploader.vue +14 -14
- package/playground/main.js +22 -22
- package/utils/style.js +13 -13
- package/vite.config.js +54 -54
- package/.changeset/blue-spiders-roll.md +0 -5
- package/.changeset/cyan-monkeys-draw.md +0 -5
- package/.changeset/dry-feet-float.md +0 -5
- package/.changeset/empty-mice-share.md +0 -5
- package/.changeset/famous-yaks-doubt.md +0 -5
- package/.changeset/five-fans-type.md +0 -5
- package/.changeset/funny-hats-drop.md +0 -5
- package/.changeset/khaki-cobras-bathe.md +0 -5
- package/.changeset/khaki-forks-shave.md +0 -5
- package/.changeset/lazy-yaks-crash.md +0 -5
- package/.changeset/light-cycles-flow.md +0 -5
- package/.changeset/loud-mirrors-explain.md +0 -5
- package/.changeset/lovely-balloons-protect.md +0 -5
- package/.changeset/mean-pens-travel.md +0 -5
- package/.changeset/moody-doors-grow.md +0 -5
- package/.changeset/moody-laws-change.md +0 -5
- package/.changeset/nasty-goats-joke.md +0 -5
- package/.changeset/odd-forks-drop.md +0 -5
- package/.changeset/olive-windows-suffer.md +0 -5
- package/.changeset/popular-carpets-jog.md +0 -5
- package/.changeset/popular-planets-play.md +0 -5
- package/.changeset/rare-gorillas-boil.md +0 -5
- package/.changeset/rare-moose-teach.md +0 -5
- package/.changeset/sharp-tools-hope.md +0 -5
- package/.changeset/slimy-sloths-refuse.md +0 -5
- package/.changeset/slow-boats-search.md +0 -5
- package/.changeset/small-experts-bake.md +0 -5
- package/.changeset/smooth-horses-tie.md +0 -5
- package/.changeset/tame-feet-reply.md +0 -5
- package/.changeset/tidy-items-reflect.md +0 -5
- package/.changeset/weak-chicken-admire.md +0 -5
- package/.changeset/weak-rockets-compare.md +0 -5
- package/.changeset/wild-glasses-bathe.md +0 -5
- 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
|
+
}
|
package/components/form/index.js
CHANGED
|
@@ -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
|
+
|