Compare commits
5 Commits
6d651dd65a
...
0468739cdc
| Author | SHA1 | Date | |
|---|---|---|---|
| 0468739cdc | |||
| c9921178b9 | |||
| 990d31ced2 | |||
| b09ead1f12 | |||
| dedd9c6d98 |
|
|
@ -249,11 +249,11 @@ function formatContent(content) {
|
||||||
|
|
||||||
function generateDetailsHtml(item) {
|
function generateDetailsHtml(item) {
|
||||||
let html = `<details class="custom-details" ${item.isOpen ? "open" : ""}>`;
|
let html = `<details class="custom-details" ${item.isOpen ? "open" : ""}>`;
|
||||||
|
|
||||||
html += `<summary>`;
|
html += `<summary>`;
|
||||||
if (item.tag) {
|
if (item.tag) {
|
||||||
html += `<a class="tag" target="normal" @click.stop="true" > ${item.tag} </a>`;
|
html += `<a class="tag" target="normal" @click.stop="true" > ${item.tag} </a>`;
|
||||||
// console.log(" html 1 ", html);
|
// console.log(" html 1 ", html);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html += `${item.title || "بدون عنوان"}`;
|
html += `${item.title || "بدون عنوان"}`;
|
||||||
|
|
@ -272,6 +272,11 @@ function generateDetailsHtml(item) {
|
||||||
|
|
||||||
html += `</details>`;
|
html += `</details>`;
|
||||||
|
|
||||||
|
if(item.background)
|
||||||
|
html = html.replaceAll("#bcolor#", item.background)
|
||||||
|
else
|
||||||
|
html = html.replaceAll("#bcolor#", "")
|
||||||
|
|
||||||
// console.log(" html 10 ", html);
|
// console.log(" html 10 ", html);
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
|
@ -514,6 +519,16 @@ onBeforeUnmount(() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bcolor1{
|
||||||
|
background: rgb(227, 242, 253) !important;
|
||||||
|
}
|
||||||
|
.bcolor2{
|
||||||
|
background: rgb(232, 245, 233) !important;
|
||||||
|
}
|
||||||
|
.bcolor3{
|
||||||
|
background: rgb(243, 229, 245) !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* استایل آکاردئونها */
|
/* استایل آکاردئونها */
|
||||||
.custom-details {
|
.custom-details {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
||||||
|
|
@ -190,15 +190,39 @@ const headerTools = computed(() => [
|
||||||
placeholder: "انتخاب کنید",
|
placeholder: "انتخاب کنید",
|
||||||
items: [
|
items: [
|
||||||
{ label: " همه", value: "all" },
|
{ label: " همه", value: "all" },
|
||||||
{ label: " تعارض مستقر", value: "stable" },
|
{ label: "تعارض مستقر", value: "تعارض مستقر" },
|
||||||
{ label: "تعارض مشروط", value: "conditional" },
|
{ label: "مطلق مقدم، مقید موخر", value: "مطلق مقدم، مقید موخر" },
|
||||||
{ label: "تکرار حکم", value: "duplicate" },
|
{ label: "مقید مقدم، مطلق موخر", value: "مقید مقدم، مطلق موخر" },
|
||||||
|
{ label: "تکرار حکم", value: "تکرار حکم" },
|
||||||
|
{ label: "بدون تعارض", value: "بدون تعارض" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "label",
|
key: "label",
|
||||||
label: " وضعیت اعتبار:",
|
label: "اعتبار داتیک:",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "dropdown",
|
||||||
|
key: "dropdown",
|
||||||
|
name: "state_etebar",
|
||||||
|
dropdownSchema: {
|
||||||
|
width: "8em",
|
||||||
|
modelValue: null, // ✅ اینو بذار
|
||||||
|
optionAttribute: "title",
|
||||||
|
valueAttribute: "value",
|
||||||
|
searchable: false,
|
||||||
|
placeholder: "انتخاب کنید",
|
||||||
|
items: [
|
||||||
|
{ label: " همه", value: "all" },
|
||||||
|
{ label: "نامعتبر", value: "invalid" },
|
||||||
|
{ label: "معتبر", value: "valid" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "label",
|
||||||
|
label: "اعتبار تشخیصی:",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "dropdown",
|
type: "dropdown",
|
||||||
|
|
|
||||||
|
|
@ -51,12 +51,18 @@ const setDataEditor = async () => {
|
||||||
accordionItems.value = [];
|
accordionItems.value = [];
|
||||||
let node = {};
|
let node = {};
|
||||||
|
|
||||||
|
/////-----------------------------------------
|
||||||
if (_source.previous_info) {
|
if (_source.previous_info) {
|
||||||
let item = _source.previous_info;
|
let item = _source.previous_info;
|
||||||
node = {
|
node = {
|
||||||
|
background:"bcolor1",
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
id: item.section_mom_id,
|
id: item.section_mom_id,
|
||||||
title: `<a class="label" href="#">قانون مقدم : </a>` + item.qanon_title + " - " + item.full_path,
|
title:
|
||||||
|
`<a class="label #bcolor# " href="#">قانون مقدم : </a>` +
|
||||||
|
item.qanon_title +
|
||||||
|
" - " +
|
||||||
|
item.full_path,
|
||||||
tag: item.state_etebar,
|
tag: item.state_etebar,
|
||||||
content: _source.content1,
|
content: _source.content1,
|
||||||
link_label: "«منبع»",
|
link_label: "«منبع»",
|
||||||
|
|
@ -66,6 +72,7 @@ const setDataEditor = async () => {
|
||||||
children: [],
|
children: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (item.group_section_ids?.length > 1)
|
||||||
node["children"].push({
|
node["children"].push({
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
id: item.context_id,
|
id: item.context_id,
|
||||||
|
|
@ -75,7 +82,11 @@ const setDataEditor = async () => {
|
||||||
|
|
||||||
accordionItems.value.push(node);
|
accordionItems.value.push(node);
|
||||||
|
|
||||||
|
let unrepeat_id = {}
|
||||||
item.rule_ids.forEach((rule_id) => {
|
item.rule_ids.forEach((rule_id) => {
|
||||||
|
if(unrepeat_id[rule_id])
|
||||||
|
return
|
||||||
|
unrepeat_id[rule_id] = 1
|
||||||
let content = _source.rules_content[rule_id] ?? "";
|
let content = _source.rules_content[rule_id] ?? "";
|
||||||
accordionItems.value.push({
|
accordionItems.value.push({
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
|
|
@ -86,12 +97,18 @@ const setDataEditor = async () => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////-----------------------------------------
|
||||||
if (_source.next_info) {
|
if (_source.next_info) {
|
||||||
let item = _source.next_info;
|
let item = _source.next_info;
|
||||||
node = {
|
node = {
|
||||||
|
background:"bcolor2",
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
id: item.section_mom_id,
|
id: item.section_mom_id,
|
||||||
title: `<a class="label">قانون موخر : </a>` + item.qanon_title + " - " + item.full_path,
|
title:
|
||||||
|
`<a class="label #bcolor# " href="#">قانون موخر : </a>` +
|
||||||
|
item.qanon_title +
|
||||||
|
" - " +
|
||||||
|
item.full_path,
|
||||||
tag: item.state_etebar,
|
tag: item.state_etebar,
|
||||||
content: _source.content2,
|
content: _source.content2,
|
||||||
link_label: "«منبع»",
|
link_label: "«منبع»",
|
||||||
|
|
@ -100,6 +117,8 @@ const setDataEditor = async () => {
|
||||||
.replace("{{section_id}}", item.section_mom_id),
|
.replace("{{section_id}}", item.section_mom_id),
|
||||||
children: [],
|
children: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (item.group_section_ids?.length > 1)
|
||||||
node["children"].push({
|
node["children"].push({
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
id: item.context_id,
|
id: item.context_id,
|
||||||
|
|
@ -109,7 +128,12 @@ const setDataEditor = async () => {
|
||||||
|
|
||||||
accordionItems.value.push(node);
|
accordionItems.value.push(node);
|
||||||
|
|
||||||
|
let unrepeat_id = {}
|
||||||
item.rule_ids.forEach((rule_id) => {
|
item.rule_ids.forEach((rule_id) => {
|
||||||
|
if(unrepeat_id[rule_id])
|
||||||
|
return
|
||||||
|
unrepeat_id[rule_id] = 1
|
||||||
|
|
||||||
let content = _source.rules_content[rule_id] ?? "";
|
let content = _source.rules_content[rule_id] ?? "";
|
||||||
accordionItems.value.push({
|
accordionItems.value.push({
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
|
|
@ -122,6 +146,7 @@ const setDataEditor = async () => {
|
||||||
|
|
||||||
/////-------------وحدت موضوع----------------------
|
/////-------------وحدت موضوع----------------------
|
||||||
node = {
|
node = {
|
||||||
|
background:"bcolor3",
|
||||||
isOpen: true,
|
isOpen: true,
|
||||||
id: 11,
|
id: 11,
|
||||||
title: "توضیح هوشمند برای وجود وحدت موضوع بین احکام استنادی ",
|
title: "توضیح هوشمند برای وجود وحدت موضوع بین احکام استنادی ",
|
||||||
|
|
|
||||||
|
|
@ -23,13 +23,13 @@
|
||||||
},
|
},
|
||||||
{ "key": "next_info.full_path", "title": "ماده موخر", "width": "1" },
|
{ "key": "next_info.full_path", "title": "ماده موخر", "width": "1" },
|
||||||
{
|
{
|
||||||
"key": "subject_unity.main_type",
|
"key": "conflict_relation_identification.main_type",
|
||||||
"title": "وضعیت وحدت موضوع",
|
"title": "تعارض- بررسی اول",
|
||||||
"width": "2"
|
"width": "2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "conflict_relation_identification.main_type",
|
"key": "conflict_evaluation.main_type",
|
||||||
"title": "تعارض",
|
"title": "تعارض -بررسی نهایی",
|
||||||
"width": "2"
|
"width": "2"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
<template>
|
|
||||||
<div
|
|
||||||
class="min-h-[calc(100dvh-4em)] flex items-center justify-center p-4 bg-gray-100 dark:bg-dark-primary"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="max-w-md w-full bg-white dark:bg-dark-primary-800 rounded-2xl shadow-xl p-8 text-center border border-gray-200 dark:border-dark-primary-600"
|
|
||||||
>
|
|
||||||
<!-- Tabs -->
|
|
||||||
<ul class="flex border-b border-gray-200">
|
|
||||||
<li class="flex-1">
|
|
||||||
<button
|
|
||||||
class="w-full py-3.5 font-medium transition-all duration-200 cursor-pointer"
|
|
||||||
:class="tabClass('login')"
|
|
||||||
@click="setActive('login')"
|
|
||||||
>
|
|
||||||
ورود
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
<li class="flex-1">
|
|
||||||
<button
|
|
||||||
class="w-full py-3.5 font-medium transition-all duration-200 cursor-pointer"
|
|
||||||
:class="tabClass('register')"
|
|
||||||
@click="setActive('register')"
|
|
||||||
>
|
|
||||||
ثبتنام
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<!-- Content -->
|
|
||||||
<div class="mt-8">
|
|
||||||
<component :is="currentComponent" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { ref } from "vue";
|
|
||||||
definePageMeta({ layout: "login-layout" });
|
|
||||||
|
|
||||||
// --- Lazy load components ---
|
|
||||||
import LoginForm from "~/components/lazy-load/auth/LoginForm.vue";
|
|
||||||
import RegisterForm from "~/components/lazy-load/auth/RegisterForm.vue";
|
|
||||||
|
|
||||||
// --- State ---
|
|
||||||
const activeTab = ref("login");
|
|
||||||
const currentComponent = ref(LoginForm);
|
|
||||||
const componentsMap = {
|
|
||||||
login: LoginForm,
|
|
||||||
register: RegisterForm,
|
|
||||||
};
|
|
||||||
|
|
||||||
// --- Methods ---
|
|
||||||
function setActive(tab) {
|
|
||||||
activeTab.value = tab;
|
|
||||||
currentComponent.value = componentsMap[tab];
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- Compute class for tabs ---
|
|
||||||
function tabClass(tab) {
|
|
||||||
if (activeTab.value === tab) {
|
|
||||||
return "text-primary border-b-1 border-primary font-semibold";
|
|
||||||
} else {
|
|
||||||
return "text-gray-500 hover:text-primary";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style></style>
|
|
||||||
Loading…
Reference in New Issue
Block a user