Selaa lähdekoodia

完成登录页、产品详情、物业详情静态

feature/20220929首页静态开发
王饶冀 2 vuotta sitten
vanhempi
commit
e3e4da1a3a
21 muutettua tiedostoa jossa 599 lisäystä ja 11 poistoa
  1. 0
    0
      digital-park-web/digital-park/src/assets/image/login/loginPageBgc.png
  2. 0
    0
      digital-park-web/digital-park/src/assets/image/login/numCodeIcon.png
  3. 0
    0
      digital-park-web/digital-park/src/assets/image/login/verificationCode.png
  4. 0
    0
      digital-park-web/digital-park/src/assets/image/product/consult-icon.png
  5. 0
    0
      digital-park-web/digital-park/src/assets/image/product/productDetialHeaderBgc.png
  6. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon1.png
  7. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon2.png
  8. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon3.png
  9. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon4.png
  10. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon5.png
  11. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon6.png
  12. BIN
      digital-park-web/digital-park/src/assets/image/propety/icon7.png
  13. 5
    1
      digital-park-web/digital-park/src/router/hhr.js
  14. 18
    0
      digital-park-web/digital-park/src/router/modules/property.js
  15. 2
    1
      digital-park-web/digital-park/src/utils/common.js
  16. 1
    1
      digital-park-web/digital-park/src/views/login/Login.vue
  17. 4
    4
      digital-park-web/digital-park/src/views/login/LoginFrom/LoginFrom.vue
  18. 1
    1
      digital-park-web/digital-park/src/views/product/detail/ProductDetail.scss
  19. 10
    3
      digital-park-web/digital-park/src/views/product/detail/ProductDetail.vue
  20. 215
    0
      digital-park-web/digital-park/src/views/property/detail/PropertyDetail.scss
  21. 343
    0
      digital-park-web/digital-park/src/views/property/detail/PropertyDetail.vue

digital-park-web/digital-park/src/assets/images/login/loginPageBgc.png → digital-park-web/digital-park/src/assets/image/login/loginPageBgc.png Näytä tiedosto


digital-park-web/digital-park/src/assets/images/login/numCodeIcon.png → digital-park-web/digital-park/src/assets/image/login/numCodeIcon.png Näytä tiedosto


digital-park-web/digital-park/src/assets/images/login/verificationCode.png → digital-park-web/digital-park/src/assets/image/login/verificationCode.png Näytä tiedosto


digital-park-web/digital-park/src/assets/images/product/consult-icon.png → digital-park-web/digital-park/src/assets/image/product/consult-icon.png Näytä tiedosto


digital-park-web/digital-park/src/assets/images/product/productDetialHeaderBgc.png → digital-park-web/digital-park/src/assets/image/product/productDetialHeaderBgc.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon1.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon2.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon3.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon4.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon5.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon6.png Näytä tiedosto


BIN
digital-park-web/digital-park/src/assets/image/propety/icon7.png Näytä tiedosto


+ 5
- 1
digital-park-web/digital-park/src/router/hhr.js Näytä tiedosto

@@ -4,11 +4,15 @@ import index from "./modules/index";
import login from './modules/login';
// 产品相关
import product from './modules/product';
export default [{
// 物业相关
import property from './modules/property';
export default [
{
path: "*",
redirect: "/index", // 重定向
},
...index,
...login,
...product,
...property,
];

+ 18
- 0
digital-park-web/digital-park/src/router/modules/property.js Näytä tiedosto

@@ -0,0 +1,18 @@
/**
*
* 物业路由
*
*/

export default [
// 物业详情
{
path: "/property-detail",
name: "PropertyDetail",
component: () =>
import ("../../views/property/detail/PropertyDetail.vue"),
meta: {
title: "物业详情",
},
},
];

+ 2
- 1
digital-park-web/digital-park/src/utils/common.js Näytä tiedosto

@@ -6,4 +6,5 @@ export const commonJs = {
let routeData = router.resolve(routerPath);
window.open(routeData.href, "_blank");
},
};
};


