centaline-data-driven 1.2.99 → 1.3.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.2.99",
3
+ "version": "1.3.02",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
@@ -21,7 +21,6 @@
21
21
  "save": "^2.4.0",
22
22
  "v-viewer": "^1.6.4",
23
23
  "vue": "2.5.17",
24
- "vue-pdf": "^4.3.0",
25
24
  "vue-ueditor-wrap": "^2.5.6",
26
25
  "vuedraggable": "^2.24.3"
27
26
  },
@@ -4,14 +4,15 @@
4
4
 
5
5
  <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist> -->
6
6
 
7
- <!-- <ct-searchlist :searchConditionApi="'/SystemParameterList/getLayoutOfSearch'"
8
- :searchDataApi="'/SystemParameterList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
7
+ <ct-searchlist :searchConditionApi="'/ProfileWorklistList/getLayoutOfSearch'"
8
+ :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
+ :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist>
9
10
 
10
- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
11
+ <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
11
12
  :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
12
13
  :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
13
14
  :searchStatsApi="'/exampleList/getListStats'"
14
- ></ct-searchlist>
15
+ ></ct-searchlist> -->
15
16
 
16
17
  <ct-dialog-list></ct-dialog-list>
17
18
  </div>
@@ -0,0 +1,11 @@
1
+ import browseIframe from './src/browseIframe'
2
+
3
+ browseIframe.install = function (Vue) {
4
+ Vue.component(browseIframe.name, browseIframe);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(browseIframe);
9
+ }
10
+
11
+ export default browseIframe;
@@ -0,0 +1,48 @@
1
+ <template>
2
+ <div style="width:100%;height:100%;">
3
+ <iframe :src="src" ref="iframe" style="width:100%;height:100%;"></iframe>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ name: 'ct-iframe',
9
+ props: {
10
+ src:String,
11
+ },
12
+ data() {
13
+ return {
14
+
15
+ };
16
+ },
17
+ mounted () {
18
+ window.addEventListener('message', this.handleMessage)
19
+ },
20
+ handleMessage (event) {
21
+ var self=this;
22
+ var data = event.data;
23
+ switch (data.functionName) {
24
+ case 'new':
25
+ self.$emit('new',data.params);
26
+ break
27
+ case 'update':
28
+ self.$emit('update');
29
+ break
30
+ case 'delete':
31
+ self.$emit('delete');
32
+ break
33
+ case 'refresh':
34
+ self.$emit('refreshParent');
35
+ break
36
+ case 'close':
37
+ self.$emit('closeDialog');
38
+ break
39
+ }
40
+ },
41
+ methods: {
42
+
43
+ }
44
+ }
45
+ </script>
46
+ <style scoped>
47
+
48
+ </style>
@@ -75,8 +75,10 @@
75
75
  //'class': [
76
76
  // 'dialog-content '
77
77
  //]
