free-fe-core-modules 0.0.2 → 0.0.4

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 (104) hide show
  1. package/components/Basic/EIcon.vue +2 -4
  2. package/components/Basic/LeveledMenus.vue +0 -5
  3. package/components/Basic/SummaryHead.vue +23 -3
  4. package/components/Dialog/BasicDialog.vue +2 -3
  5. package/components/SlidingCarousel/index.vue +13 -3
  6. package/components/SlidingNews/index.vue +13 -3
  7. package/components/ThemeSwitch/index.vue +7 -5
  8. package/composible/useObjectData.js +69 -0
  9. package/free-field/Fields/AgreementCheck.js +170 -0
  10. package/free-field/Fields/ApiCall.js +123 -0
  11. package/{field-components/Fields/Boolean.vue → free-field/Fields/Boolean.js} +40 -46
  12. package/free-field/Fields/Category.js +28 -0
  13. package/free-field/Fields/Check.js +106 -0
  14. package/free-field/Fields/Customize.js +87 -0
  15. package/free-field/Fields/Date.js +133 -0
  16. package/free-field/Fields/DateRange.js +226 -0
  17. package/free-field/Fields/DynamicList.js +565 -0
  18. package/{field-components → free-field}/Fields/FixedList.vue +78 -83
  19. package/free-field/Fields/InputFieldList.vue +324 -0
  20. package/{field-components → free-field}/Fields/Labels.vue +24 -15
  21. package/{field-components → free-field}/Fields/MixedTable.vue +53 -61
  22. package/free-field/Fields/Number.js +167 -0
  23. package/free-field/Fields/Password.js +81 -0
  24. package/{field-components → free-field}/Fields/Permission.vue +17 -13
  25. package/{field-components → free-field}/Fields/PermissionEditor.vue +62 -105
  26. package/{field-components → free-field}/Fields/QueryFilters.vue +65 -48
  27. package/{field-components → free-field}/Fields/RadioList.vue +36 -12
  28. package/{field-components → free-field}/Fields/Rich.vue +104 -114
  29. package/{field-components → free-field}/Fields/Search.vue +35 -26
  30. package/{field-components → free-field}/Fields/Select.vue +116 -87
  31. package/{field-components → free-field}/Fields/SelectionChain.vue +89 -67
  32. package/{field-components/Fields/Separator.vue → free-field/Fields/Separator.js} +11 -16
  33. package/{field-components → free-field}/Fields/SingleList.vue +27 -21
  34. package/free-field/Fields/Static.js +27 -0
  35. package/free-field/Fields/String.js +105 -0
  36. package/free-field/Fields/Text.js +80 -0
  37. package/{field-components → free-field}/Fields/Time.vue +59 -43
  38. package/{field-components → free-field}/Fields/TimeRange.vue +107 -92
  39. package/free-field/Fields/Year.js +137 -0
  40. package/{field-components → free-field}/Fields/YearRange.vue +63 -73
  41. package/{field-components → free-field}/Fields/index.js +28 -30
  42. package/free-field/composible/fieldWrapper.js +221 -0
  43. package/free-field/composible/freeFieldLabel.js +22 -0
  44. package/free-field/composible/readonlyContent.js +36 -0
  45. package/free-field/composible/useFileSizeUtils.js +52 -0
  46. package/free-field/composible/useFreeField.js +143 -0
  47. package/{field-components → free-field}/index.js +3 -3
  48. package/i18n/en-us/index.js +1 -1
  49. package/i18n/zh-cn/index.js +1 -1
  50. package/index.js +1 -4
  51. package/package.json +2 -2
  52. package/router/error/data.js +4 -1
  53. package/view/dict/index.vue +13 -2
  54. package/view/error/list.vue +22 -14
  55. package/view/menu/index.vue +19 -4
  56. package/view/system/index.vue +15 -2
  57. package/field-components/Fields/AgreementCheck.vue +0 -161
  58. package/field-components/Fields/ApiCall.vue +0 -139
  59. package/field-components/Fields/Category.vue +0 -33
  60. package/field-components/Fields/Check.vue +0 -131
  61. package/field-components/Fields/Customize.vue +0 -103
  62. package/field-components/Fields/Date.vue +0 -142
  63. package/field-components/Fields/DateRange.vue +0 -199
  64. package/field-components/Fields/DynamicList.vue +0 -575
  65. package/field-components/Fields/FieldEditor.vue +0 -379
  66. package/field-components/Fields/File.vue +0 -382
  67. package/field-components/Fields/FileList.vue +0 -405
  68. package/field-components/Fields/FileListCombined.vue +0 -142
  69. package/field-components/Fields/Image.vue +0 -328
  70. package/field-components/Fields/ImageList.vue +0 -285
  71. package/field-components/Fields/ImageListCombined.vue +0 -76
  72. package/field-components/Fields/InputFieldList.vue +0 -299
  73. package/field-components/Fields/Number.vue +0 -247
  74. package/field-components/Fields/Password.vue +0 -79
  75. package/field-components/Fields/Static.vue +0 -22
  76. package/field-components/Fields/String.vue +0 -185
  77. package/field-components/Fields/Text.vue +0 -89
  78. package/field-components/Fields/UltimateFile.vue +0 -100
  79. package/field-components/Fields/Year.vue +0 -124
  80. package/field-components/Fields/components/FieldTypeOptions.vue +0 -248
  81. package/field-components/components/FieldComponents.vue +0 -246
  82. package/free-fields/AutoHide.js +0 -66
  83. package/free-fields/CenterContent.js +0 -15
  84. package/free-fields/Draggable.js +0 -30
  85. package/free-fields/Droppable.js +0 -114
  86. package/free-fields/EditableString.js +0 -63
  87. package/free-fields/FieldCategory.js +0 -83
  88. package/free-fields/FieldTypeSelect.js +0 -94
  89. package/free-fields/fieldEditors/arrayEditor.js +0 -3
  90. package/free-fields/fieldEditors/boolEditor.js +0 -22
  91. package/free-fields/fieldEditors/dateEditor.js +0 -23
  92. package/free-fields/fieldEditors/datetimeEditor.js +0 -23
  93. package/free-fields/fieldEditors/index.js +0 -21
  94. package/free-fields/fieldEditors/jsonEditor.js +0 -371
  95. package/free-fields/fieldEditors/labeledField.js +0 -74
  96. package/free-fields/fieldEditors/numberEditor.js +0 -51
  97. package/free-fields/fieldEditors/objectEditor.js +0 -3
  98. package/free-fields/fieldEditors/selectEditor.js +0 -0
  99. package/free-fields/fieldEditors/stringEditor.js +0 -49
  100. package/free-fields/fieldEditors/textEditor.js +0 -50
  101. package/free-fields/fieldEditors/timeEditor.js +0 -23
  102. package/free-fields/index.js +0 -402
  103. /package/{field-components/Display → free-field/Layout}/index.js +0 -0
  104. /package/{field-components → free-field}/style.sass +0 -0
