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,202 @@
1
+ <template>
2
+ <div class="base-edito-wrap">
3
+ <div class="no-launch" v-show="!launch" @click="launch = true">
4
+ <span>{{ spanValue }}</span>
5
+ </div>
6
+ <div class="launch" v-show="launch">
7
+ <div class="edito-title-wrap">
8
+ <slot name="edito-title-slot"></slot>
9
+ </div>
10
+ <div class="edito-content-wrap">
11
+ <el-input
12
+ type="textarea"
13
+ v-model="textValue"
14
+ :autosize="{ minRows: 4, maxRows: 22 }"
15
+ placeholder="请输入内容"
16
+ >
17
+ </el-input>
18
+ <baseUploadVue
19
+ ref="baseUpload"
20
+ v-model="imgList"
21
+ v-show="imgList.length > 0"
22
+ ></baseUploadVue>
23
+ <baseAppendixVue
24
+ :key="appendixKey"
25
+ ref="baseAppendix"
26
+ v-model="appendix"
27
+ v-show="appendix.length > 0"
28
+ style="margin-top: calc(var(--margin-5) * 2)"
29
+ ></baseAppendixVue>
30
+ </div>
31
+ <div class="base-edito-handle" v-if="useUpload">
32
+ <base-icon
33
+ :size="`m`"
34
+ :color="`d`"
35
+ :event="true"
36
+ :title="`图片`"
37
+ @iconClick="addImg"
38
+ :name="`icon-tupian_huaban`"
39
+ ></base-icon>
40
+ <base-icon
41
+ :size="`m`"
42
+ :color="`d`"
43
+ :event="true"
44
+ :title="`附件`"
45
+ @iconClick="addAppendix"
46
+ :name="`icon-weibiaoti--`"
47
+ ></base-icon>
48
+ </div>
49
+ <baseUploadItemVue
50
+ v-model="appendix"
51
+ ref="baseUploadItem"
52
+ style="display: none"
53
+ :uploadType="`multiple`"
54
+ @uploadEd="uploadEd"
55
+ ></baseUploadItemVue>
56
+ <baseButtonHandle
57
+ :config="handleConfig"
58
+ style="margin-top: var(--margin-5)"
59
+ ></baseButtonHandle>
60
+ </div>
61
+ </div>
62
+ </template>
63
+
64
+ <script>
65
+ import baseUploadVue from "../baseUpload/baseUpload.vue";
66
+ import baseAppendixVue from "../baseAppendix/baseAppendix.vue";
67
+ import baseUploadItemVue from "../baseUpload/baseUploadItem.vue";
68
+ import baseButtonHandle from "../baseButtonHandle/baseButtonHandle.vue";
69
+ //
70
+
71
+ export default {
72
+ name: "baseEdito",
73
+ data() {
74
+ return {
75
+ appendixKey: 0,
76
+ // 上传图片的数组
77
+ imgList: [],
78
+ // 附件的数组
79
+ appendix: [],
80
+ // 是否展开
81
+ launch: false,
82
+ // 文字内容
83
+ textValue: "",
84
+ // 底部按钮的配置
85
+ handleConfig: [],
86
+ };
87
+ },
88
+ created() {
89
+ this.handleConfig = [
90
+ {
91
+ text: "确定",
92
+ type: "primary",
93
+ plain: false,
94
+ click: () => {
95
+ this.confirm();
96
+ },
97
+ },
98
+ {
99
+ text: "取消",
100
+ type: "info",
101
+ plain: false,
102
+ click: () => {
103
+ this.launch = false;
104
+ },
105
+ },
106
+ ];
107
+ },
108
+ props: {
109
+ useUpload: {
110
+ type: Boolean,
111
+ default: true,
112
+ },
113
+ },
114
+ computed: {
115
+ spanValue() {
116
+ return this.textValue ? this.textValue : "点击输入文字内容";
117
+ },
118
+ },
119
+ components: {
120
+ baseUploadVue,
121
+ baseAppendixVue,
122
+ baseButtonHandle,
123
+ baseUploadItemVue,
124
+ },
125
+ methods: {
126
+ addImg() {
127
+ this.$refs.baseUpload.$refs.itemUpload.clickFile();
128
+ },
129
+ addAppendix() {
130
+ this.$refs.baseUploadItem.clickFile();
131
+ },
132
+
133
+ confirm() {
134
+ let obj = {
135
+ textValue: this.textValue,
136
+ imgList: this.imgList
137
+ .filter((item) => {
138
+ return item.process == 100;
139
+ })
140
+ .map((item) => {
141
+ return item.url;
142
+ }),
143
+ appendix: this.appendix
144
+ .filter((item) => {
145
+ return item.process == 100;
146
+ })
147
+ .map((item) => {
148
+ return item.url;
149
+ }),
150
+ };
151
+
152
+ console.log(obj);
153
+ this.$emit("editoConfirm", obj);
154
+ },
155
+ uploadEd(list) {
156
+ this.appendix = list;
157
+ },
158
+ },
159
+ watch: {},
160
+ };
161
+ </script>
162
+
163
+ <style lang="less" scoped>
164
+ .base-edito-wrap {
165
+ width: 100%;
166
+ height: auto;
167
+ margin: var(--margin-5) 0px;
168
+ background: var(--color-gray-s);
169
+ border: 2px solid var(--color-border);
170
+ padding: var(--padding-5) calc(var(--padding-5) * 2);
171
+ .no-launch {
172
+ width: 100%;
173
+ height: auto;
174
+ cursor: pointer;
175
+ padding: calc(var(--padding-5) * 2) 0px;
176
+ span {
177
+ color: var(--font-color-s);
178
+ font-size: var(--font-base-s);
179
+ }
180
+ }
181
+ .edito-title-wrap {
182
+ width: 100%;
183
+ }
184
+ .edito-content-wrap {
185
+ width: 100%;
186
+ height: auto;
187
+ padding: var(--padding-5) 0px;
188
+ }
189
+ /deep/ textarea {
190
+ resize: none !important;
191
+ font-weight: var(--font-weight-g);
192
+ color: var(--font-color-d) !important;
193
+ }
194
+ .base-edito-handle {
195
+ display: flex;
196
+ align-items: center;
197
+ /deep/ i {
198
+ font-weight: var(--font-weight-kg);
199
+ }
200
+ }
201
+ }
202
+ </style>
@@ -0,0 +1,6 @@
1
+ import baseEdito from "./baseEdito.vue";
2
+
3
+ baseEdito.install = function (Vue) {
4
+ Vue.component(baseEdito.name, baseEdito);
5
+ };
6
+ export default baseEdito;
@@ -0,0 +1,168 @@
1
+ <template>
2
+ <div class="base-fixed-header-wrap" :class="[`header-${currentNews.type}`]">
3
+ <div class="fixed-header-content">
4
+ <span class="header-text">{{ currentNews.content }}</span>
5
+
6
+ <div class="content-handle-wrap" v-if="showHandle">
7
+ <base-icon
8
+ :size="`s`"
9
+ :event="true"
10
+ :plain="true"
11
+ :disable="upDisable"
12
+ :color="`text-white`"
13
+ :name="`icon-shouqi`"
14
+ @iconClick="upNews"
15
+ >
16
+ </base-icon>
17
+ <base-icon
18
+ :size="`s`"
19
+ :event="true"
20
+ :plain="true"
21
+ :color="`text-white`"
22
+ :name="`icon-xiala`"
23
+ :disable="downDisable"
24
+ @iconClick="downNews"
25
+ >
26
+ </base-icon>
27
+ </div>
28
+ <el-button
29
+ size="mini"
30
+ @click="newsConfirm"
31
+ :type="currentNews.type"
32
+ v-if="currentNews.event"
33
+ >确定</el-button
34
+ >
35
+ </div>
36
+
37
+ <base-icon
38
+ :size="`s`"
39
+ :event="true"
40
+ :title="`关闭`"
41
+ :color="`text-white`"
42
+ :name="`icon-close`"
43
+ class="header-close-icon"
44
+ @iconClick="closeHeader"
45
+ >
46
+ </base-icon>
47
+ </div>
48
+ </template>
49
+
50
+ <script>
51
+ export default {
52
+ name: "baseFixedHeader",
53
+ data() {
54
+ return {
55
+ index: 0,
56
+ };
57
+ },
58
+ props: {
59
+ newsList: {
60
+ type: Array,
61
+ default: () => [],
62
+ },
63
+ },
64
+ computed: {
65
+ currentNews() {
66
+ return this.$props.newsList[this.index];
67
+ },
68
+
69
+ showHandle() {
70
+ return this.$props.newsList.length > 1;
71
+ },
72
+
73
+ upDisable() {
74
+ return this.index == 0;
75
+ },
76
+ downDisable() {
77
+ return this.$props.newsList.length - 1 == this.index;
78
+ },
79
+ },
80
+ methods: {
81
+ closeHeader() {
82
+ this.deleteNews();
83
+ },
84
+ setNewIndex() {
85
+ this.index = this.$props.newsList.length - 1;
86
+ },
87
+ upNews() {
88
+ this.index -= 1;
89
+ },
90
+ downNews() {
91
+ this.index += 1;
92
+ },
93
+ newsConfirm() {
94
+ this.currentNews.event(this.deleteNews);
95
+ },
96
+
97
+ deleteNews() {
98
+ if (this.index != 0) {
99
+ this.$props.newsList.splice(this.index, 1);
100
+ this.upNews();
101
+ } else {
102
+ this.$destroy();
103
+ }
104
+ },
105
+
106
+ returnIndex() {
107
+ return this.index;
108
+ },
109
+ },
110
+ };
111
+ </script>
112
+
113
+ <style lang="less" scoped>
114
+ .base-fixed-header-wrap {
115
+ top: 0px;
116
+ left: 0px;
117
+ width: 100%;
118
+ height: 40px;
119
+ z-index: 99999;
120
+ position: fixed;
121
+ background: white;
122
+ padding: var(--padding-5);
123
+ box-shadow: var(--shadow-fixed);
124
+ display: flex;
125
+ align-items: center;
126
+ flex-flow: row nowrap;
127
+ justify-content: center;
128
+ transition: all 0.7s ease-in;
129
+ .fixed-header-content {
130
+ display: flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ .header-text {
134
+ font-size: var(--font-size-base);
135
+ }
136
+ .content-handle-wrap {
137
+ display: flex;
138
+ flex-flow: column;
139
+ align-items: center;
140
+ justify-items: center;
141
+ margin: 0px calc(var(--margin-5) * 4);
142
+ .plain + .plain {
143
+ margin: 0px;
144
+ }
145
+ }
146
+ }
147
+ .header-close-icon {
148
+ position: absolute;
149
+ top: 50%;
150
+ right: var(--padding-5);
151
+ transform: translateY(-50%);
152
+ }
153
+ }
154
+ .header-primary {
155
+ background: var(--color-primary);
156
+ }
157
+ .header-danger {
158
+ background: var(--color-error);
159
+ }
160
+ .header-primary,
161
+ .header-danger {
162
+ .fixed-header-content {
163
+ .header-text {
164
+ color: var(--text-white);
165
+ }
166
+ }
167
+ }
168
+ </style>
@@ -0,0 +1,6 @@
1
+ import baseFixedHeader from "./baseFixedHeader.vue";
2
+
3
+ baseFixedHeader.install = function (Vue) {
4
+ Vue.component(baseFixedHeader.name, baseFixedHeader);
5
+ };
6
+ export default baseFixedHeader;
@@ -0,0 +1,6 @@
1
+ import baseIcon from "./index.vue";
2
+
3
+ baseIcon.install = function (Vue) {
4
+ Vue.component(baseIcon.name, baseIcon);
5
+ };
6
+ export default baseIcon;
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <div
3
+ class="base-icon-wrap"
4
+ :title="title"
5
+ @click.stop="iconClick"
6
+ :class="{ event: event && !disable, plain: plain, disable: disable }"
7
+ >
8
+ <i
9
+ :class="`iconfont ${name}`"
10
+ :style="{ color: _color, fontSize: _size }"
11
+ ></i>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ export default {
17
+ name: "baseIcon",
18
+ data() {
19
+ return {};
20
+ },
21
+
22
+ props: {
23
+ event: {
24
+ type: Boolean,
25
+ default: false,
26
+ },
27
+ name: {
28
+ type: String,
29
+ require: true,
30
+ },
31
+ color: {
32
+ default: "d",
33
+ type: String,
34
+ },
35
+ size: {
36
+ default: "d",
37
+ type: String,
38
+ },
39
+ active: {
40
+ type: Boolean,
41
+ default: false,
42
+ },
43
+ title: {
44
+ type: String,
45
+ },
46
+ plain: {
47
+ type: Boolean,
48
+ default: false,
49
+ },
50
+ disable: {
51
+ type: Boolean,
52
+ default: false,
53
+ },
54
+ },
55
+ computed: {
56
+ _color() {
57
+ let color = null;
58
+ if (this.$props.active) {
59
+ color = `var(--color-primary)`;
60
+ return color;
61
+ }
62
+ let propsColor = this.$props.color;
63
+ switch (propsColor) {
64
+ case "d":
65
+ color = `var(--icon-color-d)`;
66
+ break;
67
+ case "m":
68
+ color = `var(--icon-color-m)`;
69
+ break;
70
+ case "s":
71
+ color = `var(--icon-color-s)`;
72
+ break;
73
+ default:
74
+ color = `var(--${propsColor})`;
75
+ break;
76
+ }
77
+ return color;
78
+ },
79
+ _size() {
80
+ let size = null;
81
+ switch (this.$props.size) {
82
+ case "s":
83
+ size = `var(--icon-size-s)`;
84
+ break;
85
+ case "d":
86
+ size = `var(--icon-size-base)`;
87
+ break;
88
+ case "l":
89
+ size = `var(--icon-size-l)`;
90
+ break;
91
+
92
+ default:
93
+ break;
94
+ }
95
+ return size;
96
+ },
97
+ },
98
+ methods: {
99
+ iconClick() {
100
+ if (this.$props.event) {
101
+ this.$emit("iconClick");
102
+ }
103
+ },
104
+ },
105
+ };
106
+ </script>
107
+
108
+ <style lang="less" scoped>
109
+ .base-icon-wrap {
110
+ width: 32px;
111
+ height: 32px;
112
+ display: flex;
113
+ cursor: default;
114
+ align-items: center;
115
+ background: inherit;
116
+ flex-flow: row nowrap;
117
+ justify-content: center;
118
+ border-radius: var(--radius);
119
+ i {
120
+ font-size: var(--icon-default);
121
+ }
122
+ }
123
+ .event {
124
+ cursor: pointer;
125
+ transition: all 0.3s var(--ease-out);
126
+ &:hover {
127
+ background: var(--hover-gray);
128
+ i {
129
+ color: var(--color-primary) !important;
130
+ }
131
+ }
132
+ }
133
+ .plain {
134
+ width: auto;
135
+ height: auto;
136
+ }
137
+ .disable {
138
+ cursor: not-allowed;
139
+ i {
140
+ color: var(--color-gray-d) !important;
141
+ }
142
+ }
143
+ .plain + .plain {
144
+ margin-left: var(--margin-4);
145
+ }
146
+ </style>