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.
 
 
 

845 lines
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. } else {
  611. this.screenShow = false
  612. this.showTimeText = text
  613. this.activeTotal = index;
  614. this.lastEndDate = ''
  615. this.lastStartDate = ''
  616. this.getdata()
  617. }
  618. },
  619. // 获取数据
  620. getdata() {
  621. this.receptionCountList()
  622. this.getReport()
  623. this.getRtrent()
  624. this.getindexZxl()
  625. this.getAward()
  626. },
  627. staffSelectCallback(e, idx) {
  628. if (idx == 0) {
  629. this.staff = e[0]
  630. this.getAward()
  631. } else {
  632. this.team = e[0]
  633. this.receptionCountList()
  634. }
  635. // console.log(e,idx)
  636. },
  637. //自定义时间
  638. totalTimeChange(e) {
  639. console.log(e.startDate, e.endDate)
  640. this.screenShow = false
  641. this.showTimeText = `${e.startDate}-${e.endDate}`
  642. this.activeTotal = 3;
  643. this.lastEndDate = e.endDate
  644. this.lastStartDate = e.startDate
  645. this.getdata()
  646. },
  647. //指标执行率分析tab
  648. tapspagek2(index) {
  649. console.log(index)
  650. // 对数据进行分析和处理
  651. // 先处理日期
  652. let allobj = {
  653. "categories": [],
  654. "series": [{
  655. name: '接待量',
  656. data: []
  657. }]
  658. }
  659. this.danwei = this.newlistoj1[index].title
  660. allobj.series[0].name = this.newlistoj1[index].name
  661. this.allechar.map(item => {
  662. allobj.categories.push(item.statDate.slice(5, 10))
  663. allobj.series[0].data.push(item[this.newlistoj1[index].setName])
  664. })
  665. this.bocindex = index;
  666. this.lineOptsect = allobj
  667. this.$forceUpdate()
  668. },
  669. tapspagek3(index) {
  670. let arr = []
  671. // return
  672. // console.log(index,this.allList[index])
  673. this.allList[index].children.map(item => {
  674. arr.push({
  675. name: item.name,
  676. zxl: item.zxl > 100 ? 100 : item.zxl
  677. })
  678. })
  679. this.newlisttabinfo1 = arr
  680. this.bocindex1 = index;
  681. },
  682. //集团对比
  683. Groupcontrast() {
  684. uni.navigateTo({
  685. url: '/pages/center/Piabodata/Groupcontrast'
  686. });
  687. },
  688. //团队对比
  689. Theteamcompared() {
  690. if (this.teamList.length == 0) {
  691. uni.showToast({
  692. title: '没有团队呢',
  693. icon: 'none'
  694. })
  695. return
  696. }
  697. uni.navigateTo({
  698. url: '/pages/center/Piabodata/Theteamcompared'
  699. });
  700. },
  701. //用户洞察
  702. toUserinsightinto() {
  703. uni.navigateTo({
  704. url: '/pages/center/Piabodata/Userinsightinto'
  705. });
  706. },
  707. //趋势分析
  708. toTrendAnalysis() {
  709. uni.navigateTo({
  710. url: '/pages/center/Piabodata/TrendAnalysis'
  711. });
  712. },
  713. //员工分析
  714. toStaffAnalysis() {
  715. if (this.staffList.length == 0) {
  716. uni.showToast({
  717. title: '没有团队呢',
  718. icon: 'none'
  719. })
  720. return
  721. }
  722. uni.navigateTo({
  723. url: '/pages/center/Piabodata/StaffAnalysis'
  724. });
  725. }
  726. }
  727. };
  728. </script>
  729. <style lang="scss" scoped>
  730. .boxtittabs {
  731. width: 100%;
  732. height: 92rpx;
  733. background: #FFFFFF;
  734. display: flex;
  735. align-items: center;
  736. .items {
  737. padding: 0 24rpx;
  738. width: 50%;
  739. height: 100%;
  740. display: flex;
  741. align-items: center;
  742. justify-content: center;
  743. overflow: hidden;
  744. white-space: nowrap;
  745. text-overflow: ellipsis;
  746. }
  747. }
  748. .screen {
  749. width: 100%;
  750. .boxtittab {
  751. width: 100%;
  752. flex-direction: column;
  753. .tabbox {
  754. width: 100%;
  755. }
  756. }
  757. }
  758. .box {
  759. width: 100%;
  760. height: 100%;
  761. background: #FAFAFA;
  762. padding-bottom: 60rpx;
  763. }
  764. .Piabodata-box {
  765. width: 100%;
  766. background: #FFFFFF;
  767. display: flex;
  768. flex-wrap: wrap;
  769. padding-bottom: 30rpx;
  770. .Piabodata {
  771. width: 33.3%;
  772. .Piabodata-img {
  773. width: 100%;
  774. text-align: center;
  775. .Piabodata-img1 {
  776. width: 134rpx;
  777. height: 134rpx;
  778. }
  779. }
  780. .Piabodata-text {
  781. width: 100%;
  782. text-align: center;
  783. font-size: 24rpx;
  784. font-weight: 400;
  785. color: #333333;
  786. margin-top: -10rpx;
  787. }
  788. }
  789. }
  790. .grid:nth-child(1) {
  791. border-right: none;
  792. border-bottom: none;
  793. }
  794. .grid:nth-child(2) {
  795. border-bottom: none;
  796. }
  797. .grid:nth-child(3) {
  798. border-right: none;
  799. }
  800. </style>