+ 1
- 1
digital-park-web/digital-park/src/views/login/Login.vue Näytä tiedosto

@@ -22,7 +22,7 @@ export default {
.login {
// @include size(100%, 600px);
min-height: 100vh;
background: url("~@/assets/images/login/loginPageBgc.png") no-repeat;
background: url("~@/assets/image/login/loginPageBgc.png") no-repeat;
background-size: 100% 100%;
position: relative;
.nav {

+ 4
- 4
digital-park-web/digital-park/src/views/login/LoginFrom/LoginFrom.vue Näytä tiedosto

@@ -34,7 +34,7 @@
>
<img
slot="prefix"
src="~@/assets/images/login/verificationCode.png"
src="~@/assets/image/login/verificationCode.png"
class="img-code-icon"
alt
/>
@@ -48,7 +48,7 @@
>
<img
slot="prefix"
src="~@/assets/images/login/numCodeIcon.png"
src="~@/assets/image/login/numCodeIcon.png"
class="img-code-icon"
alt
/>
@@ -86,7 +86,7 @@
>
<img
slot="prefix"
src="~@/assets/images/login/verificationCode.png"
src="~@/assets/image/login/verificationCode.png"
class="img-code-icon"
alt
/>
@@ -101,7 +101,7 @@
>
<img
slot="prefix"
src="~@/assets/images/login/numCodeIcon.png"
src="~@/assets/image/login/numCodeIcon.png"
class="img-code-icon-num"
alt
/>

+ 1
- 1
digital-park-web/digital-park/src/views/product/detail/ProductDetail.scss Näytä tiedosto

@@ -1,6 +1,6 @@
.product-detial[data-1664250138954] {
height: 250px;
background: url("~@/assets/images/product/productDetialHeaderBgc.png")
background: url("~@/assets/image/product/productDetialHeaderBgc.png")
no-repeat;
background-size: 100% 100%;
.header-box {

+ 10
- 3
digital-park-web/digital-park/src/views/product/detail/ProductDetail.vue Näytä tiedosto

@@ -7,7 +7,7 @@
<span class="current-position">
<i class="el-icon-location"></i> 当前位置:
</span>
<span class="current-position link">首页</span>
<span class="current-position link" @click="toPath('/')">首页</span>
<span class="current-position link">
<i class="el-icon-arrow-right"></i>
</span>
@@ -33,7 +33,7 @@
{{ mainDetailText }}
</div>
<div class="main-btn">
<img src="~@assets/images/product/consult-icon.png" class="consult-icon" alt="icon"> 立即咨询
<img src="~@assets/image/product/consult-icon.png" class="consult-icon" alt="icon"> 立即咨询
</div>
</div>
</div>
@@ -46,19 +46,26 @@
</div>
</div>
</div>
<Footer></Footer>
</div>
</template>

<script>
import Nav from "@components/Header.vue";
import Footer from "@components/Footer.vue";
import "./ProductDetail.scss";
export default {
components: { Nav },
components: { Nav,Footer },
data() {
return {
mainDetailText: `根据一个纳税年度内的所得、应纳税额、已缴(扣)税额、抵免(扣)税额、应补(退)税额等情况,如实填写并报送《个人所得税纳税申报表(适用于年所得12万元以上的纳税人申报)》、个人有效身份证件复印件,以及主管税务机关要求报送的其他有关资料。有效身份证件,包括纳税人的身份证、护照、回乡证、军人身份证件等。`,
};
},
methods:{
toPath(path){
this.$router.push(path)
}
}
};
</script>


+ 215
- 0
digital-park-web/digital-park/src/views/property/detail/PropertyDetail.scss Näytä tiedosto

@@ -0,0 +1,215 @@
.property-detial[data-1664250138954] {
height: 250px;
background: url("~@/assets/image/product/productDetialHeaderBgc.png")
no-repeat;
background-size: 100% 100%;
.header-box {
width: 1200px;
margin: 0 auto;
height: 150px;
position: relative;
.breadcrumb-nav {
float: left;
margin-top: 32px;
.current-position {
position: relative;
z-index: 2;
color: #fff;
font-size: 16px;
&.link {
margin-right: 3px;
cursor: pointer;
}
&.active {
font-weight: bold;
}
}
}
.content {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
text-align: center;
color: #fff;

.title {
font-size: 36px;
font-weight: bold;
height: 50px;
line-height: 50px;
margin-top: 36px;
}
.sub-title {
margin-top: 5px;
font-size: 14px;
}
}
}
.detial-container {
width: 1200px;
margin: 0 auto;
margin-top: 30px;
padding-bottom: 50px;
border-top: 2px solid #2c94f0;
.ditial-banner {
height: 387px;
background: linear-gradient(to bottom, #cde8fb, #fff);
box-sizing: border-box;
padding: 27px 28px 0 30px;
.main-img {
float: left;
width: 530px;
height: 360px;
margin-right: 32px;
background: green;
}
.main-item {
float: left;
height: 360px;
width: calc(100% - 562px);
.main-title {
height: 33px;
line-height: 33px;
font-weight: bold;
font-size: 24px;
color: #334a5f;
@include text-ellipsis();
}
}
.main-price {
margin-top: 23px;
line-height: 42px;
font-size: 30px;
color: #334a5f;
font-weight: bold;
.price-value {
color: #d9121a;
}
}
.mian-detail {
font-size: 16px;
height: 120px;
margin-top: 25px;
box-sizing: border-box;
line-height: 30px;
color: #637485;
@include text-ellipsis-multiple(4);
.mian-detail-span {
font-weight: bold;
color: #334a5f;
}
}
.listing-address {
margin-top: 10px;
height: 30px;
line-height: 30px;
}
.main-btn {
margin-top: 20px;
height: 56px;
line-height: 56px;
width: 190px;
background-image: linear-gradient(
135deg,
#42a6fe 0%,
#0070d2 100%
);
border-radius: 28px;
color: #fff;
font-size: 24px;
text-align: center;
.consult-icon {
position: relative;
top: 6px;
left: -3px;
}
cursor: pointer;
}
}
.block-title {
margin: 30px 0 20px 0;
height: 60px;
line-height: 60px;
background-image: linear-gradient(135deg, #42a6fe 0%, #0070d2 100%);
@include font(24px, #fff);
padding-left: 30px;
}
.block-table {
width: 100%;
th {
background: #f0f9fe;
border-bottom: 0;
height: 80px;
}
td {
border-color: #bcd8e9;
}
&.serve {
td {
height: 68px;
}
}
&::before {
background-color: #bcd8e9;
}
.img-icon {
display: inline-block;
width: 136px;
height: 92px;
img,
video {
width: 100%;
height: 100%;
cursor: pointer;
}
}
}
.detail-container {
width: 1140px;
margin: 0 auto;
margin-top: 30px;
.housing-advantage {
height: 30px;
margin-bottom: 20px;
&.facilities {
margin-bottom: 30px
}
.title {
@include font(16px, #637485);
margin-right: 23px;
}
.item-span {
display: inline-block;
height: 22px;
line-height: 22px;
@include font(14px, #fff);
padding: 0 10px;
margin-right: 15px;
}
.item-facilities {
height: 30px;
line-height: 30px;
@include font(16px, #334a5f);
display: inline-block;
margin-right: 25px;
img {
// height: 100%;
// display: none;
position: relative;
top: 6px;
}
}
}
.housing-detail {
.dt {
height: 300px;
background: green;
color: #fff;
}
}
}
}
}

+ 343
- 0
digital-park-web/digital-park/src/views/property/detail/PropertyDetail.vue Näytä tiedosto

@@ -0,0 +1,343 @@
<template>
<div class="property-detial" data-1664250138954>
<div class="detial-header">
<Nav></Nav>
<div class="header-box">
<div class="breadcrumb-nav">
<span class="current-position">
<i class="el-icon-location"></i> 当前位置:
</span>
<span class="current-position link" @click="toPath('/')">首页</span>
<span class="current-position link">
<i class="el-icon-arrow-right"></i>
</span>
<span class="current-position link active">招商服务</span>
</div>
<div class="content">
<div class="title">招商服务</div>
<div class="sub-title">Investment promotion service</div>
</div>
</div>
</div>
<div class="detial-container">
<div class="ditial-banner">
<div class="main-img">123</div>
<div class="main-item">
<div
class="main-title"
:title="'写字楼出租写字楼出租写字楼出租写字楼出租写字楼出租'"
>写字楼出租写字楼出租写字楼出租写字楼出租写字楼出租</div>
<div class="main-price">
<span class="price-label">价格:</span>
<span class="price-value">¥80.00元</span>
</div>
<div class="mian-detail" :title="mainDetailText">
<span class="mian-detail-span">详情:</span>
{{ mainDetailText }}
</div>
<div class="mian-detail listing-address" :title="listingAddress">
<span class="mian-detail-span">房源地址:</span>
{{ listingAddress }}
</div>
<div class="main-btn">
<img
src="~@assets/image/product/consult-icon.png"
class="consult-icon"
alt="icon"
/> 立即咨询
</div>
</div>
</div>
<div class="block-title">可选房源</div>
<el-table class="block-table" :data="listingList">
<el-table-column
:label="item.label"
:align="'center'"
v-for="(item,inx) of listingColum"
:key="inx"
>
<template slot-scope="scope">
<div v-if="item.prop == 'img'">
<span class="img-icon">
<el-image
v-if="checkFile(scope.row.img, 'image')"
:src="scope.row.img"
:preview-src-list="[scope.row.img]"
></el-image>
<video
v-if="checkFile(scope.row.img, 'video')"
:src="scope.row.img"
@click="playVideo(scope.row.img)"
></video>
</span>
</div>
<div v-else>{{ scope.row[item.prop] }}</div>
</template>
</el-table-column>
</el-table>
<div class="block-title">服务详情</div>
<el-table class="block-table serve" :data="serverDetailList">
<el-table-column
:label="item.label"
:align="'center'"
v-for="(item,inx) of serverDetailColum"
:key="inx"
>
<template slot-scope="scope">
<div v-if="item.prop == 'img'">
<span class="img-icon"></span>
</div>
<div v-else>{{ scope.row[item.prop] }}</div>
</template>
</el-table-column>
</el-table>
<div class="detail-container">
<div class="housing-advantage">
<span class="title">房源优势</span>
<span
class="item-span"
v-for="(item,inx) of housingAdvantage"
:key="inx"
:style="item.style"
>{{ item.label }}</span>
</div>
<div class="housing-advantage facilities">
<span class="title">房源设施</span>
<span
class="item-facilities"
v-for="(item,inx) of listingFacilities"
:key="inx"
>
<img
:src="require('@assets/image/propety/icon' + item.type + '.png')"
alt="icon"
:class="['facilities-' + item.type]"
/>
{{ item.label }}
</span>
</div>
<div class="housing-detail">
<div class="dt">大图</div>
</div>
</div>
</div>
<Footer></Footer>
<!-- video预览 -->
<el-dialog :visible.sync="videoPreview.isShow">
<video
width="100%"
:src="videoPreview.src"
controls="controls"
webkit-playsinline="true"
playsinline="true"
></video>
</el-dialog>
</div>
</template>

<script>
import Nav from "@components/Header.vue";
import Footer from "@components/Footer.vue";
import "./PropertyDetail.scss";
import ret from "bluebird/js/release/util";
export default {
components: { Nav, Footer },
data() {
return {
// 主体详情
mainDetailText: `根据一个纳税年度内的所得、应纳税额、已缴(扣)税额、抵免(扣)税额、应补(退)税额等情况,如实填写并报送《个人所得税纳税申报表(适用于年所得12万元以上的纳税人申报)》、个人有效身份证件复印件,以及主管税务机关要求报送的其他有关资料。有效身份证件,包括纳税人的身份证、护照、回乡证、军人身份证件等。`,
// 房源地址
listingAddress: "上海市徐汇区吴中路金辉大厦8楼",
// 可选房源
listingColum: [
{
prop: "img",
label: "照片",
},
{
prop: "v1",
label: "租售类型",
},
{
prop: "v2",
label: "房源面积",
},
{
prop: "v3",
label: "最大容纳人数",
},
{
prop: "v4",
label: "装修状况",
},
{
prop: "v5",
label: "可注册",
},
{
prop: "v6",
label: "单价",
},
],
listingList: [
{
img: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
v1: "可租可售",
v2: "5000m²",
v3: "1000",
v4: "毛坯",
v5: "否",
v6: "80.30",
},
{
img: "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
v1: "可租可售",
v2: "5000m²",
v3: "1000",
v4: "毛坯",
v5: "否",
v6: "80.30",
},
],
// 服务详情
serverDetailColum: [
{
prop: "v1",
label: "房源类型",
},
{
prop: "v2",
label: "最短起租",
},
{
prop: "v3",
label: "支付方式",
},
{
prop: "v4",
label: "停车费",
},
{
prop: "v5",
label: "物业费",
},
{
prop: "v6",
label: "可选房源",
},
],
serverDetailList: [
{
v1: "暂无数据",
v2: "1年起租",
v3: "暂无数据",
v4: "--",
v5: "20元/㎡/月",
v6: "2",
},
{
v1: "暂无数据",
v2: "1年起租",
v3: "暂无数据",
v4: "--",
v5: "20元/㎡/月",
v6: "2",
},
],
// 房源优势
housingAdvantage: [
{
label: "精装修",
style: {
"background-image":
"linear-gradient(135deg, #01d8ba 0%, #0086e7 100%)",
},
},
{
label: "面积大",
style: {
"background-image":
"linear-gradient(135deg, #afd801 0%, #00b4e7 100%)",
},
},
{
label: "享受税收优惠",
style: {
"background-image":
"linear-gradient(135deg, #8d6dff 0%, #5f24eb 100%)",
},
},
],
// 房源设施
listingFacilities: [
{
label: "精装修",
type: 1,
},
{
label: "有线网络",
type: 2,
},
{
label: "Wi-Fi网络",
type: 3,
},
{
label: "饮水",
type: 4,
},
{
label: "空调",
type: 5,
},
{
label: "24小时办公",
type: 6,
},
{
label: "打印/复印",
type: 7,
},
],
// 视频预览
videoPreview: {
isShow: false,
src: "",
},
};
},
methods: {
toPath(path) {
this.$router.push(path);
},
// 播放video
playVideo(src) {
this.videoPreview.isShow = true;
this.videoPreview.src = src;
},
// 判断是图片还是视频
checkFile(fileValue, type) {
let index = fileValue.indexOf(".");
let fileValueSuffix = fileValue.substring(index); //截断"."之前的,得到后缀
if (type == "video") {
if (!/(.*)\.(mp4|rmvb|avi|ts)$/.test(fileValueSuffix)) {
//根据后缀,判断是否符合视频格式
return false;
}
}
if (type == "image") {
if (
!/(.*)\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(
fileValueSuffix
)
) {
//根据后缀,判断是否符合图片格式
return false;
}
}
return true;
},
},
};
</script>


Loading…
Peruuta
Tallenna