fl-web-component 0.1.0 → 0.1.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 (33) hide show
  1. package/README.md +35 -24
  2. package/dist/fl-web-component.common.js +67035 -54
  3. package/dist/fl-web-component.common.js.map +1 -1
  4. package/dist/fl-web-component.css +1 -1
  5. package/dist/fl-web-component.umd.js +67035 -54
  6. package/dist/fl-web-component.umd.js.map +1 -1
  7. package/dist/fl-web-component.umd.min.js +13 -1
  8. package/dist/fl-web-component.umd.min.js.map +1 -1
  9. package/package.json +59 -47
  10. package/packages/components/button/index.vue +6 -3
  11. package/packages/components/com-card/card-page.vue +100 -0
  12. package/packages/components/com-card/index.vue +54 -0
  13. package/packages/components/com-dialogWrapper/Readme.md +53 -0
  14. package/packages/components/com-dialogWrapper/index.vue +101 -0
  15. package/packages/components/com-formDialog/Readme.md +409 -0
  16. package/packages/components/com-formDialog/index.vue +470 -0
  17. package/packages/components/com-graphics/index.vue +240 -0
  18. package/packages/components/com-page/index.vue +101 -0
  19. package/packages/components/com-selectTree/Readme.md +17 -0
  20. package/packages/components/com-selectTree/index.vue +238 -0
  21. package/packages/components/com-table/column-default.vue +76 -0
  22. package/packages/components/com-table/column-dynamic.vue +40 -0
  23. package/packages/components/com-table/column-menu.vue +71 -0
  24. package/packages/components/com-table/column-slot.vue +53 -0
  25. package/packages/components/com-table/column.vue +49 -0
  26. package/packages/components/com-table/config.js +21 -0
  27. package/packages/components/com-table/index.vue +281 -0
  28. package/packages/components/com-table/table-page.vue +106 -0
  29. package/packages/components/com-tabs/index.vue +50 -0
  30. package/packages/components/com-treeDynamic/Readme.md +271 -0
  31. package/packages/components/com-treeDynamic/index.vue +207 -0
  32. package/patches/camera-controls+2.9.0.patch +63 -0
  33. package/{packages/index.js → src/main.js} +5 -5
