back-end done

This commit is contained in:
Amir Mohamadi
2020-12-10 16:36:48 +03:30
parent 80a7abafb7
commit bc5e617778
92 changed files with 5217 additions and 3379 deletions
+55 -55
View File
@@ -4,41 +4,26 @@
<section class="s1">
<div class="container">
<div class="panel">
<h2 class="title">گریتینگ تولید شده به روش الکتروفورج با چهار پهلوی تابیده</h2>
<p>استفاده از تجهیزات مدرن تولید و تیم مهندسی قوی موجب شده تا شرکت اراک ریل دارای گسترده ترین رنج محصولات گریتینگ را داشته باشد و همچنین ما را قادر می سازد تا در صورت نیاز، محصول را مطابق با نیاز شما طراحی کرده و مطابق با استانداردهای بین اللملی تولید کنیم</p>
<h2 class="title">{{productDetails.page_title}}</h2>
<p>{{productDetails.page_description}}</p>
<div class="image-preview">
<img src="~/assets/img/products/product-01.jpg" alt="">
<img :src="product.cover" ref="preview" :alt="productDetails.name">
</div>
</div>
<div class="images-carousel">
<div id="images">
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
<img :src="product.cover" :alt="productDetails.name" @click="view(product.cover)">
</div>
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
</div>
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
</div>
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
</div>
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
</div>
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
</div>
<div class="imgBox">
<img src="~/assets/img/products/product-01.jpg" alt="">
<div class="imgBox" v-for="item in product.images" :key="item._id">
<img :src="item.image" :alt="productDetails.name" @click="view(item.image)">
</div>
</div>
</div>
</div>
</section>
<section class="s2">
<section class="s2" v-if="product.more_section">
<div class="container">
<div class="panel">
<div class="parts p1">
@@ -48,12 +33,12 @@
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-6">
<h2 class="title title-subtitle">خط برش تسمه</h2>
<p>خط برش اولین مرحله از فرآیند تولید است که در آن ، کویل های فولادی به صورت طولی مطابق با الزامات گریتینگهای فلزی تولید می شوند ، تسمه از کویلهای برش خورده آماده شده و به صورت ساده و یا دندانه دار برای استفاده در مرحله بعدی بسته بندی می گردد.</p>
<h2 class="title title-subtitle">{{productDetails.more_title1}}</h2>
<p>{{productDetails.more_description1}}</p>
</div>
<div class="col-6">
<div class="imgBox imgBox-shape">
<img src="~/assets/img/services/s2-i1.jpg" alt="">
<img :src="product.more_section_image1" :alt="productDetails.more_title1">
</div>
</div>
</div>
@@ -62,12 +47,12 @@
<div class="parts row align-items-center">
<div class="col-6">
<div class="imgBox imgBox-reverse imgBox-shape-reverse">
<img src="~/assets/img/services/s2-i2.jpg" alt="">
<img :src="product.more_section_image2" :alt="productDetails.more_title2">
</div>
</div>
<div class="col-6">
<h2 class="title title-subtitle">تولید پنل گریتینگ الکتروفورج</h2>
<p>در این مرحله تسمه ها به همراه چهار پهلوی تابیده شده در سیستم قرارداده شده و دستگاه الکتروفورج با ایجاد همزمان جریان بالای الکتریکی و فشار مکانیکی، سبب می شود تا تسمه های باربر و رابط در نقاط اتصال به دمای ذوب نزدیک شده و دو قطعه کاملا در هم فرو رفته و اتصال کاملا یکنواخت و یک پارچه ای ایجاد گردد.</p>
<h2 class="title title-subtitle">{{productDetails.more_title2}}</h2>
<p>{{productDetails.more_description2}}</p>
</div>
</div>
@@ -75,54 +60,46 @@
</div>
</section>
<section class="s3">
<section class="s3"
v-if="!product.render_image1.includes('undefined') ||
!product.render_image2.includes('undefined') ||
product.download_section">
<div class="container">
<div class="panel">
<div class="parts p1">
<div class="parts p1" v-if="!product.render_image1.includes('undefined') || !product.render_image1.includes('undefined')">
<h2 class="title">نمایش گرافیکی مشخصات</h2>
<p>در شماتیک زیر مشخصات اولیه گریتینگ نمایش داده شده است</p>
</div>
<div class="row parts p2">
<div class="row parts p2" v-if="!product.render_image1.includes('undefined') || !product.render_image2.includes('undefined')">
<div class="col-6 mb-5">
<img src="~/assets/img/products/pd-s3-i1.jpg" alt="">
<p>نمایش ایزومتریک گریتینگ الکتروفورج</p>
<img :src="product.render_image1" :alt="productDetails.name" v-if="!product.render_image1.includes('undefined')">
<p v-if="!product.render_image1.includes('undefined')">{{productDetails.render_caption1}}</p>
</div>
<div class="col-6 mb-5">
<img src="~/assets/img/products/pd-s3-i2.jpg" alt="">
<p>نمای روبرو از گریتینگ الکتروفورج</p>
<img :src="product.render_image2" :alt="productDetails.name" v-if="!product.render_image2.includes('undefined')">
<p v-if="!product.render_image2.includes('undefined')">{{productDetails.render_caption2}}</p>
</div>
<div class="col-12 mb-5">
<img src="~/assets/img/products/chart.jpg" alt="">
<img :src="product.chart_image" :alt="productDetails.name" v-if="!product.chart_image.includes('undefined')">
</div>
</div>
<div class="row parts p3">
<div class="row parts p3" v-if="productDetails.chart_title">
<div class="col-12">
<h2 class="title">جدول مشخصات گامها و ضخامتهای گریتینگها قابل تولید</h2>
<p>با توجه به شماتیک گریتینگ ارائه شده در نمای بالا، تنوع گسترده ای از گریتینگها به روش الکتروفورج قابل تولید می باشد.
مشخصات زیر گریتینگهای متداول به لحاظ تولید در شرکت اراک ریل بوده و در صورت نیاز کارشناسان این شرکت آماده مشاوره در این زمینه باشند.</p>
<h2 class="title">{{productDetails.chart_title}}</h2>
<p>{{productDetails.chart_description}}</p>
</div>
</div>
<div class="row parts p4">
<div class="row parts p4" v-if="product.download_section">
<div class="col-12">
<h2>فایل های قابل دانلود</h2>
<div class="files">
<div class="file">
<div class="file" v-for="item in product.pdf_files" :key="item._id">
<pdf-icon/>
<p>نام فایل</p>
<a href="" target="_blank" class="btn btn-primary-fill">دانلود</a>
</div>
<div class="file">
<pdf-icon/>
<p>نام فایل</p>
<a href="" target="_blank" class="btn btn-primary-fill">دانلود</a>
</div>
<div class="file">
<pdf-icon/>
<p>نام فایل</p>
<a href="" target="_blank" class="btn btn-primary-fill">دانلود</a>
<p>{{item.pdf_details[$route.params.lang].name}}</p>
<a :href="item.file" :download="item.pdf_details[$route.params.lang].name" target="_blank" class="btn btn-primary-fill">دانلود</a>
</div>
</div>
</div>
@@ -146,16 +123,39 @@
<script>
if (process.client) require('slick-carousel')
export default {
data() {
return {
product: null
}
},
computed: {
staticData() {
return this.$store.state.staticData.products_details[this.$route.params.lang]
},
productDetails() {
return this.product.product_details[this.$route.params.lang]
}
},
methods: {
view(image) {
// console.log(image)
this.$refs.preview.src = image
}
},
mounted() {
$('#images').slick({
slidesToShow: 4,
rtl: this.$route.params.lang === 'fa'
rtl: this.$route.params.lang === 'fa',
infinite: false
})
},
async asyncData({$axios, params}) {
let product = await $axios.get(`/api/public/product/${params.product}`)
let productCategories = await $axios.get(`/api/public/productCategories`)
return {
product: product.data,
productCategories: productCategories.data
}
}
}
</script>
+53 -53
View File
@@ -11,59 +11,34 @@
</section>
<section class="s2">
<div class="container">
<!-- <div class="filters">-->
<!-- <h2 class="title title-subtitle">{{staticData.s2.t1}}</h2>-->
<!-- <ul>-->
<!-- <li-->
<!-- v-for="item in staticData.s2.filters"-->
<!-- :key="item.key"-->
<!-- @click="filter(item.key)">-->
<!-- <p>{{item.txt}}</p>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </div>-->
<div class="row">
<div class="col-3 mb-5">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: 1}}" class="product">
<img src="~/assets/img/products/product-01.jpg" alt="">
<h4>گریتینگ</h4>
<p>توضیحات کوتاه</p>
<div class="filters">
<h2 class="title title-subtitle">{{staticData.s2.t1}}</h2>
<ul>
<li @click="filtering(false)">
<p class="active">همه</p>
</li>
<li
v-for="item in productCategories"
:key="item._id"
@click="filtering(item._id)">
<p>{{item.category_details[$route.params.lang].name}}</p>
</li>
</ul>
</div>
<div class="row" v-if="filtered_products.length">
<div class="col-3 mb-5" v-for="item in filtered_products" :key="item._id">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: item._id}}" class="product">
<img :src="item.cover" :alt="item.product_details[$route.params.lang].name">
<h4>{{item.product_details[$route.params.lang].name}}</h4>
<p>{{item.product_details[$route.params.lang].short_description}}</p>
</nuxt-link>
</div>
<div class="col-3 mb-5">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: 2}}" class="product">
<img src="~/assets/img/products/product-01.jpg" alt="">
<h4>گریتینگ</h4>
<p>توضیحات کوتاه</p>
</nuxt-link>
</div>
<div class="col-3 mb-5">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: 3}}" class="product">
<img src="~/assets/img/products/product-01.jpg" alt="">
<h4>گریتینگ</h4>
<p>توضیحات کوتاه</p>
</nuxt-link>
</div>
<div class="col-3 mb-5">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: 4}}" class="product">
<img src="~/assets/img/products/product-01.jpg" alt="">
<h4>گریتینگ</h4>
<p>توضیحات کوتاه</p>
</nuxt-link>
</div>
<div class="col-3 mb-5">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: ''}}" class="product">
<img src="~/assets/img/products/product-01.jpg" alt="">
<h4>گریتینگ</h4>
<p>توضیحات کوتاه</p>
</nuxt-link>
</div>
<div class="col-3 mb-5">
<nuxt-link :to="{name: 'lang-products-product',params: {lang: $route.params.lang,product: ''}}" class="product">
<img src="~/assets/img/products/product-01.jpg" alt="">
<h4>گریتینگ</h4>
<p>توضیحات کوتاه</p>
</nuxt-link>
</div>
<div class="row" v-else>
<div class="col-12">
<p class="no-product">هیچ محصولی در این دسته بندی موجود نمیباشد.</p>
</div>
</div>
</div>
@@ -76,7 +51,7 @@
<span class="subtitle">{{staticData.s3.t2}}</span>
</h2>
<p>{{staticData.s3.t3}}</p>
<a href="" target="_blank" class="btn btn-reverse-fill">{{staticData.s3.t4}}</a>
<a :href="catalog.file" target="_blank" class="btn btn-reverse-fill">{{staticData.s3.t4}}</a>
</div>
</div>
</section>
@@ -85,14 +60,39 @@
<script>
export default {
data() {
return {
products: null,
productCategories: null,
catalog: null,
filter: false
}
},
computed: {
staticData() {
return this.$store.state.staticData.products[this.$route.params.lang]
},
filtered_products() {
if (!this.filter) return this.products
else return this.products.filter(item => item.category === this.filter)
}
},
methods: {
filter(key) {
filtering(key) {
this.filter = key
$('.products--page .filters p').removeClass('active')
$(event.target).addClass('active')
}
},
async asyncData({$axios, store}) {
const products = await $axios.get(`/api/public/products`)
const productCategories = await $axios.get(`/api/public/productCategories`)
const catalog = await $axios.get('/api/public/catalog')
return {
products: products.data,
productCategories: productCategories.data,
catalog: catalog.data
}
}
}