@fecp/mobile 1.0.53 → 1.0.54

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 (30) hide show
  1. package/es/mobile.css +18 -2
  2. package/es/packages/mobile/src/axios/config.mjs +18 -0
  3. package/es/packages/mobile/src/axios/index.mjs +5 -3
  4. package/es/packages/mobile/src/components/form/checkboxGroup/CheckboxGroup.vue.mjs +8 -2
  5. package/es/packages/mobile/src/components/form/checkboxGroup/index.mjs +2 -2
  6. package/es/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.mjs +31 -5
  7. package/es/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.mjs +15 -8
  8. package/es/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.mjs +37 -10
  9. package/es/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.mjs +17 -8
  10. package/es/packages/mobile/src/components/form/form/Form.vue.mjs +24 -3
  11. package/es/packages/mobile/src/components/form/formItem/FormItem.vue.mjs +4 -2
  12. package/es/packages/mobile/src/components/form/radioGroup/RadioGroup.vue.mjs +4 -1
  13. package/es/packages/mobile/src/components/form/uploader/Uploader.vue.mjs +198 -16
  14. package/es/packages/mobile/src/utils/env.mjs +8 -0
  15. package/es/packages/mobile/src/utils/optionUtil.mjs +94 -0
  16. package/lib/mobile.css +18 -2
  17. package/lib/packages/mobile/src/axios/config.js +18 -0
  18. package/lib/packages/mobile/src/axios/index.js +5 -3
  19. package/lib/packages/mobile/src/components/form/checkboxGroup/CheckboxGroup.vue.js +8 -2
  20. package/lib/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.js +30 -4
  21. package/lib/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.js +14 -7
  22. package/lib/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.js +36 -9
  23. package/lib/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.js +16 -7
  24. package/lib/packages/mobile/src/components/form/form/Form.vue.js +23 -2
  25. package/lib/packages/mobile/src/components/form/formItem/FormItem.vue.js +4 -2
  26. package/lib/packages/mobile/src/components/form/radioGroup/RadioGroup.vue.js +4 -1
  27. package/lib/packages/mobile/src/components/form/uploader/Uploader.vue.js +197 -15
  28. package/lib/packages/mobile/src/utils/env.js +8 -0
  29. package/lib/packages/mobile/src/utils/optionUtil.js +94 -0
  30. package/package.json +1 -1
package/es/mobile.css CHANGED
@@ -57,6 +57,10 @@
57
57
  .van-swipe-cell{position:relative;overflow:hidden;cursor:-webkit-grab;cursor:grab}.van-swipe-cell__wrapper{transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}
58
58
  .van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}
