You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
736 lines
20 KiB
736 lines
20 KiB
<template>
|
|
<div class="warning-box">
|
|
<cpt-card>
|
|
<div class="card-title">
|
|
<img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" />
|
|
<div class="title-label">
|
|
网格党建平面图
|
|
<el-cascader
|
|
v-model="selectAgency"
|
|
:options="propTree"
|
|
:props="{ checkStrictly: true }"
|
|
:show-all-levels="false"
|
|
:getCheckedNodes="getCheckedNodes"
|
|
clearable
|
|
@change="handleCascader">
|
|
</el-cascader>
|
|
</div>
|
|
</div>
|
|
<div class="card-echart">
|
|
<div class="card-left">
|
|
<!-- <div class="card-left-title">党员学历统计</div> -->
|
|
<div class="card-flex">
|
|
<div class="echart-wr echart-wr100">
|
|
<screen-echarts-frame class="echart-org"
|
|
@myChartMethod="pieInitOks"
|
|
ref="eduChart"></screen-echarts-frame>
|
|
</div>
|
|
</div>
|
|
<div class="warning-box-bottom">
|
|
<screen-table
|
|
:headerList="headerEduList"
|
|
:tableData="eduList"
|
|
:headerStyle="headerStyle"
|
|
:tableContentStyle="headerStyle"
|
|
:visibleLoading="visibleLoading"
|
|
:operate="false"
|
|
@row="handleClickRow"
|
|
></screen-table>
|
|
<div class="pagination">
|
|
<el-pagination
|
|
:current-page="pageNo"
|
|
:page-size="pageSize"
|
|
background
|
|
layout="prev, pager, next"
|
|
@size-change="pageSizeChangeHandle"
|
|
@current-change="pageCurrentChangeHandle"
|
|
:total="total"
|
|
>
|
|
</el-pagination>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-right">
|
|
<screen-map class="map"
|
|
ref="map"
|
|
@clickFeature="clickProject"
|
|
@lookMore="lookMore"
|
|
:showPolygonLayer="true"
|
|
:isAddOpenlay="true"
|
|
:clickType="'popup'"
|
|
:showIconLayer="true"
|
|
:showPolIconLayer="true"
|
|
:areaScale="0.1"></screen-map>
|
|
</div>
|
|
</div>
|
|
</cpt-card>
|
|
<member-info v-if="showedUnitMoreInfo"
|
|
:list="unitAclist"
|
|
ref="unitdetailInfo"
|
|
@close="showedUnitMoreInfo = false" />
|
|
<people-more v-show="showedMoreInfo"
|
|
v-if="userId"
|
|
:userId="userId"
|
|
:gridName="''"
|
|
@close="showedMoreInfo = false" />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { requestPost } from "@/js/dai/request";
|
|
import screenTable from "../components/screen-table/index";
|
|
import cptCard from "@/views/modules/visual/cpts/card";
|
|
import nextTick from "dai-js/tools/nextTick";
|
|
import screenEchartsFrame from "../components/screen-echarts-frame";
|
|
import { pieOption } from './options'
|
|
import * as echarts from 'echarts';
|
|
import screenMap from "@/views/modules/visual/components/screen-map";
|
|
import memberInfo from './memberInfo.vue'
|
|
import peopleMore from "@/views/modules/visual/basicinfo/cpts/people-more";
|
|
|
|
export default {
|
|
name: "gridParty",
|
|
components: {
|
|
cptCard,
|
|
screenTable,
|
|
screenEchartsFrame,
|
|
screenMap,
|
|
memberInfo,
|
|
peopleMore
|
|
},
|
|
data() {
|
|
return {
|
|
headerStyle: [
|
|
{
|
|
'max-width': '60px'
|
|
},
|
|
{
|
|
'min-width': '100px'
|
|
},
|
|
{
|
|
'min-width': '100px'
|
|
},
|
|
{
|
|
'min-width': '160px'
|
|
}
|
|
],
|
|
headerEduList: [
|
|
{ title: "序号", coulmn: 'index' },
|
|
{ title: "姓名", coulmn: 'name' },
|
|
{ title: "手机号码", coulmn: 'mobile' }
|
|
],
|
|
noEduInit: false,
|
|
selectAgency: null,
|
|
eduTotalCount: 0,
|
|
propTree: [],
|
|
visibleLoading: true,
|
|
agencyId: '',
|
|
orgType: '',
|
|
eduCode: '', // 点击饼状图 查询列表,查询地图
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
total: 0,
|
|
eduItem: [],
|
|
eduList: [],
|
|
pieEduOptions: null,
|
|
showedUnitMoreInfo: false,
|
|
unitAclist: [],
|
|
// 地图相关*********************************************start
|
|
isfirstInit: true,
|
|
agencyInfo: {},//登陆者的组织信息:主要为了获取地图中心点和level
|
|
iconUrlArray: [],
|
|
parentPolygon: [],
|
|
orgId: '',
|
|
unitMapList: [],
|
|
showedMoreInfo: false,
|
|
userId:"",
|
|
// 地图相关*********************************************end
|
|
};
|
|
},
|
|
async mounted() {
|
|
await nextTick(100);
|
|
await this.getAgencyList()
|
|
this.agencyId = this.$store.state.user.agencyId
|
|
this.getEduCount(this.$store.state.user.agencyId) // 饼状统计图
|
|
this.getEduList() // 左下角列表数据
|
|
// 地图相关start
|
|
this.iconUrlArray = [
|
|
require('../../../../assets/img/shuju/measure/lxdj.png'),
|
|
require('../../../../assets/img/shuju/measure/lxzz.png'),
|
|
require('../../../../assets/img/shuju/measure/qydw.png'),
|
|
require('../../../../assets/img/shuju/measure/jgzs.png'),
|
|
require('../../../../assets/img/shuju/measure/qita.png'),
|
|
require('../../../../assets/img/shuju/measure/minban.png'),
|
|
require('../../../../assets/img/shuju/measure/jijin.png'),
|
|
require('../../../../assets/img/shuju/measure/other.png')
|
|
]
|
|
await this.loadOrgData()
|
|
await this.getWorkUserInfo()
|
|
this.loadMap()
|
|
this.isfirstInit = false
|
|
// 地图相关end
|
|
},
|
|
methods: {
|
|
loadMap () {
|
|
if (this.isfirstInit) {
|
|
const polIconUrlArray = [
|
|
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/a219130b6bc74b0b80b5ddb0fce0892a.png'
|
|
]
|
|
this.$refs.map.loadMap(this.agencyInfo, this.parentPolygon, polIconUrlArray, this.unitMapList, this.iconUrlArray, null,)
|
|
} else {
|
|
this.$refs.map.refreshMap(this.agencyInfo, this.parentPolygon, this.unitMapList)
|
|
}
|
|
},
|
|
// 加载组织树
|
|
async getAgencyList(node, resolve) {
|
|
const url = '/gov/org/customeragency/agencygridtree'
|
|
// let params = {
|
|
// agencyId: this.$store.state.user.agencyId,
|
|
// };
|
|
const { data, code, msg } = await requestPost(url);
|
|
if (code === 0) {
|
|
console.log('data-org----o', data)
|
|
this.selectAgency = [`${data.agencyId}-${data.level}`]
|
|
this.orgType = data.level
|
|
this.agencyId = data.agencyId
|
|
let arr = []
|
|
arr.push(data)
|
|
this.propTree = arr && this.getTreeData(arr)
|
|
} else {
|
|
}
|
|
},
|
|
// 组织树相关方法
|
|
getTreeData(data){
|
|
if (!Array.isArray(data)) return []
|
|
let arr = data.map(item => {
|
|
let _item = {}
|
|
if (item.subAgencyList) {
|
|
if (item.subAgencyList.length === 0) {
|
|
_item = {
|
|
label: item.agencyName,
|
|
value: item.agencyId + '-' + item.level,
|
|
level: item.level,
|
|
children: undefined
|
|
}
|
|
} else _item = {
|
|
label: item.agencyName,
|
|
value: item.agencyId + '-' + item.level,
|
|
level: item.level,
|
|
children: this.getTreeData(item.subAgencyList)}
|
|
} else {
|
|
_item = {
|
|
label: item.agencyName,
|
|
value: item.agencyId + '-' + item.level,
|
|
level: item.level,
|
|
}
|
|
}
|
|
return _item
|
|
})
|
|
return arr
|
|
},
|
|
// 组织点击事件
|
|
async handleCascader(val) {
|
|
console.log('val-vvv', val)
|
|
const _arr = val[val.length - 1].split('-')
|
|
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
|
|
this.agencyId = _arr[0]
|
|
this.orgId = _arr[0]
|
|
this.orgType = orgType
|
|
this.noEduInit = false
|
|
this.agencyInfo = { ...this.orgData }
|
|
console.log('agencyInfo-----', this.agencyInfo)
|
|
this.eduCode = ''
|
|
await this.loadOrgData()
|
|
this.getEduCount(_arr[0])
|
|
this.eduList = []
|
|
this.pageNo = 1;
|
|
this.pageSize = 10;
|
|
await this.getEduList()
|
|
this.getMapData()
|
|
},
|
|
// 图标相关*********************************
|
|
// 饼状统计
|
|
async getEduCount(agencyId) {
|
|
const url = "/epmetuser/icVolunteerPoly/statistics";
|
|
let params = {
|
|
agencyId
|
|
};
|
|
const { data, code, msg } = await requestPost(url, params);
|
|
if (code === 0) {
|
|
this.eduItem = data.map(item => {
|
|
return {
|
|
...item,
|
|
name: item.label,
|
|
isClick: false
|
|
}
|
|
})
|
|
|
|
this.eduTotalCount = 0
|
|
data.forEach(item => {
|
|
this.eduTotalCount += Number(item.value)
|
|
})
|
|
this.initEduCharts()
|
|
} else {
|
|
}
|
|
},
|
|
initEduCharts() {
|
|
// const eId = document.getElementById('echartOrg')
|
|
// let _charts = echarts.init(eId)
|
|
let option = {
|
|
|
|
}
|
|
let legend = {
|
|
show: true,
|
|
orient: 'vertical',
|
|
top: '20%',
|
|
right: 0,
|
|
textStyle: {
|
|
width: 90,
|
|
color: '#fff',
|
|
rich: {
|
|
a: {
|
|
width: 90
|
|
}
|
|
}
|
|
},
|
|
formatter: name => {
|
|
for (let a = 0; a < this.eduItem.length; a++) {
|
|
// this.data 这个数据中有名称和次数
|
|
if (this.eduItem[a].name === name) {
|
|
//两个名称进行对比,取出对应的次数
|
|
let params1 = name + "\n"; //然后return你需要的legend格式即可
|
|
let tmp = params1.split("\n");
|
|
let res = "" + params1;
|
|
for (let i in tmp) {
|
|
res = res.replace(tmp[i], "");
|
|
}
|
|
return res + params1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.pieEduOptions = pieOption(this.pieEduChartS)
|
|
this.pieEduOptions.legend = { ...legend }
|
|
this.clickEduPie(0)
|
|
let fun = params => {
|
|
this.clickEduPie(params.dataIndex)
|
|
}
|
|
this.$refs.eduChart.handleClick(fun)
|
|
},
|
|
// 点击饼状图
|
|
clickEduPie (seriesIndex) {
|
|
let _code = ''
|
|
let isClick = false
|
|
this.eduItem.forEach((element, index) => {
|
|
if (index === seriesIndex) {
|
|
_code = element.code
|
|
|
|
if (!this.noEduInit) isClick = false
|
|
else {
|
|
element.isClick = !element.isClick
|
|
isClick = element.isClick
|
|
}
|
|
|
|
element.label = {
|
|
show: true,
|
|
|
|
};
|
|
element.labelLine = {
|
|
show: true,
|
|
lineStyle: {
|
|
opacity: 1,
|
|
}
|
|
|
|
};
|
|
console.log('zlcm')
|
|
} else {
|
|
element.isClick = false
|
|
element.label = {
|
|
show: false,
|
|
|
|
};
|
|
element.labelLine = {
|
|
show: false,
|
|
lineStyle: {
|
|
opacity: 0,
|
|
color: 'rgba(255,255,255,0)'
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
});
|
|
this.eduCode = isClick && _code || ''
|
|
this.pieEduOptions.title.text = this.eduTotalCount
|
|
this.pieEduOptions.series[1].data = this.eduItem
|
|
// this.$refs.pieChart.hideLoading()
|
|
this.$refs.eduChart.setOption(this.pieEduOptions)
|
|
if (this.noEduInit) {
|
|
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
|
|
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
|
|
this.pageNo = 1
|
|
this.getEduList(isClick && _code || '')
|
|
this.getMapData(isClick && _code || '')
|
|
}
|
|
this.noEduInit = true
|
|
},
|
|
// 列表相关*************************************
|
|
// 请求列表数据
|
|
async getEduList(_code) {
|
|
this.visibleLoading = true
|
|
const url = "/epmetuser/icVolunteerPoly/list";
|
|
let params = {
|
|
code: this.eduCode,
|
|
agencyId: this.agencyId,
|
|
pageNo: this.pageNo,
|
|
pageSize: this.pageSize
|
|
};
|
|
const { data, code, msg } = await requestPost(url, params);
|
|
if (code === 0) {
|
|
this.eduList = data.list.map((item, index) => {
|
|
return {
|
|
...item,
|
|
index: index + 1
|
|
}
|
|
})
|
|
this.total = data.total
|
|
} else {
|
|
this.$message.error(msg)
|
|
}
|
|
this.visibleLoading = false
|
|
},
|
|
pieInitOks (dom) {
|
|
console.log('pies准备好了', dom)
|
|
this.pieEduChartS = dom
|
|
// this.pieInitState = true
|
|
},
|
|
// 点击列表
|
|
handleClickRow(val) {
|
|
this.servicelist(val.idCard)
|
|
},
|
|
// 多元-社区自组织服务需求分页列表
|
|
async servicelist (idCard) {
|
|
const url = "/heart/residemand/service-list";
|
|
let params = {
|
|
pageNo: 1,
|
|
pageSize: 1000,
|
|
type: 'volunteer', // 志愿者:volunteer;社区自组织:community_org;
|
|
idCard: idCard, // volunteer时传入此参数。
|
|
serverId: ''
|
|
};
|
|
const { data, code, msg } = await requestPost(url, params);
|
|
if (code === 0) {
|
|
if (data.list.length > 0) {
|
|
this.showedUnitMoreInfo = true
|
|
this.unitAclist = data.list
|
|
this.$nextTick(() => {
|
|
console.log(this.unitAclist[0].demandRecId)
|
|
this.$refs['unitdetailInfo'].getDetail(this.unitAclist[0].demandRecId)
|
|
})
|
|
} else {
|
|
this.showedUnitMoreInfo = false
|
|
this.unitAclist = []
|
|
this.$message.warning('该志愿者还没有需求')
|
|
}
|
|
} else {
|
|
}
|
|
},
|
|
getCheckedNodes(val) {
|
|
console.log('val-nnn', val)
|
|
},
|
|
pageSizeChangeHandle(val) {
|
|
this.pageNo = 1;
|
|
this.pageSize = val;
|
|
this.getEduList(this.eduCode)
|
|
},
|
|
pageCurrentChangeHandle(val) {
|
|
this.pageNo = val;
|
|
this.getEduList(this.eduCode)
|
|
},
|
|
async loadOrgData () {
|
|
const url = "/gov/org/agency/maporg"
|
|
let params = {
|
|
orgId: this.orgId,
|
|
level: this.orgLevel
|
|
}
|
|
|
|
const { data, code, msg } = await requestPost(url, params)
|
|
|
|
if (code === 0) {
|
|
|
|
this.orgData = data
|
|
this.orgId = this.orgData.id
|
|
this.orgLevel = this.orgData.level
|
|
this.parentPolygon = []
|
|
this.parentPolygon = data.children.map(item => {
|
|
return {
|
|
...item,
|
|
color: "#00E5ED",
|
|
fillColor: "rgba(0, 229, 237, 0.16)"
|
|
}
|
|
})
|
|
|
|
} else {
|
|
this.$message.error(msg)
|
|
}
|
|
|
|
},
|
|
// 获取当前管理员信息
|
|
getWorkUserInfo () {
|
|
const url = '/epmetuser/customerstaff/staffbasicinfo'
|
|
let params = {}
|
|
window.app.ajax.post(
|
|
url,
|
|
params,
|
|
(data, rspMsg) => {
|
|
this.agencyInfo = data
|
|
if (!data.latitude) {
|
|
this.agencyInfo.latitude = 36.072227
|
|
}
|
|
if (!data.longitude) {
|
|
this.agencyInfo.longitude = 120.389455
|
|
}
|
|
if (!data.level) {
|
|
this.agencyInfo.level = 'street'
|
|
}
|
|
|
|
},
|
|
(rspMsg, data) => {
|
|
this.$message.error(rspMsg)
|
|
}
|
|
)
|
|
|
|
},
|
|
// 获取位置信息
|
|
getMapData () {
|
|
const url = '/epmetuser/icVolunteerPoly/mapData'
|
|
let params = {
|
|
agencyId: this.agencyId,
|
|
code: this.eduCode
|
|
}
|
|
window.app.ajax.post(
|
|
url,
|
|
params,
|
|
(data, rspMsg) => {
|
|
this.unitMapList = data
|
|
this.isfirstInit = false
|
|
this.loadMap()
|
|
},
|
|
(rspMsg, data) => {
|
|
this.$message.error(rspMsg)
|
|
}
|
|
)
|
|
},
|
|
//点击项目
|
|
async clickProject (feature) {
|
|
this.userId = ''
|
|
const featureInfo = feature.values_.properties.info
|
|
this.userId = feature.values_.properties.info.id
|
|
console.log('feature.values_.properties.info:::', JSON.stringify(feature.values_.properties.info))
|
|
let coordinate = [featureInfo.longitude, featureInfo.latitude]
|
|
console.log(feature.values_.properties.info)
|
|
let showData = `
|
|
<div style='font-size:16px; color:#FFFFFF;'>个人信息</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:10px'>姓名:
|
|
<span>`+ feature.values_.properties.info.name + `</span>
|
|
</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:10px'>所属网格:
|
|
<span>`+ feature.values_.properties.info.gridName + `</span>
|
|
</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>所属房屋:
|
|
<span>`+ feature.values_.properties.info.houseName + `</span>
|
|
</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>手机号:
|
|
<span>`+ feature.values_.properties.info.mobile + `</span>
|
|
</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>身份证号:
|
|
<span>`+ feature.values_.properties.info.idCard + `</span>
|
|
</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>工作单位:
|
|
<span>`+ feature.values_.properties.info.gzdw + `</span>
|
|
</div>
|
|
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>人户状况:
|
|
<span>`+ feature.values_.properties.info.rhzk + `</span>
|
|
</div>
|
|
`
|
|
this.$refs.map.handleShowPopup(showData, coordinate, true)
|
|
},
|
|
lookMore(e) {
|
|
this.userId = this.userId
|
|
console.log('userId:', this.userId)
|
|
this.showedMoreInfo = true
|
|
}
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style
|
|
lang="scss"
|
|
src="@/assets/scss/modules/visual/warning.scss"
|
|
scoped
|
|
></style>
|
|
<style
|
|
lang="scss"
|
|
src="@/assets/scss/modules/visual/basicInfoMain.scss"
|
|
scoped
|
|
></style>
|
|
<style lang="scss" scoped>
|
|
.card-title {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
.title-icon {
|
|
display: block;
|
|
width: 46px;
|
|
height: 34px;
|
|
box-sizing: border-box;
|
|
margin-right: 6px;
|
|
}
|
|
::v-deep .el-dropdown {
|
|
font-size: 18px;
|
|
color: #fff;
|
|
font-weight: 800;
|
|
}
|
|
.title-time {
|
|
display: flex;
|
|
align-items: center;
|
|
box-sizing: border-box;
|
|
margin-left: 30px;
|
|
font-size: 14px;
|
|
color: #fff;
|
|
.title-time-label {
|
|
margin-right: 10px;
|
|
}
|
|
::v-deep .el-date-editor--month {
|
|
width: 100px;
|
|
.el-input__inner {
|
|
width: 100px;
|
|
height: 24px;
|
|
box-sizing: border-box;
|
|
padding: 0;
|
|
font-size: 14px;
|
|
color: #fff;
|
|
line-height: 24px;
|
|
text-align: center;
|
|
background: #06186D;
|
|
border: 1px solid #1A64CC;
|
|
border-radius: 2px;
|
|
}
|
|
.el-input__prefix {
|
|
display: none;
|
|
}
|
|
.el-input__suffix {
|
|
right: 0;
|
|
.el-input__icon {
|
|
line-height: 24px;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
.title-label {
|
|
font-size: 20px;
|
|
font-weight: 800;
|
|
::v-deep .el-input {
|
|
|
|
width: 180px;
|
|
.el-input__inner {
|
|
font-size: 18px;
|
|
// font-weight: 800;
|
|
color: #fff;
|
|
background: #06186d;
|
|
border: 1px solid #1a64cc;
|
|
}
|
|
.el-icon-arrow-down::before {
|
|
content: "\e790";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.card-echart {
|
|
display: flex;
|
|
margin-top: 40px;
|
|
height: 100%;
|
|
.card-left {
|
|
position: relative;
|
|
flex: 1;
|
|
height: 100%;
|
|
width: 50%;
|
|
.card-flex {
|
|
width: 100%;
|
|
display: flex;
|
|
}
|
|
}
|
|
.card-right {
|
|
position: relative;
|
|
flex: 1;
|
|
height: 790px;
|
|
width: 50%;
|
|
.map {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
.div_map {
|
|
box-sizing: border-box;
|
|
height: 100%;
|
|
color: #fff;
|
|
}
|
|
}
|
|
}
|
|
.card-left-title {
|
|
position: relative;
|
|
padding-left: 40px;
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
color: #fff;
|
|
}
|
|
.card-left-title::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 20px;
|
|
width: 12px;
|
|
height: 12px;
|
|
box-sizing: border-box;
|
|
margin-top: -6px;
|
|
background: #2865FA;
|
|
border-radius: 50%;
|
|
}
|
|
.echart-wr {
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
width: 50%;
|
|
height: 320px;
|
|
box-sizing: border-box;
|
|
.echart-org {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
.echart-cicle {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 240px;
|
|
height: 240px;
|
|
box-sizing: border-box;
|
|
margin-top: -120px;
|
|
margin-left: -120px;
|
|
border: 1px dashed rgba(0, 96, 240, 1);
|
|
border-radius: 50%;
|
|
}
|
|
.echart-cicle0 {
|
|
left: 80px;
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
.echart-wr100 {
|
|
width: 70%;
|
|
}
|
|
.warning-box-bottom {
|
|
height: calc(100% - 500px);
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0 30px;
|
|
// overflow-y: scroll;
|
|
}
|
|
</style>
|
|
|