Browse Source

bi大数据

newStyle
风继续吹 1 year ago
parent
commit
e549627529
5 changed files with 1560 additions and 95 deletions
  1. +31
    -18
      pages.json
  2. +246
    -0
      pages/center/RuleEditing/RuleEditing.vue
  3. +535
    -0
      pages/center/dataBoard/arr.js
  4. +656
    -0
      pages/center/dataBoard/dataBoard.vue
  5. +92
    -77
      pages/index/index.vue

+ 31
- 18
pages.json View File

@@ -3,8 +3,7 @@
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
},
//这个pages里只放这五个页面,新增页面时请对应的放到下面的分包里
"pages": [
{
"pages": [{
"path": "pages/index/guide",
"style": {
"navigationBarBackgroundColor": "#008EF2",
@@ -46,18 +45,18 @@
"navigationBarTextStyle": "white",
"enablePullDownRefresh": true
}
},
},
{
"path": "pages/index/personal",
"style": {
"navigationBarTitleText": "我的",
"navigationBarBackgroundColor": "#F8F8F8",
"navigationStyle":"custom",
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/reportExcel/dayReport",
"style": {
@@ -65,7 +64,7 @@
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/reportExcel/weekReport",
@@ -74,7 +73,7 @@
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}
],
//这下面是分包
@@ -598,8 +597,24 @@
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
}, {
"path": "dataBoard/dataBoard",
"style": {
"navigationBarTitleText": "数据看板",
"enablePullDownRefresh": false
}
}
]
,{
"path" : "RuleEditing/RuleEditing",
"style" :
{
"navigationBarTitleText": "编辑指标",
"enablePullDownRefresh": false
}
}
]
}
],
@@ -657,14 +672,12 @@
"navigationBarTitleText": "AI销讲助手",
"navigationBarTextStyle": "black"
},
"condition" : { //模式配置,仅开发期间生效
"condition": { //模式配置,仅开发期间生效
"current": 0, //当前激活的模式(list 的索引项)
"list": [
{
"name": "访客登记表", //模式名称
"path": "pages/mine/registerForm", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}
]
"list": [{
"name": "访客登记表", //模式名称
"path": "pages/mine/registerForm", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}]
}
}
}

+ 246
- 0
pages/center/RuleEditing/RuleEditing.vue View File

@@ -0,0 +1,246 @@
<template>
<view class="pages">
<!-- 待处理 -->
<view class="grop">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
待处理
</view>
<u-checkbox-group class="grop-box" @change="checkboxGroupChange($event, 'stayPendingProcessingArr')">
<block v-for="(item, index) in stayPendingProcessingArr" :key="index">
<u-checkbox class="grop-box-item" v-model="item.checked" :name="item.title">{{item.title}}
</u-checkbox>
</block>
</u-checkbox-group>
</view>

<!-- 简报指标 -->
<view class="grop">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
简报指标
</view>
<u-checkbox-group class="grop-box" @change="checkboxGroupChange($event, 'ReceptionBriefingArr')">
<block v-for="(item, index) in ReceptionBriefingArr" :key="index">
<u-checkbox class="grop-box-item" v-model="item.checked" :name="item.title">{{item.title}}
</u-checkbox>
</block>
</u-checkbox-group>
</view>

<!-- 指标排名 -->
<view class="grop">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
指标排名
</view>
<u-checkbox-group class="grop-box" :max="groupMax" @change="checkboxGroupChange($event, 'IndexRankingArr')">
<block v-for="(item, index) in IndexRankingArr" :key="index">
<u-checkbox class="grop-box-item" v-model="item.checked" :name="item.title">{{item.title}}
</u-checkbox>
</block>
</u-checkbox-group>
</view>

<!-- 指标趋势 -->
<view class="grop">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
指标趋势
</view>
<u-checkbox-group class="grop-box" :max="groupMax"
@change="checkboxGroupChange($event, 'IndicatorTrendsArr')">
<block v-for="(item, index) in IndicatorTrendsArr" :key="index">
<u-checkbox class="grop-box-item" v-model="item.checked" :name="item.title">{{item.title}}
</u-checkbox>
</block>
</u-checkbox-group>
</view>


<!-- 指标分布 -->
<view class="grop">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
指标分布
</view>
<u-checkbox-group class="grop-box" :max="groupMax"
@change="checkboxGroupChange($event, 'IndicatorDistributionArr')">
<block v-for="(item, index) in IndicatorDistributionArr" :key="index">
<u-checkbox class="grop-box-item" v-model="item.checked" :name="item.title">{{item.title}}
</u-checkbox>
</block>
</u-checkbox-group>
</view>


