fl-web-component 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 (52) hide show
  1. package/README.md +24 -0
  2. package/dist/demo.html +10 -0
  3. package/dist/fl-web-component.common.js +316 -0
  4. package/dist/fl-web-component.common.js.map +1 -0
  5. package/dist/fl-web-component.css +1 -0
  6. package/dist/fl-web-component.umd.js +326 -0
  7. package/dist/fl-web-component.umd.js.map +1 -0
  8. package/dist/fl-web-component.umd.min.js +2 -0
  9. package/dist/fl-web-component.umd.min.js.map +1 -0
  10. package/package.json +47 -0
  11. package/packages/components/button/index.vue +22 -0
  12. package/packages/components/model/api/index.js +429 -0
  13. package/packages/components/model/api/mock/detecttree.js +58 -0
  14. package/packages/components/model/api/mock/getmodel-line.js +79336 -0
  15. package/packages/components/model/api/mock/init.js +1 -0
  16. package/packages/components/model/api/mock/pbstree.js +835 -0
  17. package/packages/components/model/api/mock/topology.json +3238 -0
  18. package/packages/components/model/components/TextOverTooltip/index.vue +84 -0
  19. package/packages/components/model/components/annotation-toolbar.vue +425 -0
  20. package/packages/components/model/components/check-proofing-model.vue +42 -0
  21. package/packages/components/model/components/clipping-type.vue +51 -0
  22. package/packages/components/model/components/com-dialogWrapper/Readme.md +53 -0
  23. package/packages/components/model/components/com-dialogWrapper/index.vue +117 -0
  24. package/packages/components/model/components/detect-panel.vue +327 -0
  25. package/packages/components/model/components/detect-tree.vue +460 -0
  26. package/packages/components/model/components/firstPer-panel.vue +111 -0
  27. package/packages/components/model/components/header-button.vue +546 -0
  28. package/packages/components/model/components/imageViewer/index.vue +127 -0
  29. package/packages/components/model/components/import-model.vue +127 -0
  30. package/packages/components/model/components/location-panel.vue +95 -0
  31. package/packages/components/model/components/measure-type.vue +59 -0
  32. package/packages/components/model/components/pbs-tree.vue +502 -0
  33. package/packages/components/model/components/proof-config.vue +80 -0
  34. package/packages/components/model/components/proof-for-pc.vue +123 -0
  35. package/packages/components/model/components/proof-history.vue +318 -0
  36. package/packages/components/model/components/proof-panel-detail.vue +567 -0
  37. package/packages/components/model/components/proof-panel.vue +770 -0
  38. package/packages/components/model/components/proof-project-user.vue +482 -0
  39. package/packages/components/model/components/proof-publish.vue +130 -0
  40. package/packages/components/model/components/proof-role.vue +535 -0
  41. package/packages/components/model/components/props-panel.vue +249 -0
  42. package/packages/components/model/index.vue +3413 -0
  43. package/packages/components/model/readme.md +31 -0
  44. package/packages/components/model/utils/annotation-tool.js +340 -0
  45. package/packages/components/model/utils/cursor.js +18 -0
  46. package/packages/components/model/utils/detect-v1.js +341 -0
  47. package/packages/components/model/utils/index.js +48 -0
  48. package/packages/components/model/utils/threejs/measure-angle.js +258 -0
  49. package/packages/components/model/utils/threejs/measure-area.js +269 -0
  50. package/packages/components/model/utils/threejs/measure-distance.js +207 -0
  51. package/packages/components/model/utils/threejs/measure-volume.js +94 -0
  52. package/packages/index.js +24 -0
