���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
.trash
/
pages.2
/
projects
/
Viewing: [id].vue
<script setup lang="ts"> import {useIntervalFn} from '@vueuse/core' const {t} = useI18n() const config = useRuntimeConfig(); const {id} = useRoute().params const {$api} = useNuxtApp() // set Meta definePageMeta({ title: 'Project Details', layout: 'with-out-footer', middleware: ['auth'], }) useHead({ title: t('Project Details') }) // Fetch Single Unit const {data, refresh}:any = await useAsyncData(`user:${id}`, async () => { const [result]: any = await Promise.all([ $api(config.public.API_URL + '/analyze/project/single', { query: {project_id: id}, method: 'POST' }) ]) const projectOptions = JSON.parse(result).data.project return { project: projectOptions, }; }, { server: true, }); useIntervalFn(() => { refresh() }, 5000) const ToggleCollapse = (id: any) => { document.querySelector('#body_collapse_' + id)!.classList.toggle('hidden'); document.querySelector('#header_collapse_' + id)!.classList.toggle('rotate-90'); } onBeforeMount(() => { refresh(); }) </script> <template> <div> <div class=" mt-1 mb-10 px-2"> <section :dir="$i18n.locale == 'en' ? 'ltr' : 'rtl'"> <h2 class=" inline-block mb-5 text-gray-800 border-b border-main-700 text-center bold p-2"> {{ t('project information') }} </h2> <div class=" w-full flex-wrap flex justify-between items-start"> <div class=" w-full mb-5 flex justify-start items-start"> <span :class="$i18n.locale == 'en' ? ' text-left' : ' text-right'" class="block pl-2 text-gray-800 bg-white"> {{ t('Project Name') }} : </span> <span :class="$i18n.locale == 'en' ? ' text-left' : ' text-right'" class="block text-gray-500 bg-white"> {{ data.project.name }} </span> </div> <div class=" w-full mb-5 flex justify-start items-start"> <span :class="$i18n.locale == 'en' ? ' text-left' : ' text-right'" class="block pl-2 text-gray-800 bg-white"> {{ t('Name Of Employer') }} : </span> <span :class="$i18n.locale == 'en' ? ' text-left' : ' text-right'" class="block text-gray-500 bg-white"> {{ data.project.name_employer }} </span> </div> </div> </section> <section :dir="$i18n.locale == 'en' ? 'ltr' : 'rtl'" v-if="0 < data.project.groups.length"> <h2 class=" inline-block mb-3 text-gray-800 border-b border-main-700 text-center bold p-2"> {{ t('Outputs') }} </h2> <ul> <li class=" w-full border-b-2 " v-for="row in data.project.groups" :key="row.id"> <div @click="ToggleCollapse(row.id)" class=" cursor-pointer flex justify-between items-center"> <div class="py-1 mt-1 px-2 cursor-pointer w-full flex justify-between items-center"> <label class=" block mr-2 pb-2 w-full text-main-700 cursor-pointer"> {{ row.wood_type }} </label> <div class="flex justify-end items-center pb-2"> <UIcon :id="'header_collapse_'+row.id" name="i-heroicons-chevron-down-20-solid" class="text-gray-500 transition-all text-2xl"/> </div> </div> </div> <div :id="'body_collapse_'+row.id" class=" border-t transition-all"> <div class="w-full border-b py-3 flex justify-start items-center"> <template v-if="row.order_form"> <ULink :to="'https://app.cutunix.com/'+row.order_form" target="_blank" square :class="$i18n.locale == 'en' ? 'mr-1' : ' ml-1'" class=" flex text-white rounded hover:bg-main-600 bg-main-700 items-center justify-center"> <span class=" block py-1 px-2 truncate "> {{ t('View order form') }} </span> </ULink> </template> <template v-if="row.opticut == 'size_part' || row.opticut == 'size_panel'"> <span :class="$i18n.locale == 'en' ? 'mr-1' : ' ml-1'" class=" flex py-1 px-2 truncate text-white rounded hover:bg-red-600 bg-red-700 items-center justify-center"> {{ t('order size') }} </span> </template> <template v-else-if="row.opticut == 'not_run' "> <span :class="$i18n.locale == 'en' ? 'mr-1' : ' ml-1'" class=" flex py-1 px-2 truncate text-white rounded hover:bg-red-600 bg-red-700 items-center justify-center"> {{ t('Allowed to exit') }} </span> </template> <template v-else-if="row.opticut == 'pending' || row.opticut == 'do' "> <span :class="$i18n.locale == 'en' ? 'mr-1' : ' ml-1'" class=" flex py-1 px-2 truncate text-white rounded hover:bg-red-600 bg-red-700 items-center justify-center"> {{ row.opti_percent }}% {{ t('preparing') }} </span> </template> <template v-else-if="row.opticut == 'done'"> <ULink :to="'https://shemshetaraz.com/cutunix/'+row.cut_master_pdf" target="_blank" square :class="$i18n.locale == 'en' ? 'mr-1' : ' ml-1'" class=" flex rounded bg-[#f6f7eb] text-gray-900 items-center justify-center"> <span class=" block py-1 px-2 truncate "> {{ t('View cutting map') }} </span> </ULink> <ULink :to="'https://shemshetaraz.com/cutunix/'+row.opticut_file" target="_blank" square class="flex text-white rounded hover:bg-main-600 bg-main-700 items-center justify-center"> <span class="block py-1 px-2 truncate"> {{ t('Download Opticut output') }} </span> </ULink> </template> </div> </div> </li> </ul> </section> <UnitDetailsFooter :project_id="data.project.id"/> </div> </div> </template>
Coded With 💗 by
0x6ick Mod By V1rus_Alfa