<view class="save-btn" @click="saveBiRule">
保存
</view>
</view>
</template>

<script>
var util = require("@/utils/util.js");
import * as allArrList from '../dataBoard/arr.js'
export default {
data() {
return {
stayPendingProcessingArr: allArrList.stayPendingProcessingArr, // 待处理
ReceptionBriefingArr: allArrList.ReceptionBriefingArr, // 接待简报
IndexRankingArr: allArrList.IndexRankingArr, // 排名
IndicatorTrendsArr: allArrList.IndicatorTrendsArr, // 排名
IndicatorDistributionArr: allArrList.IndicatorDistributionArr, // 排名
needFormatArr: ['stayPendingProcessingArr', 'ReceptionBriefingArr', 'IndexRankingArr',
'IndicatorTrendsArr', 'IndicatorDistributionArr'
], // 需要格式化的数组
groupMax: 5, // 可选择的最大数量
}
},

onLoad() {
this.biDictionary()
},

methods: {
// 选中任一checkbox时,由checkbox-group触发
checkboxGroupChange(e, params) {},

// 字典
biDictionary() {
this.$u.get('/customer/biDict').then(res => {
console.log(res)
if (res) {
this.needFormatArr.forEach((item, index) => {
this[item] = this[item].map(it => {
return {
...it,
indexType: index
}
})

let arr1 = res.filter(arr => arr.indexType == index)
arr1.map(ie => {
let objs = this[item].findIndex(obj => {
return obj.title == ie.indexName && obj.indexType == ie
.indexType
}) || 0
this[item][objs].id = ie.id || ''
})
})
this.getFindBiByAccountId()
}
})
},

// 回显
getFindBiByAccountId() {
this.$u.get('/customer/findBiByAccountId').then(res => {
console.log(res, 'getFindBiByAccountId')
if (res) {
let arr = [...res.index1.split(','), ...res.index2.split(','), ...res.index3.split(','), ...res.index4.split(','), ...res.index5.split(',')]
console.log(arr)
this.needFormatArr.forEach(item => {
this[item].forEach(items => {
let obj = arr.find(obj => obj == items.id)
if (obj) items.checked = true
else items.checked = false
})
})
}
})
},

// bi看板指标保存
saveBiRule() {
const params = {
index1: '', // 待处理
index2: '', // 简报指标
index3: '', // 指标排名
index4: '', // 指标趋势
index5: '', // 指标分布
accountId: uni.getStorageSync('weapp_session_userInfo_data').accountId || '', // 用户id
}

this.needFormatArr.forEach((ite, index) => {
let arr = this[ite].filter(obj => obj.checked).map(item => {
return item.id
})
params['index' + (index + 1)] = arr.join((',')) || ''
})
console.log(params)
// this.stayPendingProcessingArr
this.$u.post('/customer/bisave', params).then(res => {
console.log(res)
util.showNone("提交成功!");
setTimeout(() => {
uni.navigateBack()
}, 1500)
})
},
}
}
</script>

<style lang="scss" scoped>
.pages {
width: 100vw;
min-height: 100vh;
background: #f2f2f2;
display: flex;
flex-direction: column;

.grop {
margin: 20rpx 0 0 0;
padding: 20rpx;
width: 100%;
background: #fff;


.title {
height: 42rpx;
font-size: 30rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #333333;
line-height: 42rpx;
margin-bottom: 24rpx;
display: flex;
align-items: center;

.title-icon {
width: 12rpx;
height: 20rpx;
margin-right: 18rpx;
}
}

.grop-box {
/deep/.u-checkbox-group {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 20rpx;
}
}
}

.save-btn {
position: sticky;
bottom: 0;
margin: 20rpx 0 0 0;
width: 100%;
height: 90rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 38rpx;
color: #fff;
background: #1890FF;
}
}
</style>

+ 535
- 0
pages/center/dataBoard/arr.js View File

@@ -0,0 +1,535 @@
const stayPendingProcessingArr = [{
title: '录音未开启',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中
},
{
title: '录音未合并',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中
},
{
title: '录音待上传',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中
},
{
title: '违禁待处理',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中
},
{
title: '无效待审核',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '低电设备',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '离线设备',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},

]