@@ -0,0 +1,249 @@
1
+ <template>
2
+ <div class="box-card" style="height: calc(100vh - 134px)">
3
+ <div class="box-title">
4
+ <span class="box-title-desc">属性</span>
5
+ <i class="el-icon-close box-title-close" style="cursor: pointer" @click="$emit('rightOperation', 'property')" />
6
+ </div>
7
+
8
+ <el-scrollbar>
9
+ <el-card class="" ref="card" id='box-card'>
10
+ <el-collapse class="property-box" v-model="activeNames">
11
+ <el-collapse-item name="基本信息">
12
+ <template slot="title">
13
+ <div class="title-content">
14
+ <span>基本信息</span>
15
+ </div>
16
+ </template>
17
+ <div v-if="propDataLength">
18
+ <div v-for="(value, name, index) in propData" :key="index" class="text item info-item">
19
+ <p class="property-key" :title="name">{{ name }}</p>
20
+ <p class="property-value" :title="value">{{ value }}</p>
21
+ </div>
22
+ </div>
23
+ <el-empty v-else :image-size="50" description="暂无数据"></el-empty>
24
+ </el-collapse-item>
25
+ </el-collapse>
26
+ </el-card>
27
+ </el-scrollbar>
28
+ </div>
29
+ </template>
30
+ <script>
31
+ import * as modelApi from '../api/index'
32
+ export default {
33
+ name: 'Details',
34
+ // props: {
35
+ // id: {
36
+ // type: String,
37
+ // default() {
38
+ // return null
39
+ // }
40
+ // },
41
+ // projectId: {
42
+ // type: String,
43
+ // default() {
44
+ // return ''
45
+ // }
46
+ // },
47
+ // folderId: {
48
+ // type: String,
49
+ // default() {
50
+ // return ''
51
+ // }
52
+ // },
53
+ // },
54
+ data() {
55
+ return {
56
+ basicData: [],
57
+ propData: {},
58
+ docData: [],
59
+ otherData: [],
60
+ activeNames: ['基本信息'],
61
+ }
62
+ },
63
+ computed: {
64
+ propDataLength() {
65
+ return Object.keys(this.propData).length
66
+ }
67
+ },
68
+ methods: {
69
+ // 通过entityId获取图元的属性 图元的id 项目的id
70
+ getModelProperty({propertyGroup, modelId}) {
71
+ const property = propertyGroup[modelId]
72
+ this.$set(this, 'propData', property ? property : {})
73
+ // modelApi.getModelProperty(params).then(res => {
74
+ // // if(this.lodash.isEmpty(res)) {
75
+ // // this.$message({type: 'warning', message: '暂无属性数据'})
76
+ // // return
77
+ // // }
78
+ // console.log(res)
79
+ // // this.$set(this, 'basicData', res['basic'] ? res['basic']: [])
80
+ // this.$set(this, 'propData', res ? res: {})
81
+ // // this.$set(this, 'docData', res['doc'] ? res['doc'] : [])
82
+ // }).catch((err) => {
83
+ // // this.basicData.splice(0)
84
+ // // this.propData.splice(0)
85
+ // // this.docData.splice(0)
86
+ // // this.$message({type: 'error', message: err.msg})
87
+ // })
88
+ },
89
+ // 清空属性信息
90
+ resetProperties() {
91
+ // this.basicData.splice(0)
92
+ this.propData = {}
93
+ // this.docData.splice(0)
94
+ },
95
+ // 预览
96
+ handleView(data) {
97
+ const url = data.split(',')[0]
98
+ window.open(url)
99
+ // window.open('http://view.officeapps.live.com/op/view.aspx?src='+ url)
100
+ }
101
+ },
102
+ destroyed() {
103
+ window.onresize = null
104
+ }
105
+ }
106
+ </script>
107
+ <style lang="scss" scoped>
108
+ .box-title{
109
+ font-size: 16px;
110
+ // color: #fff;
111
+ }
112
+ .details-box{
113
+ // position: fixed;
114
+ // height: calc(100% - 200px);
115
+ width: 300px;
116
+ padding: 30px 20px;
117
+ // right: 76px;
118
+ // top: 100px;
119
+ border: none;
120
+ background: #1e1e1e99;
121
+ border-radius: 10px;
122
+ box-sizing: border-box;
123
+ z-index: 10;
124
+ }
125
+ .box-card{
126
+ padding-top: 0;
127
+ padding-bottom: 0;
128
+ background: #fff;
129
+ width: 300px;
130
+ .box-title{
131
+ display: flex;
132
+ justify-content: space-between;
133
+ align-items: center;
134
+ height: 52px;
135
+ line-height: 52px;
136
+ padding-left: 8px;
137
+ padding-right: 8px;
138
+ border-bottom: 1px solid #dfdfdf;
139
+ .box-title-desc{
140
+ font-size: 14px;
141
+ font-weight: bold;
142
+ }
143
+ .box-title-close{
144
+ font-size: 24px;
145
+ }
146
+ }
147
+ }
148
+ #box-card{
149
+ border-bottom: none;
150
+ }
151
+ ::v-deep .el-card__body{
152
+ height: 100%;
153
+ overflow: auto;
154
+ padding: 0;
155
+ }
156
+ .title{
157
+ font-size: 16px;
158
+ }
159
+ ::v-deep .el-collapse-item__content{
160
+ padding-bottom: 0px;
161
+ }
162
+ .text{
163
+ font-size: 12px;
164
+ // color: #fff;
165
+ }
166
+ .item{
167
+ padding: 5px;
168
+ span{
169
+ word-break: break-all
170
+ }
171
+ }
172
+ .info-item{
173
+ display: grid;
174
+ grid-template-columns: 55% 45%
175
+ }
176
+ .property-box{
177
+ margin-bottom: 10px;
178
+ .title-content{
179
+ padding-left: 10px;
180
+ }
181
+ }
182
+ .property-title{
183
+ line-height: 24px;
184
+ font-size: 14px;
185
+ // color: #fff;
186
+ border-bottom: 1px solid #fff;
187
+ margin-bottom: 10px;
188
+ }
189
+ .empty-tips{
190
+ // color: #fff;
191
+ text-align: center;
192
+ }
193
+ ::v-deep .has-gutter{
194
+ background: rgba(44, 76, 124, 0.2);
195
+ }
196
+ ::v-deep .el-collapse{
197
+ border-top: none;
198
+ }
199
+ ::v-deep .el-collapse-item__header{
200
+ height: 36px;
201
+ line-height: 36px;
202
+ background: #F4F7FA;
203
+ // color: #fff;
204
+ font-size: 14px;
205
+ }
206
+ ::v-deep .el-collapse-item__wrap{
207
+ padding: 0 10px;
208
+ border-bottom: none;
209
+ // background: rgba(30, 30, 30, 0.6);
210
+ }
211
+ ::v-deep .el-collapse-item__arrow{
212
+ margin: 0 20px 0 auto;
213
+ }
214
+ .collapse-img{
215
+ display: inline-block;
216
+ vertical-align: middle;
217
+ margin-right: 10px;
218
+ }
219
+ .doc-item{
220
+ display: flex;
221
+ flex-direction: row;
222
+ }
223
+ .doc-name{
224
+ flex: 1;
225
+ white-space: nowrap;
226
+ text-overflow: ellipsis;
227
+ overflow: hidden;
228
+ }
229
+ .view-doc{
230
+ width: 40px;
231
+ text-align: center;
232
+ color: #3AFDFF;
233
+ cursor: pointer;
234
+ }
235
+ .property-key,.property-value{
236
+ word-wrap: break-word;
237
+ word-break: break-all;
238
+ white-space: nowrap;
239
+ overflow: hidden;
240
+ text-overflow:ellipsis;
241
+ margin: 0;
242
+ }
243
+ .property-value{
244
+ text-indent: 5px;
245
+ }
246
+ ::v-deep .el-scrollbar{
247
+ height: calc(100% - 53px);
248
+ }
249
+ </style>