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
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "meixioacomponent",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "author": "YuRi",
6
+ "main": "lib/meixioacomponent.umd.min.js",
7
+ "scripts": {
8
+ "serve": "vue-cli-service serve",
9
+ "lib": "vue-cli-service build --target lib --name meixicomponent --dest lib packages/components/index.js"
10
+ },
11
+ "dependencies": {
12
+ "axios": "^0.27.2",
13
+ "core-js": "^3.6.5",
14
+ "dayjs": "^1.11.3",
15
+ "element-ui": "^2.15.9",
16
+ "register-service-worker": "^1.7.1",
17
+ "vue": "^2.6.11",
18
+ "vue-router": "^3.2.0",
19
+ "vuedraggable": "^2.24.3",
20
+ "vuex": "^3.4.0"
21
+ },
22
+ "devDependencies": {
23
+ "@vue/cli-plugin-babel": "~4.5.13",
24
+ "@vue/cli-plugin-pwa": "~4.5.13",
25
+ "@vue/cli-plugin-router": "~4.5.13",
26
+ "@vue/cli-plugin-vuex": "~4.5.13",
27
+ "@vue/cli-service": "~4.5.13",
28
+ "less": "^3.0.4",
29
+ "less-loader": "^5.0.0",
30
+ "vue-template-compiler": "^2.6.11"
31
+ },
32
+ "browserslist": [
33
+ "> 1%",
34
+ "last 2 versions",
35
+ "not dead"
36
+ ]
37
+ }
@@ -0,0 +1,156 @@
1
+ <template>
2
+ <ol class="base-anchor-wrap">
3
+ <li
4
+ class="anchor-item-wrap"
5
+ :class="{
6
+ active: index == active,
7
+ }"
8
+ :key="index"
9
+ v-for="(item, index) in list"
10
+ >
11
+ <a
12
+ v-if="type == 'page'"
13
+ :href="`${currentPath}#${item.id}`"
14
+ @click="aTagClick(index)"
15
+ >{{ item.title }}</a
16
+ >
17
+ <span @click="toSetScrollTop(index)" v-else> {{ item.title }} </span>
18
+ </li>
19
+ </ol>
20
+ </template>
21
+
22
+ <script>
23
+ export default {
24
+ name: "baseAnchor",
25
+ data() {
26
+ return {
27
+ active: 0,
28
+ _listenElement: null,
29
+ };
30
+ },
31
+ mounted() {
32
+ this.$nextTick(() => {
33
+ this.init();
34
+ });
35
+ },
36
+
37
+ beforeDestroy() {
38
+ this._listenElement?.removeEventListener("scroll", this.listenScroll);
39
+ },
40
+
41
+ props: {
42
+ listenElementId: {
43
+ //只接受id
44
+ type: String,
45
+ },
46
+ list: {
47
+ type: Array,
48
+ },
49
+ type: {
50
+ type: String,
51
+ default: "page",
52
+ },
53
+ },
54
+ computed: {
55
+ currentPath() {
56
+ return this.$route.path;
57
+ },
58
+ },
59
+ methods: {
60
+ init() {
61
+ let type = this.$props.type;
62
+ if (type == "page") {
63
+ this._listenElement =
64
+ document.getElementsByClassName("layout-contnet")[0];
65
+ this._listenElement?.addEventListener("scroll", this.listenScroll);
66
+ } else {
67
+ this._listenElement = document.getElementById(
68
+ `${this.$props.listenElementId}`
69
+ );
70
+ this._listenElement?.addEventListener("scroll", this.listenScroll);
71
+ }
72
+ },
73
+ aTagClick(index) {
74
+ this.active = index;
75
+ },
76
+ listenScroll(e) {
77
+ if (this.$props.list.length <= 0) return;
78
+ let type = this.$props.type;
79
+ let scrollTop = e.target.scrollTop;
80
+ for (let i = 0; i < this.$props.list.length; i++) {
81
+ let item = this.$props.list[i];
82
+ let node = null;
83
+ // 类型
84
+ if (type == "page") {
85
+ // page 代表是全局 监听 layout 的滚动
86
+ node = document.getElementById(item.id);
87
+ } else {
88
+ // 指定的容器
89
+ node = this._listenElement.querySelector(`#${item.id}`);
90
+ }
91
+ // 滑动到底部直接赋值
92
+ if (scrollTop + e.target.clientHeight >= e.target.scrollHeight - 5) {
93
+ this.active = this.$props.list.length - 1;
94
+ break;
95
+ }
96
+ // 如果循环到最后一个dom也直接赋值
97
+ if (i == this.$props.list.length - 1) {
98
+ this.active = i;
99
+ break;
100
+ } else {
101
+ let nextItem = this.$props.list[i + 1];
102
+ let nextNode = null;
103
+ if (type == "page") {
104
+ nextNode = document.getElementById(nextItem.id);
105
+ } else {
106
+ nextNode = this._listenElement.querySelector(`#${nextItem.id}`);
107
+ }
108
+ // 判单scrolltop是否小于下一个dom的高度
109
+ if (scrollTop < nextNode.offsetTop) {
110
+ this.active = i;
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ },
116
+ toSetScrollTop(index) {
117
+ if (index == this.active) {
118
+ return;
119
+ }
120
+ let id = this.$props.list[index].id;
121
+ let dom = this._listenElement.querySelector(`#${id}`);
122
+ if (dom) {
123
+ this._listenElement.scrollTop = dom.offsetTop + 10;
124
+ this.aTagClick(index);
125
+ }
126
+ },
127
+ },
128
+ };
129
+ </script>
130
+
131
+ <style lang="less" scoped>
132
+ .base-anchor-wrap {
133
+ width: auto;
134
+ height: auto;
135
+ overflow-y: auto;
136
+ .anchor-item-wrap {
137
+ padding-left: calc(var(--padding-4) * 2);
138
+ border-left: 2px solid var(--color-border);
139
+ a,
140
+ span {
141
+ display: inline-block;
142
+ color: var(--font-color-m);
143
+ margin: var(--margin-2) 0px;
144
+ font-size: var(--font-size-base);
145
+ }
146
+ span {
147
+ cursor: pointer;
148
+ }
149
+ }
150
+
151
+ .active {
152
+ border-left: 2px solid var(--color-primary);
153
+ color: var(--color-primary) !important;
154
+ }
155
+ }
156
+ </style>
@@ -0,0 +1,6 @@
1
+ import baseAnchor from "./baseAnchor.vue";
2
+
3
+ baseAnchor.install = function (Vue) {
4
+ Vue.component(baseAnchor.name, baseAnchor);
5
+ };
6
+ export default baseAnchor;
@@ -0,0 +1,78 @@
1
+ <template>
2
+ <div class="base-appendix-wrap">
3
+ <div class="appendix-title">
4
+ <base-icon
5
+ :name="`icon-weibiaoti--`"
6
+ :color="`d`"
7
+ :size="`l`"
8
+ ></base-icon>
9
+ <span>附件</span>
10
+ </div>
11
+
12
+ <div class="appendix-content">
13
+ <uploadItemVue
14
+ :key="index"
15
+ :item="item"
16
+ :type="`appendix`"
17
+ v-for="(item, index) in module"
18
+ @deleteAppendixItem="deleteAppendixItem(index)"
19
+ ></uploadItemVue>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import uploadItemVue from "../upload/uploadItem.vue";
26
+ export default {
27
+ name: "baseAppendix",
28
+ data() {
29
+ return {};
30
+ },
31
+
32
+ props: {
33
+ value: {
34
+ type: Array,
35
+ require: true,
36
+ },
37
+ },
38
+ computed: {
39
+ module: {
40
+ set(val) {
41
+ this.$emit("input", val);
42
+ },
43
+ get() {
44
+ return this.$props.value;
45
+ },
46
+ },
47
+ },
48
+ components: {
49
+ uploadItemVue,
50
+ },
51
+ methods: {
52
+ deleteAppendixItem(index) {
53
+ this.module.splice(index, 1);
54
+ },
55
+ },
56
+ };
57
+ </script>
58
+
59
+ <style lang="less" scoped>
60
+ .base-appendix-wrap {
61
+ width: 100%;
62
+ height: auto;
63
+ padding: var(--padding-5);
64
+ border-radius: calc(var(--radius) * 2);
65
+ border: 1px dashed var(--color-border-d);
66
+ .appendix-title {
67
+ width: auto;
68
+ display: flex;
69
+ align-items: center;
70
+ margin-bottom: var(--margin-5);
71
+ span {
72
+ color: var(--font-color-d);
73
+ font-size: var(--font-size-base);
74
+ font-weight: var(--font-weight-kg);
75
+ }
76
+ }
77
+ }
78
+ </style>
@@ -0,0 +1,7 @@
1
+ import baseAppendix from "./baseAppendix.vue";
2
+
3
+ baseAppendix.install = function (Vue) {
4
+ Vue.component(baseAppendix.name, baseAppendix);
5
+ };
6
+
7
+ export default baseAppendix;