首页完毕

develoop
Your Name 10 months ago
parent 9f60a319e4
commit e26bce63a7
  1. BIN
      assets/images/Group9848.png
  2. BIN
      assets/images/Group9849.png
  3. BIN
      assets/images/Group9855.png
  4. BIN
      assets/images/image63.png
  5. 128
      assets/scss/checkbox.scss
  6. 48
      assets/scss/element/index.scss
  7. 38
      components/Card.vue
  8. 151
      components/layoutFooter.vue
  9. 15
      components/layoutHeader.vue
  10. 2
      nuxt.config.ts
  11. 393
      pages/homeIndex/bannerIndex.vue
  12. 130
      pages/homeIndex/placeOrder.vue
  13. 7
      plugins/postcss.config.js

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

@ -1,66 +1,66 @@
/* 单选框和多选框 */ // /* 单选框和多选框 */
.checkbox-wrapper { // .checkbox-wrapper {
position: relative; // position: relative;
input { // input {
display: none; // display: none;
} // }
.icon { // .icon {
position: relative; // position: relative;
left: 0px; // left: 0px;
top: 7px; // top: 7px;
display: inline-block; // display: inline-block;
width: 13px; // width: 13px;
height: 13px; // height: 13px;
border: 1px solid #cccccc; // border: 1px solid #cccccc;
border-radius: 50%; // border-radius: 50%;
-webkit-transform: translate(0, -50%); // -webkit-transform: translate(0, -50%);
-moz-transform: translate(0, -50%); // -moz-transform: translate(0, -50%);
-o-transform: translate(0, -50%); // -o-transform: translate(0, -50%);
-ms-transform: translate(0, -50%); // -ms-transform: translate(0, -50%);
transform: translate(0, -50%); // transform: translate(0, -50%);
} // }
input:checked + .icon { // input:checked + .icon {
background-color: #e93323; // background-color: #e93323;
border-color: #e93323; // border-color: #e93323;
background-image: url("../images/enter.png"); // background-image: url("../images/enter.png");
-webkit-background-size: 10px 8px; // -webkit-background-size: 10px 8px;
-moz-background-size: 10px 8px; // -moz-background-size: 10px 8px;
background-size: 10px 8px; // background-size: 10px 8px;
background-repeat: no-repeat; // background-repeat: no-repeat;
background-position: center center; // background-position: center center;
} // }
} // }
.Checkbox { // .Checkbox {
position: absolute; // position: absolute;
visibility: hidden; // visibility: hidden;
outline: none; // outline: none;
background: #fff; // background: #fff;
} // }
.Checkbox+label { // .Checkbox+label {
position:absolute; // position:absolute;
width: 16px; // width: 16px;
height: 16px; // height: 16px;
border: 1px solid #9B9B9B; // border: 1px solid #9B9B9B;
border-radius: 50%; // border-radius: 50%;
background-color:#fff; // background-color:#fff;
left: 11px; // left: 11px;
top: 50%; // top: 50%;
margin-top: -8px; // margin-top: -8px;
} // }
.Checkbox:checked+label:after { // .Checkbox:checked+label:after {
content: ""; // content: "";
position: absolute; // position: absolute;
left: 3px; // left: 3px;
top:3px; // top:3px;
width: 6px; // width: 6px;
height: 3px; // height: 3px;
border: 2px solid #9B9B9B; // border: 2px solid #9B9B9B;
border-top-color: transparent; // border-top-color: transparent;
border-right-color: transparent; // border-right-color: transparent;
transform: rotate(-45deg); // transform: rotate(-45deg);
-ms-transform: rotate(-45deg); // -ms-transform: rotate(-45deg);
-moz-transform: rotate(-45deg); // -moz-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg); // -webkit-transform: rotate(-45deg);
} // }

@ -1,26 +1,26 @@
$-colors: ( // $-colors: (
'primary': ( // 'primary': (
'base': #E93323, // 'base': #E93323,
), // ),
'success': ( // 'success': (
'base': #67c23a, // 'base': #67c23a,
), // ),
'warning': ( // 'warning': (
'base': #e6a23c, // 'base': #e6a23c,
), // ),
'danger': ( // 'danger': (
'base': #f56c6c, // 'base': #f56c6c,
), // ),
'error': ( // 'error': (
'base': #E93323, // 'base': #E93323,
), // ),
'info': ( // 'info': (
'base': #909399, // 'base': #909399,
), // ),
); // );
@forward 'element-plus/theme-chalk/src/common/var.scss' with ( // @forward 'element-plus/theme-chalk/src/common/var.scss' with (
$colors: $-colors // $colors: $-colors
); // );
@use './dark.scss'; // @use './dark.scss';

