team1.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838
  1. <template>
  2. <view class="page">
  3. <public-module></public-module>
  4. <view class="header dis f-c">
  5. <view class="dis a-c j-s">
  6. <view class="timeShortcut dis a-c j-s">
  7. <text v-for="(item,index) in queryTimeTypeArray" :key="index"
  8. :class="item==queryTimeTypeIndex? 'active':''" @click="bindPickerChange(item)">{{item}}</text>
  9. </view>
  10. <view class="timeShortcut1 dis a-c j-s">
  11. <text @click="startshow=true">{{startdate}}</text>
  12. <text>-</text>
  13. <text @click="endshow=true">{{enddate}}</text>
  14. </view>
  15. </view>
  16. <view class="myPerformance dis f-c a-start j-s">
  17. <image src="../../../static/image/team/tjicon.png" mode=""></image>
  18. <view class="title dis a-c">
  19. <text class="font-weight">我的业绩</text>
  20. <view class="interaction ml-1 dis " @click="toTeamMember('userPolicyList2',0)">
  21. <text>详情 </text>
  22. <u-icon name="arrow-right" color="#999" size="20"></u-icon>
  23. </view>
  24. </view>
  25. <view class="data dis a-c j-s" v-for="(item,index) in userPolicyList2" :key="index">
  26. <view class="dis f-c a-c">
  27. <text>{{item.bjpolicynum}}</text>
  28. <text>报价次数</text>
  29. </view>
  30. <view class="dis f-c a-c">
  31. <text>{{item.policynum}}</text>
  32. <text>核保笔数</text>
  33. </view>
  34. <view class="dis f-c a-c">
  35. <text>{{item.ordernum}}</text>
  36. <text>出单笔数</text>
  37. </view>
  38. <view class="dis f-c a-c">
  39. <text>{{item.sumpremium}}</text>
  40. <text>签单保费</text>
  41. </view>
  42. </view>
  43. </view>
  44. </view>
  45. <view class="listTab ">
  46. <u-tabs class="tabclass" :list="arrdata" :is-scroll="false" :current="teamTabIndex"
  47. @change="arrchange"></u-tabs>
  48. <view class="dis a-c j-s sum">
  49. <view v-for="(item,index) in arrdata" :key="index">{{item.teamnum}}</view>
  50. </view>
  51. <view class="summary dis a-c j-s" v-if="teamTabIndex==0">
  52. <view class="dis f-c a-c">
  53. <text>{{aggregateData1.bjpolicynum}}</text>
  54. <view class="dis a-c">
  55. <text>报价次数</text>
  56. <image src="../../../static/image/team/baojia.png" mode=""></image>
  57. </view>
  58. </view>
  59. <view class="dis f-c a-c">
  60. <text>{{aggregateData1.policynum}}</text>
  61. <view class="dis a-c">
  62. <text>核保笔数</text>
  63. <image src="../../../static/image/team/hebao.png" mode=""></image>
  64. </view>
  65. </view>
  66. <view class="dis f-c a-c">
  67. <text>{{aggregateData1.ordernum}}</text>
  68. <view class="dis a-c">
  69. <text>出单笔数</text>
  70. <image src="../../../static/image/team/chudan.png" mode=""></image>
  71. </view>
  72. </view>
  73. <view class="dis f-c a-c">
  74. <text>{{aggregateData1.sumpremium}}</text>
  75. <view class="dis a-c">
  76. <text>签单保费</text>
  77. <image src="../../../static/image/team/baofei.png" mode=""></image>
  78. </view>
  79. </view>
  80. </view>
  81. <view class="summary dis a-c j-s" v-if="teamTabIndex==1">
  82. <view class="dis f-c a-c">
  83. <text>{{aggregateData3.bjpolicynum}}</text>
  84. <view class="dis a-c">
  85. <text>报价次数</text>
  86. <image src="../../../static/image/team/baojia.png" mode=""></image>
  87. </view>
  88. </view>
  89. <view class="dis f-c a-c">
  90. <text>{{aggregateData3.policynum}}</text>
  91. <view class="dis a-c">
  92. <text>核保笔数</text>
  93. <image src="../../../static/image/team/hebao.png" mode=""></image>
  94. </view>
  95. </view>
  96. <view class="dis f-c a-c">
  97. <text>{{aggregateData3.ordernum}}</text>
  98. <view class="dis a-c">
  99. <text>出单笔数</text>
  100. <image src="../../../static/image/team/chudan.png" mode=""></image>
  101. </view>
  102. </view>
  103. <view class="dis f-c a-c">
  104. <text>{{aggregateData3.sumpremium}}</text>
  105. <view class="dis a-c">
  106. <text>签单保费</text>
  107. <image src="../../../static/image/team/baofei.png" mode=""></image>
  108. </view>
  109. </view>
  110. </view>
  111. <view class="summary dis a-c j-s" v-if="teamTabIndex==2">
  112. <view class="dis f-c a-c">
  113. <text>{{aggregateData4.bjpolicynum}}</text>
  114. <view class="dis a-c">
  115. <text>报价次数</text>
  116. <image src="../../../static/image/team/baojia.png" mode=""></image>
  117. </view>
  118. </view>
  119. <view class="dis f-c a-c">
  120. <text>{{aggregateData4.policynum}}</text>
  121. <view class="dis a-c">
  122. <text>核保笔数</text>
  123. <image src="../../../static/image/team/hebao.png" mode=""></image>
  124. </view>
  125. </view>
  126. <view class="dis f-c a-c">
  127. <text>{{aggregateData4.ordernum}}</text>
  128. <view class="dis a-c">
  129. <text>出单笔数</text>
  130. <image src="../../../static/image/team/chudan.png" mode=""></image>
  131. </view>
  132. </view>
  133. <view class="dis f-c a-c">
  134. <text>{{aggregateData4.sumpremium}}</text>
  135. <view class="dis a-c">
  136. <text>签单保费</text>
  137. <image src="../../../static/image/team/baofei.png" mode=""></image>
  138. </view>
  139. </view>
  140. </view>
  141. <view class="summary dis a-c j-s" v-if="teamTabIndex==3">
  142. <view class="dis f-c a-c">
  143. <text>{{aggregateData5.bjpolicynum}}</text>
  144. <view class="dis a-c">
  145. <text>报价次数</text>
  146. <image src="../../../static/image/team/baojia.png" mode=""></image>
  147. </view>
  148. </view>
  149. <view class="dis f-c a-c">
  150. <text>{{aggregateData5.policynum}}</text>
  151. <view class="dis a-c">
  152. <text>核保笔数</text>
  153. <image src="../../../static/image/team/hebao.png" mode=""></image>
  154. </view>
  155. </view>
  156. <view class="dis f-c a-c">
  157. <text>{{aggregateData5.ordernum}}</text>
  158. <view class="dis a-c">
  159. <text>出单笔数</text>
  160. <image src="../../../static/image/team/chudan.png" mode=""></image>
  161. </view>
  162. </view>
  163. <view class="dis f-c a-c">
  164. <text>{{aggregateData5.sumpremium}}</text>
  165. <view class="dis a-c">
  166. <text>签单保费</text>
  167. <image src="../../../static/image/team/baofei.png" mode=""></image>
  168. </view>
  169. </view>
  170. </view>
  171. <view class="summary dis a-c j-s" v-if="teamTabIndex==4">
  172. <view class="dis f-c a-c">
  173. <text>{{aggregateData6.bjpolicynum}}</text>
  174. <view class="dis a-c">
  175. <text>报价次数</text>
  176. <image src="../../../static/image/team/baojia.png" mode=""></image>
  177. </view>
  178. </view>
  179. <view class="dis f-c a-c">
  180. <text>{{aggregateData6.policynum}}</text>
  181. <view class="dis a-c">
  182. <text>核保笔数</text>
  183. <image src="../../../static/image/team/hebao.png" mode=""></image>
  184. </view>
  185. </view>
  186. <view class="dis f-c a-c">
  187. <text>{{aggregateData6.ordernum}}</text>
  188. <view class="dis a-c">
  189. <text>出单笔数</text>
  190. <image src="../../../static/image/team/chudan.png" mode=""></image>
  191. </view>
  192. </view>
  193. <view class="dis f-c a-c">
  194. <text>{{aggregateData6.sumpremium}}</text>
  195. <view class="dis a-c">
  196. <text>签单保费</text>
  197. <image src="../../../static/image/team/baofei.png" mode=""></image>
  198. </view>
  199. </view>
  200. </view>
  201. </view>
  202. <view class="dataOver">
  203. <view class="team_members-data" v-if="teamTabIndex==0" v-for="(item,index) in userPolicyList1" :key="index">
  204. <view class="basicInfo" @click="toTeamMember('userPolicyList1',index)">
  205. <view class="dis a-c j-s">
  206. <view class="dis a-c">
  207. <text
  208. style=" font-size: 16px;color: #333;font-weight: bold;width: 50px;">{{item.username}}</text>
  209. <image
  210. :src="item.teamlevel?`../../../static/image/team/proxy${item.teamlevel}.png`:'../../../static/image/team/proxy4.png'"
  211. mode=""></image>
  212. </view>
  213. <u-icon name="arrow-right" color="#999" size="24"></u-icon>
  214. </view>
  215. <text class="phone">联系方式:{{item.mobile}}</text>
  216. </view>
  217. <view class="basicInformation dis a-c j-s">
  218. <view class="dis f-c a-c">
  219. <text>{{item.bjpolicynum}}</text>
  220. <text>报价次数</text>
  221. </view>
  222. <view class="dis f-c a-c">
  223. <text>{{item.policynum}}</text>
  224. <text>核保笔数</text>
  225. </view>
  226. <view class="dis f-c a-c">
  227. <text>{{item.ordernum}}</text>
  228. <text>出单笔数</text>
  229. </view>
  230. <view class="dis f-c a-c">
  231. <text>{{item.sumpremium}}</text>
  232. <text>签单保费</text>
  233. </view>
  234. </view>
  235. </view>
  236. <view class="team_members-data" v-if="teamTabIndex==1" v-for="(item,index) in userPolicyList3" :key="index">
  237. <view class="basicInfo" @click="toTeamMember('userPolicyList3',index)">
  238. <view class="dis a-c j-s">
  239. <view class="dis a-c">
  240. <text
  241. style=" font-size: 16px;color: #333;font-weight: bold;width: 50px;">{{item.username}}</text>
  242. <image
  243. :src="item.teamlevel?`../../../static/image/team/proxy${item.teamlevel}.png`:'../../../static/image/team/proxy4.png'"
  244. mode=""></image>
  245. </view>
  246. <u-icon name="arrow-right" color="#999" size="24"></u-icon>
  247. </view>
  248. <text class="phone">联系方式:{{item.mobile}}</text>
  249. </view>
  250. <view class="basicInformation dis a-c j-s">
  251. <view class="dis f-c a-c">
  252. <text>{{item.bjpolicynum}}</text>
  253. <text>报价次数</text>
  254. </view>
  255. <view class="dis f-c a-c">
  256. <text>{{item.policynum}}</text>
  257. <text>核保笔数</text>
  258. </view>
  259. <view class="dis f-c a-c">
  260. <text>{{item.ordernum}}</text>
  261. <text>出单笔数</text>
  262. </view>
  263. <view class="dis f-c a-c">
  264. <text>{{item.sumpremium}}</text>
  265. <text>签单保费</text>
  266. </view>
  267. </view>
  268. </view>
  269. <view class="team_members-data" v-if="teamTabIndex==2" v-for="(item,index) in userPolicyList4" :key="index">
  270. <view class="basicInfo" @click="toTeamMember('userPolicyList4',index)">
  271. <view class="dis a-c j-s">
  272. <view class="dis a-c">
  273. <text
  274. style=" font-size: 16px;color: #333;font-weight: bold;width: 50px;">{{item.username}}</text>
  275. <image
  276. :src="item.teamlevel?`../../../static/image/team/proxy${item.teamlevel}.png`:'../../../static/image/team/proxy4.png'"
  277. mode=""></image>
  278. </view>
  279. <u-icon name="arrow-right" color="#999" size="24"></u-icon>
  280. </view>
  281. <text class="phone">联系方式:{{item.mobile}}</text>
  282. </view>
  283. <view class="basicInformation dis a-c j-s">
  284. <view class="dis f-c a-c">
  285. <text>{{item.bjpolicynum}}</text>
  286. <text>报价次数</text>
  287. </view>
  288. <view class="dis f-c a-c">
  289. <text>{{item.policynum}}</text>
  290. <text>核保笔数</text>
  291. </view>
  292. <view class="dis f-c a-c">
  293. <text>{{item.ordernum}}</text>
  294. <text>出单笔数</text>
  295. </view>
  296. <view class="dis f-c a-c">
  297. <text>{{item.sumpremium}}</text>
  298. <text>签单保费</text>
  299. </view>
  300. </view>
  301. </view>
  302. <view class="team_members-data" v-if="teamTabIndex==3" v-for="(item,index) in userPolicyList5" :key="index">
  303. <view class="basicInfo" @click="toTeamMember('userPolicyList5',index)">
  304. <view class="dis a-c j-s">
  305. <view class="dis a-c">
  306. <text
  307. style=" font-size: 16px;color: #333;font-weight: bold;width: 50px;">{{item.username}}</text>
  308. <image
  309. :src="item.teamlevel?`../../../static/image/team/proxy${item.teamlevel}.png`:'../../../static/image/team/proxy4.png'"
  310. mode=""></image>
  311. </view>
  312. <u-icon name="arrow-right" color="#999" size="24"></u-icon>
  313. </view>
  314. <text class="phone">联系方式:{{item.mobile}}</text>
  315. </view>
  316. <view class="basicInformation dis a-c j-s">
  317. <view class="dis f-c a-c">
  318. <text>{{item.bjpolicynum}}</text>
  319. <text>报价次数</text>
  320. </view>
  321. <view class="dis f-c a-c">
  322. <text>{{item.policynum}}</text>
  323. <text>核保笔数</text>
  324. </view>
  325. <view class="dis f-c a-c">
  326. <text>{{item.ordernum}}</text>
  327. <text>出单笔数</text>
  328. </view>
  329. <view class="dis f-c a-c">
  330. <text>{{item.sumpremium}}</text>
  331. <text>签单保费</text>
  332. </view>
  333. </view>
  334. </view>
  335. <view class="team_members-data" v-if="teamTabIndex==4" v-for="(item,index) in userPolicyList6" :key="index">
  336. <view class="basicInfo" @click="toTeamMember('userPolicyList6',index)">
  337. <view class="dis a-c j-s">
  338. <view class="dis a-c">
  339. <text
  340. style=" font-size: 16px;color: #333;font-weight: bold;width: 50px;">{{item.username}}</text>
  341. <image
  342. :src="item.teamlevel?`../../../static/image/team/proxy${item.teamlevel}.png`:'../../../static/image/team/proxy4.png'"
  343. mode=""></image>
  344. </view>
  345. <u-icon name="arrow-right" color="#999" size="24"></u-icon>
  346. </view>
  347. <text class="phone">联系方式:{{item.mobile}}</text>
  348. </view>
  349. <view class="basicInformation dis a-c j-s">
  350. <view class="dis f-c a-c">
  351. <text>{{item.bjpolicynum}}</text>
  352. <text>报价次数</text>
  353. </view>
  354. <view class="dis f-c a-c">
  355. <text>{{item.policynum}}</text>
  356. <text>核保笔数</text>
  357. </view>
  358. <view class="dis f-c a-c">
  359. <text>{{item.ordernum}}</text>
  360. <text>出单笔数</text>
  361. </view>
  362. <view class="dis f-c a-c">
  363. <text>{{item.sumpremium}}</text>
  364. <text>签单保费</text>
  365. </view>
  366. </view>
  367. </view>
  368. </view>
  369. <u-picker v-model="startshow" mode="time" :params="params" @confirm="startconfirm"></u-picker>
  370. <u-picker v-model="endshow" mode="time" :params="params" @confirm="endconfirm"></u-picker>
  371. </view>
  372. </template>
  373. <script>
  374. import {
  375. mapState
  376. } from "vuex";
  377. import MxDatePicker from "@/components/modules/tools/team/mx-datepicker/mx-datepicker.vue";
  378. import SwiperTab from "@/components/modules/tools/team/swiper-tab.vue";
  379. export default {
  380. components: {
  381. SwiperTab,
  382. MxDatePicker
  383. },
  384. data() {
  385. return {
  386. params: {
  387. year: true,
  388. month: true,
  389. day: true,
  390. hour: false,
  391. minute: false,
  392. second: false
  393. },
  394. startshow: false,
  395. endshow: false,
  396. headerStyle: {
  397. backgroundColor: '',
  398. backgroundImage: '',
  399. backgroundSize: '',
  400. backgroundPosition: '',
  401. boxShadow: ''
  402. // 其他样式属性...
  403. },
  404. queryPeopleId: "",
  405. queryTimeTypeArray: ['今天', '一周', '当月'],
  406. queryTimeTypeIndex: "今天",
  407. startdate: new Date()
  408. .getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate(),
  409. enddate: new Date()
  410. .getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate(),
  411. showDatePicker: false,
  412. teamTabIndex: 0,
  413. SummaryList: [],
  414. userPolicyList1: [],
  415. userPolicyList2: [],
  416. userPolicyList3: [],
  417. userPolicyList4: [],
  418. userPolicyList5: [],
  419. userPolicyList6: [],
  420. aggregateData1: {},
  421. aggregateData2: {},
  422. aggregateData3: {},
  423. aggregateData4: {},
  424. aggregateData5: {},
  425. aggregateData6: {},
  426. arrdata: [{
  427. teamlevel: 0,
  428. name: '汇总',
  429. teamnum: 0, //人数
  430. sumpremium: 0, //签单保费
  431. usernum: 0, //出单人力
  432. },
  433. {
  434. teamlevel: 2,
  435. name: '一级',
  436. teamnum: 0, //人数
  437. sumpremium: 0, //签单保费
  438. usernum: 0 //出单人力
  439. },
  440. {
  441. teamlevel: 3,
  442. name: '二级',
  443. teamnum: 0, //人数
  444. sumpremium: 0, //签单保费
  445. usernum: 0 //出单人力
  446. },
  447. {
  448. teamlevel: 4,
  449. name: '三级',
  450. teamnum: 0, //人数
  451. sumpremium: 0, //签单保费
  452. usernum: 0 //出单人力
  453. },
  454. {
  455. teamlevel: 9,
  456. name: '临时',
  457. teamnum: 0, //人数
  458. sumpremium: 0, //签单保费
  459. usernum: 0 //出单人力
  460. }
  461. ],
  462. teamStaff: {},
  463. teamStaffList: [],
  464. pageTtile: "",
  465. }
  466. },
  467. onPullDownRefresh() {
  468. this.queryData()
  469. setTimeout(function() {
  470. uni.stopPullDownRefresh();
  471. }, 1000);
  472. },
  473. async onLoad(params) {
  474. this.$http.get('/sysMenuRecord/add?type=1&menuType=5')
  475. this.pageTtile = this.userInfo.sysUser.name + "会员管理"
  476. // this.queryPeopleId = params.id
  477. if ((!!params.id) && (!!params.name)) {
  478. this.queryPeopleId = params.id;
  479. await this.queryData()
  480. } else if (!!this.userInfo) {
  481. this.queryPeopleId = this.userInfo.sysUser.id
  482. await this.queryData()
  483. uni.setNavigationBarTitle({
  484. title: this.userInfo.sysUser.name + "会员管理"
  485. });
  486. } else {
  487. this.queryPeopleId = this.userInfo.sysUser.id
  488. await this.queryData()
  489. }
  490. },
  491. onShow() {},
  492. computed: {
  493. ...mapState(['userInfo']),
  494. getHeight() {
  495. let height = uni.getSystemInfoSync().windowHeight - uni.upx2px(770);
  496. return `height: ${height}px;`;
  497. }
  498. },
  499. methods: {
  500. btn_click() {
  501. uni.navigateTo({
  502. url: '/pages/chat/chat'
  503. })
  504. },
  505. startconfirm(e) {
  506. this.startdate = e.year + '-' + e.month + '-' + e.day;
  507. this.queryData()
  508. },
  509. endconfirm(e) {
  510. this.enddate = e.year + '-' + e.month + '-' + e.day;
  511. this.queryData();
  512. },
  513. //页面返回按钮
  514. back() {
  515. uni.navigateBack({
  516. delta: 1, // 返回的页面数,如果是1表示返回上一页
  517. success: function() {}
  518. });
  519. },
  520. bindPickerChange(item) {
  521. this.queryTimeTypeIndex = item;
  522. if (item == '今天') {
  523. this.startdate = new Date()
  524. .getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate();
  525. this.enddate = new Date()
  526. .getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate();
  527. this.queryData();
  528. this.queryData();
  529. }
  530. if (item == '一周') {
  531. let strDay = new Date().getDate() - 7;
  532. if (strDay < 10) {
  533. strDay = "0" + strDay;
  534. }
  535. this.startdate = new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + strDay;
  536. this.enddate = new Date()
  537. .getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate()
  538. this.queryData();
  539. }
  540. if (item == '当月') {
  541. this.startdate = new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + '01';
  542. this.enddate = new Date()
  543. .getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate()
  544. this.queryData();
  545. }
  546. },
  547. arrchange(e) {
  548. this.teamTabIndex = e;
  549. },
  550. async queryData() {
  551. let params = {
  552. "enddate": this.enddate,
  553. "startdate": this.startdate
  554. }
  555. let res = await this.$http.post('/esm/user/queryUserCount', params);
  556. if (res.code == '200') {
  557. this.SummaryList = res.data.hzList;
  558. this.userPolicyList1 = res.data.aggregateDataLists.userPolicyList;
  559. this.userPolicyList1 = this.userPolicyList1.filter(val => val
  560. .username !== this.userInfo.sysUser.name);
  561. this.userPolicyList2 = res.data.aggregateDataLists0.userPolicyList;
  562. this.userPolicyList3 = res.data.aggregateDataLists1.userPolicyList;
  563. this.userPolicyList4 = res.data.aggregateDataLists2.userPolicyList;
  564. this.userPolicyList5 = res.data.aggregateDataLists3.userPolicyList;
  565. this.userPolicyList6 = res.data.aggregateDataLists9.userPolicyList;
  566. this.aggregateData1 = res.data.aggregateDataLists.aggregateData;
  567. this.aggregateData3 = res.data.aggregateDataLists1.aggregateData;
  568. this.aggregateData4 = res.data.aggregateDataLists2.aggregateData;
  569. this.aggregateData5 = res.data.aggregateDataLists3.aggregateData;
  570. this.aggregateData6 = res.data.aggregateDataLists9.aggregateData;
  571. this.SummaryList.map(ele => {
  572. this.arrdata.map(val => {
  573. if (ele.teamlevel.includes(val.name)) {
  574. val.teamnum = ele.teamnum;
  575. }
  576. })
  577. })
  578. }
  579. },
  580. onShowDatePicker() { //显示
  581. this.showDatePicker = true;
  582. },
  583. onSelected(e) { //选择
  584. this.showDatePicker = false;
  585. if (e) {
  586. this.dateRange = e.value;
  587. this.queryData();
  588. }
  589. },
  590. // 选择团队tap
  591. teamTabtap(index) {
  592. this.teamTabIndex = index;
  593. },
  594. toTeamMember(name, index) {
  595. this.navigate({
  596. url: "/pages/tools/team/teamMember1",
  597. success: (res) => {
  598. res.eventChannel.emit("acceptData", {
  599. item: this[name][index],
  600. date: [this.startdate, this.enddate]
  601. })
  602. }
  603. }, "navigateTo", true)
  604. }
  605. }
  606. }
  607. </script>
  608. <style lang="scss" scoped>
  609. /deep/ {
  610. .u-tab-bar {
  611. background: linear-gradient(90deg, #0052FF 0%, rgba(0, 82, 255, 0) 100%) !important;
  612. border-radius: 4px 4px 4px 4px;
  613. }
  614. }
  615. .page {
  616. height: calc(100vh - 44px);
  617. background-color: #F8FAFE;
  618. }
  619. //头部数据
  620. .header {
  621. height: 190px;
  622. background-image: url('../../../static/image/team/backheader.png');
  623. background-position: 0% 0%;
  624. background-size: cover;
  625. background-repeat: no-repeat;
  626. padding: 8px 12px;
  627. .timeShortcut {
  628. background: rgba(255, 255, 255, 0.6);
  629. border-radius: 2px;
  630. border: 1px solid #FFFFFF;
  631. text {
  632. font-size: 24rpx;
  633. padding: 3px 10px;
  634. color: #666666;
  635. }
  636. :nth-child(2) {
  637. border-left: 1px solid #fff;
  638. border-right: 1px solid #fff;
  639. }
  640. .active {
  641. color: #fff;
  642. background-color: #0052FF;
  643. border-radius: 2px;
  644. }
  645. }
  646. .timeShortcut1 {
  647. background: rgba(255, 255, 255, 0.6);
  648. border-radius: 2px;
  649. border: 1px solid #FFFFFF;
  650. text {
  651. font-size: 24rpx;
  652. padding: 3px 5px;
  653. color: #666666;
  654. }
  655. }
  656. .myPerformance {
  657. height: 104px;
  658. background: #FFFFFF;
  659. border-radius: 4px;
  660. margin-top: 48rpx;
  661. padding: 8px 10px;
  662. position: relative;
  663. image {
  664. width: 136rpx;
  665. height: 120rpx;
  666. position: absolute;
  667. right: 10px;
  668. top: -13px;
  669. }
  670. .title {
  671. font-size: 16px;
  672. color: #333333;
  673. .interaction {
  674. font-size: 12px;
  675. color: #999;
  676. }
  677. }
  678. .data {
  679. width: 100%;
  680. border-radius: 2px;
  681. padding: 6px 8px;
  682. >view {
  683. text:nth-child(1) {
  684. font-size: 15px;
  685. color: #333333;
  686. font-weight: bold;
  687. }
  688. text:nth-child(2) {
  689. font-size: 13px;
  690. color: #666666;
  691. }
  692. }
  693. }
  694. }
  695. }
  696. .listTab {
  697. background: #FFFFFF;
  698. border-radius: 12px 12px 0px 0px;
  699. border-bottom: 1px solid #EEEEEE;
  700. margin-top: -10px;
  701. .tabclass {
  702. background-color: transparent !important;
  703. }
  704. .sum {
  705. >view {
  706. width: 25%;
  707. display: flex;
  708. justify-content: center;
  709. align-items: center;
  710. }
  711. }
  712. .summary {
  713. padding: 10px 12px;
  714. >view {
  715. border-radius: 4px;
  716. padding: 4px;
  717. image {
  718. width: 18px;
  719. height: 18px;
  720. margin-left: 4px;
  721. }
  722. >text:nth-child(1) {
  723. font-size: 13px;
  724. color: #333333;
  725. font-weight: bold;
  726. }
  727. >text:nth-child(2) {
  728. font-size: 12px;
  729. color: #666666;
  730. }
  731. }
  732. >view:nth-child(1) {
  733. background-color: #FFF8F3;
  734. }
  735. >view:nth-child(2) {
  736. background-color: #F6FDF6;
  737. }
  738. >view:nth-child(3) {
  739. background-color: #F7F4FD;
  740. }
  741. >view:nth-child(4) {
  742. background-color: #F5F8FF;
  743. }
  744. }
  745. }
  746. .dataOver {
  747. padding: 12px;
  748. max-height: calc(100vh - 370px);
  749. overflow-y: auto;
  750. .team_members-data {
  751. width: 100%;
  752. background: #FFFFFF;
  753. box-shadow: 0px 2px 5px 0px #DAE3F4;
  754. border-radius: 4px;
  755. border: 1px solid #FFFFFF;
  756. margin-bottom: 8px;
  757. padding: 8px;
  758. .basicInfo {
  759. padding-bottom: 6px;
  760. margin-bottom: 6px;
  761. border-bottom: 1px solid #EEEEEE;
  762. .phone {
  763. font-size: 12px;
  764. color: #666666;
  765. }
  766. image {
  767. width: 133rpx;
  768. height: 46rpx;
  769. margin-left: 6px;
  770. }
  771. }
  772. .basicInformation {
  773. >view {
  774. text:nth-child(1) {
  775. font-size: 13px;
  776. color: #333333;
  777. font-weight: bold;
  778. }
  779. text:nth-child(2) {
  780. font-size: 12px;
  781. color: #666666;
  782. }
  783. }
  784. }
  785. }
  786. }
  787. </style>