Modify addresses

This commit is contained in:
mustafa-rezae 2025-02-26 11:22:46 +03:30
parent 79d854a991
commit 9a5f23287f
40 changed files with 1397 additions and 70 deletions

View File

@ -264,7 +264,7 @@
</template>
<script>
import { mapState, mapActions } from "pinia";
import ComparisonEntitys from "../../../json/search/json/comprisonEntity.json";
import ComparisonEntitys from "../../../json/search/comprisonEntity.json";
import { useEntityStore } from "../../../stores/entityStore";
// import diffMatchPatch from "../diff_match_patch.js";

View File

@ -0,0 +1,406 @@
<template>
<div class="book-container firefox-scrollbar">
<!-- <RecycleScroller
class="scroller"
ref="scroller"
:items="listPages"
:item-height="50"
:min-item-size="800"
key-field="id"
:emitUpdate="true"
@update="handleUpdate"
>
<template v-slot="{ item }">
<div class="book-page">
<div class="d-flex justify-content-center">
<span class="pt-3">صفحه {{ item.pageNumber }}</span>
</div>
<div v-if="isLoading" class="loader">
<svg class="svg-loader" viewBox="25 25 50 50">
<circle class="circle" r="20" cy="50" cx="50"></circle>
</svg>
</div>
<p v-html="item.html"></p>
</div>
</template>
</RecycleScroller> -->
</div>
</template>
<script>
// import { RecycleScroller } from "vue-virtual-scroller";
// import "vue-virtual-scroller/dist/vue-virtual-scroller.css";
// import { mapGetters, mapMutations } from "vuex";
// import HttpService from "@services/httpService";
// import libraryApi from "@apis/libraryApi";
// export default {
// props: {
// listContent: {
// default() {
// return [];
// },
// },
// listBooks: {
// default() {
// return [];
// },
// },
// },
// beforeMount() {
// this.httpService = new HttpService();
// this.$root.$on("jump-to-item", (item) => {
// this.jumpToItem(item);
// });
// },
// mounted() {
// setTimeout(() => {
// this.setPageList();
// }, 500);
// },
// data() {
// return {
// bookInfo: {},
// listPages: [],
// listPagesState: [], // 1 : is updated contnet 0:is empty
// currentPage: 1,
// isLoading: false,
// totalPages: 0,
// counter: 0,
// page: 1,
// pageStart: 1,
// pageEnd: 20,
// pageNumber: 1,
// pagination: {
// page: 0,
// total: 0,
// pageTop: 0,
// pageBottom: 1,
// offset: 0,
// limit: 25,
// },
// };
// },
// computed: {
// ...mapGetters("entity", ["selectedItemEntityGetter"]),
// ...mapGetters(["organNameGetter", "isSidebarCollapsed"]),
// },
// methods: {
// ...mapMutations("entity", ["SET_ITEM_ENTITY"]),
// ...mapMutations(["TOGGLE_PANEL"]),
// jumpToItem(item) {
// if (item && item.jumpPage) {
// const pageIndex = item.jumpPage - this.pageStart; // محاسبه ایندکس صفحه مقصد در آرایه listPagesState
// const pagesToLoad = [];
// // برای بارگذاری 3 صفحه قبل و 3 صفحه بعد
// for (let i = -10; i <= 10; i++) {
// const targetPage = item.jumpPage + i; // محاسبه صفحه هدف با افزودن یا کم کردن از jumpPage
// const targetPageIndex = targetPage - this.pageStart; // محاسبه ایندکس مربوط به این صفحه
// // بررسی اینکه آیا صفحه مربوطه خالی است یا نه
// if (
// targetPageIndex >= 0 &&
// targetPageIndex < this.listPagesState.length &&
// this.listPagesState[targetPageIndex] !== 1
// ) {
// pagesToLoad.push(targetPage); // اگر صفحه خالی است، باید بارگذاری شود
// }
// }
// // اگر هیچ صفحهای برای بارگذاری وجود نداشت، مستقیماً پرش به صفحه مقصد
// if (pagesToLoad.length === 0) {
// this.$refs?.scroller?.scrollToItem(pageIndex);
// return;
// }
// // بارگذاری صفحات خالی
// this.isLoading = true;
// this.getPageContentParags(
// Math.min(...pagesToLoad), // شروع بارگذاری از صفحه کمترین
// Math.max(...pagesToLoad) // تا بیشترین صفحه
// )
// .then((listParags) => {
// let listOnePageParags = listParags.reduce((acc, parag) => {
// let page_num = parag._source.address.page_num;
// if (!acc[page_num]) {
// acc[page_num] = [];
// }
// acc[page_num].push(parag);
// return acc;
// }, {});
// // بهروزرسانی محتوای تمام صفحات بارگذاریشده
// pagesToLoad.forEach((page) => {
// const pageIdx = page - this.pageStart;
// this.listPages[pageIdx] = this.getPageContentHtml(
// page,
// listOnePageParags
// );
// this.listPagesState[pageIdx] = 1; // علامتگذاری به عنوان پر
// });
// // پرش به صفحه مقصد
// this.$refs?.scroller?.scrollToItem(pageIndex);
// this.isLoading = false;
// })
// .catch((err) => {
// console.error("Error loading page content:", err);
// this.isLoading = false;
// });
// }
// },
// setPageList() {
// this.totalPages = 0;
// this.pageStart = 0;
// this.pageEnd = 0;
// this.listBooks.forEach((book) => {
// if (book._id == this.$route.params?.id) this.bookInfo = book;
// });
// this.totalPages = this.bookInfo?._source?.page_count || 0;
// this.pageStart = this.bookInfo?._source?.page_first;
// this.pageEnd = this.bookInfo?._source?.page_last;
// this.listPages = [];
// this.listPagesState = [];
// for (let i = 0; i < this.totalPages; i++) {
// this.page = this.pageNumber + i;
// this.listPagesState.push(0); // 1 : is updated contnet 0:is empty
// this.listPages.push({
// html: `<div id="${this.bookInfo?._id}" page="${this.page}" empty="1" >خالی</div>`,
// pageNumber: this.page,
// id: this.bookInfo?._id,
// });
// }
// },
// async getPageContentParags(page_start, page_end) {
// let id = this.$route.params.id;
// let url = this.repoMicroServiceName + libraryApi.book.get;
// url = url.replace("@page_start", page_start);
// url = url.replace("@page_end", page_end);
// url = url.replace("@vol_id", id);
// return await this.httpService.getRequest(url).then((res) => {
// return res.hits.hits;
// });
// },
// handleUpdate(startIndex, endIndex, visibleStartIndex, visibleEndIndex) {
// /////////////////////////////////////////////////
// // بدست آوردن صفحات خالی از محدوده درخواستی برای بروز رسانی
// let page_empty_index1 = -1;
// let page_empty_index2 = -1;
// for (let i = startIndex; i <= endIndex; i++) {
// if (this.listPagesState[i] == 0 && page_empty_index1 == -1) {
// page_empty_index1 = i;
// }
// if (this.listPagesState[i] == 0) {
// page_empty_index2 = i;
// }
// }
// // اگر همه صفحات پر باشند هیچ کاری نکن و برگرد
// if (page_empty_index1 == -1 && page_empty_index2 == -1) {
// // اگر هیچ صفحه خالی پیدا نشد، عملیات بروز رسانی را متوقف کنید
// return;
// }
// // برای احتیاط اگر یکی از شماره های شروع یا پایان پرنشده باشند
// page_empty_index1 =
// page_empty_index1 == -1 ? startIndex : page_empty_index1;
// page_empty_index2 =
// page_empty_index2 == -1 ? endIndex : page_empty_index2;
// /////////////////////////////////////////////////
// let page_start = this.pageStart + page_empty_index1;
// let page_end = this.pageStart + 20 + page_empty_index2;
// // اگر هیچ دادهای برای بارگذاری وجود نداشته باشد، عملیات را متوقف کنید
// if (
// page_start === page_end &&
// this.listPagesState[page_empty_index1] === 1
// ) {
// return;
// }
// // بارگذاری محتوای صفحهها
// this.isLoading = true;
// this.getPageContentParags(page_start, page_end).then((listParags) => {
// let listOnePageParags = listParags.reduce((acc, item) => {
// let page_num = item._source.address.page_num;
// if (!acc[page_num]) {
// acc[page_num] = [];
// }
// acc[page_num].push(item);
// return acc;
// }, {});
// // بهروزرسانی محتوای تمام صفحات بارگذاریشده
// for (let i = page_empty_index1; i <= page_empty_index2; i++) {
// const pageNum = this.pageStart + i;
// if (listOnePageParags[pageNum]) {
// this.listPages[i] = this.getPageContentHtml(
// pageNum,
// listOnePageParags
// );
// this.listPagesState[i] = 1; // علامتگذاری به عنوان پر
// }
// }
// this.isLoading = false;
// });
// },
// getPageContentHtml(page_num, listParags) {
// let page_id = this.bookInfo?._id + "_" + page_num;
// let content = `<div id="${page_id}" page="${page_num}" class="all-paragraphs">`;
// // بررسی وجود دادهها برای شماره صفحه خاص
// if (listParags[page_num]) {
// listParags[page_num].forEach((parag) => {
// switch (parag?._source?.style_tag) {
// case "ENV":
// content += `<h3 id="${parag?._source?.id}" page="${page_num}" class="heading heading3">${parag?._source?.content}</h3>`;
// break;
// case "B":
// content += `<h4 id="${parag?._source?.id}" page="${page_num}" class="heading heading4">${parag?._source?.content}</h4>`;
// break;
// case "H":
// content += `<p id="${parag?._source?.id}" page="${page_num}" class="hadith">«${parag?._source?.content}»</p>`;
// break;
// case "Q":
// content += `<p id="${parag?._source?.id}" page="${page_num}" class="quran">${parag?._source?.content}</p>`;
// break;
// case "R":
// content += `<p id="${parag?._source?.id}" page="${page_num}" class="address">${parag?._source?.content}</p>`;
// break;
// default:
// content += `<p id="${parag?._source?.id}" page="${page_num}" class="paragraph">${parag?._source?.content}</p>`;
// break;
// }
// });
// }
// content += "</div>";
// return {
// html: content,
// pageNumber: page_num,
// id: page_id,
// };
// },
// },
// components: {
// RecycleScroller,
// },
// };
</script>
<style lang="scss">
// .scroller {
// overflow-y: auto;
// height: 48em;
// scroll-behavior: smooth;
// }
// .book-container {
// background-color: #fff;
// // height: 48em !important;
// box-shadow: 0 0.4688rem 2.1875rem rgba(4, 9, 20, 0.03),
// 0 0.9375rem 1.4063rem rgba(4, 9, 20, 0.03),
// 0 0.25rem 0.5313rem rgba(4, 9, 20, 0.03),
// 0 0.125rem 0.1875rem rgba(4, 9, 20, 0.03);
// // overflow: auto;
// border-radius: 0.5em;
// }
// .book-page {
// background-color: #eee;
// box-shadow: 0 0.4688rem 2.1875rem rgba(4, 9, 20, 0.03),
// 0 0.9375rem 1.4063rem rgba(4, 9, 20, 0.03),
// 0 0.25rem 0.5313rem rgba(4, 9, 20, 0.03),
// 0 0.125rem 0.1875rem rgba(4, 9, 20, 0.03);
// min-height: 800px;
// max-height: 800px;
// height: 800px !important;
// overflow: hidden;
// }
// .vue-recycle-scroller__item-wrapper {
// padding: 1em 0;
// }
// // .paragraph {
// // padding: 0 4em;
// // }
// .page {
// padding: 1em 0em;
// }
// .paragraph {
// // padding: 0 3em;
// }
// .all-paragraphs {
// padding: 3em;
// }
// .loader {
// display: flex;
// justify-content: center;
// align-content: center;
// height: 40em;
// }
// .heading {
// margin-bottom: 1em;
// .heading3 {
// font-weight: bold;
// }
// }
// .hadith {
// }
// .quran {
// color: green;
// }
// .address {
// font-size: 0.8rem;
// }
// /* From Uiverse.io by barisdogansutcu */
// .svg-loader {
// width: 3.25em;
// transform-origin: center;
// animation: rotate4 2s linear infinite;
// }
// .circle {
// fill: none;
// stroke: hsl(214, 97%, 59%);
// stroke-width: 2;
// stroke-dasharray: 1, 200;
// stroke-dashoffset: 0;
// stroke-linecap: round;
// animation: dash4 1.5s ease-in-out infinite;
// }
// @keyframes rotate4 {
// 100% {
// transform: rotate(360deg);
// }
// }
// @keyframes dash4 {
// 0% {
// stroke-dasharray: 1, 200;
// stroke-dashoffset: 0;
// }
// 50% {
// stroke-dasharray: 90, 200;
// stroke-dashoffset: -35px;
// }
// 100% {
// stroke-dashoffset: -125px;
// }
// }
</style>