const ReceptionBriefingArr = [{
title: '接待量',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '有效接待',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '正在接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '复访接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '违禁接待',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '无录音',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '平均挖掘执行率',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '平均销讲执行率',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '平均客户意向度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值

checked: false, // 是否选中
},
{
title: '平均挖掘成功率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启失败',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均接待时长',
params: '', // 后端定义参数
show: true, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启平均时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均信号强度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
]

const IndexRankingArr = [{
title: '接待量',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '有效接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '正在接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '复访接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '违禁接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '无录音',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均挖掘执行率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均销讲执行率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均客户意向度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均挖掘成功率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启失败',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均接待时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启平均时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均信号强度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
]


const IndicatorTrendsArr = [{
title: '接待量',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '有效接待',
params: '', // 后端定义参数

checked: false, // 是否选中
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
},
{
title: '正在接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '复访接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '违禁接待',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '无录音',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均挖掘执行率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均销讲执行率',
params: '', // 后端定义参数

checked: false, // 是否选中
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
},
{
title: '平均客户意向度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均挖掘成功率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启失败',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均接待时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启平均时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '录音开启率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '平均信号强度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
{
title: '接待质量',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分

checked: false, // 是否选中
data: 0, // 对应展示的值
},
]


const IndicatorDistributionArr = [

{
title: '到访次数',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '无效原因',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '销讲执行率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '接待时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '挖掘执行率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '挖掘成功率',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '客户意向度',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '客户等级',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '录音开启时长',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '不完整录音分布',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
{
title: '离线原因分布',
params: '', // 后端定义参数
show: false, // 是否展示默认展示一部分
data: 0, // 对应展示的值
checked: false, // 是否选中

},
]


export {
stayPendingProcessingArr,
ReceptionBriefingArr,
IndexRankingArr,
IndicatorTrendsArr,
IndicatorDistributionArr,
}

+ 656
- 0
pages/center/dataBoard/dataBoard.vue View File

@@ -0,0 +1,656 @@
<template>
<view class="pages">
<!-- 筛选框 -->
<view class="boxtittabs">
<view class="items" @tap="screenShow = true">{{ showTimeText }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon>
</view>
<view class="items" @tap="showSelect('companyList')">{{ showBeText }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon>
</view>
<view class="items" @tap="showSelect('houseList')">{{ showBeText1 }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon>
</view>
</view>

<!-- 编辑指标 -->
<view class="edit" v-if="CHECKAUTHORITY('biEditTarget')">
<view class="edits" @click="toEdit">
编辑指标
</view>
</view>

<!-- 待处理 -->
<view class="grop">

<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
转写消费
</view>

<view class="grid5">
<block v-for="(item,index) in stayPendingProcessingArr">
<view :key="index" class="real" v-if="item.show">
<view class="realnum">{{item.data || 0}}</view>
<view class="realtext">{{ item.title }}</view>
</view>
</block>
</view>

</view>


<!-- 接待简报 -->
<view class="grop">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
接待简报
</view>

<view class="grid4">
<block v-for="(item,index) in ReceptionBriefingArr">
<view :key="index" class="real" v-if="item.show">
<view class="realnum">{{item.data || 0}}</view>
<view class="realtext">{{ item.title }}</view>
</view>
</block>
</view>
</view>

<!-- 排名柱状图 -->
<block v-for="(item, index) in IndexRankingArr">
<view class="grop" :key="index" v-if="item.show">
<view class="titles">
<view class="lside">
{{item.title}}排名(top10)
</view>
<view class="rside">
<view class="rside-item">
按项目
</view>
<view class="rside-item">
按城市
</view>
</view>
</view>

<view class="echarts">
<template v-if="item.lineOptsect">
<qiun-data-charts :type="item.type" :chartData="item.lineOptsect" :opts="item.lineOpts"
background="none" :ontouch="true" :canvasId="item.canvasId" :canvas2d="true" />
</template>
<template v-else>
<view class="empty">
<view
style="width: 100%;height: 300rpx;display: flex;flex-direction: column;justify-content: center;align-items: center;">
<view style="width: 100%;text-align: center;">
<image style="width: 220rpx;height: 200rpx;"
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode="">
</image>
</view>
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据
</view>
</view>
</view>
</template>
</view>
</view>
</block>


<!-- 趋势折线图 -->
<block v-for="(item, index) in IndicatorTrendsArr">
<view class="grop" :key="index" v-if="item.show">
<view class="titles">
<view class="lside">
{{item.title}}趋势
</view>
</view>

<view class="echarts">
<template v-if="item.lineOptsect">
<qiun-data-charts :type="item.type" :chartData="item.lineOptsect" :opts="item.lineOpts"
background="none" :ontouch="true" :canvasId="item.canvasId" :canvas2d="true" />
</template>
<template v-else>
<view class="empty">
<view
style="width: 100%;height: 300rpx;display: flex;flex-direction: column;justify-content: center;align-items: center;">
<view style="width: 100%;text-align: center;">
<image style="width: 220rpx;height: 200rpx;"
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode="">
</image>
</view>
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据
</view>
</view>
</view>
</template>
</view>
</view>
</block>


<!-- 分布饼图 -->
<block v-for="(item, index) in IndicatorDistributionArr">
<view class="grop" :key="index" v-if="item.show">
<view class="titles">
<view class="lside">
{{item.title}}分布
</view>
</view>

<view class="echarts">
<template v-if="item.lineOptsect">
<qiun-data-charts :type="item.type" :chartData="item.lineOptsect" :opts="item.lineOpts"
background="none" :ontouch="true" :canvasId="item.canvasId" :canvas2d="true" />
</template>
<template v-else>
<view class="empty">
<view
style="width: 100%;height: 300rpx;display: flex;flex-direction: column;justify-content: center;align-items: center;">
<view style="width: 100%;text-align: center;">
<image style="width: 220rpx;height: 200rpx;"
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode="">
</image>
</view>
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据
</view>
</view>
</view>
</template>
</view>
</view>

</block>

<!-- 更多筛选 -->
<u-popup v-model="screenShow" mode="bottom" height="400">
<view class="screen">
<view class="boxtittab">
<view class="tabbox">
<view :class="{ activecllasscet: params.dateType == 0 }" @click="tabtimetap(0, '今天')">今天</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet: params.dateType == 1 }" @click="tabtimetap(1, '近七天')">近七天</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet: params.dateType == 2 }" @click="tabtimetap(2, '近30天')">近30天</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet: params.dateType == null }" @click="tabtimetap(null, '自定义')">自定义
</view>
</view>
</view>
</view>
</u-popup>

<!-- 日期选择器 -->
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>

<!-- 项目&公司 -->
<u-select :mask-close-able="false" label-name="templateName" value-name="id" v-model="showTemplate"
mode="single-column" :list="templateList" @cancel="templateCancel" @confirm="templateConfirm"></u-select>
</view>
</template>

<script>
const config = require("@/config");
import * as allArrList from './arr.js'
export default {
data() {
return {
showTimeText: '今天', // 展示文字
showBeText: '公司', //
showBeText1: '项目', //
showTemplate: false,
screenShow: false, // 日期选择器
templateList: [], // 销讲业务
houseList: [], // 项目列表
companyList: [], // 项目列表
stayPendingProcessingArr: allArrList.stayPendingProcessingArr, // 待处理
ReceptionBriefingArr: allArrList.ReceptionBriefingArr, // 接待简报
IndexRankingArr: allArrList.IndexRankingArr, // 排名
IndicatorTrendsArr: allArrList.IndicatorTrendsArr, // 排名
IndicatorDistributionArr: allArrList.IndicatorDistributionArr, // 排名

params: {
staDate: '', //开启时间
endDate: '', // 结束时间
houseId: '', // 楼盘
orgCode: '', // 公司code
dateType: 0, // 自定义时间 今天0 昨天1 近七天2
},
needFormatArr: ['stayPendingProcessingArr', 'ReceptionBriefingArr', 'IndexRankingArr',
'IndicatorTrendsArr', 'IndicatorDistributionArr'
], // 需要格式化的数组
publicId: '', // 标识区别选择的是公司还是项目
};
},

onLoad() {
this.getHouse()
this.getCompany()
this.initPage()
},


methods: {
// 字典
biDictionary() {
this.$u.get('/customer/biDict').then(res => {
if (res) {
this.needFormatArr.forEach((item, index) => {
this[item] = this[item].map(it => {
return {
...it,
indexType: index
}
})
let arr1 = res.filter(arr => arr.indexType == index)
arr1.map(ie => {
let objs = this[item].findIndex(obj => {
return obj.title == ie.indexName && obj.indexType == ie
.indexType
}) || 0
this[item][objs].id = ie.id || ''
})
})
this.getFindBiByAccountId()
}
})
},
// 回显
getFindBiByAccountId() {
this.$u.get('/customer/findBiByAccountId').then(res => {
if (res) {
let arr = [...res.index1.split(','), ...res.index2.split(','), ...res.index3.split(','), ...res.index4.split(','), ...res.index5.split(',')]
this.needFormatArr.forEach(item => {
this[item].forEach(items => {
let obj = arr.find(obj => obj == items.id)
if (obj) items.show = true
else items.show = false
})
})
}
})
},
async initPage() {
await this.biDictionary()
await this.bishowIndex1()
await this.bishowIndex2()
// await this.bishowIndex3()
await this.bishowIndex4()
},

bishowIndex1() {
this.$u.post('/customer/bishowIndex1', this.params).then(res => {
console.log(res)
if (res) {
this.stayPendingProcessingArr.forEach(item => {
item.data = res[item.id] || 0
})
}
})
},
bishowIndex2() {
this.$u.post('/customer/bishowIndex2', this.params).then(res => {
console.log(res)
if (res) {
this.ReceptionBriefingArr.forEach(item => {
item.data = res[item.id] || 0
})
}
})
},
bishowIndex3() {
this.$u.post('/customer/bishowIndex3', this.params).then(res => {
console.log(res)
// if (res) {
// this.IndexRankingArr.forEach(item => {
// item.data = res[item.id] || 0
// })
// }
})
},
bishowIndex4() {
this.$u.post('/customer/bishowIndex4', this.params).then(res => {
console.log(res)
// if (res) {
// this.IndexRankingArr.forEach(item => {
// item.data = res[item.id] || 0
// })
// }
})
},

toEdit() {
uni.navigateTo({
url: '/pages/center/RuleEditing/RuleEditing'
})
},
showSelect(params) {
this.publicId = params
this.templateList = this[params]
this.showTemplate = true
},
// 获取项目
getHouse() {
uni.request({
url: config.service.getUser,
method: "GET",
header: {
'content-type': 'application/json',
'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token
},
success: (res) => {
this.houseList = res.data.data.houseList.map(item => {
return {
id: item.id,
templateName: item.propertyName,
}
})
}
})
},
// 获取公司
getCompany() {
this.$u.post('/customer/getMyOrg').then(res => {
if (res) {
this.companyList = res.map(item => {
return {
id: item.id,
templateName: item.name
}
})
}
})
},

//时间切换
tabtimetap(index, text) {
this.params.dateType = index;
if (index == null) {
this.totalTimeShow = true;
this.screenShow = false
} else {
this.screenShow = false
this.showTimeText = text
this.params.endDate = ''
this.params.staDate = ''
this.initPage()
}
},
//自定义时间
totalTimeChange(e) {
this.screenShow = false
this.showTimeText = `${e.startDate}-${e.endDate}`
this.params.dateType = null;
this.params.endDate = e.endDate
this.params.staDate = e.startDate
this.initPage()
},

//
templateCancel() {
this.showTemplate = false;
},

//
templateConfirm(e) {
this.showTemplate = false;
if (this.publicId == 'houseList') {
this.showBeText1 = e[0].label
this.params.houseId = e[0].value
} else {
this.showBeText = e[0].label
this.params.orgCode = e[0].value
}
},
},
}
</script>

<style lang="scss" scoped>
.pages {
padding: 0 0 20rpx 0;
width: 100vw;
min-height: 100vh;
background: #f2f2f2;
display: flex;
flex-direction: column;

.boxtittabs {
width: 100%;
height: 92rpx;
background: #FFFFFF;
display: flex;
align-items: center;
position: sticky;
top: var(--window-top);

.items {
padding: 0 24rpx;
width: 50%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.screen {
//时间切换的样式
.boxtittab {
width: 100%;
height: 100%;
background: #FFFFFF;
display: flex;
flex-direction: column;
border: none;
.tabbox {
flex: 1;
height: 100%;
text-align: center;
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
font-weight: 400;
display: flex;
justify-content: center;
.activecllasscet {
width: 96rpx;
color: #2671E2;
font-weight: 600;
border-bottom: 4rpx solid #2671E2;
}
}
}
}

.edit {
margin: 20rpx 0 0 0;
padding: 0 20rpx;
width: 100%;
display: flex;
align-items: center;
justify-content: flex-end;

.edits {
padding: 10rpx 20rpx;
background: #1890FF;
color: #fff;
border-radius: 16rpx;
font-size: 32rpx;
}
}


.grop {
margin: 20rpx 0 0 0;
padding: 20rpx;
width: 100%;
background: #fff;

.title {
height: 42rpx;
font-size: 30rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #333333;
line-height: 42rpx;
margin-bottom: 24rpx;
display: flex;
align-items: center;

.title-icon {
width: 12rpx;
height: 20rpx;
margin-right: 18rpx;
}
}

.titles {
width: 100%;
display: flex;

.lside {
flex-grow: 1;
height: 42rpx;
font-size: 30rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #333333;
line-height: 42rpx;
margin-bottom: 24rpx;
display: flex;
align-items: center;
}

.rside {
flex-shrink: 0;
display: flex;
align-items: center;

.rside-item {
margin: 0 10rpx 0 0;

&.class {
color: #1890FF;
}
}
}
}

.grid5 {
padding: 20rpx 0;
grid-row-gap: 20rpx;

.real {
width: 100%;
height: 100%;

.realnum {
width: 100%;
text-align: center;
height: 50rpx;
font-size: 36rpx;
font-family: SourceHanSansCN-Medium, SourceHanSansCN;
font-weight: bold;
color: #333333;
line-height: 50rpx;

.qushi-icon {
width: 28rpx;
height: 14rpx;
margin-left: 2rpx;
}
}

.realtext {
width: 100%;
text-align: center;
margin-top: 8rpx;
height: 32rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 32rpx;
}
}
}

.grid4 {
padding: 20rpx 0;
grid-row-gap: 20rpx;

.real {
width: 100%;
height: 100%;

.realnum {
width: 100%;
text-align: center;
height: 50rpx;
font-size: 36rpx;
font-family: SourceHanSansCN-Medium, SourceHanSansCN;
font-weight: bold;
color: #333333;
line-height: 50rpx;

.qushi-icon {
width: 28rpx;
height: 14rpx;
margin-left: 2rpx;
}
}

.realtext {
width: 100%;
text-align: center;
margin-top: 8rpx;
height: 32rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 32rpx;
}
}

}
}

.grid5 {
display: grid;
grid-template-columns: repeat(5, 1fr);
}

.grid4 {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
}
</style>

+ 92
- 77
pages/index/index.vue View File

@@ -8,7 +8,7 @@
<view class="Switching4" v-if="buildingishow" @click="piskbuilding()">切换项目</view>
</view>
<view class="title" style="margin-top: 30rpx; display: flex; justify-content: space-between;"
v-if="permissions.myisshebei">
v-if="permissions.wdsb">
<view class="gongpai">
我的工牌:{{imeiCode||'未绑定'}}
</view>
@@ -16,7 +16,7 @@
{{openFlag=='start'?'接待中':''}}
</view>
</view>
<view v-if="permissions.myisshebei" style="margin-bottom: 20rpx">
<view v-if="permissions.wdsb" style="margin-bottom: 20rpx">
<view class="Workcard" v-if="Whetheroffline">
<view class="Workcard-box">
<view class="Workcardimg">
@@ -100,7 +100,7 @@
</view>
</template>
<!-- 设备总览 -->
<view class="contbox" v-if="permissions.shebeinum">
<view class="contbox" v-if="permissions.sbtj">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
@@ -127,7 +127,7 @@

</view>
<!-- 今日工作 -->
<view class="contbox" v-if="permissions.shishinum">
<view class="contbox" v-if="permissions.sstj">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />今日工作
@@ -186,7 +186,7 @@
</view>
</view>
<!-- 近30天 -->
<view class="contbox" v-if="permissions.jileinum">
<view class="contbox" v-if="permissions.gzlj">
<view class="title">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />
@@ -206,13 +206,13 @@
<view class="realnum">{{Thisweekobj.activeCustomer|| 0}}</view>
<view class="realtext">有效接待</view>
</view>
<view class="real" @click="tapjumpreception(checkParams('44'))">
<view class="realnum">{{Thisweekobj.tagCustomer || 0}}</view>
<view class="realtext">未标顾问</view>
</view>

<view class="real" @click="prohibitedtap(2)" v-if="methodsisshow">
<view class="realnum" style="color: red;">{{Thisweekobj.prohibitedCustomer || 0}}</view>
@@ -247,26 +247,26 @@
</view>
<!-- 常用功能 -->
<view class="contbox">
<view class="title" v-if="permissions.commonly2||permissions.commonly3||permissions.commonly10">
<view class="title" v-if="hospitalityShow">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />接待管理
</view>
<view class="commonly-box">
<view class="commonly" @click="Piabodata('接待记录')" v-if="permissions.commonly2">
<view class="commonly" @click="Piabodata('接待记录')" v-if="permissions.jdjl">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/4649b5bd19124afca0f1a809f93bfd73.png" mode=""></image>
</view>
<view class="commonly-text">接待记录</view>
</view>
<view class="commonly" @click="Piabodata('违禁记录')" v-if="permissions.commonly3">
<view class="commonly" @click="Piabodata('违禁记录')" v-if="permissions.wjjl">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/b1dd1da2a969465bbbf41818320b8487.png" mode=""></image>
</view>
<view class="commonly-text">违禁记录</view>
</view>
<view class="commonly" @click="toUserinsightinto()" v-if="permissions.commonly10">
<view class="commonly" @click="toUserinsightinto()" v-if="permissions.tddb">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/c2c2e1af3d5f41d180ec55a04a5d4f26.png" mode=""></image>
@@ -274,34 +274,35 @@
<view class="commonly-text">客户画像</view>
</view>
</view>
<view class="title"
v-if="permissions.commonly4||permissions.commonly8||permissions.commonly7||permissions.commonly9">


<view class="title" v-if="dataAnalysisShow">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />数据分析
</view>
<view class="commonly-box">
<view class="commonly" @click="Piabodata('销讲分析')" v-if="permissions.commonly4">
<view class="commonly" @click="Piabodata('销讲分析')" v-if="permissions.xjfx">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/1f01dfa38203493b88d9668a506fdff3.png" mode=""></image>
</view>
<view class="commonly-text">销讲分析</view>
</view>
<view class="commonly" @click="toTrendAnalysis()" v-if="permissions.commonly8">
<view class="commonly" @click="toTrendAnalysis()" v-if="permissions.lpdb">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/df070b1a2d5e48359c7de5654e4f7a17.png" mode=""></image>
</view>
<view class="commonly-text">销讲趋势</view>
</view>
<view class="commonly" @click="Piabodata('顾问排名')" v-if="permissions.commonly7">
<view class="commonly" @click="Piabodata('顾问排名')" v-if="permissions.gwpm">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/f5a6b2d6032348a1b256cfd7083be436.png" mode=""></image>
</view>
<view class="commonly-text">顾问排名</view>
</view>
<view class="commonly" @click="toStaffAnalysis()" v-if="permissions.commonly9">
<view class="commonly" @click="toStaffAnalysis()" v-if="permissions.xjqs">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/c2d3801540cf4880a68cce0e04eb59b0.png" mode=""></image>
@@ -315,35 +316,52 @@
</view>
<view class="commonly-text">需求挖掘分析</view>
</view>

<view class="commonly" @click="toDataBoard" v-if="permissions.sjkb_sy">
<view class="commonly-img">
<image class="commonly-img1" src="https://static.quhouse.com/20230523104819.jpg" mode="">
</image>
</view>
<view class="commonly-text">数据看板</view>
</view>

<view class="commonly" @click="toRequireAnalysis()" v-if="permissions.xmyj_sy">
<view class="commonly-img">
<image class="commonly-img1" src="https://static.quhouse.com/20230523104803.jpg" mode="">
</image>
</view>
<view class="commonly-text">项目预警</view>
</view>

</view>
<view class="title"
v-if="permissions.commonly11||permissions.commonly12||permissions.commonly5||permissions.commonly6">


<view class="title" v-if="teamManagementShow">
<image class="title-icon" src="https://static.quhouse.com/bc2ec951ad9a47e5bf58f2829926e143.png"
mode="" />团队管理
</view>
<view class="commonly-box">
<view class="commonly" @click="Theteamcompared()" v-if="permissions.commonly11">
<view class="commonly" @click="Theteamcompared()" v-if="permissions.gwnl">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/4f5a3a61c06a4508a806eb290ef678e6.png" mode=""></image>
</view>
<view class="commonly-text">团队对比</view>
</view>
<view class="commonly" @click="Groupcontrast()" v-if="permissions.commonly12">
<view class="commonly" @click="Groupcontrast()" v-if="permissions.yhhx">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/759c2e3240e54213827196559ce38fa4.png" mode=""></image>
</view>
<view class="commonly-text">集团对比</view>
</view> <view class="commonly-text">集团对比</view>
</view>
<view class="commonly" @click="Piabodata('设备管理')" v-if="permissions.commonly5">
<view class="commonly" @click="Piabodata('设备管理')" v-if="permissions.sbgl">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/e617133ecbbd46498e30719444fc02e8.png" mode=""></image>
</view>
<view class="commonly-text">设备管理</view>
</view>
<view class="commonly" @click="Piabodata('值班顾问')" v-if="permissions.commonly6">
<view class="commonly" @click="Piabodata('值班顾问')" v-if="permissions.zbgw">
<view class="commonly-img">
<image class="commonly-img1"
src="https://static.quhouse.com/196fcbc7f6aa456cb9dff22cd3753445.png" mode=""></image>
@@ -438,30 +456,34 @@
totalTimeShow: false,
statDateStart: '',
statDateEnd: '',
permissions: {
commonly1: false,
commonly2: false,
commonly3: false,
commonly4: false,
commonly5: false,
commonly6: false,
commonly7: false,
myisshebei: false,
shebeinum: false,
shishinum: false,
jileinum: false
},

// 标记顾问 bjgw
// 接待无效标记 jdwxbj
// 设为优秀案例 swyxal
// 常错词 ccc
// 校准 xz
// 查看违禁执行 ckwjzx
permissions: {}, // 权限菜单
paraphraseObj: {}, // 转写消费
};
},

components: {},

computed: {
// 团队管理
teamManagementShow() {
let permissions = this.permissions
return permissions.gwnl || permissions.yhhx || permissions.sbgl || permissions.zbgw
},

// 数据分析
dataAnalysisShow() {
let permissions = this.permissions
return permissions.xjfx || permissions.lpdb || permissions.gwpm || permissions.xjqs || permissions
.sjkb_sy || permissions.xmyj_sy
},
// 接待管理
hospitalityShow() {
let permissions = this.permissions
return permissions.jdjl||permissions.wjjl||permissions.tddb
},
},

onLoad() {
this.LOADING = true
this.sendLog({
@@ -578,14 +600,22 @@
})
}
},


// 数据看板
toDataBoard() {
uni.navigateTo({
url: '/pages/center/dataBoard/dataBoard'
});
},

// 需求挖掘分析
toRequireAnalysis() {
uni.navigateTo({
url: '/pages/center/Piabodata/requireminingAnalysis'
});
},
updateInit() {
this.$u.get(config.service.notReadNum, {
id: uni.getStorageSync('weapp_session_userInfo_data').accountId,
@@ -610,7 +640,7 @@
},

indexStatus(i) {
if (this.permissions.commonly5 == true) {
if (this.permissions.sbgl == true) {
if (i == 0) {
uni.switchTab({
url: "/pages/index/customer"
@@ -655,25 +685,9 @@
let rescor = data.data;
if (rescor.code == 0) {
uni.setStorageSync("weapp_session_Menu_data", rescor.data)
let newmenulist = uni.getStorageSync('weapp_session_Menu_data');
this.permissions.commonly1 = newmenulist.khgl;
this.permissions.commonly2 = newmenulist.jdjl;
this.permissions.commonly3 = newmenulist.wjjl;
this.permissions.commonly4 = newmenulist.xjfx;
this.permissions.commonly5 = newmenulist.sbgl;
this.permissions.commonly6 = newmenulist.zbgw;
this.permissions.commonly7 = newmenulist.gwpm;

this.permissions.commonly8 = newmenulist.lpdb;
this.permissions.commonly9 = newmenulist.xjqs;
this.permissions.commonly10 = newmenulist.tddb;
this.permissions.commonly11 = newmenulist.gwnl;
this.permissions.commonly12 = newmenulist.yhhx;

this.permissions.myisshebei = newmenulist.wdsb;
this.permissions.shebeinum = newmenulist.sbtj;
this.permissions.shishinum = newmenulist.sstj;
this.permissions.jileinum = newmenulist.gzlj;
console.log(rescor.data, '这里')
this.permissions = rescor.data;
console.log(this.permissions, '这里per')
}
}
})
@@ -877,7 +891,7 @@
this.Showhiddenunits = false;
},
tapjumpequipment(i) {
if (this.permissions.commonly5 == true) {
if (this.permissions.sbgl == true) {
uni.navigateTo({
url: '/pages/mine/equipment/index?active=' + i
});
@@ -907,7 +921,7 @@
}
}
},
// 跳转参数
checkParams(i) {
let str = ''
@@ -950,29 +964,30 @@
} else if (this.zhixingcenterindex == 6) {
str = '&activeTotal=3&validInvalid=0&markAdvisor=0'
} else {
str = `&activeTotal=4&staTime=${this.statDateStart}&endtime=${this.statDateEnd}&validInvalid=0&markAdvisor=0`
str =
`&activeTotal=4&staTime=${this.statDateStart}&endtime=${this.statDateEnd}&validInvalid=0&markAdvisor=0`
}
break;
default:
str = '&activeTotal=0&markAdvisor=0'
break;
}
return str
},
// 跳转
tapjumpreception(params) {
// 校验是否有权限
if (this.permissions.commonly2) {
if (this.permissions.jdjl) {
uni.navigateTo({
url: `/pages/center/records/index?refresh=refresh${params}`
});
}
},
// tapjumpreception(i) {
// if (this.permissions.commonly2 == true) {
// if (this.permissions.jdjl == true) {
// if (i == 1) {
// uni.navigateTo({
// url: '/pages/center/records/index?refresh=refresh&activeTotal=0&validInvalid=0'
@@ -1041,7 +1056,7 @@
// }
// }
// },
//集团对比
Groupcontrast() {
uni.navigateTo({


Loading…
Cancel
Save