Compare commits

...

2 Commits

@ -6,9 +6,11 @@
"scripts": {
"dev": "vite",
"build": "vite build",
"build:hot": "vite build",
"build:sta": "vite build --mode staging",
"preview": "vite preview",
"postbuild:sta": "scp -r ./dist/* root@207.148.89.145:/www/wwwroot/prodio.zltest.com.tw/public/admin",
"postbuild:hot": "scp -r ./dist/* root@207.246.102.73:/opt/wwwroot/weisen/nginx/html/admin",
"postbuild": "cp -rf ./dist/* ../../prodio.prod/nginx/html/admin"
},
"dependencies": {

@ -1,5 +1,5 @@
let config = {
systemName: "普達後台管理系統",
systemName: "後台管理系統",
theme: {
color: "#13c2c2",
mode: "dark",

@ -17,7 +17,7 @@ export default {
cachePage: true, //是否快取頁面資料僅多頁籤模式下生效true 快取, false 不快取
hideSetting: true, //隱藏設定抽屜true:隱藏false:不隱藏
systemName: '管理系統', //系統名稱
copyright: '2023 ZL corp.', //copyright
copyright: '2023 corp.', //copyright
asyncRoutes: false, //非同步載入路由true:開啟false:不開啟
showPageTitle: true, //是否顯示頁面標題PageLayout 佈局中的頁面標題true:顯示false:不顯示
filterMenu: true, //根據許可權過濾選單true:過濾false:不過濾

@ -66,7 +66,7 @@ const handleClick = () => {
</ul>
<ul class="header-nav">
<li class="header-nav-item header-flexible" style="cursor: pointer">
<el-dropdown @click="handleClick">
<!-- <el-dropdown @click="handleClick">
<div class="header-avatar" :style="{marginRight:'5px'}">
<el-icon :size="13" :style="{marginRight:'5px'}">
<Help />
@ -80,7 +80,7 @@ const handleClick = () => {
<el-dropdown-item @click="setLocale('en')">EN</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</el-dropdown> -->
<el-dropdown :hide-on-click="false">
<div class="header-avatar" >
<el-icon :size="13" :style="{marginRight:'5px'}">

@ -36,14 +36,14 @@ const menuData = ([
title: "首頁輪播",
path: "/index/banner",
},
{
title: "供應商",
path: "/index/supplier",
}
// {
// title: "",
// path: "/index/supplier",
// }
],
},
{
title: "關於普達",
title: "關於我們",
icon: Tickets,
path: "/about",
children: [
@ -51,10 +51,10 @@ const menuData = ([
title: "公司簡介",
path: "/about/company",
},
{
title: "經營理念",
path: "/about/concept",
}
// {
// title: "",
// path: "/about/concept",
// }
],
},
{
@ -81,14 +81,14 @@ const menuData = ([
title: "產業動態",
path: "/news/list",
},
{
title: "公司活動",
path: "/news/activity",
},
{
title: "ESG",
path: "/news/esg",
}
// {
// title: "",
// path: "/news/activity",
// },
// {
// title: "ESG",
// path: "/news/esg",
// }
],
},
{
@ -145,7 +145,7 @@ const handleSelect = (key, keyPath) => {
:default-active="$route.path"
@select="handleSelect"
>
<div class="logo"><el-image style="width: 100px;" :src="logoImg" /></div>
<div class="logo">WEISEN</div>
<template v-for="(menu, index) in menuData" :key="index">
<el-sub-menu

@ -12610,7 +12610,7 @@ footer.footer .dotCircle img {
height: 250px !important;
}
.imgCnt.md {
height: 180px !important;
/* height: 180px !important; */
}
.imgCnt.sm {
height: 120px !important;
@ -13095,10 +13095,10 @@ footer.footer .dotCircle img {
margin: 20px 0;
}
.main.products .section .content .block .cardGroup .card {
-webkit-box-orient: horizontal;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-direction: column;
flex-direction: column;
margin-bottom: 10px;
border: none;
overflow: hidden;
@ -13107,7 +13107,7 @@ footer.footer .dotCircle img {
padding: 0;
}
.main.products .section .content .block .cardGroup .card .card-body .imgCnt {
width: 220px;
/* width: 220px; */
}
.main.products .section .content .block .cardGroup .card .card-footer {
border: none;
@ -13117,10 +13117,22 @@ footer.footer .dotCircle img {
font-size: 18px;
font-weight: bold;
color: #2c2d3b;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.main.products .section .content .block .cardGroup .card .card-footer .card-desc {
font-size: 14px;
color: #355785;
height: 3em;
line-height: 1.5em;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.main.products .section .content .block .cardGroup .card .card-footer .moreBtn {
width: 120px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 867 KiB

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

After

Width:  |  Height:  |  Size: 100 KiB

@ -8,7 +8,7 @@
.card-body{
padding: 0;
.imgCnt{
width:100%;
// width:100%;
}
}
.card-footer{

@ -50,9 +50,9 @@ watch(locale, (nVal,oVal) => {
<div class="container">
<a class="navbar-brand" href="javascript:;">
<div class="logo" @click="router.push(localeLocation('/'))">
<img :src="logoImg" alt="prodio">
<!-- <img :src="logoImg" alt="prodio"> -->
WEISEN
</div>
<p>since 2002</p>
</a>
<button ref="navbarToggler" class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
@ -61,13 +61,7 @@ watch(locale, (nVal,oVal) => {
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<div class="nav-link">{{ $t('aboutus') }}</div>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="javascript:;" @click="goRoute(localeLocation('/about/company'))">{{
$t('About.company') }}</a></li>
<li><a class="dropdown-item" href="javascript:;" @click="goRoute(localeLocation('/about/concept'))">{{
$t('About.concept') }}</a></li>
</ul>
<div class="nav-link" @click="goRoute(localeLocation('/about/company'))">{{ $t('aboutus') }}</div>
</li>
<li class="nav-item">
<div class="nav-link" data-toggle="dropdown" data-submenu>{{ $t('products') }}</div>
@ -86,15 +80,7 @@ watch(locale, (nVal,oVal) => {
</div>
</li>
<li class="nav-item">
<div class="nav-link">{{ $t('news') }}</div>
<ul class="dropdown-menu">
<li><a class="dropdown-item" @click="goRoute(localeLocation('/social/news'))">{{ $t('Social.news')
}}</a></li>
<li><a class="dropdown-item" @click="goRoute(localeLocation('/social/activity'))">{{
$t('Social.activity') }}</a></li>
<li><a class="dropdown-item" @click="goRoute(localeLocation('/social/esg'))">{{
$t('Social.esg') }}</a></li>
</ul>
<div class="nav-link" @click="goRoute(localeLocation('/social/news'))">{{ $t('news') }}</div>
</li>
<li class="nav-item">
<div class="nav-link">{{ $t('contact') }}</div>
@ -106,11 +92,11 @@ watch(locale, (nVal,oVal) => {
</ul>
</li>
</ul>
<div class="landBtnGroup btn-group">
<!-- <div class="landBtnGroup btn-group">
<NuxtLink class="btn chBtn" :class="{ active: locale === 'tw' }" :to="switchLocalePath('tw')"></NuxtLink>
<NuxtLink class="btn chBtn" :class="{ active: locale === 'cn' }" :to="switchLocalePath('cn')"></NuxtLink>
<NuxtLink class="btn chBtn" :class="{ active: locale === 'en' }" :to="switchLocalePath('en')">EN</NuxtLink>
</div>
</div> -->
<form class="searchBar" @submit="handleSearchSubmit">
<input class="form-control form-control-sm bg-silver border-0" type="search"
placeholder="產品搜尋"
@ -131,8 +117,10 @@ watch(locale, (nVal,oVal) => {
<div class="row gx-lg-5 justify-content-between mb-5">
<div class="col-12 col-lg-auto">
<a class="logoGroup" href="javascript:;" @click="router.push(localeLocation('/'))">
<div class="logo"><img :src="logoImg" alt=""></div>
<p>since 2002</p>
<div class="logo">
<!-- <img :src="logoImg" alt=""> -->
WEISEN
</div>
</a>
<!-- <div class="share_link">
<a href="#"><div class="item fb"><i class="fa-brands fa-facebook-f"></i></div></a>
@ -183,6 +171,6 @@ watch(locale, (nVal,oVal) => {
</div>
</div>
</div>
<div class="copyright">{{ $t('copyright') }}</div>
<div class="copyright">{{ config[locale].copyright }}</div>
</footer>
</template>

@ -13,7 +13,6 @@ export default {
searchResult: '搜寻结果',
total: '共',
num: '笔',
copyright: '普达国际 版权所有 © All Rights Reserved Copyright © 2013. All rights reserved.',
Form: {
submit: '确认送出',
},

@ -13,7 +13,6 @@ export default {
searchResult: 'Search Results',
total: 'Total',
num: 'Results',
copyright: 'Puda International. All Rights Reserved © Copyright 2013. All rights reserved.',
Form: {
submit: 'Submit',
},

@ -3,7 +3,7 @@ export default {
description: '普達國際企業有限公司為多家知名化工及電子材料廠商代理暨分銷商。主要服務行業包括:塗料、膠粘劑、高分子聚合、電子陶瓷、電子材料、電子化學品、複合材料、表面處理及新能源材料等。',
keywords: '乳化劑,分散劑,抗凍劑,環氧樹脂,固化劑,銅箔基板,阻燃劑,PVA 表面活性劑',
aboutus: '關於我們',
products: '產品應用資訊',
products: '產品介紹',
news: '最新消息',
contact: '聯絡我們',
branch: '公司據點',
@ -13,7 +13,6 @@ export default {
searchResult: '搜尋結果',
total: '共',
num: '筆',
copyright: '普達國際 版權所有 © All Rights Reserved Copyright © 2013. All rights reserved.',
Form: {
submit: '確認送出',
},

@ -4,12 +4,14 @@
"type": "module",
"scripts": {
"build": "nuxt build --dotenv .env",
"build:hot": "nuxt build --dotenv .env",
"build:sta": "nuxt build --dotenv .env.staging",
"dev": "nuxt dev --dotenv .env.development",
"generate": "nuxt generate --dotenv .env.staging",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"postbuild:sta": "cp -rf .output/* ../nuxt/app && scp -r ../nuxt/app/* root@test:/www/wwwroot/prodio.zltest.com.tw/nuxt/app",
"postbuild:hot": "scp -r .output/* root@h888.fun:/opt/wwwroot/weisen/web/app",
"postbuild": "rm -rf ../../prodio.prod/web/app/* && cp -rf .output/* ../../prodio.prod/web/app"
},
"devDependencies": {

@ -30,10 +30,6 @@ const menuList = [
"name": t('About.company'),
"path": "/about/company"
},
{
"name": t('About.concept'),
"path": "/about/concept"
},
]
const currentRoute = ref('');

@ -15,11 +15,11 @@ const { config } = storeToRefs(store);
const bannerData = computed(() => bannerRes.value.data);
const cateData = computed(() => cateRes.value.data);
const supplierData = computed(() => supplierRes.value.data);
// const supplierData = computed(() => supplierRes.value.data);
const { data: bannerRes } = await useMyFetch('/index/getBannerList', "GET")
const { data: cateRes } = await useMyFetch('/index/getParentCateList', "GET")
const { data: supplierRes } = await useMyFetch('/index/getSupplierList', "GET")
// const { data: supplierRes } = await useMyFetch('/index/getSupplierList', "GET")
onMounted(async () => {
@ -130,7 +130,7 @@ const goProd = (cid) => {
</div>
</section>
<section class="section supplier">
<!-- <section class="section supplier">
<div class="container-fluid">
<div class="swiper">
<div class="swiper-wrapper">
@ -140,7 +140,7 @@ const goProd = (cid) => {
</div>
</div>
</div>
</section>
</section> -->
</div>
</div>
</template>

@ -32,20 +32,21 @@ watch(()=>route.params.cat_id,(nVal)=>{
<!-- <span>{{ props.pData.nameEn }}</span> -->
</div>
<div class="bDesc">{{ cateData.description }}</div>
<div class="cardGroup">
<NuxtLinkLocale class="card" v-for="(prod, i) in productList" :key="i"
<div class="cardGroup row g-3">
<NuxtLinkLocale class="card col-6 col-md-6 col-lg-3" v-for="(prod, i) in productList" :key="i"
:to="{path: '/products/detail/'+prod.id}">
<div class="card-body">
<div class="imgCnt md">
<img :src="prod.imageurl" :alt="prod.name">
</div>
</div>
<div class="card-footer">
<!-- <div class="card-footer">
<div class="card-title">{{ prod.name }}</div>
<div class="card-desc">{{ prod.description }}</div>
<div class="moreBtn">more</div>
</div>
</div> -->
</NuxtLinkLocale>
</div>
</div>
</div>

@ -39,14 +39,6 @@ const menuList = [
"name":t('Social.news'),
"path":"/social/news"
},
{
"name":t('Social.activity'),
"path":"/social/activity"
},
{
"name":t('Social.esg'),
"path":"/social/esg"
},
]
const currentRoute = ref('');

Loading…
Cancel
Save