Commit 88e156d1 authored by “yiyousong”'s avatar “yiyousong”

fix:修复页面

parent 0bc6ad56
......@@ -56,7 +56,7 @@ export default {
}
menuList(obj).then((res) => {
// console.log(res);
let { code, data, dict } = res.data;
let { code, data, dict } = res;
if (code == 1) {
data.data = data.data.map((item) => {
this.menuRouterList.forEach((v) => {
......
......@@ -31,13 +31,16 @@
/>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" class="addclass" @click="getList"> 开始分析 </a-button>
<a-button type="primary" class="addclass" @click="getList">
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div class="mt20">
<a-table
:columns="columns"
:data-source="data"
:loading="loading"
:scroll="{ y: 590 }"
:pagination="false"
>
......@@ -49,9 +52,9 @@
<script>
import { getEventCensus } from "@/api/dataActuary.js";
import moment from "moment";
import product from "../mixins/product"
import product from "../mixins/product";
export default {
mixins:[product],
mixins: [product],
data() {
return {
queryform: {
......@@ -101,6 +104,7 @@ export default {
},
],
data: [],
loading: false,
};
},
mounted() {
......@@ -108,10 +112,12 @@ export default {
},
methods: {
getList() {
this.loading = true;
this.queryform.dateTimeStart = this.time ? this.time[0] : null;
this.queryform.dateTimeStart = this.time ? this.time[1] : null;
getEventCensus(this.queryform).then((res) => {
this.data = res.data.data;
this.loading = false;
});
},
},
......
<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-form-model-item>
<a-form-model-item>
<a-select v-model="queryform.particleType" style="width: 200px" placeholder="选择时间粒度">
<a-select-option value="1">10分钟</a-select-option>
<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" class="addclass" @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>
</div>
<a-table :columns="columns" :data-source="data" :scroll="{ y: 590 }" :pagination="false">
<template slot="访问人数" slot-scope="text, record, index">
<div>{{record.accessCount}}</div>
<div v-show="queryform.isRatio == 1">日对比:{{(record.accessRatio * 100).toFixed(2)}}%</div>
</template>
<template slot="打开次数" slot-scope="text, record, index">
<div>{{record.accessCount}}</div>
<div v-show="queryform.isRatio == 1">日对比:{{(record.accessRatio * 100).toFixed(2)}}%</div>
</template>
<template slot="访问页面数" slot-scope="text, record, index">
<div>{{record.pageDepth}}</div>
<div v-show="queryform.isRatio == 1">日对比:{{(record.depthRatio * 100).toFixed(2)}}%</div>
</template>
</a-table>
</div>
</div>
<!-- 信息流分析 -->
<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-form-model-item>
<a-form-model-item>
<a-select
v-model="queryform.particleType"
style="width: 200px"
placeholder="选择时间粒度"
>
<a-select-option value="1">10分钟</a-select-option>
<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" class="addclass" @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>
</div>
<a-table
:columns="columns"
:data-source="data"
:scroll="{ y: 590 }"
:pagination="false"
:loading="loading"
>
<template slot="访问人数" slot-scope="text, record, index">
<div>{{ record.accessCount }}</div>
<div v-show="queryform.isRatio == 1">
日对比:{{ (record.accessRatio * 100).toFixed(2) }}%
</div>
</template>
<template slot="打开次数" slot-scope="text, record, index">
<div>{{ record.accessCount }}</div>
<div v-show="queryform.isRatio == 1">
日对比:{{ (record.accessRatio * 100).toFixed(2) }}%
</div>
</template>
<template slot="访问页面数" slot-scope="text, record, index">
<div>{{ record.pageDepth }}</div>
<div v-show="queryform.isRatio == 1">
日对比:{{ (record.depthRatio * 100).toFixed(2) }}%
</div>
</template>
</a-table>
</div>
</div>
</template>
<script>
import {getInformationFlow} from '@/api/dataActuary.js'
import moment from 'moment';
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'),
particleType:'1',
isRatio:0
},
time:moment().format('yyyy-MM-DD'),
product:[{
title:'排队机',
id:1
}],
indexList:['accessCount','accessCount1','pageDepth'],
labelCol: {
span: 1
},
wrapperCol: {
span: 14
},
columns: [{
title: "序号",
width: "70px",
dataIndex: 'index',
customRender: (text, record, index) => `${index+1}`,
align: "center",
},
{
title: "时间",
dataIndex: "dateStr",
align: "center",
},
{
title: '产品名称',
dataIndex: 'productName',
align: "center",
},
{
title: '一级场景',
dataIndex: 'firstName',
align: "center",
},
{
title: '二级场景',
dataIndex: 'secondName',
align: "center",
},
{
title: '三级场景',
dataIndex: 'thirdName',
align: "center",
},{
title: '访问人数',
dataIndex: 'accessCount',
align: "center",
scopedSlots: {
customRender: "访问人数",
},
},{
title: '打开次数',
dataIndex: 'accessCount1',
align: "center",
scopedSlots: {
customRender: "打开次数",
},
},{
title: '访问页面数',
dataIndex: 'pageDepth',
align: "center",
scopedSlots: {
customRender: "访问页面数",
},
}
],
data: [],
pagination: {
total: 0,
pageSize: 10, //每页中显示10条数据
showSizeChanger: true,
pageSizeOptions: ["10", "20", "50", "100"], //每页中显示的数据
showTotal: total => `共有 ${total} 条数据`, //分页中显示总的数据
},
filterColumns:[]
}
},
mounted() {
this.filterColumns = this.columns
this.getData()
},
methods:{
onChange(e){
this.queryform.isRatio = e.target.checked ? 1 : 0
this.getData()
},
changeIndex(e) {
e = e.concat(['index','dateStr','productName','firstName','secondName','thirdName'])
let columns = JSON.parse(JSON.stringify(this.filterColumns))
this.columns = columns.filter(item=> e.some(items=> item.dataIndex == items))
},
getData() {
this.queryform.dateTimeStart = this.time ? this.time : null
this.queryform.dateTimeStart = this.time ? this.time : null
getInformationFlow(this.queryform).then(res=>{
this.data = res.data
})
},
}
};
import { getInformationFlow } from "@/api/dataActuary.js";
import moment from "moment";
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"),
particleType: "1",
isRatio: 0,
},
time: moment().format("yyyy-MM-DD"),
product: [
{
title: "排队机",
id: 1,
},
],
indexList: ["accessCount", "accessCount1", "pageDepth"],
labelCol: {
span: 1,
},
wrapperCol: {
span: 14,
},
columns: [
{
title: "序号",
width: "70px",
dataIndex: "index",
customRender: (text, record, index) => `${index + 1}`,
align: "center",
},
{
title: "时间",
dataIndex: "dateStr",
align: "center",
},
{
title: "产品名称",
dataIndex: "productName",
align: "center",
},
{
title: "一级场景",
dataIndex: "firstName",
align: "center",
},
{
title: "二级场景",
dataIndex: "secondName",
align: "center",
},
{
title: "三级场景",
dataIndex: "thirdName",
align: "center",
},
{
title: "访问人数",
dataIndex: "accessCount",
align: "center",
scopedSlots: {
customRender: "访问人数",
},
},
{
title: "打开次数",
dataIndex: "accessCount1",
align: "center",
scopedSlots: {
customRender: "打开次数",
},
},
{
title: "访问页面数",
dataIndex: "pageDepth",
align: "center",
scopedSlots: {
customRender: "访问页面数",
},
},
],
data: [],
pagination: {
total: 0,
pageSize: 10, //每页中显示10条数据
showSizeChanger: true,
pageSizeOptions: ["10", "20", "50", "100"], //每页中显示的数据
showTotal: (total) => `共有 ${total} 条数据`, //分页中显示总的数据
},
filterColumns: [],
loading: false,
};
},
mounted() {
this.filterColumns = this.columns;
this.getData();
},
methods: {
onChange(e) {
this.queryform.isRatio = e.target.checked ? 1 : 0;
this.getData();
},
changeIndex(e) {
e = e.concat([
"index",
"dateStr",
"productName",
"firstName",
"secondName",
"thirdName",
]);
let columns = JSON.parse(JSON.stringify(this.filterColumns));
this.columns = columns.filter((item) =>
e.some((items) => item.dataIndex == items)
);
},
getData() {
this.loading = true;
this.queryform.dateTimeStart = this.time ? this.time : null;
this.queryform.dateTimeStart = this.time ? this.time : null;
getInformationFlow(this.queryform).then((res) => {
this.data = res.data;
this.loading = false;
});
},
},
};
</script>
<style lang="less" scoped>
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
/deep/.ant-form {
padding: 15px;
}
/deep/.ant-form {
padding: 15px;
}
.table-box {
padding: 0 15px;
.mb{
margin-bottom: 20px;
}
}
}
.table-box {
padding: 0 15px;
.mb {
margin-bottom: 20px;
}
}
}
</style>
\ No newline at end of file
......@@ -53,7 +53,8 @@ export default {
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
height: 100% !important;
width: 100%;
height: auto !important;
// background: #fac;
background: #f5f5f5;
display: flex;
......@@ -103,8 +104,8 @@ export default {
margin-left: 0.7rem !important;
}
}
/deep/.ant-tabs-bar{
margin: 0;
/deep/.ant-tabs-bar {
margin: 0;
}
}
</style>
......
......@@ -167,11 +167,9 @@ export default {
});
},
getList() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null;
this.queryform.dateTimeStart = this.time ? this.time[1] : null;
getProductHotCensus(this.queryform).then((res) => {
console.log(res);
this.clickSum = res.data.clickSum;
this.data = res.data.top10List;
this.img =
......
<template>
<div>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">整体情况</div>
<div class="head_desc">更新时间:{{ nowDate }}</div>
</div>
</template>
<a-row type="flex" align="middle">
<a-col :span="4">
<div class="f_40 f_center warning">{{ situation.lev1_nums }}</div>
<div class="f_center">一级业务总量</div>
</a-col>
<a-col :span="8">
<a-row type="flex" align="middle">
<a-col :span="12">
<div class="f_40 f_center success">{{ situation.lev1_not_child_nums }}</div>
<div class="f_center">一级业务(无子业务)</div>
</a-col>
<a-col :span="12">
<Pie
:id="`one_pie`"
:height=200
:width=200
:datas="firstPie"
/>
</a-col>
</a-row>
</a-col>
<a-col :span="12">
<a-row type="flex" align="middle">
<a-col :span="8">
<div class="f_40 f_center prima">{{ situation.lev1_has_child_nums }}</div>
<div class=" f_center">一级业务(有子业务)</div>
</a-col>
<a-col :span="8">
<div class="f_40 f_center prima">{{ situation.child_nums }}</div>
<div class=" f_center">子级业务</div>
</a-col>
<a-col :span="8">
<Pie
:id="`two_pie`"
:height=200
:width=200
:datas="secondPie"
/>
</a-col>
</a-row>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">排队取号情况</div>
<div class="head_desc"></div>
</div>
</template>
<a-row type="flex" align="middle">
<a-col :span="4">
<a-row>
<a-col :span="12">
<div class="f_20 f_center success">{{ takeLineTotal }}</div>
<div class="f_center">排队业务总量</div>
</a-col>
<a-col :span="12">
<div class="f_20 f_center success">{{ noTakeLine }}</div>
<div class="f_center">未排队业务</div>
</a-col>
</a-row>
<Pie
:id="`three_pie`"
:height="200"
:width="280"
:datas="thirdPie"
/>
</a-col>
<a-col :span="20">
<div class="table_title">排队业务分布情况</div>
<a-table :row-key="(record,index) => index" :dataSource="lineUp" :columns="lineUpColumns" :pagination="false" :scroll="{ x: 1400, y: 0 }"/>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">预约情况</div>
<div class="head_desc"></div>
</div>
</template>
<a-row type="flex" align="middle">
<a-col :span="4">
<a-row>
<a-col :span="12">
<div class="f_20 f_center success">{{ appointmentTotal }}</div>
<div class="f_center">预约业务总量</div>
</a-col>
<a-col :span="12">
<div class="f_20 f_center success">{{ noAppointment }}</div>
<div class="f_center">未预约业务</div>
</a-col>
</a-row>
<Pie
:id="`four_pie`"
:height="200"
:width="280"
:datas="fourthPie"
/>
</a-col>
<a-col :span="20">
<div>预约业务分布情况</div>
<a-table :row-key="(record,index) => index" :dataSource="appointment" :columns="appointmentColumns" :pagination="false" :scroll="{ x: 1400, y: 0 }"/>
</a-col>
</a-row>
</a-card>
<a-row>
<a-col :span="12">
<a-card :bordered="false" class="mb_15" style="margin-right: .625rem; min-height: 44.125rem">
<template slot="title">
<div class="head">
<div class="head_title">取号最多业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="takeNumberTopDate"
:options="options"
style="width: 120px"
@change="changeTakeNumberTopDate"
>
</a-select>
</template>
<a-table :row-key="(record,index) => index" :dataSource="takeNumberTop" :columns="takeNumberTopColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span slot="nums" slot-scope="text, record, index" style="display: flex;">
<a-progress :percent="text" :showInfo="false" strokeColor="#87d068"/>
<div style="min-width: 3.125rem;text-align: right;">{{ text }}件</div>
</span>
</a-table>
</a-card>
</a-col>
<a-col :span="12">
<a-card :bordered="false" class="mb_15" style="margin-left: .625rem; min-height: 44.125rem">
<template slot="title">
<div class="head">
<div class="head_title">预约最多业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="appointmentTopDate"
:options="options"
style="width: 120px"
@change="changeAppointmentTopDate"
>
</a-select>
</template>
<a-table :row-key="(record,index) => index" :dataSource="appointmentTop" :columns="appointmentTopColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span slot="nums" slot-scope="text, record, index" style="display: flex;">
<a-progress :percent="text" :showInfo="false" strokeColor="#87d068"/>
<div style="min-width: 3.125rem;text-align: right;">{{ text }}件</div>
</span>
</a-table>
</a-card>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-card :bordered="false" class="mb_15" style="margin-right: .625rem; min-height: 44.125rem">
<template slot="title">
<div class="head">
<div class="head_title">取号最少业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="takeNumberLessDate"
:options="options"
style="width: 120px"
@change="changeTakeNumberLessDate"
>
</a-select>
</template>
<a-table :row-key="(record,index) => index" :dataSource="takeNumberLess" :columns="takeNumberLessColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span slot="nums" slot-scope="text, record, index" style="display: flex;">
<a-progress :percent="text" :showInfo="false" strokeColor="#87d068"/>
<div style="min-width: 3.125rem;text-align: right;">{{ text }}件</div>
</span>
</a-table>
</a-card>
</a-col>
<a-col :span="12">
<a-card :bordered="false" class="mb_15" style="margin-left: .625rem; min-height: 44.125rem">
<template slot="title">
<div class="head">
<div class="head_title">预约最少业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="appointmentLessDate"
:options="options"
style="width: 120px"
@change="changeAppointmentLessDate"
>
</a-select>
</template>
<a-table :row-key="(record,index) => index" :dataSource="appointmentLess" :columns="appointmentLessColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span slot="nums" slot-scope="text, record, index" style="display: flex;">
<a-progress :percent="text" :showInfo="false" strokeColor="#87d068"/>
<div style="min-width: 3.125rem;text-align: right;">{{ text }}件</div>
</span>
</a-table>
</a-card>
</a-col>
</a-row>
</div>
<div>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">整体情况</div>
<div class="head_desc">更新时间:{{ nowDate }}</div>
</div>
</template>
<a-row type="flex" align="middle">
<a-col :span="4">
<div class="f_40 f_center warning">{{ situation.lev1_nums }}</div>
<div class="f_center">一级业务总量</div>
</a-col>
<a-col :span="8">
<a-row type="flex" align="middle">
<a-col :span="12">
<div class="f_40 f_center success">
{{ situation.lev1_not_child_nums }}
</div>
<div class="f_center">一级业务(无子业务)</div>
</a-col>
<a-col :span="12">
<Pie
:id="`one_pie`"
:height="200"
:width="200"
:datas="firstPie"
/>
</a-col>
</a-row>
</a-col>
<a-col :span="12">
<a-row type="flex" align="middle">
<a-col :span="8">
<div class="f_40 f_center prima">
{{ situation.lev1_has_child_nums }}
</div>
<div class="f_center">一级业务(有子业务)</div>
</a-col>
<a-col :span="8">
<div class="f_40 f_center prima">{{ situation.child_nums }}</div>
<div class="f_center">子级业务</div>
</a-col>
<a-col :span="8">
<Pie
:id="`two_pie`"
:height="200"
:width="200"
:datas="secondPie"
/>
</a-col>
</a-row>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">排队取号情况</div>
<div class="head_desc"></div>
</div>
</template>
<a-row type="flex" align="middle">
<a-col :span="4">
<a-row>
<a-col :span="12">
<div class="f_20 f_center success">{{ takeLineTotal }}</div>
<div class="f_center">排队业务总量</div>
</a-col>
<a-col :span="12">
<div class="f_20 f_center success">{{ noTakeLine }}</div>
<div class="f_center">未排队业务</div>
</a-col>
</a-row>
<Pie :id="`three_pie`" :height="200" :width="280" :datas="thirdPie" />
</a-col>
<a-col :span="20">
<div class="table_title">排队业务分布情况</div>
<a-table
:row-key="(record, index) => index"
:dataSource="lineUp"
:columns="lineUpColumns"
:pagination="false"
:scroll="{ x: 1400, y: 0 }"
/>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">预约情况</div>
<div class="head_desc"></div>
</div>
</template>
<a-row type="flex" align="middle">
<a-col :span="4">
<a-row>
<a-col :span="12">
<div class="f_20 f_center success">{{ appointmentTotal }}</div>
<div class="f_center">预约业务总量</div>
</a-col>
<a-col :span="12">
<div class="f_20 f_center success">{{ noAppointment }}</div>
<div class="f_center">未预约业务</div>
</a-col>
</a-row>
<Pie :id="`four_pie`" :height="200" :width="280" :datas="fourthPie" />
</a-col>
<a-col :span="20">
<div>预约业务分布情况</div>
<a-table
:row-key="(record, index) => index"
:dataSource="appointment"
:columns="appointmentColumns"
:pagination="false"
:scroll="{ x: 1400, y: 0 }"
/>
</a-col>
</a-row>
</a-card>
<a-row>
<a-col :span="12">
<a-card
:bordered="false"
class="mb_15"
style="margin-right: 0.625rem; min-height: 44.125rem"
>
<template slot="title">
<div class="head">
<div class="head_title">取号最多业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="takeNumberTopDate"
:options="options"
style="width: 120px"
@change="changeTakeNumberTopDate"
>
</a-select>
</template>
<a-table
:row-key="(record, index) => index"
:dataSource="takeNumberTop"
:columns="takeNumberTopColumns"
:pagination="false"
>
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span
slot="nums"
slot-scope="text, record, index"
style="display: flex"
>
<a-progress
:percent="text"
:showInfo="false"
strokeColor="#87d068"
/>
<div style="min-width: 3.125rem; text-align: right">
{{ text }}件
</div>
</span>
</a-table>
</a-card>
</a-col>
<a-col :span="12">
<a-card
:bordered="false"
class="mb_15"
style="margin-left: 0.625rem; min-height: 44.125rem"
>
<template slot="title">
<div class="head">
<div class="head_title">预约最多业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="appointmentTopDate"
:options="options"
style="width: 120px"
@change="changeAppointmentTopDate"
>
</a-select>
</template>
<a-table
:row-key="(record, index) => index"
:dataSource="appointmentTop"
:columns="appointmentTopColumns"
:pagination="false"
>
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span
slot="nums"
slot-scope="text, record, index"
style="display: flex"
>
<a-progress
:percent="text"
:showInfo="false"
strokeColor="#87d068"
/>
<div style="min-width: 3.125rem; text-align: right">
{{ text }}件
</div>
</span>
</a-table>
</a-card>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-card
:bordered="false"
class="mb_15"
style="margin-right: 0.625rem; min-height: 44.125rem"
>
<template slot="title">
<div class="head">
<div class="head_title">取号最少业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="takeNumberLessDate"
:options="options"
style="width: 120px"
@change="changeTakeNumberLessDate"
>
</a-select>
</template>
<a-table
:row-key="(record, index) => index"
:dataSource="takeNumberLess"
:columns="takeNumberLessColumns"
:pagination="false"
>
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span
slot="nums"
slot-scope="text, record, index"
style="display: flex"
>
<a-progress
:percent="text"
:showInfo="false"
strokeColor="#87d068"
/>
<div style="min-width: 3.125rem; text-align: right">
{{ text }}件
</div>
</span>
</a-table>
</a-card>
</a-col>
<a-col :span="12">
<a-card
:bordered="false"
class="mb_15"
style="margin-left: 0.625rem; min-height: 44.125rem"
>
<template slot="title">
<div class="head">
<div class="head_title">预约最少业务Top10</div>
</div>
</template>
<template #extra>
<a-select
ref="select"
v-model="appointmentLessDate"
:options="options"
style="width: 120px"
@change="changeAppointmentLessDate"
>
</a-select>
</template>
<a-table
:row-key="(record, index) => index"
:dataSource="appointmentLess"
:columns="appointmentLessColumns"
:pagination="false"
>
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span
slot="nums"
slot-scope="text, record, index"
style="display: flex"
>
<a-progress
:percent="text"
:showInfo="false"
strokeColor="#87d068"
/>
<div style="min-width: 3.125rem; text-align: right">
{{ text }}件
</div>
</span>
</a-table>
</a-card>
</a-col>
</a-row>
</div>
</template>
<script >
import Pie from "../Component/emptyPie/index.vue"
import axios from 'axios'
import {getAllInfo,getBusinessInfo,getWyInfo,getTopBusiness,getTopWy} from '@/api/dataActuary.js'
import moment from "moment"
export default {
components:{
Pie
},
data(){
return{
nowDate: '',
// 基本情况
situation: {},
// 第一个饼状图
firstPie: {},
// 第二个饼状图
secondPie: {},
// 第三个饼状图
thirdPie: {},
// 第四个饼状图
fourthPie: {},
takeLineTotal: '', // 排队业务总数
noTakeLine: '', // 未排队业务
appointmentTotal: '', // 预约业务总数
noAppointment: '', // 未预约业务
// 下拉框选项
options:[
{
value: '0',
label: '今天',
},
{
value: '1',
label: '近7日',
},
{
value: '2',
label: '近30日',
},
{
value: '3',
label: '近3个月',
},
{
value: '4',
label: '本年度',
},
],
// 排队表格数据
lineUp:[
{
key: '1',
info: '绑定一级业务数量',
title: '排队机名称',
},
{
key: '2',
info: '占比',
title: '排队机名称',
},
{
key: '3',
info: '绑定二级业务数量',
title: '排队机名称',
},
{
key: '4',
info: '占比',
title: '排队机名称',
},
],
// 排队表格列
lineUpColumns:[
{
key: 'key',
title: '排队机名称',
width: 200,
dataIndex: 'info',
fixed: 'left'
},
],
// 预约表格数据
appointment:[
{
key: '1',
info: '预约一级业务数量',
title: '排队机名称',
},
{
key: '2',
info: '占比',
title: '排队机名称',
},
{
key: '3',
info: '预约二级业务数量',
title: '排队机名称',
},
{
key: '4',
info: '占比',
title: '排队机名称',
},
],
// 预约表格列
appointmentColumns:[
{
key: 'key',
title: '排队机名称',
width: 200,
dataIndex: 'info',
fixed: 'left'
},
],
// 排队TOP
takeNumberTop:[],
// 排队TOP列
takeNumberTopColumns: [
{
key:'index',
title: '排名',
dataIndex: 'index',
scopedSlots: { customRender: 'index' },
},
{
key:'businessName',
title: '业务名称',
dataIndex: 'name',
},
{
key:'number',
title: '办理数量',
dataIndex: 'nums',
scopedSlots: { customRender: 'nums' },
},
],
// 预约TOP数据
appointmentTop:[],
// 预约TOP列
appointmentTopColumns: [
{
key:'index',
title: '排名',
dataIndex: 'index',
scopedSlots: { customRender: 'index' },
},
{
key:'businessName',
title: '业务名称',
dataIndex: 'name',
},
{
key:'number',
title: '办理数量',
dataIndex: 'nums',
scopedSlots: { customRender: 'nums' },
},
],
// 排队Less
takeNumberLess:[],
// 排队Less列
takeNumberLessColumns: [
{
key:'index',
title: '排名',
dataIndex: 'index',
scopedSlots: { customRender: 'index' },
},
{
key:'businessName',
title: '业务名称',
dataIndex: 'name',
},
{
key:'number',
title: '办理数量',
dataIndex: 'nums',
scopedSlots: { customRender: 'nums' },
},
],
// 预约Less数据
appointmentLess:[],
// 预约Less列
appointmentLessColumns: [
{
key:'index',
title: '排名',
dataIndex: 'index',
// scopedSlots: { customRender: 'index' },
},
{
key:'businessName',
title: '业务名称',
dataIndex: 'name',
},
{
key:'number',
title: '办理数量',
dataIndex: 'nums',
// scopedSlots: { customRender: 'nums' },
},
],
takeNumberTopDate: '0',
appointmentTopDate: '0',
takeNumberLessDate: '0',
appointmentLessDate: '0',
siteid:localStorage.getItem("siteId")
}
},
mounted(){
this.$bus.$on("changeSite", () => {
this.siteid = localStorage.getItem("siteId")
});
this.getAllData()
this.getTakeLineData()
this.getAppointmentData()
this.getTakeNumberTop()
this.getAppointmentTop()
this.getTakeNumberLess()
this.getAppointmentLess()
},
watch:{
siteid(){
this.getAllData()
this.getTakeLineData()
this.getAppointmentData()
this.getTakeNumberTop()
this.getAppointmentTop()
this.getTakeNumberLess()
this.getAppointmentLess()
}
},
methods:{
//获取全部基本数据
async getAllData() {
this.nowDate= moment(new Date()).format('YYYY-MM-DD h:mm:ss')
const res = await getAllInfo({siteid:this.siteid})
if(res.code == 1){
this.situation= res.data
this.firstPie= {
name: '占比',
val: res.data.lev1_nums,
total: res.data.lev1_not_child_nums,
color: '#04CA8F'
}
this.secondPie= {
name: '占比',
val: res.data.lev1_has_child_nums,
total: res.data.child_nums,
color: '#6394f9'
}
}
},
// 排队取号
async getTakeLineData() {
const res = await getBusinessInfo({siteid:this.siteid})
if(res.code == 1){
let arr= res.data.info
let newArr= []
arr.forEach((item ,index)=>{
let obj={
id: item.id,
dataIndex: item.id,
title: item.name,
}
newArr.push(obj)
this.lineUp[0][item.id]= item.lev1_nums
this.lineUp[1][item.id]= (item.lev1_rate * 100).toFixed(2) + '%'
this.lineUp[2][item.id]= item.lev2_nums
this.lineUp[3][item.id]= (item.lev2_rate * 100).toFixed(2) + '%'
})
this.lineUpColumns= [...this.lineUpColumns, ...newArr]
this.takeLineTotal=res.data.use_bus_nums
this.noTakeLine=res.data.not_use_bus_nums
this.thirdPie= {
name: '占比',
val: res.data.not_use_bus_nums,
total: res.data.use_bus_nums,
color: '#04CA8F'
}
}
},
// 预约情况
async getAppointmentData() {
const res = await getWyInfo({siteid:this.siteid})
if(res.code == 1){
let arr= res.data.info
let newArr= []
arr.forEach((item ,index)=>{
let obj={
id: item.id,
dataIndex: item.id,
title: item.name,
}
newArr.push(obj)
this.appointment[0][item.id]= item.lev1_nums
this.appointment[1][item.id]= (item.lev1_rate * 100).toFixed(2) + '%'
this.appointment[2][item.id]= item.lev2_nums
this.appointment[3][item.id]= (item.lev2_rate * 100).toFixed(2) + '%'
})
this.appointmentColumns= [...this.appointmentColumns, ...newArr]
this.appointmentTotal=res.data.use_bus_nums
this.noAppointment=res.data.not_use_bus_nums
this.fourthPie= {
name: '占比',
val: res.data.not_use_bus_nums,
total: res.data.use_bus_nums,
color: '#04CA8F'
}
}
},
// 取号TOP
async getTakeNumberTop(val){
if(val== undefined){
val = 0
}
const res = await getTopBusiness({selected: val,sort: 'DESC',siteid:this.siteid})
if(res.code == 1) {
this.takeNumberTop= res.data
}
},
// 取号Less
async getTakeNumberLess(val){
if(val== undefined){
val = 0
}
const res = await getTopBusiness({selected: val,sort: 'ASC',siteid:this.siteid})
if(res.code == 1) {
this.takeNumberLess= res.data
}
},
// 预约TOP
async getAppointmentTop(val){
if(val== undefined){
val = 0
}
const res = await getTopWy({selected: val,sort: 'DESC',siteid:this.siteid})
if(res.code == 1) {
this.appointmentTop= res.data
}
},
// 预约LESS
async getAppointmentLess(val){
if(val== undefined){
val = 0
}
const res = await getTopWy({selected: val,sort: 'ASC',siteid:this.siteid})
if(res.code == 1) {
this.appointmentLess= res.data
}
},
changeTakeNumberTopDate(val){
this.getTakeNumberTop(val)
},
changeAppointmentTopDate(val){
this.getAppointmentTop(val)
},
changeTakeNumberLessDate(val){
this.getTakeNumberLess(val)
},
changeAppointmentLessDate(val){
this.getAppointmentLess(val)
},
}
}
import Pie from "../Component/emptyPie/index.vue";
import axios from "axios";
import {
getAllInfo,
getBusinessInfo,
getWyInfo,
getTopBusiness,
getTopWy,
} from "@/api/dataActuary.js";
import moment from "moment";
export default {
components: {
Pie,
},
data() {
return {
nowDate: "",
// 基本情况
situation: {},
// 第一个饼状图
firstPie: {},
// 第二个饼状图
secondPie: {},
// 第三个饼状图
thirdPie: {},
// 第四个饼状图
fourthPie: {},
takeLineTotal: "", // 排队业务总数
noTakeLine: "", // 未排队业务
appointmentTotal: "", // 预约业务总数
noAppointment: "", // 未预约业务
// 下拉框选项
options: [
{
value: "0",
label: "今天",
},
{
value: "1",
label: "近7日",
},
{
value: "2",
label: "近30日",
},
{
value: "3",
label: "近3个月",
},
{
value: "4",
label: "本年度",
},
],
// 排队表格数据
lineUp: [
{
key: "1",
info: "绑定一级业务数量",
title: "排队机名称",
},
{
key: "2",
info: "占比",
title: "排队机名称",
},
{
key: "3",
info: "绑定二级业务数量",
title: "排队机名称",
},
{
key: "4",
info: "占比",
title: "排队机名称",
},
],
// 排队表格列
lineUpColumns: [
{
key: "key",
title: "排队机名称",
width: 200,
dataIndex: "info",
fixed: "left",
},
],
// 预约表格数据
appointment: [
{
key: "1",
info: "预约一级业务数量",
title: "排队机名称",
},
{
key: "2",
info: "占比",
title: "排队机名称",
},
{
key: "3",
info: "预约二级业务数量",
title: "排队机名称",
},
{
key: "4",
info: "占比",
title: "排队机名称",
},
],
// 预约表格列
appointmentColumns: [
{
key: "key",
title: "排队机名称",
width: 200,
dataIndex: "info",
fixed: "left",
},
],
// 排队TOP
takeNumberTop: [],
// 排队TOP列
takeNumberTopColumns: [
{
key: "index",
title: "排名",
dataIndex: "index",
scopedSlots: { customRender: "index" },
},
{
key: "businessName",
title: "业务名称",
dataIndex: "name",
},
{
key: "number",
title: "办理数量",
dataIndex: "nums",
scopedSlots: { customRender: "nums" },
},
],
// 预约TOP数据
appointmentTop: [],
// 预约TOP列
appointmentTopColumns: [
{
key: "index",
title: "排名",
dataIndex: "index",
scopedSlots: { customRender: "index" },
},
{
key: "businessName",
title: "业务名称",
dataIndex: "name",
},
{
key: "number",
title: "办理数量",
dataIndex: "nums",
scopedSlots: { customRender: "nums" },
},
],
// 排队Less
takeNumberLess: [],
// 排队Less列
takeNumberLessColumns: [
{
key: "index",
title: "排名",
dataIndex: "index",
scopedSlots: { customRender: "index" },
},
{
key: "businessName",
title: "业务名称",
dataIndex: "name",
},
{
key: "number",
title: "办理数量",
dataIndex: "nums",
scopedSlots: { customRender: "nums" },
},
],
// 预约Less数据
appointmentLess: [],
// 预约Less列
appointmentLessColumns: [
{
key: "index",
title: "排名",
dataIndex: "index",
// scopedSlots: { customRender: 'index' },
},
{
key: "businessName",
title: "业务名称",
dataIndex: "name",
},
{
key: "number",
title: "办理数量",
dataIndex: "nums",
// scopedSlots: { customRender: 'nums' },
},
],
takeNumberTopDate: "0",
appointmentTopDate: "0",
takeNumberLessDate: "0",
appointmentLessDate: "0",
siteid: localStorage.getItem("siteId"),
};
},
mounted() {
this.$bus.$on("changeSite", () => {
this.siteid = localStorage.getItem("siteId");
});
this.getAllData();
this.getTakeLineData();
this.getAppointmentData();
this.getTakeNumberTop();
this.getAppointmentTop();
this.getTakeNumberLess();
this.getAppointmentLess();
},
watch: {
siteid() {
this.getAllData();
this.getTakeLineData();
this.getAppointmentData();
this.getTakeNumberTop();
this.getAppointmentTop();
this.getTakeNumberLess();
this.getAppointmentLess();
},
},
methods: {
//获取全部基本数据
async getAllData() {
this.nowDate = moment(new Date()).format("YYYY-MM-DD h:mm:ss");
const res = await getAllInfo({ siteid: this.siteid });
if (res.code == 1) {
this.situation = res.data;
this.firstPie = {
name: "占比",
val: res.data.lev1_nums,
total: res.data.lev1_not_child_nums,
color: "#04CA8F",
};
this.secondPie = {
name: "占比",
val: res.data.lev1_has_child_nums,
total: res.data.child_nums,
color: "#6394f9",
};
}
},
// 排队取号
async getTakeLineData() {
const res = await getBusinessInfo({ siteid: this.siteid });
if (res.code == 1) {
let arr = res.data.info;
let newArr = [];
arr.forEach((item, index) => {
let obj = {
id: item.id,
dataIndex: item.id,
title: item.name,
};
newArr.push(obj);
this.lineUp[0][item.id] = item.lev1_nums;
this.lineUp[1][item.id] = (item.lev1_rate * 100).toFixed(2) + "%";
this.lineUp[2][item.id] = item.lev2_nums;
this.lineUp[3][item.id] = (item.lev2_rate * 100).toFixed(2) + "%";
});
this.lineUpColumns = [...this.lineUpColumns, ...newArr];
this.takeLineTotal = res.data.use_bus_nums;
this.noTakeLine = res.data.not_use_bus_nums;
this.thirdPie = {
name: "占比",
val: res.data.not_use_bus_nums,
total: res.data.use_bus_nums,
color: "#04CA8F",
};
}
},
// 预约情况
async getAppointmentData() {
const res = await getWyInfo({ siteid: this.siteid });
if (res.code == 1) {
let arr = res.data.info;
let newArr = [];
arr.forEach((item, index) => {
let obj = {
id: item.id,
dataIndex: item.id,
title: item.name,
};
newArr.push(obj);
this.appointment[0][item.id] = item.lev1_nums;
this.appointment[1][item.id] =
(item.lev1_rate * 100).toFixed(2) + "%";
this.appointment[2][item.id] = item.lev2_nums;
this.appointment[3][item.id] =
(item.lev2_rate * 100).toFixed(2) + "%";
});
this.appointmentColumns = [...this.appointmentColumns, ...newArr];
this.appointmentTotal = res.data.use_bus_nums;
this.noAppointment = res.data.not_use_bus_nums;
this.fourthPie = {
name: "占比",
val: res.data.not_use_bus_nums,
total: res.data.use_bus_nums,
color: "#04CA8F",
};
}
},
// 取号TOP
async getTakeNumberTop(val) {
if (val == undefined) {
val = 0;
}
const res = await getTopBusiness({
selected: val,
sort: "DESC",
siteid: this.siteid,
});
if (res.code == 1) {
this.takeNumberTop = res.data;
}
},
// 取号Less
async getTakeNumberLess(val) {
if (val == undefined) {
val = 0;
}
const res = await getTopBusiness({
selected: val,
sort: "ASC",
siteid: this.siteid,
});
if (res.code == 1) {
this.takeNumberLess = res.data;
}
},
// 预约TOP
async getAppointmentTop(val) {
if (val == undefined) {
val = 0;
}
const res = await getTopWy({
selected: val,
sort: "DESC",
siteid: this.siteid,
});
if (res.code == 1) {
this.appointmentTop = res.data;
}
},
// 预约LESS
async getAppointmentLess(val) {
if (val == undefined) {
val = 0;
}
const res = await getTopWy({
selected: val,
sort: "ASC",
siteid: this.siteid,
});
if (res.code == 1) {
this.appointmentLess = res.data;
}
},
changeTakeNumberTopDate(val) {
this.getTakeNumberTop(val);
},
changeAppointmentTopDate(val) {
this.getAppointmentTop(val);
},
changeTakeNumberLessDate(val) {
this.getTakeNumberLess(val);
},
changeAppointmentLessDate(val) {
this.getAppointmentLess(val);
},
},
};
</script>
<style scoped lang="less">
.head{
display: flex;
justify-content: flex-start;
align-items: center;
.head_title{
font-weight: bold;
font-style: normal;
font-size: 16px;
color: #333;
margin-right: 1.25rem;
}
.head_desc{
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #888888;
}
.head {
display: flex;
justify-content: flex-start;
align-items: center;
.head_title {
font-weight: bold;
font-style: normal;
font-size: 16px;
color: #333;
margin-right: 1.25rem;
}
.head_desc {
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #888888;
}
}
/deep/ .ant-table{
width: 100% !important;
/deep/ .ant-table {
width: 100% !important;
}
.table_title{
color: #333;
font-weight: 700;
font-style: normal;
font-size: .875rem;
margin-bottom: .625rem;
.table_title {
color: #333;
font-weight: 700;
font-style: normal;
font-size: 0.875rem;
margin-bottom: 0.625rem;
}
.f_20{
font-size: 1.25rem;
.f_20 {
font-size: 1.25rem;
}
.f_40{
font-size: 2.5rem;
.f_40 {
font-size: 2.5rem;
}
.f_center{
text-align: center;
.f_center {
text-align: center;
}
.warning{
color: #FD6805
.warning {
color: #fd6805;
}
.primary{
color: #0595FD
.primary {
color: #0595fd;
}
.success{
color: #04CA8F
.success {
color: #04ca8f;
}
.h_200{
height: 12.5rem;
.h_200 {
height: 12.5rem;
}
.mb_15{
margin-bottom: .9375rem;
.mb_15 {
margin-bottom: 0.9375rem;
}
</style>
\ No newline at end of file
<template>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb/>
</div>
<div class="searchBox">
<a-auto-complete
v-model="businessName"
:data-source="dataSource"
optionLabelProp="value"
style="width: 35.625rem"
placeholder="请输入业务名称搜索"
@select="onSelect"
@search="onSearch"
/>
<a-button type="primary" class="addclass" v-if="!btnShow" @click="startAnalysis">开始分析</a-button>
<a-button type="primary" class="addclass" v-else @click="backBase">返回</a-button>
</div>
</div>
<div class="content_view">
<router-view keep-alive/>
</div>
</div>
</div>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb />
</div>
<div class="searchBox">
<a-space>
<a-auto-complete
v-model="businessName"
:data-source="dataSource"
optionLabelProp="value"
style="width: 35.625rem"
placeholder="请输入业务名称搜索"
@select="onSelect"
@search="onSearch"
/>
<a-button
type="primary"
class="addclass"
v-if="!btnShow"
@click="startAnalysis"
>开始分析</a-button
>
<a-button type="primary" class="addclass" v-else @click="backBase"
>返回</a-button
>
</a-space>
</div>
</div>
<div class="content_view">
<router-view keep-alive />
</div>
</div>
</div>
</template>
<script>
import _ from 'lodash';
import axios from 'axios';
import _ from "lodash";
import axios from "axios";
import Breadcrumb from "./breadcrumb/index.vue";
import {userSiteBus} from '@/api/dataActuary'
import { userSiteBus } from "@/api/dataActuary";
export default {
components:{
Breadcrumb
},
data() {
return {
// 搜索框
businessName: '',
dataSource: [],
sourceList:[],
// dataList: [],
btnShow: false,
}
},
mounted() {
// this.getList()
},
created(){
},
computed:{
},
methods:{
startAnalysis() {
if(!this.businessName){
this.$message.error('请输入业务名称搜索')
}else{
let item = this.sourceList.filter(i=>{return i.name == this.businessName})[0]
if(item){
this.$router.push({ path: 'analysiscontent', query:{id:item.id}})
this.btnShow= true
}
}
},
backBase() {
this.$router.push({ path: 'basecontent'})
this.btnShow= false
this.businessName= ''
},
// async getList(){
// await axios.get('http://192.168.0.98:8090/inter/statistic/busList',{params: {siteid: 1}}).then((res)=>{
// if(res && res.status==200){
// res.data.data.forEach(item=>{
// this.dataList.push(item.name)
// })
// }
// })
// },
onSearch: _.debounce(function(val){
this.dataSource= []
userSiteBus({siteid: localStorage.getItem('siteId'),bus_name:val}).then(res => {
if (res.code == 1) {
this.sourceList = res.data;
res.data.forEach(r => {
this.dataSource.push(
r.name
);
});
}
})
},0),
onSelect(val){
this.businessName= val
}
},
}
components: {
Breadcrumb,
},
data() {
return {
// 搜索框
businessName: "",
dataSource: [],
sourceList: [],
// dataList: [],
btnShow: false,
};
},
mounted() {
// this.getList()
},
created() {},
computed: {},
methods: {
startAnalysis() {
if (!this.businessName) {
this.$message.error("请输入业务名称搜索");
} else {
let item = this.sourceList.filter((i) => {
return i.name == this.businessName;
})[0];
if (item) {
this.$router.push({
path: "analysiscontent",
query: { id: item.id },
});
this.btnShow = true;
}
}
},
backBase() {
this.$router.push({ path: "basecontent" });
this.btnShow = false;
this.businessName = "";
},
// async getList(){
// await axios.get('http://192.168.0.98:8090/inter/statistic/busList',{params: {siteid: 1}}).then((res)=>{
// if(res && res.status==200){
// res.data.data.forEach(item=>{
// this.dataList.push(item.name)
// })
// }
// })
// },
onSearch: _.debounce(function (val) {
this.dataSource = [];
userSiteBus({
siteid: localStorage.getItem("siteId"),
bus_name: val,
}).then((res) => {
if (res.code == 1) {
this.sourceList = res.data;
res.data.forEach((r) => {
this.dataSource.push(r.name);
});
}
});
}, 0),
onSelect(val) {
this.businessName = val;
},
},
};
</script>
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
}
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
/deep/.ant-tabs-tab {
font-size: 14px !important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
/deep/.ant-tabs-bar{
margin: 0;
}
@headerH: 4.5rem;
.Container {
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
.first_card{
background: #FFF;
margin-bottom: .9375rem;
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
}
.breadMenu{
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
.searchBox{
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
/deep/.ant-tabs-tab {
font-size: 14px !important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
.content_view{
padding: 0 5rem;
/deep/.ant-tabs-bar {
margin: 0;
}
}
.first_card {
background: #fff;
margin-bottom: 0.9375rem;
}
.breadMenu {
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.searchBox {
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
}
.content_view {
padding: 0 5rem;
}
</style>
<template>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb/>
</div>
<div class="searchBox">
<!-- <a-auto-complete
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb />
</div>
<div class="searchBox">
<!-- <a-auto-complete
v-model="businessName"
:data-source="dataSource"
optionLabelProp="value"
......@@ -15,155 +15,169 @@
@select="onSelect"
@search="onSearch"
/> -->
<!-- <a-select show-search placeholder="请输入业务名称搜索" style="width: 35.625rem"
<!-- <a-select show-search placeholder="请输入业务名称搜索" style="width: 35.625rem"
:default-active-first-option="false" :show-arrow="false" :filter-option="false" allowClear
:not-found-content="null" :options="peopleArr" @search="peopelListFn"
@change="handleChange">
</a-select> -->
<a-button type="primary" class="addclass" v-if="!btnShow" @click="startAnalysis">开始分析</a-button>
<a-button type="primary" class="addclass" v-else @click="backBase">返回</a-button>
</div>
</div>
<div class="content_view">
<router-view keep-alive/>
</div>
</div>
</div>
</template>
<a-button
type="primary"
class="addclass"
v-if="!btnShow"
@click="startAnalysis"
>开始分析</a-button
>
<a-button type="primary" class="addclass" v-else @click="backBase"
>返回</a-button
>
</div>
</div>
<div class="content_view">
<router-view keep-alive />
</div>
</div>
</div>
</template>
<script>
import _ from 'lodash';
import axios from 'axios';
import Breadcrumb from "./breadcrumb/index.vue";
export default {
components:{
Breadcrumb
},
data() {
return {
// 搜索框
businessName: '',
dataSource: [],
dataList: [],
btnShow: false,
}
},
mounted() {
this.getList()
},
methods:{
startAnalysis() {
if(!this.businessName){
this.$message.error('请输入业务名称搜索')
}else{
this.$router.push({ path: 'analysiscontent', query:{name: this.businessName}})
this.btnShow= true
}
},
backBase() {
this.$router.push({ path: 'basecontent'})
this.btnShow= false
this.businessName= ''
},
async getList(){
await axios.get('http://192.168.0.98:8090/inter/statistic/busList',{params: {siteid: 1}}).then((res)=>{
if(res && res.status==200){
res.data.data.forEach(item=>{
this.dataList.push(item.name)
})
}
})
},
onSearch: _.debounce(function(val){
this.dataSource= []
this.dataList.forEach(item=>{
if(item.indexOf(val) !== -1){
this.dataSource.push(item)
}
})
}, 1000),
onSelect(val){
this.businessName= val
}
}
}
</script>
import _ from "lodash";
import axios from "axios";
import Breadcrumb from "./breadcrumb/index.vue";
export default {
components: {
Breadcrumb,
},
data() {
return {
// 搜索框
businessName: "",
dataSource: [],
dataList: [],
btnShow: false,
};
},
mounted() {
this.getList();
},
methods: {
startAnalysis() {
if (!this.businessName) {
this.$message.error("请输入业务名称搜索");
} else {
this.$router.push({
path: "analysiscontent",
query: { name: this.businessName },
});
this.btnShow = true;
}
},
backBase() {
this.$router.push({ path: "basecontent" });
this.btnShow = false;
this.businessName = "";
},
async getList() {
await axios
.get("http://192.168.0.98:8090/inter/statistic/busList", {
params: { siteid: 1 },
})
.then((res) => {
if (res && res.status == 200) {
res.data.data.forEach((item) => {
this.dataList.push(item.name);
});
}
});
},
onSearch: _.debounce(function (val) {
this.dataSource = [];
this.dataList.forEach((item) => {
if (item.indexOf(val) !== -1) {
this.dataSource.push(item);
}
});
}, 1000),
onSelect(val) {
this.businessName = val;
},
},
};
</script>
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
}
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
/deep/.ant-tabs-tab {
font-size: 14px !important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
/deep/.ant-tabs-bar{
margin: 0;
}
@headerH: 4.5rem;
.Container {
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
.first_card{
background: #FFF;
margin-bottom: .9375rem;
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
}
.breadMenu{
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
.searchBox{
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
/deep/.ant-tabs-tab {
font-size: 14px !important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
.content_view{
padding: 0 5rem;
/deep/.ant-tabs-bar {
margin: 0;
}
</style>
}
.first_card {
background: #fff;
margin-bottom: 0.9375rem;
}
.breadMenu {
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.searchBox {
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
}
.content_view {
padding: 0 5rem;
}
</style>
\ No newline at end of file
<template>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb />
</div>
<div class="searchBox">
<a-select show-search placeholder="请输入群众名称搜索" style="width: 35.625rem"
:default-active-first-option="false" :show-arrow="false" :filter-option="false" allowClear
:not-found-content="null" :options="peopleArr" @search="peopelListFn"
@change="handleChange"></a-select>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb />
</div>
<div class="searchBox">
<a-space>
<a-select
show-search
placeholder="请输入群众名称搜索"
style="width: 35.625rem"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
allowClear
:not-found-content="null"
:options="peopleArr"
@search="peopelListFn"
@change="handleChange"
></a-select>
<!-- <a-input v-model="peopleName" placeholder="请输入群众名称搜索" style="width: 35.625rem"></a-input> -->
<a-button type="primary" class="addclass" v-if="!btnShow" @click="startAnalysis()">开始分析</a-button>
<a-button type="primary" class="addclass" v-else @click="backBase()">返回</a-button>
</div>
</div>
<div class="content_view">
<router-view keep-alive />
</div>
</div>
</div>
<!-- <a-input v-model="peopleName" placeholder="请输入群众名称搜索" style="width: 35.625rem"></a-input> -->
<a-button
type="primary"
class="addclass"
v-if="!btnShow"
@click="startAnalysis()"
>开始分析</a-button
>
<a-button type="primary" class="addclass" v-else @click="backBase()"
>返回</a-button
>
</a-space>
</div>
</div>
<div class="content_view">
<router-view keep-alive />
</div>
</div>
</div>
</template>
<script>
import Breadcrumb from "./breadcrumb/index.vue";
import { peopelList } from '@/api/userPortrait'
import { peopelList } from "@/api/userPortrait";
export default {
components: {
Breadcrumb
},
data() {
return {
// 搜索框
peopleId: '',
peopleArr: [],
btnShow: false,
}
},
methods: {
//输入框回显
peopelListFn(val) {
this.peopleArr = []
peopelList({ siteid: localStorage.getItem('siteId'), name: val }).then(res => {
if (res.code == 1) {
res.data.forEach(r => {
this.peopleArr.push({
value: r.id,
label: r.idcard_Name + '    ' + r.idcard_IDCardNo,
});
});
}
})
},
handleChange(val) {
this.peopleId = val;
},
startAnalysis() {
if (this.peopleId) {
this.$router.push({ path: 'portrayalAnalysis', query: { peopleid: this.peopleId } })
this.btnShow = true
} else {
this.$message.warning('请选择群众后搜索')
}
},
backBase() {
this.peopleArr = []
this.$router.push({ path: 'portrayalBase' })
this.btnShow = false
},
}
}
components: {
Breadcrumb,
},
data() {
return {
// 搜索框
peopleId: "",
peopleArr: [],
btnShow: false,
};
},
methods: {
//输入框回显
peopelListFn(val) {
this.peopleArr = [];
peopelList({ siteid: localStorage.getItem("siteId"), name: val }).then(
(res) => {
if (res.code == 1) {
res.data.forEach((r) => {
this.peopleArr.push({
value: r.id,
label: r.idcard_Name + "    " + r.idcard_IDCardNo,
});
});
}
}
);
},
handleChange(val) {
this.peopleId = val;
},
startAnalysis() {
if (this.peopleId) {
this.$router.push({
path: "portrayalAnalysis",
query: { peopleid: this.peopleId },
});
this.btnShow = true;
} else {
this.$message.warning("请选择群众后搜索");
}
},
backBase() {
this.peopleArr = [];
this.$router.push({ path: "portrayalBase" });
this.btnShow = false;
},
},
};
</script>
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
/deep/.ant-tabs-tab {
font-size: 14px !important;
/deep/.ant-tabs-tab {
font-size: 14px !important;
&+.ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
/deep/.ant-tabs-bar {
margin: 0;
}
/deep/.ant-tabs-bar {
margin: 0;
}
}
.first_card {
background: #FFF;
margin-bottom: .9375rem;
background: #fff;
margin-bottom: 0.9375rem;
}
.breadMenu {
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.searchBox {
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
}
.content_view {
padding: 0 5rem;
padding: 0 5rem;
}
</style>
......@@ -4,11 +4,11 @@
<Head :title="'预约热度排名'">
<template slot="operation">
<a-range-picker
valueFormat="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
class="range_picker_style"
@change="rangePickerChange"
v-model="BegindAndEndTime"
v-if="day == 5"
v-if="day == 5"
>
</a-range-picker>
<a-select v-model="day">
......@@ -20,7 +20,9 @@
<!-- <a-select-option value="5"> 自定义 </a-select-option> -->
</a-select>
<a-button type="primary" class="addclass" @click="getData">搜索</a-button>
<a-button type="primary" class="addclass" @click="getData"
>搜索</a-button
>
</template>
</Head>
<div class="heat_box" v-if="data">
......@@ -30,11 +32,14 @@
<i>部门名称</i>
<b>预约热度</b>
</li>
<li class="list" v-for="item,index in data.section" :key="index">
<span>NO.{{ index+1 }}</span>
<i>{{item.deptname}}</i>
<li class="list" v-for="(item, index) in data.section" :key="index">
<span>NO.{{ index + 1 }}</span>
<i>{{ item.deptname }}</i>
<b>
<a-progress :percent="item.count" :show-info="false" status="active"
<a-progress
:percent="item.count"
:show-info="false"
status="active"
/></b>
</li>
</ul>
......@@ -44,11 +49,14 @@
<i>事项名称</i>
<b>预约热度</b>
</li>
<li class="list" v-for="item,index in data.matter" :key="index">
<span>NO.{{ index+1 }}</span>
<i>{{item.mattername}}</i>
<li class="list" v-for="(item, index) in data.matter" :key="index">
<span>NO.{{ index + 1 }}</span>
<i>{{ item.mattername }}</i>
<b>
<a-progress :percent="item.count" :show-info="false" status="active"
<a-progress
:percent="item.count"
:show-info="false"
status="active"
/></b>
</li>
</ul>
......@@ -59,37 +67,37 @@
<script>
import Head from "./components/header.vue";
import {getOrderRanking} from '@/api/dataAdmin.js'
import { getOrderRanking } from "@/api/dataAdmin.js";
export default {
name: "PortalAdminVueHeatRanking",
data() {
return {
day:'0',
day: "0",
BegindAndEndTime: [],
data:null
data: null,
};
},
components: {
Head,
},
watch:{
day(val){
if (val != 5) this.BegindAndEndTime = []
}
watch: {
day(val) {
if (val != 5) this.BegindAndEndTime = [];
},
},
mounted() {
this.getData()
this.getData();
},
methods: {
getData(){
getOrderRanking({
selected:this.day == 5 ? null : this.day,
time:this.BegindAndEndTime
}).then(res=>{
this.data = res.data
})
},
getData() {
getOrderRanking({
selected: this.day == 5 ? null : this.day,
time: this.BegindAndEndTime,
}).then((res) => {
this.data = res.data;
});
},
rangePickerChange(val) {
console.log(val);
},
......@@ -99,6 +107,7 @@ export default {
<style lang="less" scoped>
.HeatRanking-Container {
width: 100%;
& > .pm {
.heat_box {
display: flex;
......
......@@ -94,6 +94,7 @@ export default {
<style lang="less" scoped>
@headerH: 4.5rem;
#dataAnalyse-Container {
width: 100%;
height: 100% !important;
background: #eee;
display: flex;
......
......@@ -149,15 +149,15 @@ export default {
// 获取用户常用站点列表
async getCollect() {
let res = await getCollect();
if (res.data.code == 1) {
this.collectList = res.data.data;
if (res.code == 1) {
this.collectList = res.data;
}
},
// 获取站点分类列表
async appsListInterface() {
let res = await appsListInterface({ siteId: this.siteId });
if (res.data.code == 1) {
let { data } = res.data.data;
if (res.code == 1) {
let { data } = res.data;
this.siteModelList = data;
}
},
......@@ -208,7 +208,7 @@ export default {
// this.$message.success("设置成功");
// this.getCollect();
// }
if (res.data.code != 1) {
if (res.code != 1) {
this.getCollect();
}
},
......
......@@ -38,13 +38,13 @@
listArr[active] ? listArr[active].productName : "--"
}}</span>
<span class="count primary">{{
listArr[active].curInfo.length
listArr[active]?.curInfo.length
}}</span>
</div>
<div v-if="listArr[active].curInfo.length > 0">
<div v-if="listArr[active]?.curInfo.length > 0">
<div
class="list flex aic jcb"
v-for="(i, j) in listArr[active].curInfo"
v-for="(i, j) in listArr[active]?.curInfo"
:key="j"
>
<div class="app-name">{{ i.appName }}</div>
......
......@@ -207,6 +207,7 @@ export default {
},
// 获取菜单列表
async getMenuList() {
this.tableLoading = true;
let res = await menuList({
page: this.tablePagination.current,
size: -1,
......@@ -218,10 +219,12 @@ export default {
this.firstStair = data.filter((v) => v.parentId === -1);
let childrens = data.filter((v) => v.parentId !== -1);
this.menusTreeData = this.fliterEvent(this.firstStair, childrens);
this.tableLoading = false;
},
// 搜索
async searchData() {
if (this.searchForm.parentId || this.searchForm.name) {
this.tableLoading = true;
let obj = { ...this.searchForm };
obj.name = "%" + this.searchForm.name + "%";
let res = await menuList({
......@@ -232,6 +235,7 @@ export default {
let { data, total } = res.data;
this.tablePagination.total = total;
this.menusTreeData = data;
this.tableLoading = false;
} else {
this.getMenuList();
}
......
......@@ -139,6 +139,7 @@ export default {
},
methods: {
async getRoleList() {
this.tableLoading = true;
let res = await roleList({
page: this.tablePagination.current, //当前页
size: this.tablePagination.pageSize, //每页条数
......@@ -155,6 +156,7 @@ export default {
this.tableSourceData = data.data;
this.roleDict = dict;
}
this.tableLoading = false;
},
pagTableChange(pag) {
this.tablePagination.current = pag.current;
......
......@@ -197,6 +197,7 @@ export default {
// 获取用户列表
async getUserList() {
this.tableLoading = true;
let realName = "";
let mobile = "";
if (this.userform.searchVal) {
......@@ -227,6 +228,7 @@ export default {
this.tablePagination.total = total;
this.userDict = this.transverter(roleId);
this.tableSourceData = data;
this.tableLoading = false;
},
// 添加用户
......
......@@ -174,6 +174,7 @@ export default {
},
dict: {},
total: 0,
tableLoading: false,
};
},
components: {
......@@ -184,6 +185,7 @@ export default {
},
methods: {
getList() {
this.tableLoading = true;
getInterfaceList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
......@@ -195,8 +197,8 @@ export default {
this.dict = dict;
this.tableSourceData = data;
this.tablePagination.total = total;
return data;
}
this.tableLoading = false;
});
},
QueueState(type) {
......
......@@ -142,6 +142,7 @@ export default {
deveLanguage: {},
isEnable: {},
},
tableLoading: false,
};
},
components: {
......@@ -153,6 +154,7 @@ export default {
},
methods: {
getList(search) {
this.tableLoading = true;
getApps({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
......@@ -164,6 +166,7 @@ export default {
this.dict = dict;
this.tableSourceData = data;
this.tablePagination.total = total;
this.tableLoading = false;
return data;
}
});
......
......@@ -113,6 +113,7 @@ export default {
current: 1,
pageSize: 10,
},
tableLoading: false,
};
},
components: {
......@@ -124,6 +125,7 @@ export default {
},
methods: {
getList(search) {
this.tableLoading = true;
getDocument({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
......@@ -136,6 +138,7 @@ export default {
this.dict = dict;
this.tableSourceData = data;
this.tablePagination.total = total;
this.tableLoading = false;
return data;
}
});
......
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