meixioacomponent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +19 -0
  2. package/babel.config.js +5 -0
  3. package/lib/demo.html +10 -0
  4. package/lib/meixicomponent.common.js +40065 -0
  5. package/lib/meixicomponent.common.js.map +1 -0
  6. package/lib/meixicomponent.css +1 -0
  7. package/lib/meixicomponent.umd.js +40075 -0
  8. package/lib/meixicomponent.umd.js.map +1 -0
  9. package/lib/meixicomponent.umd.min.js +20 -0
  10. package/lib/meixicomponent.umd.min.js.map +1 -0
  11. package/package.json +37 -0
  12. package/packages/components/base/baseAnchor/baseAnchor.vue +156 -0
  13. package/packages/components/base/baseAnchor/index.js +6 -0
  14. package/packages/components/base/baseAppendix/baseAppendix.vue +78 -0
  15. package/packages/components/base/baseAppendix/index.js +7 -0
  16. package/packages/components/base/baseArea/area.js +14978 -0
  17. package/packages/components/base/baseArea/areaConfig.js +6 -0
  18. package/packages/components/base/baseArea/baseArea.vue +531 -0
  19. package/packages/components/base/baseArea/index.js +7 -0
  20. package/packages/components/base/baseAvatar/baseAvatar.vue +101 -0
  21. package/packages/components/base/baseAvatar/index.js +6 -0
  22. package/packages/components/base/baseButtonHandle/baseButtonHandle.vue +64 -0
  23. package/packages/components/base/baseButtonHandle/index.js +6 -0
  24. package/packages/components/base/baseDefaultSvg/baseDefaultSvg.vue +52 -0
  25. package/packages/components/base/baseDefaultSvg/index.js +7 -0
  26. package/packages/components/base/baseDialog/index.js +7 -0
  27. package/packages/components/base/baseDialog/index.vue +146 -0
  28. package/packages/components/base/baseDialogTable/dialogTable.vue +186 -0
  29. package/packages/components/base/baseDialogTable/index.js +7 -0
  30. package/packages/components/base/baseDrawer/index.js +8 -0
  31. package/packages/components/base/baseDrawer/index.vue +196 -0
  32. package/packages/components/base/baseEdito/baseEdito.vue +202 -0
  33. package/packages/components/base/baseEdito/index.js +6 -0
  34. package/packages/components/base/baseFixedHeader/baseFixedHeader.vue +168 -0
  35. package/packages/components/base/baseFixedHeader/index.js +6 -0
  36. package/packages/components/base/baseIcon/index.js +6 -0
  37. package/packages/components/base/baseIcon/index.vue +146 -0
  38. package/packages/components/base/baseImageViewer/image-viewer.vue +348 -0
  39. package/packages/components/base/baseImageViewer/index.js +7 -0
  40. package/packages/components/base/baseImg/baseImg.vue +160 -0
  41. package/packages/components/base/baseImg/index.js +6 -0
  42. package/packages/components/base/baseInforWrap/baseInforWrap.vue +66 -0
  43. package/packages/components/base/baseInforWrap/index.js +6 -0
  44. package/packages/components/base/baseLineInfoGroup/baseLineInfoGroup.vue +93 -0
  45. package/packages/components/base/baseLineInfoGroup/index.js +6 -0
  46. package/packages/components/base/baseLineInfoItem/baseLineInfoItem.vue +173 -0
  47. package/packages/components/base/baseLineInfoItem/index.js +6 -0
  48. package/packages/components/base/basePageHeader/basePageHeader.vue +55 -0
  49. package/packages/components/base/basePageHeader/index.js +6 -0
  50. package/packages/components/base/basePagination/index.js +6 -0
  51. package/packages/components/base/basePagination/index.vue +75 -0
  52. package/packages/components/base/basePlainTable/basePlainTable.vue +90 -0
  53. package/packages/components/base/basePlainTable/index.js +6 -0
  54. package/packages/components/base/baseSection/baseSection.vue +121 -0
  55. package/packages/components/base/baseSection/index.js +6 -0
  56. package/packages/components/base/baseSkeleton/baseSkeleton.vue +147 -0
  57. package/packages/components/base/baseSkeleton/index.js +6 -0
  58. package/packages/components/base/baseSvg/index.js +7 -0
  59. package/packages/components/base/baseSvg/index.vue +66 -0
  60. package/packages/components/base/baseTimeTypeSelect/base_time_type_select.vue +293 -0
  61. package/packages/components/base/baseTimeTypeSelect/config.js +47 -0
  62. package/packages/components/base/baseTimeTypeSelect/index.js +6 -0
  63. package/packages/components/base/baseToggle/index.js +7 -0
  64. package/packages/components/base/baseToggle/toggle.vue +131 -0
  65. package/packages/components/base/baseUpload/baseUpload.js +6 -0
  66. package/packages/components/base/baseUpload/baseUpload.vue +111 -0
  67. package/packages/components/base/baseUpload/baseUploadItem.js +6 -0
  68. package/packages/components/base/baseUpload/baseUploadItem.vue +205 -0
  69. package/packages/components/base/baseUpload/mixins.js +46 -0
  70. package/packages/components/base/brieflyItem.vue +198 -0
  71. package/packages/components/base/upload/index.js +6 -0
  72. package/packages/components/base/upload/upload.vue +245 -0
  73. package/packages/components/base/upload/uploadItem.vue +157 -0
  74. package/packages/components/dynamicmount/DynamicMount.js +55 -0
  75. package/packages/components/dynamicmount/dynamicMount.vue +95 -0
  76. package/packages/components/dynamicmount/index.js +46 -0
  77. package/packages/components/index.js +114 -0
  78. package/packages/components/proForm/dialogForm/baseDialogForm.vue +163 -0
  79. package/packages/components/proForm/dialogForm/dialogFormIndex.js +6 -0
  80. package/packages/components/proForm/proForm/index.js +6 -0
  81. package/packages/components/proForm/proForm/pro_form.vue +279 -0
  82. package/packages/components/proForm/proForm/pro_form_item.vue +459 -0
  83. package/packages/components/proForm/proFormWrap/index.js +6 -0
  84. package/packages/components/proForm/proFormWrap/pro_form_wrap.vue +83 -0
  85. package/packages/components/proPageTable/index.js +6 -0
  86. package/packages/components/proPageTable/oa_pro-table-search.vue +190 -0
  87. package/packages/components/proPageTable/oa_pro_colum_config.vue +219 -0
  88. package/packages/components/proPageTable/oa_pro_footer.vue +104 -0
  89. package/packages/components/proPageTable/oa_pro_header.vue +31 -0
  90. package/packages/components/proPageTable/oa_pro_screen.vue +81 -0
  91. package/packages/components/proPageTable/oa_pro_screen_item.vue +174 -0
  92. package/packages/components/proPageTable/oa_pro_table-header.vue +150 -0
  93. package/packages/components/proPageTable/oa_pro_table.vue +804 -0
  94. package/packages/components/proPageTable/oa_pro_table_skeleton.vue +33 -0
  95. package/packages/components/searchHeader/searchHeader.vue +118 -0
  96. package/packages/config/selectStore/SelectStore.js +24 -0
  97. package/packages/config/selectStore/UseSelectStoreClass.js +27 -0
  98. package/packages/config/selectStore/testSelectStore.js +40 -0
  99. package/packages/config/uploadRequest.js +66 -0
  100. package/packages/config/use/UseImg.js +39 -0
  101. package/packages/config/use/UseSelectStore.js +2 -0
  102. package/packages/config/use/UseUpload.js +47 -0
  103. package/packages/config/use/useFixedHeader.js +36 -0
  104. package/packages/utils/upload.js +35 -0
  105. package/packages/utils/uploadRequest.js +66 -0
  106. package/packages/utils/utils.js +186 -0
  107. package/public/favicon.ico +0 -0
  108. package/public/img/icons/android-chrome-192x192.png +0 -0
  109. package/public/img/icons/android-chrome-512x512.png +0 -0
  110. package/public/img/icons/android-chrome-maskable-192x192.png +0 -0
  111. package/public/img/icons/android-chrome-maskable-512x512.png +0 -0
  112. package/public/img/icons/apple-touch-icon-120x120.png +0 -0
  113. package/public/img/icons/apple-touch-icon-152x152.png +0 -0
  114. package/public/img/icons/apple-touch-icon-180x180.png +0 -0
  115. package/public/img/icons/apple-touch-icon-60x60.png +0 -0
  116. package/public/img/icons/apple-touch-icon-76x76.png +0 -0
  117. package/public/img/icons/apple-touch-icon.png +0 -0
  118. package/public/img/icons/favicon-16x16.png +0 -0
  119. package/public/img/icons/favicon-32x32.png +0 -0
  120. package/public/img/icons/msapplication-icon-144x144.png +0 -0
  121. package/public/img/icons/mstile-150x150.png +0 -0
  122. package/public/img/icons/safari-pinned-tab.svg +3 -0
  123. package/public/index.html +17 -0
  124. package/public/robots.txt +2 -0
  125. package/src/assets/logo.png +0 -0
  126. package/src/main.js +9 -0
  127. package/src/router/index.js +29 -0
  128. package/src/store/index.js +15 -0
