| /** | |||||
| * 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); |
| import router from "../router/index"; | import router from "../router/index"; | ||||
| import { Message } from "element-ui"; | import { Message } from "element-ui"; | ||||
| // export const commonJs = { | |||||
| // // 在新的页面打开路由 | |||||
| // routerOpenInNewWindow: routerPath => { | |||||
| // let routeData = router.resolve(routerPath); | |||||
| // window.open(routeData.href, "_blank"); | |||||
| // }, | |||||
| // }; | |||||
| // 在新的页面打开路由 | // 在新的页面打开路由 | ||||
| export const routerOpenInNewWindow = routerPath => { | export const routerOpenInNewWindow = routerPath => { | ||||
| let routeData = router.resolve(routerPath); | let routeData = router.resolve(routerPath); | ||||
| window.open(routeData.href, "_blank"); | 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 提示信息 | * @param {*} msg 提示信息 | ||||
| */ | */ | ||||
| export const sendMsg = (status, msg) => { | export const sendMsg = (status, msg) => { | ||||
| if (status == 1) { | if (status == 1) { | ||||
| Message.success(msg) | |||||
| Message.success(msg); | |||||
| } else { | } else { | ||||
| Message.error(msg) | |||||
| Message.error(msg); | |||||
| } | } | ||||
| } | |||||
| }; |
| <!-- 入驻园区弹框 --> | |||||
| <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> |
| <div class="home"> | <div class="home"> | ||||
| <Banner></Banner> | <Banner></Banner> | ||||
| <div> | <div> | ||||
| <park-introduce :navLists="indexTab"></park-introduce> | |||||
| <park-introduce :navLists="indexTab" :parkInfo="parkInfo"></park-introduce> | |||||
| <product></product> | <product></product> | ||||
| <service></service> | <service></service> | ||||
| <advantage></advantage> | <advantage></advantage> | ||||
| import ParkMap from "./ParkMap.vue"; | import ParkMap from "./ParkMap.vue"; | ||||
| import Footer from "@components/Footer.vue"; | import Footer from "@components/Footer.vue"; | ||||
| import SlideNav from "./SlideNav.vue"; | import SlideNav from "./SlideNav.vue"; | ||||
| import { getRegisterArea } from "@api/index"; | |||||
| export default { | export default { | ||||
| metaInfo: { | metaInfo: { | ||||
| imgUrl: require("@assets/image/index/icon_map.png"), | imgUrl: require("@assets/image/index/icon_map.png"), | ||||
| }, | }, | ||||
| ], | ], | ||||
| parkInfo: null, | |||||
| }; | }; | ||||
| }, | }, | ||||
| computed: {}, | computed: {}, | ||||
| created() { | |||||
| this.getRegisterArea(); | |||||
| }, | |||||
| mounted() {}, | 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> | </script> | ||||
| <div class="title">招商服务</div> | <div class="title">招商服务</div> | ||||
| <section class="service_box"> | <section class="service_box"> | ||||
| <div class="left"> | <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> | <div class="tab_title">{{ item.name }}</div> | ||||
| <ul class="tab_ul"> | <ul class="tab_ul"> | ||||
| <li v-for="item1 in item.children" :key="item1">{{ item1 }}</li> | <li v-for="item1 in item.children" :key="item1">{{ item1 }}</li> | ||||
| </ul> | </ul> | ||||
| </div> | </div> | ||||
| <div class="enter pointer" @click="dialogTableVisible = true"> | |||||
| <div class="enter pointer" @click="showDialog"> | |||||
| <div class="left"> | <div class="left"> | ||||
| <span class="enter_title">我是企业</span> | <span class="enter_title">我是企业</span> | ||||
| <span class="enter_btn"> | <span class="enter_btn"> | ||||
| <img src="@assets/image/index/icon_company_big.png" alt="企业" /> | <img src="@assets/image/index/icon_company_big.png" alt="企业" /> | ||||
| </div> | </div> | ||||
| </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"> | <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"> | <div class="product_info"> | ||||
| <span class="product_title"> | <span class="product_title"> | ||||
| 有限责任公司注册(松江)有限责任公司注册(松江)有限责任公司注册(松江) | |||||
| {{ activeTab === 0 ? item.productName : item.name }} | |||||
| </span> | </span> | ||||
| <span class="product_content"> | <span class="product_content"> | ||||
| 近年来,国家大力推行数字化建设,数字化园区是数字化建设的重要部分,也由此进入了高速发展阶段。数字化园区是传统技术与新技术结合打造的新型场景,将在园区招商、日常办公、生产制造、疫情防控等方面为… | |||||
| {{ activeTab === 0 ? item.productDetail : item.introduce }} | |||||
| </span> | </span> | ||||
| <span class="product_price"> | <span class="product_price"> | ||||
| <span> | <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> | ||||
| <span class="more"><i class="el-icon-right"></i></span> | <span class="more"><i class="el-icon-right"></i></span> | ||||
| </span> | </span> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </section> | </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> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | ||||
| //例如:import 《组件名称》 from '《组件路径》'; | //例如:import 《组件名称》 from '《组件路径》'; | ||||
| import { getParkServiceProduct, getPropertyManage } from "@api/index"; | |||||
| import { formatImg, routerOpenInNewWindow } from "@/utils/common.js"; | |||||
| import ApplyForAdmission from "./ApplyForAdmission.vue"; | |||||
| export default { | export default { | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| components: {}, | |||||
| components: { ApplyForAdmission }, | |||||
| data() { | data() { | ||||
| //这里存放数据 | //这里存放数据 | ||||
| return { | return { | ||||
| children: ["集成电路", "人工智能", "生物医药", "电子信息"], | children: ["集成电路", "人工智能", "生物医药", "电子信息"], | ||||
| }, | }, | ||||
| ], | ], | ||||
| activeTab: 0, | |||||
| queryParams: { | |||||
| page: 1, | |||||
| pageSize: 3, | |||||
| }, | |||||
| lists: [], | lists: [], | ||||
| dialogTableVisible: false, | |||||
| input: "", | |||||
| loading: false, | |||||
| tempList1: [], | |||||
| tempList2: [], | |||||
| serviceLoading: false, | |||||
| }; | }; | ||||
| }, | }, | ||||
| //监听属性 类似于data概念 | //监听属性 类似于data概念 | ||||
| //监控data中的数据变化 | //监控data中的数据变化 | ||||
| watch: {}, | 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实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| created() {}, | |||||
| created() { | |||||
| this.getParkServiceProduct(); | |||||
| this.getPropertyManage(); | |||||
| }, | |||||
| //生命周期 - 挂载完成(可以访问DOM元素) | //生命周期 - 挂载完成(可以访问DOM元素) | ||||
| mounted() {}, | mounted() {}, | ||||
| }; | }; | ||||
| margin-right: 25px; | 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 { | .enter { | ||||
| height: 100%; | height: 100%; | ||||
| @include border-box; | @include border-box; | ||||
| flex: 1; | flex: 1; | ||||
| @include flex(column, space-between, flex-start, null); | |||||
| @include flex(column, flex-start, flex-start, null); | |||||
| } | } | ||||
| .product_title { | .product_title { | ||||
| width: 100%; | width: 100%; | ||||
| } | } | ||||
| .product_content { | .product_content { | ||||
| width: 100%; | width: 100%; | ||||
| margin: 15px 0; | |||||
| @include font(16px, #637485); | @include font(16px, #637485); | ||||
| @include text-ellipsis-multiple(3); | @include text-ellipsis-multiple(3); | ||||
| } | } | ||||
| background: #e6f3fd; | 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> | </style> |
| <!-- 园区介绍 --> | <!-- 园区介绍 --> | ||||
| <template> | <template> | ||||
| <div class="introduce right_slice"> | |||||
| <div class="introduce right_slice" v-if="parkInfo"> | |||||
| <div class="title"> | <div class="title"> | ||||
| <span class="chinese">园区介绍</span> | <span class="chinese">园区介绍</span> | ||||
| <span class="english">park introduce</span> | <span class="english">park introduce</span> | ||||
| </div> | </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"> | <div class="content"> | ||||
| 小昆山园区经过不断改革发展,园区已经具备大规模开发建设的总体框架,形成了良性循环的软硬投资环境,吸引了多地区企业的投资。园区地理交通条件优越,区内交通四通八达,道路宽敞平坦。 | |||||
| 小昆山园区经过不断改革发展,园区已经具备大规模开发建设的总体框架,形成了良性循环的软硬投资环境,吸引了多地区企业的投资。园区地理交通条件优越,区内交通四通八达,道路宽敞平坦。 | |||||
| 小昆山园区经过不断改革发展,园区已经具备大规模开发建设的总体框架,形成了良性循环的软硬投资环境,吸引了多地区企业的投资。园区地理交通条件优越,区内交通四通八达,道路宽敞平坦。 | |||||
| {{ parkInfo.introduce }} | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | ||||
| //例如:import 《组件名称》 from '《组件路径》'; | //例如:import 《组件名称》 from '《组件路径》'; | ||||
| import { formatImg } from "@/utils/common.js"; | |||||
| export default { | export default { | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| components: {}, | components: {}, | ||||
| props: ["lists"], | |||||
| props: { | |||||
| //每个标题内容 | |||||
| lists: { | |||||
| type: Array, | |||||
| default: () => [], | |||||
| }, | |||||
| parkInfo: { | |||||
| type: Object, | |||||
| default: () => {}, | |||||
| }, | |||||
| }, | |||||
| data() { | data() { | ||||
| //这里存放数据 | //这里存放数据 | ||||
| return {}; | return {}; | ||||
| //监控data中的数据变化 | //监控data中的数据变化 | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: {}, | |||||
| methods: { | |||||
| formatImg, | |||||
| }, | |||||
| //生命周期 - 创建完成(可以访问当前this实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| created() {}, | created() {}, | ||||
| //生命周期 - 挂载完成(可以访问DOM元素) | //生命周期 - 挂载完成(可以访问DOM元素) | ||||
| .park_img_50 { | .park_img_50 { | ||||
| width: 100%; | width: 100%; | ||||
| height: 238px; | height: 238px; | ||||
| background: #d8d8d8; | |||||
| } | } | ||||
| .park_img_100 { | .park_img_100 { | ||||
| width: 100%; | width: 100%; |
| </ul> | </ul> | ||||
| <section class="content row"> | <section class="content row"> | ||||
| <div :class="[lists.length < 5 ? 'row_100' : 'row_50']"> | <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"> | <div v-if="lists.length < 5" class="top_padding"> | ||||
| <notice :lists="lists"></notice> | <notice :lists="lists"></notice> | ||||
| </div> | </div> | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| components: { Introduce, Notice }, | components: { Introduce, Notice }, | ||||
| props: { | props: { | ||||
| navLists: Array, //每个标题内容 | |||||
| //每个标题内容 | |||||
| navLists: { | |||||
| type: Array, | |||||
| default: () => [], | |||||
| }, | |||||
| parkInfo: { | |||||
| type: Object, | |||||
| default: () => {}, | |||||
| }, | |||||
| }, | }, | ||||
| data() { | data() { | ||||
| //这里存放数据 | //这里存放数据 |
| <div class="detail_box" v-if="companyInfo"> | <div class="detail_box" v-if="companyInfo"> | ||||
| <section class="top_box"> | <section class="top_box"> | ||||
| <div class="company_img_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"> | <div class="tip_img"> | ||||
| <span | <span | ||||
| :class="[ | :class="[ | ||||
| import ClaimDialog from "./components/ClaimDialog.vue"; | import ClaimDialog from "./components/ClaimDialog.vue"; | ||||
| import { getCompanyById, updateCompany } from "@api/company"; | import { getCompanyById, updateCompany } from "@api/company"; | ||||
| import { mapGetters } from "vuex"; | import { mapGetters } from "vuex"; | ||||
| import { formatImg } from "@/utils/common.js"; | |||||
| export default { | export default { | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: { | methods: { | ||||
| formatImg, | |||||
| // 锚点点击事件 | // 锚点点击事件 | ||||
| changeTab(item, index) { | changeTab(item, index) { | ||||
| this.activeTab = item.value; | this.activeTab = item.value; | ||||
| position: relative; | position: relative; | ||||
| .company_img { | .company_img { | ||||
| background: pink; | |||||
| @include size(200px, 100%); | @include size(200px, 100%); | ||||
| } | } | ||||
| .tip_img { | .tip_img { |
| </el-button> | </el-button> | ||||
| </div> --> | </div> --> | ||||
| <div> | <div> | ||||
| <el-button class="submit_btn" type="primary" :loading="loading"> | |||||
| <el-button | |||||
| class="submit_btn" | |||||
| type="primary" | |||||
| :loading="loading" | |||||
| @click="downLoad" | |||||
| > | |||||
| 下载授权书 | 下载授权书 | ||||
| </el-button> | </el-button> | ||||
| </div> | </div> | ||||
| this.$data[`imageUrl${imgUrlIndex}`] = photo2Url; | this.$data[`imageUrl${imgUrlIndex}`] = photo2Url; | ||||
| this.$forceUpdate(); | 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实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| created() {}, | created() {}, |
| <!-- 园区企业单个item --> | <!-- 园区企业单个item --> | ||||
| <template> | <template> | ||||
| <div class="item_box" @click="goDetail(companyInfo.companyId)"> | <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="info_box"> | ||||
| <div class="title_box"> | <div class="title_box"> | ||||
| <span class="company_title">{{ companyInfo.companyName }}</span> | <span class="company_title">{{ companyInfo.companyName }}</span> | ||||
| <script> | <script> | ||||
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | ||||
| //例如:import 《组件名称》 from '《组件路径》'; | //例如:import 《组件名称》 from '《组件路径》'; | ||||
| import { formatImg } from "@/utils/common.js"; | |||||
| export default { | export default { | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| props: { | props: { | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: { | methods: { | ||||
| formatImg, | |||||
| goDetail(companyId) { | goDetail(companyId) { | ||||
| this.$router.push({ | this.$router.push({ | ||||
| path: "/company-detail", | path: "/company-detail", | ||||
| margin-bottom: 30px; | margin-bottom: 30px; | ||||
| .company_img { | .company_img { | ||||
| @include size(280px, 180px); | @include size(280px, 180px); | ||||
| background: pink; | |||||
| } | } | ||||
| .info_box { | .info_box { | ||||
| flex: 1; | flex: 1; |
| <tr> | <tr> | ||||
| <td class="table_title">企业风采:</td> | <td class="table_title">企业风采:</td> | ||||
| <td class="content"> | <td class="content"> | ||||
| <template v-if="!isEditing"> | |||||
| <div style="display:flex" v-if="!isEditing"> | |||||
| <img | <img | ||||
| v-for="(item, index) in uploadFileList" | v-for="(item, index) in uploadFileList" | ||||
| :key="index" | :key="index" | ||||
| class="company_img" | class="company_img" | ||||
| :src="item" | |||||
| :src="formatImg(item)" | |||||
| alt="企业风采" | alt="企业风采" | ||||
| /> | /> | ||||
| </template> | |||||
| </div> | |||||
| <div v-else class="img_box"> | <div v-else class="img_box"> | ||||
| <!-- <img | |||||
| v-for="(item, index) in uploadFileList" | |||||
| :key="index" | |||||
| class="company_img" | |||||
| :src="item" | |||||
| /> --> | |||||
| <el-upload | <el-upload | ||||
| :limit="5" | :limit="5" | ||||
| class="avatar-uploader" | class="avatar-uploader" | ||||
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | ||||
| //例如:import 《组件名称》 from '《组件路径》'; | //例如:import 《组件名称》 from '《组件路径》'; | ||||
| import { uploadFile } from "@mixin/uploadFile"; | import { uploadFile } from "@mixin/uploadFile"; | ||||
| import { formatImg } from "@/utils/common.js"; | |||||
| export default { | export default { | ||||
| props: { | props: { | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: { | methods: { | ||||
| formatImg, | |||||
| // 删除图片 | // 删除图片 | ||||
| handleBeforeRemove(file, fileList) { | handleBeforeRemove(file, fileList) { | ||||
| console.log(fileList); | console.log(fileList); |