@@ -1,199 +0,0 @@
1
- <template>
2
- <span class="simple-field input-field-date-range row items-center no-wrap">
3
- <span v-if="Field.ReadOnly">
4
- <span
5
- :class="`field-label field-label-readonly ${(Field.Label && Field.Label.trim().length)
6
- ? '' : 'field-label-empty'} ${Field.Required ? 'required' : ''}`"
7
- v-if="typeof Field.Label !== 'undefined'"
8
- >
9
- <q-tooltip v-if="Field.Description" anchor="top right">{{Field.Description}}</q-tooltip>
10
- {{Field.Label || ''}}
11
- <span v-if="Field.Required" class="required-mark">*</span>
12
- </span>
13
- <span class="readonly-content">{{fieldData}}</span>
14
- </span>
15
- <span v-else class="row items-center no-wrap">
16
- <span v-if="typeof Field.Label !== 'undefined'" class="q-field__before">
17
- <span
18
- :class="`field-label ${(Field.Label && Field.Label.trim().length)
19
- ? '' : 'field-label-empty'} ${Field.Required ? 'required' : ''}`"
20
- >
21
- <q-tooltip v-if="Field.Description" anchor="top right">{{Field.Description}}</q-tooltip>
22
- {{Field.Label || ''}}
23
- <span v-if="Field.Required" class="required-mark">*</span>
24
- </span>
25
- </span>
26
- <q-input
27
- v-model="min"
28
- hide-bottom-space
29
- v-bind="$attrs"
30
- :readonly="Field.ReadOnly"
31
- :ref="`input_field_validator_first`"
32
- >
33
- <q-popup-proxy
34
- v-if="!Field.ReadOnly"
35
- ref="qDateProxy1"
36
- transition-show="scale"
37
- transition-hide="scale"
38
- >
39
- <span class="row">
40
- <q-date
41
- v-model="min"
42
- :options="minDateOptions"
43
- today-btn
44
- :locale="locale"
45
- mask="YYYY-MM-DD"
46
- @input="inputChanged('qDateProxy1')"
47
- />
48
- </span>
49
- </q-popup-proxy>
50
- <template v-slot:append>
51
- <q-icon name="event" class="cursor-pointer"></q-icon>
52
- </template>
53
- </q-input>
54
-
55
- <span class="input-field-range-separator">{{`${Field.Separator || '~'}`}}</span>
56
-
57
- <q-input
58
- v-model="max"
59
- v-bind="$attrs"
60
- hide-bottom-space
61
- :readonly="Field.ReadOnly"
62
- :ref="`input_field_validator_second`"
63
- >
64
- <q-popup-proxy
65
- v-if="!Field.ReadOnly"
66
- ref="qDateProxy2"
67
- transition-show="scale"
68
- transition-hide="scale"
69
- >
70
- <span class="row">
71
- <q-date
72
- v-model="max"
73
- :options="maxDateOptions"
74
- today-btn
75
- :locale="locale"
76
- mask="YYYY-MM-DD"
77
- @input="inputChanged('qDateProxy2')"
78
- />
79
- </span>
80
- </q-popup-proxy>
81
- <template v-slot:append>
82
- <q-icon name="event" class="cursor-pointer"></q-icon>
83
- </template>
84
- </q-input>
85
- </span>
86
-
87
- <slot name="warning"></slot>
88
- </span>
89
- </template>
90
-
91
- <script>
92
- import { defineComponent } from 'vue';
93
- import mixins from 'free-fe-mixins';
94
-
95
- export default defineComponent({
96
- name: 'InputFieldDateRange',
97
- mixins: [mixins.InputFieldMixin],
98
- emits: ['input'],
99
- fieldInfo: {
100
- Category: 'DateTime',
101
- Label: '日期范围',
102
- Value: 'DateRange',
103
- Extra: [
104
- {
105
- Type: 'String',
106
- Label: '最小值',
107
- Name: 'MinValue',
108
- },
109
- {
110
- Type: 'String',
111
- Label: '最大值',
112
- Name: 'MaxValue',
113
- },
114
- {
115
- Type: 'Boolean',
116
- Label: '最大至“现在”',
117
- Name: 'Info.TillNow',
118
- },
119
- {
120
- Type: 'Boolean',
121
- Label: '最小从“现在”',
122
- Name: 'Info.FromNow',
123
- },
124
- ],
125
- Description: '',
126
- },
127
- data() {
128
- return {
129
- min: '',
130
- max: '',
131
- };
132
- },
133
- watch: {
134
- fieldData() {
135
- const yl = (this.fieldData || '').split(this.Field.Separator || '~');
136
- this.min = yl[0] && yl[0].trim();
137
- this.max = yl[1] && yl[1].trim();
138
- },
139
- },
140
- computed: {
141
- locale() {
142
- return this.ctx.config.locales.find(
143
- (l) => l.locale === (this.ctx.config.locale || this.ctx.config.defaultLocale),
144
- ).calendar;
145
- },
146
- minDateOptions() {
147
- // if (this.Field.Options) return this.Field.Options;
148
-
149
- let minDate = '1900/01/01';
150
- let maxDate = '2050/12/31';
151
-
152
- if (this.Field.MinValue) {
153
- minDate = this.Field.MinValue.replace(/-/g, '/');
154
- }
155
-
156
- if (this.Field.TillNow) {
157
- maxDate = new Date().toLocaleDateString();
158
- } else if (this.Field.MaxValue) {
159
- maxDate = this.Field.MaxValue.replace(/-/g, '/');
160
- }
161
-
162
- if (this.max && this.max.replace(/-/g, '/') < maxDate) return (date) => date >= minDate && date < this.max.replace(/-/g, '/');
163
-
164
- return (date) => date >= minDate && date <= maxDate;
165
- },
166
- maxDateOptions() {
167
- // if (this.Field.Options) return this.Field.Options;
168
-
169
- let minDate = '1900/01/01';
170
- let maxDate = '2050/12/31';
171
-
172
- if (this.Field.MinValue) {
173
- minDate = this.Field.MinValue.replace(/-/g, '/');
174
- }
175
-
176
- if (this.Field.TillNow) {
177
- maxDate = new Date().toLocaleDateString();
178
- } else if (this.Field.MaxValue) {
179
- maxDate = this.Field.MaxValue.replace(/-/g, '/');
180
- }
181
-
182
- if (this.min && this.min.replace(/-/g, '/') > minDate) {
183
- return (date) => date > this.min.replace(/-/g, '/') && date <= maxDate;
184
- }
185
-
186
- return (date) => date >= minDate && date <= maxDate;
187
- },
188
- },
189
- methods: {
190
- inputChanged(n) {
191
- if (!n) return;
192
-
193
- this.$refs[n].hide();
194
- this.fieldData = [this.min, this.max].join(this.Field.Separator || '~');
195
- this.$emit('input');
196
- },
197
- },
198
- });
199
- </script>