78
- }, [
79
- h('table', {
78
+ },
79
+ [
80
+ h('table',
81
+ {
80
82
  attrs: {
81
83
  border: '0',
82
84
  cellspacing: '0',
@@ -92,7 +94,8 @@
92
94
  this.bodyClickHandler(event);
93
95
  }
94
96
  }
95
- }, [
97
+ },
98
+ [
96
99
  h('tbody', {}, [
97
100
  h('tr', {}, [
98
101
  h('td', {
@@ -152,8 +155,7 @@
152
155
  if(self.vmodel.pane && self.vmodel.pane.$el.clientHeight<ph){
153
156
  item.attrs.height=(self.vmodel.pane.$el.clientHeight-40)+'px';
154
157
  }
155
- // console.log(document.body.clientHeight);可见区域高度
156
- // console.log(item.attrs.height)
158
+
157
159
  return h('div', {
158
160
  style: {
159
161
  width: item.attrs.width,
@@ -167,7 +169,13 @@
167
169
  }, [])
168
170
  ]);
169
171
  }
170
- else {
172
+ else {var ph=0;
173
+ if(item.attrs.height){
174
+ ph=parseInt(item.attrs.height.replace('px',''));
175
+ }
176
+ if(self.vmodel.pane && self.vmodel.pane.$el.clientHeight<ph){
177
+ item.attrs.height=(self.vmodel.pane.$el.clientHeight-50)+'px';
178
+ }
171
179
  return h('div', {
172
180
  style: {
173
181
  }
@@ -176,11 +184,11 @@
176
184
  attrs: {
177
185
  name: 'name',
178
186
  id: 'id',
179
- src: 'http://10.88.22.35:3333/#/form',
187
+ src: item.attrs.src,
180
188
  frameborder: '0',
181
189
  align: "left",
182
- width: '100%',
183
- height: '100%',
190
+ width: item.attrs.width,
191
+ height: item.attrs.height,
184
192
  scrolling: "yes"
185
193
  }
186
194
  })
@@ -0,0 +1,197 @@
1
+
2
+ <template>
3
+ <div>
4
+ <div style="position: relative">
5
+ <template v-if="newMediaAlbums.length > 0">
6
+ <el-carousel
7
+ arrow="hover"
8
+ height="199px"
9
+ :autoplay="false"
10
+ indicator-position="none"
11
+ :initial-index="getinitialIndex(albumsList)"
12
+ >
13
+ <template v-for="(item, index) in albumsList.medias">
14
+ <el-carousel-item :key="index">
15
+ <div class="swiper-i">
16
+ <img :src="getShowUrl(item)" @click="viewerfile(index)" />
17
+ <img
18
+ :src="item.albumBigImageUrl"
19
+ alt=""
20
+ class="hous-icon"
21
+ v-if="item.albumBigImageUrl && item.albumBigImageUrl != ''"
22
+ />
23
+ </div> </el-carousel-item
24
+ ></template>
25
+ </el-carousel>
26
+
27
+ <div class="hous-img" style="position: absolute; bottom: 0; z-index: 9">
28
+ <div
29
+ class="img-i"
30
+ v-for="(item, index) in newMediaAlbums"
31
+ :key="index"
32
+ >
33
+ <img :src="getDefaultUrl(item)" @click="handleClick(index)" />
34
+ <div class="img-bot">
35
+ <div>
36
+ <img :src="item.albumSmallImageUrl" alt="" class="img-icon" />
37
+ <span>{{ item.albumName }}</span>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div> </template
42
+ ><template v-else>
43
+ <img :src="noMediaUrl" width="260px" height="199px" />
44
+ </template>
45
+ </div>
46
+ </div>
47
+ </template>
48
+ <script>
49
+ export default {
50
+ props: {
51
+ mediaAlbums: Array,
52
+ title: String,
53
+ noMediaUrl: String,
54
+ },
55
+ data() {
56
+ return {
57
+ newMediaAlbums: [],
58
+ albumsList: [],
59
+ activeAlbumsIndex: 0,
60
+ flagChange: true,
61
+ };
62
+ },
63
+ created() {
64
+ this.init();
65
+ },
66
+ methods: {
67
+ init() {
68
+ var self = this;
69
+ this.newMediaAlbums = this.mediaAlbums || [];
70
+ this.albumsList = this.newMediaAlbums[0];
71
+ self.$forceUpdate();
72
+ },
73
+ handleClick(index) {
74
+ if (index == this.activeAlbumsIndex) return;
75
+ this.albumsList = this.newMediaAlbums[index];
76
+ this.activeAlbumsIndex = index;
77
+ this.flagChange = !this.flagChange;
78
+ this.$forceUpdate();
79
+ },
80
+ getinitialIndex(list) {
81
+ var initialIndex = 0;
82
+ try {
83
+ initialIndex = list.medias.findIndex((v) => v.flagDefault == 1) | 0;
84
+ } catch (error) {
85
+ debugger;
86
+ }
87
+ return initialIndex < 0 ? 0 : initialIndex;
88
+ },
89
+ getDefaultUrl(list) {
90
+ var initialIndex = this.getinitialIndex(list);
91
+ return this.getShowUrl(list.medias[initialIndex]);
92
+ },
93
+
94
+ getShowUrl(list) {
95
+ if (list.mediaTypeID == "2") {
96
+ return list.mediaUrl + "/260/200";
97
+ } else {
98
+ return list.thumbnailUrl;
99
+ }
100
+ },
101
+ viewerfile(index) {
102
+ var self = this;
103
+
104
+ var width = parseInt(window.document.body.clientWidth * 0.8);
105
+ width = width > 1160 ? 1160 : width;
106
+ var dialogOption = {
107
+ title: this.title || "预览媒体",
108
+ pane: self.$common.getParentPane(self),
109
+ content: [
110
+ {
111
+ component: "ct-viewerfile",
112
+ attrs: {
113
+ showTitle: false,
114
+ MediaAlbum: this.newMediaAlbums,
115
+ groupIndex: this.activeAlbumsIndex,
116
+ index: index || 0,
117
+ // width: self.modelPhotoselect.router.pageWidth + 'px',
118
+ // height: self.modelPhotoselect.router.pageHeight+'px',
119
+ width: width + "px",
120
+ height:
121
+ parseInt(window.document.body.clientHeight * 0.8).toString() +
122
+ "px",
123
+ },
124
+ on: {
125
+ handlePhoto(photoList) {},
126
+ },
127
+ },
128
+ ],
129
+ };
130
+ self.$common.openDialog(dialogOption);
131
+ },
132
+ },
133
+ watch: {
134
+ mediaAlbums(newValue, oldValue) {
135
+ this.init(newValue);
136
+ },
137
+ },
138
+ };
139
+ </script>
140
+
141
+ <style lang="scss" scoped>
142
+ .hous-t {
143
+ width: 260px;
144
+ .swiper-i {
145
+ position: relative;
146
+ width: 100%;
147
+ height: 100%;
148
+ img {
149
+ width: 100%;
150
+ height: 100%;
151
+ }
152
+ .hous-icon {
153
+ width: 60px;
154
+ height: 60px;
155
+ position: absolute;
156
+ top: 50%;
157
+ left: 50%;
158
+ transform: translate(-50%, -50%);
159
+ }
160
+ }
161
+
162
+ .hous-img {
163
+ margin-top: 10px;
164
+ width: 100%;
165
+ overflow-x: hidden;
166
+ overflow-y: hidden;
167
+ white-space: nowrap;
168
+ .img-i {
169
+ position: relative;
170
+ width: 80px;
171
+ height: 44px;
172
+ margin-right: 10px;
173
+ display: inline-block;
174
+ img {
175
+ width: 100%;
176
+ height: 100%;
177
+ }
178
+ .img-bot {
179
+ width: 100%;
180
+ height: 16px;
181
+ background: rgba(0, 0, 0, 0.5);
182
+ color: #fff;
183
+ position: absolute;
184
+ bottom: 0;
185
+ font-weight: Bold;
186
+ .img-icon {
187
+ width: 12px;
188
+ height: 12px;
189
+ margin: 0 5px;
190
+ margin: 0 5px;
191
+ vertical-align: -1.5px;
192
+ }
193
+ }
194
+ }
195
+ }
196
+ }
197
+ </style>
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div>
3
- <ct-PropertyDetailOFI :api="api" :apiParam="apiParam" :parentModel="parentModel" class="ct-PropertyDetailOFI" v-if="pageType=='PropertyDetailOFI'"
3
+ <ct-PropertyDetailOFI :api="api" :apiParam="apiParam" :parentModel="parentModel" :top="top" class="ct-PropertyDetailOFI" v-if="pageType=='PropertyDetailOFI'"
4
4
  @loaded="loaded"></ct-PropertyDetailOFI>
5
- <ct-PropertyDetailRET :api="api" :apiParam="apiParam" :parentModel="parentModel" class="ct-PropertyDetailRET" v-if="pageType=='PropertyDetailRET'"
5
+ <ct-PropertyDetailRET :api="api" :apiParam="apiParam" :parentModel="parentModel" :top="top" class="ct-PropertyDetailRET" v-if="pageType=='PropertyDetailRET'"
6
6
  @loaded="loaded"></ct-PropertyDetailRET>
7
7
  <ct-PropertySimpleDetailRET :api="api" :apiParam="apiParam" :selectIndex="selectIndex" :rowCount="rowCount" class="ct-PropertySimpleDetailRET"
8
8
  @loaded="loaded"
@@ -30,6 +30,7 @@
30
30
  pageType: String,
31
31
  selectIndex:Number,
32
32
  rowCount:Number,
33
+ top:Number,
33
34
  },
34
35
  data() {
35
36
  return {
@@ -51,48 +51,7 @@
51
51
  <div class="hous-info base-box">
52
52
  <div class="info-conten">
53
53
  <div class="hous-t">
54
- <div>
55
- <el-carousel
56
- arrow="hover"
57
- height="140px"
58
- :autoplay="false"
59
- indicator-position="none"
60
- >
61
- <el-carousel-item
62
- v-for="(item,index) in PropertyInfo.swiper"
63
- :key="index"
64
- >
65
- <div class="swiper-i">
66
- <img :src="item.url">
67
- <img src="../../../assets/Mvr.png" alt="" class="hous-icon">
68
-
69
- </div>
70
- </el-carousel-item>
71
- </el-carousel>
72
-
73
- <div class="hous-img">
74
- <div
75
- class="img-i"
76
- v-for="(item,index) in PropertyInfo.swiper"
77
- :key="index"
78
- > <img :src="item.url">
79
- <div class="img-bot">
80
- <div v-if="item.type.includes('vr')">
81
- <img src="../../../assets/VR.png" alt="" class="img-icon">
82
- <span>VR</span>
83
- </div>
84
- <div v-if="item.type.includes('img')">
85
- <img src="../../../assets/image.png" alt="" class="img-icon">
86
- <span>图片</span>
87
- </div>
88
- <div v-if="item.type.includes('video')">
89
- <img src="../../../assets/video.png" alt="" class="img-icon">
90
- <span>视频</span>
91
- </div>
92
- </div>
93
- </div>
94
- </div>
95
- </div>
54
+ <ct-albums :mediaAlbums="model.mediaAlbums" :title="model.title" :noMediaUrl="model.noMediaUrl"> </ct-albums>
96
55
  </div>
97
56
  <div class="hous-b">
98
57
  <img src="../../../assets/ewm.png" alt="" class="code-ewm">
@@ -503,9 +462,12 @@
503
462
 
504
463
  <script>
505
464
  // import max from '../../css/max';
506
-
465
+ import dynamicAlbums from "./dynamicAlbums.vue";
507
466
  export default {
508
467
  name: 'ct-PropertyDetailOFI',
468
+ components: {
469
+ "ct-albums": dynamicAlbums,
470
+ },
509
471
  props: {
510
472
  vmodel: Object,
511
473
  api: String
@@ -513,13 +475,6 @@
513
475
  data() {
514
476
  return {
515
477
  model:null,
516
- PropertyInfo: {
517
- swiper: [
518
- { name: '客厅', url: 'http://10.5.10.44:13031/Images/20210705/112133_b62d7a78-96b3-4801-b94c-47b83263a001.jpg?width=140&height=135&mode=stretch', isVr: true, type: 'vr' },
519
- { name: '餐厅', url: 'http://10.5.10.44:13031/Images/20210705/112124_4f83c6d5-36bd-444f-9ea1-fa4e3f4de5e0.jpg?width=140&height=135&mode=stretch', isVr: false, type: 'img' },
520
- { name: '户型图', url: 'http://10.5.10.44:13031/Images/20210705/112505_6a3cb2d4-c773-4aba-91af-df6721eadb34.jpg?width=140&height=135&mode=stretch', isVr: false, type: 'video' },
521
- { name: '其它', url: 'http://10.5.10.44:13031/Images/20210705/112133_b62d7a78-96b3-4801-b94c-47b83263a001.jpg?width=140&height=135&mode=stretch', isVr: false, type: 'video' },
522
- ],},
523
478
  allInfo: false,
524
479
  allIn:false,
525
480
  codeOwner: false,