centaline-data-driven-v3 0.0.44 → 0.0.46
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/dist/centaline-data-driven-v3.umd.js +77 -76
- package/package.json +1 -1
- package/src/components/app/FormList.vue +1 -2
- package/src/components/app/PhotoSelect.vue +1 -1
- package/src/components/app/ViewerFile.vue +13 -9
- package/src/components/app/searchScreen.vue +8 -5
- package/src/components/web/File.vue +76 -16
- package/src/components/web/PhotoSelect.vue +14 -9
- package/src/components/web/PhotoSelectList.vue +14 -9
- package/src/components/web/SearchList/SearchStats.vue +18 -4
- package/src/components/web/SearchList/SearchTable.vue +5 -1
- package/src/components/web/SearchList.vue +10 -9
- package/src/components/web/ViewerFile.vue +5 -4
- package/src/components/web/photo.vue +79 -19
- package/src/loader/src/Form.js +0 -1
- package/src/loader/src/SearchTable.js +7 -2
- package/src/main.js +2 -2
- package/src/router/index.js +0 -6
- package/src/utils/common.js +9 -2
- package/src/utils/mixins.js +22 -0
- package/src/views/SearchList.vue +3 -2
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="van-uploader" style="margin:10px 10px 0 10px; ">
|
|
3
3
|
<div class="van-uploader__wrapper">
|
|
4
|
-
<draggable :list="photoList" v-bind="dragOptions" @change="onEnd" class="card" @dragover.prevent @drop.prevent>
|
|
4
|
+
<draggable :list="photoList" v-bind="dragOptions" :distance="1" @change="onEnd" class="card" @dragover.prevent @drop.prevent>
|
|
5
5
|
<template #item="{ element, index }">
|
|
6
6
|
<div class="van-uploader__preview" style="display:inline-block;" @click="viewerfile(photoList, index)">
|
|
7
7
|
<div class="van-image van-uploader__preview-image">
|
|
@@ -32,8 +32,7 @@
|
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
<template v-if="file.mediaTypeID == '1'">
|
|
35
|
-
<iframe :src="file.mediaUrl"
|
|
36
|
-
:width="displayAreaWidth + 'px'" style="border-width: 0px;">
|
|
35
|
+
<iframe :src="file.mediaUrl" height="100%" width="100%" style="border-width: 0px;">
|
|
37
36
|
</iframe>
|
|
38
37
|
</template>
|
|
39
38
|
<!--Photo-->
|
|
@@ -48,11 +47,16 @@
|
|
|
48
47
|
<template v-else-if="file.mediaTypeID == '4'">
|
|
49
48
|
<div class="viewerContent">
|
|
50
49
|
<template v-if="file.thumbnailUrl">
|
|
51
|
-
<
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
<template v-if="common.isVideoFile(file.mediaUrl)">
|
|
51
|
+
<video preload="none" :poster="file.thumbnailUrl" :src="file.mediaUrl"
|
|
52
|
+
controls="controls" controlslist="nodownload" style="width: 100%;">
|
|
53
|
+
您的浏览器不支持 video 标签。
|
|
54
|
+
</video>
|
|
55
|
+
</template>
|
|
56
|
+
<template v-else>
|
|
57
|
+
<iframe :src="file.mediaUrl" height="100%" width="100%" style="border-width: 0px;">
|
|
58
|
+
</iframe>
|
|
59
|
+
</template>
|
|
56
60
|
</template>
|
|
57
61
|
<template v-else>
|
|
58
62
|
<video preload="none" :src="file.mediaUrl" controls="controls" class="viewerContent"
|
|
@@ -109,7 +113,7 @@
|
|
|
109
113
|
</template>
|
|
110
114
|
<script setup lang="ts">
|
|
111
115
|
import { ref, onMounted } from 'vue'
|
|
112
|
-
|
|
116
|
+
import common from '../../utils/common'
|
|
113
117
|
import viewerImage from './ViewerFile/ViewerImage.vue';
|
|
114
118
|
import viewerPDF from './ViewerFile/ViewerPDF.vue';
|
|
115
119
|
import viewerP360 from './ViewerFile/viewerP360.vue';
|
|
@@ -191,7 +195,7 @@ function onswipenext() {
|
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
.enlarge-picture {
|
|
194
|
-
display:flex;
|
|
198
|
+
display: flex;
|
|
195
199
|
padding: 2px 0;
|
|
196
200
|
}
|
|
197
201
|
</style>
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
<div class="ct-serach-screen" v-if="model">
|
|
3
3
|
<div class="screen-serach" style="display: flex;flex-direction: row;">
|
|
4
4
|
<div style="display: flex; flex: 1;">
|
|
5
|
-
<van-dropdown-menu v-if="showScreen && screendata.length > 0" active-color="#EE6B6B"
|
|
5
|
+
<van-dropdown-menu v-if="showScreen && screendata.length > 0" active-color="#EE6B6B"
|
|
6
|
+
style=" width: 100%;">
|
|
6
7
|
<van-dropdown-item v-for="(field, index) in screendata" :key="index" ref="Refitem"
|
|
7
8
|
:title-class="field.searchValue || field.searchValue1 ? 'title color-EE6B6B' : 'title'"
|
|
8
9
|
@open="open(field)" @close="close(field)">
|
|
@@ -32,7 +33,6 @@
|
|
|
32
33
|
<component :is="field.is" :vmodel="field" ref="Fields"
|
|
33
34
|
:parameterAction="model.parameterAction" />
|
|
34
35
|
</template>
|
|
35
|
-
|
|
36
36
|
<van-sticky position="bottom">
|
|
37
37
|
<div style="padding: 5px 16px; display: flex;background-color: #ffffff;">
|
|
38
38
|
<van-button color="#ECECEC" block @click="reset"
|
|
@@ -47,8 +47,11 @@
|
|
|
47
47
|
</van-dropdown-item>
|
|
48
48
|
</van-dropdown-menu>
|
|
49
49
|
</div>
|
|
50
|
-
<div style="display: flex;width: 60px;align-items: center;justify-content: center;" v-if="flagsort"
|
|
51
|
-
|
|
50
|
+
<div style="display: flex;width: 60px;align-items: center;justify-content: center;" v-if="flagsort"
|
|
51
|
+
@click="clicksort">
|
|
52
|
+
<span class="van-ellipsis" style="font-size: 14px;line-height: 22px;color: #323233;">{{ sortname != '' ?
|
|
53
|
+
sortname :
|
|
54
|
+
'排序' }}</span>
|
|
52
55
|
<van-icon name="sort" size="13" color="#323233" />
|
|
53
56
|
</div>
|
|
54
57
|
</div>
|
|
@@ -329,7 +332,7 @@ function getsortfield(field) {
|
|
|
329
332
|
function selectsort(ev) {
|
|
330
333
|
issort.value = false;
|
|
331
334
|
sortname.value = "";
|
|
332
|
-
if(ev.code){
|
|
335
|
+
if (ev.code) {
|
|
333
336
|
sortname.value = ev.name;
|
|
334
337
|
}
|
|
335
338
|
emit("sort", ev);
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
v-model:file-list="model.fileList" :multiple="true" :auto-upload="true" :action="action()"
|
|
8
8
|
:data="model.uploadData" :headers="headers" :before-upload="beforeUploadProcess"
|
|
9
9
|
:on-success="handleAvatarSuccess" :on-error="handleAvatarError" :on-progress="uploadProcess"
|
|
10
|
-
:limit="parseInt(model.maxValue1 || 999)" :on-exceed="handleExceed"
|
|
11
|
-
|
|
10
|
+
:limit="parseInt(model.maxValue1 || 999)" :on-exceed="handleExceed"
|
|
11
|
+
:uploadStatus="!model.disableUpload&&!model.locked?'upload':'lock'"
|
|
12
|
+
>
|
|
12
13
|
<el-icon>
|
|
13
14
|
<Plus />
|
|
14
|
-
</el-icon>
|
|
15
|
+
</el-icon>
|
|
15
16
|
<template #tip>
|
|
16
17
|
<div class="el-upload__tip errorMessage" style="white-space:pre-wrap;" v-show="!model.valid"
|
|
17
18
|
v-html="model.validMessage">
|
|
@@ -19,8 +20,10 @@
|
|
|
19
20
|
<div v-show="model.description" v-html="model.description">
|
|
20
21
|
</div>
|
|
21
22
|
</template>
|
|
22
|
-
<
|
|
23
|
-
:src="util.getAssetsImage('serw1.png')"
|
|
23
|
+
<div class="qrcode-target" v-if="model.QRCodeAction">
|
|
24
|
+
<img @click.stop="qrcodeFn" ref="QRCodeRef" :src="util.getAssetsImage('serw1.png')"
|
|
25
|
+
style="width: 35px;height: 35px; float: right; " alt="扫码上传" title="扫码上传" />
|
|
26
|
+
</div>
|
|
24
27
|
<div class="ScanUploadPhoto" v-if="model.qrcodeVisible" @click.stop="qrcodeVisible = true"
|
|
25
28
|
:style="{ top: model.QRCodeRefTop + 'px', left: model.QRCodeRefLeft + 'px' }">
|
|
26
29
|
<div style="border-bottom:none">
|
|
@@ -103,11 +106,8 @@
|
|
|
103
106
|
|
|
104
107
|
|
|
105
108
|
<div @dragstart="drag($event, file)" @drop="drop($event, file)" @dragover.prevent
|
|
106
|
-
@dragenter="dragenter($event, file)" @dragleave="dragleave($event, file)">
|
|
107
|
-
<
|
|
108
|
-
element-loading-spinner="el-icon-loading">
|
|
109
|
-
</div>
|
|
110
|
-
<el-image v-else fit="fill"
|
|
109
|
+
@dragenter="dragenter($event, file)" @dragleave="dragleave($event, file)" >
|
|
110
|
+
<el-image fit="fill"
|
|
111
111
|
:src="file.url ? file.url : file.mediaUrl ? file.mediaUrl + '/100/100' : util.getAssetsImage('blank.png')"
|
|
112
112
|
style="width: 100px; height: 100px" :z-index="previewZIndex">
|
|
113
113
|
</el-image>
|
|
@@ -187,11 +187,13 @@ const props = defineProps({
|
|
|
187
187
|
})
|
|
188
188
|
const refct_upload = ref()
|
|
189
189
|
const refupload = ref()
|
|
190
|
-
const QRCodeRef = ref()
|
|
191
|
-
|
|
190
|
+
const QRCodeRef = ref()
|
|
192
191
|
const UploadhttpRequest = ref({})
|
|
192
|
+
const startfile = ref();
|
|
193
|
+
const endfile = ref();
|
|
194
|
+
const model = ref(null);
|
|
195
|
+
|
|
193
196
|
|
|
194
|
-
const model = ref(null)
|
|
195
197
|
const headers = computed(() => {
|
|
196
198
|
return common.getDataDrivenOpts().handler.getRequestHeaders();
|
|
197
199
|
})
|
|
@@ -222,6 +224,7 @@ function action() {
|
|
|
222
224
|
return "";
|
|
223
225
|
}
|
|
224
226
|
|
|
227
|
+
|
|
225
228
|
function load(data) {
|
|
226
229
|
model.value = data;
|
|
227
230
|
model.value.validExcute = () => {
|
|
@@ -410,7 +413,7 @@ async function SliceUpload(options) {
|
|
|
410
413
|
}
|
|
411
414
|
// data是上传时附带的额外参数,file是文件
|
|
412
415
|
|
|
413
|
-
let uid =
|
|
416
|
+
let uid = File.uploadguid();
|
|
414
417
|
try {
|
|
415
418
|
file.uid = file.uid || uid;
|
|
416
419
|
|
|
@@ -568,8 +571,7 @@ function QRCodeLocate() {
|
|
|
568
571
|
}
|
|
569
572
|
|
|
570
573
|
|
|
571
|
-
|
|
572
|
-
const endfile = ref();
|
|
574
|
+
|
|
573
575
|
|
|
574
576
|
function drag(e, file) {
|
|
575
577
|
startfile.value = file;
|
|
@@ -624,10 +626,66 @@ function viewerfile(file) {
|
|
|
624
626
|
File.viewerfile(file, model.value)
|
|
625
627
|
}
|
|
626
628
|
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
function PasteUpload(event) {
|
|
632
|
+
if (!model.value.locked && !model.value.disableUpload) {
|
|
633
|
+
// 获取粘贴板中的图片
|
|
634
|
+
const clipboardDatas = (event.clipboardData || event.originalEvent.clipboardData);
|
|
635
|
+
const items = clipboardDatas.items;
|
|
636
|
+
for (let index in items) {
|
|
637
|
+
const item = items[index];
|
|
638
|
+
if (item.kind === 'file') {
|
|
639
|
+
|
|
640
|
+
const file = item.getAsFile();
|
|
641
|
+
let uid = File.uploadguid();
|
|
642
|
+
|
|
643
|
+
file.uid = file.uid || uid;
|
|
644
|
+
refupload.value.handleStart(file);
|
|
645
|
+
// 提交上传队列
|
|
646
|
+
refupload.value.submit();
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
function ListenerPaste(event) {
|
|
653
|
+
var target = event.target;
|
|
654
|
+
const uploads = document.querySelectorAll('[uploadStatus="upload"]');
|
|
655
|
+
|
|
656
|
+
if (!window.uploads) {
|
|
657
|
+
window.uploads = { count: 0, length: uploads.length };
|
|
658
|
+
}
|
|
659
|
+
if (uploads.length > 1) {
|
|
660
|
+
window.uploads.count = window.uploads.count + 1;
|
|
661
|
+
window.uploads.length = uploads.length;
|
|
662
|
+
|
|
663
|
+
if (window.uploads.count == window.uploads.length) {
|
|
664
|
+
window.uploads = null;
|
|
665
|
+
ElMessage({
|
|
666
|
+
message: "存在多个上传组件,请点击粘贴上传!",
|
|
667
|
+
type: 'info',
|
|
668
|
+
showClose: true,
|
|
669
|
+
});
|
|
670
|
+
return false;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
else if (uploads.length == 1) {
|
|
674
|
+
window.uploads = null;
|
|
675
|
+
PasteUpload(event);
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
// 添加粘贴事件监听器
|
|
682
|
+
document.addEventListener('paste', ListenerPaste);
|
|
627
683
|
onBeforeUnmount(() => {
|
|
628
684
|
//销毁定时上传
|
|
629
685
|
clearTimeout(model.value.qrtimer);
|
|
630
686
|
window.removeEventListener('scroll', model.value.QRCodeLocate, true)
|
|
687
|
+
//销毁贴事件监听器
|
|
688
|
+
document.removeEventListener('paste', ListenerPaste)
|
|
631
689
|
})
|
|
632
690
|
|
|
633
691
|
defineExpose({
|
|
@@ -766,6 +824,8 @@ defineExpose({
|
|
|
766
824
|
right: 3px;
|
|
767
825
|
width: 35px;
|
|
768
826
|
height: 35px;
|
|
827
|
+
color: red;
|
|
828
|
+
text-align: right;
|
|
769
829
|
}
|
|
770
830
|
|
|
771
831
|
:deep(.ScanUploadPhoto) {
|
|
@@ -197,19 +197,24 @@ function selfValidExcute(eventName) {
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
function viewerfile(list, index) {
|
|
200
|
+
var file = list[index];
|
|
201
|
+
if (file && file.mediaTypeID == 4 && !common.isVideoFile(file.mediaUrl)) {
|
|
202
|
+
window.open(file.mediaUrl)
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
var MediaAlbum = [{ albumName: model.value.controlLabel || "媒体", medias: [] as any }];
|
|
200
206
|
|
|
201
|
-
|
|
207
|
+
let fileList = list.filter((item) => {
|
|
208
|
+
return item.flagDeleted !== true;
|
|
209
|
+
});
|
|
210
|
+
fileList.forEach((v) => {
|
|
211
|
+
MediaAlbum[0].medias.push(v);
|
|
212
|
+
});
|
|
213
|
+
common.viewerfile((model.value.controlLabel || "预览媒体"), MediaAlbum, 0, index, model.value.mediaViewPageType);
|
|
214
|
+
}
|
|
202
215
|
|
|
203
|
-
let fileList = list.filter((item) => {
|
|
204
|
-
return item.flagDeleted !== true;
|
|
205
|
-
});
|
|
206
|
-
fileList.forEach((v) => {
|
|
207
|
-
MediaAlbum[0].medias.push(v);
|
|
208
|
-
});
|
|
209
|
-
common.viewerfile((model.value.controlLabel || "预览媒体"), MediaAlbum, 0, index, model.value.mediaViewPageType);
|
|
210
216
|
}
|
|
211
217
|
|
|
212
|
-
|
|
213
218
|
defineExpose({
|
|
214
219
|
model
|
|
215
220
|
})
|
|
@@ -225,16 +225,21 @@ function rolRouterCellClickHandler(routerKey, rowindex, sourceIndex) {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
function viewerfile(list, index) {
|
|
228
|
+
var file = list[index];
|
|
229
|
+
if (file && file.mediaTypeID == 4 && !common.isVideoFile(file.mediaUrl)) {
|
|
230
|
+
window.open(file.mediaUrl)
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
var MediaAlbum = [{ albumName: model.value.label || "媒体", medias: [] as any }];
|
|
228
234
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
MediaAlbum
|
|
236
|
-
}
|
|
237
|
-
common.viewerfile((model.value.label || "预览媒体"), MediaAlbum, 0, index, props.mediaViewPageType);
|
|
235
|
+
let fileList = list.filter((item) => {
|
|
236
|
+
return item.flagDeleted !== true;
|
|
237
|
+
});
|
|
238
|
+
fileList.forEach((v) => {
|
|
239
|
+
MediaAlbum[0].medias.push(v);
|
|
240
|
+
});
|
|
241
|
+
common.viewerfile((model.value.label || "预览媒体"), MediaAlbum, 0, index, props.mediaViewPageType);
|
|
242
|
+
}
|
|
238
243
|
}
|
|
239
244
|
function change() {
|
|
240
245
|
loading.value = true;
|
|
@@ -80,15 +80,20 @@ const props = defineProps({
|
|
|
80
80
|
Boolean,
|
|
81
81
|
default: false,
|
|
82
82
|
},
|
|
83
|
+
apiParam: {
|
|
84
|
+
type: Object,
|
|
85
|
+
default: () => { }
|
|
86
|
+
},
|
|
83
87
|
})
|
|
84
88
|
const model = ref(null)
|
|
85
89
|
const FlagStatistics = ref(false)
|
|
86
90
|
const sortData = ref(null)
|
|
87
|
-
const selectStats = ref(
|
|
91
|
+
const selectStats = ref('')
|
|
88
92
|
const showData = ref([])
|
|
89
93
|
const flagClick = ref(false)
|
|
90
94
|
const lastWidth = ref(0)
|
|
91
95
|
const showWidth = ref(0)
|
|
96
|
+
const fieldName1 = ref('')
|
|
92
97
|
const option = ref({
|
|
93
98
|
isHidden: true, //是否开启操作栏隐藏设置,默认开启
|
|
94
99
|
showNum: 3, //如果isHidden为true时,个数大于3就会隐藏,默认是3
|
|
@@ -130,12 +135,14 @@ function load(data) {
|
|
|
130
135
|
data.source.content.forEach((item, index) => {
|
|
131
136
|
item.sort = index;
|
|
132
137
|
item.key = item.fieldName1 + "*" + replabel(item.controlLabel);
|
|
138
|
+
fieldName1.value = item.fieldName1;
|
|
133
139
|
sortData.value[item.key] = index;
|
|
134
140
|
});
|
|
135
141
|
}
|
|
136
142
|
else {
|
|
137
143
|
data.source.content.forEach((item, index) => {
|
|
138
144
|
item.key = item.fieldName1 + "*" + replabel(item.controlLabel);
|
|
145
|
+
fieldName1.value = item.fieldName1;
|
|
139
146
|
if (sortData.value[item.key] == undefined) {
|
|
140
147
|
item.sort = index;
|
|
141
148
|
} else {
|
|
@@ -151,11 +158,18 @@ function load(data) {
|
|
|
151
158
|
return -1; // 顺序不变
|
|
152
159
|
}
|
|
153
160
|
});
|
|
154
|
-
|
|
161
|
+
if (selectStats.value == '') {
|
|
162
|
+
var m = data.source.content.find((v) => {
|
|
163
|
+
return v.code1 === props.apiParam[fieldName1.value];
|
|
164
|
+
});
|
|
165
|
+
if (m) {
|
|
166
|
+
selectStats.value = m.key
|
|
167
|
+
}
|
|
168
|
+
}
|
|
155
169
|
let i = data.source.content.findIndex(
|
|
156
170
|
(v) => selectStats.value === v.key
|
|
157
171
|
);
|
|
158
|
-
if (i == -1 || selectStats.value ==
|
|
172
|
+
if (i == -1 || selectStats.value == '') {
|
|
159
173
|
handleClick(data.source.content[0], false);
|
|
160
174
|
}
|
|
161
175
|
FlagStatistics.value = true;
|
|
@@ -232,7 +246,7 @@ function replabel(labelName) {
|
|
|
232
246
|
}
|
|
233
247
|
function getsearchStats() {
|
|
234
248
|
let rtn = [];
|
|
235
|
-
if (selectStats.value !=
|
|
249
|
+
if (selectStats.value != '') {
|
|
236
250
|
let n = model.value.source.content.find(
|
|
237
251
|
(v) => selectStats.value === v.key
|
|
238
252
|
);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div style="width: 100%" class="ct-searchtable" ref="refSearchTable">
|
|
3
3
|
<SearchStats ref="refTableStats" v-if="!isLoading && model && searchStatsApi" :api="searchStatsApi"
|
|
4
4
|
@searchStats="clickSearchStats" :searchModel="model.searchModel" @setTableHeight="setTableHeight"
|
|
5
|
-
:flagDisabled="disabledStats">
|
|
5
|
+
:flagDisabled="disabledStats" :apiParam="apiParam">
|
|
6
6
|
</SearchStats>
|
|
7
7
|
<TableToolbar ref="refToolbar" v-if="!isLoading && model && model.buttons" :buttons="model.buttons"
|
|
8
8
|
:key="model.toolbarKey" @click="toolbarClickHandler" @importComplete="importComplete"
|
|
@@ -243,6 +243,10 @@ const props = defineProps({
|
|
|
243
243
|
api: String,
|
|
244
244
|
searchStatsApi: String,
|
|
245
245
|
flagAppMode: Boolean,
|
|
246
|
+
apiParam: {
|
|
247
|
+
type: Object,
|
|
248
|
+
default: () => { }
|
|
249
|
+
},
|
|
246
250
|
flagFocus: {
|
|
247
251
|
Boolean,
|
|
248
252
|
default: true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div ref="refMain" style="width: 100%;height: 100%;display: flex;" :class="{ 'domDisabled': pageDisabled }">
|
|
3
3
|
<div class="search-list"
|
|
4
|
-
:style="{ 'height': pageHeightReal ? pageHeightReal : '100%', 'width': searchWidth ? searchWidth + 'px' : '100%','background':isLayout?'#ffffff':'' }">
|
|
4
|
+
:style="{ 'height': pageHeightReal ? pageHeightReal : '100%', 'width': searchWidth ? searchWidth + 'px' : '100%', 'background': isLayout ? '#ffffff' : '' }">
|
|
5
5
|
<div slot="header" class="clearfix" v-if="typeof title !== 'undefined' && showTitle">
|
|
6
6
|
<span style="font-weight:bold">{{ title }}</span>
|
|
7
7
|
</div>
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
<searchTable ref="refTable" :api="searchDataApi" :key="reloadKey" :searchStatsApi="searchStatsApi"
|
|
16
16
|
:from="from" :isIframe="isIframe" :documentHeight="documentHeight" :documentWidth="documentWidth"
|
|
17
17
|
:flagPopupSearchlist="flagPopupSearchlist" :screenTop="screenTop" :flagAppMode="flagAppMode"
|
|
18
|
-
@searchComplate="searchComplate" @loaded="tableLoaded"
|
|
19
|
-
@
|
|
20
|
-
@
|
|
21
|
-
@popupClickHandler="popupClickHandler" :dragStartItem="dragStartItem"
|
|
18
|
+
:apiParam="apiParam" @searchComplate="searchComplate" @loaded="tableLoaded"
|
|
19
|
+
@rowClickHandle="rowClickHandle" @refreshRowHandle="refreshRowHandle" @scrollHandle="scrollHandle"
|
|
20
|
+
@refreshParent="refreshParentHandler" @simpleRouterRefreshHandler="simpleRouterRefreshHandler"
|
|
21
|
+
@closeSideBar="closeSideBar" @popupClickHandler="popupClickHandler" :dragStartItem="dragStartItem"
|
|
22
|
+
:dragStartName="dragStartName"
|
|
22
23
|
@flagNotificationParentAfterContentChanged="flagNotificationParentAfterContentChanged">
|
|
23
24
|
</searchTable>
|
|
24
25
|
</div>
|
|
@@ -42,7 +43,7 @@ import SearchCategory from './SearchList/SearchCategory.vue';
|
|
|
42
43
|
import SearchSideMenu from './SearchList/SearchSideMenu.vue';
|
|
43
44
|
import SearchSideRight from './SearchList/SearchSideRight.vue';
|
|
44
45
|
import { ref, nextTick, onMounted, watch, onActivated } from 'vue'
|
|
45
|
-
const emit = defineEmits(['loaded', 'failLoad', 'tableLoaded', 'scrollHandle', 'rowClickHandle', 'refreshParent', 'submit','flagNotificationParentAfterContentChanged'])
|
|
46
|
+
const emit = defineEmits(['loaded', 'failLoad', 'tableLoaded', 'scrollHandle', 'rowClickHandle', 'refreshParent', 'submit', 'flagNotificationParentAfterContentChanged'])
|
|
46
47
|
const props = defineProps({
|
|
47
48
|
vmodel: Object,
|
|
48
49
|
parameterAction: String,
|
|
@@ -158,7 +159,7 @@ function screenLoaded(defaultSearch) {
|
|
|
158
159
|
if (props.from && props.from == 'detail') {
|
|
159
160
|
screenTop.value = refScreen.value.$el.offsetTop;
|
|
160
161
|
}
|
|
161
|
-
pageDisabled.value=true;
|
|
162
|
+
pageDisabled.value = true;
|
|
162
163
|
refTable.value.searchComplate(refScreen.value.model, defaultSearch);
|
|
163
164
|
emit('loaded', refScreen.value.model);
|
|
164
165
|
}
|
|
@@ -232,10 +233,10 @@ function searchComplate(index) {
|
|
|
232
233
|
}
|
|
233
234
|
function tableLoaded() {
|
|
234
235
|
title.value = refTable.value.model.title;
|
|
235
|
-
pageDisabled.value=false;
|
|
236
|
+
pageDisabled.value = false;
|
|
236
237
|
flagSideBar.value = refTable.value.model.flagSideBar;
|
|
237
238
|
flagDefaultDisplaySideBar.value = refTable.value.model.flagDefaultDisplaySideBar;
|
|
238
|
-
isLayout.value=refTable.value.model.isLayout;
|
|
239
|
+
isLayout.value = refTable.value.model.isLayout;
|
|
239
240
|
if (refTable.value.model.rowSelectRouter) {
|
|
240
241
|
rowSelectRouter.value = refTable.value.model.rowSelectRouter
|
|
241
242
|
sideBarPageType.value = refTable.value.model.rowSelectRouter.actionSource;
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
</div>
|
|
51
51
|
<div class="toggler" @click="mediaLabelShow=!mediaLabelShow" v-if="itemFile.mediaLabelName||itemFile.mediaDescCN||itemFile.mediaDescEN||itemFile.mediaUploadEmployeeDesc">
|
|
52
52
|
<span class="glyphicon glyphicon-chevron-right" v-if="mediaLabelShow">
|
|
53
|
-
<el-icon><ArrowRightBold /></el-icon>
|
|
53
|
+
<el-icon color="#000000"><ArrowRightBold /></el-icon>
|
|
54
54
|
</span>
|
|
55
55
|
<span class="glyphicon glyphicon-chevron-left" v-if="!mediaLabelShow">
|
|
56
|
-
<el-icon><ArrowLeftBold /></el-icon>
|
|
56
|
+
<el-icon color="#000000"><ArrowLeftBold /></el-icon>
|
|
57
57
|
</span>
|
|
58
58
|
</div>
|
|
59
59
|
</div>
|
|
@@ -486,16 +486,17 @@ html {
|
|
|
486
486
|
.cont {
|
|
487
487
|
position: absolute;
|
|
488
488
|
z-index: 100000000000000;
|
|
489
|
-
color:
|
|
489
|
+
color: #ffffff;
|
|
490
490
|
width: auto;
|
|
491
491
|
display: inline-block !important;
|
|
492
492
|
display: inline;
|
|
493
493
|
background-color: #ffffff00;
|
|
494
494
|
font-size: 12px;
|
|
495
|
+
background: rgba(0, 0, 0, .45);
|
|
495
496
|
}
|
|
496
497
|
|
|
497
498
|
.enlarge-picture {
|
|
498
|
-
padding: 5px
|
|
499
|
+
padding: 5px 10px;
|
|
499
500
|
}
|
|
500
501
|
.toggler {
|
|
501
502
|
-webkit-border-top-right-radius: 4px;
|