258 lines
5.8 KiB
Vue
258 lines
5.8 KiB
Vue
|
<template>
|
|||
|
|
|||
|
<div class="wrapper detail-page">
|
|||
|
<div class="detail-page__header" style="padding-top: 10px !important">
|
|||
|
<div class="detail-page__nav container-fluid">
|
|||
|
<ul class="list-unstyled">
|
|||
|
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div ref="filterdiv" class="detail-page__filters div-meno" style="top: 80px">
|
|||
|
|
|||
|
|
|||
|
<button
|
|||
|
id="m1"
|
|||
|
style="border-radius: 50%;"
|
|||
|
|
|||
|
class="btn buttonshow"
|
|||
|
@click.prevent="showfilter"
|
|||
|
>
|
|||
|
<span class="tavasi tavasi-Component-356--1"></span>
|
|||
|
</button>
|
|||
|
|
|||
|
<button
|
|||
|
id="m2"
|
|||
|
|
|||
|
|
|||
|
class="btn buttonclose rounded-circle "
|
|||
|
@click.prevent="hidefilter"
|
|||
|
>
|
|||
|
<span class="tavasi tavasi-Component-21--1"></span>
|
|||
|
</button>
|
|||
|
|
|||
|
<div>
|
|||
|
<div class="scrollbar"
|
|||
|
|
|||
|
|
|||
|
v-if="showAitem">
|
|||
|
<p v-for="(item, i) in listindexs" :key="i">
|
|||
|
<span v-html="item"></span>
|
|||
|
</p>
|
|||
|
<!-- <button type="bu" @click.prevent="hidefilter" class="text__15 btn btn-default popUp-tab__clear button_giveup">
|
|||
|
<svg
|
|||
|
data-v-46e9fe5b=""
|
|||
|
data-testid="chevron-double-lg-left-icon"
|
|||
|
class="s12 icon-chevron-double-lg-left "
|
|||
|
>
|
|||
|
<use
|
|||
|
data-v-46e9fe5b=""
|
|||
|
href="/assets/img/icons.d6ff8c17.svg#chevron-double-lg-left"
|
|||
|
></use>
|
|||
|
</svg>
|
|||
|
بستن
|
|||
|
</button> -->
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div>
|
|||
|
<div class="detail-page__content" style="padding-top: 80px">
|
|||
|
<div class="detail-page__tab-content">
|
|||
|
|
|||
|
|
|||
|
<div class="search-items">
|
|||
|
<div class="search-items__item">
|
|||
|
|
|||
|
<h1 class="text__14 text__dark-blue">{{ title }}</h1>
|
|||
|
<br />
|
|||
|
<div v-if="paragraphs.length > 0">
|
|||
|
<p
|
|||
|
v-for="(paragraph, i) in paragraphs"
|
|||
|
:key="i"
|
|||
|
style="line-height: 30px"
|
|||
|
>
|
|||
|
<span v-html="paragraph"></span>
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
<h3 v-else class="text__14 text__dark-gray">
|
|||
|
این جلسه متن ندارد
|
|||
|
</h3>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
name: "ShowText",
|
|||
|
props: ["index", "textSearch"],
|
|||
|
data() {
|
|||
|
return {
|
|||
|
datainput: [],
|
|||
|
initdata: false,
|
|||
|
indexitem: this.index,
|
|||
|
searchText: this.textSearch,
|
|||
|
text: "",
|
|||
|
text2: "",
|
|||
|
showAitem: true,
|
|||
|
showStatus: 1,
|
|||
|
};
|
|||
|
},
|
|||
|
|
|||
|
created: function () {
|
|||
|
let data = JSON.parse(localStorage.getItem("answer"));
|
|||
|
this.datainput = data[this.indexitem]._source;
|
|||
|
},
|
|||
|
computed: {
|
|||
|
paragraphs() {
|
|||
|
this.text = this.datainput.content;
|
|||
|
|
|||
|
if (this.text.length > 0) {
|
|||
|
this.text2 = this.getHighlight(this.text);
|
|||
|
return this.text2.split("\n");
|
|||
|
}
|
|||
|
return [];
|
|||
|
},
|
|||
|
listindexs() {
|
|||
|
var list = this.getHighlight(this.datainput.mindex);
|
|||
|
return list.split("\n");
|
|||
|
},
|
|||
|
title() {
|
|||
|
if (this.datainput.title)
|
|||
|
return `${this.datainput.title} (کد جلسه: ${this.datainput.meet_code})`;
|
|||
|
else
|
|||
|
return `${this.datainput.subtitle} (کد جلسه: ${this.datainput.meet_code})`;
|
|||
|
},
|
|||
|
},
|
|||
|
|
|||
|
mounted() {
|
|||
|
//////this.setsummary();
|
|||
|
//this.$refs.summarytext.setInfo(this.datainput);
|
|||
|
this.initdata = true;
|
|||
|
|
|||
|
},
|
|||
|
methods: {
|
|||
|
showfilter: function () {
|
|||
|
// this.$refs.filterdiv.classList.add("show");
|
|||
|
this.showAitem = true;
|
|||
|
this.showStatus = 1;
|
|||
|
document.getElementById("m1").style.display = "none";
|
|||
|
document.getElementById("m2").style.display = "inline-block";
|
|||
|
|
|||
|
},
|
|||
|
hidefilter: function () {
|
|||
|
// this.$refs.filterdiv.classList.remove("show");
|
|||
|
this.showAitem = false;
|
|||
|
this.showStatus = 2;
|
|||
|
document.getElementById("m1").style.display = "inline-block";
|
|||
|
document.getElementById("m2").style.display = "none";
|
|||
|
|
|||
|
// if(showAitem=false){
|
|||
|
// this.showfilter=!this.showfilter;
|
|||
|
// }
|
|||
|
},
|
|||
|
getHighlight(text) {
|
|||
|
var words = this.searchText.split(" ");
|
|||
|
var index = 1;
|
|||
|
words.forEach((w) => {
|
|||
|
if (w == "" || w == " ") {
|
|||
|
return;
|
|||
|
}
|
|||
|
let classname = `searchHilight${index}`;
|
|||
|
text = text.replaceAll(
|
|||
|
w,
|
|||
|
"<span class='" + classname + "'>" + w + "</span>"
|
|||
|
);
|
|||
|
var w1 = this.normalize(w);
|
|||
|
if (w1 != w) {
|
|||
|
text = text.replaceAll(
|
|||
|
w1,
|
|||
|
"<span class='" + classname + "'>" + w1 + "</span>"
|
|||
|
);
|
|||
|
}
|
|||
|
index = index + 1;
|
|||
|
if (index > 5) index = 1;
|
|||
|
});
|
|||
|
return text;
|
|||
|
},
|
|||
|
normalize(item) {
|
|||
|
item = item.replaceAll("،", "");
|
|||
|
item = item.replaceAll(":", "");
|
|||
|
item = item.replaceAll(".", "");
|
|||
|
|
|||
|
item = item.replaceAll("ک", "ك");
|
|||
|
item = item.replaceAll("ی", "ي");
|
|||
|
item = item.replaceAll("إ", "ا");
|
|||
|
item = item.replaceAll("أ", "ا");
|
|||
|
item = item.replaceAll("آ", "ا");
|
|||
|
item = item.replaceAll("ة", "ت");
|
|||
|
return item;
|
|||
|
},
|
|||
|
},
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss" scoped>
|
|||
|
.search-system {
|
|||
|
.detail-page__content {
|
|||
|
top: 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
@media screen and (min-width: 992px) {
|
|||
|
.detail-page .detail-page__content .detail-page__tab-content .search-items {
|
|||
|
height: calc(100vh - 8em) !important;
|
|||
|
overflow: auto;
|
|||
|
}
|
|||
|
}
|
|||
|
.buttonclose {
|
|||
|
|
|||
|
position: relative;
|
|||
|
right: 5px;
|
|||
|
width: 50px;
|
|||
|
height: 50px;
|
|||
|
z-index: 99999;
|
|||
|
|
|||
|
}
|
|||
|
.buttonclose span{
|
|||
|
font-size: 35px;
|
|||
|
color: black;
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
.buttonshow span{
|
|||
|
color: black;
|
|||
|
|
|||
|
}
|
|||
|
.buttonshow {
|
|||
|
position: relative;
|
|||
|
color:inherit;
|
|||
|
right: 5px;
|
|||
|
width: 50px;
|
|||
|
height: 50px;
|
|||
|
z-index: 99999;
|
|||
|
}
|
|||
|
.div-meno{
|
|||
|
background-color: #f9f9f9 !important;
|
|||
|
}
|
|||
|
|
|||
|
#m1{
|
|||
|
display: none;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
</style>
|