fl-web-component 0.1.0 → 1.0.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 (85) hide show
  1. package/README.md +35 -24
  2. package/dist/fl-web-component.common.js +27308 -65
  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 +27308 -65
  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 +80 -47
  10. package/packages/components/button/index.vue +16 -12
  11. package/packages/components/com-card/card-page.vue +102 -0
  12. package/packages/components/com-card/index.vue +53 -0
  13. package/packages/components/com-dialogWrapper/Readme.md +53 -0
  14. package/packages/components/com-dialogWrapper/index.vue +98 -0
  15. package/packages/components/com-flcanvas/components/bspline.js +91 -0
  16. package/packages/components/com-flcanvas/components/entityFormatting.js +503 -0
  17. package/packages/components/com-flcanvas/components/round10.js +24 -0
  18. package/packages/components/com-flcanvas/index.vue +259 -0
  19. package/packages/components/com-formDialog/Readme.md +409 -0
  20. package/packages/components/com-formDialog/index.vue +471 -0
  21. package/packages/components/com-graphics/index.vue +1073 -0
  22. package/packages/components/com-graphics/per-control.vue +109 -0
  23. package/packages/components/com-graphics/pid.vue +168 -0
  24. package/packages/components/com-page/index.vue +101 -0
  25. package/packages/components/com-selectTree/Readme.md +17 -0
  26. package/packages/components/com-selectTree/index.vue +236 -0
  27. package/packages/components/com-table/column-default.vue +71 -0
  28. package/packages/components/com-table/column-dynamic.vue +36 -0
  29. package/packages/components/com-table/column-menu.vue +71 -0
  30. package/packages/components/com-table/column-slot.vue +53 -0
  31. package/packages/components/com-table/column.vue +41 -0
  32. package/packages/components/com-table/config.js +21 -0
  33. package/packages/components/com-table/index.vue +281 -0
  34. package/packages/components/com-table/table-page.vue +106 -0
  35. package/packages/components/com-tabs/index.vue +50 -0
  36. package/packages/components/com-treeDynamic/Readme.md +271 -0
  37. package/packages/components/com-treeDynamic/index.vue +207 -0
  38. package/packages/components/model/api/index.js +59 -67
  39. package/packages/components/model/api/mock/detecttree.js +38 -38
  40. package/packages/components/model/api/mock/getmodel-line.js +15830 -79332
  41. package/packages/components/model/api/mock/init.js +1 -1
  42. package/packages/components/model/api/mock/pbstree.js +486 -495
  43. package/packages/components/model/components/TextOverTooltip/index.vue +3 -3
  44. package/packages/components/model/components/annotation-toolbar.vue +4 -19
  45. package/packages/components/model/components/check-proofing-model.vue +26 -29
  46. package/packages/components/model/components/clipping-type.vue +22 -14
  47. package/packages/components/model/components/com-dialogWrapper/index.vue +22 -25
  48. package/packages/components/model/components/detect-panel.vue +38 -26
  49. package/packages/components/model/components/detect-tree.vue +9 -24
  50. package/packages/components/model/components/firstPer-panel.vue +23 -25
  51. package/packages/components/model/components/header-button.vue +31 -107
  52. package/packages/components/model/components/imageViewer/index.vue +34 -35
  53. package/packages/components/model/components/import-model.vue +127 -127
  54. package/packages/components/model/components/location-panel.vue +25 -29
  55. package/packages/components/model/components/measure-type.vue +15 -15
  56. package/packages/components/model/components/pbs-tree.vue +139 -144
  57. package/packages/components/model/components/proof-config.vue +2 -10
  58. package/packages/components/model/components/proof-for-pc.vue +35 -32
  59. package/packages/components/model/components/proof-history.vue +136 -154
  60. package/packages/components/model/components/proof-panel-detail.vue +166 -165
  61. package/packages/components/model/components/proof-panel.vue +281 -205
  62. package/packages/components/model/components/proof-project-user.vue +13 -50
  63. package/packages/components/model/components/proof-publish.vue +130 -130
  64. package/packages/components/model/components/proof-role.vue +93 -124
  65. package/packages/components/model/components/props-panel.vue +63 -54
  66. package/packages/components/model/index.vue +3225 -3213
  67. package/packages/components/model/utils/annotation-tool.js +75 -82
  68. package/packages/components/model/utils/cursor.js +15 -10
  69. package/packages/components/model/utils/detect-v1.js +23 -35
  70. package/packages/components/model/utils/index.js +25 -25
  71. package/packages/components/model/utils/threejs/measure-angle.js +180 -180
  72. package/packages/components/model/utils/threejs/measure-area.js +196 -184
  73. package/packages/components/model/utils/threejs/measure-distance.js +154 -152
  74. package/packages/components/model/utils/threejs/measure-volume.js +64 -61
  75. package/patches/camera-controls+2.9.0.patch +63 -0
  76. package/src/assets/test.png +0 -0
  77. package/src/assets/worker.glb +0 -0
  78. package/src/main.js +27 -0
  79. package/src/utils/flgltf-parser.js +141 -0
  80. package/src/utils/instance-parser.js +402 -0
  81. package/src/utils/mock.js +84746 -0
  82. package/src/utils/threejs/measure-angle.js +240 -0
  83. package/src/utils/threejs/measure-area.js +249 -0
  84. package/src/utils/threejs/measure-distance.js +195 -0
  85. package/packages/index.js +0 -24
