@@ -0,0 +1,16 @@ | |||
/** | |||
* api接口统一管理 | |||
*/ | |||
import {get, post } from "../utils/http"; | |||
// 获取园区信息 | |||
export const getRegisterArea = p => get("/registerArea/getRegisterArea", p); | |||
// 提交入驻申请单 | |||
export const submitRequestNote = p => post("/settledRequestNote/save", p); | |||
// 园区服务产品列表 | |||
export const getParkServiceProduct = p => get("/parkServiceProduct/page", p); | |||
// 物业管理产品列表 | |||
export const getPropertyManage = p => get("/propertyManagement/page", p); |
@@ -1,28 +1,31 @@ | |||
import router from "../router/index"; | |||
import { Message } from "element-ui"; | |||
// export const commonJs = { | |||
// // 在新的页面打开路由 | |||
// routerOpenInNewWindow: routerPath => { | |||
// let routeData = router.resolve(routerPath); | |||
// window.open(routeData.href, "_blank"); | |||
// }, | |||
// }; | |||
// 在新的页面打开路由 | |||
export const routerOpenInNewWindow = routerPath => { | |||
let routeData = router.resolve(routerPath); | |||
window.open(routeData.href, "_blank"); | |||
} | |||
}; | |||
/** | |||
* | |||
* @param {*} status 1成功 0错误 可迭代 | |||
* | |||
* @param {*} path 图片路径 | |||
* @returns | |||
*/ | |||
export const formatImg = path => { | |||
// return path ? `${process.env.VUE_APP_PARK_DOMAIN}/common/getImg?path=${path}` : ""; | |||
return path ? `http://192.168.18.236:18888/common/getImg?path=${path}` : ""; | |||
}; | |||
/** | |||
* | |||
* @param {*} status 1成功 0错误 可迭代 | |||
* @param {*} msg 提示信息 | |||
*/ | |||
export const sendMsg = (status, msg) => { | |||
if (status == 1) { | |||
Message.success(msg) | |||
Message.success(msg); | |||
} else { | |||
Message.error(msg) | |||
Message.error(msg); | |||
} | |||
} | |||
}; |
@@ -0,0 +1,196 @@ | |||
<!-- 入驻园区弹框 --> | |||
<template> | |||
<div class=""> | |||
<el-dialog | |||
class="dialog_box" | |||
:visible.sync="dialogTableVisible" | |||
:show-close="false" | |||
:close-on-click-modal="false" | |||
:close-on-press-escape="false" | |||
:lock-scroll="false" | |||
width="740px" | |||
> | |||
<div slot="title" class="header_title"> | |||
<span class="title_text">入驻园区</span> | |||
<img | |||
class="pointer" | |||
src="@assets/image/company/icon_close.png" | |||
alt="关闭" | |||
@click="dialogTableVisible = false" | |||
/> | |||
</div> | |||
<div class="dialog_content"> | |||
<el-form label-position="right" label-width="95px"> | |||
<el-form-item label="*企业名称"> | |||
<el-input v-model.trim="formObj.companyName" maxlength="200"></el-input> | |||
</el-form-item> | |||
<el-form-item label="*联系方式"> | |||
<el-input | |||
v-model.trim="formObj.contactWay" | |||
maxlength="11" | |||
@change="confirmTelephone" | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item label="*主营业务"> | |||
<el-input v-model.trim="formObj.mainBusiness" maxlength="200"></el-input> | |||
</el-form-item> | |||
<el-form-item label="预计产税"> | |||
<el-input | |||
v-model.trim="formObj.estimatedProduceTax" | |||
maxlength="200" | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item label="其他说明"> | |||
<el-input | |||
type="textarea" | |||
:rows="5" | |||
resize="none" | |||
v-model.trim="formObj.otherExplain" | |||
maxlength="200" | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item> | |||
<el-button | |||
class="submit_btn" | |||
type="primary" | |||
:loading="loading" | |||
@click="submitForm" | |||
> | |||
提交 | |||
</el-button> | |||
<div class="submit_tip">提交后园区工作人员将在1-3个工作日内联系您</div> | |||
</el-form-item> | |||
</el-form> | |||
</div> | |||
</el-dialog> | |||
</div> | |||
</template> | |||
<script> | |||
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | |||
//例如:import 《组件名称》 from '《组件路径》'; | |||
import { submitRequestNote } from "@api/index"; | |||
import Qs from "qs"; | |||
export default { | |||
//import引入的组件需要注入到对象中才能使用 | |||
components: {}, | |||
data() { | |||
//这里存放数据 | |||
return { | |||
dialogTableVisible: false, | |||
formObj: { | |||
companyName: "", // 企业名称 | |||
contactWay: "", // 联系方式 | |||
mainBusiness: "", // 主营业务 | |||
estimatedProduceTax: "", // 预计产税 | |||
otherExplain: "", // 其他说明 | |||
}, | |||
loading: false, | |||
}; | |||
}, | |||
//监听属性 类似于data概念 | |||
computed: {}, | |||
//监控data中的数据变化 | |||
watch: {}, | |||
//方法集合 | |||
methods: { | |||
showDialog() { | |||
this.dialogTableVisible = true; | |||
this.formObj = { | |||
companyName: "", // 企业名称 | |||
contactWay: "", // 联系方式 | |||
mainBusiness: "", // 主营业务 | |||
estimatedProduceTax: "", // 预计产税 | |||
otherExplain: "", // 其他说明 | |||
}; | |||
}, | |||
confirmTelephone() { | |||
if (!/^[0-9]{11}$/.test(this.formObj.contactWay)) this.formObj.contactWay = ""; | |||
}, | |||
submitForm() { | |||
if (!this.formObj.companyName) { | |||
this.$message.error(`请填写企业名称!`); | |||
return; | |||
} | |||
if (!this.formObj.contactWay) { | |||
this.$message.error(`请填写联系方式!`); | |||
return; | |||
} | |||
if (!this.formObj.mainBusiness) { | |||
this.$message.error(`请填写主营业务!`); | |||
return; | |||
} | |||
submitRequestNote(Qs.stringify(this.formObj)) | |||
.then(res => { | |||
if (res.data.status == 0) { | |||
this.$message.success(`提交成功!`); | |||
this.dialogTableVisible = false; | |||
} else { | |||
this.$message.error(`提交失败,请刷新重试!`); | |||
} | |||
}) | |||
.catch(err => { | |||
this.$message.error(`提交失败,失败原因${err},请刷新重试!`); | |||
}); | |||
}, | |||
}, | |||
//生命周期 - 创建完成(可以访问当前this实例) | |||
created() {}, | |||
//生命周期 - 挂载完成(可以访问DOM元素) | |||
mounted() {}, | |||
beforeCreate() {}, //生命周期 - 创建之前 | |||
beforeMount() {}, //生命周期 - 挂载之前 | |||
beforeUpdate() {}, //生命周期 - 更新之前 | |||
updated() {}, //生命周期 - 更新之后 | |||
beforeDestroy() {}, //生命周期 - 销毁之前 | |||
destroyed() {}, //生命周期 - 销毁完成 | |||
activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发 | |||
}; | |||
</script> | |||
<style lang="scss" scoped> | |||
//@import url(); 引入公共css类 | |||
.dialog_box { | |||
::v-deep .el-dialog { | |||
background-image: linear-gradient(180deg, #cce7fa 0%, #feffff 100%); | |||
} | |||
::v-deep .el-dialog__header { | |||
padding: 0; | |||
} | |||
.header_title { | |||
@include size(100%, 72px); | |||
padding: 0 20px 0 30px; | |||
@include border-box; | |||
@include flex(row, space-between, center, null); | |||
border-bottom: solid 1px #637485; | |||
.title_text { | |||
@include font(24px, #334a5f); | |||
font-weight: 600; | |||
} | |||
img { | |||
@include size(36px, 36px); | |||
} | |||
} | |||
.dialog_content { | |||
padding: 0 85px; | |||
@include border-box; | |||
::v-deep .el-form-item__label { | |||
@include font(16px, #637485); | |||
} | |||
::v-deep .el-input__inner, | |||
::v-deep .el-textarea__inner { | |||
background: transparent; | |||
border: 1px solid #41a6fe; | |||
} | |||
.submit_btn { | |||
width: 100%; | |||
background-image: linear-gradient(135deg, #42a6fe 0%, #0070d2 100%); | |||
} | |||
.submit_tip { | |||
@include font(16px, #334a5f); | |||
width: 100%; | |||
text-align: center; | |||
} | |||
} | |||
} | |||
</style> |
@@ -2,7 +2,7 @@ | |||
<div class="home"> | |||
<Banner></Banner> | |||
<div> | |||
<park-introduce :navLists="indexTab"></park-introduce> | |||
<park-introduce :navLists="indexTab" :parkInfo="parkInfo"></park-introduce> | |||
<product></product> | |||
<service></service> | |||
<advantage></advantage> | |||
@@ -22,6 +22,7 @@ import Advantage from "./Advantage.vue"; | |||
import ParkMap from "./ParkMap.vue"; | |||
import Footer from "@components/Footer.vue"; | |||
import SlideNav from "./SlideNav.vue"; | |||
import { getRegisterArea } from "@api/index"; | |||
export default { | |||
metaInfo: { | |||
@@ -66,11 +67,30 @@ export default { | |||
imgUrl: require("@assets/image/index/icon_map.png"), | |||
}, | |||
], | |||
parkInfo: null, | |||
}; | |||
}, | |||
computed: {}, | |||
created() { | |||
this.getRegisterArea(); | |||
}, | |||
mounted() {}, | |||
methods: {}, | |||
methods: { | |||
getRegisterArea() { | |||
getRegisterArea() | |||
.then(res => { | |||
console.log(res.data); | |||
if (res.data.status == 0) { | |||
this.parkInfo = res.data.data[0]; | |||
} else { | |||
this.$message.error(`获取数据失败,请刷新重试!`); | |||
} | |||
}) | |||
.catch(err => { | |||
this.$message.error(`获取数据失败,失败原因${err},请刷新重试!`); | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
@@ -4,13 +4,18 @@ | |||
<div class="title">招商服务</div> | |||
<section class="service_box"> | |||
<div class="left"> | |||
<div class="tab_box pointer" v-for="item in serviceTabs" :key="item.name"> | |||
<div | |||
v-for="(item, index) in serviceTabs" | |||
:class="['tab_box', 'pointer', activeTab === index ? 'active' : '']" | |||
:key="item.name" | |||
@click="changeTab(index)" | |||
> | |||
<div class="tab_title">{{ item.name }}</div> | |||
<ul class="tab_ul"> | |||
<li v-for="item1 in item.children" :key="item1">{{ item1 }}</li> | |||
</ul> | |||
</div> | |||
<div class="enter pointer" @click="dialogTableVisible = true"> | |||
<div class="enter pointer" @click="showDialog"> | |||
<div class="left"> | |||
<span class="enter_title">我是企业</span> | |||
<span class="enter_btn"> | |||
@@ -21,22 +26,55 @@ | |||
<img src="@assets/image/index/icon_company_big.png" alt="企业" /> | |||
</div> | |||
</div> | |||
<div :class="['right', lists && lists.length > 0 ? '' : 'no_data_padding']"> | |||
<div | |||
:class="['right', lists && lists.length > 0 ? '' : 'no_data_padding']" | |||
v-loading="serviceLoading" | |||
> | |||
<ul class="product_ul" v-if="lists && lists.length > 0"> | |||
<li class="pointer" v-for="item in 3"> | |||
<img src="" alt="" /> | |||
<li | |||
class="pointer" | |||
v-for="item in lists" | |||
:key=" | |||
activeTab === 0 ? item.parkServiceProductId : item.propertyManagementId | |||
" | |||
@click=" | |||
goDetail( | |||
activeTab === 0 | |||
? item.parkServiceProductId | |||
: item.propertyManagementId | |||
) | |||
" | |||
> | |||
<img | |||
:src=" | |||
activeTab === 0 | |||
? formatImg(item.productMasterImg[0]) | |||
: formatImg(item.imgList[0]) | |||
" | |||
alt="产品图片" | |||
/> | |||
<div class="product_info"> | |||
<span class="product_title"> | |||
有限责任公司注册(松江)有限责任公司注册(松江)有限责任公司注册(松江) | |||
{{ activeTab === 0 ? item.productName : item.name }} | |||
</span> | |||
<span class="product_content"> | |||
近年来,国家大力推行数字化建设,数字化园区是数字化建设的重要部分,也由此进入了高速发展阶段。数字化园区是传统技术与新技术结合打造的新型场景,将在园区招商、日常办公、生产制造、疫情防控等方面为… | |||
{{ activeTab === 0 ? item.productDetail : item.introduce }} | |||
</span> | |||
<span class="product_price"> | |||
<span> | |||
价格: | |||
<span class="price">¥80.00</span> | |||
元 | |||
<span class="price"> | |||
¥ | |||
{{ | |||
activeTab === 0 | |||
? item.showPrice | |||
: item.housingInformationList && | |||
item.housingInformationList.length > 0 | |||
? item.housingInformationList[0].price | |||
: "0" | |||
}} | |||
</span> | |||
</span> | |||
<span class="more"><i class="el-icon-right"></i></span> | |||
</span> | |||
@@ -57,60 +95,20 @@ | |||
</div> | |||
</div> | |||
</section> | |||
<el-dialog | |||
class="dialog_box" | |||
:visible.sync="dialogTableVisible" | |||
:show-close="false" | |||
:close-on-click-modal="false" | |||
:close-on-press-escape="false" | |||
:lock-scroll="false" | |||
width="740px" | |||
> | |||
<div slot="title" class="header_title"> | |||
<span class="title_text">入驻园区</span> | |||
<img class="pointer" src="" alt="关闭" @click="dialogTableVisible = false" /> | |||
</div> | |||
<div class="dialog_content"> | |||
<el-form label-position="right" label-width="95px"> | |||
<el-form-item label="*企业名称"> | |||
<el-input v-model="input"></el-input> | |||
</el-form-item> | |||
<el-form-item label="*联系方式"> | |||
<el-input v-model="input"></el-input> | |||
</el-form-item> | |||
<el-form-item label="*主营业务"> | |||
<el-input v-model="input"></el-input> | |||
</el-form-item> | |||
<el-form-item label="预计产税"> | |||
<el-input v-model="input"></el-input> | |||
</el-form-item> | |||
<el-form-item label="其他说明"> | |||
<el-input | |||
type="textarea" | |||
:rows="5" | |||
resize="none" | |||
v-model="input" | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item> | |||
<el-button class="submit_btn" type="primary" :loading="loading"> | |||
提交 | |||
</el-button> | |||
<div class="submit_tip">提交后园区工作人员将在1-3个工作日内联系您</div> | |||
</el-form-item> | |||
</el-form> | |||
</div> | |||
</el-dialog> | |||
<apply-for-admission ref="applyForAdmission"></apply-for-admission> | |||
</div> | |||
</template> | |||
<script> | |||
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | |||
//例如:import 《组件名称》 from '《组件路径》'; | |||
import { getParkServiceProduct, getPropertyManage } from "@api/index"; | |||
import { formatImg, routerOpenInNewWindow } from "@/utils/common.js"; | |||
import ApplyForAdmission from "./ApplyForAdmission.vue"; | |||
export default { | |||
//import引入的组件需要注入到对象中才能使用 | |||
components: {}, | |||
components: { ApplyForAdmission }, | |||
data() { | |||
//这里存放数据 | |||
return { | |||
@@ -124,10 +122,15 @@ export default { | |||
children: ["集成电路", "人工智能", "生物医药", "电子信息"], | |||
}, | |||
], | |||
activeTab: 0, | |||
queryParams: { | |||
page: 1, | |||
pageSize: 3, | |||
}, | |||
lists: [], | |||
dialogTableVisible: false, | |||
input: "", | |||
loading: false, | |||
tempList1: [], | |||
tempList2: [], | |||
serviceLoading: false, | |||
}; | |||
}, | |||
//监听属性 类似于data概念 | |||
@@ -135,9 +138,83 @@ export default { | |||
//监控data中的数据变化 | |||
watch: {}, | |||
//方法集合 | |||
methods: {}, | |||
methods: { | |||
formatImg, | |||
changeTab(index) { | |||
this.activeTab = index; | |||
this.lists = []; | |||
this.getData(); | |||
}, | |||
getData() { | |||
if (this.activeTab === 0) { | |||
this.lists = this.tempList1; | |||
// this.getParkServiceProduct(); | |||
} else { | |||
this.lists = this.tempList2; | |||
// this.getPropertyManage(); | |||
} | |||
}, | |||
getParkServiceProduct() { | |||
this.serviceLoading = true; | |||
getParkServiceProduct(this.queryParams) | |||
.then(res => { | |||
console.log(res.data); | |||
if (res.data.status == 0) { | |||
this.tempList1 = res.data.data.list; | |||
this.lists = this.tempList1; | |||
} else { | |||
this.$message.error(`获取数据失败,请刷新重试!`); | |||
} | |||
this.serviceLoading = false; | |||
}) | |||
.catch(err => { | |||
this.$message.error(`获取数据失败,失败原因${err},请刷新重试!`); | |||
this.serviceLoading = false; | |||
}); | |||
}, | |||
getPropertyManage() { | |||
this.serviceLoading = true; | |||
getPropertyManage(this.queryParams) | |||
.then(res => { | |||
console.log(res.data); | |||
if (res.data.status == 0) { | |||
this.tempList2 = res.data.data.list; | |||
} else { | |||
this.$message.error(`获取数据失败,请刷新重试!`); | |||
} | |||
this.serviceLoading = false; | |||
}) | |||
.catch(err => { | |||
this.$message.error(`获取数据失败,失败原因${err},请刷新重试!`); | |||
this.serviceLoading = false; | |||
}); | |||
}, | |||
goDetail(id) { | |||
if (this.activeTab === 0) { | |||
routerOpenInNewWindow({ | |||
path: "/product-detail", | |||
query: { | |||
parkServiceProductId: id, | |||
}, | |||
}); | |||
} else { | |||
routerOpenInNewWindow({ | |||
path: "/property-detail", | |||
query: { | |||
propertyManagementId: id, | |||
}, | |||
}); | |||
} | |||
}, | |||
showDialog() { | |||
this.$refs.applyForAdmission.showDialog(); | |||
}, | |||
}, | |||
//生命周期 - 创建完成(可以访问当前this实例) | |||
created() {}, | |||
created() { | |||
this.getParkServiceProduct(); | |||
this.getPropertyManage(); | |||
}, | |||
//生命周期 - 挂载完成(可以访问DOM元素) | |||
mounted() {}, | |||
}; | |||
@@ -175,29 +252,28 @@ export default { | |||
margin-right: 25px; | |||
} | |||
} | |||
&:nth-child(1) { | |||
background-image: linear-gradient(90deg, #0689e7 0%, #eff8fe 100%); | |||
.tab_title { | |||
@include font(24px, $color-white); | |||
border-bottom: 1px solid #d2e8f6; | |||
padding-bottom: 20px; | |||
@include border-box; | |||
} | |||
.tab_ul { | |||
@include font(16px, $color-white); | |||
} | |||
background-image: linear-gradient(90deg, #e5f3fd 0%, #fbfeff 100%); | |||
.tab_title { | |||
@include font(24px, #334a5f); | |||
border-bottom: 1px solid #d2e8f6; | |||
padding-bottom: 20px; | |||
@include border-box; | |||
} | |||
&:nth-child(2) { | |||
background-image: linear-gradient(90deg, #e5f3fd 0%, #fbfeff 100%); | |||
.tab_title { | |||
@include font(24px, #334a5f); | |||
border-bottom: 1px solid #d2e8f6; | |||
padding-bottom: 20px; | |||
@include border-box; | |||
} | |||
.tab_ul { | |||
@include font(16px, #637485); | |||
} | |||
.tab_ul { | |||
@include font(16px, #637485); | |||
} | |||
} | |||
.active { | |||
background-image: linear-gradient(90deg, #0689e7 0%, #eff8fe 100%); | |||
.tab_title { | |||
@include font(24px, $color-white); | |||
border-bottom: 1px solid #d2e8f6; | |||
padding-bottom: 20px; | |||
@include border-box; | |||
} | |||
.tab_ul { | |||
@include font(16px, $color-white); | |||
} | |||
} | |||
.enter { | |||
@@ -248,7 +324,7 @@ export default { | |||
height: 100%; | |||
@include border-box; | |||
flex: 1; | |||
@include flex(column, space-between, flex-start, null); | |||
@include flex(column, flex-start, flex-start, null); | |||
} | |||
.product_title { | |||
width: 100%; | |||
@@ -258,6 +334,7 @@ export default { | |||
} | |||
.product_content { | |||
width: 100%; | |||
margin: 15px 0; | |||
@include font(16px, #637485); | |||
@include text-ellipsis-multiple(3); | |||
} | |||
@@ -309,47 +386,4 @@ export default { | |||
background: #e6f3fd; | |||
} | |||
} | |||
.dialog_box { | |||
::v-deep .el-dialog { | |||
background-image: linear-gradient(180deg, #cce7fa 0%, #feffff 100%); | |||
} | |||
::v-deep .el-dialog__header { | |||
padding: 0; | |||
} | |||
.header_title { | |||
@include size(100%, 72px); | |||
padding: 0 20px 0 30px; | |||
@include border-box; | |||
@include flex(row, space-between, center, null); | |||
border-bottom: solid 1px #637485; | |||
.title_text { | |||
@include font(24px, #334a5f); | |||
font-weight: 600; | |||
} | |||
img { | |||
@include size(36px, 36px); | |||
} | |||
} | |||
.dialog_content { | |||
padding: 0 85px; | |||
@include border-box; | |||
::v-deep .el-form-item__label { | |||
@include font(16px, #637485); | |||
} | |||
::v-deep .el-input__inner, | |||
::v-deep .el-textarea__inner { | |||
background: transparent; | |||
border: 1px solid #41a6fe; | |||
} | |||
.submit_btn { | |||
width: 100%; | |||
background-image: linear-gradient(135deg, #42a6fe 0%, #0070d2 100%); | |||
} | |||
.submit_tip { | |||
@include font(16px, #334a5f); | |||
width: 100%; | |||
text-align: center; | |||
} | |||
} | |||
} | |||
</style> |
@@ -1,15 +1,17 @@ | |||
<!-- 园区介绍 --> | |||
<template> | |||
<div class="introduce right_slice"> | |||
<div class="introduce right_slice" v-if="parkInfo"> | |||
<div class="title"> | |||
<span class="chinese">园区介绍</span> | |||
<span class="english">park introduce</span> | |||
</div> | |||
<img :class="[lists.length < 5 ? 'park_img_100' : 'park_img_50']" src="" alt="" /> | |||
<img | |||
:class="[lists.length < 5 ? 'park_img_100' : 'park_img_50']" | |||
:src="formatImg(JSON.parse(parkInfo.photo)[0])" | |||
alt="园区图片" | |||
/> | |||
<div class="content"> | |||
小昆山园区经过不断改革发展,园区已经具备大规模开发建设的总体框架,形成了良性循环的软硬投资环境,吸引了多地区企业的投资。园区地理交通条件优越,区内交通四通八达,道路宽敞平坦。 | |||
小昆山园区经过不断改革发展,园区已经具备大规模开发建设的总体框架,形成了良性循环的软硬投资环境,吸引了多地区企业的投资。园区地理交通条件优越,区内交通四通八达,道路宽敞平坦。 | |||
小昆山园区经过不断改革发展,园区已经具备大规模开发建设的总体框架,形成了良性循环的软硬投资环境,吸引了多地区企业的投资。园区地理交通条件优越,区内交通四通八达,道路宽敞平坦。 | |||
{{ parkInfo.introduce }} | |||
</div> | |||
</div> | |||
</template> | |||
@@ -17,11 +19,22 @@ | |||
<script> | |||
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | |||
//例如:import 《组件名称》 from '《组件路径》'; | |||
import { formatImg } from "@/utils/common.js"; | |||
export default { | |||
//import引入的组件需要注入到对象中才能使用 | |||
components: {}, | |||
props: ["lists"], | |||
props: { | |||
//每个标题内容 | |||
lists: { | |||
type: Array, | |||
default: () => [], | |||
}, | |||
parkInfo: { | |||
type: Object, | |||
default: () => {}, | |||
}, | |||
}, | |||
data() { | |||
//这里存放数据 | |||
return {}; | |||
@@ -31,7 +44,9 @@ export default { | |||
//监控data中的数据变化 | |||
watch: {}, | |||
//方法集合 | |||
methods: {}, | |||
methods: { | |||
formatImg, | |||
}, | |||
//生命周期 - 创建完成(可以访问当前this实例) | |||
created() {}, | |||
//生命周期 - 挂载完成(可以访问DOM元素) | |||
@@ -64,7 +79,6 @@ export default { | |||
.park_img_50 { | |||
width: 100%; | |||
height: 238px; | |||
background: #d8d8d8; | |||
} | |||
.park_img_100 { | |||
width: 100%; |
@@ -18,7 +18,7 @@ | |||
</ul> | |||
<section class="content row"> | |||
<div :class="[lists.length < 5 ? 'row_100' : 'row_50']"> | |||
<introduce :lists="lists"></introduce> | |||
<introduce :lists="lists" :parkInfo="parkInfo"></introduce> | |||
<div v-if="lists.length < 5" class="top_padding"> | |||
<notice :lists="lists"></notice> | |||
</div> | |||
@@ -40,7 +40,15 @@ export default { | |||
//import引入的组件需要注入到对象中才能使用 | |||
components: { Introduce, Notice }, | |||
props: { | |||
navLists: Array, //每个标题内容 | |||
//每个标题内容 | |||
navLists: { | |||
type: Array, | |||
default: () => [], | |||
}, | |||
parkInfo: { | |||
type: Object, | |||
default: () => {}, | |||
}, | |||
}, | |||
data() { | |||
//这里存放数据 |
@@ -21,7 +21,11 @@ | |||
<div class="detail_box" v-if="companyInfo"> | |||
<section class="top_box"> | |||
<div class="company_img_box"> | |||
<img class="company_img" src="" alt="" /> | |||
<img | |||
class="company_img" | |||
:src="formatImg(JSON.parse(companyInfo.logo)[0])" | |||
alt="企业图片" | |||
/> | |||
<div class="tip_img"> | |||
<span | |||
:class="[ | |||
@@ -164,6 +168,7 @@ import OtherInfo from "./components/OtherInfo.vue"; | |||
import ClaimDialog from "./components/ClaimDialog.vue"; | |||
import { getCompanyById, updateCompany } from "@api/company"; | |||
import { mapGetters } from "vuex"; | |||
import { formatImg } from "@/utils/common.js"; | |||
export default { | |||
//import引入的组件需要注入到对象中才能使用 | |||
@@ -219,6 +224,8 @@ export default { | |||
watch: {}, | |||
//方法集合 | |||
methods: { | |||
formatImg, | |||
// 锚点点击事件 | |||
changeTab(item, index) { | |||
this.activeTab = item.value; | |||
@@ -364,7 +371,6 @@ export default { | |||
position: relative; | |||
.company_img { | |||
background: pink; | |||
@include size(200px, 100%); | |||
} | |||
.tip_img { |
@@ -211,7 +211,12 @@ | |||
</el-button> | |||
</div> --> | |||
<div> | |||
<el-button class="submit_btn" type="primary" :loading="loading"> | |||
<el-button | |||
class="submit_btn" | |||
type="primary" | |||
:loading="loading" | |||
@click="downLoad" | |||
> | |||
下载授权书 | |||
</el-button> | |||
</div> | |||
@@ -338,6 +343,10 @@ export default { | |||
this.$data[`imageUrl${imgUrlIndex}`] = photo2Url; | |||
this.$forceUpdate(); | |||
}, | |||
downLoad() { | |||
let url = `http://192.168.18.236:18888/common/downloadFile?path=/website/public/%E6%8E%88%E6%9D%83%E4%B9%A6.doc&fileName=%E6%8E%88%E6%9D%83%E4%B9%A6.doc`; | |||
window.open(url, "_self"); | |||
}, | |||
}, | |||
//生命周期 - 创建完成(可以访问当前this实例) | |||
created() {}, |
@@ -1,7 +1,7 @@ | |||
<!-- 园区企业单个item --> | |||
<template> | |||
<div class="item_box" @click="goDetail(companyInfo.companyId)"> | |||
<img class="company_img" src="" alt="" /> | |||
<img class="company_img" :src="formatImg(JSON.parse(companyInfo.logo)[0])" alt="企业图片" /> | |||
<div class="info_box"> | |||
<div class="title_box"> | |||
<span class="company_title">{{ companyInfo.companyName }}</span> | |||
@@ -52,7 +52,7 @@ | |||
<script> | |||
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | |||
//例如:import 《组件名称》 from '《组件路径》'; | |||
import { formatImg } from "@/utils/common.js"; | |||
export default { | |||
//import引入的组件需要注入到对象中才能使用 | |||
props: { | |||
@@ -76,6 +76,7 @@ export default { | |||
watch: {}, | |||
//方法集合 | |||
methods: { | |||
formatImg, | |||
goDetail(companyId) { | |||
this.$router.push({ | |||
path: "/company-detail", | |||
@@ -102,7 +103,6 @@ export default { | |||
margin-bottom: 30px; | |||
.company_img { | |||
@include size(280px, 180px); | |||
background: pink; | |||
} | |||
.info_box { | |||
flex: 1; |
@@ -28,22 +28,16 @@ | |||
<tr> | |||
<td class="table_title">企业风采:</td> | |||
<td class="content"> | |||
<template v-if="!isEditing"> | |||
<div style="display:flex" v-if="!isEditing"> | |||
<img | |||
v-for="(item, index) in uploadFileList" | |||
:key="index" | |||
class="company_img" | |||
:src="item" | |||
:src="formatImg(item)" | |||
alt="企业风采" | |||
/> | |||
</template> | |||
</div> | |||
<div v-else class="img_box"> | |||
<!-- <img | |||
v-for="(item, index) in uploadFileList" | |||
:key="index" | |||
class="company_img" | |||
:src="item" | |||
/> --> | |||
<el-upload | |||
:limit="5" | |||
class="avatar-uploader" | |||
@@ -93,6 +87,7 @@ | |||
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | |||
//例如:import 《组件名称》 from '《组件路径》'; | |||
import { uploadFile } from "@mixin/uploadFile"; | |||
import { formatImg } from "@/utils/common.js"; | |||
export default { | |||
props: { | |||
@@ -123,6 +118,7 @@ export default { | |||
watch: {}, | |||
//方法集合 | |||
methods: { | |||
formatImg, | |||
// 删除图片 | |||
handleBeforeRemove(file, fileList) { | |||
console.log(fileList); |