View File

@ -149,8 +149,8 @@
<script>
import { mapState } from "pinia";
import searchApi from "../../apis/searchApi.js";
import { useSearchStore } from "../../stores/searchStore";
import searchApi from "@search/apis/searchApi.js";
import { useSearchStore } from "@search/stores/searchStore";
// Vue.directive("click-outside", {
// bind(el, binding, vnode) {

View File

@ -221,7 +221,7 @@
<script>
// import { itemMixin } from "~/search/mixins/itemMixin";
import menu from "~/json/search/json/sidebar.json";
import menu from "~/json/search/sidebar.json";
import { mapState, mapActions } from "pinia";
import apis from "~/apis/searchApi.js";

View File

@ -185,9 +185,7 @@
// import { dragDropMoveMixin } from "~/search/mixins/dragDropMoveMixin";
import { mapState, mapActions } from "pinia";
import { useSearchStore } from "~/stores/searchStore";
import { useCommonStore } from "~/stores/commonStore";
import { useEntityStore } from "@search/stores/entityStore";
import { useSearchStore } from "@search/stores/searchStore";
import apis from "~/apis/listApi";

View File

@ -315,7 +315,7 @@ import apis from "~/apis/searchApi";
import adminApi from "~/apis/adminApi";
import settingsApi from "~/apis/settingsApi.js";
import { mapState, mapActions } from "pinia";
import stopWordContextMenu from "~/json/search/json/stopWordContextMenu.json";
import stopWordContextMenu from "~/json/search/stopWordContextMenu.json";
export default {
mixins: [repetitionWordsMixin],

View File

@ -111,7 +111,7 @@
// import HttpService from "~/services/httpService";
import searchApi from "~/apis/searchApi";
import repoApi from "~/apis/repoApi";
import chartType from "~/json/search/json/chart.json";
import chartType from "~/json/search/chart.json";
import { mapState } from "pinia";
// import TermContent from "~/components/search/view/TermContent.vue";
// import NeshaContent from "~/components/search/view/NeshaContent.vue";

View File

@ -241,7 +241,7 @@
import favoriteApi from "~/apis/favoriteApi";
import { mapState, mapActions } from "pinia";
import tableActions from "~/json/search/json/listTableContextMenu";
import tableActions from "~/json/search/listTableContextMenu";
// import idbUtil from "~/mixins/idb.js";
/**

View File

@ -310,7 +310,7 @@
<script>
import favoriteApi from "~/apis/favoriteApi";
import tableActions from "~/json/search/json/listTableContextMenu";
import tableActions from "~/json/search/listTableContextMenu";
import { mapState, mapActions } from "pinia";
import idbUtil from "~/mixins/idb.js";

View File

@ -29,7 +29,7 @@
<script>
import { mapState, mapActions } from "pinia";
// import summary from "~/json/search/json/summary.json";
// import summary from "~/json/search/summary.json";
import { useSearchStore } from "~/stores/searchStore";
import { useCommonStore } from "~/stores/commonStore";
/**

View File

@ -0,0 +1,41 @@
[
{
"show": true,
"icon": "reply",
"title": "پاسخ",
"to": {
"name": "undefined"
},
"howToOpen": "",
"href": "",
"class": "",
"action": "reply-to"
},
{
"show": true,
"icon": "bin",
"title": "حذف",
"to": {
"name": "undefined"
},
"selected": false,
"disabled": false,
"howToOpen": "",
"href": "",
"class": "",
"action": "remove"
},
{
"show": true,
"icon": "Component-242--1",
"title": "ویرایش",
"to": {
"name": "undefined"
},
"howToOpen": "",
"href": "",
"class": "",
"action": "edit-item"
}
]

View File

@ -0,0 +1,26 @@
{
"chats": [
{
"color": 5,
"icon": "Home-21",
"link": "defaultRoute",
"title": "پیشخوان",
"show": true,
"translateKey": "Dashboard"
},
{
"color": 5,
"icon": "Layout-Text",
"link": "detail",
"title": "متن",
"show": true
},
{
"color": 5,
"icon": "Component-68--1",
"link": "qrule",
"title": "احکام",
"show": true
}
]
}

View File

@ -0,0 +1,11 @@
{
"chats": [
{
"color": 5,
"icon": "Home-21",
"link": "defaultRoute",
"title": "پیشخوان",
"show": true
}
]
}

View File

@ -0,0 +1,87 @@
[
{
"title": "حاشیه نویسی",
"key": "annotation",
"from_top": [
{
"key": "annotation_type",
"label": "نوع حاشیه ",
"type": "select",
"placeholder": "نوع حاشیه را مشخص کنید",
"required": "1",
"classes": " col-sm mb-1",
"multi_select": "0",
"options": [
{
"value": "نقد",
"title": "نقد"
},
{
"value": "استدلال",
"title": "استدلال"
},
{
"value": "تعریف",
"title": "تعریف"
},
{
"value": "سوال",
"title": "سوال"
}
]
},
{
"key": "username",
"label": "نویسنده",
"type": "string",
"placeholder": "",
"required": "1",
"classes": " col-sm mb-1",
"multi_select": "0",
"options": []
},
{
"key": "date_create",
"label": "تاریخ",
"type": "string",
"placeholder": "",
"required": "1",
"classes": " col-sm mb-1",
"multi_select": "0",
"options": []
}
],
"from_body": [
{
"key": "text_main",
"label": "متن اصلی",
"type": "string",
"placeholder": "",
"required": "0",
"multi_select": "0",
"options": []
},
{
"key": "text_user",
"label": "متن نویسنده",
"type": "textarea",
"placeholder": "متن خود را وارد کنید",
"required": "0",
"multi_select": "0",
"options": []
}
],
"from_footer": [
{
"key": "address",
"lable": "نشانی",
"type": "string",
"placeholder": "",
"reference": "{author}/{branch}/{meet_no}/(کد داخلی : {meet_lid})",
"required": "1",
"multi_select": "0",
"options": []
}
]
}
]

165
json/entity/entityFish.json Normal file
View File

@ -0,0 +1,165 @@
[
{
"title": "فیش برداری",
"key": "fish",
"from_top": [
{
"key": "title",
"label": "عنوان",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "1",
"classes": " 4 ",
"multi_select": "0",
"options": []
},
{
"key": "username",
"label": "نویسنده",
"type": "string",
"placeholder": "",
"required": "1",
"classes": "4",
"multi_select": "0",
"options": []
},
{
"key": "date_create",
"label": "تاریخ",
"type": "string",
"placeholder": "",
"required": "1",
"classes": "4",
"multi_select": "0",
"options": []
},
{
"key": "target",
"label": "هدف متن",
"type": "string",
"placeholder": " هدف را وارد کنید",
"required": "1",
"classes": "4",
"multi_select": "0",
"options": []
},
{
"key": "subject",
"label": "موضوع متن",
"type": "string",
"placeholder": " موضوع متن را بیان کنید",
"required": "1",
"classes": "4",
"multi_select": "0",
"options": []
},
{
"key": "verb",
"number":"6",
"label": "فعل متن",
"type": "select",
"placeholder": " فعل متن را انتخاب کنید",
"required": "1",
"classes": "4",
"multi_select": "0",
"options": [
{
"value": "نقد",
"title": "نقد"
},
{
"value": "استدلال",
"title": "استدلال"
},
{
"value": "تایید",
"title": "تایید"
},
{
"value": "سوال",
"title": "سوال"
}
]
},
{
"key": "subject1",
"label": "موضوع عام",
"type": "string",
"placeholder": "موضوع کلی را وارد کنید",
"required": "0",
"classes": "4 ",
"multi_select": "0",
"options": []
},
{
"key": "subject2",
"label": "موضوع خاص",
"type": "string",
"placeholder": " موضوع جزئی تر را وارد کنید",
"required": "0",
"classes": "4",
"multi_select": "0",
"options": []
}
],
"from_body": [
{
"key": "text_type",
"label": "نوع برداشت",
"type": "select",
"placeholder": "موضوع کلی را وارد کنید",
"required": "1",
"classes": "4",
"multi_select": "0",
"options": [
{
"value": "خلاصه",
"title": "خلاصه"
},
{
"value": "مستقیم",
"title": "مستقیم"
},
{
"value": "ترجمه",
"title": "ترجمه"
},
{
"value": "تشریح",
"title": "تشریح"
}
]
},
{
"key": "text_user",
"label": "متن نویسنده",
"type": "textarea",
"placeholder": "متن خود را وارد کنید",
"required": "0",
"multi_select": "0",
"options": []
},
{
"key": "text_main",
"label": "متن اصلی",
"type": "textarea",
"placeholder": "",
"required": "0",
"multi_select": "0",
"options": []
}
],
"from_footer": [
{
"key": "address",
"lable": "نشانی",
"type": "string",
"placeholder": "",
"reference": "{author}/{branch}/{meet_no}/(کد داخلی : {meet_lid})",
"required": "1",
"multi_select": "0",
"options": []
}
]
}
]

View File

@ -0,0 +1,36 @@
{
"entity": [
{
"color": 5,
"icon": "Home-21",
"link": "defaultRoute",
"title": "پیشخوان",
"show": true,
"translateKey": "Dashboard"
},
{
"color": 5,
"icon": "Layout-Text-Window--Streamline-Bootstrap",
"link": "showEntity",
"title": "متن",
"show": true,
"translateKey": "Text"
},
{
"color": 5,
"icon": "Component-68--1",
"link": "navigationView",
"title": "فهرست",
"show": true,
"translateKey": "InitialList"
},
{
"color": 5,
"icon": "portal-roles",
"link": "entityResearch",
"title": "تحقیقات",
"show": true,
"translateKey": "Research"
}
]
}

View File

@ -0,0 +1,11 @@
{
"chats": [
{
"color": 5,
"icon": "Home-21",
"link": "defaultRoute",
"title": "پیشخوان",
"show": true
}
]
}

11
json/entity/helpMenu.json Normal file
View File

@ -0,0 +1,11 @@
{
"chats": [
{
"color": 5,
"icon": "Home-21",
"link": "defaultRoute",
"title": "پیشخوان",
"show": true
}
]
}

View File

@ -0,0 +1,384 @@
[
{
"title": "مشخصات اصلی",
"items": [
{
"key": "title",
"label": "عنوان",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "1",
"validation_regex": "{3-100}",
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "author",
"label": "صاحب اثر",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "1",
"validation_regex": "{3-100}",
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "branch",
"label": "دوره",
"type": "string",
"placeholder": "دوره را وارد کنید",
"required": "1",
"validation_regex": "{3-100}",
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "meet_no",
"label": "شماره",
"type": "number",
"placeholder": "شماره جلسه را وارد کنید",
"required": "1",
"validation_regex": "{1-11}",
"validation_error": "خطا: شماره عدد و حداکثر تا 11 رقم می باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "format",
"label": "نوع",
"type": "select",
"placeholder": "انتخاب کنید",
"required": "1",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"labelClass":"col-md-12",
"inputClass":"col-md-12",
"options": [
{
"value": "جلسه علمی",
"title": "جلسه علمی"
},
{
"value": "سخنرانی",
"title": "سخنرانی"
},
{
"value": "منبر",
"title": "منبر"
},
{
"value": "کتاب",
"title": "کتاب"
},
{
"value": "مقاله",
"title": "مقاله"
},
{
"value": "سایر",
"title": "سایر"
}
]
},
{
"key": "begin_date",
"label": "تاریخ",
"type": "string",
"placeholder": "مثل: 1401/2/2، پاییز1400، زمستان99",
"required": "0",
"validation_regex": "",
"validation_error": "طبق قالب مثال تاریخ وارد کنید",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
}
]
},
{
"title": "مشخصات فرعی",
"items": [
{
"key": "subtitle",
"label": "عنوان موضوعی",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "link",
"label": "پیوند",
"type": "string",
"placeholder": "پیوند اینترنتی را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "عبارت باید حداقل 3 و حداکثر 200 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "city",
"label": "شهر",
"type": "string",
"placeholder": "شهر را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "place",
"label": "مکان",
"type": "string",
"placeholder": "مکان را بنویسید",
"required": "0",
"validation_regex": "",
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "address",
"label": "نشانی",
"type": "string",
"placeholder": "نشانی را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "end_date",
"label": "تاریخ پایان",
"type": "string",
"placeholder": "مثل: 1401/2/2، پاییز1400، زمستان99",
"required": "0",
"validation_regex": ".*",
"validation_error": "طبق قالب مثال تاریخ وارد کنید",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
}
]
},
{
"title": "اطلاعات جلسه",
"items": [
{
"key": "audience",
"label": "نوع مخاطب",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "ralation",
"label": "مناسبت",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "attendees",
"label": "حاضرین",
"type": "string",
"placeholder": "عناوین را با ، جدا کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
}
]
},
{
"title": "چند رسانه",
"items": [
{
"key": "photo_links",
"label": "تصاویر",
"type": "img",
"placeholder": "انتخاب کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "sound_links",
"label": "صوت",
"type": "sound",
"placeholder": "انتخاب کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "video_links",
"label": "فیلم",
"type": "video",
"placeholder": "انتخاب کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
}
]
},
{
"title": "کدها",
"items": [
{
"key": "meet_code",
"label": "کد جلسه",
"type": "number",
"placeholder": "کد عددی را وارد کنید",
"required": "1",
"validation_regex": "",
"validation_error": "خطا: شماره عدد و حداکثر تا 11 رقم می باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "person_code",
"label": "کدشخص",
"type": "number",
"placeholder": "کد عددی را وارد کنید",
"required": "1",
"validation_regex": "",
"validation_error": "خطا: شماره عدد و حداکثر تا 11 رقم می باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "research_code",
"label": "کدپژوهش",
"type": "number",
"placeholder": "کد عددی را وارد کنید",
"required": "1",
"validation_regex": "",
"validation_error": "خطا: شماره عدد و حداکثر تا 11 رقم می باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "meet_lid",
"label": "کد داخلی",
"type": "number",
"placeholder": "کد عددی را وارد کنید",
"required": "1",
"validation_regex": "",
"validation_error": "خطا: شماره عدد و حداکثر تا 11 رقم می باشد",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
}
]
},
{
"title": "خلاصه",
"items": [
{
"key": "verb",
"label": "فعل",
"type": "string",
"placeholder": "عنوان را وارد کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "keywords",
"label": "واژه گان",
"type": "string",
"placeholder": "عناوین را با ، جدا کنید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
},
{
"key": "mintro",
"label": "چکیده",
"type": "textarea",
"placeholder": "متن را اینجا بنویسید",
"required": "0",
"validation_regex": "",
"validation_error": "",
"multi_select": "0",
"options": [],
"labelClass":"col-md-12",
"inputClass":"col-md-12"
}
]
}
]

View File

@ -0,0 +1,32 @@
[
{
"show": false,
"icon": "bin",
"title": "انتقال به کلمات حذفی ",
"to": {
"name": "undefined"
},
"selected": false,
"disabled": false,
"howToOpen": "modal",
"href": "",
"class": "",
"action": "remove"
},
{
"show": false,
"icon": "bin",
"title": "حذف از کلمات حذفی",
"to": {
"name": "undefined"
},
"selected": false,
"disabled": false,
"howToOpen": "modal",
"href": "",
"class": "",
"action": "import"
}
]

View File

@ -0,0 +1,31 @@
{
"texts": [
{
"key": "text",
"source_key": "qanon_title",
"label": "عنوان",
"tooltip": "tooltip",
"style": "header-title"
}
],
"tools": [
{
"key": "icon",
"icon": "copy-3",
"title": "مقایسه",
"can": "search_summary",
"tooltip": "مقایسه",
"type": "button"
}
,
{
"key": "switch",
"icon": "Graph-Light",
"title": "مشخصات",
"texts1": "جدولی",
"texts2": "نموداری",
"viewMode": "table",
"state": "1"
}
]
}

View File

@ -0,0 +1,90 @@
[
{
"title": "عناوین اصلی",
"key": "title_main",
"items": [
{
"title": "عنوان",
"key": "title",
"type": "string"
},
{
"title": "دوره",
"key": "branch",
"type": "string"
},
{
"title": "جلسه",
"key": "meet_no",
"type": "string"
},
{
"title": "صاحب اثر",
"key": "author",
"type": "string"
},
{
"title": "تاریخ",
"key": "begin_date",
"type": "date"
},
{
"title": "کد داخلی",
"key": "meet_lid",
"type": "string"
},
{
"title": "نوع",
"key": "format",
"type": "string"
}
]
},
{
"title": "متن اصلی",
"key": "content",
"items": [
{
"title": "متن اصلی",
"key": "content",
"type": "text"
}
]
},
{
"title": "عناوین فرعی",
"key": "title_sub",
"items": [
{
"title": "عنوان موضوعی",
"key": "subtitle",
"type": "string"
},
{
"title": "پیوند",
"key": "link",
"type": "string"
},
{
"title": "شهر",
"key": "city",
"type": "string"
},
{
"title": "مکان",
"key": "place",
"type": "string"
},
{
"title": "نشانی",
"key": "address",
"type": "string"
},
{
"title": "تاریخ پایان",
"key": "end_date",
"type": "string"
}
]
}
]

View File

@ -0,0 +1,11 @@
{
"chats": [
{
"color": 5,
"icon": "Home-21",
"link": "defaultRoute",
"title": "پیشخوان",
"show": true
}
]
}

View File

@ -428,11 +428,11 @@
import { mapActions, mapState } from "pinia";
import { useEntityStore } from "@search/stores/entityStore";
import { useSearchStore } from "~/stores/searchStore";
import { useSearchStore } from "@search/stores/searchStore";
import { useCommonStore } from "~/stores/commonStore";
import sidbarMenuDefault from "~/json/entity/entityMenu.json";
import sidbarMenuMajles from "~/json/entity/entityMenuMajles.json";
import sidbarMenuDefault from "@search/json/entity/entityMenu.json";
import sidbarMenuMajles from "@search/json/entity/entityMenuMajles.json";
import entityApi from "~/apis/entityApi";
import repoApi from "~/apis/repoApi";
@ -1593,91 +1593,91 @@ export default {
components: {
AutoComplation: defineAsyncComponent(() =>
import("../../../../../../components/global/AutoComplation.vue")
import("@search/components/global/AutoComplation.vue")
),
EntityQaRelation: defineAsyncComponent(() =>
import("~/components/entity/components/EntityQaRelation.vue")
import("@search/components/entity/components/EntityQaRelation.vue")
),
ComponentTextFish: defineAsyncComponent(() =>
import("~/components/entity/components/ComponentTextFish.vue")
import("@search/components/entity/components/ComponentTextFish.vue")
),
ComparisonEntity: defineAsyncComponent(() =>
import("~/components/entity/components/ComparisonEntity.vue")
import("@search/components/entity/components/ComparisonEntity.vue")
),
SelectEntityText: defineAsyncComponent(() =>
import("~/components/entity/components/SelectEntityText.vue")
import("@search/components/entity/components/SelectEntityText.vue")
),
EntitySelectTerm: defineAsyncComponent(() =>
import("~/components/entity/components/EntitySelectTerm.vue")
import("@search/components/entity/components/EntitySelectTerm.vue")
),
EntityText: defineAsyncComponent(() =>
import("~/components/entity/components/EntityText.vue")
import("@search/components/entity/components/EntityText.vue")
),
EntityMqSection: defineAsyncComponent(() =>
import("~/components/entity/components/EntityMqSection.vue")
import("@search/components/entity/components/EntityMqSection.vue")
),
EntityQaSection: defineAsyncComponent(() =>
import("~/components/entity/components/EntityQaSection.vue")
import("@search/components/entity/components/EntityQaSection.vue")
),
EntityChartGraph: defineAsyncComponent(() =>
import("~/components/entity/components/EntityChartGraph.vue")
import("@search/components/entity/components/EntityChartGraph.vue")
),
EntityChartGantt: defineAsyncComponent(() =>
import("~/components/entity/components/EntityChartGantt.vue")
import("@search/components/entity/components/EntityChartGantt.vue")
),
EntityCompareText: defineAsyncComponent(() =>
import("~/components/entity/components/EntityCompareText.vue")
import("@search/components/entity/components/EntityCompareText.vue")
),
EntityCompareText2: defineAsyncComponent(() =>
import("~/components/entity/components/EntityCompareText2.vue")
import("@search/components/entity/components/EntityCompareText2.vue")
),
EntitySimilar: defineAsyncComponent(() =>
import("~/components/entity/components/EntitySimilar.vue")
import("@search/components/entity/components/EntitySimilar.vue")
),
EntitySanad: defineAsyncComponent(() =>
import("~/components/entity/components/EntitySanad.vue")
import("@search/components/entity/components/EntitySanad.vue")
),
EntityVoice: defineAsyncComponent(() =>
import("~/components/entity/components/EntityVoice.vue")
import("@search/components/entity/components/EntityVoice.vue")
),
EntityVideo: defineAsyncComponent(() =>
import("~/components/entity/components/EntityVideo.vue")
import("@search/components/entity/components/EntityVideo.vue")
),
EntityFile: defineAsyncComponent(() =>
import("~/components/entity/components/EntityFile.vue")
import("@search/components/entity/components/EntityFile.vue")
),
EntityRepetitionWords: defineAsyncComponent(() =>
import("~/components/entity/components/EntityRepetitionWords.vue")
import("@search/components/entity/components/EntityRepetitionWords.vue")
),
LibraryText: defineAsyncComponent(() =>
import("~/components/library/components/LibraryText.vue")
import("@search/components/entity/components/LibraryText.vue")
),
EntityQaHistory: defineAsyncComponent(() =>
import("~/components/entity/components/EntityQaHistory.vue")
import("@search/components/entity/components/EntityQaHistory.vue")
),
EntityShowVersionsQa: defineAsyncComponent(() =>
import("~/components/entity/components/EntityShowVersionsQa.vue")
import("@search/components/entity/components/EntityShowVersionsQa.vue")
),
EntitiyModalCompareVersionQa: defineAsyncComponent(() =>
import("~/components/entity/components/EntitiyModalCompareVersionQa.vue")
import("@search/components/entity/components/EntitiyModalCompareVersionQa.vue")
),
UserHistory: defineAsyncComponent(() =>
import("~/components/entity/sidebar-panels/UserHistory.vue")
import("@search/components/entity/sidebar-panels/UserHistory.vue")
),
TextSearch: defineAsyncComponent(() =>
import("~/components/entity/sidebar-panels/TextSearch.vue")
import("@search/components/entity/sidebar-panels/TextSearch.vue")
),
NavigationView: defineAsyncComponent(() =>
import("~/components/entity/sidebar-panels/Navigation.vue")
import("@search/components/entity/sidebar-panels/Navigation.vue")
),
Navigation: defineAsyncComponent(() =>
import("~/components/entity/sidebar-panels/Navigation.vue")
import("@search/components/entity/sidebar-panels/Navigation.vue")
),
Research: defineAsyncComponent(() =>
import("~/components/entity/sidebar-panels/Research.vue")
import("@search/components/entity/sidebar-panels/Research.vue")
),
EntityTreeList: defineAsyncComponent(() =>
import("~/components/entity/sidebar-panels/EntityTreeList.vue")
import("@search/components/entity/sidebar-panels/EntityTreeList.vue")
),
PropertyBuilder: defineAsyncComponent(() =>
import("~/components/other/PropertyBuilder.vue")
@ -1686,7 +1686,7 @@ export default {
import("~/components/other/TagsEdit.vue")
),
DraftImportEffectModal: defineAsyncComponent(() =>
import("~/components/entity/modals/DraftImportEffectModal.vue")
import("@search/components/entity/modals/DraftImportEffectModal.vue")
),
},
};

View File

@ -246,12 +246,12 @@
<script>
import { mapState, mapActions } from "pinia";
import searchApis from "@search/apis/searchApi";
import chartType from "@search/json/search/json/chart.json";
import chartType from "@search/json/search/chart.json";
import sidbarMenuDefault from "@search/json/search/json/menu.json";
import sidbarMenuMin from "@search/json/search/json/sidbarMenuMin.json";
import sidbarMenuDefault from "@search/json/search/menu.json";
import sidbarMenuMin from "@search/json/search/sidbarMenuMin.json";
import tableActions from "@search/json/search/json/listTableContextMenu";
import tableActions from "@search/json/search/listTableContextMenu";
import { useSearchStore } from "@search/stores/searchStore";
export default {

View File

@ -793,11 +793,11 @@
import { useStorage } from "@vueuse/core";
import { mapActions, mapState } from "pinia";
import { useSearchStore } from "../../stores/searchStore";
import { useSearchStore } from "@search/stores/searchStore";
import { useCommonStore } from "~/stores/commonStore";
import searchApi from "../../apis/searchApi.js";
import searchApi from "@search/apis/searchApi.js";
import adminApi from "~/apis/adminApi";
import sidbarMenuDefault from "../../json/search/json/menu.json";
import sidbarMenuDefault from "@search/json/search/menu.json";
export default {
name: "search",

View File

@ -509,12 +509,12 @@
</template>
<script>
import tableActions from "@search/json/search/json/listTableContextMenu";
import tableActions from "@search/json/search/listTableContextMenu";
import { mapState, mapActions } from "pinia";
import searchApis from "@search/apis/searchApi";
import sidbarMenuDefault from "@search/json/search/json/menu.json";
import sidbarMenuMin from "@search/json/search/json/sidbarMenuMin.json";
import sidbarMenuDefault from "@search/json/search/menu.json";
import sidbarMenuMin from "@search/json/search/sidbarMenuMin.json";
// import menu from "~/json/reports/menu.json";
import { useSearchStore } from "@search/stores/searchStore";

View File

@ -2,8 +2,6 @@ import type {
activeSearchChartSchema,
activeSearchListSchema,
Domain,
helpActiveSchema,
helpSchema,
searchActiveTab,
searchChartActiveTab,
searchListActiveTab,
@ -41,9 +39,8 @@ export const useSearchStore = defineStore("searchStore", {
searchActiveTab: undefined as searchActiveTab | undefined,
searchSchema: undefined as searchSchema | undefined,
helpSchema: undefined as helpSchema | undefined,
searchActiveSchema: undefined as searchActiveTab | undefined,
helpActiveSchema: undefined as helpActiveSchema | undefined,
searchListActiveTab: undefined as searchListActiveTab | undefined,
searchListSchema: undefined as searchListActiveTab[] | undefined,
@ -100,12 +97,7 @@ export const useSearchStore = defineStore("searchStore", {
searchSchemaGetter(state) {
return state.searchSchema;
},
helpSchemaGetter(state) {
return state.helpSchema;
},
helpActiveSchemaGetter(state) {
return state.helpActiveSchema;
},
searchActiveSchemaGetter(state) {
return state.searchActiveSchema;
},
@ -177,12 +169,7 @@ export const useSearchStore = defineStore("searchStore", {
searchSchemaSetter(searchSchema = undefined) {
this.searchSchema = searchSchema;
},
helpSchemaSetter(helpSchema = undefined) {
this.helpSchema = helpSchema;
},
helpActiveSchemaSetter(helpActiveSchema = undefined) {
this.helpActiveSchema = helpActiveSchema;
},
searchActiveSchemaSetter(searchActiveSchema = undefined) {
this.searchActiveSchema = searchActiveSchema;
},