59
59
  :root,:host{--van-checkbox-size: 20px;--van-checkbox-border-color: var(--van-gray-5);--van-checkbox-duration: var(--van-duration-fast);--van-checkbox-label-margin: var(--van-padding-xs);--van-checkbox-label-color: var(--van-text-color);--van-checkbox-checked-icon-color: var(--van-primary-color);--van-checkbox-disabled-icon-color: var(--van-gray-5);--van-checkbox-disabled-label-color: var(--van-text-color-3);--van-checkbox-disabled-background: var(--van-border-color)}.van-checkbox{display:flex;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.van-checkbox--disabled{cursor:not-allowed}.van-checkbox--label-disabled{cursor:default}.van-checkbox--horizontal{margin-right:var(--van-padding-sm)}.van-checkbox__icon{flex:none;height:1em;font-size:var(--van-checkbox-size);line-height:1em;cursor:pointer}.van-checkbox__icon .van-icon{display:block;box-sizing:border-box;width:1.25em;height:1.25em;color:transparent;font-size:.8em;line-height:1.25;text-align:center;border:1px solid var(--van-checkbox-border-color);transition-duration:var(--van-checkbox-duration);transition-property:color,border-color,background-color}.van-checkbox__icon--round .van-icon{border-radius:100%}.van-checkbox__icon--indeterminate .van-icon{display:flex;align-items:center;justify-content:center;color:var(--van-white);border-color:var(--van-checkbox-checked-icon-color);background-color:var(--van-checkbox-checked-icon-color)}.van-checkbox__icon--checked .van-icon{color:var(--van-white);background-color:var(--van-checkbox-checked-icon-color);border-color:var(--van-checkbox-checked-icon-color)}.van-checkbox__icon--disabled{cursor:not-allowed}.van-checkbox__icon--disabled .van-icon{background-color:var(--van-checkbox-disabled-background);border-color:var(--van-checkbox-disabled-icon-color)}.van-checkbox__icon--disabled.van-checkbox__icon--checked .van-icon{color:var(--van-checkbox-disabled-icon-color)}.van-checkbox__label{margin-left:var(--van-checkbox-label-margin);color:var(--van-checkbox-label-color);line-height:var(--van-checkbox-size)}.van-checkbox__label--left{margin:0 var(--van-checkbox-label-margin) 0 0}.van-checkbox__label--disabled{color:var(--van-checkbox-disabled-label-color)}
60
+
61
+ /* .fec-m-checkbox:deep(.van-checkbox) {
62
+ margin-bottom: 8px;
63
+ } */
60
64
  :root,:host{--van-field-label-width: 6.2em;--van-field-label-color: var(--van-text-color);--van-field-label-margin-right: var(--van-padding-sm);--van-field-input-text-color: var(--van-text-color);--van-field-input-error-text-color: var(--van-danger-color);--van-field-input-disabled-text-color: var(--van-text-color-3);--van-field-placeholder-text-color: var(--van-text-color-3);--van-field-icon-size: 18px;--van-field-clear-icon-size: 18px;--van-field-clear-icon-color: var(--van-gray-5);--van-field-right-icon-color: var(--van-gray-6);--van-field-error-message-color: var(--van-danger-color);--van-field-error-message-font-size: 12px;--van-field-text-area-min-height: 60px;--van-field-word-limit-color: var(--van-gray-7);--van-field-word-limit-font-size: var(--van-font-size-sm);--van-field-word-limit-line-height: 16px;--van-field-disabled-text-color: var(--van-text-color-3);--van-field-required-mark-color: var(--van-red)}.van-field{flex-wrap:wrap}.van-field__label{flex:none;box-sizing:border-box;width:var(--van-field-label-width);margin-right:var(--van-field-label-margin-right);color:var(--van-field-label-color);text-align:left;word-wrap:break-word}.van-field__label--center{text-align:center}.van-field__label--right{text-align:right}.van-field__label--top{display:flex;width:100%;text-align:left;margin-bottom:var(--van-padding-base);overflow-wrap:break-word}.van-field__label--required:before{margin-right:2px;color:var(--van-field-required-mark-color);content:"*"}.van-field--disabled .van-field__label{color:var(--van-field-disabled-text-color)}.van-field__value{overflow:visible}.van-field__body{display:flex;align-items:center}.van-field__control{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:var(--van-field-input-text-color);line-height:inherit;text-align:left;background-color:transparent;border:0;resize:none;-webkit-user-select:auto;user-select:auto}.van-field__control::-webkit-input-placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control::placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control:read-only{cursor:default}.van-field__control:disabled{color:var(--van-field-input-disabled-text-color);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--van-field-input-disabled-text-color)}.van-field__control--center{justify-content:center;text-align:center}.van-field__control--right{justify-content:flex-end;text-align:right}.van-field__control--custom{display:flex;align-items:center;min-height:var(--van-cell-line-height)}.van-field__control--error::-webkit-input-placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--error,.van-field__control--error::placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--min-height{min-height:var(--van-field-text-area-min-height)}.van-field__control[type=date],.van-field__control[type=time],.van-field__control[type=datetime-local]{min-height:var(--van-cell-line-height)}.van-field__control[type=search]{-webkit-appearance:none}.van-field__clear,.van-field__icon,.van-field__button,.van-field__right-icon{flex-shrink:0}.van-field__clear,.van-field__right-icon{margin-right:calc(var(--van-padding-xs) * -1);padding:0 var(--van-padding-xs);line-height:inherit}.van-field__clear{color:var(--van-field-clear-icon-color);font-size:var(--van-field-clear-icon-size);cursor:pointer}.van-field__left-icon .van-icon,.van-field__right-icon .van-icon{display:block;font-size:var(--van-field-icon-size);line-height:inherit}.van-field__left-icon{margin-right:var(--van-padding-base)}.van-field__right-icon{color:var(--van-field-right-icon-color)}.van-field__button{padding-left:var(--van-padding-xs)}.van-field__error-message{color:var(--van-field-error-message-color);font-size:var(--van-field-error-message-font-size);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{margin-top:var(--van-padding-base);color:var(--van-field-word-limit-color);font-size:var(--van-field-word-limit-font-size);line-height:var(--van-field-word-limit-line-height);text-align:right}
61
65
 
62
66
  .custom-close-icon {
@@ -75,15 +79,27 @@
75
79
  .van-radio-group--horizontal{display:flex;flex-wrap:wrap}
76
80
  :root,:host{--van-radio-size: 20px;--van-radio-dot-size: 8px;--van-radio-border-color: var(--van-gray-5);--van-radio-duration: var(--van-duration-fast);--van-radio-label-margin: var(--van-padding-xs);--van-radio-label-color: var(--van-text-color);--van-radio-checked-icon-color: var(--van-primary-color);--van-radio-disabled-icon-color: var(--van-gray-5);--van-radio-disabled-label-color: var(--van-text-color-3);--van-radio-disabled-background: var(--van-border-color)}.van-radio{display:flex;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.van-radio--disabled{cursor:not-allowed}.van-radio--label-disabled{cursor:default}.van-radio--horizontal{margin-right:var(--van-padding-sm)}.van-radio__icon{flex:none;height:1em;font-size:var(--van-radio-size);line-height:1em;cursor:pointer}.van-radio__icon .van-icon{display:block;box-sizing:border-box;width:1.25em;height:1.25em;color:transparent;font-size:.8em;line-height:1.25;text-align:center;border:1px solid var(--van-radio-border-color);transition-duration:var(--van-radio-duration);transition-property:color,border-color,background-color}.van-radio__icon--round .van-icon{border-radius:100%}.van-radio__icon--dot{position:relative;border-radius:100%;box-sizing:border-box;width:var(--van-radio-size);height:var(--van-radio-size);border:1px solid var(--van-radio-border-color);transition-duration:var(--van-radio-duration);transition-property:border-color}.van-radio__icon--dot__icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;height:calc(100% - var(--van-radio-dot-size));width:calc(100% - var(--van-radio-dot-size));transition-duration:var(--van-radio-duration);transition-property:background-color}.van-radio__icon--checked .van-icon{color:var(--van-white);background-color:var(--van-radio-checked-icon-color);border-color:var(--van-radio-checked-icon-color)}.van-radio__icon--checked.van-radio__icon--dot{border-color:var(--van-radio-checked-icon-color)}.van-radio__icon--checked.van-radio__icon--dot .van-radio__icon--dot__icon{background:var(--van-radio-checked-icon-color)}.van-radio__icon--disabled{cursor:not-allowed}.van-radio__icon--disabled .van-icon{background-color:var(--van-radio-disabled-background);border-color:var(--van-radio-disabled-icon-color)}.van-radio__icon--disabled.van-radio__icon--checked .van-icon{color:var(--van-radio-disabled-icon-color)}.van-radio__label{margin-left:var(--van-radio-label-margin);color:var(--van-radio-label-color);line-height:var(--van-radio-size)}.van-radio__label--left{margin:0 var(--van-radio-label-margin) 0 0}.van-radio__label--disabled{color:var(--van-radio-disabled-label-color)}
77
81
 
78
- .fecMForm[data-v-e0489cda] .van-cell-group--inset {
82
+ .fecMForm[data-v-17ab5a76] .van-cell-group--inset {
79
83
  margin: 12px;
80
84
  }
81
- .fecMForm.isShadow[data-v-e0489cda] .van-cell-group--inset {
85
+ .fecMForm.isShadow[data-v-17ab5a76] .van-cell-group--inset {
82
86
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.12);
83
87
  }
84
88
  :root,:host{--van-search-padding: 10px var(--van-padding-sm);--van-search-background: var(--van-background-2);--van-search-content-background: var(--van-background);--van-search-input-height: 34px;--van-search-label-padding: 0 5px;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background);border-radius:var(--van-radius-sm)}.van-search__content--round{border-radius:var(--van-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;align-items:center;padding:0 var(--van-padding-xs) 0 0;height:var(--van-search-input-height);background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search__field--with-message{height:auto;align-items:flex-start;padding-top:5px;padding-bottom:5px}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}
85
89
  :root,:host{--van-image-preview-index-text-color: var(--van-white);--van-image-preview-index-font-size: var(--van-font-size-md);--van-image-preview-index-line-height: var(--van-line-height-md);--van-image-preview-index-text-shadow: 0 1px 1px var(--van-gray-8);--van-image-preview-overlay-background: rgba(0, 0, 0, .9);--van-image-preview-close-icon-size: 22px;--van-image-preview-close-icon-color: var(--van-gray-5);--van-image-preview-close-icon-margin: var(--van-padding-md);--van-image-preview-close-icon-z-index: 1}.van-image-preview{position:fixed;top:0;left:0;width:100%;height:100%;max-width:none;background-color:transparent;transform:none}.van-image-preview__swipe{height:100%}.van-image-preview__swipe-item{display:flex;align-items:center;justify-content:center;overflow:hidden}.van-image-preview__cover{position:absolute;top:0;left:0}.van-image-preview__image,.van-image-preview__image-wrap{width:100%;transition-property:transform}.van-image-preview__image--vertical,.van-image-preview__image-wrap--vertical{width:auto;height:100%}.van-image-preview__image img,.van-image-preview__image-wrap img,.van-image-preview__image video,.van-image-preview__image-wrap video{-webkit-user-drag:none}.van-image-preview__image .van-image__error,.van-image-preview__image-wrap .van-image__error{top:30%;height:40%}.van-image-preview__image .van-image__error-icon,.van-image-preview__image-wrap .van-image__error-icon{font-size:36px}.van-image-preview__image .van-image__loading,.van-image-preview__image-wrap .van-image__loading{background-color:transparent}.van-image-preview__index{position:absolute;top:var(--van-padding-md);left:50%;color:var(--van-image-preview-index-text-color);font-size:var(--van-image-preview-index-font-size);line-height:var(--van-image-preview-index-line-height);text-shadow:var(--van-image-preview-index-text-shadow);transform:translate(-50%)}.van-image-preview__overlay{background:var(--van-image-preview-overlay-background)}.van-image-preview__close-icon{position:absolute;z-index:var(--van-image-preview-close-icon-z-index);color:var(--van-image-preview-close-icon-color);font-size:var(--van-image-preview-close-icon-size)}.van-image-preview__close-icon--top-left{top:var(--van-image-preview-close-icon-margin);left:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--top-right{top:var(--van-image-preview-close-icon-margin);right:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--bottom-left{bottom:var(--van-image-preview-close-icon-margin);left:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--bottom-right{right:var(--van-image-preview-close-icon-margin);bottom:var(--van-image-preview-close-icon-margin)}
86
90
  :root,:host{--van-uploader-size: 80px;--van-uploader-icon-size: 24px;--van-uploader-icon-color: var(--van-gray-4);--van-uploader-text-color: var(--van-text-color-2);--van-uploader-text-font-size: var(--van-font-size-sm);--van-uploader-upload-background: var(--van-gray-1);--van-uploader-upload-active-color: var(--van-active-color);--van-uploader-delete-color: var(--van-white);--van-uploader-delete-icon-size: 14px;--van-uploader-delete-background: rgba(0, 0, 0, .7);--van-uploader-file-background: var(--van-background);--van-uploader-file-icon-size: 20px;--van-uploader-file-icon-color: var(--van-gray-7);--van-uploader-file-name-padding: 0 var(--van-padding-base);--van-uploader-file-name-margin-top: var(--van-padding-xs);--van-uploader-file-name-font-size: var(--van-font-size-sm);--van-uploader-file-name-text-color: var(--van-gray-7);--van-uploader-mask-text-color: var(--van-white);--van-uploader-mask-background: rgba(50, 50, 51, .88);--van-uploader-mask-icon-size: 22px;--van-uploader-mask-message-font-size: var(--van-font-size-sm);--van-uploader-mask-message-line-height: var(--van-line-height-xs);--van-uploader-loading-icon-size: 22px;--van-uploader-loading-icon-color: var(--van-white);--van-uploader-disabled-opacity: var(--van-disabled-opacity);--van-uploader-border-radius: 0px}.van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__wrapper--disabled{opacity:var(--van-uploader-disabled-opacity)}.van-uploader__input{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:pointer;opacity:0}.van-uploader__input-wrapper{position:relative}.van-uploader__input:disabled{cursor:not-allowed}.van-uploader__upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:var(--van-uploader-size);height:var(--van-uploader-size);margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;background:var(--van-uploader-upload-background);border-radius:var(--van-uploader-border-radius)}.van-uploader__upload:active{background-color:var(--van-uploader-upload-active-color)}.van-uploader__upload--readonly:active{background-color:var(--van-uploader-upload-background)}.van-uploader__upload-icon{color:var(--van-uploader-icon-color);font-size:var(--van-uploader-icon-size)}.van-uploader__upload-text{margin-top:var(--van-padding-xs);color:var(--van-uploader-text-color);font-size:var(--van-uploader-text-font-size)}.van-uploader__preview{position:relative;margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;cursor:pointer}.van-uploader__preview-image{display:block;width:var(--van-uploader-size);height:var(--van-uploader-size);overflow:hidden;border-radius:var(--van-uploader-border-radius)}.van-uploader__preview-delete{position:absolute;top:0;right:0}.van-uploader__preview-delete--shadow{width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);background:var(--van-uploader-delete-background);border-radius:0 0 0 12px}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;color:var(--van-uploader-delete-color);font-size:var(--van-uploader-delete-icon-size);transform:scale(.7) translate(10%,-10%)}.van-uploader__preview-cover{position:absolute;top:0;right:0;bottom:0;left:0}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-uploader-mask-text-color);background:var(--van-uploader-mask-background);border-radius:var(--van-uploader-border-radius)}.van-uploader__mask-icon{font-size:var(--van-uploader-mask-icon-size)}.van-uploader__mask-message{margin-top:6px;padding:0 var(--van-padding-base);font-size:var(--van-uploader-mask-message-font-size);line-height:var(--van-uploader-mask-message-line-height)}.van-uploader__loading{width:var(--van-uploader-loading-icon-size);height:var(--van-uploader-loading-icon-size);color:var(--van-uploader-loading-icon-color)}.van-uploader__file{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--van-uploader-size);height:var(--van-uploader-size);background:var(--van-uploader-file-background)}.van-uploader__file-icon{color:var(--van-uploader-file-icon-color);font-size:var(--van-uploader-file-icon-size)}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:var(--van-uploader-file-name-margin-top);padding:var(--van-uploader-file-name-padding);color:var(--van-uploader-file-name-text-color);font-size:var(--van-uploader-file-name-font-size);text-align:center}