@@ -1,9 +1,7 @@
1
1
  <template>
2
2
  <div>
3
3
  <div class="trigger-button">
4
- <el-button type="text" @click="triggerDialog"
5
- ><i class="pre-img"></i>用户列表</el-button
6
- >
4
+ <el-button type="text" @click="triggerDialog"><i class="pre-img"></i>用户列表</el-button>
7
5
  </div>
8
6
  <com-dialog
9
7
  v-if="dialogVisible"
@@ -21,44 +19,24 @@
21
19
  icon="el-icon-plus"
22
20
  size="small"
23
21
  @click="handleAdd"
24
- v-hasPermi="[
25
- `project:user:add:proj:${defaultParams.projectId}`,
26
- ]"
22
+ v-hasPermi="[`project:user:add:proj:${defaultParams.projectId}`]"
27
23
  >新增</el-button
28
24
  >
29
25
  </el-col>
30
26
  </el-row>
31
27
 
32
- <el-table
33
- max-height="65vh"
34
- v-loading="loading"
35
- :data="tableData"
36
- >
28
+ <el-table max-height="65vh" v-loading="loading" :data="tableData">
37
29
  <el-table-column label="序号" type="index" width="80" />
38
- <el-table-column
39
- label="项目用户"
40
- prop="userName"
41
- show-overflow-tooltip
42
- />
43
- <el-table-column
44
- label="项目角色"
45
- prop="roleName"
46
- show-overflow-tooltip
47
- />
48
- <el-table-column
49
- label="操作"
50
- width="200"
51
- class-name="small-padding fixed-width"
52
- >
30
+ <el-table-column label="项目用户" prop="userName" show-overflow-tooltip />
31
+ <el-table-column label="项目角色" prop="roleName" show-overflow-tooltip />
32
+ <el-table-column label="操作" width="200" class-name="small-padding fixed-width">
53
33
  <template slot-scope="scope">
54
34
  <el-button
55
35
  size="mini"
56
36
  type="text"
57
37
  @click="handleEdit(scope.row)"
58
38
  v-if="!scope.row.projectManager"
59
- v-hasPermi="[
60
- `project:user:edit:proj:${defaultParams.projectId}`,
61
- ]"
39
+ v-hasPermi="[`project:user:edit:proj:${defaultParams.projectId}`]"
62
40
  >修改</el-button
63
41
  >
64
42
  <el-button
@@ -66,9 +44,7 @@
66
44
  type="text"
67
45
  @click="handleDelete(scope.row)"
68
46
  v-if="!scope.row.projectManager"
69
- v-hasPermi="[
70
- `project:user:remove:proj:${defaultParams.projectId}`,
71
- ]"
47
+ v-hasPermi="[`project:user:remove:proj:${defaultParams.projectId}`]"
72
48
  >移除</el-button
73
49
  >
74
50
  </template>
@@ -85,11 +61,7 @@
85
61
  @submitDialogData="submitDialogOperateData"
86
62
  >
87
63
  <el-form ref="formOperate" :model="dialogForm" :rules="formRules" label-width="100px">
88
- <el-form-item
89
- label="项目用户"
90
- prop="userId"
91
- v-if="dialogForm.operateType != 'edit'"
92
- >
64
+ <el-form-item label="项目用户" prop="userId" v-if="dialogForm.operateType != 'edit'">
93
65
  <el-select v-model="dialogForm.userId" placeholder="请选择">
94
66
  <el-option
95
67
  v-for="item in unallocatedUserList"
@@ -102,12 +74,7 @@
102
74
  </el-form-item>
103
75
  <el-form-item label="项目角色" prop="roleId">