@@ -0,0 +1,279 @@
1
+ <template>
2
+ <div class="pro_form_content" ref="proFormWrap">
3
+ <el-form
4
+ ref="form"
5
+ :rules="rules"
6
+ :model="formdata"
7
+ :label-width="labelWidth"
8
+ :label-position="labelPosition"
9
+ >
10
+ <div
11
+ :key="index"
12
+ class="form-line-box"
13
+ v-for="(item, index) in formLineList"
14
+ >
15
+ <el-form-item
16
+ :key="cindex"
17
+ :prop="citem.key"
18
+ :label="citem.label"
19
+ v-for="(citem, cindex) in item"
20
+ :class="[`chunk-${chunkLength}`, `${flexClass}`]"
21
+ >
22
+ <span slot="label" class="item-label">{{ citem.label }}</span>
23
+ <pro_form_itemVue
24
+ :config="citem"
25
+ :form="form"
26
+ v-if="formType == 'default' && citem.type != 'area'"
27
+ @formItemConfirm="formItemConfirm"
28
+ v-model="formdata[`${citem.key}`]"
29
+ >
30
+ <template slot="template" v-if="citem.type == 'template'">
31
+ <slot :name="`form-${citem.key}`" :scope="formdata"></slot>
32
+ </template>
33
+ </pro_form_itemVue>
34
+ <baseAreaVue
35
+ :disable="citem.disabled"
36
+ v-model="formdata[`${citem.key}`]"
37
+ v-if="citem.type == 'area'"
38
+ ></baseAreaVue>
39
+ <baseUploadVue
40
+ :max="formConfig.max"
41
+ v-if="formType == `upload`"
42
+ v-model="formdata[`${citem.key}`]"
43
+ ></baseUploadVue>
44
+ </el-form-item>
45
+ </div>
46
+
47
+ <baseButtonHandleVue
48
+ v-if="footer"
49
+ :align="`end`"
50
+ :size="`mini`"
51
+ class="form-footer"
52
+ :config="handleConfig"
53
+ ></baseButtonHandleVue>
54
+ </el-form>
55
+ </div>
56
+ </template>
57
+
58
+ <script>
59
+ import pro_form_itemVue from "./pro_form_item.vue";
60
+ import baseAreaVue from "../../base/baseArea/baseArea.vue";
61
+ import baseUploadVue from "../../base/baseUpload/baseUpload.vue";
62
+ import baseButtonHandleVue from "../../base/baseButtonHandle/baseButtonHandle.vue";
63
+ //
64
+ import { ArrayChunk } from "../../../utils/utils";
65
+ export default {
66
+ name: "baseForm",
67
+ data() {
68
+ return {
69
+ formdata: {},
70
+ handleConfig: [],
71
+ formLineList: [],
72
+ chunkLength: null,
73
+ };
74
+ },
75
+ created() {},
76
+ mounted() {
77
+ this.$nextTick(() => {
78
+ this.init();
79
+ this.setFormData();
80
+ this.setFormLineList();
81
+ });
82
+ },
83
+ props: {
84
+ rules: {
85
+ type: Object,
86
+ },
87
+ labelPosition: {
88
+ type: String,
89
+ default: `right`,
90
+ },
91
+ formList: {
92
+ type: Array,
93
+ require: true,
94
+ },
95
+
96
+ form: {
97
+ type: Boolean,
98
+ default: true,
99
+ },
100
+
101
+ labelWidth: {
102
+ type: String,
103
+ default: "100px",
104
+ },
105
+
106
+ footer: {
107
+ type: Boolean,
108
+ default: true,
109
+ },
110
+
111
+ formType: {
112
+ type: String,
113
+ default: "default",
114
+ },
115
+
116
+ formConfig: {
117
+ type: Object,
118
+ require: true,
119
+ },
120
+ },
121
+ components: {
122
+ baseAreaVue,
123
+ baseUploadVue,
124
+ pro_form_itemVue,
125
+ baseButtonHandleVue,
126
+ },
127
+ computed: {
128
+ flexClass() {
129
+ let labelPosition = this.$props.labelPosition;
130
+ if (labelPosition == "top") {
131
+ return "flex-column";
132
+ } else {
133
+ return "flex-row";
134
+ }
135
+ },
136
+ },
137
+ methods: {
138
+ init() {
139
+ if (this.$props.form) {
140
+ this.handleConfig = [
141
+ {
142
+ text: "取消",
143
+ type: "info",
144
+ plain: true,
145
+ click: () => {
146
+ this.onCancel();
147
+ },
148
+ },
149
+ {
150
+ text: "确定",
151
+ type: "primary",
152
+ plain: false,
153
+ click: () => {
154
+ this.onSubmit();
155
+ },
156
+ },
157
+ ];
158
+ }
159
+
160
+ let width = this.$refs.proFormWrap.clientWidth;
161
+ if (this.$props.formType != "default") {
162
+ this.chunkLength = 1;
163
+ return;
164
+ }
165
+ if (width < 1240) {
166
+ this.chunkLength = 2;
167
+ return;
168
+ }
169
+
170
+ this.chunkLength = 3;
171
+ },
172
+ formItemConfirm(params) {
173
+ // element 验证单条表单修改
174
+ const rulesItem = this.$props.rules[params.config.key];
175
+ if (rulesItem) {
176
+ this.$refs.form.validateField([`${params.config.key}`], (errorMsg) => {
177
+ console.log(errorMsg);
178
+ if (!errorMsg) {
179
+ params.this.handleConfirm();
180
+ this.$emit("formItemConfirm", params.config);
181
+ }
182
+ });
183
+ } else {
184
+ params.this.handleConfirm();
185
+ this.$emit("formItemConfirm", params.config);
186
+ }
187
+ },
188
+ setFormData() {
189
+ this.formdata = {};
190
+ this.$props.formList.forEach((item) => {
191
+ this.$set(this.formdata, `${item.key}`, item.value);
192
+ });
193
+ },
194
+ setFormLineList() {
195
+ this.formLineList = ArrayChunk(this.$props.formList, this.chunkLength);
196
+ console.log(this.formLineList);
197
+ },
198
+ // 返回form表单值
199
+ returnFormValue() {
200
+ return this.formdata;
201
+ },
202
+ // 重置表单的值
203
+ reset() {
204
+ this.$refs.form.resetFields();
205
+ },
206
+
207
+ checkValidate() {
208
+ return new Promise((resolve, reject) => {
209
+ this.$refs.form.validate((validate) => {
210
+ resolve(validate);
211
+ });
212
+ });
213
+ },
214
+
215
+ async onSubmit() {
216
+ if (this.$props.rules) {
217
+ let validate = await this.checkValidate();
218
+ if (validate) {
219
+ this.$emit("formSubmit", true);
220
+ } else {
221
+ this.$emit("formSubmit", false);
222
+ }
223
+ } else {
224
+ this.$emit("formSubmit", true);
225
+ }
226
+ },
227
+ // 取消按钮
228
+ onCancel() {
229
+ this.$emit("onCancel");
230
+ },
231
+ },
232
+ };
233
+ </script>
234
+
235
+ <style lang="less" scoped>
236
+ .pro_form_content {
237
+ width: 100%;
238
+ height: auto;
239
+ .form-line-box {
240
+ height: auto;
241
+ display: flex;
242
+ flex-flow: row nowrap;
243
+ .item-label {
244
+ font-size: var(--font-size-base);
245
+ color: var(--form-label-color) !important;
246
+ }
247
+ }
248
+ /deep/ .el-form-item__content {
249
+ width: 100% !important;
250
+ box-sizing: border-box;
251
+ padding-right: var(--padding-5);
252
+ margin-left: 0px !important;
253
+ }
254
+ .chunk-1 {
255
+ width: 100%;
256
+ }
257
+ .chunk-2 {
258
+ width: 50%;
259
+ }
260
+ .chunk-3 {
261
+ width: 33%;
262
+ }
263
+ .flex-row {
264
+ display: flex;
265
+ align-items: center;
266
+ flex-flow: row nowrap;
267
+ justify-content: flex-start;
268
+ }
269
+ .flex-column {
270
+ display: flex;
271
+ flex-flow: column nowrap;
272
+ justify-content: center;
273
+ align-items: flex-start;
274
+ }
275
+ .form-footer {
276
+ margin-top: var(--margin-5);
277
+ }
278
+ }
279
+ </style>