Commit 79a1b887 authored by xinzhedeai's avatar xinzhedeai

数据概览-孵化器概况

parent 1b5afb1b
import request from '@/utils/request'
export function getData4panel0(data) { // 孵化器概况信息
return request({
url: 'api/incubator/profile?incubatorId='+data.incubatorId,
method: 'get',
})
}
export function getData4tech(data) {
return request({
url: 'api/incubator',
method: 'get',
})
}
export function del(ids) {
return request({
url: 'api/users',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/incubator',
method: 'put',
data
})
}
export function add(data) {
return request({
url: 'api/incubator',
method: 'post',
data
})
}
export function editUser(data) {
return request({
url: 'api/users/center',
method: 'put',
data
})
}
export default { getData4panel0, getData4tech, add, edit, del }
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
</keep-alive> </keep-alive>
</transition> </transition>
<footer v-if="$route.path!=='/dashboard'" class="page-footer"></footer> <footer v-if="$route.path!=='/dashboard' && $route.path!=='/home/overview'" class="page-footer"></footer>
<!-- <div v-if="$store.state.settings.showFooter" id="el-main-footer"> <!-- <div v-if="$store.state.settings.showFooter" id="el-main-footer">
<span v-html="$store.state.settings.footerTxt" /> <span v-html="$store.state.settings.footerTxt" />
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="header"> <div class="header">
<ul> <ul>
<li @click="changeNav(0)" :class="{ active: activeIndex === 0 }"> <li @click="changeNav(0)" :class="{ active: activeIndex === 0 }">
<div class="title">孵化器概况</div> <div class="title">孵化器概况</div>
</li> </li>
<li @click="changeNav(1)" :class="{ active: activeIndex === 1 }"> <li @click="changeNav(1)" :class="{ active: activeIndex === 1 }">
<div class="title">在孵企业</div> <div class="title">在孵企业</div>
</li> </li>
<li @click="changeNav(2)" :class="{ active: activeIndex === 2 }"> <li @click="changeNav(2)" :class="{ active: activeIndex === 2 }">
<div class="title">毕业企业</div> <div class="title">毕业企业</div>
</li> </li>
<li @click="changeNav(3)" :class="{ active: activeIndex === 3 }"> <li @click="changeNav(3)" :class="{ active: activeIndex === 3 }">
<div class="title">中介机构</div> <div class="title">中介机构</div>
</li> </li>
<li @click="changeNav(4)" :class="{ active: activeIndex === 4 }"> <li @click="changeNav(4)" :class="{ active: activeIndex === 4 }">
<div class="title">创业导师</div> <div class="title">创业导师</div>
</li> </li>
</ul> </ul>
</div> </div>
<div class="body"> <div class="bodyer">
<ul class="list"> <ul class="panelsWrapper">
<li class="overview tab_panel_0" v-if="activeIndex === 0"> <li class="overview tab_panel_0" v-if="activeIndex === 0">
<h2>威海高新区创业中心</h2> <h2>{{ data4panel0.incubatorName }}</h2>
<div class="contentWrapper"> <div class="contentWrapper">
<div class="left"> <div class="left">
<div class="item"> <div class="item">
<div class="title"> <div class="_title prefixDiv">
<span class="_left">总收入</span> <span class="_left">总收入</span>
<span class="_right">查看更多>></span> <span class="_right">查看更多>></span>
</div>
<div class="body">
<div class="_left">
<ul>
<li>孵化器总收入:12342万元</li>
<li>综合服务收入:12342万元</li>
<li>物业费收入:12342万元</li>
<li>房租费收入:12342万元</li>
<li>投资收入:12342万元</li>
<li>政策性收入:12342万元</li>
<li>其他:12342万元</li>
</ul>
</div>
<div class="_right">
<div class="charts pie"></div>
</div>
</div>
</div> </div>
<div class="item"> <div class="body">
<div class="title"> <div class="_left">
<span class="_left">总收入</span> <ul>
<span class="_right">查看更多>></span> <li>孵化器总收入:{{ data4panel0.totalRevenue }}万元</li>
<li>
综合服务收入:{{ data4panel0.serviceRevenue }}万元
</li>
<li>物业费收入:{{ data4panel0.propertyRevenue }}万元</li>
<li>房租费收入:{{ data4panel0.rentRevenue }}万元</li>
<li>投资收入:{{ data4panel0.investmentRevenue }}万元</li>
<li>政策性收入:{{ data4panel0.policyRevenue }}万元</li>
<li>其他:{{ data4panel0.otherRevenue }}万元</li>
</ul>
</div> </div>
<div class="body"> <div class="_right">
<div class="_left"> <div
<ul> ref="pieChart4panel0_1"
<li>运营机构:威海高新创业园运营管理有限公司</li> style="width: 300px; height: 300px"
<li>联 系人:联系人姓名</li> class="charts pie"
<li>联系电话:0631-1234567</li> ></div>
<li>中心位于高新区内,交通便利</li>
</ul>
</div>
<div class="_right">
<div class="charts pie"></div>
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="right"> <div class="item">
<div class="item"> <div class="_title prefixDiv">
<div class="title"> <span class="_left">使用面积</span>
<span class="_left">简介</span> </div>
<span class="_right">查看更多>></span> <div class="body">
<div class="_left">
<ul>
<li>孵化器使用总面积:{{ data4panel0.totalArea }}</li>
<li>
用于企业孵化的面积:{{ data4panel0.incubationArea }}
</li>
<li>剩余孵化面积:{{ data4panel0.remainingArea }}</li>
</ul>
</div> </div>
<div class="body"> <div class="_right">
<div class="_top"> <div
<ul> ref="pieChart4panel0_2"
<li>运营机构:威海高新创业园运营管理有限公司</li> style="width: 300px; height: 300px"
<li>联 系人:联系人姓名</li> class="charts pie"
<li>联系电话:0631-1234567</li> ></div>
<li>中心位于高新区内,交通便利</li>
</ul>
</div>
<div class="_bottom">
<img src="" alt="" />
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</li> <div class="right">
<li class="tab_panel_1" v-if="activeIndex === 10"> <div class="item">
<div class="_left"> <div class="_title prefixDiv">
<div class="_title"> <span class="_left">简介</span>
<span>在孵企业</span> </div>
<span>280家</span> <div class="body">
</div> <div class="_top">
<div class="_list"> <ul>
<el-input <li>运营机构:{{ data4panel0.operatingAgency }}</li>
placeholder="请输入内容" <li>联 系人:{{ data4panel0.contactPerson }}</li>
prefix-icon="el-icon-search" <li>联系电话:{{ data4panel0.contactPhone }}</li>
v-model="searchText" <li>{{}}</li>
style="100%" </ul>
></el-input> </div>
<div class="_bottom">
<ul> <img
<li v-for="item1 in 10" :key="item1"> :src="`${baseAPI}file/${data4panel0.incubatorImage}`"
威海众智惠新信息科技有限公司 alt=""
</li> />
</ul> </div>
<el-pagination </div>
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:total="totalItems"
layout="prev, pager, next"
/>
</div>
</div>
<div class="_right">
<h2>威海众智惠新信息科技有限公司</h2>
<div class="divider"></div>
<div class="_title prefixDiv">
<div class="_left">企业基础信息</div>
<div class="_right">查看企业简介>></div>
</div>
<div class="_body">
<ul>
<li v-for="item in 10" class="prefixPoint">
入驻时间: 2021-10-10
</li>
</ul>
</div>
<div class="_title prefixDiv">
<div class="_left">知识产权</div>
</div>
<div class="_body">
<ul>
<li v-for="item in 10" class="prefixPoint">
入驻时间: 2021-10-10
</li>
</ul>
</div>
<div class="_title prefixDiv">
<div class="_left">创业创新企业情况</div>
</div>
<div class="_body">
<ul>
<li v-for="item in 10" class="prefixPoint">
入驻时间: 2021-10-10
</li>
</ul>
</div>
<div class="_title prefixDiv">
<div class="_left">今年企业经营信息</div>
<div class="_right">查看更多>></div>
</div>
<div class="_body">
<ul>
<li v-for="item in 10" class="prefixPoint">
入驻时间: 2021-10-10
</li>
</ul>
</div>
<!-- -->
<div class="_title prefixDiv">
<div class="_left">企业产品</div>
<div class="_right">查看更多>></div>
</div>
<div class="_body">
<dl>
<dd v-for="item in 10">
<img src="" alt="">
<h3>环境监测设备</h3>
<p>内置NB-IoT物联网SIM卡,把数据传 输到晶合云平台或客户私有云平台, 实现数据</p>
</dd>
</dl>
</div> </div>
</div> </div>
</li> </div>
<li class="tab_panel_4" v-if="activeIndex === 40"> </li>
<li class="tab_panel_1" v-if="activeIndex === 10">
<div class="_left">
<div class="_title"> <div class="_title">
<span>创业导师</span> <span>在孵企业</span>
<span>280家</span>
</div>
<div class="_list">
<el-input <el-input
placeholder="请输入姓名搜索" placeholder="请输入内容"
prefix-icon="el-icon-search" prefix-icon="el-icon-search"
v-model="searchText4teacher" v-model="searchText"
style="100%"
></el-input> ></el-input>
<ul>
<li v-for="item1 in 10" :key="item1">
威海众智惠新信息科技有限公司
</li>
</ul>
<el-pagination
@current-change="handleCurrentChange4panel0"
:current-page="currentPage4panel0"
:page-size="pageSize4panel0"
:total="totalItems4panel0"
layout="prev, pager, next"
/>
</div> </div>
<ul> </div>
<li v-for="item in 10" :key="item"> <div class="_right">
<img src="" alt="" /> <h2>威海众智惠新信息科技有限公司</h2>
<p>姓名:张丽力</p> <div class="divider"></div>
<p>学历:博士</p> <div class="_title prefixDiv">
<p>毕业学校:山东大学</p> <div class="_left">企业基础信息</div>
<p>联系电话:13521457845</p> <div class="_right">查看企业简介>></div>
<a>查看简介&gt;</a> </div>
</li> <div class="_body">
</ul> <ul>
</li> <li v-for="item in 10" class="prefixPoint">
</ul> 入驻时间: 2021-10-10
</div> </li>
</ul>
<el-dialog </div>
title="新增孵化器信息"
:visible.sync="dialogVisible" <div class="_title prefixDiv">
@close="resetForm" <div class="_left">知识产权</div>
> </div>
<el-form <div class="_body">
label-width="170px" <ul>
:inline="true" <li v-for="item in 10" class="prefixPoint">
:model="formInline" 入驻时间: 2021-10-10
class="demo-form-inline" </li>
:label-position="labelPosition" </ul>
> </div>
<el-row>
<el-form-item label="孵化器名称"> <div class="_title prefixDiv">
<el-input <div class="_left">创业创新企业情况</div>
v-model="formInline.incubatorName" </div>
placeholder="" <div class="_body">
size="middle" <ul>
></el-input> <li v-for="item in 10" class="prefixPoint">
</el-form-item> 入驻时间: 2021-10-10
<el-form-item label="运行机构"> </li>
<el-input </ul>
v-model="formInline.operatingAgency" </div>
placeholder=""
size="middle" <div class="_title prefixDiv">
></el-input> <div class="_left">今年企业经营信息</div>
</el-form-item> <div class="_right">查看更多>></div>
<el-form-item label="孵化器等级"> </div>
<el-select <div class="_body">
v-model="formInline.incubatorLevel" <ul>
style="width: 200px" <li v-for="item in 10" class="prefixPoint">
size="middle" 入驻时间: 2021-10-10
> </li>
<el-option </ul>
:label="item.name" </div>
:value="item.value"
v-for="item in companyLevelList" <!-- -->
:key="item.name" <div class="_title prefixDiv">
></el-option> <div class="_left">企业产品</div>
</el-select> <div class="_right">查看更多>></div>
</el-form-item> </div>
<el-form-item label="联系人"> <div class="_body">
<el-input <dl>
v-model="formInline.contactPerson" <dd v-for="item in 10">
placeholder="" <img src="" alt="" />
size="middle" <h3>环境监测设备</h3>
></el-input> <p>
</el-form-item> 内置NB-IoT物联网SIM卡,把数据传
</el-row> 输到晶合云平台或客户私有云平台, 实现数据
<el-row> </p>
<el-form-item label="联系电话"> </dd>
<el-input </dl>
v-model="formInline.contactPhone" </div>
placeholder="" </div>
size="middle" </li>
></el-input> <li class="tab_panel_4" v-if="activeIndex === 40">
</el-form-item> <div class="_title">
<el-form-item label="孵化器使用总面积(m²)"> <span>创业导师</span>
<el-input <el-input
v-model="formInline.totalArea" placeholder="请输入姓名搜索"
placeholder="" prefix-icon="el-icon-search"
size="middle" v-model="searchText4panel0"
></el-input> ></el-input>
</el-form-item> </div>
<el-form-item label="用于企业孵化的面积(m²)"> <ul>
<el-input <li v-for="item in 10" :key="item">
v-model="formInline.incubationArea" <img src="" alt="" />
placeholder="" <p>姓名:张丽力</p>
size="middle" <p>学历:博士</p>
></el-input> <p>毕业学校:山东大学</p>
</el-form-item> <p>联系电话:13521457845</p>
</el-row> <a>查看简介&gt;</a>
<el-row> </li>
<el-form-item label="孵化器地理位置"> </ul>
<el-input </li>
v-model="formInline.address" </ul>
placeholder=""
size="small"
style="width: 360px"
disabled
></el-input>
<div class="map-ctn" :style="'width:500px;' + 'height:300px' + ';'">
<cu-amap ref="amap" :options="amapOptions()" />
</div>
</el-form-item>
<el-form-item style="margin-left: 80px">
<el-upload
class="upload-demo"
:action="`${baseAPI}api/file/upload?modelName=incubator`"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:on-success="handleSuccess"
:on-error="handleError"
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
:show-file-list="false"
style="margin-bottom: 6px"
>
<span
style="margin-right: 5px; margin-left: -17px; font-weight: bold"
>孵化器图片</span
>
<el-button size="mini" type="default">上传图片</el-button>
</el-upload>
<div :style="'width:500px;' + 'height:300px' + ';'">
<div class="imgShowraper">
<img
:src="`${baseAPI}file/${formInline.incubatorImage}`"
alt=""
width="500"
height="300px"
/>
</div>
</div>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="edit">确 定</el-button>
</div>
</el-dialog>
</div> </div>
</template>
<el-dialog
title="新增孵化器信息"
:visible.sync="dialogVisible4panel0"
@close="resetForm"
>
<el-form
label-width="170px"
:inline="true"
:model="formData4panel0"
class="demo-form-inline"
>
<el-row>
<el-form-item label="孵化器名称">
<el-input
v-model="formData4panel0.incubatorName"
placeholder=""
size="middle"
></el-input>
</el-form-item>
<el-form-item label="运行机构">
<el-input
v-model="formData4panel0.operatingAgency"
placeholder=""
size="middle"
></el-input>
</el-form-item>
<el-form-item label="孵化器等级">
<el-select
v-model="formData4panel0.incubatorLevel"
style="width: 200px"
size="middle"
>
<el-option
:label="item.name"
:value="item.value"
v-for="item in companyLevelList"
:key="item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="联系人">
<el-input
v-model="formData4panel0.contactPerson"
placeholder=""
size="middle"
></el-input>
</el-form-item>
</el-row>
</el-form>
</el-dialog>
</div>
</template>
<script> <script>
var baseAPI = var baseAPI =
process.env.NODE_ENV === "development" process.env.NODE_ENV === "development"
? process.env.VUE_APP_LOCAL_API + "/" ? process.env.VUE_APP_LOCAL_API + "/"
: (VUE_APP_API.ServiceURL || process.env.VUE_APP_LOCAL_API) + "/"; : (VUE_APP_API.ServiceURL || process.env.VUE_APP_LOCAL_API) + "/";
import crudHome from "@/api/system/home"; import overviewApi from "@/api/system/overview.js";
console.log(crudHome); import * as echarts from "echarts";
import IconSelect from "@/components/IconSelect";
import Treeselect from "@riophae/vue-treeselect"; export default {
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; name: "Overview",
import { LOAD_CHILDREN_OPTIONS } from "@riophae/vue-treeselect"; components: {},
import CRUD, { presenter, header, form, crud } from "@crud/crud"; data() {
import rrOperation from "@crud/RR.operation"; return {
import crudOperation from "@crud/CRUD.operation"; // 公共用
import udOperation from "@crud/UD.operation"; baseAPI: baseAPI,
import DateRangePicker from "@/components/DateRangePicker"; incubatorId: "",
import dic from "@/api/system/dict"; // 顶部切换菜单
activeIndex: 0,
import cuAmap from "@/components/AMap";
// panel0
// crud交由presenter持有 data4panel0: {},
const defaultForm = { searchText4panel0: "",
id: null, currentPage4panel0: 1, // 当前页码
title: null, pageSize4panel0: 10, // 每页显示的条目数量
menuSort: 999, totalItems4panel0: 100, // 总条目数
path: null, dialogVisible4panel0: false,
component: null, formData4panel0: {
componentName: null, address: "",
iframe: false, contactPerson: "",
roles: [], },
pid: 0, };
icon: null, },
cache: false, computed: {},
hidden: false, mounted() {
type: 0, this.incubatorId = this.$route.query.id;
permission: null, this.getData4panel0();
}; },
export default { methods: {
name: "Menu", changeNav(index) {
components: { this.activeIndex = ~~index;
cuAmap,
Treeselect,
IconSelect,
crudOperation,
rrOperation,
udOperation,
DateRangePicker,
}, },
cruds() { handleCurrentChange4panel0(newPage) {
return CRUD({ // 切换分页
title: "菜单", this.currentPage4panel0 = newPage;
url: "api/menus", // 这里可以添加代码来加载新页的数据
crudMethod: { ...crudHome }, console.log(`当前页: ${newPage}`);
});
}, },
mixins: [presenter(), header(), form(defaultForm), crud()], initChart4panel0_1() {
data() { const chartDom = this.$refs.pieChart4panel0_1;
return { const myChart = echarts.init(chartDom);
// panel1,2,3
currentPage: 1, // 当前页码 const option = {
pageSize: 10, // 每页显示的条目数量 tooltip: {
totalItems: 100, // 总条目数 trigger: "item",
// 顶部切换菜单
activeIndex: 0,
searchText4teacher: "",
teacherList: [],
data: {
incubatorAllCount: 6,
incubatorCompanyCount: 10,
intermediaryAgencyCount: 10,
mentorAllCount: 7,
remainingArea: -99750,
total: 6,
totalArea: 382,
unIncubatorCompanyCount: 14,
list: [],
},
dialogVisible: false,
baseAPI: baseAPI,
labelPosition: "right",
fileList: [],
cmap: null,
Dict: { selectList: [] },
formInline: {
address: "",
contactPerson: "",
contactPhone: "",
id: "",
incubationArea: "",
incubatorImage: "",
incubatorLevel: 2,
incubatorName: "",
latitude: "",
longitude: "",
operatingAgency: "",
totalArea: "",
},
menus: [],
permission: {
add: ["admin", "menu:add"],
edit: ["admin", "menu:edit"],
del: ["admin", "menu:del"],
},
rules: {
title: [{ required: true, message: "请输入标题", trigger: "blur" }],
path: [{ required: true, message: "请输入地址", trigger: "blur" }],
}, },
series: [
{
name: "孵化器总收入",
type: "pie",
radius: "50%",
data: this.data4panel0.revenueChartData || [],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
},
},
},
],
}; };
myChart.setOption(option);
}, },
computed: { initChart4panel0_2() {
// remainingArea() { const chartDom = this.$refs.pieChart4panel0_2;
// return this.formInline.totalArea - this.formInline.incubationArea; const myChart = echarts.init(chartDom);
// },
}, const option = {
mounted() { tooltip: {
// this.getData(); trigger: "item",
dic.getCompanyDicts().then((res) => { },
console.log(res); series: [
this.companyLevelList = res.body.incubatorLevel || []; {
}); name: "孵化器使用总面积",
this.getData(); type: "pie",
}, radius: "50%",
methods: { data: this.data4panel0.areaChartData || [],
handleCurrentChange(newPage) { emphasis: {
// 切换分页 itemStyle: {
this.currentPage = newPage; shadowBlur: 10,
// 这里可以添加代码来加载新页的数据 shadowOffsetX: 0,
console.log(`当前页: ${newPage}`); shadowColor: "rgba(0, 0, 0, 0.5)",
},
changeNav(index) {
this.activeIndex = ~~index;
},
go2overview() {
alert("数据概览页开发ing~");
},
handleSuccess(response, file) {
// 处理上传成功
console.log("Upload success:", response, file);
this.formInline.incubatorImage = response.body;
// this.fileList.push(file); // 存储已上传文件
// this.tableData.push({
// name: file.name,
// status: '上传成功',
// });
},
handleError(err, file) {
// 处理上传错误
console.error("Upload failed:", err, file);
this.tableData.push({
name: file.name,
status: "上传失败",
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
amapOptions(cmap) {
var VUE = this;
var self = this,
form = this.formInline;
return {
zoom: 12,
center: [122.050189, 37.515189],
//showLabel: true,
//pitch: 40,
onload: function (cmap) {
// debugger
VUE.cmap = cmap;
var center = cmap.options.center;
var lng = form.longitude || center[0],
lat = form.latitude || center[1];
if (lng && lat) {
cmap.setCenter([lng, lat]);
// 添加标记
cmap.addMarker({
lnglat: [lng, lat],
title: "",
draggable: true,
dragend: function (e) {
// var lnglat = e.lnglat;
// cmap.deGeocode([lnglat.lng, lnglat.lat], function (addr) {
// form.address = addr;
// form.longitude = lnglat.lng;
// form.latitude = lnglat.lat;
// self.$forceUpdate();
// });
VUE.getAddrPlus(e, cmap);
},
});
}
},
click: function (e, cmap) {
// 经纬度坐标
VUE.getAddrPlus(e, cmap);
// var lnglat = e.lnglat;
// cmap.deGeocode([lnglat.lng, lnglat.lat], function (addr) {
// form.address = addr;
// form.longitude = lnglat.lng;
// form.latitude = lnglat.lat;
// });
cmap.marker && cmap.removeMarker();
// 添加标记
cmap.addMarker({
lnglat: [e.lnglat.lng, e.lnglat.lat],
title: "",
draggable: true,
dragend: function (e) {
// var lnglat = e.lnglat;
// cmap.deGeocode([lnglat.lng, lnglat.lat], function (addr) {
// form.address = addr;
// form.longitude = lnglat.lng;
// form.latitude = lnglat.lat;
// });
VUE.getAddrPlus(e, cmap, form);
}, },
}); },
}, },
}; ],
}, };
getAddrPlus(e, cmap, form) {
var lnglat = e.lnglat; myChart.setOption(option);
let longitude = lnglat.lng; },
let latitude = lnglat.lat; getData4panel0(fn) {
overviewApi
// 创建逆地理编码对象 .getData4panel0({
let geocoder; incubatorId: this.incubatorId,
AMap.plugin("AMap.Geocoder", () => { })
geocoder = new AMap.Geocoder({ .then((res) => {
radius: 1000, console.log(res, "getData4panel04tech");
extensions: "all", this.data4panel0 = res.body;
}); this.initChart4panel0_1();
console.log();
// 根据经纬度进行逆地理编码查询
geocoder.getAddress([longitude, latitude], (status, result) => {
if (status === "complete" && result.info === "OK") {
if (result.regeocode && result.regeocode.formattedAddress) {
let address = result.regeocode.formattedAddress;
this.formInline.address = address;
this.formInline.longitude = longitude;
this.formInline.latitude = latitude;
this.$forceUpdate();
console.log("精确地址获取", address);
}
} else {
console.error("获取地址失败");
}
});
});
},
onSubmit() {
console.log("submit!");
},
edit() {
if (this.formInline.incubatorName) {
}
crudHome.add(this.formInline).then((res) => {
if (res && res.code === 200) {
this.$message.success("保存成功"); // res.msg
this.getData();
this.dialogVisible = false;
}
}); });
},
getData(fn) {
crudHome
.getData4tech({
page: 0,
size: 999,
})
.then((res) => {
console.log(res, "getData4tech");
this.data = res.body;
});
},
// 选中图标
selected(name) {
this.form.icon = name;
},
}, },
}; },
</script> };
<style> </script>
/* .app-main { <style rel="stylesheet/scss" lang="scss" scoped>
background-color: #fff !important; .app-container {
} */ padding: 20px;
</style> background-color: #fff;
<style rel="stylesheet/scss" lang="scss" scoped> font-family: Microsoft YaHei;
.app-container { }
padding: 20px;
.page-footer {
display: none !important;
}
.header {
// 菜单标题头
background: #f5f7fa;
ul {
display: flex;
justify-content: start;
border: 1px solid #d8dce5;
background-color: #fff; background-color: #fff;
font-family: Microsoft YaHei; li {
} width: 238px;
height: 48px;
.page-footer{
display:none !important;
}
.header {
background: #f5f7fa;
ul {
display: flex; display: flex;
justify-content: start; align-items: center;
border: 1px solid #d8dce5; list-style: none;
background-color: #fff; justify-content: center;
li { cursor: pointer;
width: 238px;
height: 48px; &:active,
display: flex; &.active {
align-items: center; background: #1890ff;
list-style: none;
justify-content: center;
cursor: pointer;
&:active,
&.active {
background: #1890ff;
.title {
color: #ffffff;
}
}
.title { .title {
font-size: 16px; color: #ffffff;
color: #303133;
font-weight: bold;
} }
} }
.title {
font-size: 16px;
color: #303133;
font-weight: bold;
}
} }
} }
}
.imgShowraper {
margin-left: 90px; .bodyer {
} // panels最外层容器
background-color: #fff;
/**公共类 */ }
.divider {
.panelsWrapper {
// panels父容器
background: #f5f6fb;
display: flex;
flex-wrap: wrap;
& > li {
width: 100%; width: 100%;
height: 1px; height: 442px;
border: 1px dashed #dddee1; background: #ffffff;
position: relative;
}
}
/**公共类 */
.divider {
width: 100%;
height: 1px;
border: 1px dashed #dddee1;
}
.prefixDiv {
position: relative;
&:before {
width: 4px;
height: 16px;
background: #1890ff;
position: absolute;
top: 50%; /* 垂直居中 */
transform: translateY(-50%); /* 精确居中 */
left: 16px;
content: "";
} }
.prefixDiv { }
.prefixPoint {
position: relative;
&:before {
content: "";
width: 6px;
height: 6px;
background: #1890ff;
border-radius: 50%;
position: absolute;
left: 5px;
top: 50%; /* 垂直居中 */
transform: translateY(-50%); /* 精确居中 */
}
}
/** 第五个面板 */
.tab_panel_4 {
._title {
font-size: 16px;
color: #1890ff;
width: 100%;
height: 50px;
background: #e4f2ff;
display: flex;
justify-content: space-between;
align-items: center;
position: relative; position: relative;
padding-left: 26px;
&:before { &:before {
width: 4px; width: 4px;
height: 16px; height: 16px;
background: #1890ff; background: #1890ff;
position: absolute; position: absolute;
// top: 19px;
top: 50%; /* 垂直居中 */ top: 50%; /* 垂直居中 */
transform: translateY(-50%); /* 精确居中 */ transform: translateY(-50%); /* 精确居中 */
left: 16px; left: 16px;
content: ""; content: "";
} }
} }
.prefixPoint { ul {
position: relative; display: flex;
&:before { flex-wrap: wrap;
content: ""; margin-left: 60px;
width: 6px; // margin-top: 20px;
height: 6px; & > li {
background: #1890ff; position: relative;
border-radius: 50%; width: 260px;
position: absolute; height: 334px;
left: 5px; background: #fff;
top: 50%; /* 垂直居中 */ border: 1px solid #dddee1;
transform: translateY(-50%); /* 精确居中 */ text-align: center;
padding: 10px;
margin-left: 10px;
margin-right: 40px;
margin-top: 20px;
img {
width: 200px;
height: 200px;
margin: 0 auto;
}
a {
position: absolute;
right: 6px;
bottom: 60px;
font-size: 15px;
color: #1890ff;
}
p {
font-size: 15px;
color: #606266;
padding-left: 18px;
text-align: left;
position: relative;
padding-top: 3px;
padding-bottom: 3px;
&:before {
content: "";
width: 6px;
height: 6px;
background: #1890ff;
border-radius: 50%;
position: absolute;
left: 5px;
top: 50%; /* 垂直居中 */
transform: translateY(-50%); /* 精确居中 */
}
}
} }
} }
}
.tab_panel_1 {
/** 第五个面板 */ display: flex;
.tab_panel_4 { padding: 10px;
& > ._left {
flex: 1;
margin-right: 20px;
height: 798px !important;
border: 1px solid #dddee1;
padding: 20px;
._title { ._title {
font-size: 16px;
color: #1890ff;
width: 100%;
height: 50px;
background: #e4f2ff;
display: flex; display: flex;
width: 100%;
justify-content: space-between; justify-content: space-between;
align-items: center; margin-top: 10px;
position: relative; margin-bottom: 20px;
padding-left: 26px; span {
&:before { &:first-child {
width: 4px; font-size: 19px;
height: 16px; color: #303133;
}
&:last-child {
font-size: 19px;
color: #42b983;
}
}
}
li {
font-size: 15px;
color: #666666;
width: 100%;
height: 38px;
line-height: 38px;
text-align: left;
padding-left: 10px;
cursor: pointer;
&.active,
&:hover {
background: #1890ff; background: #1890ff;
position: absolute; color: #fff;
// top: 19px; }
top: 50%; /* 垂直居中 */ }
transform: translateY(-50%); /* 精确居中 */ }
left: 16px; & > ._right {
content: ""; flex: 4;
h2 {
font-weight: 400;
font-size: 27px;
color: #42b983;
text-align: center;
margin-top: 20px;
margin-block: 20px;
}
._title {
width: 100%;
height: 36px;
background: #e4f2ff;
font-size: 16px;
color: #1890ff;
margin-top: 10px;
margin-bottom: 6px;
._left {
float: left;
margin-left: 30px;
margin-top: 6px;
}
._right {
float: right;
margin-right: 30px;
margin-top: 6px;
} }
} }
ul { ul {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-left: 60px; padding-left: 20px;
// margin-top: 20px; li {
& > li { width: 290px;
position: relative; font-size: 15px;
width: 260px; color: #606266;
height: 334px;
background: #fff;
border: 1px solid #dddee1;
text-align: center;
padding: 10px; padding: 10px;
margin-left: 10px; padding-left: 20px;
margin-right: 40px; }
margin-top: 20px; }
dl {
display: flex;
flex-wrap: wrap;
padding-left: 20px;
dd {
width: 250px;
height: 274px;
font-size: 15px;
color: #606266;
/* padding: 10px; */
margin-left: 20px;
margin-right: 20px;
border: 1px solid #dddee1;
margin-top: 10px;
img { img {
width: 200px; width: 250px;
height: 200px; height: 150px;
margin: 0 auto;
} }
a { h3 {
position: absolute;
right: 6px;
bottom: 60px;
font-size: 15px; font-size: 15px;
color: #1890ff; color: #606266;
padding-left: 15px;
} }
p { p {
font-size: 15px; font-size: 13px;
color: #606266; color: #969aa3;
padding-left: 18px; padding-left: 15px;
text-align: left; line-height: 20px;
position: relative;
padding-top: 3px;
padding-bottom: 3px;
&:before {
content: "";
width: 6px;
height: 6px;
background: #1890ff;
border-radius: 50%;
position: absolute;
left: 5px;
top: 50%; /* 垂直居中 */
transform: translateY(-50%); /* 精确居中 */
}
} }
} }
} }
} }
.tab_panel_1 { }
.tab_panel_0 {
h2 {
font-weight: 400;
font-size: 27px;
color: #42b983;
text-align: center;
padding-top: 16px;
padding-bottom: 16px;
}
._title {
color: #1890ff;
height: 48px;
background: #e4f2ff;
font-weight: 400;
font-size: 16px;
line-height: 48px;
margin-bottom: 20px;
display: flex;
justify-content: space-between;
padding-left: 26px;
padding-right: 20px;
}
.contentWrapper {
border-top: 1px dashed #dddee1;
display: flex; display: flex;
padding: 10px; padding: 16px;
& > ._left { & > div {
flex: 1; flex: 1;
margin-right: 20px; }
height: 798px !important; .left {
border: 1px solid #DDDEE1; border-right: 1px dashed #dddee1;
padding: 20px; padding-left: 20px;
._title { padding-right: 20px;
.body {
display: flex; display: flex;
width: 100%; ._left,
justify-content: space-between; ._right {
margin-top: 10px; flex: 1;
margin-bottom: 20px;
span {
&:first-child {
font-size: 19px;
color: #303133;
}
&:last-child {
font-size: 19px;
color: #42b983;
}
} }
} }
li { li {
font-size: 15px; font-size: 15px;
color: #666666; color: #606266;
width: 100%; line-height: 26px;
height: 38px; padding: 4px 42px;
line-height: 38px;
text-align: left;
padding-left: 10px;
cursor: pointer;
&.active,
&:hover {
background: #1890ff;
color: #fff;
}
} }
} }
& > ._right { .right {
flex: 4; padding-left: 20px;
h2 { padding-right: 20px;
font-weight: 400; .body {
font-size: 27px;
color: #42b983;
text-align: center;
margin-top: 20px;
margin-block: 20px;
}
._title {
width: 100%;
height: 36px;
background: #e4f2ff;
font-size: 16px;
color: #1890ff;
margin-top: 10px;
margin-bottom: 6px;
._left {
float: left;
margin-left: 30px;
margin-top: 6px;
}
._right {
float: right;
margin-right: 30px;
margin-top: 6px;
}
}
ul {
display: flex; display: flex;
flex-wrap: wrap; flex-direction: column;
padding-left: 20px; }
._top {
li { li {
width: 290px;
font-size: 15px; font-size: 15px;
color: #606266; color: #606266;
padding: 10px; line-height: 26px;
padding-left: 20px; padding: 4px 42px;
} }
} }
dl{ ._bottom {
display: flex; padding-left: 40px;
flex-wrap: wrap; img {
padding-left: 20px; width: 418px;
dd { height: 272px;
width: 250px;
height: 274px;
font-size: 15px;
color: #606266;
/* padding: 10px; */
margin-left: 20px;
margin-right: 20px;
border: 1px solid #DDDEE1;
margin-top: 10px;
img{
width: 250px;
height: 150px;
}
h3{
font-size: 15px;
color: #606266;
padding-left: 15px;
}
p{
font-size: 13px;
color: #969AA3;
padding-left: 15px;
line-height: 20px;
}
}
}
}
}
.list {
// ul元素
background: #f5f6fb;
display: flex;
flex-wrap: wrap;
& > li {
width: 100%;
height: 442px;
background: #ffffff;
position: relative;
}
.overview {
h2 {
font-weight: 400;
font-size: 27px;
color: #42b983;
text-align: center;
padding-top: 16px;
padding-bottom: 16px;
}
.contentWrapper {
border-top: 1px dashed #dddee1;
display: flex;
padding: 16px;
& > div {
flex: 1;
}
.left {
border-right: 1px dashed #dddee1;
.body {
display: flex;
._left,
._right {
flex: 1;
}
}
li {
font-size: 15px;
color: #606266;
line-height: 16px;
padding: 4px 42px;
}
}
.right {
.body {
display: flex;
}
li {
font-size: 15px;
color: #606266;
line-height: 16px;
padding: 4px 42px;
}
} }
} }
} }
} }
}
.body { </style>
background-color: #fff;
.title {
color: #1890ff;
height: 48px;
background: #e4f2ff;
font-weight: 400;
font-size: 16px;
line-height: 48px;
margin-bottom: 20px;
display: flex;
justify-content: space-between;
padding-left: 20px;
padding-right: 20px;
}
}
// ::v-deep .el-input {
// width: 200px;
// }
// ::v-deep .el-input__inner {
// height: 38px;
// }
</style>
\ No newline at end of file
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</li> </li>
<li> <li>
<div class="title">创业导师</div> <div class="title">创业导师</div>
<div class="content">{{data.mentorAllCount}}</div> <div class="content">{{data.mentorAllCount}}</div>
</li> </li>
<li> <li>
<div class="title">孵化面积</div> <div class="title">孵化面积</div>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<div class="body"> <div class="body">
<ul class="list"> <ul class="list">
<li v-for="(item) in data.list" :key="item.id" @click="go2overview"> <li v-for="(item) in data.list" :key="item.id" @click="go2overview(item)">
<img :src="`${baseAPI}file/${item.incubatorImage}`"alt="" /> <img :src="`${baseAPI}file/${item.incubatorImage}`"alt="" />
<div class="introduce"> <div class="introduce">
<h2>{{ item.incubatorName }}</h2> <h2>{{ item.incubatorName }}</h2>
...@@ -298,8 +298,9 @@ export default { ...@@ -298,8 +298,9 @@ export default {
this.getData(); this.getData();
}, },
methods: { methods: {
go2overview(){ go2overview(item){
alert('数据概览页开发ing~') // alert('数据概览页开发ing~')
this.$router.push('/home/overview?id='+item.id)
}, },
handleSuccess(response, file) { handleSuccess(response, file) {
// 处理上传成功 // 处理上传成功
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment