25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

803 satır
22 KiB

  1. <template>
  2. <view>
  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 class="timepick">
  8. <view class="timepicktime" @click="chiocStaff(0)">
  9. <view>{{staff1.label}}</view>
  10. <view>
  11. <image class="Underimg" src="../../../static/images/Underimg.png" mode=""></image>
  12. </view>
  13. </view>
  14. <view class="timepickpick">
  15. <view @click="checkboxChange()" style="width: 40rpx;height:40rpx;border: 1rpx solid #E0E0E0;">
  16. <image v-if="timepickpickisshow" style="width: 40rpx;height: 40rpx;"
  17. src="../../../static/images/xuanzhong.png" mode=""></image>
  18. </view>
  19. <view style="font-size:26rpx;text-indent: 12rpx;">对比</view>
  20. </view>
  21. <view class="timepicktime" v-if="timepickpickisshow" @click="chiocStaff(1)">
  22. <view>{{staff2.label}}</view>
  23. <view>
  24. <image class="Underimg" src="../../../static/images/Underimg.png" mode=""></image>
  25. </view>
  26. </view>
  27. </view>
  28. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  29. <view class="single">
  30. <view class="title">
  31. <view class="title1" style="flex: 1;">接待量</view>
  32. </view>
  33. <view class="hejibox">
  34. <view class="heji">{{staff1.label}}:{{newTeam1||0}}</view>
  35. <view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{newAvg1||0}}</view>
  36. </view>
  37. <view class="danwei">来访(人)</view>
  38. <view class="uchaserbox">
  39. <qiun-data-charts type="line" :chartData="lineOptsect" background="none" :ontouch="true"
  40. canvasId="wangxiaohuaerlingeryilingwuyibbb" :canvas2d="true" />
  41. </view>
  42. </view>
  43. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  44. <view class="single">
  45. <view class="title">
  46. <view class="title1" style="flex: 1;">录音时长</view>
  47. <view class="title3" style="flex: 1;">
  48. <!-- <view class="title3-box" style="width: 40%;" @click="tabtimetap1(0)">
  49. <view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">有效录音</view>
  50. </view>
  51. <view class="title3-box" style="width: 40%;"@click="tabtimetap1(1)">
  52. <view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">录音时长</view>
  53. </view> -->
  54. </view>
  55. </view>
  56. <view class="hejibox">
  57. <view class="heji">{{staff1.label}}:{{newTeam2||0}}</view>
  58. <view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{newAvg2||0}}</view>
  59. </view>
  60. <view class="danwei">录音时长</view>
  61. <view class="uchaserbox">
  62. <qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
  63. canvasId="wangxiaouaerlingeryilingwuyibhh" :canvas2d="true" />
  64. </view>
  65. </view>
  66. <view style="width: 100%;height: 20rpx;background: #FAFAFA;" v-if="wajue"></view>
  67. <view class="single" v-if="wajue">
  68. <view class="title">
  69. <view class="title1" style="flex: 1;">平均需求挖掘率趋势</view>
  70. <view class="title3" style="flex: 1;">
  71. </view>
  72. </view>
  73. <view class="hejibox">
  74. <view class="heji">{{staff1.label}}:{{newTeam2||0}}</view>
  75. <view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{newAvg2||0}}</view>
  76. </view>
  77. <view class="danwei">录音时长</view>
  78. <view class="uchaserbox">
  79. <qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
  80. canvasId="wangxiaouaerlingeryilingwuyibhh" :canvas2d="true" />
  81. </view>
  82. </view>
  83. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  84. <view class="single">
  85. <view class="title">
  86. <view class="title1" style="flex: 1;">销讲执行率</view>
  87. <view class="title3" style="flex: 1;">
  88. <!-- <view class="title3-box" style="width: 40%;" @click="tabtimetap1(0)">
  89. <view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">有效录音</view>
  90. </view>
  91. <view class="title3-box" style="width: 40%;"@click="tabtimetap1(1)">
  92. <view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">录音时长</view>
  93. </view> -->
  94. </view>
  95. </view>
  96. <view class="hejibox">
  97. <view class="heji">{{staff1.label}}:{{newTeam3||0}}</view>
  98. <view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{newAvg3||0}}</view>
  99. </view>
  100. <!-- <view class="danwei">录音时长</view> -->
  101. <view class="uchaserbox">
  102. <qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
  103. canvasId="wangxiaohuaerlingryilingwuyibhh" :canvas2d="true" :opts="lineOpts" />
  104. </view>
  105. </view>
  106. <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
  107. <view class="single">
  108. <view class="title" style="padding-right: 30rpx;">
  109. <view class="title1" style="flex-grow: 1;">销讲能力</view>
  110. <view class="title2" @click="showTemplates=true">
  111. <view class="title2-che" style="width: 220rpx;">
  112. {{ showBeTexts }}
  113. <image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
  114. </view>
  115. </view>
  116. </view>
  117. <view class="uchaserbox" style="height: 70vh;">
  118. <qiun-data-charts type="radar" :chartData="chartData" :canvas2d="true"
  119. canvasId="wangxiaohuaerlingeryilinwuycsdx" background="none" :opts="opts" />
  120. </view>
  121. </view>
  122. <!-- <u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> -->
  123. <u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
  124. <!-- 选择客户的选择框 -->
  125. <u-select v-model="staffShow" :list="staffList" @confirm="staffSelectCallback" :default-value='selindex'>
  126. </u-select>
  127. <u-select v-model="staffShow1" :list="staffList1" @confirm="staffSelectCallback" :default-value='selindex'>
  128. </u-select>
  129. <!-- 更多筛选 -->
  130. <u-popup v-model="screenShow" mode="bottom" height="368">
  131. <view class="screen">
  132. <view class="boxtittab">
  133. <view class="tabbox">
  134. <view :class="{ activecllasscet: activeTotal == 4 }" @click="tabtimetap(4, '近七天')">近七天</view>
  135. </view>
  136. <view class="tabbox">
  137. <view :class="{ activecllasscet: activeTotal == 5 }" @click="tabtimetap(5, '近15天')">近15天</view>
  138. </view>
  139. <view class="tabbox">
  140. <view :class="{ activecllasscet: activeTotal == 6 }" @click="tabtimetap(6, '近30天')">近30天</view>
  141. </view>
  142. <view class="tabbox">
  143. <view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3, '自定义')">自定义</view>
  144. </view>
  145. </view>
  146. </view>
  147. </u-popup>
  148. <!-- 销讲业务 -->
  149. <u-select :mask-close-able="false" label-name="templateName" value-name="id" v-model="showTemplate"
  150. mode="single-column" :list="templateList" @cancel="templateCancel" @confirm="templateConfirm"></u-select>
  151. <!-- 销讲业务2 -->
  152. <u-select :mask-close-able="false" label-name="templateName" value-name="id" v-model="showTemplates"
  153. mode="single-column" :list="templateLists" @cancel="showTemplates = false" @confirm="templateConfirms">
  154. </u-select>
  155. <!-- 加载组件 -->
  156. <loading v-model="LOADING"></loading>
  157. </view>
  158. </template>
  159. <script>
  160. import loading from "@/components/loading/index.vue"
  161. export default {
  162. components: {
  163. loading
  164. },
  165. data() {
  166. return {
  167. wajue: false,
  168. timepickpickisshow: true,
  169. totalTimeShow: false,
  170. activeTotal: 4,
  171. activeTotal2: 1,
  172. // 项目id
  173. houseId: '',
  174. staffList: [],
  175. staffList1: [],
  176. staffShow: false,
  177. staffShow1: false,
  178. newTeam1: '',
  179. newAvg1: '',
  180. newTeam2: '',
  181. newAvg2: '',
  182. newTeam3: '',
  183. newAvg3: '',
  184. staff1: {
  185. value: '',
  186. label: ''
  187. },
  188. staff2: {
  189. value: '',
  190. label: '平均'
  191. },
  192. lineOpts: {
  193. yAxis: {
  194. data: [{
  195. max: 100,
  196. min: 0,
  197. }]
  198. }
  199. },
  200. opts: {
  201. fontSize: 10,
  202. extra: {
  203. radar: {
  204. max: 100
  205. }
  206. }
  207. },
  208. lastStartDate: '',
  209. lastEndDate: '',
  210. selindex: [0],
  211. choseStaffFlag: false,
  212. lineOptsect: {
  213. "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
  214. "series": [{
  215. "name": "成交量1",
  216. "data": [35, 8, 25, 37, 4, 20]
  217. },
  218. {
  219. "name": "成交量2",
  220. "data": [40, 18, 45, 44, 10, 60]
  221. }
  222. ]
  223. },
  224. lineOptsect1: {
  225. "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
  226. "series": [{
  227. "name": "成交量1",
  228. "data": [35, 8, 25, 37, 4, 20]
  229. },
  230. {
  231. "name": "成交量2",
  232. "data": [40, 18, 45, 44, 10, 60]
  233. }
  234. ]
  235. },
  236. lineOptsect2: {
  237. "categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
  238. "series": [{
  239. "name": "成交量1",
  240. "data": [35, 8, 25, 37, 4, 20]
  241. },
  242. {
  243. "name": "成交量2",
  244. "data": [40, 18, 45, 44, 10, 60]
  245. }
  246. ]
  247. },
  248. chartData: {
  249. "categories": ["维度1", "维度2", "维度3", "维度4", "维度5", "维度6"],
  250. "series": [{
  251. "name": "成交量",
  252. "data": [90, 110, 165, 195, 187, 172]
  253. }]
  254. },
  255. screenShow: false, // 时间筛选弹窗
  256. showTimeText: '近七天', // 展示文字
  257. showBeText: '全部业务', //
  258. templateList: [], // 销讲业务
  259. showTemplate: false, // 展示选择销讲业务弹窗
  260. marketingBusiness: '', // 选择的业务id
  261. showTemplates: false, // 展示选择销讲业务弹窗
  262. templateLists: [], // 销讲业务
  263. marketingBusinessId: '', // 选择的业务id
  264. showBeTexts: '', //
  265. };
  266. },
  267. onLoad(option) {
  268. this.LOADING = true
  269. // 获取项目id
  270. this.houseId = uni.getStorageSync('buildingID').id;
  271. // 请求接口获取所有置业顾问员工的列表
  272. this.getStaffList(option)
  273. this.getMarketingBusiness()
  274. },
  275. onPullDownRefresh() {
  276. this.getMarketingBusiness()
  277. this.getStaffList()
  278. setTimeout(function() {
  279. uni.stopPullDownRefresh();
  280. }, 1000);
  281. },
  282. methods: {
  283. // 销讲业务方法
  284. templateCancel() {
  285. this.showTemplate = false;
  286. },
  287. // 确认选择销讲业务
  288. templateConfirm(e) {
  289. this.showTemplate = false;
  290. this.marketingBusiness = e[0].value
  291. this.showBeText = e[0].label
  292. this.getdata()
  293. },
  294. // 确认选择销讲业务
  295. templateConfirms(e) {
  296. this.showTemplates = false;
  297. this.marketingBusinessId = e[0].value
  298. this.showBeTexts = e[0].label
  299. this.getdata()
  300. },
  301. // 获取销讲业务
  302. getMarketingBusiness() {
  303. this.$u.get('/customer/marketingBusiness', {
  304. houseId: uni.getStorageSync('buildingID').id,
  305. }).then(res => {
  306. this.templateLists = res.map(item => {
  307. return item
  308. })
  309. this.marketingBusinessId = res[0].id
  310. this.showBeTexts = res[0].templateName
  311. this.templateList = res
  312. this.templateList.unshift({
  313. templateName: '全部业务',
  314. id: ''
  315. })
  316. })
  317. },
  318. //是否对比
  319. checkboxChange() {
  320. this.timepickpickisshow = !this.timepickpickisshow;
  321. this.staff2.value = ''
  322. this.staff2.label = '平均'
  323. this.getdata()
  324. },
  325. // 点击员工对比
  326. chiocStaff(idx) {
  327. if (idx == 0) {
  328. // 当选择了第一个的时候
  329. this.choseStaffFlag = false
  330. this.staffShow = true
  331. } else {
  332. this.choseStaffFlag = true
  333. this.staffShow1 = true
  334. }
  335. },
  336. // 获取员工列表
  337. getStaffList(option) {
  338. this.$u.post('/cusLvStatistics/selectAllAccountIdByHouseId', {
  339. houseId: this.houseId
  340. })
  341. .then(res => {
  342. // console.log(res,'123')
  343. this.staffList = []
  344. this.staffList1 = []
  345. res.map(item => {
  346. let obj = {}
  347. obj.value = item.accountId
  348. obj.label = item.name
  349. this.staffList.push(obj)
  350. })
  351. this.staffList1 = [...this.staffList]
  352. this.staffList1.unshift({
  353. value: '',
  354. label: '平均'
  355. })
  356. this.staff1 = this.staffList[0]
  357. console.log('我进来了', option)
  358. if (option.type == 1) {
  359. this.activeTotal = 3;
  360. this.lastEndDate = option.endDate
  361. this.lastStartDate = option.startDate
  362. let obj = this.staffList1.find(item => {
  363. return item.value == option.id
  364. })
  365. console.log(obj, 'obj')
  366. this.staff1.label = obj.label
  367. this.staff1.value = option.id
  368. }
  369. this.getdata()
  370. })
  371. },
  372. getdata() {
  373. this.getreception()
  374. this.getRecordList()
  375. this.getAward()
  376. this.getAwardList()
  377. },
  378. // 获取接待量数据
  379. getreception() {
  380. this.$u.post('/cusLvStatistics/employeeAnalysisReception', {
  381. userA: this.staff1.value,
  382. userB: this.staff2.value,
  383. houseId: this.houseId,
  384. timeType: this.lastEndDate ? null : this.activeTotal + '',
  385. lastEndDate: this.lastEndDate,
  386. lastStartDate: this.lastStartDate,
  387. marketingBusiness: this.marketingBusiness,
  388. })
  389. .then(res => {
  390. this.newTeam1 = res.avg[0]
  391. this.newAvg1 = res.avg[1]
  392. // console.log(res)
  393. let first = res.first
  394. let second = res.second
  395. this.lineOptsect.categories = []
  396. if (!this.timepickpickisshow) {
  397. this.lineOptsect.series = [{
  398. name: first[0].accountName,
  399. data: []
  400. }]
  401. first.map(item => {
  402. this.lineOptsect.categories.push(item.statDate.slice(5, 10))
  403. this.lineOptsect.series[0].data.push(item.receptionCount || 0)
  404. })
  405. } else {
  406. this.lineOptsect.series = [{
  407. name: first[0].accountName,
  408. data: []
  409. },
  410. {
  411. "name": second[0].accountName,
  412. "data": []
  413. }
  414. ]
  415. first.map(item => {
  416. this.lineOptsect.categories.push(item.statDate.slice(5, 10))
  417. this.lineOptsect.series[0].data.push(item.receptionCount)
  418. })
  419. second.map(item => {
  420. this.lineOptsect.series[1].data.push(item.receptionCount)
  421. })
  422. }
  423. // console.log(this.lineOptsect,'1')
  424. })
  425. },
  426. // 销奖趋势
  427. getAward() {
  428. this.$u.post('/cusLvStatistics/employeeAnalysisExacutiveRate', {
  429. userA: this.staff1.value,
  430. userB: this.staff2.value,
  431. houseId: this.houseId,
  432. timeType: this.lastEndDate ? null : this.activeTotal + '',
  433. lastEndDate: this.lastEndDate,
  434. lastStartDate: this.lastStartDate,
  435. marketingBusiness: this.marketingBusiness,
  436. })
  437. .then(res => {
  438. this.newTeam3 = res.avg[0]
  439. this.newAvg3 = res.avg[1]
  440. // console.log(res)
  441. let first = res.first
  442. let second = res.second
  443. this.lineOptsect2.categories = []
  444. if (!this.timepickpickisshow) {
  445. this.lineOptsect2.series = [{
  446. name: first[0].accountName,
  447. data: []
  448. }]
  449. first.map(item => {
  450. // console.log(item)
  451. this.lineOptsect2.categories.push(item.statDate.slice(5, 10))
  452. this.lineOptsect2.series[0].data.push(item.sumFraction)
  453. })
  454. } else {
  455. this.lineOptsect2.series = [{
  456. name: first[0].accountName,
  457. data: []
  458. },
  459. {
  460. "name": second[0].accountName,
  461. "data": []
  462. }
  463. ]
  464. first.map(item => {
  465. this.lineOptsect2.categories.push(item.statDate.slice(5, 10))
  466. this.lineOptsect2.series[0].data.push(item.sumFraction)
  467. })
  468. second.map(item => {
  469. this.lineOptsect2.series[1].data.push(item.sumFraction)
  470. })
  471. }
  472. // console.log(this.lineOptsect2,'3')
  473. })
  474. },
  475. // 获取有效录音
  476. async getRecordList() {
  477. // 当选择有效录音时
  478. let res = null
  479. if (this.activeTotal2 == 0) {
  480. res = await this.$u.post('/cusLvStatistics/employeeAnalysisEffectiveRecording', {
  481. userA: this.staff1.value,
  482. userB: this.staff2.value,
  483. houseId: this.houseId,
  484. timeType: this.lastEndDate ? null : this.activeTotal + '',
  485. lastEndDate: this.lastEndDate,
  486. lastStartDate: this.lastStartDate,
  487. marketingBusiness: this.marketingBusiness,
  488. })
  489. } else {
  490. res = await this.$u.post('/cusLvStatistics/employeeAnalysisRecordingTime', {
  491. userA: this.staff1.value,
  492. userB: this.staff2.value,
  493. houseId: this.houseId,
  494. timeType: this.lastEndDate ? null : this.activeTotal + '',
  495. lastEndDate: this.lastEndDate,
  496. lastStartDate: this.lastStartDate,
  497. marketingBusiness: this.marketingBusiness,
  498. })
  499. }
  500. // console.log(res)
  501. this.newTeam2 = res.avg[0]
  502. this.newAvg2 = res.avg[1]
  503. let first = res.first
  504. let second = res.second
  505. this.lineOptsect1.categories = []
  506. if (!this.timepickpickisshow) {
  507. this.lineOptsect1.series = [{
  508. name: first[0].accountName,
  509. data: []
  510. }]
  511. first.map(item => {
  512. this.lineOptsect1.categories.push(item.statDate.slice(5, 10))
  513. this.lineOptsect1.series[0].data.push(item.sumDuration)
  514. })
  515. } else {
  516. this.lineOptsect1.series = [{
  517. name: first[0].accountName,
  518. data: []
  519. },
  520. {
  521. "name": second[0].accountName,
  522. "data": []
  523. }
  524. ]
  525. first.map(item => {
  526. this.lineOptsect1.categories.push(item.statDate.slice(5, 10))
  527. this.lineOptsect1.series[0].data.push(item.sumDuration)
  528. })
  529. second.map(item => {
  530. this.lineOptsect1.series[1].data.push(item.sumDuration)
  531. })
  532. }
  533. // console.log(this.lineOptsect1,'2')
  534. },
  535. // 获取销奖能力
  536. getAwardList() {
  537. this.$u.post('/cusLvStatistics/employeeAnalysisLevel1Fraction', {
  538. userA: this.staff1.value,
  539. userB: this.staff2.value,
  540. houseId: this.houseId,
  541. timeType: this.lastEndDate ? null : this.activeTotal + '',
  542. lastEndDate: this.lastEndDate,
  543. lastStartDate: this.lastStartDate,
  544. marketingBusiness: this.marketingBusinessId,
  545. })
  546. .then(res => {
  547. this.LOADING = false
  548. // console.log(res)
  549. let first = res.first
  550. let second = res.second
  551. let xAxis = [] // 制作雷达图的x轴
  552. first.forEach(item => {
  553. if (xAxis.findIndex(res => res.marketingId == item.marketingId) == -1) {
  554. xAxis.push(item)
  555. }
  556. })
  557. second.forEach(item => {
  558. if (xAxis.findIndex(res => res.marketingId == item.marketingId) == -1) {
  559. xAxis.push(item)
  560. }
  561. })
  562. this.chartData.categories = []
  563. if (!this.timepickpickisshow) {
  564. this.chartData.series = [{
  565. name: first[0].accountName,
  566. data: []
  567. }]
  568. first.map(item => {
  569. this.chartData.categories.push(item.name)
  570. if (item.avgExecutionRate < 0) {
  571. this.chartData.series[0].data.push(0)
  572. } else if (item.avgExecutionRate > 100) {
  573. this.chartData.series[0].data.push(100)
  574. } else {
  575. this.chartData.series[0].data.push(item.avgExecutionRate)
  576. }
  577. })
  578. } else {
  579. this.chartData.series = [{
  580. name: first[0].accountName,
  581. data: []
  582. },
  583. {
  584. name: second[0].accountName,
  585. data: []
  586. }
  587. ]
  588. console.log(xAxis, 'sdaklijdklsajdklasjkdlsjal')
  589. xAxis.map(item => {
  590. this.chartData.categories.push(item.name)
  591. let obj1 = first.find(res => res.marketingId == item.marketingId)
  592. let obj2 = second.find(res => res.marketingId == item.marketingId)
  593. if (obj1 && Object.keys(obj1).length > 0) {
  594. this.chartData.series[0].data.push(this.checkRange(obj1.avgExecutionRate))
  595. } else {
  596. this.chartData.series[0].data.push(0)
  597. }
  598. if (obj2 && Object.keys(obj2).length > 0) {
  599. this.chartData.series[1].data.push(this.checkRange(obj2.avgExecutionRate))
  600. } else {
  601. this.chartData.series[1].data.push(0)
  602. }
  603. })
  604. this.$forceUpdate()
  605. }
  606. }).catch(e => {
  607. this.LOADING = false
  608. })
  609. },
  610. // 检测范围
  611. checkRange(num) {
  612. if (num < 0) {
  613. return 0
  614. } else if (num > 100) {
  615. return 100
  616. } else {
  617. return num
  618. }
  619. },
  620. tabtimetap(index, text) {
  621. if (index == 3) {
  622. this.totalTimeShow = true;
  623. this.screenShow = false
  624. } else {
  625. this.screenShow = false
  626. this.showTimeText = text
  627. this.activeTotal = index;
  628. this.lastEndDate = ''
  629. this.lastStartDate = ''
  630. // 获取数据
  631. this.getdata()
  632. }
  633. },
  634. tabtimetap1(index) {
  635. this.activeTotal2 = index;
  636. // 调用方法
  637. this.getRecordList()
  638. },
  639. //自定义时间
  640. totalTimeChange(e) {
  641. console.log(e.startDate, e.endDate)
  642. this.screenShow = false
  643. this.showTimeText = `${e.startDate}-${e.endDate}`
  644. this.activeTotal = 3;
  645. this.lastEndDate = e.endDate
  646. this.lastStartDate = e.startDate
  647. // 获取数据
  648. // this.getreception()
  649. // this.getRecordList()
  650. // this.getAwardList()
  651. this.getdata()
  652. },
  653. staffSelectCallback(e) {
  654. if (this.choseStaffFlag) {
  655. // 第二个客户
  656. // console.log(e,'第二个')
  657. this.staff2 = e[0]
  658. } else {
  659. // 第一个客户
  660. // console.log(e,'第一个')
  661. this.staff1 = e[0]
  662. }
  663. if (this.staff1.label == this.staff2.label) {
  664. uni.showToast({
  665. title: '请勿选择重复',
  666. icon: 'none'
  667. })
  668. this.staff2.label = '请选择'
  669. // this.staff2.label='平均'
  670. // this.staff2.value=''
  671. return
  672. } else {
  673. // 获取数据
  674. // this.getreception()
  675. // this.getRecordList()
  676. // this.getAwardList()
  677. this.getdata()
  678. }
  679. },
  680. },
  681. }
  682. </script>
  683. <style lang="scss" scoped>
  684. .boxtittabs {
  685. width: 100%;
  686. height: 92rpx;
  687. background: #FFFFFF;
  688. display: flex;
  689. align-items: center;
  690. .items {
  691. padding: 0 24rpx;
  692. width: 50%;
  693. height: 100%;
  694. display: flex;
  695. align-items: center;
  696. justify-content: center;
  697. overflow: hidden;
  698. white-space: nowrap;
  699. text-overflow: ellipsis;
  700. }
  701. }
  702. .screen {
  703. width: 100%;
  704. .boxtittab {
  705. width: 100%;
  706. flex-direction: column;
  707. border: none;
  708. .tabbox {
  709. width: 100%;
  710. }
  711. }
  712. }
  713. // 对比时间切换
  714. .timepick {
  715. width: 100%;
  716. height: 90rpx;
  717. display: flex;
  718. align-items: center;
  719. background: #FAFAFA;
  720. }
  721. .timepicktime {
  722. width: 260rpx;
  723. height: 50rpx;
  724. border: 1rpx solid #E0E0E0;
  725. margin-left: 30rpx;
  726. display: flex;
  727. background: #FFFFFF;
  728. }
  729. .timepicktime>view:nth-of-type(1) {
  730. width: 210rpx;
  731. height: 100%;
  732. line-height: 50rpx;
  733. font-size: 26rpx;
  734. font-weight: 400;
  735. text-align: center;
  736. }
  737. .timepicktime>view:nth-of-type(2) {
  738. width: 49rpx;
  739. height: 100%;
  740. // border-left: 1px solid #E0E0E0;
  741. }
  742. .timepickpick {
  743. width: 110rpx;
  744. height: 50rpx;
  745. margin-left: 30rpx;
  746. display: flex;
  747. align-items: center;
  748. }
  749. .Underimg {
  750. width: 50rpx;
  751. height: 50rpx;
  752. margin-top: -2rpx;
  753. }
  754. </style>