fanzhen 1121

This commit is contained in:
fanzhen123
2019-11-21 11:22:06 +08:00
parent 308e2586f1
commit 4666cefaec
15 changed files with 1728 additions and 71 deletions

View File

@@ -0,0 +1,125 @@
<template>
<div class="addCollect">
<div class="contanier">
<div class="top">
<span>添加收藏</span>
<img :src="imgUrl" alt @click="$store.state.addCollectState=false" />
</div>
<div class="center">
<input type="text" placeholder="请输入名称" v-model="nameCollect" />
</div>
<div class="bottom">
<div>保存</div>
<div @click="$store.state.addCollectState=false">取消</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'addCollect',
data () {
return {
imgUrl: require('../../../static/nav/deleteImg.png'),
nameCollect: ''
}
}
}
</script>
<style lang="scss" scoped>
.addCollect {
width: 100%;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 10;
background-color: rgba(0, 0, 0, 0.4);
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > .contanier {
width: 37.5rem;
height: 24.6875rem;
background-color: #ffffff;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
& > .top {
margin-top: 1rem;
width: 32.8125rem;
height: 3.875rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
border-bottom: 0.125rem solid #bdbdbd;
font-size: 1.375rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #333333;
& > img {
width: 1.3125rem;
height: 1.3125rem;
}
& > img:hover {
cursor: pointer;
}
}
& > .center {
width: 32.8125rem;
& > input {
width: 100%;
height: 3.4375rem;
border-radius: 0.3125rem;
}
}
& > .bottom {
width: 32.8125rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
& > div:nth-child(1) {
width: 15.625rem;
height: 3.1875rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div:nth-child(2) {
width: 15.625rem;
height: 3.1875rem;
border: solid 0.125rem #dbdbdb;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #666666;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div {
margin: 3rem 1.2rem;
}
& > div:hover {
cursor: pointer;
}
}
}
}
</style>

View File

@@ -1,5 +1,5 @@
<template>
<div class="chartsCont">
<div class="chartsCont" v-if="transBefore.tableExplain!==''">
<Echarts
v-if="indStatic!==0"
:echartsDatarts="echartsDatarts"
@@ -265,39 +265,48 @@ export default {
nowDataTJ: { text: '无', stateType: 'line' },
// 转置前总数据
transBefore: {
// 数据表说明
tableExplain: '注: 按照统计制度要求我国CPI每五年进行一次基期轮换2016年1月开始使用2015年作为新一轮的对比基期前三轮基期分别为2000年、2005年和2010年。CPI基期轮换是一项国际惯例目的是使CPI调查所涉及到的商品和服务更具有代表性更及时准确反映居民消费结构的新变化和物价的实际变动。 参考联合国制定的《按目的划分的个人消费分类》COICOP和国家统计局发布的《居民消费支出分类2013我们对CPI调查目录进行了调整新基期调查目录和规格品与国际标准更为接近一些新产品新服务纳入其中能进一步反映居民消费和经济结构的变化。与上一轮基期相比本轮基期的CPI调查目录有几个主要变化。一是按照《居民消费支出分类2013原来的“食品”、“烟酒”合并为现在的“食品烟酒”原来的“医疗保健和个人用品”被拆分到现在的“生活用品及服务”、“医疗保健”和“其他用品和服务”中原来的“娱乐教育文化用品及服务”被拆分到现在的“教育文化和娱乐”和“其他用品和服务”中原来的“家庭设备用品及维修服务”被拆分到现在的“生活用品及服务”和“其他用品及服务”中。二是食品的指标内涵发生了变化旧分类中的“食品”为大类包括粮食、肉禽、鲜菜、鲜果、水产品、茶及饮料、在外餐饮等分类新“食品”为“食品烟酒”大类下的中类仅包括粮食、畜肉、禽肉、鲜菜、鲜果、水产品等不再包括“茶及饮料”和“在外餐饮”两项。三是新增了“园艺花卉及用品”、“宠物及用品”、“养老服务”和“金融服务”等居民支出增加较快的分类能够更加及时准确反映居民消费结构的新变化。',
// 时间2019年10月30日
timeArr: ['2019年10月23日', '2019年10月24日', '2019年10月25日', '2019年10月26日', '2019年10月27日', '2019年10月28日', '2019年10月29日', '2019年10月30日'],
// 指标名称
termsName: ['价格指数', '工业', '能源', '固定资产投资', '服务业生产指数', '城镇调查失业率', '房地产', '国内贸易'],
// 指标解释
termsExplain: ['价格指数指标解释', '工业指标解释', '能源指标解释', '固定资产投资指标解释', '服务业生产指数指标解释', '城镇调查失业率指标解释', '房地产指标解释', '国内贸易指标解释'],
// 地区名
areaName: ['北京市', '临沂市', '上海市', '河北省', '兰陵县', '天津市', '兰山区', '荣盛锦绣外滩'],
// (行:指标名称,列:指标、时间)===>第一列为指标 { 指标名称数据 }
transBeforeTermsData: [
['10210.23', '10152.23', '12556.23', '23689.23', '25698.01', '54565.26', '48915.32', '15862.32'],
['10520.23', '10212.23', '12526.23', '23689.23', '25658.01', '54665.26', '57915.32', '71762.32'],
['10530.23', '10242.23', '12565.23', '23389.23', '25698.01', '46365.26', '59145.32', '16233.32'],
['10320.23', '10252.23', '15650.23', '23089.23', '25498.01', '53065.26', '55845.32', '45633.32'],
['13230.23', '10622.23', '89785.23', '23889.23', '25498.01', '78965.26', '46845.32', '36733.32'],
['14520.23', '45622.23', '89455.23', '45739.23', '49898.01', '53965.26', '49845.32', '16733.32'],
['14540.23', '44562.23', '89945.23', '45576.23', '56898.01', '46965.26', '59845.32', '54563.32'],
['14210.23', '44562.23', '48994.23', '43476.23', '25698.01', '79696.26', '44565.32', '65563.32']
],
// (行:地区名,列:地区、时间)===>第一列为地区{ 地区名称数据 }
transBeforeAreaData: [
['23210.23', '10562.23', '12456.23', '23696.23', '69598.01', '54543.26', '57157.32', '15352.32'],
['10350.23', '10612.23', '12786.23', '26589.23', '56698.01', '56934.26', '56915.32', '45962.32'],
['10450.23', '10542.23', '12665.23', '29639.23', '21259.01', '54495.26', '25945.32', '55483.32'],
['13692.23', '10262.23', '12625.23', '22628.23', '25298.01', '52625.26', '52245.32', '26233.32'],
['13690.23', '26222.23', '89762.23', '23889.23', '25428.01', '56265.26', '57445.32', '56233.32'],
['13690.23', '45622.23', '89225.23', '45629.23', '25298.01', '32965.26', '57845.32', '14533.32'],
['13650.23', '46222.23', '32445.23', '45576.23', '21528.01', '45265.26', '56245.32', '14263.32'],
['14230.23', '42622.23', '48262.23', '43426.23', '21268.01', '78626.26', '56265.32', '16263.32']
]
tableExplain: '',
timeArr: [],
termsName: [],
termsExplain: [],
areaName: [],
transBeforeTermsData: [],
transBeforeAreaData: []
},
// transBefore: {
// // 数据表说明
// tableExplain: '注: 按照统计制度要求我国CPI每五年进行一次基期轮换2016年1月开始使用2015年作为新一轮的对比基期前三轮基期分别为2000年、2005年和2010年。CPI基期轮换是一项国际惯例目的是使CPI调查所涉及到的商品和服务更具有代表性更及时准确反映居民消费结构的新变化和物价的实际变动。 参考联合国制定的《按目的划分的个人消费分类》COICOP和国家统计局发布的《居民消费支出分类2013我们对CPI调查目录进行了调整新基期调查目录和规格品与国际标准更为接近一些新产品新服务纳入其中能进一步反映居民消费和经济结构的变化。与上一轮基期相比本轮基期的CPI调查目录有几个主要变化。一是按照《居民消费支出分类2013原来的“食品”、“烟酒”合并为现在的“食品烟酒”原来的“医疗保健和个人用品”被拆分到现在的“生活用品及服务”、“医疗保健”和“其他用品和服务”中原来的“娱乐教育文化用品及服务”被拆分到现在的“教育文化和娱乐”和“其他用品和服务”中原来的“家庭设备用品及维修服务”被拆分到现在的“生活用品及服务”和“其他用品及服务”中。二是食品的指标内涵发生了变化旧分类中的“食品”为大类包括粮食、肉禽、鲜菜、鲜果、水产品、茶及饮料、在外餐饮等分类新“食品”为“食品烟酒”大类下的中类仅包括粮食、畜肉、禽肉、鲜菜、鲜果、水产品等不再包括“茶及饮料”和“在外餐饮”两项。三是新增了“园艺花卉及用品”、“宠物及用品”、“养老服务”和“金融服务”等居民支出增加较快的分类能够更加及时准确反映居民消费结构的新变化。',
// // 时间2019年10月30日
// timeArr: ['2019年10月23日', '2019年10月24日', '2019年10月25日', '2019年10月26日', '2019年10月27日', '2019年10月28日', '2019年10月29日', '2019年10月30日'],
// // 指标名称
// termsName: ['价格指数', '工业', '能源', '固定资产投资', '服务业生产指数', '城镇调查失业率', '房地产', '国内贸易'],
// // 指标解释
// termsExplain: ['价格指数指标解释', '工业指标解释', '能源指标解释', '固定资产投资指标解释', '服务业生产指数指标解释', '城镇调查失业率指标解释', '房地产指标解释', '国内贸易指标解释'],
// // 地区名
// areaName: ['北京市', '临沂市', '上海市', '河北省', '兰陵县', '天津市', '兰山区', '荣盛锦绣外滩'],
// // (行:指标名称,列:指标、时间)===>第一列为指标 { 指标名称数据 }
// transBeforeTermsData: [
// ['10210.23', '10152.23', '12556.23', '23689.23', '25698.01', '54565.26', '48915.32', '15862.32'],
// ['10520.23', '10212.23', '12526.23', '23689.23', '25658.01', '54665.26', '57915.32', '71762.32'],
// ['10530.23', '10242.23', '12565.23', '23389.23', '25698.01', '46365.26', '59145.32', '16233.32'],
// ['10320.23', '10252.23', '15650.23', '23089.23', '25498.01', '53065.26', '55845.32', '45633.32'],
// ['13230.23', '10622.23', '89785.23', '23889.23', '25498.01', '78965.26', '46845.32', '36733.32'],
// ['14520.23', '45622.23', '89455.23', '45739.23', '49898.01', '53965.26', '49845.32', '16733.32'],
// ['14540.23', '44562.23', '89945.23', '45576.23', '56898.01', '46965.26', '59845.32', '54563.32'],
// ['14210.23', '44562.23', '48994.23', '43476.23', '25698.01', '79696.26', '44565.32', '65563.32']
// ],
// // (行:地区名,列:地区、时间)===>第一列为地区{ 地区名称数据 }
// transBeforeAreaData: [
// ['23210.23', '10562.23', '12456.23', '23696.23', '69598.01', '54543.26', '57157.32', '15352.32'],
// ['10350.23', '10612.23', '12786.23', '26589.23', '56698.01', '56934.26', '56915.32', '45962.32'],
// ['10450.23', '10542.23', '12665.23', '29639.23', '21259.01', '54495.26', '25945.32', '55483.32'],
// ['13692.23', '10262.23', '12625.23', '22628.23', '25298.01', '52625.26', '52245.32', '26233.32'],
// ['13690.23', '26222.23', '89762.23', '23889.23', '25428.01', '56265.26', '57445.32', '56233.32'],
// ['13690.23', '45622.23', '89225.23', '45629.23', '25298.01', '32965.26', '57845.32', '14533.32'],
// ['13650.23', '46222.23', '32445.23', '45576.23', '21528.01', '45265.26', '56245.32', '14263.32'],
// ['14230.23', '42622.23', '48262.23', '43426.23', '21268.01', '78626.26', '56265.32', '16263.32']
// ]
// },
// 调用存储的对象
objCompBefore: null,
// echarts渲染的数据======>非饼图
@@ -315,7 +324,12 @@ export default {
pieStatic: false,
// 获取数据所用参数
// 晒选状态 1筛选指标 2筛选地区
selectState: 1
selectState: 1,
// 下来帅选的数据
downLaSelect: {
area: '',
label: ''
}
}
},
watch: {
@@ -329,6 +343,11 @@ export default {
// immediate: true,
// deep: true
// }
transBefore (newval, oldval) {
if (newval) {
this.showTable()
}
},
indStatic (newValue, oldValue) {
console.log(newValue, 'newValue1212')
this.chartsShow()
@@ -348,7 +367,10 @@ export default {
this.dataTJComput()
// 重新渲染表
this.$nextTick(() => {
this.$refs.table.doLayout()
console.log(this.$refs.table, 'this.$refs.table')
if (this.$refs.table !== undefined) {
this.$refs.table.doLayout()
}
})
},
immediate: true,
@@ -414,6 +436,8 @@ export default {
indexExplain (labIndexName) {
if (this.transBefore.termsName.indexOf(labIndexName) !== -1) {
console.log('指标解释:', this.transBefore.termsExplain[this.transBefore.termsName.indexOf(labIndexName)])
this.$store.state.labelExplainData = this.transBefore.termsExplain[this.transBefore.termsName.indexOf(labIndexName)]
this.$store.state.labelExplainState = true
}
},
// 统计数据对行,对列处理
@@ -615,21 +639,32 @@ export default {
// 获取后台数据表中的数据
getDatas () {
console.log(this.defaultDataRight, '获取数据')
// 初始化计算数据
this.$axios({
method: 'GET',
url: 'data/data/detail',
params: {
type: this.$route.query.type === 'area' ? 1 : 2, // 1非地区 2地区
type: this.$route.query.type === 'area' ? 2 : 1, // 1非地区 2地区
table_name: this.defaultDataRight.table_name, // 表名
id: this.defaultDataRight.id, // 分类id
area: '', // 选中的地区
quota: this.defaultDataRight.name, // 选中的指标
area: this.downLaSelect.area, // 选中的地区
quota: this.downLaSelect.label, // 选中的指标
cate: this.selectState// 1帅选指标 2筛选地区
}
}).then(res => {
console.log(res, '获取数据展示数据')
// 请求接口完成 请求成功
if (res.data.code === 200) {
// if (res.data.data.areaName.length !== 0) {
// this.transBefore = {}
// this.transBefore.tableExplain = res.data.data.tableExplain
// this.transBefore.timeArr = res.data.data.timeArr
// this.transBefore.termsName = res.data.data.termsName
// this.transBefore.termsExplain = res.data.data.termsExplain
// this.transBefore.areaName = res.data.data.areaName
// this.transBefore.transBeforeTermsData = res.data.data.transBeforeTermsData
// this.transBefore.transBeforeAreaData = res.data.data.transBeforeAreaData
// }
}
}).catch((fail) => {
console.log(fail, 2369)
@@ -670,12 +705,14 @@ export default {
}
}
},
created () {
this.getDatas()
},
mounted () {
// console.log(new ComputedData())
this.showTable()
// this.showTable()
// 转置状态
this.transState = this.chartsStatusMegger.transState
this.getDatas()
}
}
</script>

View File

@@ -140,13 +140,15 @@ export default {
},
// 被选中时触发
choiceCallerArea (resu) {
console.log(resu)
console.log(resu, '5+656565')
console.log(this.cityDefaultName)
},
// 被选中时触发
choiceCallerTime (resu) {
console.log(resu)
console.log(resu, '66666')
console.log(this.cityDefaultName)
// 将值传给父组件
this.$emit('comTime', resu[2].name)
this.showInputStu = !this.showInputStu
},
changesInputStu () {

View File

@@ -0,0 +1,265 @@
<template>
<div class="dimension">
<div class="container">
<div class="top">
<span>维度转换</span>
<img :src="imgUrl" alt @click="$store.state.dimensionState = false" />
</div>
<div class="main">
<div class="row">
<div></div>
<div class="row_main">
<div :class="{active:rowVal==='指标'}" @click="changeTabel('指标','row')">指标</div>
<div :class="{active:rowVal==='地区'}" @click="changeTabel('地区','row')">地区</div>
<div :class="{active:rowVal==='时间'}" @click="changeTabel('时间','row')">时间</div>
</div>
</div>
<div class="col">
<div class="row_main">
<div :class="{active:colVal==='指标'}" @click="changeTabel('指标','col')">指标</div>
<div :class="{active:colVal==='地区'}" @click="changeTabel('地区','col')">地区</div>
<div :class="{active:colVal==='时间'}" @click="changeTabel('时间','col')">时间</div>
</div>
<div class="tabel">
<div>
<div>{{rowVal}}</div>
<div>{{colVal}}</div>
<div>{{colVal}}</div>
<div>{{colVal}}</div>
</div>
<div>
<div>{{rowVal}}</div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div>{{rowVal}}</div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div>{{rowVal}}</div>
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>
</div>
<div class="bottom">
<div>确定</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'dimension',
data () {
return {
imgUrl: require('../../../static/nav/deleteImg.png'),
rowVal: '指标',
colVal: '时间'
}
},
methods: {
changeTabel (stateSD, strd) {
if (strd === 'row') {
this.rowVal = stateSD
} else if (strd === 'col') {
this.colVal = stateSD
}
}
}
}
</script>
<style lang="scss" scoped>
.dimension {
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.4);
position: fixed;
top: 0;
bottom: 0;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > .container {
width: 64.375rem;
height: 33rem;
background-color: #ffffff;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& > .top {
margin-top: 1rem;
width: 59.375rem;
height: 3.875rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
border-bottom: 0.125rem solid #bdbdbd;
font-size: 1.375rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #333333;
& > img {
width: 1.3125rem;
height: 1.3125rem;
}
& > img:hover {
cursor: pointer;
}
}
& > .main {
margin-top: 2.6rem;
width: 59.375rem;
& > .row {
width: 59.375rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > div:nth-child(1) {
width: 5.25rem;
height: 3.125rem;
}
& > .row_main {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > div {
width: 5.25rem;
height: 3.125rem;
background-color: #a8daf1;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
color: #fff;
}
& > div:nth-child(1) {
border-radius: 0.1875rem 0 0 0.1875rem;
}
& > div:nth-child(3) {
border-radius: 0 0.1875rem 0.1875rem 0;
}
& > .active {
background-color: #52b6e3;
}
}
& > div:hover {
cursor: pointer;
}
}
& > .col {
width: 59.375rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: flex-start;
& > .row_main {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& > div {
width: 5.25rem;
height: 3.125rem;
background-color: #a8daf1;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
color: #fff;
}
& > div:nth-child(1) {
border-radius: 0.1875rem 0 0 0.1875rem;
}
& > div:nth-child(3) {
border-radius: 0 0.1875rem 0.1875rem 0;
}
& > .active {
background-color: #52b6e3;
}
& > div:hover {
cursor: pointer;
}
}
& > .tabel {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
& > div {
height: 2.5rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > div {
height: 2.5rem;
width: 13.265rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
border: 1px solid black;
}
}
}
}
}
& > .bottom {
width: 59.375rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
& > div:nth-child(1) {
width: 15.625rem;
height: 3.1875rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div:nth-child(2) {
width: 15.625rem;
height: 3.1875rem;
border: solid 0.125rem #dbdbdb;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #666666;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div {
margin: 3rem 1.2rem;
}
& > div:hover {
cursor: pointer;
}
}
}
}
</style>

View File

@@ -0,0 +1,201 @@
<template>
<div class="editCom">
<div class="container">
<div class="top">
<span>编辑</span>
<img :src="imgUrl" alt @click="$store.state.editWindowState=false" />
</div>
<div class="titles">
<div>
<input type="radio" value="hang" v-model="radioSelect" />
<input type="radio" value="lie" v-model="radioSelect" />
</div>
<div>
<span>全选</span>
<span>|</span>
<span>反选</span>
</div>
</div>
<div class="contanin">
<div v-for="(item,index) in datalist" :key="index">
<input type="checkbox" v-model="item.state" />
{{item.text}}
</div>
</div>
<!-- 确定取消 -->
<div class="bottom">
<div>确定</div>
<div @click="$store.state.editWindowState=false">取消</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'editCom',
data () {
return {
imgUrl: require('../../../static/nav/deleteImg.png'),
radioSelect: 'hang',
datalist: [
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false },
{ text: '接收到符合', state: false }
]
}
}
}
</script>
<style lang="scss" scoped>
.editCom {
position: fixed;
top: 0;
left: 0;
z-index: 10;
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > .container {
width: 43.3125rem;
height: 44.125rem;
background-color: #fff;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& > .top {
margin-top: 1rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 38.375rem;
height: 3.875rem;
border-bottom: 0.125rem solid #bdbdbd;
& > span {
font-size: 1.375rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #333333;
}
& > img {
width: 1.3125rem;
height: 1.3125rem;
}
& > img:hover{
cursor: pointer;
}
}
& > .titles {
margin: 1rem 0;
width: 38.375rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
& > div:nth-child(1) {
& > input {
margin: 0 0.5rem;
}
& > input:hover {
cursor: pointer;
}
}
& > div:nth-child(2) {
& > span {
margin: 0 0.5rem;
}
& > span:hover {
cursor: pointer;
}
}
}
& > .contanin {
padding: 0.5rem;
width: 37.375rem;
height: 27rem;
border: 0.0625rem solid #bdbdbd;
overflow: auto;
& > div {
width: 100%;
height: 2rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
}
& > .bottom {
width: 38.375rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
& > div:nth-child(1) {
width: 15.625rem;
height: 3.1875rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div:nth-child(2) {
width: 15.625rem;
height: 3.1875rem;
border: solid 0.125rem #dbdbdb;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #666666;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div {
margin: 3rem 1.2rem;
}
& > div:hover {
cursor: pointer;
}
}
}
}
</style>

View File

@@ -0,0 +1,309 @@
<template>
<div class="insertLabel">
<div class="container">
<div class="top">
<span>新增指标</span>
<img :src="imgUrl" alt @click="closeX" />
</div>
<!-- 行列转换 -->
<div class="rowCol">
<input type="radio" name="rowCols" value="hang" v-model="radioValue" />
<input type="radio" name="rowCols" value="lie" v-model="radioValue" />
</div>
<!-- 运算框 -->
<div class="computkuang">
<div class="left">
<input type="text" placeholder="请输入新增指标名称" v-model="insertName" />
<div class="label">
<div
v-for="(item,index) in labelData"
:key="index"
:class="{bgcolor:item.state}"
@click="bgclick(index)"
>{{item.text}}</div>
</div>
</div>
<div class="center">
<div>=</div>
<div>></div>
</div>
<div class="right">
<textarea v-model="fontComput"></textarea>
<div class="computer">
<div v-for="(item,index) in computers" :key="index">{{item.text}}</div>
</div>
</div>
</div>
<!-- 提示 -->
<div class="explains">说明指标只能从上表中显示</div>
<!-- 确认取消 -->
<div class="bnottom">
<div>确认</div>
<div @click="closeX">取消</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'insertLabel',
data () {
return {
imgUrl: require('../../../static/nav/deleteImg.png'),
radioValue: 'hang',
fontComput: '',
insertName: '',
labelData: [
{ text: '健康的说法更健康', state: false },
{ text: '健康的说jksdfhjjk', state: false },
{ text: '健聚划算df覅㐇', state: false },
{ text: '健聚dfgs划算覅㐇', state: false },
{ text: '健聚jdskfasdfhn 划算覅㐇', state: false },
{ text: '健聚sdg划asd算覅㐇', state: false },
{ text: '健聚dsfg划f算覅㐇', state: false },
{ text: '健聚划sdasdffasf算覅㐇', state: false },
{ text: '健聚划sdasdff算覅㐇', state: false },
{ text: '健聚划sdf算覅s㐇', state: false },
{ text: '健聚划sdafsdf算ssd覅㐇', state: false },
{ text: '健聚划sasdfdf算覅㐇', state: false },
{ text: '健聚划ssadfdf算覅㐇', state: false },
{ text: '健聚划sdf算覅㐇', state: false },
{ text: '健聚划ssdafgfdf算s覅㐇', state: false },
{ text: '健聚划sdaasfdf算s覅㐇', state: false },
{ text: '健聚划sdasfdfa算覅㐇', state: false }
],
computers: [
{ text: '*', state: false },
{ text: '-', state: false },
{ text: '7', state: false },
{ text: '8', state: false },
{ text: '9', state: false },
{ text: '/', state: false },
{ text: '+', state: false },
{ text: '4', state: false },
{ text: '5', state: false },
{ text: '6', state: false },
{ text: '(', state: false },
{ text: ')', state: false },
{ text: '1', state: false },
{ text: '2', state: false },
{ text: '3', state: false },
{ text: '.', state: false },
{ text: '0', state: false }
]
}
},
methods: {
bgclick (ind) {
this.labelData.forEach((item, index) => {
index === ind ? item.state = true : item.state = false
})
},
closeX () {
this.$store.state.insertWindowState = false
}
}
}
</script>
<style lang="scss" scoped>
.insertLabel {
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.2);
position: fixed;
top: 0;
left: 0;
z-index: 10;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > .container {
width: 51.25rem;
height: 51.25rem;
background-color: #fff;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& > .top {
margin-top: 1.875rem;
width: 46.25rem;
height: 3.875rem;
border-bottom: 0.125rem solid #bdbdbd;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
& > span {
font-size: 1.375rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #333333;
}
& > img {
width: 1.3125rem;
height: 1.3125rem;
}
& > img:hover{
cursor: pointer;
}
}
& > .rowCol {
margin: 1.25rem 0;
width: 46.25rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > input {
margin: 0 0.4rem;
}
}
& > .computkuang {
width: 46.25rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > .left {
width: 16rem;
& > input {
width: 16rem;
font-size: 0.8rem;
letter-spacing: 0.0625rem;
}
& > .label {
margin: 0.75rem 0;
width: 16.16rem;
height: 30rem;
border: 0.0625rem solid #bdbbdb;
overflow: auto;
& > div {
width: 100%;
height: 2.125rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
font-size: 0.8rem;
letter-spacing: 0.0625rem;
}
& > div:hover {
cursor: pointer;
}
& > .bgcolor {
background-color: #25aff3;
color: #fff;
}
}
}
& > .center {
margin: 0 1rem;
width: 5rem;
height: 30rem;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
& > div {
width: 2rem;
height: 2rem;
font-size: 1.5rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
& > div:nth-child(2) {
background-color: #25aff3;
color: #fff;
}
& > div:nth-child(2):hover {
cursor: pointer;
}
}
& > .right {
width: 25rem;
height: 32.875rem;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
& > textarea {
width: 24rem;
height: 16rem;
}
& > .computer {
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: flex-start;
flex-wrap: wrap;
border: 1px solid #bdbdbd;
& > div {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 0.75rem 0.82rem;
width: 3rem;
height: 1.8rem;
border: 0.0625rem solid #bdbdbd;
background: url("../../../static/data/bt_counter.jpg") repeat-x;
}
& > div:hover {
cursor: pointer;
}
}
}
}
& > .explains {
width: 46.25rem;
font-size: 1rem;
}
& > .bnottom {
width: 46.25rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > div:nth-child(1) {
width: 15.625rem;
height: 3.1875rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #ffffff;
}
& > div:nth-child(2) {
width: 15.625rem;
height: 3.1875rem;
border-radius: 0.3125rem;
border: solid 0.125rem #dbdbdb;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
}
& > div {
margin:1rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
& > div:hover{
cursor: pointer;
}
}
}
}
</style>

View File

@@ -0,0 +1,154 @@
<template>
<div class="editCom">
<div class="container">
<div class="top">
<span>指标解释</span>
<img :src="imgUrl" alt @click="$store.state.labelExplainState=false" />
</div>
<div class="contanin">{{$store.state.labelExplainData}}</div>
<!-- 确定取消 -->
<div class="bottom">
<div>复制到粘贴板</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'editCom',
data () {
return {
imgUrl: require('../../../static/nav/deleteImg.png')
}
}
}
</script>
<style lang="scss" scoped>
.editCom {
position: fixed;
top: 0;
left: 0;
z-index: 10;
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > .container {
width: 43.3125rem;
height: 44.125rem;
background-color: #fff;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& > .top {
margin-top: 1rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 38.375rem;
height: 3.875rem;
border-bottom: 0.125rem solid #bdbdbd;
& > span {
font-size: 1.375rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #333333;
}
& > img {
width: 1.3125rem;
height: 1.3125rem;
}
& > img:hover {
cursor: pointer;
}
}
& > .titles {
margin: 1rem 0;
width: 38.375rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
& > div:nth-child(1) {
& > input {
margin: 0 0.5rem;
}
& > input:hover {
cursor: pointer;
}
}
& > div:nth-child(2) {
& > span {
margin: 0 0.5rem;
}
& > span:hover {
cursor: pointer;
}
}
}
& > .contanin {
margin-top: 1rem;
padding: 0.5rem;
width: 37.375rem;
height: 27rem;
font-size: 1.125rem;
font-weight: normal;
font-stretch: normal;
line-height: 2rem;
letter-spacing: 0rem;
color: #666666;
overflow: auto;
}
& > .bottom {
width: 38.375rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
& > div:nth-child(1) {
width: 15.625rem;
height: 3.1875rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div:nth-child(2) {
width: 15.625rem;
height: 3.1875rem;
border: solid 0.125rem #dbdbdb;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #666666;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div {
margin: 3rem 1.2rem;
}
& > div:hover {
cursor: pointer;
}
}
}
}
</style>

View File

@@ -2,7 +2,7 @@
<div class="mapData">
<div class="mapDataLeft">
<!-- 左侧导航 -->
<el-row class="tac" style="overflow: auto;height:44.875rem;" v-if="defaultSelectLies">
<el-row class="tac" style="overflow: auto;height:54.875rem;" v-if="defaultSelectLies">
<el-col :span="24">
<el-menu
:default-openeds="defaultSelectLies"
@@ -48,11 +48,37 @@
</el-row>
</div>
<div class="mapDataRight">
<div class="maptopSty">
<!-- -->
<div class="yearD">
<cityPicker
:level="jishuTime"
:selectpattern="selectpatternTime"
:city-data="cityDataTime"
:default-city="cityDefaultNameTime"
@choice-caller="choiceCallerTime"
@visible-change="changesInputStu"
></cityPicker>
</div>
<!-- --> <!-- -->
<div class="monthD">
<cityPicker
:level="jishuTime"
:selectpattern="selectMonth"
:city-data="monthDatas"
:default-city="monthData"
@choice-caller="monthDataState"
@visible-change="monthDataChange"
></cityPicker>
</div>
</div>
<div ref="mapRefs"></div>
</div>
</div>
</template>
<script>
// 引入下拉组件
import cityPicker from '@/components/cityPicker/CityPicker.vue'
// 引入数据计算js用于机选渲染的数据
import ComputedData from '../../assets/js/computeddata'
import china from 'echarts/map/json/china.json'
@@ -62,8 +88,13 @@ echarts.registerMap('china', china)
require('echarts/theme/shine')
export default {
name: 'mapData',
components: {
cityPicker: cityPicker
},
data () {
return {
// 控制下拉框显示隐藏
isHideProp: true,
// 左侧当前默认
defaultSelectLies: null,
// 右侧默认显示数据
@@ -159,7 +190,41 @@ export default {
}
]
},
myEchartsObj: null// 图表渲染对象
myEchartsObj: null, // 图表渲染对象
// 栏目级数
jishuTime: 1,
// 默认显示栏目
cityDefaultNameTime: '2019年',
// 筛选数据
selectpatternTime: [
{
field: 'userProvinceId',
placeholder: '2019年'
}
],
// 栏目数据 结构不可变
cityDataTime: [
{ 'id': '110000', 'name': '1985年', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' },
{ 'id': '110000', 'name': '1986年', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' },
{ 'id': '110000', 'name': '1987年', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' },
{ 'id': '110000', 'name': '2019年', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' }
],
// 默认选中月
monthData: '1月',
// 筛选数据月
selectMonth: [
{
field: 'userProvinceId',
placeholder: '1月'
}
],
// 月 结构不可变
monthDatas: [
{ 'id': '110000', 'name': '1月', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' },
{ 'id': '110000', 'name': '2月', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' },
{ 'id': '110000', 'name': '3月', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' },
{ 'id': '110000', 'name': '4月', 'parentId': '100000', 'shortName': '北京', 'cityCode': '' }
]
}
},
methods: {
@@ -246,6 +311,21 @@ export default {
// 绘制图表
this.myEchartsObj.setOption(this.option, true)
this.myEchartsObj.resize()
},
// 被选中时触发
choiceCallerTime (resu) {
console.log(resu)
console.log(this.cityDefaultName)
},
changesInputStu () {
console.log(12569)
},
monthDataState (resu) {
console.log(resu)
console.log(this.cityDefaultName)
},
monthDataChange () {
console.log(12569)
}
},
mounted () {
@@ -278,9 +358,23 @@ export default {
background-color: #ffffff;
box-shadow: 0rem 0.1875rem 1rem 0rem rgba(172, 172, 172, 1);
border: 1px solid red;
&>div{
width:100%;
min-height: 44.5rem;
& > div:nth-child(2) {
width: 100%;
min-height: 50.875rem;
}
& > .maptopSty {
width: 100%;
height:4rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > .yearD {
margin:0 2rem;
}
& > .monthD {
margin:0 2rem;
}
}
}
}

View File

@@ -56,7 +56,7 @@
</div>
<div>
<img :src="imageUrl.userpwds" alt />
<input type="text" placeholder="请输入密码" v-model="userpwd" />
<input type="password" placeholder="请输入密码" v-model="userpwd" />
</div>
<div>
<input type="text" placeholder="请输入验证码" v-model="useryzm" />
@@ -184,7 +184,12 @@ export default {
localStorage.setItem('token', 'Bearer ' + res.data.data.token)
// 登录状态
localStorage.setItem('userLogin', true)
this.$router.go(0)
console.log(this.$route, '000111')
if (this.$route.path === '/') {
this.$router.go(0)
} else {
this.$router.push({ path: '/' })
}
}
}).catch((fail) => {
console.log(fail)
@@ -278,7 +283,7 @@ export default {
position: fixed;
top: 0;
left: 0;
z-index: 10;
z-index: 1000;
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.28);

View File

@@ -0,0 +1,340 @@
<template>
<div class="screenCom">
<div class="container">
<div class="top">
<span>筛选</span>
<img :src="imgUrl" alt @click="$store.state.selcettWindowState = false" />
</div>
<!-- 行列转换 -->
<div class="rowCol">
<input type="radio" value="hang" v-model="selectAudio" />
<input type="radio" value="lie" v-model="selectAudio" />
</div>
<!-- 主要筛选框 -->
<div class="mainKuang">
<div class="left">
<div
v-for="(item,index) in dataList"
:key="index"
:class="{active:item.state}"
@click="changeBgcolor(index)"
>{{item.text}}</div>
</div>
<div class="center1">
<div>
<div>
<input type="radio" value="大于(>)" v-model="selectChange" />
{{datarts.list1}}
</div>
<div>
<input type="radio" value="小于(<)" v-model="selectChange" />
{{datarts.list2}}
</div>
<div>
<input type="radio" value="大于等于(>=)" v-model="selectChange" />
{{datarts.list3}}
</div>
<div>
<input type="radio" value="小于等于(<=)" v-model="selectChange" />
{{datarts.list4}}
</div>
</div>
<div>
数量
<input type="text" v-model="nums" placeholder="请输入数量" />
</div>
</div>
<div class="center2">
<div>{{datarts.list5}}</div>
<div>{{datarts.list6}}</div>
</div>
<div class="right">
<textarea v-model="textareas"></textarea>
</div>
</div>
<!-- 确定取消 -->
<div class="bottom">
<div>确定</div>
<div @click="$store.state.selcettWindowState = false">取消</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'screenCom',
data () {
return {
imgUrl: require('../../../static/nav/deleteImg.png'),
selectAudio: 'hang',
dataList: [
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
},
{
text: 'h就开始',
state: false
}
],
datarts: {
list1: '大于(>)',
list2: '小于(<)',
list3: '大于等于(>=)',
list4: '小于(<=)',
list5: '>',
list6: '<'
},
selectChange: '大于(>)',
textareas: ''
}
},
methods: {
changeBgcolor (ind) {
this.dataList.forEach((item, index) => {
index === ind ? item.state = true : item.state = false
})
}
}
}
</script>
<style scoped lang="scss">
.screenCom {
position: fixed;
left: 0;
top: 0;
z-index: 10;
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
& > .container {
width: 69.125rem;
height: 44.75rem;
background-color: #ffffff;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
& > .top {
margin-top: 1.375rem;
width: 64.125rem;
height: 3.875rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
border-bottom: 0.125rem solid #bdbdbd;
& > span {
font-size: 1.375rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #333333;
}
& > img {
width: 1.3125rem;
height: 1.3125rem;
}
}
& > .rowCol {
width: 64.125rem;
height: 4.125rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
& > input {
margin: 0 0.75rem;
}
}
& > .mainKuang {
width: 64.125rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
& > .left {
width: 18.0625rem;
height: 22.875rem;
border: 0.0625rem solid #bdbdbd;
overflow: auto;
& > div {
width: 100%;
height: 2.4rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
}
& > div:hover {
cursor: pointer;
}
& > .active {
background-color: deepskyblue;
color: #fff;
}
}
& > .center1 {
width: 17.25rem;
height: 22.875rem;
& > div:nth-child(1) {
width: 17.25rem;
height: 19.875rem;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
border: 0.0625rem solid #bdbdbd;
& > div {
margin: 0.5rem 0;
}
}
& > div:nth-child(2) {
width: 100%;
height: 3rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
}
& > .center2 {
width: 3rem;
height: 22.875rem;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
& > div {
width: 2.5rem;
height: 2.125rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #fff;
font-size: 1.2rem;
}
}
& > .right {
& > textarea {
width: 20.625rem;
height: 22.875rem;
}
}
}
& > .bottom {
width: 64.125rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
& > div:nth-child(1) {
width: 15.625rem;
height: 3.1875rem;
background-color: #52b6e3;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > div:nth-child(2) {
width: 15.625rem;
height: 3.1875rem;
border: solid 0.125rem #dbdbdb;
border-radius: 0.3125rem;
font-size: 1.25rem;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0rem;
color: #666666;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
&>div{
margin:3rem 1.2rem;
}
}
}
}
</style>

View File

@@ -5,7 +5,20 @@ Vue.use(Vuex)
export default new Vuex.Store({
state: {
// 定义一个窗口状态(新增指标)
insertWindowState: false,
// 定义一个筛选窗口状态
selcettWindowState: false,
// 定义一个编辑窗口状态
editWindowState: false,
// 定义一个添加收藏的窗口状态
addCollectState: false,
// 指标解释状态
labelExplainState: false,
// 指标解释数据
labelExplainData: '这是指标解释使劲儿发红包健康撒大部分更健康',
// 维度转换状态
dimensionState: false
},
mutations: {

View File

@@ -1,36 +1,100 @@
<template>
<div>
<input type="text" v-model="iphones" />
<button @click="sendInfor">发送</button>
<div class="native">
<div class="nav1">
<div
v-for="(item1,index1) in nativeData1"
:key="index1"
:class="{bgcolor:item1.state}"
@click="changeData('native1',index1)"
>{{item1.text}}</div>
</div>
<div class="nav2">
<div
v-for="(item2,index2) in nativeData2"
:key="index2"
:class="{bgcolor:item2.state}"
@click="changeData('native2',index2)"
>{{item2.text}}</div>
</div>
<div class="nav3">
<div
v-for="(item3,index3) in nativeData3"
:key="index3"
:class="{bgcolor:item3.state}"
@click="changeData('native3',index3)"
>{{item3.text}}</div>
</div>
</div>
</template>
<script>
export default {
name: 'cs',
data () {
return {
iphones: ''
nativeData1: [
{ text: '导航1-1', state: true },
{ text: '导航1-2', state: false },
{ text: '导航1-3', state: false }
],
nativeData2: [
{ text: '导航2-1', state: true },
{ text: '导航2-2', state: false },
{ text: '导航2-3', state: false }
],
nativeData3: [
{ text: '导航3-1', state: true },
{ text: '导航3-2', state: false },
{ text: '导航3-3', state: false }
]
}
},
computed: {
},
methods: {
sendInfor () {
this.$axios({
method: 'POST',
url: 'Main/Verification',
data: {
Verification: this.iphones
},
then: (res) => {
console.log(res)
},
catch: (e) => {
}
})
changeData (lab, states) {
switch (lab) {
case 'native1':
this.nativeData1.forEach((item, index) => {
index === states ? item.state = true : item.state = false
})
console.log(this.selectNow)
break
case 'native2':
this.nativeData2.forEach((item, index) => {
index === states ? item.state = true : item.state = false
})
break
case 'native3':
this.nativeData3.forEach((item, index) => {
index === states ? item.state = true : item.state = false
})
break
}
}
}
}
</script>
<style scoped>
<style scoped lang="scss">
.native {
width: 100%;
& > div {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
& > div {
width: 120px;
height: 60px;
border: 1px solid #bdbdbd;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
& > .bgcolor {
background-color: #0dbc79;
}
}
}
</style>

View File

@@ -183,6 +183,7 @@
:indStatic="indStatic"
:chartsStatusMegger="chartsStatusMegger"
:defaultDataRight="defaultDataRight"
@comTime="comTime"
></ChartsCont>
</div>
<div class="container">
@@ -219,6 +220,18 @@
</section>
<!-- 页脚信息 -->
<FooterInfors></FooterInfors>
<!-- 指标解释 -->
<LabelExplain v-if="$store.state.labelExplainState"></LabelExplain>
<!-- 新增指标 -->
<InsertLabel v-if="$store.state.insertWindowState"></InsertLabel>
<!-- 筛选 -->
<ScreenCom v-if="$store.state.selcettWindowState"></ScreenCom>
<!-- 编辑 -->
<EditCom v-if="$store.state.editWindowState"></EditCom>
<!-- 添加收藏 -->
<AddCollect v-if="$store.state.addCollectState"></AddCollect>
<!-- 维度转换 -->
<Dimension v-if="$store.state.dimensionState"></Dimension>
</div>
</template>
@@ -239,6 +252,18 @@ import ChartsCont from '@/components/chartsCont/ChartsCont.vue'
import AdvancedQuery from '@/components/advancedQuery/AdvancedQuery.vue'
// 引入数据地图组件
import MapData from '@/components/mapData/MapData.vue'
// 新增指标组件
import InsertLabel from '@/components/insertLabel/InsertLabel.vue'
// 筛选
import ScreenCom from '@/components/screenCom/ScreenCom.vue'
// 编辑
import EditCom from '@/components/editCom/EditCom.vue'
// 添加收藏
import AddCollect from '@/components/addCollect/AddCollect.vue'
// 指标解释
import LabelExplain from '@/components/labelExplain/LabelExplain.vue'
// 维度转换
import Dimension from '@/components/dimension/Dimension.vue'
export default {
name: 'index',
@@ -250,7 +275,13 @@ export default {
ChartsCut: ChartsCut,
ChartsCont: ChartsCont,
AdvancedQuery: AdvancedQuery,
MapData: MapData
MapData: MapData,
InsertLabel: InsertLabel,
ScreenCom: ScreenCom,
EditCom: EditCom,
AddCollect: AddCollect,
LabelExplain: LabelExplain,
Dimension: Dimension
},
data () {
return {
@@ -357,7 +388,12 @@ export default {
},
leftCateData: null,
// 简单查询、高级查询、数据地图切换状态(simpleness简单、advanced高级 、map地图)
cutStateSeach: 'simpleness'
cutStateSeach: 'simpleness',
// 下来帅选的数据
downLaSelect: {
area: '',
label: ''
}
}
},
methods: {
@@ -458,6 +494,7 @@ export default {
this.cutStateSeach = 'map'
break
case 3:
this.$store.state.addCollectState = true
break
case 4:
break
@@ -491,14 +528,17 @@ export default {
clickCate (hierarchy, ind, textType) {
switch (textType) {
case '新增指标':
this.$store.state.insertWindowState = true
break
case '筛选':
this.$store.state.selcettWindowState = true
break
case '恢复':
break
case '清除空行空列':
break
case '编辑':
this.$store.state.editWindowState = true
break
case '转置':
console.log(100000)
@@ -506,6 +546,7 @@ export default {
console.log(this.chartsStatusMegger.transState)
break
case '维度转换':
this.$store.state.dimensionState = true
break
case '保存默认':
break
@@ -690,6 +731,9 @@ export default {
})
this.defaultDataRight = dataDome
console.log(this.defaultDataRight, '1250')
},
comTime (res) {
this.downLaSelect.time = res
}
},
computed: {

View File

@@ -0,0 +1,4 @@
{
"khjj": "jsdbhjh",
"hgas": "hghdfg57457"
}

BIN
static/data/bt_counter.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB