You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

847 line
22 KiB

  1. <template>
  2. <view class="box">
  3. <view class="boxtittabs">
  4. <div class="items" @tap="screenShow = true">{{ showTimeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div>
  5. <div class="items" @tap="showTemplate = true">{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div>
  6. </view>
  7. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  8. <view class="Piabodata-box">
  9. <view class="Piabodata" @click="toTrendAnalysis()">
  10. <view class="Piabodata-img">
  11. <image class="Piabodata-img1" src="../../../static/images/qushi.png" mode=""></image>
  12. </view>
  13. <view class="Piabodata-text">趋势分析</view>
  14. </view>
  15. <view class="Piabodata" @click="toStaffAnalysis()">
  16. <view class="Piabodata-img">
  17. <image class="Piabodata-img1" src="../../../static/images/yuangong.png" mode=""></image>
  18. </view>
  19. <view class="Piabodata-text">员工分析</view>
  20. </view>
  21. <view class="Piabodata" @click="toUserinsightinto()">
  22. <view class="Piabodata-img">
  23. <image class="Piabodata-img1" src="../../../static/images/yinghu.png" mode=""></image>
  24. </view>
  25. <view class="Piabodata-text">用户洞察</view>
  26. </view>
  27. <view class="Piabodata" @click="Theteamcompared()" v-if="Theteamcomparedisshow">
  28. <view class="Piabodata-img">
  29. <image class="Piabodata-img1" src="../../../static/images/tuandui.png" mode=""></image>
  30. </view>
  31. <view class="Piabodata-text">团队对比</view>
  32. </view>
  33. <view class="Piabodata" @click="Groupcontrast()" v-if="Groupcontrastisshow">
  34. <view class="Piabodata-img">
  35. <image class="Piabodata-img1" src="../../../static/images/jituan.png" mode=""></image>
  36. </view>
  37. <view class="Piabodata-text">集团对比</view>
  38. </view>
  39. <view class="Piabodata" @click="towajue()">
  40. <view class="Piabodata-img">
  41. <image class="Piabodata-img1" src="../../../static/images/qushi.png" mode=""></image>
  42. </view>
  43. <view class="Piabodata-text">需求挖掘分析</view>
  44. </view>
  45. </view>
  46. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  47. <view class="boxzonglan" style="min-height: 400rpx;">
  48. <view class="zonglantit">简报</view>
  49. <view class="zonglanbox">
  50. <view class="grid" v-for="(item,index) in numlist" :key="index">
  51. <view class="audonum">{{item.name}}</view>
  52. <view class="num">{{item.num}}</view>
  53. </view>
  54. </view>
  55. </view>
  56. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  57. <view class="single">
  58. <view class="title">
  59. <view class="title1">接待趋势</view>
  60. </view>
  61. <view class="swiper-box">
  62. <u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="600" :current="bocindex"
  63. @change="tapspagek2()" inactive-color="#b1b1b1" active-color="#008ef2" :list="newlistoj1"
  64. :is-scroll="true">
  65. </u-tabs-swiper>
  66. </view>
  67. <!-- <view class="hejibox">
  68. <view class="heji">合计:50</view>
  69. <view class="heji">均值:25</view>
  70. </view> -->
  71. <view class="danwei">{{danwei}} </view>
  72. <view class="uchaserbox">
  73. <template v-if="danwei == '单位(%)'">
  74. <qiun-data-charts type="line" :chartData="lineOptsect" :opts="lineOpts" background="none"
  75. :ontouch="true" canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
  76. </template>
  77. <template v-else>
  78. <qiun-data-charts type="line" :chartData="lineOptsect" background="none" :ontouch="true"
  79. canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
  80. </template>
  81. </view>
  82. </view>
  83. <view class="" v-if="teamFlag">
  84. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  85. <view class="single">
  86. <view class="title" @click="staffShow1=true">
  87. <view class="title1">团队接待趋势</view>
  88. <view class="title2">
  89. <view class="title2-che" style="width: 220rpx;display: flex;align-items: center;">
  90. <text
  91. style="flex-grow: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">{{team.label}}</text>
  92. <image style="flex-shrink: 0;" class="righttochoose"
  93. src="../../../static/images/righttochoose.png" mode=""></image>
  94. </view>
  95. </view>
  96. </view>
  97. <view class="danwei">单位(%)</view>
  98. <view class="uchaserbox">
  99. <qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
  100. canvasId="wangxiaohuaerlineryiliwuyibao" :canvas2d="true" :opts="lineOpts" />
  101. </view>
  102. </view>
  103. </view>
  104. <view class="" v-if="staffFlag">
  105. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  106. <view class="single">
  107. <view class="title">
  108. <view class="title1">员工接待趋势</view>
  109. <view class="title2" @click="staffShow=true">
  110. <view class="title2-che" style="width: 220rpx;">{{staff.label}}
  111. <image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
  112. </view>
  113. </view>
  114. </view>
  115. <view class="danwei">单位(%)</view>
  116. <view class="uchaserbox">
  117. <qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
  118. canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" :opts="lineOpts" />
  119. </view>
  120. </view>
  121. </view>
  122. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  123. <view class="single">
  124. <view class="title">
  125. <view class="title1">场景触达分析</view>
  126. </view>
  127. <view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;"
  128. v-if="newlisttabinfo.length==0">暂无数据</view>
  129. <view v-else class="jindu" style="margin-top: 20rpx;">
  130. <scroll-view style="height: 300rpx;" scroll-y="true">
  131. <view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index">
  132. <view class="jindu-boxche">
  133. <view class="jindu-name">{{item.name.substring(0, 4)}}</view>
  134. <view style="width: 440rpx;margin-left: 10rpx;">
  135. <u-line-progress height="24" :show-percent="false" active-color="#4FC78F"
  136. :percent="item.zxl"></u-line-progress>
  137. </view>
  138. <view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}%</view>
  139. </view>
  140. </view>
  141. </scroll-view>
  142. </view>
  143. </view>
  144. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  145. <view class="single">
  146. <view class="title">
  147. <view class="title1">销讲指标执行率</view>
  148. </view>
  149. <view class="swiper-box">
  150. <u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="600" :current="bocindex1"
  151. @change="tapspagek3" inactive-color="#b1b1b1" active-color="#008ef2" :list="newlistoj"
  152. :is-scroll="true">
  153. </u-tabs-swiper>
  154. </view>
  155. <view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;"
  156. v-if="newlisttabinfo1.length==0">暂无数据</view>
  157. <view class="jindu" v-else>
  158. <scroll-view style="height: 300rpx;" scroll-y="true">
  159. <view class="jindu-box" v-for="(item,index) in newlisttabinfo1" :key="index">
  160. <view class="jindu-boxche">
  161. <view class="jindu-name">{{item.name.substring(0, 4)}}</view>
  162. <view style="width: 440rpx;margin-left: 10rpx;">
  163. <u-line-progress height="24" :show-percent="false" active-color="#4FC78F"
  164. :percent="item.zxl"></u-line-progress>
  165. </view>
  166. <view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}%</view>
  167. </view>
  168. </view>
  169. </scroll-view>
  170. </view>
  171. </view>
  172. <u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
  173. <u-select v-model="staffShow" :list="staffList" @confirm="staffSelectCallback($event,0)"
  174. :default-value='selindex'></u-select>
  175. <u-select v-model="staffShow1" :list="teamList" @confirm="staffSelectCallback($event,1)"
  176. :default-value='selindex'></u-select>
  177. <!-- 更多筛选 -->
  178. <u-popup v-model="screenShow" mode="bottom" height="368">
  179. <view class="screen">
  180. <view class="boxtittab">
  181. <view class="tabbox">
  182. <view :class="{ activecllasscet: activeTotal == 4 }" @click="tabtimetap(4, '近七天')">近七天</view>
  183. </view>
  184. <view class="tabbox">
  185. <view :class="{ activecllasscet: activeTotal == 5 }" @click="tabtimetap(5, '近15天')">近15天</view>
  186. </view>
  187. <view class="tabbox">
  188. <view :class="{ activecllasscet: activeTotal == 6 }" @click="tabtimetap(6, '近30天')">近30天</view>
  189. </view>
  190. <view class="tabbox">
  191. <view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3, '自定义')">自定义</view>
  192. </view>
  193. </view>
  194. </view>
  195. </u-popup>
  196. <!-- 销讲业务 -->
  197. <u-select :mask-close-able="false" label-name="templateName" value-name="id" v-model="showTemplate"
  198. mode="single-column" :list="templateList" @cancel="templateCancel" @confirm="templateConfirm"></u-select>
  199. <!-- 加载组件 -->
  200. <loading v-model="LOADING"></loading>
  201. </view>
  202. </template>
  203. <script>
  204. var app = getApp();
  205. var config = require("../../../config");
  206. import loading from "@/components/loading/index.vue"
  207. export default {
  208. components: {
  209. loading
  210. },
  211. data() {
  212. return {
  213. activeTotal: 4,
  214. activeTotal2: 0,
  215. houseId: '',
  216. timeobj: {
  217. statDateStart: '',
  218. statDateEnd: ''
  219. },
  220. // 员工列表
  221. staffList: [],
  222. // 团队列表
  223. teamList: [],
  224. staffShow: false,
  225. staff: {
  226. value: '',
  227. label: ''
  228. },
  229. team: {
  230. value: '',
  231. label: ''
  232. },
  233. teamFlag: true,
  234. bocindex1: 0,
  235. staffFlag: true,
  236. staffShow1: false,
  237. lastStartDate: '',
  238. lastEndDate: '',
  239. allnum: '',
  240. allavg: '',
  241. allnum1: '',
  242. allavg1: '',
  243. danwei: '单位(次)',
  244. totalTimeShow: false,
  245. activeTab: 0,
  246. numlist: [{
  247. name: '接待量',
  248. num: '',
  249. setName: 'sumCustomer'
  250. }, {
  251. name: '有效接待',
  252. num: '',
  253. setName: 'receptionCount'
  254. },
  255. {
  256. name: '平均执行率',
  257. num: '',
  258. setName: 'fraction'
  259. },
  260. {
  261. name: '平均接待时长',
  262. num: '',
  263. setName: 'sumDuration'
  264. },
  265. ],
  266. lineOptsect: {
  267. "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
  268. "series": [{
  269. "name": "成交量",
  270. "data": [35, 8, 25, 37, 4, 20]
  271. }]
  272. },
  273. lineOptsect1: {
  274. "categories": [],
  275. "series": []
  276. },
  277. lineOptsect2: {
  278. "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
  279. "series": [{
  280. "name": "成交量",
  281. "data": [35, 8, 25, 37, 4, 20]
  282. }]
  283. },
  284. newlistoj: [],
  285. newlistoj1: [{
  286. name: "接待量",
  287. id: 3,
  288. title: '单位(个)',
  289. setName: 'sumCustomer'
  290. },
  291. {
  292. name: "有效接待",
  293. id: 1,
  294. title: '单位(次)',
  295. setName: 'receptionCount'
  296. },
  297. {
  298. name: "平均执行率",
  299. id: 2,
  300. title: '单位(%)',
  301. setName: 'fraction'
  302. },
  303. {
  304. name: "平均接待时长",
  305. id: 5,
  306. title: '单位(min)',
  307. setName: 'sumDuration'
  308. },
  309. ],
  310. bocindex: 0,
  311. newlisttabinfo: [{
  312. name: '接待量',
  313. zxl: '10'
  314. },
  315. {
  316. name: '平均执行率',
  317. zxl: '50'
  318. },
  319. {
  320. name: '接待客户',
  321. zxl: '80'
  322. },
  323. ],
  324. newlisttabinfo1: [],
  325. Theteamcomparedisshow: false,
  326. Groupcontrastisshow: false,
  327. allechar: [],
  328. allList: [],
  329. lineOpts: {
  330. yAxis: {
  331. data: [{
  332. max: 100,
  333. min: 0,
  334. }]
  335. }
  336. },
  337. screenShow: false, // 时间筛选弹窗
  338. showTimeText: '近七天', // 展示文字
  339. showBeText: '全部业务', //
  340. templateList: [], // 销讲业务
  341. showTemplate: false, // 展示选择销讲业务弹窗
  342. marketingBusiness: '', // 选择的业务id
  343. };
  344. },
  345. onShow() {
  346. this.LOADING = true
  347. // 获取项目id
  348. this.houseId = uni.getStorageSync('buildingID').id;
  349. // 获取数据看板
  350. this.getMarketingBusiness()
  351. // 获取员工
  352. this.getStaffList()
  353. // 获取团队
  354. this.getSectionList()
  355. // 获取团队是否显示权限
  356. this.queryHaveDept()
  357. // 获取简报
  358. this.getReport()
  359. // 获取接待趋势
  360. this.getRtrent()
  361. // 获取维度
  362. this.getindexZxl()
  363. },
  364. onPullDownRefresh() {
  365. this.getMarketingBusiness()
  366. // 获取员工
  367. this.getStaffList()
  368. // 获取团队
  369. this.getSectionList()
  370. // 获取团队是否显示权限
  371. // 获取简报
  372. this.getReport()
  373. // 获取接待趋势
  374. this.getRtrent()
  375. // 获取维度
  376. this.getindexZxl()
  377. setTimeout(function() {
  378. uni.stopPullDownRefresh();
  379. }, 1000);
  380. },
  381. methods: {
  382. // 销讲业务方法
  383. templateCancel() {
  384. this.showTemplate = false;
  385. },
  386. // 确认选择销讲业务
  387. templateConfirm(e) {
  388. this.showTemplate = false;
  389. this.marketingBusiness = e[0].value
  390. this.showBeText = e[0].label
  391. this.getdata()
  392. },
  393. // 获取销讲业务
  394. getMarketingBusiness() {
  395. this.$u.get('/customer/marketingBusiness', {
  396. houseId: uni.getStorageSync('buildingID').id,
  397. }).then(res => {
  398. this.templateList = res
  399. this.templateList.unshift({
  400. templateName: '全部业务',
  401. id: ''
  402. })
  403. })
  404. },
  405. towajue() {
  406. uni.navigateTo({
  407. url: "/pages/center/Piabodata/requireminingAnalysis"
  408. })
  409. },
  410. queryHaveDept() {
  411. return new Promise((resolve, reject) => {
  412. this.$u.get("/user/queryHaveDept?houseId=" + this.houseId).then(res => {
  413. this.permissions(res)
  414. })
  415. })
  416. },
  417. permissions(res) {
  418. if (res == 1) {
  419. this.Theteamcomparedisshow = false;
  420. this.Groupcontrastisshow = false;
  421. return
  422. }
  423. let totle = uni.getStorageSync('weapp_session_userInfo_data').total;
  424. if (totle == 1) {
  425. this.Theteamcomparedisshow = true;
  426. this.Groupcontrastisshow = false;
  427. } else {
  428. this.Theteamcomparedisshow = true;
  429. this.Groupcontrastisshow = true;
  430. }
  431. },
  432. // 获取员工列表
  433. getStaffList() {
  434. this.$u.post('/cusLvStatistics/selectAllAccountIdByHouseId', {
  435. houseId: this.houseId
  436. })
  437. .then(res => {
  438. // console.log(res,'123')
  439. this.staffList = []
  440. res.map(item => {
  441. let obj = {}
  442. obj.value = item.accountId
  443. obj.label = item.name
  444. this.staffList.push(obj)
  445. })
  446. this.staff = this.staffList[0]
  447. this.getAward()
  448. })
  449. },
  450. // 获取接待趋势
  451. getRtrent() {
  452. this.$u.post('/cusLvStatistics/receptionTrend', {
  453. houseId: this.houseId,
  454. timeType: this.lastEndDate ? null : this.activeTotal,
  455. lastEndDate: this.lastEndDate,
  456. lastStartDate: this.lastStartDate,
  457. marketingBusiness: this.marketingBusiness,
  458. })
  459. .then(res => {
  460. // console.log(res)
  461. this.allechar = res
  462. this.tapspagek2(this.bocindex)
  463. })
  464. },
  465. // 销奖维度
  466. getindexZxl() {
  467. this.$u.post('/cusLvStatistics/indexZxl', {
  468. houseId: this.houseId,
  469. timeType: this.lastEndDate ? null : this.activeTotal,
  470. lastEndDate: this.lastEndDate,
  471. lastStartDate: this.lastStartDate,
  472. marketingBusiness: this.marketingBusiness,
  473. })
  474. .then(res => {
  475. this.LOADING = false
  476. // console.log(res)
  477. // 处理销奖维度执行率
  478. // this.newlisttabinfo
  479. let arr = []
  480. this.newlistoj = []
  481. res.list.map((item, index) => {
  482. arr.push({
  483. name: item.name,
  484. zxl: item.zxl
  485. })
  486. this.newlistoj.push({
  487. name: item.name,
  488. id: index
  489. })
  490. })
  491. this.newlisttabinfo = arr
  492. this.allList = res.list
  493. this.tapspagek3(this.bocindex1)
  494. }).catch(e => {
  495. this.LOADING = false
  496. })
  497. },
  498. // 获取简报
  499. getReport() {
  500. this.$u.post('/cusLvStatistics/xiaojiangAnalysis', {
  501. houseId: this.houseId,
  502. timeType: this.lastEndDate ? null : this.activeTotal,
  503. lastEndDate: this.lastEndDate,
  504. lastStartDate: this.lastStartDate,
  505. marketingBusiness: this.marketingBusiness,
  506. })
  507. .then(res => {
  508. res.sumDuration = Math.floor(res.sumDuration / 60) || 0
  509. res.fraction = (res.fraction > 100 ? 100 : (res.fraction || 0)) + '%'
  510. this.numlist.map(item => {
  511. item.num = res[item.setName]
  512. })
  513. })
  514. },
  515. // 获取团队列表
  516. getSectionList() {
  517. this.$u.post('/cusLvStatistics/findAllDeptIdByHouseId', {
  518. houseId: this.houseId
  519. })
  520. .then(res => {
  521. this.teamList = []
  522. res.map(item => {
  523. let obj = {}
  524. obj.value = item.deptId
  525. obj.label = item.deptName
  526. this.teamList.push(obj)
  527. })
  528. this.team = this.teamList[0]
  529. this.receptionCountList()
  530. })
  531. },
  532. // 员工销奖趋势
  533. getAward() {
  534. if (this.staffList.length == 0) {
  535. this.staffFlag = false
  536. this.$forceUpdate()
  537. return
  538. }
  539. this.$u.post('/cusLvStatistics/employeeAnalysisExacutiveRate', {
  540. userA: this.staff.value,
  541. userB: '',
  542. houseId: this.houseId,
  543. timeType: this.lastEndDate ? null : this.activeTotal + '',
  544. lastEndDate: this.lastEndDate,
  545. lastStartDate: this.lastStartDate,
  546. marketingBusiness: this.marketingBusiness,
  547. })
  548. .then(res => {
  549. this.allnum1 = res.avg[0]
  550. this.allavg1 = res.avg[1]
  551. // console.log(res)
  552. let first = res.first
  553. let second = res.second
  554. this.lineOptsect2.categories = []
  555. this.lineOptsect2.series = [{
  556. name: first[0].accountName,
  557. data: []
  558. }]
  559. first.map(item => {
  560. this.lineOptsect2.categories.push(item.statDate.slice(5, 10))
  561. this.lineOptsect2.series[0].data.push(item.sumFraction)
  562. })
  563. })
  564. },
  565. // 团队接待趋势
  566. receptionCountList() {
  567. if (this.teamList.length == 0) {
  568. this.teamFlag = false
  569. this.$forceUpdate()
  570. return
  571. }
  572. this.$u.post('/cusLvStatistics/teamAnalysisExecutionRate', {
  573. deptIds: this.team.value,
  574. showRank: 1,
  575. houseId: this.houseId,
  576. timeType: this.lastEndDate ? null : this.activeTotal + '',
  577. lastEndDate: this.lastEndDate,
  578. lastStartDate: this.lastStartDate,
  579. marketingBusiness: this.marketingBusiness,
  580. })
  581. .then(res => {
  582. // console.log(res)
  583. let result = res.result
  584. this.allnum = res.avg[0]
  585. this.allavg = res.avg[1]
  586. // 当选择趋势时
  587. this.lineOptsect1 = {}
  588. let allobj = {
  589. categories: [],
  590. series: []
  591. }
  592. // 先处理时间
  593. // 当选择全部时
  594. // 当选择只有一个时
  595. let obj = {}
  596. obj.data = []
  597. obj.name = result[0][0].deptName
  598. result[0].map(item => {
  599. allobj.categories.push(item.statDate.slice(5, 10))
  600. obj.data.push(item.data)
  601. })
  602. allobj.series.push(obj)
  603. this.lineOptsect1 = allobj
  604. })
  605. },
  606. //时间切换
  607. tabtimetap(index, text) {
  608. if (index == 3) {
  609. this.totalTimeShow = true;
  610. this.screenShow = false
  611. } else {
  612. this.screenShow = false
  613. this.showTimeText = text
  614. this.activeTotal = index;
  615. this.lastEndDate = ''
  616. this.lastStartDate = ''
  617. this.getdata()
  618. }
  619. },
  620. // 获取数据
  621. getdata() {
  622. this.receptionCountList()
  623. this.getReport()
  624. this.getRtrent()
  625. this.getindexZxl()
  626. this.getAward()
  627. },
  628. staffSelectCallback(e, idx) {
  629. if (idx == 0) {
  630. this.staff = e[0]
  631. this.getAward()
  632. } else {
  633. this.team = e[0]
  634. this.receptionCountList()
  635. }
  636. // console.log(e,idx)
  637. },
  638. //自定义时间
  639. totalTimeChange(e) {
  640. console.log(e.startDate, e.endDate)
  641. this.screenShow = false
  642. this.showTimeText = `${e.startDate}-${e.endDate}`
  643. this.activeTotal = 3;
  644. this.lastEndDate = e.endDate
  645. this.lastStartDate = e.startDate
  646. this.getdata()
  647. },
  648. //指标执行率分析tab
  649. tapspagek2(index) {
  650. console.log(index)
  651. // 对数据进行分析和处理
  652. // 先处理日期
  653. let allobj = {
  654. "categories": [],
  655. "series": [{
  656. name: '接待量',
  657. data: []
  658. }]
  659. }
  660. this.danwei = this.newlistoj1[index].title
  661. allobj.series[0].name = this.newlistoj1[index].name
  662. this.allechar.map(item => {
  663. allobj.categories.push(item.statDate.slice(5, 10))
  664. allobj.series[0].data.push(item[this.newlistoj1[index].setName])
  665. })
  666. this.bocindex = index;
  667. this.lineOptsect = allobj
  668. this.$forceUpdate()
  669. },
  670. tapspagek3(index) {
  671. let arr = []
  672. // return
  673. // console.log(index,this.allList[index])
  674. this.allList[index].children.map(item => {
  675. arr.push({
  676. name: item.name,
  677. zxl: item.zxl > 100 ? 100 : item.zxl
  678. })
  679. })
  680. this.newlisttabinfo1 = arr
  681. this.bocindex1 = index;
  682. },
  683. //集团对比
  684. Groupcontrast() {
  685. uni.navigateTo({
  686. url: '/pages/center/Piabodata/Groupcontrast'
  687. });
  688. },
  689. //团队对比
  690. Theteamcompared() {
  691. if (this.teamList.length == 0) {
  692. uni.showToast({
  693. title: '没有团队呢',
  694. icon: 'none'
  695. })
  696. return
  697. }
  698. uni.navigateTo({
  699. url: '/pages/center/Piabodata/Theteamcompared'
  700. });
  701. },
  702. //用户洞察
  703. toUserinsightinto() {
  704. uni.navigateTo({
  705. url: '/pages/center/Piabodata/Userinsightinto'
  706. });
  707. },
  708. //趋势分析
  709. toTrendAnalysis() {
  710. uni.navigateTo({
  711. url: '/pages/center/Piabodata/TrendAnalysis'
  712. });
  713. },
  714. //员工分析
  715. toStaffAnalysis() {
  716. if (this.staffList.length == 0) {
  717. uni.showToast({
  718. title: '没有团队呢',
  719. icon: 'none'
  720. })
  721. return
  722. }
  723. uni.navigateTo({
  724. url: '/pages/center/Piabodata/StaffAnalysis'
  725. });
  726. }
  727. }
  728. };
  729. </script>
  730. <style lang="scss" scoped>
  731. .boxtittabs {
  732. width: 100%;
  733. height: 92rpx;
  734. background: #FFFFFF;
  735. display: flex;
  736. align-items: center;
  737. .items {
  738. padding: 0 24rpx;
  739. width: 50%;
  740. height: 100%;
  741. display: flex;
  742. align-items: center;
  743. justify-content: center;
  744. overflow: hidden;
  745. white-space: nowrap;
  746. text-overflow: ellipsis;
  747. }
  748. }
  749. .screen {
  750. width: 100%;
  751. .boxtittab {
  752. width: 100%;
  753. flex-direction: column;
  754. border: none;
  755. .tabbox {
  756. width: 100%;
  757. }
  758. }
  759. }
  760. .box {
  761. width: 100%;
  762. height: 100%;
  763. background: #FAFAFA;
  764. padding-bottom: 60rpx;
  765. }
  766. .Piabodata-box {
  767. width: 100%;
  768. background: #FFFFFF;
  769. display: flex;
  770. flex-wrap: wrap;
  771. padding-bottom: 30rpx;
  772. .Piabodata {
  773. width: 33.3%;
  774. .Piabodata-img {
  775. width: 100%;
  776. text-align: center;
  777. .Piabodata-img1 {
  778. width: 134rpx;
  779. height: 134rpx;
  780. }
  781. }
  782. .Piabodata-text {
  783. width: 100%;
  784. text-align: center;
  785. font-size: 24rpx;
  786. font-weight: 400;
  787. color: #333333;
  788. margin-top: -10rpx;
  789. }
  790. }
  791. }
  792. .grid:nth-child(1) {
  793. border-right: none;
  794. border-bottom: none;
  795. }
  796. .grid:nth-child(2) {
  797. border-bottom: none;
  798. }
  799. .grid:nth-child(3) {
  800. border-right: none;
  801. }
  802. </style>