Commit b3ae6dad authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 020cb085 11f0aef7
......@@ -28,6 +28,7 @@
"date-fns": "^2.14.0",
"echarts": "^5.2.2",
"element-china-area-data": "^5.0.2",
"element-ui": "^2.15.13",
"enquire.js": "^2.1.6",
"file-saver": "^2.0.5",
"highlight.js": "^10.2.1",
......
......@@ -20,7 +20,10 @@ import VueQuillEditor from "vue-quill-editor";
import "quill/dist/quill.core.css";
import "quill/dist/quill.snow.css";
import "quill/dist/quill.bubble.css";
// 引入element 取色器组件
import { ColorPicker } from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ColorPicker);
import { VueJsonp } from "vue-jsonp";
Vue.use(VueJsonp);
// 公共样式
......
......@@ -148,7 +148,7 @@ export default {
<style lang="less" scoped>
.right-preview {
height: 100%;
height: 80vh;
display: flex;
flex-direction: column;
.preview-seach {
......@@ -160,12 +160,7 @@ export default {
display: flex;
flex-direction: column;
border-bottom: 1px solid #ccc;
overflow-y: scroll;
scrollbar-width: none; /* firefox */
-ms-overflow-style: none; /* IE 10+ */
&::-webkit-scrollbar {
display: none;
}
overflow-y: auto;
.preview-item {
margin-bottom: 6px;
height: 120px;
......
......@@ -135,6 +135,7 @@
<span class="color-show">{{
v.fieldValue ? v.fieldValue : "--"
}}</span>
<a-button
type="primary"
:class="{ 'select-color-btn': v.fieldValue }"
......@@ -145,6 +146,10 @@
class="color-ipt"
v-model="v.fieldValue"
/>
<el-color-picker
class="color-ipt"
v-model="v.fieldValue"
></el-color-picker>
</a-button>
</a-form-model-item>
</a-col>
......@@ -536,6 +541,10 @@ export default {
position: absolute;
left: 0px;
top: 0px;
/deep/.el-color-picker__trigger {
width: 100%;
height: 100%;
}
}
.btn-box {
height: 50px;
......
......@@ -2502,6 +2502,13 @@ async-validator@^3.0.3:
resolved "https://registry.npm.taobao.org/async-validator/download/async-validator-3.3.0.tgz"
integrity sha1-HZIZO75g1tbIskZpLHAF6e0UqO4=
async-validator@~1.8.1:
version "1.8.5"
resolved "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0"
integrity sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==
dependencies:
babel-runtime "6.x"
async@^2.6.1, async@^2.6.2:
version "2.6.3"
resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz"
......@@ -2573,7 +2580,7 @@ babel-eslint@^10.1.0:
eslint-visitor-keys "^1.0.0"
resolve "^1.12.0"
babel-helper-vue-jsx-merge-props@^2.0.3:
babel-helper-vue-jsx-merge-props@^2.0.0, babel-helper-vue-jsx-merge-props@^2.0.3:
version "2.0.3"
resolved "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz"
integrity sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=
......@@ -4302,7 +4309,7 @@ deep-is@~0.1.3:
resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
deepmerge@^1.5.2:
deepmerge@^1.2.0, deepmerge@^1.5.2:
version "1.5.2"
resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz"
integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==
......@@ -4682,6 +4689,18 @@ element-china-area-data@^5.0.2:
china-area-data "^5.0.1"
lodash-es "^4.17.15"
element-ui@^2.15.13:
version "2.15.13"
resolved "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.13.tgz#380f019ee7d15b181105587b41fd5914c308a143"
integrity sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==
dependencies:
async-validator "~1.8.1"
babel-helper-vue-jsx-merge-props "^2.0.0"
deepmerge "^1.2.0"
normalize-wheel "^1.0.1"
resize-observer-polyfill "^1.5.0"
throttle-debounce "^1.0.1"
elliptic@^6.0.0, elliptic@^6.5.2:
version "6.5.3"
resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz"
......@@ -8194,6 +8213,11 @@ normalize-url@^6.0.1:
resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz"
integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
normalize-wheel@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz"
......@@ -9709,7 +9733,7 @@ requires-port@^1.0.0:
resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
resize-observer-polyfill@^1.5.1:
resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1:
version "1.5.1"
resolved "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz"
integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=
......@@ -10879,6 +10903,11 @@ thread-loader@^2.1.3:
loader-utils "^1.1.0"
neo-async "^2.6.0"
throttle-debounce@^1.0.1:
version "1.1.0"
resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd"
integrity sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==
throttle-debounce@^2.0.1:
version "2.3.0"
resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz"
......
......@@ -26,4 +26,8 @@ export function getUsageCensus(params) {
//信息流分析
export function getInformationFlow(params) {
return http.post(`${baseURL}/zwfw/act/analyse/informationFlow`, params);
}
//产品接口
export function productLlist(params) {
return http.post(`${baseURL}/zwfw/page/info/product/list`, params);
}
\ No newline at end of file
......@@ -49,7 +49,9 @@
<script>
import { getEventCensus } from "@/api/dataActuary.js";
import moment from "moment";
import product from "../mixins/product"
export default {
mixins:[product],
data() {
return {
queryform: {
......
<template>
<!-- 信息流分析 -->
<div class="page">
<a-form-model :model="queryform" :label-col="labelCol" :wrapper-col="wrapperCol" layout="inline">
<a-form-model-item>
<template>
<!-- 信息流分析 -->
<div class="page">
<a-form-model :model="queryform" :label-col="labelCol" :wrapper-col="wrapperCol" layout="inline">
<a-form-model-item>
<a-select v-model="queryform.productId" style="width: 200px" placeholder="选择产品">
<a-select-option :value="item.id" v-for="(item,index) in product" :key="index">
{{item.title}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-date-picker valueFormat="yyyy-MM-DD" v-model="time" style="width: 200px" :allowClear="false"/>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-date-picker valueFormat="yyyy-MM-DD" v-model="time" style="width: 200px" :allowClear="false"/>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.particleType" style="width: 200px" placeholder="选择时间粒度">
......@@ -18,42 +18,42 @@
<a-select-option value="2">30分钟</a-select-option>
<a-select-option value="3">1小时</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.value" style="width: 200px" placeholder="选择一级场景">
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.value" style="width: 200px" placeholder="选择二级场景">
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.value" style="width: 200px" placeholder="选择三级场景">
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="getData">
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div class="table-box">
<div class="mb">
<span style="margin-right: 30px;">指标筛选</span>
<a-checkbox-group @change="changeIndex" v-model="indexList">
<a-checkbox value="accessCount">访问人数</a-checkbox>
<a-checkbox value="accessCount1">打开次数</a-checkbox>
<a-checkbox value="pageDepth">访问页面数</a-checkbox>
</a-checkbox-group>
</div>
<div class="mb">
<span style="margin-right: 30px;">对比筛选</span>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.value" style="width: 200px" placeholder="选择一级场景">
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.value" style="width: 200px" placeholder="选择二级场景">
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.value" style="width: 200px" placeholder="选择三级场景">
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="getData">
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div class="table-box">
<div class="mb">
<span style="margin-right: 30px;">指标筛选</span>
<a-checkbox-group @change="changeIndex" v-model="indexList">
<a-checkbox value="accessCount">访问人数</a-checkbox>
<a-checkbox value="accessCount1">打开次数</a-checkbox>
<a-checkbox value="pageDepth">访问页面数</a-checkbox>
</a-checkbox-group>
</div>
<div class="mb">
<span style="margin-right: 30px;">对比筛选</span>
<a-checkbox @change="onChange">
日对比
</a-checkbox>
</a-checkbox>
</div>
<a-table :columns="columns" :data-source="data" :scroll="{ y: 590 }" :pagination="false">
<template slot="访问人数" slot-scope="text, record, index">
......@@ -68,18 +68,20 @@
<div>{{record.pageDepth}}</div>
<div v-show="queryform.isRatio == 1">日对比:{{(record.depthRatio * 100).toFixed(2)}}%</div>
</template>
</a-table>
</div>
</div>
</template>
</a-table>
</div>
</div>
</template>
<script>
import {getInformationFlow} from '@/api/dataActuary.js'
import moment from 'moment';
export default {
data() {
return {
import moment from 'moment';
import product from "../mixins/product"
export default {
mixins:[product],
data() {
return {
queryform: {
productId: 1,
dateTimeStart:moment().format('yyyy-MM-DD'),
......@@ -92,12 +94,12 @@
title:'排队机',
id:1
}],
indexList:['accessCount','accessCount1','pageDepth'],
labelCol: {
span: 1
},
wrapperCol: {
span: 14
indexList:['accessCount','accessCount1','pageDepth'],
labelCol: {
span: 1
},
wrapperCol: {
span: 14
},
columns: [{
title: "序号",
......@@ -161,8 +163,8 @@
pageSizeOptions: ["10", "20", "50", "100"], //每页中显示的数据
showTotal: total => `共有 ${total} 条数据`, //分页中显示总的数据
},
filterColumns:[]
}
filterColumns:[]
}
},
mounted() {
this.filterColumns = this.columns
......@@ -185,25 +187,25 @@
this.data = res.data
})
},
}
};
</script>
<style lang="less" scoped>
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
/deep/.ant-form {
padding: 15px;
}
.table-box {
}
};
</script>
<style lang="less" scoped>
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
/deep/.ant-form {
padding: 15px;
}
.table-box {
padding: 0 15px;
.mb{
margin-bottom: 20px;
}
}
}
}
}
}
</style>
\ No newline at end of file
import { productLlist } from "@/api/dataActuary.js";
export default {
data() {
return {
ProductLlist:[]
}
},
created() {
this.getProductLlist()
},
methods: {
getProductLlist(){
productLlist({"size":-1}).then(res=>{
this.ProductLlist = res.data.data
let arr = []
try {
res.data.data.forEach(element => {
arr.push({title:element.productName,id:element.id})
});
this.product = arr
} catch (error) {}
})
},
},
}
\ No newline at end of file
......@@ -3,10 +3,10 @@
<div class="page">
<a-form-model :model="queryform" :label-col="labelCol" :wrapper-col="wrapperCol" layout="inline">
<a-form-model-item>
<a-select v-model="queryform.productId" style="width: 200px" placeholder="选择产品">
<a-select-option :value="item.id" v-for="(item,index) in product" :key="index">
{{item.title}}
</a-select-option>
<a-select v-model="queryform.productId" style="width: 200px" placeholder="选择产品">
<a-select-option :value="item.id" v-for="(item,index) in product" :key="index">
{{item.title}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
......@@ -54,65 +54,67 @@
</template>
<script>
import * as echarts from 'echarts'
import {getAccessAnalyse} from '@/api/dataActuary.js'
import product from "../mixins/product"
import * as echarts from 'echarts'
import {getAccessAnalyse} from '@/api/dataActuary.js'
import moment from 'moment';
export default {
mixins:[product],
data() {
return {
queryform: {
productId: 1,
dateTimeStart:moment().format('yyyy-MM-DD'),
dateTimeEnd:moment().format('yyyy-MM-DD')
},
time:[moment().format('yyyy-MM-DD'),moment().format('yyyy-MM-DD')],
product:[{
title:'排队机',
id:1
queryform: {
productId: 1,
dateTimeStart:moment().format('yyyy-MM-DD'),
dateTimeEnd:moment().format('yyyy-MM-DD')
},
time:[moment().format('yyyy-MM-DD'),moment().format('yyyy-MM-DD')],
product:[{
title:'排队机',
id:1
}],
labelCol: {
span: 1
},
wrapperCol: {
span: 14
},
},
data:null
}
},
mounted() {
mounted() {
this.getData()
},
methods: {
getData() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null
this.queryform.dateTimeStart = this.time ? this.time[1] : null
getAccessAnalyse(this.queryform).then(res=>{
this.data = res.data
let lineX = res.data.accessTrend.map(item=>item.accessDay)
let lineY = res.data.accessTrend.map(item=>item.accessCount)
let barX = res.data.pageAccessTop.map(item=>item.accessCount)
let barY = res.data.pageAccessTop.map(item=>item.pageName)
this.initLine(lineX,lineY)
this.initBar(barX,barY)
})
methods: {
getData() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null
this.queryform.dateTimeStart = this.time ? this.time[1] : null
getAccessAnalyse(this.queryform).then(res=>{
this.data = res.data
let lineX = res.data.accessTrend.map(item=>item.accessDay)
let lineY = res.data.accessTrend.map(item=>item.accessCount)
let barX = res.data.pageAccessTop.map(item=>item.accessCount)
let barY = res.data.pageAccessTop.map(item=>item.pageName)
this.initLine(lineX,lineY)
this.initBar(barX,barY)
})
},
initBar(barX,barY) {
let chartDom = document.getElementById('pages')
let myChart = echarts.init(chartDom);
myChart.setOption({
legend: {
bottom: 0,
itemWidth:10,
itemHeight:10
myChart.setOption({
legend: {
bottom: 0,
itemWidth:10,
itemHeight:10
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
},
color:['#29D090'],
grid: {
grid: {
top:'3%',
left: '3%',
right: '3%',
......@@ -125,15 +127,15 @@
},
yAxis: {
type: 'category',
data: barY,
axisTick: {
show: false
data: barY,
axisTick: {
show: false
}
},
series: [{
name: '访问次数',
type: 'bar',
data: barX,
data: barX,
barWidth:10
}
]
......
<template>
<!-- 路径分析 -->
<template>
<!-- 路径分析 -->
<div class="page">
<a-form-model :model="queryform" :label-col="labelCol" :wrapper-col="wrapperCol" layout="inline">
<a-form-model-item>
......@@ -17,18 +17,20 @@
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div id="path"></div>
</div>
</template>
<script>
</a-form-model>
<div id="path"></div>
</div>
</template>
<script>
import * as echarts from 'echarts'
import product from "../mixins/product"
import {getWayAccessAnalyse} from '@/api/dataActuary.js'
import moment from 'moment';
export default {
data() {
return {
import moment from 'moment';
export default {
mixins:[product],
data() {
return {
queryform: {
productId: 1,
dateTimeStart:moment().format('yyyy-MM-DD'),
......@@ -44,12 +46,12 @@
},
wrapperCol: {
span: 14
},
}
},
mounted() {
this.getData()
},
},
}
},
mounted() {
this.getData()
},
methods: {
getData() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null
......@@ -70,28 +72,28 @@
uniqueFunc(arr, uniId){
const res = new Map();
return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1));
},
init(data,links) {
let chartDom = document.getElementById('path')
let myChart = echarts.init(chartDom);
myChart.setOption({
series: {
type: 'sankey',
layout: 'none',
emphasis: {
focus: 'adjacency'
},
init(data,links) {
let chartDom = document.getElementById('path')
let myChart = echarts.init(chartDom);
myChart.setOption({
series: {
type: 'sankey',
layout: 'none',
emphasis: {
focus: 'adjacency'
},
color:['#FFCAC4','#6D86DE','#409AFE','#4DB3EA','#07CF8C'],
nodeWidth:10,
data: data,
links: links
}
})
}
}
};
</script>
nodeWidth:10,
data: data,
links: links
}
})
}
}
};
</script>
<style lang="less" scoped>
.page{
height: calc(100% - 50px);
......@@ -105,5 +107,5 @@
width: 70%;
margin: 0 auto;
}
}
}
</style>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<!-- 产品分析 -->
<div class="page">
<div class="img-dv">
<img :src="BASE_URL + img" ref="img">
<img :src="img" ref="img">
<div id="queuing"></div>
</div>
<div class="list-dv">
......@@ -44,12 +44,14 @@
</template>
<script>
import product from "../mixins/product"
import Heatmap from 'heatmap.js';
import moment from 'moment';
import {
getProductHotCensus
} from '@/api/dataActuary.js'
export default {
mixins:[product],
data() {
return {
queryform: {
......
<template>
<!-- 使用习惯分析 -->
<div class="page">
<a-form-model :model="queryform" :label-col="labelCol" :wrapper-col="wrapperCol" layout="inline">
<a-form-model-item>
<a-select v-model="queryform.productId" style="width: 200px" placeholder="选择产品">
<a-select-option :value="item.id" v-for="(item,index) in product" :key="index">
{{item.title}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker valueFormat="yyyy-MM-DD" v-model="time" style="width: 300px" :allowClear="false"/>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="getData">
开始分析
</a-button>
</a-form-model-item>
<a-form-model :model="queryform" :label-col="labelCol" :wrapper-col="wrapperCol" layout="inline">
<a-form-model-item>
<a-select v-model="queryform.productId" style="width: 200px" placeholder="选择产品">
<a-select-option :value="item.id" v-for="(item,index) in product" :key="index">
{{item.title}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker valueFormat="yyyy-MM-DD" v-model="time" style="width: 300px" :allowClear="false"/>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="getData">
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div class="charts-box">
<!-- <div id="canal"></div> -->
......@@ -27,22 +27,24 @@
</template>
<script>
import * as echarts from 'echarts'
import moment from 'moment';
import * as echarts from 'echarts'
import moment from 'moment';
import {getUsageCensus} from '@/api/dataActuary.js'
import product from "../mixins/product"
export default {
mixins:[product],
data() {
return {
queryform: {
productId: 1,
dateTimeStart: moment().format('yyyy-MM-DD'),
dateTimeEnd: moment().format('yyyy-MM-DD'),
pageCode: '/'
},
time: [moment().format('yyyy-MM-DD'), moment().format('yyyy-MM-DD')],
product: [{
title: '排队机',
id: 1
queryform: {
productId: 1,
dateTimeStart: moment().format('yyyy-MM-DD'),
dateTimeEnd: moment().format('yyyy-MM-DD'),
pageCode: '/'
},
time: [moment().format('yyyy-MM-DD'), moment().format('yyyy-MM-DD')],
product: [{
title: '排队机',
id: 1
}],
labelCol: {
span: 1
......@@ -52,75 +54,75 @@
},
}
},
mounted() {
mounted() {
this.getData()
},
methods: {
getData() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null
this.queryform.dateTimeStart = this.time ? this.time[1] : null
getUsageCensus(this.queryform).then(res=>{
let data = res.data.map(({businessName,propValue})=>({name:businessName,value:propValue * 100}))
this.initType(data)
})
},
initWay(){
let chartDom = document.getElementById('way')
let myChart = echarts.init(chartDom);
myChart.setOption({
title: {
text: '取号方式分析',
left: 'center'
},
tooltip: {
trigger: 'item',
},
legend: {
bottom: 0,
left: 'center',
itemWidth: 10,
itemHeight: 10
},
color: ['#6395F9', '#64DAAB', '#647798', '#F6C02D', '#7567FA', '#75CBED'],
series: [{
name: 'Access From',
type: 'pie',
radius: '65%',
label: {
normal: {
formatter: '{d}%' //自定义显示格式(b:name, c:value, d:百分比)
}
},
labelLine: {
normal: {
length: 1
}
},
data: [{
value: 1048,
name: 'Search Engine'
},
{
value: 735,
name: 'Direct'
},
{
value: 580,
name: 'Email'
},
{
value: 484,
name: 'Union Ads'
},
{
value: 300,
name: 'Video Ads'
}
],
}]
})
methods: {
getData() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null
this.queryform.dateTimeStart = this.time ? this.time[1] : null
getUsageCensus(this.queryform).then(res=>{
let data = res.data.map(({businessName,propValue})=>({name:businessName,value:propValue * 100}))
this.initType(data)
})
},
initWay(){
let chartDom = document.getElementById('way')
let myChart = echarts.init(chartDom);
myChart.setOption({
title: {
text: '取号方式分析',
left: 'center'
},
tooltip: {
trigger: 'item',
},
legend: {
bottom: 0,
left: 'center',
itemWidth: 10,
itemHeight: 10
},
color: ['#6395F9', '#64DAAB', '#647798', '#F6C02D', '#7567FA', '#75CBED'],
series: [{
name: 'Access From',
type: 'pie',
radius: '65%',
label: {
normal: {
formatter: '{d}%' //自定义显示格式(b:name, c:value, d:百分比)
}
},
labelLine: {
normal: {
length: 1
}
},
data: [{
value: 1048,
name: 'Search Engine'
},
{
value: 735,
name: 'Direct'
},
{
value: 580,
name: 'Email'
},
{
value: 484,
name: 'Union Ads'
},
{
value: 300,
name: 'Video Ads'
}
],
}]
})
},
initType(data) {
initType(data) {
console.log(data)
let chartDom = document.getElementById('type')
let myChart = echarts.init(chartDom);
......
......@@ -233,7 +233,6 @@
},
{
title: "操作",
dataIndex: "操作",
scopedSlots: {
customRender: "操作",
},
......@@ -314,14 +313,17 @@
item.type = obj[keys];
}
});
item.status == 1?item.status= '':item.status= ''
});
} else {
let datas = this.$_.cloneDeep(
await getImpossible({
...this.queryform,
page: 1,
size: -1
})
);
this.btnLoading = false
data = datas.data.data
if (!data.length) return;
for (let item of data) {
......@@ -330,11 +332,21 @@
item.type = obj[key];
}
});
item.status == 1?item.status= '':item.status= ''
}
}
const tHeader = []
const filterVal = []
this.tablecolumns.forEach(v=>{
if(v.dataIndex){
tHeader.push(v.title)
filterVal.push(v.dataIndex)
}
})
export2Excel(
this.tHeader,
this.filterVal,
tHeader,
filterVal,
data,
"办不成事报表" + this.$moment().format("YYYYMMDDHHmmss")
);
......
......@@ -183,7 +183,13 @@ export default {
},
// 查看数据
handleCkeck(path) {
this.$router.push(path);
if(path.indexOf('http')>-1){
alert(path)
window.open(path)
}else{
this.$router.push(path);
}
},
// pushRouter1() {
// // 易政秀报表
......
......@@ -2,7 +2,7 @@
<a-layout class="Container">
<a-layout-header class="header_box">
<div class="logo">
<i class="title">智慧大厅综合管理系统</i>
<i class="title">智慧大厅集成化综合管理平台</i>
<!-- <i class="title">智慧政务一体化综合管理平台4.0</i> -->
<div class="selectOnptions">
<a-select v-model="siteInfo" labelInValue @change="handleChange">
......
......@@ -3,7 +3,7 @@
<div class="login_form">
<div>
<!-- <img src="./img/title.png" alt /> -->
<h1 class="title">智慧大厅综合管理系统</h1>
<h1 class="title">智慧大厅集成化综合管理平台</h1>
</div>
<div class="formes">
<a-form-model
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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