@ -0,0 +1,38 @@
<template>
<div class="order-information">
<div class="header">{{ title }}</div>
<slot></slot>
</div>
</template>
<script lang="ts" setup>
import { onMounted, reactive, ref, toRefs, watch } from 'vue'
const props = defineProps(['title'])
</script>
<style lang="scss" scoped>
.order-information {
width: 100%;
height: 3.4896rem;
border: 1px dashed #aaa;
margin-top: 0.1563rem;
.header {
background-color: #f3f4f8;
height: 0.2083rem;
color: #252b3a;
font-size: 0.0833rem;
line-height: 0.2083rem;
padding: 0 0.2604rem;
display: flex;
align-items: center;
}
.header::before {
content: ' ';
display: block;
background-color: #ff4e8d;
width: 0.0156rem;
height: 0.0833rem;
margin-right: 0.026rem;
}
}
</style>

@ -33,7 +33,7 @@ onMounted(() => {
</script> </script>
<!--页面底部--> <!--页面底部-->
<template> <template>
<div v-if="pcHomeCon" class="layoutFooter mt-20px" ref="targetElement"> <div v-if="pcHomeCon" class="layoutFooter" ref="targetElement">
<!-- <div <!-- <div
v-if="pcHomeCon.philosophyList && pcHomeCon.philosophyList.length" v-if="pcHomeCon.philosophyList && pcHomeCon.philosophyList.length"
class="w-100% h-90px bg-#FFFFFF" class="w-100% h-90px bg-#FFFFFF"
@ -49,104 +49,83 @@ onMounted(() => {
</div> </div>
</div> --> </div> -->
<!-- 底部黑色模块 --> <!-- 底部黑色模块 -->
<div class="py-40px bg-#333333"> <div class="footer">
<div class="wrapper_1200 flex justify-between"> <div class="main">
<!-- 左边 --> <ul>
<div class="color-#FFFFFF l-box"> <li>关于我们</li>
<div v-for="(val, index) in pcHomeCon.quickEntryList" :key="index"> <li>服务声明</li>
<div class="l-title" @click="openUrl(val.linkUrl)"><span class="font-500 oppoSans-M">{{ val.name }}</span></div> <li>交易规则</li>
<div class="l-tips" v-for="(tip, index) in val.linkList" :key="index"> <li>商务合作</li>
<a v-if="tip.linkUrl" :href="tip.linkUrl" target="_blank" class="font-400 oppoSans-R"> {{ tip.name }}</a> </ul>
<span v-else class="font-400 oppoSans-R">{{ tip.name }}</span> <ul>
</div> <li>关于我们</li>
</div> <li>服务声明</li>
</div> <li>交易规则</li>
<!-- 右边 --> <li>商务合作</li>
<div class="flex"> </ul>
<div class="code-r" v-for="(code, index) in pcHomeCon.qrCodeList"> <ul>
<div class="code"> <li>关于我们</li>
<img :src="code.imageUrl" alt="" /> <li>服务声明</li>
</div> <li>交易规则</li>
<span class="mt-12px">{{ code.name }}</span> <li>商务合作</li>
</div> </ul>
</div> <ul>
</div> <li>关于我们</li>
<!-- 分割线 --> <li>服务声明</li>
<div class="wrapper_1200 divisionLine"></div> <li>交易规则</li>
<!-- 企业信息 --> <li>商务合作</li>
<div v-if="pcHomeCon.friendlyLinkList.length" class="wrapper_1200 flex-x-center text-s mb-40px"> </ul>
<div class="w-953px flex flex-justify-center flex-wrap lh-19px"> </div>
<div class="mr-15px text-#999" v-for="item in pcHomeCon.friendlyLinkList"> <div class="icp">
<a style="color: #999999" v-if="item.linkUrl" :href="item.linkUrl" target="_blank"> {{ item.name }}</a> <ul>
<span v-else>{{ item.name }}</span> <li>网站备案号 蜀ICP备14026041号-1</li>
</div> <li>商标注册号第13818907号 网络文化经营许可证1565-227</li>
</div> <li>营业执照号 510104000248150</li>
</div> </ul>
<div class="min_wrapper_1200 flex-col flex-items-center flex-x-center text-s">
<div>
<span v-if="pcHomeCon.phone" class="mr-20px">联系电话:{{ pcHomeCon.phone }}</span> <span v-if="pcHomeCon.address">地址{{ pcHomeCon.address }}</span>
</div>
<div class="mt-17px">{{ pcHomeCon.authInfo }}<a style="color: #999999" href="https://beian.mps.gov.cn/#/query/webSearch" target="_blank"> {{ pcHomeCon.filingNum }}</a></div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
.l-box { .footer{
display: grid; position: relative;
grid-template-columns: repeat(6,minmax(0,1fr)); width: 100%;
grid-template-rows: none; height: 1.875rem;
grid-gap: 40px; background: url('../assets/images/Group9848.png') no-repeat;
font-weight: 400; .main{
font-family: PingFang SC-Regular, PingFang SC; margin: 0 auto;
width: 6.25rem;
padding-top: .2604rem;
display: flex;
justify-content: space-around;
ul{
li{
font-size: .0729rem;
list-style: none;
color: #A8AAB0;
padding: .0521rem 0;
.l-title {
font-size: 16px;
margin-bottom: 26px;
} }
.l-tips {
cursor: pointer;
margin-bottom: 14px;
color: #cccccc !important;
font-size: 14px;
a{
color: #cccccc !important;
} }
ul li:nth-child(1){
color: #fff;
} }
} }
.code-r { .icp{
color: #ffffff; position: absolute;
bottom: .1563rem;
width: 6.25rem;
left: 50%;
transform: translateX(-50%);
ul{
display: flex; display: flex;
flex-direction: column; justify-content: space-around;
align-items: center; li{
font-weight: 400; list-style: none;
font-size: 14px; font-size: .0625rem;
color: #A8AAB0;
font-family: PingFang SC-Regular, PingFang SC;
.code {
width: 100px;
height: 100px;
background-color: #fff;
img {
width: 100%;
height: 100%;
}
} }
} }
.code-r:nth-child(1) {
margin-right: 40px;
} }
.divisionLine {
margin-top: 10px;
border: 0;
border-top: 2px dashed rgba(255, 255, 255, 0.15);
margin-bottom: 40px;
}
.text-s {
font-size: 12px;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
} }
</style> </style>

@ -3,8 +3,8 @@
<div class="nav"> <div class="nav">
<div class="menu"> <div class="menu">
<ul> <ul>
<li @click="goTo(1)">首页</li> <li @click="goTo(1,'/')">首页</li>
<li @click="goTo(2)">下订单</li> <li @click="goTo(2,'homeIndex/placeOrder')">下订单</li>
<li @click="goTo(3)">接订单</li> <li @click="goTo(3)">接订单</li>
<li @click="goTo(4)">找花店</li> <li @click="goTo(4)">找花店</li>
<li @click="goTo(5)">花店地图</li> <li @click="goTo(5)">花店地图</li>
@ -26,11 +26,13 @@
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, reactive, ref, toRefs, watch } from 'vue' import { onMounted, reactive, ref, toRefs, watch } from 'vue'
import { useUserStore } from '@/stores/user' import { useUserStore } from '@/stores/user'
import {linkNavigateTo} from '~/utils/util'
const userStore = useUserStore() const userStore = useUserStore()
const active = ref(null) const active = ref(null)
const userLoginRef = shallowRef() const userLoginRef = shallowRef()
const goTo = (index: number) => { const goTo = async (index: number,url?:string) => {
await linkNavigateTo(url)
// console.log(active.value.offsetWidth); // console.log(active.value.offsetWidth);
const width = active.value.offsetWidth const width = active.value.offsetWidth
active.value.style.left = (index - 1) * width + 'px' active.value.style.left = (index - 1) * width + 'px'
@ -44,6 +46,13 @@ const login = () => {
userLoginRef.value.open() userLoginRef.value.open()
} }
} }
const handlerNuxtLink = async (url: string, type: number) => {
if (userStore.token) {
await linkNavigateTo(url, { type: type })
} else {
userLoginRef.value.open()
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

@ -74,7 +74,7 @@ export default defineNuxtConfig({
colorMode: { colorMode: {
classSuffix: '', classSuffix: '',
}, },
plugins: [{ src: '~/plugins/fetch' },{src: "~/plugins/vue-swiper", ssr: false},], plugins: [{ src: '~/plugins/fetch' },{src: "~/plugins/vue-swiper", ssr: false},{src:'~/plugins/postcss.config'}],
unocss: { unocss: {
uno: true, uno: true,
attributify: true, attributify: true,

@ -34,7 +34,7 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="orders-box"></div> <div class="orders-box">
<div class="orders"> <div class="orders">
<div class="edition"> <div class="edition">
<div class="title"> <div class="title">
@ -154,19 +154,27 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="doload"> <div class="doload">
<div class="title">产品下载</div> <div class="title">产品下载</div>
<div class="app-info"> <div class="app-info">
<div class="img"><img src="../../assets/images/image70.png" alt="" /></div> <div class="img"><img src="../../assets/images/image70.png" alt="" /></div>
<div class="app-info-txt"> <div class="app-info-txt">
<div class="app-title">花机宝网络科技主要经营</div> <div class="app-title">花机宝网络科技主要经营</div>
<p>聚合美团饿了么淘宝京东抖店拼多多快手小红书等电商交易平台针对鲜花蛋糕绿植气球派对等行业提供转单交易平台助力电商用户高效运营</p> <p>
聚合美团饿了么淘宝京东抖店拼多多快手小红书等电商交易平台针对鲜花蛋糕绿植气球派对等行业提供转单交易平台助力电商用户高效运营
</p>
<p>提供线上外卖配送聚合服务打通全域电商平台物流同城配送实现一键操作和管理</p> <p>提供线上外卖配送聚合服务打通全域电商平台物流同城配送实现一键操作和管理</p>
<p> 提供电商运营管理聚合软件多门店管理门店产品一键复制门店产品一键批量设置折扣价格多平台消息聚合多门店评价管理多门店诊断等服务</p> <p>
提供电商运营管理聚合软件多门店管理门店产品一键复制门店产品一键批量设置折扣价格多平台消息聚合多门店评价管理多门店诊断等服务
</p>
<div class="doload-app">下载APP</div> <div class="doload-app">下载APP</div>
</div> </div>
</div> </div>
</div> </div>
<div class="serve-box">
<div class="serve"> <div class="serve">
<div class="title">功能强大安全稳定的服务应用</div> <div class="title">功能强大安全稳定的服务应用</div>
<div class="title-two">多年技术沉淀20+项服务共筑服务矩阵</div> <div class="title-two">多年技术沉淀20+项服务共筑服务矩阵</div>
@ -174,46 +182,118 @@
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
<div class="item"> <div class="item">
<div class="icon"></div> <div class="icon"></div>
<div class="title">微花店</div> <div class="title">微花店</div>
<div class="txt">为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益</div> <div class="txt">
为线下实体花店定制开发的移动商城帮助花店轻松建立自己的网上店铺并将店铺商品同步至花递平台进行销售从而为花店带来更大的经济收益
</div>
</div> </div>
</div> </div>
<div class="more-services">查看更多服务</div> <div class="more-services">查看更多服务</div>
</div> </div>
</div>
<div class="concerning-box">
<div class="concerning">
<div class="title">关于我们</div>
<div class="title-one">
花机宝网路科技是一家为电商平台提供SaaS的网路科技公司公司基于技术创新和应用推动技术性降本
</div>
<div class="title-one">
发展互联网+通过TCO全生命周期在智能时代的深度应用实现电商行业的降本增效精益运营
</div>
<div class="bjc-round">
<div class="round">
<div class="left">
<div class="title">花机宝网络科技主要经营</div>
<p><span>使命</span>助力每一位中国人轻松实现电商梦想</p>
<p><span>愿景</span>为股东顾客员工乃至商业伙伴提供创造和实现美好梦想的机会</p>
<p><span>核心价值观 </span>源于创新诚信经营成就伙伴合作共赢</p>
<p>
<span>战略目标</span><br />
1以科技进步应用于技术创新为电商行业带来真正快乐<br />
2把握并创造客户需求实施中关注客户的体验并不断持续改善<br />
3以产品带动服务以服务开拓市场有选择的发展新业务
</p>
</div>
<div class="right"><img src="../../assets/images/Group9855.png" alt="" /></div>
</div>
</div>
</div>
</div>
<div class="information-box">
<div class="information">
<div class="title">行业动态 产业资讯</div>
<div class="title-one">汇集主流媒体报道行业大咖采访花店经营攻略等鲜花行业一手资讯</div>
<div class="footet-content">
<div class="left">
<div class="top">
<div class="left-top-bgc"><img src="../../assets/images/image63.png" alt="" /></div>
<div class="left-top-txt">
<div class="title">这家藏在西安老巷的不正经花店大大大大大大</div>
<p>直到上世纪80年代中期中国才开始出现真正意义上的花店而随着后来新型营销方式突起高端花卉品牌</p>
</div>
</div>
<div class="bottom">
<div class="left-top-bgc"><img src="../../assets/images/image63.png" alt="" /></div>
<div class="left-top-txt">
<div class="title">这家藏在西安老巷的不正经花店大大大大大大</div>
<p>直到上世纪80年代中期中国才开始出现真正意义上的花店而随着后来新型营销方式突起高端花卉品牌</p>
</div>
</div>
</div>
<div class="right">
<img src="../../assets/images/image63.png" alt="" />
</div>
</div>
</div>
</div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -328,6 +408,7 @@ setInterval(() => {
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
// height: 500px; // height: 500px;
background: url('../../assets/images/Group9849.png') no-repeat;
.edition { .edition {
width: 6.25rem; width: 6.25rem;
margin: 0 auto; margin: 0 auto;
@ -387,6 +468,7 @@ setInterval(() => {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 0.1563rem; margin-top: 0.1563rem;
background-color: #fff;
} }
.commodity { .commodity {
box-shadow: 1px 1px 9px 6px rgb(0 0 0 / 4%); box-shadow: 1px 1px 9px 6px rgb(0 0 0 / 4%);
@ -495,31 +577,31 @@ setInterval(() => {
} }
.app-info-txt { .app-info-txt {
width: 3.3333rem; width: 3.3333rem;
padding: 0 .5208rem; padding: 0 0.5208rem;
padding-top:.4167rem; padding-top: 0.4167rem;
.app-title { .app-title {
height: .3125rem; height: 0.3125rem;
color: #252B3A; color: #252b3a;
font-weight: 600; font-weight: 600;
font-size: .1354rem; font-size: 0.1354rem;
} }
p { p {
color: #575D6C; color: #575d6c;
font-size: .0729rem; font-size: 0.0729rem;
margin: .1042rem 0; margin: 0.1042rem 0;
} }
.doload-app { .doload-app {
margin-top: .1563rem; margin-top: 0.1563rem;
width: 1.3542rem; width: 1.3542rem;
height: .3125rem; height: 0.3125rem;
color: #fff; color: #fff;
font-size: .125rem; font-size: 0.125rem;
background: linear-gradient(270deg, #ffd4ac 0%, #ff94d4 53%, #ff518f 100%); background: linear-gradient(270deg, #ffd4ac 0%, #ff94d4 53%, #ff518f 100%);
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
line-height: .3125rem; line-height: 0.3125rem;
transition: transform 0.3s ease; transition: transform 0.3s ease;
border-radius: .026rem; border-radius: 0.026rem;
} }
.doload-app:hover { .doload-app:hover {
transform: scale(1.1); transform: scale(1.1);
@ -530,27 +612,28 @@ setInterval(() => {
.serve { .serve {
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
padding-top: .4167rem; padding-top: 0.4167rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
background: url('../../assets/images/Group9849.png') no-repeat;
background-position: bottom center;
.title { .title {
width: 100%; width: 100%;
font-weight: 700; font-weight: 700;
text-align: center; text-align: center;
font-size: .1667rem; font-size: 0.1667rem;
color: #252B3A; color: #252b3a;
} }
.title-two { .title-two {
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: .0833rem; font-size: 0.0833rem;
color: #575D6C; color: #575d6c;
margin-top: .0938rem; margin-top: 0.0938rem;
} }
.serve-box { .serve-box {
padding-top: .2604rem; padding-top: 0.2604rem;
width: 6.25rem; width: 6.25rem;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
@ -567,25 +650,25 @@ setInterval(() => {
box-shadow: 1px 1px 9px 6px rgb(0 0 0 / 4%); box-shadow: 1px 1px 9px 6px rgb(0 0 0 / 4%);
transition: transform 0.3s ease; transition: transform 0.3s ease;
.icon { .icon {
margin-top: .4167rem; margin-top: 0.4167rem;
width: .2344rem; width: 0.2344rem;
height: .2344rem; height: 0.2344rem;
} }
.title { .title {
font-weight: 600; font-weight: 600;
color: #575D6C; color: #575d6c;
font-size: .0729rem; font-size: 0.0729rem;
} }
.txt { .txt {
margin-top: .1042rem; margin-top: 0.1042rem;
width: .9375rem; width: 0.9375rem;
text-align: center; text-align: center;
line-height: .1146rem; line-height: 0.1146rem;
font-size: 0.0677rem;
} }
} }
.item:nth-last-child(-n + 4) { .item:nth-last-child(-n + 4) {
margin-top: .1042rem; margin-top: 0.1042rem;
} }
.item:hover { .item:hover {
transform: translateY(-5px); transform: translateY(-5px);
@ -593,18 +676,232 @@ setInterval(() => {
} }
.more-services { .more-services {
width: 1.3021rem; width: 1.3021rem;
height: .2604rem; height: 0.2604rem;
color: #fff; color: #fff;
font-size: .0833rem; font-size: 0.0833rem;
line-height:.2604rem ; line-height: 0.2604rem;
text-align: center; text-align: center;
border-radius: .026rem; border-radius: 0.026rem;
margin: .1563rem 0 ; margin: 0.1563rem 0;
background: linear-gradient(90deg, #ff94d4 0%, #ffddbe 100%); background: linear-gradient(90deg, #ff94d4 0%, #ffddbe 100%);
transition:transform .3s ease; transition: transform 0.3s ease;
} }
.more-services:hover { .more-services:hover {
transform: scale(1.1); transform: scale(1.1);
} }
} }
.serve-box {
background-color: #fff;
}
.concerning-box {
width: 100%;
background-color: #fff;
padding-top: 0.2604rem;
.concerning {
width: 6.9427rem;
display: flex;
flex-direction: column;
// justify-content: center;
align-items: center;
margin: 0 auto;
.title {
font-size: 0.1667rem;
color: #252b3a;
font-weight: 600;
padding: 0.0521rem 0;
}
.title-one {
color: #575d6c;
font-size: 0.0833rem;
margin: 5px 0;
}
.bjc-round {
width: 100%;
height: 3.8854rem;
// background-color: #ecf0fd;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
margin-top: 0.1563rem;
.round {
width: 6.9427rem;
height: 6.9427rem;
border-radius: 50%;
background-color: #ecf0fd;
display: flex;
justify-content: center;
align-items: center;
padding: 0 0.4167rem;
.left {
flex: 1;
height: 3.6458rem;
display: flex;
flex-direction: column;
align-items: center;
.title {
color: #252b3a;
font-size: 0.1354rem;
margin-top: 0.5729rem;
}
.title::after {
content: 'SQLUTION';
display: block;
color: #575d6c;
font-size: 0.0729rem;
margin-top: 0.026rem;
margin-bottom: 0.4688rem;
}
p {
width: 1.6094rem;
color: #575d6c;
font-size: 0.0729rem;
margin: 0.0521rem 0;
span {
color: #252b3a;
font-weight: 600;
}
}
}
}
.right {
width: 3.6458rem;
height: 3.6458rem;
img {
width: 100%;
}
}
}
}
}
.information-box {
padding-top: 0.4167rem;
width: 100%;
background-color: #fff;
padding-bottom: .9375rem;
.information {
width: 6.25rem;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
.title {
color: #252b3a;
font-size: 0.1667rem;
font-weight: 600;
}
.title-one {
color: #575d6c;
font-size: 0.0833rem;
margin-top: 0.0781rem;
}
.footet-content {
width: 100%;
height: 2.6771rem;
display: flex;
margin-top: 0.3906rem;
.right {
width: 2.0625rem;
height: 100%;
img {
width: 100%;
height: 100%;
// transform: rotate(-90deg);
}
}
.left {
flex: 1;
margin-right: 0.1042rem;
.top {
width: 100%;
height: 50%;
display: flex;
.left-top-bgc {
width: 50%;
height: 100%;
img {
width: 100%;
height: 100%;
}
}
.left-top-txt {
width: 50%;
height: 100%;
border: 1px dotted #aaa;
display: flex;
flex-direction: column;
justify-content: center;
align-content: center;
text-align: left;
padding: 0.3177rem 0.1563rem 0.3542rem 0.2604rem;
.title {
width: 1.7031rem;
color: #252b3a;
font-size: 0.0833rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p {
margin-top: 0.1563rem;
width: 1.7031rem;
font-size: .0729rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.bottom {
width: 100%;
height: 50%;
width: 100%;
height: 50%;
display: flex;
.left-top-bgc {
width: 50%;
height: 100%;
img {
width: 100%;
height: 100%;
}
}
.left-top-txt {
width: 50%;
height: 100%;
border: 1px dotted #aaa;
// border-style: dashed 4px 8px 8px;
display: flex;
flex-direction: column;
justify-content: center;
align-content: center;
text-align: left;
padding: 0.3177rem 0.1563rem 0.3542rem 0.2604rem;
order: -1;
.title {
width: 1.7031rem;
color: #252b3a;
font-size: 0.0833rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p {
margin-top: 0.1563rem;
width: 1.7031rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
font-size: .0729rem;
}
}
}
}
}
}
}
</style> </style>

@ -0,0 +1,130 @@
<template>
<div class="banner">
<div class="nav"></div>
<div class="main">
<div class="tabs">
<div :class="active === 0 ? 'standard active' : 'standard'" @click="active = 0">标准下单</div>
<div :class="active === 1 ? 'standard active' : 'standard'" @click="active = 1">快速下单</div>
<div :class="active === 2 ? 'standard active' : 'standard'" @click="active = 2">批量下单</div>
</div>
<div v-if="active === 0" class="standard-box">
<div class="order-information">
<div class="header">订单详情</div>
<div class="form">
<div class="left">
<el-form :model="form" label-width="120px">
<el-form-item label="配送类型">
<el-radio-group v-model="radio1" size="large">
<el-radio-button label="配送" />
<el-radio-button label="自提" />
</el-radio-group>
</el-form-item>
<el-form-item label="配送类型">
<el-date-picker
v-model="value1"
type="date"
placeholder="Pick a date"
:default-value="new Date(2010, 9, 1)"
/>
</el-form-item>
</el-form>
</div>
<div class="right"></div>
</div>
</div>
</div>
<div v-else-if="active === 1" class="fast-box">快速下单</div>
<div v-else class="batch">批量下单</div>
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, reactive, ref, toRefs, watch } from 'vue'
const active = ref<number>(0)
const form = reactive({
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: '',
})
const onSubmit = () => {
console.log('submit!')
}
</script>
<style lang="scss" scoped>
.banner {
width: 100%;
background-color: #fff;
.nav {
height: 1.8333rem;
width: 100%;
background-color: skyblue;
}
.main {
width: 6.25rem;
margin: 0 auto;
.tabs {
width: 100%;
height: 0.2083rem;
background-color: #f3f4f8;
display: flex;
margin-top: 0.2344rem;
margin-bottom: 0.1302rem;
.standard {
width: 0.7292rem;
height: 100%;
color: #252b3a;
font-size: 0.0729rem;
text-align: center;
line-height: 0.2083rem;
border-radius: 0.0313rem;
cursor: pointer;
}
.active {
color: #fff;
background: linear-gradient(90deg, #ff94d4 0%, #ffddbe 100%);
}
}
.order-information {
width: 100%;
height: 3.4896rem;
border: 1px dashed #aaa;
margin-top: 0.1563rem;
.header {
background-color: #f3f4f8;
height: 0.2083rem;
color: #252b3a;
font-size: 0.0833rem;
line-height: 0.2083rem;
padding: 0 0.2604rem;
display: flex;
align-items: center;
}
.header::before {
content: ' ';
display: block;
background-color: #ff4e8d;
width: 0.0156rem;
height: 0.0833rem;
margin-right: 0.026rem;
}
.form {
display: flex;
height: 100%;
.left,
.right {
flex: 1;
padding: 0.1042rem;
}
}
}
}
}
</style>

@ -0,0 +1,7 @@
module.exports = {
plugins: {
'postcss-px2rem': {
remUnit: 192 // 设计稿宽度 / 10,例如设计稿宽度为750px,则remUnit为75
}
}
}
Loading…
Cancel
Save