fl-web-component 0.1.1 → 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 (78) hide show
  1. package/dist/fl-web-component.common.js +14751 -54489
  2. package/dist/fl-web-component.common.js.map +1 -1
  3. package/dist/fl-web-component.css +1 -1
  4. package/dist/fl-web-component.umd.js +14751 -54489
  5. package/dist/fl-web-component.umd.js.map +1 -1
  6. package/dist/fl-web-component.umd.min.js +3 -3
  7. package/dist/fl-web-component.umd.min.js.map +1 -1
  8. package/package.json +26 -5
  9. package/packages/components/button/index.vue +18 -17
  10. package/packages/components/com-card/card-page.vue +51 -49
  11. package/packages/components/com-card/index.vue +20 -21
  12. package/packages/components/com-dialogWrapper/index.vue +18 -21
  13. package/packages/components/com-flcanvas/components/bspline.js +91 -0
  14. package/packages/components/com-flcanvas/components/entityFormatting.js +503 -0
  15. package/packages/components/com-flcanvas/components/round10.js +24 -0
  16. package/packages/components/com-flcanvas/index.vue +259 -0
  17. package/packages/components/com-formDialog/index.vue +76 -75
  18. package/packages/components/com-graphics/index.vue +1059 -226
  19. package/packages/components/com-graphics/per-control.vue +109 -0
  20. package/packages/components/com-graphics/pid.vue +168 -0
  21. package/packages/components/com-page/index.vue +33 -33
  22. package/packages/components/com-selectTree/index.vue +61 -63
  23. package/packages/components/com-table/column-default.vue +9 -14
  24. package/packages/components/com-table/column-dynamic.vue +4 -8
  25. package/packages/components/com-table/column-menu.vue +8 -8
  26. package/packages/components/com-table/column-slot.vue +4 -4
  27. package/packages/components/com-table/column.vue +7 -15
  28. package/packages/components/com-table/config.js +9 -9
  29. package/packages/components/com-table/index.vue +35 -35
  30. package/packages/components/com-table/table-page.vue +17 -17
  31. package/packages/components/com-tabs/index.vue +19 -19
  32. package/packages/components/com-treeDynamic/index.vue +45 -45
  33. package/packages/components/model/api/index.js +59 -67
  34. package/packages/components/model/api/mock/detecttree.js +38 -38
  35. package/packages/components/model/api/mock/getmodel-line.js +15830 -79332
  36. package/packages/components/model/api/mock/init.js +1 -1
  37. package/packages/components/model/api/mock/pbstree.js +486 -495
  38. package/packages/components/model/components/TextOverTooltip/index.vue +3 -3
  39. package/packages/components/model/components/annotation-toolbar.vue +4 -19
  40. package/packages/components/model/components/check-proofing-model.vue +26 -29
  41. package/packages/components/model/components/clipping-type.vue +22 -14
  42. package/packages/components/model/components/com-dialogWrapper/index.vue +22 -25
  43. package/packages/components/model/components/detect-panel.vue +38 -26
  44. package/packages/components/model/components/detect-tree.vue +9 -24
  45. package/packages/components/model/components/firstPer-panel.vue +23 -25
  46. package/packages/components/model/components/header-button.vue +31 -107
  47. package/packages/components/model/components/imageViewer/index.vue +34 -35
  48. package/packages/components/model/components/import-model.vue +127 -127
  49. package/packages/components/model/components/location-panel.vue +25 -29
  50. package/packages/components/model/components/measure-type.vue +15 -15
  51. package/packages/components/model/components/pbs-tree.vue +139 -144
  52. package/packages/components/model/components/proof-config.vue +2 -10
  53. package/packages/components/model/components/proof-for-pc.vue +35 -32
  54. package/packages/components/model/components/proof-history.vue +136 -154
  55. package/packages/components/model/components/proof-panel-detail.vue +166 -165
  56. package/packages/components/model/components/proof-panel.vue +281 -205
  57. package/packages/components/model/components/proof-project-user.vue +13 -50
  58. package/packages/components/model/components/proof-publish.vue +130 -130
  59. package/packages/components/model/components/proof-role.vue +93 -124
  60. package/packages/components/model/components/props-panel.vue +63 -54
  61. package/packages/components/model/index.vue +3225 -3213
  62. package/packages/components/model/utils/annotation-tool.js +75 -82
  63. package/packages/components/model/utils/cursor.js +15 -10
  64. package/packages/components/model/utils/detect-v1.js +23 -35
  65. package/packages/components/model/utils/index.js +25 -25
  66. package/packages/components/model/utils/threejs/measure-angle.js +180 -180
  67. package/packages/components/model/utils/threejs/measure-area.js +196 -184
  68. package/packages/components/model/utils/threejs/measure-distance.js +154 -152
  69. package/packages/components/model/utils/threejs/measure-volume.js +64 -61
  70. package/src/assets/test.png +0 -0
  71. package/src/assets/worker.glb +0 -0
  72. package/src/main.js +11 -8
  73. package/src/utils/flgltf-parser.js +141 -0
  74. package/src/utils/instance-parser.js +402 -0
  75. package/src/utils/mock.js +84746 -0
  76. package/src/utils/threejs/measure-angle.js +240 -0
  77. package/src/utils/threejs/measure-area.js +249 -0
  78. package/src/utils/threejs/measure-distance.js +195 -0
@@ -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>