266 lines
5.9 KiB
Vue
266 lines
5.9 KiB
Vue
![]() |
<template>
|
|||
|
<div class="list-container">
|
|||
|
<div
|
|||
|
class="list-content"
|
|||
|
v-if="cloneItems.length"
|
|||
|
:style="{ height: $attrs.height, maxHeight: $attrs.maxHeight }"
|
|||
|
>
|
|||
|
<div
|
|||
|
v-for="(item, index) in cloneItems"
|
|||
|
:key="index"
|
|||
|
class="search-items__item"
|
|||
|
:class="{ active: item.active ?? false }"
|
|||
|
>
|
|||
|
<div class="search-items__header">
|
|||
|
<a class="search-items__label text__13 text__dark-gray">{{
|
|||
|
item.item_type ?? "--"
|
|||
|
}}</a>
|
|||
|
<a class="search-items__title text__blue">
|
|||
|
{{ item.title ?? "--" }}
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
<div class="text__13 text__dark-gray search-items__code">
|
|||
|
<span style="margin-left: 10px">مجله : علوم حدیث</span>
|
|||
|
<span style="margin-left: 10px"
|
|||
|
>شماره : {{ item.number ?? "--" }}</span
|
|||
|
>
|
|||
|
<span style="margin-left: 10px">
|
|||
|
منبع : {{ item.resource ?? "--" }}</span
|
|||
|
>
|
|||
|
</div>
|
|||
|
<div class="search-items__content">
|
|||
|
<div
|
|||
|
class="search-items__detail text__14 line-clamp__2"
|
|||
|
v-html="item.text"
|
|||
|
></div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="search-item__actions">
|
|||
|
<span class="tavasi tavasi-more-vert"></span>
|
|||
|
|
|||
|
<!-- <button @click="showDetails(index)" title="مشاهده"-->
|
|||
|
<!-- class="btn show-btn">-->
|
|||
|
<!-- <i class="tavasi tavasi-eye"></i>-->
|
|||
|
<!-- </button>-->
|
|||
|
<button
|
|||
|
@click="togglePanel(index)"
|
|||
|
title="ویرایش"
|
|||
|
class="btn edit-btn"
|
|||
|
data-toggle="modal"
|
|||
|
data-target="#edit-paper"
|
|||
|
>
|
|||
|
<span class="tavasi tavasi-Component-242--1"></span>
|
|||
|
</button>
|
|||
|
|
|||
|
<button
|
|||
|
@click="deleteItem(item.id)"
|
|||
|
title="حذف"
|
|||
|
class="btn delete-btn"
|
|||
|
type="button"
|
|||
|
>
|
|||
|
<!-- <NuxtImg class="" src="assets/common/img/Component 295 – 1.svg" alt="حذف"/>-->
|
|||
|
<svg class="icon icon-Component-295--1">
|
|||
|
<use xlink:href="#icon-Component-295--1"></use>
|
|||
|
</svg>
|
|||
|
</button>
|
|||
|
<button
|
|||
|
@click="showDetails(index)"
|
|||
|
title="مشاهده جزییات"
|
|||
|
class="btn show-detail-btn"
|
|||
|
type="button"
|
|||
|
>
|
|||
|
<span class="tavasi tavasi-eye"></span>
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<no-data v-else />
|
|||
|
|
|||
|
<jahat-pagination
|
|||
|
:paginationInfo="paginationInfo"
|
|||
|
@page-changed="clickCallback"
|
|||
|
@page-limit-changed="limitChanged"
|
|||
|
>
|
|||
|
</jahat-pagination>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
// import tableAndListMixin from "~/mixins/tableAndListMixin";
|
|||
|
|
|||
|
/**
|
|||
|
|
|||
|
* @vue-prop {Object} [paginationInfo] - اطلاعات صفحه بندی
|
|||
|
* @vue-prop {Number} [paginationInfo.pages=0] - تعداد کل صفحات
|
|||
|
* @vue-prop {Number} [paginationInfo.total=0] - تعداد کل آیتمها
|
|||
|
* @vue-prop {Number} [paginationInfo.page=1] - صفحه فعلی
|
|||
|
* @vue-prop {Number} [paginationInfo.offset=0] - آفست (صفحه * تعداد در هر صفحه)
|
|||
|
* @vue-prop {Number} [paginationInfo.limit=10] - تعداد در هر صفحه
|
|||
|
*
|
|||
|
* @vue-data {Array} [cloneItems=[]] - لیست آیتمهای کلون شده
|
|||
|
*/
|
|||
|
|
|||
|
export default {
|
|||
|
// mixins: [tableAndListMixin],
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style scoped lang="scss">
|
|||
|
.list-container {
|
|||
|
width: 100%;
|
|||
|
|
|||
|
.list-content {
|
|||
|
height: calc(100vh - 10em);
|
|||
|
overflow: auto;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.search-items__item {
|
|||
|
position: relative;
|
|||
|
|
|||
|
&:not(:last-child) {
|
|||
|
margin-bottom: 30px;
|
|||
|
}
|
|||
|
|
|||
|
&:hover,
|
|||
|
&.active {
|
|||
|
background-color: #e8fcff;
|
|||
|
|
|||
|
.search-item__actions {
|
|||
|
width: 8.5em;
|
|||
|
transition: all 0.5s;
|
|||
|
|
|||
|
.tavasi-more-vert {
|
|||
|
transition: all 0.2s;
|
|||
|
display: none;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.search-items__code {
|
|||
|
display: -webkit-box;
|
|||
|
display: -ms-flexbox;
|
|||
|
display: flex;
|
|||
|
align-items: flex-start;
|
|||
|
margin-bottom: 5px;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__header {
|
|||
|
display: -webkit-box;
|
|||
|
display: -ms-flexbox;
|
|||
|
display: flex;
|
|||
|
align-items: flex-start;
|
|||
|
margin-bottom: 5px;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__header .text__gray {
|
|||
|
color: #a7a098;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__label {
|
|||
|
white-space: nowrap;
|
|||
|
padding: 0 5px;
|
|||
|
display: -webkit-box;
|
|||
|
display: -ms-flexbox;
|
|||
|
display: flex;
|
|||
|
-webkit-box-align: center;
|
|||
|
-ms-flex-align: center;
|
|||
|
align-items: center;
|
|||
|
-webkit-box-pack: center;
|
|||
|
-ms-flex-pack: center;
|
|||
|
justify-content: center;
|
|||
|
border-radius: 6px;
|
|||
|
background: #fff;
|
|||
|
border: 1px solid #e4dfd8;
|
|||
|
height: 20px;
|
|||
|
margin-left: 8px;
|
|||
|
color: rgba(0, 0, 0, 0.4);
|
|||
|
}
|
|||
|
|
|||
|
.search-items__label:hover {
|
|||
|
color: black;
|
|||
|
border-color: black;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__meta {
|
|||
|
display: -webkit-box;
|
|||
|
display: -ms-flexbox;
|
|||
|
display: flex;
|
|||
|
align-items: flex-start;
|
|||
|
margin-bottom: 6px;
|
|||
|
margin-top: 3px;
|
|||
|
color: #060606;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__title:hover {
|
|||
|
color: #0d65e8 !important;
|
|||
|
text-decoration: underline !important;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__detail {
|
|||
|
display: inline-block;
|
|||
|
line-height: 25px;
|
|||
|
color: #111;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__item--bookmark {
|
|||
|
padding-left: 55px;
|
|||
|
position: relative;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark {
|
|||
|
position: absolute;
|
|||
|
left: 0;
|
|||
|
top: 24px;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark.active img.active {
|
|||
|
opacity: 1;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark.active img.deactive {
|
|||
|
opacity: 0;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark:hover img.active {
|
|||
|
opacity: 1;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark:hover img.deactive {
|
|||
|
opacity: 0;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark img {
|
|||
|
-webkit-transition: all 0.2s linear;
|
|||
|
transition: all 0.2s linear;
|
|||
|
}
|
|||
|
|
|||
|
.search-items__bookmark img.active {
|
|||
|
position: absolute;
|
|||
|
opacity: 0;
|
|||
|
}
|
|||
|
|
|||
|
.search-item__actions {
|
|||
|
position: absolute;
|
|||
|
left: 0;
|
|||
|
width: 1.6em;
|
|||
|
top: 1em;
|
|||
|
overflow: hidden;
|
|||
|
transition: all 0.5s;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
|
|||
|
.btn {
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
|
|||
|
.tavasi {
|
|||
|
color: #adbec4;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|