91
+
92
+ .preview-cover[data-v-cbd8c56a] {
93
+ position: absolute;
94
+ bottom: 0;
95
+ box-sizing: border-box;
96
+ width: 100%;
97
+ color: #fff;
98
+ font-size: 12px;
99
+ text-align: center;
100
+ background: rgba(0, 0, 0, 0.3);
101
+ line-height: 24px;
102
+ }
87
103
  :root,:host{--van-action-bar-background: var(--van-background-2);--van-action-bar-height: 50px}.van-action-bar{position:fixed;right:0;bottom:0;left:0;display:flex;align-items:center;box-sizing:content-box;height:var(--van-action-bar-height);background:var(--van-action-bar-background)}
88
104
  :root,:host{--van-back-top-size: 40px;--van-back-top-right: 30px;--van-back-top-bottom: 40px;--van-back-top-z-index: 100;--van-back-top-icon-size: 20px;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);z-index:var(--van-back-top-z-index);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 2px 8px rgba(0,0,0,.12);transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top__placeholder{display:none}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}
89
105
  .van-grid{display:flex;flex-wrap:wrap}
@@ -79,6 +79,24 @@ const axios = () => {
79
79
  request(config) {
80
80
  return service(config);
81
81
  },
82
+ get(url, config) {
83
+ return service.get(url, config);
84
+ },
85
+ delete(url, config) {
86
+ return service.delete(url, config);
87
+ },
88
+ head(url, config) {
89
+ return service.head(url, config);
90
+ },
91
+ post(url, data, config) {
92
+ return service.post(url, data, config);
93
+ },
94
+ postForm(url, data, config) {
95
+ return service.postForm(url, data, config);
96
+ },
97
+ put(url, data, config) {
98
+ return service.put(url, data, config);
99
+ },
82
100
  interceptors: {
83
101
  request: {
84
102
  use(fnHandle, fnError) {
@@ -1,9 +1,11 @@
1
1
  import axios from "./config.mjs";
2
2
  const useHttp = (dataHandler) => {
3
3
  const http = axios();
4
- http.interceptors.response.use(dataHandler, (error) => {
5
- return Promise.reject(error);
6
- });
4
+ if (dataHandler) {
5
+ http.interceptors.response.use(dataHandler, (error) => {
6
+ return Promise.reject(error);
7
+ });
8
+ }
7
9
  return http;
8
10
  };
9
11
  export {
@@ -4,6 +4,8 @@
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  import { createBlock, openBlock, mergeProps, withCtx, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
7
+ /* empty css */
8
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
7
9
  import { CheckboxGroup } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/checkbox-group/index.mjs";
8
10
  import { Checkbox } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/checkbox/index.mjs";
9
11
  const _sfc_main = {
@@ -26,7 +28,10 @@ const _sfc_main = {
26
28
  return (_ctx, _cache) => {
27
29
  const _component_van_checkbox = Checkbox;
28
30
  const _component_van_checkbox_group = CheckboxGroup;
29
- return openBlock(), createBlock(_component_van_checkbox_group, mergeProps(_ctx.$attrs, { shape: "square" }), {
31
+ return openBlock(), createBlock(_component_van_checkbox_group, mergeProps(_ctx.$attrs, {
32
+ shape: "square",
33
+ class: "fec-m-checkbox"
34
+ }), {
30
35
  default: withCtx(() => [
31
36
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (item) => {
32
37
  return openBlock(), createBlock(_component_van_checkbox, {
@@ -45,6 +50,7 @@ const _sfc_main = {
45
50
  };
46
51
  }
47
52
  };
53
+ const _CheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-eeda4504"]]);
48
54
  export {
49
- _sfc_main as default
55
+ _CheckboxGroup as default
50
56
  };
@@ -1,8 +1,8 @@
1
- import _sfc_main from "./CheckboxGroup.vue.mjs";
1
+ import _CheckboxGroup from "./CheckboxGroup.vue.mjs";
2
2
  import install from "../../../utils/install.mjs";
3
3
  const MobileCheckboxGroup = install.withInstall(
4
4
  "MobileCheckboxGroup",
5
- _sfc_main
5
+ _CheckboxGroup
6
6
  );
7
7
  export {
8
8
  MobileCheckboxGroup,
@@ -9,8 +9,9 @@
9
9
  /* empty css */
10
10
  /* empty css */
11
11
  /* empty css */
12
- import { ref, computed, watch, createBlock, openBlock, unref, mergeProps, isRef, createSlots, withCtx, createVNode, withModifiers } from "vue";
12
+ import { useAttrs, ref, computed, watch, createBlock, openBlock, unref, mergeProps, isRef, createSlots, withCtx, createVNode, withModifiers } from "vue";
13
13
  import { MobileField } from "../field/index.mjs";
14
+ import { getTreeOptions } from "../../../utils/optionUtil.mjs";
14
15
  import { Cascader } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/cascader/index.mjs";
15
16
  import { Popup } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/popup/index.mjs";
16
17
  import { Icon } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/icon/index.mjs";
@@ -46,6 +47,31 @@ const _sfc_main = {
46
47
  emits: ["update:modelValue"],
47
48
  setup(__props, { emit: __emit }) {
48
49
  const props = __props;
50
+ const attrs = useAttrs();
51
+ const finalOptions = ref([]);
52
+ getTreeOptions({
53
+ ...attrs,
54
+ staticOptions: props.treeOptions,
55
+ optionsFieldNames: props.treeOptionsFieldNames
56
+ }).then((data) => {
57
+ finalOptions.value = clearEmptyChildren(data);
58
+ });
59
+ function clearEmptyChildren(data) {
60
+ if (typeof data === "object" && data !== null) {
61
+ if (Array.isArray(data)) {
62
+ return data.map((item) => clearEmptyChildren(item));
63
+ } else {
64
+ const newData = { ...data };
65
+ if (newData.children && newData.children.length === 0) {
66
+ delete newData.children;
67
+ } else if (newData.children) {
68
+ newData.children = clearEmptyChildren(newData.children);
69
+ }
70
+ return newData;
71
+ }
72
+ }
73
+ return data;
74
+ }
49
75
  const fieldTextValue = ref("");
50
76
  const showPicker = ref(false);
51
77
  const emit = __emit;
@@ -85,14 +111,14 @@ const _sfc_main = {
85
111
  return displayValues.join("/");
86
112
  }
87
113
  watch(
88
- () => props.modelValue,
89
- (value) => {
114
+ [() => props.modelValue, finalOptions],
115
+ ([value, options]) => {
90
116
  if (!value) {
91
117
  fieldTextValue.value = "";
92
118
  return;
93
119
  }
94
120
  fieldTextValue.value = getDisplayValue(
95
- props.treeOptions,
121
+ options,
96
122
  props.treeOptionsFieldNames,
97
123
  value
98
124
  );
@@ -130,7 +156,7 @@ const _sfc_main = {
130
156
  createVNode(_component_van_cascader, mergeProps(_ctx.$attrs, {
131
157
  modelValue: unref(pickerValue),
132
158
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(pickerValue) ? pickerValue.value = $event : null),
133
- options: __props.treeOptions,
159
+ options: unref(finalOptions),
134
160
  "field-names": __props.treeOptionsFieldNames,
135
161
  placeholder: "请选择",
136
162
  onFinish,
@@ -1,5 +1,6 @@
1
- import { computed, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createElementBlock, toDisplayString } from "vue";
1
+ import { useAttrs, ref, computed, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createElementBlock, toDisplayString } from "vue";
2
2
  import { MobileField } from "../field/index.mjs";
3
+ import { getOptions } from "../../../utils/optionUtil.mjs";
3
4
  import { MobileCheckboxGroup } from "../checkboxGroup/index.mjs";
4
5
  const _hoisted_1 = { key: 1 };
5
6
  const _sfc_main = {
@@ -29,6 +30,15 @@ const _sfc_main = {
29
30
  emits: ["update:modelValue"],
30
31
  setup(__props, { emit: __emit }) {
31
32
  const props = __props;
33
+ const attrs = useAttrs();
34
+ const finalOptions = ref([]);
35
+ getOptions({
36
+ ...attrs,
37
+ staticOptions: props.options,
38
+ optionsFieldNames: props.fieldNames
39
+ }).then((data) => {
40
+ finalOptions.value = data;
41
+ });
32
42
  const emit = __emit;
33
43
  const compValue = computed({
34
44
  get: () => {
@@ -48,10 +58,8 @@ const _sfc_main = {
48
58
  });
49
59
  const fieldTextValue = computed(() => {
50
60
  return compValue.value.map((value) => {
51
- const option = props.options.find(
52
- (opt) => opt[props.fieldNames.value] === value
53
- );
54
- return option ? option[props.fieldNames.text] : value;
61
+ const option = finalOptions.value.find((opt) => opt.value === value);
62
+ return option ? option.text : value;
55
63
  }).join(", ");
56
64
  });
57
65
  return (_ctx, _cache) => {
@@ -62,11 +70,10 @@ const _sfc_main = {
62
70
  }), {
63
71
  input: withCtx(() => [
64
72
  !__props.readonly ? (openBlock(), createBlock(unref(MobileCheckboxGroup), mergeProps({ key: 0 }, _ctx.$attrs, {
65
- options: __props.options,
66
- fieldNames: __props.fieldNames,
73
+ options: unref(finalOptions),
67
74
  modelValue: unref(compValue),
68
75
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(compValue) ? compValue.value = $event : null)
69
- }), null, 16, ["options", "fieldNames", "modelValue"])) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(fieldTextValue)), 1))
76
+ }), null, 16, ["options", "modelValue"])) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(fieldTextValue)), 1))
70
77
  ]),
71
78
  _: 1
72
79
  }, 16, ["readonly", "modelValue"]);
@@ -11,14 +11,35 @@
11
11
  /* empty css */
12
12
  /* empty css */
13
13
  /* empty css */
14
- import { ref, computed, watch, createBlock, openBlock, unref, mergeProps, isRef, createSlots, withCtx, createVNode, withModifiers } from "vue";
14
+ import { useAttrs, ref, computed, watch, createBlock, openBlock, unref, mergeProps, isRef, createSlots, withCtx, createVNode, withModifiers } from "vue";
15
15
  import { MobileField } from "../field/index.mjs";
16
+ import { getOptions } from "../../../utils/optionUtil.mjs";
16
17
  import { Picker } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/picker/index.mjs";
17
18
  import { Icon } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/icon/index.mjs";
18
19
  import { Popup } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/popup/index.mjs";
19
20
  const _sfc_main = {
20
21
  __name: "FieldPicker",
21
22
  props: {
23
+ // optionType: {
24
+ // type: String,
25
+ // default: "static",
26
+ // },
27
+ // dicKey: {
28
+ // type: String,
29
+ // default: "",
30
+ // },
31
+ // dicList: {
32
+ // type: Array,
33
+ // default: [],
34
+ // },
35
+ // dataSource: {
36
+ // type: String,
37
+ // default: "",
38
+ // },
39
+ // dataSourceParams: {
40
+ // type: Object,
41
+ // default: {},
42
+ // },
22
43
  pickerOptions: {
23
44
  type: Array,
24
45
  default: []
@@ -47,6 +68,15 @@ const _sfc_main = {
47
68
  emits: ["update:modelValue"],
48
69
  setup(__props, { emit: __emit }) {
49
70
  const props = __props;
71
+ const attrs = useAttrs();
72
+ const finalOptions = ref([]);
73
+ getOptions({
74
+ ...attrs,
75
+ staticOptions: props.pickerOptions,
76
+ optionsFieldNames: props.treeOptionsFieldNames
77
+ }).then((data) => {
78
+ finalOptions.value = data;
79
+ });
50
80
  const fieldTextValue = ref("");
51
81
  const showPicker = ref(false);
52
82
  const emit = __emit;
@@ -60,16 +90,14 @@ const _sfc_main = {
60
90
  }
61
91
  });
62
92
  watch(
63
- () => props.modelValue,
64
- (value) => {
93
+ [() => props.modelValue, finalOptions],
94
+ ([value, options]) => {
65
95
  if (!value) {
66
96
  fieldTextValue.value = "";
67
97
  return;
68
98
  }
69
- const optionItem = props.pickerOptions.find(
70
- (item) => item[props.treeOptionsFieldNames.value] == value
71
- );
72
- fieldTextValue.value = optionItem == null ? void 0 : optionItem[props.treeOptionsFieldNames.text];
99
+ const optionItem = options.find((item) => item.value == value);
100
+ fieldTextValue.value = optionItem == null ? void 0 : optionItem.text;
73
101
  },
74
102
  { immediate: true }
75
103
  );
@@ -102,13 +130,12 @@ const _sfc_main = {
102
130
  }, {
103
131
  default: withCtx(() => [
104
132
  createVNode(_component_van_picker, mergeProps(_ctx.$attrs, {
105
- columns: __props.pickerOptions,
106
- "columns-field-names": __props.treeOptionsFieldNames,
133
+ columns: unref(finalOptions),
107
134
  "model-value": unref(pickerValue),
108
135
  readonly: false,
109
136
  onConfirm,
110
137
  onCancel: _cache[1] || (_cache[1] = ($event) => showPicker.value = false)
111
- }), null, 16, ["columns", "columns-field-names", "model-value"])
138
+ }), null, 16, ["columns", "model-value"])
112
139
  ]),
113
140
  _: 1
114
141
  }, 8, ["show"])
@@ -1,12 +1,13 @@
1
- import { computed, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createElementBlock, toDisplayString } from "vue";
1
+ import { useAttrs, ref, computed, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createElementBlock, toDisplayString } from "vue";
2
2
  import { MobileField } from "../field/index.mjs";
3
+ import { getOptions } from "../../../utils/optionUtil.mjs";
3
4
  import { MobileRadioGroup } from "../radioGroup/index.mjs";
4
5
  const _hoisted_1 = { key: 1 };
5
6
  const _sfc_main = {
6
7
  __name: "FieldRadio",
7
8
  props: {
8
9
  modelValue: {
9
- type: String,
10
+ type: [String, Number],
10
11
  default: ""
11
12
  },
12
13
  options: {
@@ -29,6 +30,15 @@ const _sfc_main = {
29
30
  emits: ["update:modelValue"],
30
31
  setup(__props, { emit: __emit }) {
31
32
  const props = __props;
33
+ const attrs = useAttrs();
34
+ const finalOptions = ref([]);
35
+ getOptions({
36
+ ...attrs,
37
+ staticOptions: props.options,
38
+ optionsFieldNames: props.fieldNames
39
+ }).then((data) => {
40
+ finalOptions.value = data;
41
+ });
32
42
  const emit = __emit;
33
43
  const compValue = computed({
34
44
  get: () => {
@@ -39,10 +49,10 @@ const _sfc_main = {
39
49
  }
40
50
  });
41
51
  const fieldTextValue = computed(() => {
42
- const selectedOption = props.options.find(
43
- (option) => option[props.fieldNames.value] === compValue.value
52
+ const selectedOption = finalOptions.value.find(
53
+ (option) => option.value === compValue.value
44
54
  );
45
- return selectedOption ? selectedOption[props.fieldNames.text] : "";
55
+ return selectedOption ? selectedOption.text : "";
46
56
  });
47
57
  return (_ctx, _cache) => {
48
58
  return openBlock(), createBlock(unref(MobileField), mergeProps(_ctx.$attrs, {
@@ -52,11 +62,10 @@ const _sfc_main = {
52
62
  }), {
53
63
  input: withCtx(() => [
54
64
  !__props.readonly ? (openBlock(), createBlock(unref(MobileRadioGroup), mergeProps({ key: 0 }, _ctx.$attrs, {
55
- options: __props.options,
56
- fieldNames: __props.fieldNames,
65
+ options: unref(finalOptions),
57
66
  modelValue: unref(compValue),
58
67
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(compValue) ? compValue.value = $event : null)
59
- }), null, 16, ["options", "fieldNames", "modelValue"])) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(fieldTextValue)), 1))
68
+ }), null, 16, ["options", "modelValue"])) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(fieldTextValue)), 1))
60
69
  ]),
61
70
  _: 1
62
71
  }, 16, ["readonly", "modelValue"]);
@@ -1,6 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
- import { computed, provide, createBlock, openBlock, mergeProps, withCtx, createVNode, renderSlot } from "vue";
3
+ import { computed, provide, ref, useSlots, createBlock, openBlock, mergeProps, withCtx, createVNode, renderSlot, createCommentVNode, unref } from "vue";
4
+ import { getParmDicMapByKeys } from "../../../utils/optionUtil.mjs";
4
5
  /* empty css */
5
6
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
6
7
  import { Form } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/form/index.mjs";
@@ -52,6 +53,26 @@ const _sfc_main = {
52
53
  "formReadonly",
53
54
  computed(() => props.formType == "detail")
54
55
  );
56
+ const dicLoaded = ref(false);
57
+ const slots = useSlots();
58
+ const dicListMap = ref({});
59
+ const processSlotComponents = async () => {
60
+ var _a;
61
+ const slotElements = (_a = slots.default) == null ? void 0 : _a.call(slots);
62
+ const dicKeyList = [];
63
+ if (slotElements) {
64
+ slotElements.forEach((node) => {
65
+ if (node.type.__name === "FormItem" && node.props.optionType == "dic") {
66
+ dicKeyList.push(node.props.dicKey);
67
+ }
68
+ });
69
+ const uniqueDicKeys = [...new Set(dicKeyList)];
70
+ dicListMap.value = await getParmDicMapByKeys(uniqueDicKeys.join(","));
71
+ dicLoaded.value = true;
72
+ }
73
+ };
74
+ provide("dicListMap", dicListMap);
75
+ processSlotComponents();
55
76
  return (_ctx, _cache) => {
56
77
  const _component_van_cell_group = CellGroup;
57
78
  const _component_van_form = Form;
@@ -62,7 +83,7 @@ const _sfc_main = {
62
83
  default: withCtx(() => [
63
84
  createVNode(_component_van_cell_group, { inset: __props.isCard }, {
64
85
  default: withCtx(() => [
65
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
86
+ unref(dicLoaded) ? renderSlot(_ctx.$slots, "default", { key: 0 }, void 0, true) : createCommentVNode("", true)
66
87
  ]),
67
88
  _: 3
68
89
  }, 8, ["inset"])
@@ -72,7 +93,7 @@ const _sfc_main = {
72
93
  };
73
94
  }
74
95
  };
75
- const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e0489cda"]]);
96
+ const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-17ab5a76"]]);
76
97
  export {
77
98
  _Form as default
78
99
  };
@@ -43,6 +43,7 @@ const _sfc_main = {
43
43
  const formData = inject("formData");
44
44
  const formDisabled = inject("formDisabled");
45
45
  const formReadonly = inject("formReadonly");
46
+ const dicListMap = inject("dicListMap");
46
47
  const formItemDisabled = computed(() => {
47
48
  if (formDisabled.value) {
48
49
  return formDisabled.value;
@@ -84,8 +85,9 @@ const _sfc_main = {
84
85
  required: unref(formItemReadonly) ? false : "auto",
85
86
  disabled: unref(formItemDisabled),
86
87
  readonly: unref(formItemReadonly),
87
- placeholder: unref(formItemReadonly) ? "" : __props.placeholder
88
- }), null, 16, ["modelValue", "rules", "required", "disabled", "readonly", "placeholder"]);
88
+ placeholder: unref(formItemReadonly) ? "" : __props.placeholder,
89
+ dicList: unref(dicListMap)[unref(attrs).dicKey]
90
+ }), null, 16, ["modelValue", "rules", "required", "disabled", "readonly", "placeholder", "dicList"]);
89
91
  };
90
92
  }
91
93
  };
@@ -27,7 +27,10 @@ const _sfc_main = {
27
27
  return (_ctx, _cache) => {
28
28
  const _component_van_radio = Radio;
29
29
  const _component_van_radio_group = RadioGroup;
30
- return openBlock(), createBlock(_component_van_radio_group, mergeProps(_ctx.$attrs, { shape: "round" }), {
30
+ return openBlock(), createBlock(_component_van_radio_group, mergeProps(_ctx.$attrs, {
31
+ shape: "round",
32
+ class: "fec-m-radio"
33
+ }), {
31
34
  default: withCtx(() => [
32
35
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (item) => {
33
36
  return openBlock(), createBlock(_component_van_radio, {