free-fe-core-modules 0.0.1

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 (112) hide show
  1. package/README.md +7 -0
  2. package/components/.gitkeep +0 -0
  3. package/components/Basic/BreadCrumbs.vue +87 -0
  4. package/components/Basic/EIcon.vue +84 -0
  5. package/components/Basic/LeveledMenus.vue +92 -0
  6. package/components/Basic/SummaryHead.vue +312 -0
  7. package/components/Dialog/BasicDialog.vue +442 -0
  8. package/components/Dialog/index.js +38 -0
  9. package/components/Dialog/index1.js +49 -0
  10. package/components/FloatingWindow/index.vue +140 -0
  11. package/components/SelectLocales/index.vue +47 -0
  12. package/components/SlidingCarousel/index.vue +86 -0
  13. package/components/SlidingNews/index.vue +138 -0
  14. package/components/StickyButtons/index.vue +98 -0
  15. package/components/ThemeSwitch/index.vue +77 -0
  16. package/field-components/Display/index.js +3 -0
  17. package/field-components/Fields/AgreementCheck.vue +161 -0
  18. package/field-components/Fields/ApiCall.vue +139 -0
  19. package/field-components/Fields/Boolean.vue +112 -0
  20. package/field-components/Fields/Category.vue +33 -0
  21. package/field-components/Fields/Check.vue +131 -0
  22. package/field-components/Fields/Customize.vue +103 -0
  23. package/field-components/Fields/Date.vue +142 -0
  24. package/field-components/Fields/DateRange.vue +199 -0
  25. package/field-components/Fields/DynamicList.vue +575 -0
  26. package/field-components/Fields/FieldEditor.vue +379 -0
  27. package/field-components/Fields/File.vue +382 -0
  28. package/field-components/Fields/FileList.vue +405 -0
  29. package/field-components/Fields/FileListCombined.vue +142 -0
  30. package/field-components/Fields/FixedList.vue +372 -0
  31. package/field-components/Fields/Image.vue +328 -0
  32. package/field-components/Fields/ImageList.vue +285 -0
  33. package/field-components/Fields/ImageListCombined.vue +76 -0
  34. package/field-components/Fields/InputFieldList.vue +299 -0
  35. package/field-components/Fields/Labels.vue +182 -0
  36. package/field-components/Fields/MixedTable.vue +367 -0
  37. package/field-components/Fields/Number.vue +247 -0
  38. package/field-components/Fields/Password.vue +79 -0
  39. package/field-components/Fields/Permission.vue +83 -0
  40. package/field-components/Fields/PermissionEditor.vue +205 -0
  41. package/field-components/Fields/QueryFilters.vue +162 -0
  42. package/field-components/Fields/RadioList.vue +81 -0
  43. package/field-components/Fields/Rich.vue +369 -0
  44. package/field-components/Fields/Search.vue +499 -0
  45. package/field-components/Fields/Select.vue +376 -0
  46. package/field-components/Fields/SelectionChain.vue +198 -0
  47. package/field-components/Fields/Separator.vue +26 -0
  48. package/field-components/Fields/SingleList.vue +125 -0
  49. package/field-components/Fields/Static.vue +22 -0
  50. package/field-components/Fields/String.vue +185 -0
  51. package/field-components/Fields/Text.vue +89 -0
  52. package/field-components/Fields/Time.vue +160 -0
  53. package/field-components/Fields/TimeRange.vue +348 -0
  54. package/field-components/Fields/UltimateFile.vue +100 -0
  55. package/field-components/Fields/Year.vue +124 -0
  56. package/field-components/Fields/YearRange.vue +188 -0
  57. package/field-components/Fields/components/FieldTypeOptions.vue +248 -0
  58. package/field-components/Fields/index.js +117 -0
  59. package/field-components/components/FieldComponents.vue +246 -0
  60. package/field-components/index.js +13 -0
  61. package/field-components/style.sass +11 -0
  62. package/free-fields/AutoHide.js +66 -0
  63. package/free-fields/CenterContent.js +15 -0
  64. package/free-fields/Draggable.js +30 -0
  65. package/free-fields/Droppable.js +114 -0
  66. package/free-fields/EditableString.js +63 -0
  67. package/free-fields/FieldCategory.js +83 -0
  68. package/free-fields/FieldTypeSelect.js +94 -0
  69. package/free-fields/fieldEditors/arrayEditor.js +3 -0
  70. package/free-fields/fieldEditors/boolEditor.js +22 -0
  71. package/free-fields/fieldEditors/dateEditor.js +23 -0
  72. package/free-fields/fieldEditors/datetimeEditor.js +23 -0
  73. package/free-fields/fieldEditors/index.js +21 -0
  74. package/free-fields/fieldEditors/jsonEditor.js +371 -0
  75. package/free-fields/fieldEditors/labeledField.js +74 -0
  76. package/free-fields/fieldEditors/numberEditor.js +51 -0
  77. package/free-fields/fieldEditors/objectEditor.js +3 -0
  78. package/free-fields/fieldEditors/selectEditor.js +0 -0
  79. package/free-fields/fieldEditors/stringEditor.js +49 -0
  80. package/free-fields/fieldEditors/textEditor.js +50 -0
  81. package/free-fields/fieldEditors/timeEditor.js +23 -0
  82. package/free-fields/index.js +402 -0
  83. package/i18n/en-us/index.js +73 -0
  84. package/i18n/fields/en-us/index.js +9 -0
  85. package/i18n/fields/zh-cn/index.js +9 -0
  86. package/i18n/zh-cn/index.js +73 -0
  87. package/index.js +367 -0
  88. package/package.json +11 -0
  89. package/router/dict/api.js +18 -0
  90. package/router/dict/data.js +48 -0
  91. package/router/dict/index.js +7 -0
  92. package/router/error/api.js +14 -0
  93. package/router/error/data.js +33 -0
  94. package/router/error/index.js +9 -0
  95. package/router/index.js +13 -0
  96. package/router/menu/api.js +24 -0
  97. package/router/menu/data.js +85 -0
  98. package/router/menu/index.js +7 -0
  99. package/router/system/api.js +10 -0
  100. package/router/system/data.js +46 -0
  101. package/router/system/index.js +7 -0
  102. package/stores/index.js +17 -0
  103. package/stores/module-mourning/actions.js +3 -0
  104. package/stores/module-mourning/getters.js +1 -0
  105. package/stores/module-mourning/index.js +11 -0
  106. package/stores/module-mourning/state.js +3 -0
  107. package/stores/mourning.js +3 -0
  108. package/view/dict/index.vue +284 -0
  109. package/view/error/list.vue +197 -0
  110. package/view/menu/index.vue +332 -0
  111. package/view/mourning/mourning.vue +45 -0
  112. package/view/system/index.vue +149 -0
@@ -0,0 +1,199 @@
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>