package/package.json CHANGED
@@ -1,47 +1,59 @@
1
- {
2
- "name": "fl-web-component",
3
- "version": "0.1.0",
4
- "scripts": {
5
- "dev": "vue-cli-service serve",
6
- "lint": "vue-cli-service lint",
7
- "build": "vue-cli-service build --target lib --name fl-web-component ./packages/index.js",
8
- "release": "bumpp && npm publish"
9
- },
10
- "files": [
11
- "dist",
12
- "packages"
13
- ],
14
- "main": "dist/fl-web-component.common.js",
15
- "dependencies": {
16
- "core-js": "^3.6.5",
17
- "vue": "^2.6.11"
18
- },
19
- "devDependencies": {
20
- "@vue/cli-plugin-babel": "~4.4.0",
21
- "@vue/cli-plugin-eslint": "~4.4.0",
22
- "@vue/cli-service": "~4.4.0",
23
- "babel-eslint": "^10.1.0",
24
- "eslint": "^6.7.2",
25
- "eslint-plugin-vue": "^6.2.2",
26
- "vue-template-compiler": "^2.6.11"
27
- },
28
- "eslintConfig": {
29
- "root": true,
30
- "env": {
31
- "node": true
32
- },
33
- "extends": [
34
- "plugin:vue/essential",
35
- "eslint:recommended"
36
- ],
37
- "parserOptions": {
38
- "parser": "babel-eslint"
39
- },
40
- "rules": {}
41
- },
42
- "browserslist": [
43
- "> 1%",
44
- "last 2 versions",
45
- "not dead"
46
- ]
47
- }
1
+ {
2
+ "name": "fl-web-component",
3
+ "version": "0.1.1",
4
+ "scripts": {
5
+ "dev": "vue-cli-service serve",
6
+ "lint": "vue-cli-service lint",
7
+ "build": "vue-cli-service build --target lib --name fl-web-component ./src/main.js"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "packages",
12
+ "src",
13
+ "patches"
14
+ ],
15
+ "main": "dist/fl-web-component.common.js",
16
+ "dependencies": {
17
+ "camera-controls": "^2.6.0",
18
+ "core-js": "^3.6.5",
19
+ "element-ui": "2.15.14",
20
+ "html2canvas": "^1.4.1",
21
+ "konva": "^9.3.14",
22
+ "lodash": "^4.17.21",
23
+ "meshline": "^3.3.1",
24
+ "three": "^0.175.0",
25
+ "three.path": "^1.0.1",
26
+ "vue": "^2.6.11"
27
+ },
28
+ "devDependencies": {
29
+ "@vue/cli-plugin-babel": "~4.4.0",
30
+ "@vue/cli-plugin-eslint": "~4.4.0",
31
+ "@vue/cli-service": "~4.4.0",
32
+ "babel-eslint": "^10.1.0",
33
+ "eslint": "^6.7.2",
34
+ "eslint-plugin-vue": "^6.2.2",
35
+ "patch-package": "^6.4.7",
36
+ "sass": "1.32.13",
37
+ "sass-loader": "10.1.1",
38
+ "vue-template-compiler": "^2.6.11"
39
+ },
40
+ "eslintConfig": {
41
+ "root": true,
42
+ "env": {
43
+ "node": true
44
+ },
45
+ "extends": [
46
+ "plugin:vue/essential",
47
+ "eslint:recommended"
48
+ ],
49
+ "parserOptions": {
50
+ "parser": "babel-eslint"
51
+ },
52
+ "rules": {}
53
+ },
54
+ "browserslist": [
55
+ "> 1%",
56
+ "last 2 versions",
57
+ "not dead"
58
+ ]
59
+ }
@@ -1,7 +1,10 @@
1
1
  <template>
2
- <button class="my-button" @click="handleClick">
3
- {{ text }}
4
- </button>
2
+ <div>
3
+ <img src="/example/test.png" alt="">
4
+ <button class="my-button" @click="handleClick">
5
+ {{ text }}
6
+ </button>
7
+ </div>
5
8
  </template>
6
9
  <script>
