32 lines
1.2 KiB
Vue
32 lines
1.2 KiB
Vue
<template>
|
|
<div>
|
|
<span class="tooltip">
|
|
<span class="dot-twitter" @click="doClick()">{{ row[attr] || 0 }}</span>
|
|
<span class="tooliptext">Hồ sơ</span>
|
|
</span>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
props: ['row', 'api', 'pagename', 'attr'],
|
|
methods: {
|
|
async doClick() {
|
|
let obj
|
|
if(this.attr==='image_count') {
|
|
let rs = await this.$getdata(this.api, {ref: this.row.id, file__type: 2})
|
|
if(rs.length>0) {
|
|
obj = {component: 'media/ImageShow', title: 'Hồ sơ', width: '80%', height: '70vh',
|
|
vbind: {row: this.row, image: rs.map(v=>v.file__file), pagename: this.pagename, api: this.api}}
|
|
} else {
|
|
obj = {component: 'media/ImageGallery', vbind: {row: this.row, pagename: this.pagename, api: this.api},
|
|
width: '50%', height: '500px', title: 'Hình ảnh'}
|
|
}
|
|
} else {
|
|
let vbind = {row: this.row, api: this.api, setting: 'media-fields', filter: {ref: this.row.id, file__type: 1}}
|
|
obj = {component: 'media/FileList', title: 'Hồ sơ', width: '50%', height: '300px', vbind: vbind}
|
|
}
|
|
this.$emit('open', {name: 'dataevent', data: {modal: obj}})
|
|
}
|
|
}
|
|
}
|
|
</script> |