104
76
  <el-select v-model="dialogForm.roleId" placeholder="请选择">
105
- <el-option
106
- v-for="item in roleList"
107
- :key="item.id"
108
- :label="item.value"
109
- :value="item.id"
110
- >
77
+ <el-option v-for="item in roleList" :key="item.id" :label="item.value" :value="item.id">
111
78
  </el-option>
112
79
  </el-select>
113
80
  </el-form-item>
@@ -146,12 +113,8 @@ export default {
146
113
  operateType: '',
147
114
  },
148
115
  formRules: {
149
- userId: [
150
- { required: true, message: '请选择项目用户', trigger: 'change' },
151
- ],
152
- roleId: [
153
- { required: true, message: '请选择项目角色', trigger: 'change' },
154
- ],
116
+ userId: [{ required: true, message: '请选择项目用户', trigger: 'change' }],
117
+ roleId: [{ required: true, message: '请选择项目角色', trigger: 'change' }],
155
118
  },
156
119
  unallocatedUserList: [],
157
120
  roleList: [],
@@ -273,7 +236,7 @@ export default {
273
236
  project.myProject({ pageNum: 1, pageSize: 10000 }).then((response) => {
274
237
  // this.projectList = response.rows;
275
238
  const currentProject = response.rows.find(
276
- (item) => item.id == this.defaultParams.projectId
239
+ (item) => item.id == this.defaultParams.projectId,
277
240
  );
278
241
  getProofProjectUserList(params)
279
242
  .then((res) => {
@@ -1,130 +1,130 @@
1
- <template>
2
- <div>
3
- <div class="trigger-button">
4
- <el-button
5
- type="text"
6
- @click="triggerDialog"
7
- :disabled="disabledBtn"
8
- v-hasPermi="[`project:version:publish:proj:${defaultParams.projectId}`]"
9
- ><i class="pre-img"></i>发布</el-button
10
- >
11
- </div>
12
- <com-dialog
13
- v-if="dialogVisible"
14
- dialog-title="发布校审版本"
15
- :visible="dialogVisible"
16
- :popup-width="'25%'"
17
- @handleClose="handleClose"
18
- @submitDialogData="submitDialogData"
19
- >
20
- <el-form ref="form" :model="dialogForm" :rules="formRules">
21
- <el-form-item label="校审版本名称" prop="name">
22
- <el-input v-model="dialogForm.name"></el-input>
23
- </el-form-item>
24
- </el-form>
25
- </com-dialog>
26
- </div>
27
- </template>
28
-
29
- <script>
30
- import * as modelApi from '../api/index';
31
-
32
- export default {
33
- name: 'importModel',
34
- data() {
35
- return {
36
- dialogVisible: false,
37
- dialogForm: {
38
- name: '',
39
- },
40
- formRules: {
41
- name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
42
- },
43
- disabledBtn: true,
44
- };
45
- },
46
- props: {
47
- defaultParams: {
48
- type: Object,
49
- default() {
50
- return {};
51
- },
52
- },
53
- },
54
- components: {
55
- ComDialog: () => import('./com-dialogWrapper'),
56
- },
57
- methods: {
58
- triggerDialog() {
59
- this.dialogVisible = !this.dialogVisible;
60
- console.log(this.dialogVisible);
61
- },
62
- /* 弹窗 修改是否让页面显示与隐藏的事件 */
63
- updateVisible(val) {
64
- this.dialogVisible = val;
65
- },
66
- /* 弹窗 确认 操作 */
67
- submitDialogData() {
68
- this.$refs.form.validate((vaild) => {
69
- if (vaild) {
70
- this.dialogForm.projectId = this.defaultParams.projectId;
71
-
72
- modelApi
73
- .publishProofVersion(this.dialogForm)
74
- .then((res) => {
75
- if (res.code === 200) {
76
- this.dialogVisible = false;
77
- this.$message({
78
- type: 'success',
79
- message: '当前校审版本已发布',
80
- });
81
- this.$emit('getVersionList');
82
- this.resetForm();
83
-
84
- setTimeout(() => {
85
- this.$emit('publishVersion', null);
86
- }, 1000);
87
- } else {
88
- this.$message({ type: 'error', message: res.msg });
89
- }
90
- })
91
- .catch((err) => {
92
- console.log(err);
93
- // this.$message({ type: 'error', message: err.msg })
94
- });
95
- } else {
96
- console.log('error submit');
97
- }
98
- });
99
- },
100
- /* 弹窗 关闭 操作 */
101
- handleClose() {
102
- this.resetForm();
103
- this.dialogVisible = false;
104
- },
105
- resetForm() {
106
- this.$refs.form.resetFields();
107
- },
108
- ableBtn() {
109
- this.disabledBtn = false;
110
- },
111
- },
112
- };
113
- </script>
114
-
115
- <style lang="scss" scoped>
116
- ::v-deep .trigger-button {
117
- span {
118
- display: flex;
119
- align-items: center;
120
- color: #2e3136;
121
- }
122
- .pre-img {
123
- background-image: url('../../../assets/proof/publish@2x.png');
124
- width: 30px;
125
- height: 30px;
126
- display: inline-block;
127
- background-size: cover;
128
- }
129
- }
130
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="trigger-button">
4
+ <el-button
5
+ type="text"
6
+ @click="triggerDialog"
7
+ :disabled="disabledBtn"
8
+ v-hasPermi="[`project:version:publish:proj:${defaultParams.projectId}`]"
9
+ ><i class="pre-img"></i>发布</el-button
10
+ >
11
+ </div>
12
+ <com-dialog
13
+ v-if="dialogVisible"
14
+ dialog-title="发布校审版本"
15
+ :visible="dialogVisible"
16
+ :popup-width="'25%'"
17
+ @handleClose="handleClose"
18
+ @submitDialogData="submitDialogData"
19
+ >
20
+ <el-form ref="form" :model="dialogForm" :rules="formRules">
21
+ <el-form-item label="校审版本名称" prop="name">
22
+ <el-input v-model="dialogForm.name"></el-input>
23
+ </el-form-item>
24
+ </el-form>
25
+ </com-dialog>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ import * as modelApi from '../api/index';
31
+
32
+ export default {
33
+ name: 'importModel',
34
+ data() {
35
+ return {
36
+ dialogVisible: false,
37
+ dialogForm: {
38
+ name: '',
39
+ },
40
+ formRules: {
41
+ name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
42
+ },
43
+ disabledBtn: true,
44
+ };
45
+ },
46
+ props: {
47
+ defaultParams: {
48
+ type: Object,
49
+ default() {
50
+ return {};
51
+ },
52
+ },
53
+ },
54
+ components: {
55
+ ComDialog: () => import('./com-dialogWrapper'),
56
+ },
57
+ methods: {
58
+ triggerDialog() {
59
+ this.dialogVisible = !this.dialogVisible;
60
+ console.log(this.dialogVisible);
61
+ },
62
+ /* 弹窗 修改是否让页面显示与隐藏的事件 */
63
+ updateVisible(val) {
64
+ this.dialogVisible = val;
65
+ },
66
+ /* 弹窗 确认 操作 */
67
+ submitDialogData() {
68
+ this.$refs.form.validate((vaild) => {
69
+ if (vaild) {
70
+ this.dialogForm.projectId = this.defaultParams.projectId;
71
+
72
+ modelApi
73
+ .publishProofVersion(this.dialogForm)
74
+ .then((res) => {
75
+ if (res.code === 200) {
76
+ this.dialogVisible = false;
77
+ this.$message({
78
+ type: 'success',
79
+ message: '当前校审版本已发布',
80
+ });
81
+ this.$emit('getVersionList');
82
+ this.resetForm();
83
+
84
+ setTimeout(() => {
85
+ this.$emit('publishVersion', null);
86
+ }, 1000);
87
+ } else {
88
+ this.$message({ type: 'error', message: res.msg });
89
+ }
90
+ })
91
+ .catch((err) => {
92
+ console.log(err);
93
+ // this.$message({ type: 'error', message: err.msg })
94
+ });
95
+ } else {
96
+ console.log('error submit');
97
+ }
98
+ });
99
+ },
100
+ /* 弹窗 关闭 操作 */
101
+ handleClose() {
102
+ this.resetForm();
103
+ this.dialogVisible = false;
104
+ },
105
+ resetForm() {
106
+ this.$refs.form.resetFields();
107
+ },
108
+ ableBtn() {
109
+ this.disabledBtn = false;
110
+ },
111
+ },
112
+ };
113
+ </script>
114
+
115
+ <style lang="scss" scoped>
116
+ ::v-deep .trigger-button {
117
+ span {
118
+ display: flex;
119
+ align-items: center;
120
+ color: #2e3136;
121
+ }
122
+ .pre-img {
123
+ background-image: url('../../../assets/proof/publish@2x.png');
124
+ width: 30px;
125
+ height: 30px;
126
+ display: inline-block;
127
+ background-size: cover;
128
+ }
129
+ }
130
+ </style>