7
10
  export default {
@@ -0,0 +1,100 @@
1
+ <template>
2
+ <el-pagination v-if="pageFlag"
3
+ :small="comCard.size=='mini'"
4
+ :disabled="defaultPage.disabled"
5
+ :hide-on-single-page="defaultPage.single"
6
+ :pager-count="defaultPage.pagerCount"
7
+ :current-page.sync="defaultPage.currentPage"
8
+ :background="defaultPage.background"
9
+ :page-size="defaultPage.pageSize"
10
+ :page-sizes="defaultPage.pageSizes"
11
+ @size-change="sizeChange"
12
+ @prev-click="prevClick"
13
+ @next-click="nextClick"
14
+ @current-change="currentChange"
15
+ :layout="defaultPage.layout"
16
+ :total="defaultPage.total"></el-pagination>
17
+ </template>
18
+
19
+ <script>
20
+ // import base from "../../utils/base.js";
21
+
22
+ export default {
23
+ name: "comCard",
24
+ inject: ["comCard"],
25
+ // mixins: [base()],
26
+ data () {
27
+ return {
28
+ defaultPage: {
29
+ single: false,
30
+ total: 0, // 总页数
31
+ pagerCount: 7,//超过多少条隐藏
32
+ currentPage: 1, // 当前页数
33
+ pageSize: 10, // 每页显示多少条
34
+ pageSizes: [10, 20, 30, 40, 50, 100],
35
+ layout: 'total, sizes, prev, pager, next, jumper',
36
+ background: true // 背景颜色
37
+ }
38
+ };
39
+ },
40
+ created () {
41
+ this.pageInit();
42
+ this.comCard.$emit("on-load", this.defaultPage);
43
+ },
44
+ watch: {
45
+ 'comCard.page': {
46
+ handler () {
47
+ this.pageInit();
48
+ },
49
+ deep: true,
50
+ },
51
+ },
52
+ computed: {
53
+ pageFlag () {
54
+ return this.defaultPage.total != 0
55
+ }
56
+ },
57
+ methods: {
58
+ pageInit () {
59
+ this.defaultPage = Object.assign(this.defaultPage, this.comCard.page)
60
+ this.updateValue();
61
+ },
62
+ updateValue () {
63
+ console.log('updateValue defaultPage', this.defaultPage)
64
+ this.comCard.$emit('update:page', this.defaultPage)
65
+ },
66
+ //下一页事件
67
+ nextClick (val) {
68
+ console.log('nextClick', val)
69
+ this.comCard.$emit("next-click", val)
70
+ },
71
+ //上一页事件
72
+ prevClick (val) {
73
+ console.log('prevClick', val)
74
+ this.comCard.$emit("prev-click", val)
75
+ },
76
+ // 页大小回调
77
+ sizeChange (val) {
78
+ this.defaultPage.currentPage = 1;
79
+ this.defaultPage.pageSize = val;
80
+ this.updateValue();
81
+ console.log('sizeChange', val)
82
+ this.comCard.$emit("on-load", this.defaultPage);
83
+ this.comCard.$emit("size-change", val);
84
+ },
85
+ // 页码回调
86
+ currentChange (val) {
87
+ this.updateValue();
88
+ this.comCard.$emit("on-load", this.defaultPage);
89
+ this.comCard.$emit("current-change", val);
90
+ }
91
+ }
92
+ };
93
+ </script>
94
+
95
+ <style lang="scss" scoped>
96
+ .el-pagination{
97
+ text-align: right;
98
+ padding: 15px 10px 15px 20px !important;
99
+ }
100
+ </style>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <div class="card-container">
3
+ <!-- 列表区域-->
4
+ <div class="card-list">
5
+ <el-card
6
+ v-loading="loading"
7
+ class="card"
8
+ v-for="(item, index) in data"
9
+ :key="index"
10
+ :body-style="{ padding: '0px' }"
11
+ >
12
+ <slot :data="item"></slot>
13
+ </el-card>
14
+ </div>
15
+ <!-- 分页区域 -->
16
+ <card-page ref="cardPage">
17
+ </card-page>
18
+ </div>
19
+ </template>
20
+
21
+ <script>
22
+ import CardPage from "./card-page";
23
+
24
+ export default {
25
+ name: "comCard",
26
+ provide () {
27
+ return {
28
+ comCard: this
29
+ };
30
+ },
31
+ components: {
32
+ CardPage, //分页
33
+ },
34
+ props: {
35
+ data: {
36
+ type: Array,
37
+ default: () => [],
38
+ require: true,
39
+ },
40
+ loading: {
41
+ type: Boolean,
42
+ default: false,
43
+ },
44
+ page: {
45
+ type: Object,
46
+ default () {
47
+ return {};
48
+ }
49
+ },
50
+ }
51
+ };
52
+ </script>
53
+
54
+ <style></style>
@@ -0,0 +1,53 @@
1
+ <!-- 使用方法 样例 -->
2
+ <template>
3
+ <div class="trigger_dialog">
4
+ <!-- 触发弹窗操作 -->
5
+ <el-button type="primary" @click="dialogVisible = true">触发对话框</el-button>
6
+ <!-- 弹窗组件 -->
7
+ <DialogWrapper
8
+ v-if="dialogVisible"
9
+ dialog-title="触发对话框"
10
+ :visible.sync="dialogVisible"
11
+ :popup-width="'35%'"
12
+ @handleClose="handleClose"
13
+ @submitDialogData="submitDialogData"
14
+ >
15
+ 弹窗内容
16
+ </DialogWrapper>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ components: {
23
+ // 弹窗引入,如注册全局组件则克直接使用
24
+ DialogWrapper: () => import('./DialogWrapper.vue')
25
+ },
26
+ props: {},
27
+ data() {
28
+ return {
29
+ dialogVisible: false // 弹框状态
30
+ }
31
+ },
32
+ computed: { },
33
+ watch: {},
34
+ created() {},
35
+ mounted() {},
36
+ methods: {
37
+ /* 弹窗 修改是否让页面显示与隐藏的事件 */
38
+ updateVisible(val) {
39
+ this.dialogVisible = val
40
+ },
41
+ /* 弹窗 确认 操作 */
42
+ submitDialogData() {
43
+ this.dialogVisible = false
44
+ },
45
+ /* 弹窗 关闭 操作 */
46
+ handleClose() {
47
+ this.dialogVisible = false
48
+ }
49
+ }
50
+ }
51
+ </script>
52
+ <style lang="scss" scoped>
53
+ </style>
@@ -0,0 +1,101 @@
1
+ <!--
2
+ * @Author: fengyang9326@163.com
3
+ * @Date: 2024-05-13 10:36:07
4
+ * @LastEditors: fengyang9326@163.com
5
+ * @LastEditTime: 2024-05-20 09:34:46
6
+ * @FilePath: /web/components/com-dialogWrapper/index.vue
7
+ * @Description: 弹窗封装
8
+ -->
9
+ <template>
10
+ <el-dialog
11
+ :visible.sync="dialogVisible"
12
+ :title="dialogTitle"
13
+ :fullscreen="dialogFullScreen"
14
+ :close-on-click-modal="false"
15
+ :before-close="handleClose"
16
+ :width="popupWidth"
17
+ append-to-body
18
+ >
19
+
20
+ <!-- 弹窗title -->
21
+ <template slot="title">
22
+ <div class="custom_dialog_header">
23
+ <span class="el_dialog_title">{{ dialogTitle }}</span>
24
+ <div class="custom_dialog_menu" @click="dialogFullScreen = !dialogFullScreen">
25
+ <svg-icon :icon-class="dialogFullScreen?'exit-fullscreen':'fullscreen'" />
26
+ </div>
27
+ </div>
28
+ </template>
29
+
30
+ <!-- 弹窗插槽 -->
31
+ <slot>
32
+ <p>弹框自定义的内容</p>
33
+ </slot>
34
+
35
+ <!-- 弹窗操作 -->
36
+ <div slot="footer" class="dialog-footer">
37
+ <el-button @click="handleClose">取 消</el-button>
38
+ <el-button type="primary" @click="handleSubmit">确 定</el-button>
39
+ </div>
40
+ </el-dialog>
41
+ </template>
42
+
43
+ <script>
44
+ export default {
45
+ name: 'DialogWrapper',
46
+ components: {},
47
+ props: {
48
+ /* 弹窗 title标题 */
49
+ dialogTitle: {
50
+ type: String,
51
+ default: '标题'
52
+ },
53
+ /* 弹窗 width宽度 */
54
+ popupWidth: {
55
+ type: String,
56
+ default: '35%'
57
+ },
58
+ /* 弹窗 显示隐藏状态 */
59
+ visible: {
60
+ type: Boolean,
61
+ default: false
62
+ }
63
+ },
64
+ data() {
65
+ return {
66
+ openDialog: false,
67
+ dialogFullScreen: false
68
+ }
69
+ },
70
+ computed: {
71
+ dialogVisible: {
72
+ get() {
73
+ // 初始化数据
74
+ if (this.visible) Object.assign(this.$data, this.$options.data())
75
+ return this.visible
76
+ },
77
+ set(val) {
78
+ // 当visible改变的时候,触发父组件的 updateVisible方法,
79
+ // 在该方法中更改传入子组件的 centerDialogVisible的值
80
+ this.$emit('updateVisible', val)
81
+ }
82
+ }
83
+ },
84
+ watch: {},
85
+ created() {},
86
+ mounted() {},
87
+ methods: {
88
+ /* 关闭弹窗 */
89
+ handleClose() {
90
+ this.$emit('handleClose')
91
+ },
92
+ /* 弹窗 确认 操作 */
93
+ handleSubmit() {
94
+ this.$emit('submitDialogData')
95
+ }
96
+ }
97
+ }
98
+ </script>
99
+ <style lang="scss" scoped>
100
+
101
+ </style>