home.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <template>
  2. <view class="tabPage" :style="{'min-height':h+'px', 'padding-top':mt+'px'}">
  3. <cus-header title='创衡正念企业教练' bgColor="transparent" :showback="false"></cus-header>
  4. <image class="topbg" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/06/16/dbb693be-c302-4848-8e2e-a4eb263aa60c.png"></image>
  5. <div class="home_top">
  6. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/06/16/12c326b4-7328-4282-9175-a87903adbf12.png"></image>
  7. <p>Hi,我是AI团队教练助手</p>
  8. <p class="tip">可以为你提供全方位多角度的PREILL团队分析</p>
  9. </div>
  10. <div class="order">
  11. <div class="pre">
  12. <div class="top">
  13. <div class="left">
  14. <p>我的问卷</p>
  15. <p>{{wjDwc}}/{{wjYwc}}</p>
  16. </div>
  17. <div class="right">
  18. <p>待完成:<span>{{wjDwc}}</span></p>
  19. <p>已完成:<span>{{wjYwc}}</span></p>
  20. </div>
  21. </div>
  22. <div class="bottom">
  23. <div class="jd" :style="{'width':(wjDwc/(wjDwc+wjYwc)*100)+'%'}"></div>
  24. </div>
  25. </div>
  26. <div class="pre">
  27. <div class="top">
  28. <div class="left">
  29. <p>我的报告</p>
  30. <p>{{bgGr}}/{{bgTd}}</p>
  31. </div>
  32. <div class="right">
  33. <p class="gr">个人:<span>{{bgGr}}</span></p>
  34. <p>团队:<span>{{bgTd}}</span></p>
  35. </div>
  36. </div>
  37. <div class="bottom">
  38. <div class="jd green" :style="{'width':(bgGr/(bgGr+bgTd)*100)+'%'}"></div>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="title">快速访问</div>
  43. <div class="menus adfacjb">
  44. <div class="m_pre adffcacjc" @tap="toTurn('/pages/dialog')">
  45. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/06/16/b86ddd7a-6111-48d8-a9db-54a62a3446c4.png"></image>
  46. <p>智能问答</p>
  47. </div>
  48. <div class="m_pre adffcacjc" @tap="toTurn('/pages/report')">
  49. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/06/16/35023203-f2d3-4c09-bd13-31047ec68d9e.png"></image>
  50. <p>我的报告</p>
  51. </div>
  52. <div class="m_pre adffcacjc" @tap="toTurn('/pages/questionnaire')">
  53. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/06/16/79bf1765-b520-43c7-9ed0-ab1d1a84fe64.png"></image>
  54. <p>我的问卷</p>
  55. </div>
  56. </div>
  57. <Tabbar :tabbarIndex="0"></Tabbar>
  58. </view>
  59. </template>
  60. <script>
  61. import Tabbar from '@/components/CusTabbar/index.vue'
  62. export default {
  63. components:{ Tabbar },
  64. data(){
  65. return {
  66. wjDwc:0,
  67. wjYwc:0,
  68. bgGr:0,
  69. bgTd:0
  70. }
  71. },
  72. onLoad() {
  73. this.getWjList();
  74. this.getReportList();
  75. },
  76. methods:{
  77. toTurn(url){
  78. if(!url) return
  79. uni.navigateTo({
  80. url
  81. })
  82. },
  83. getWjList(){
  84. this.$api.get('/core/teammember/que/listByUser').then(res=>{
  85. if(res.data.code!==0) return this.$showToast(res.data.msg)
  86. this.wjDwc = res.data.data.filter(d=>d.status===0).length;
  87. this.wjYwc = res.data.data.filter(d=>d.status===1).length;
  88. })
  89. },
  90. getReportList(){
  91. this.$api.get('/core/report/member/personalReportList/'+'1').then(res=>{
  92. if(res.data.code!==0) return this.$showToast(res.data.msg)
  93. this.bgGr = res.data.data.filter(d=>d.type===2).length;
  94. this.bgTd = res.data.data.filter(d=>d.type===1).length;
  95. })
  96. }
  97. }
  98. }
  99. </script>
  100. <style scoped lang="less">
  101. .tabPage{
  102. background: #FFFFFF;
  103. padding: 0 30rpx 192rpx;
  104. box-sizing: border-box;
  105. .topbg{
  106. width: 100%;
  107. height: 720rpx;
  108. position: fixed;
  109. top: 0;
  110. left: 0;
  111. }
  112. .home_top{
  113. width: 100%;
  114. height: 288rpx;
  115. position: relative;
  116. background:url(https://transcend.ringzle.com/xiaozhi-app/profile/2025/06/16/537756e6-f473-479e-ab0a-1a56cce38cd2.png) no-repeat;
  117. background-size: 100% 100%;
  118. padding-left: 275rpx;
  119. box-sizing: border-box;
  120. padding-top: 71rpx;
  121. margin-top: 52rpx;
  122. &>image{
  123. width: 184rpx;
  124. height: 312rpx;
  125. position: absolute;
  126. left: 31rpx;
  127. bottom: 19rpx;
  128. }
  129. &>p{
  130. font-family: PingFang-SC, PingFang-SC;
  131. font-weight: bold;
  132. font-size: 34rpx;
  133. color: #252525;
  134. line-height: 48rpx;
  135. &.tip{
  136. font-family: PingFangSC, PingFang SC;
  137. font-weight: 400;
  138. font-size: 28rpx;
  139. color: #6B7280;
  140. line-height: 40rpx;
  141. margin-top: 11rpx;
  142. }
  143. }
  144. }
  145. .order{
  146. display: flex;
  147. justify-content: space-between;
  148. position: relative;
  149. margin-top: 20rpx;
  150. position: relative;
  151. .pre{
  152. width: calc(50% - 9rpx);
  153. background: linear-gradient( 180deg, #FFFFFF 0%, #FFFFFF 100%);
  154. box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(131,52,120,0.08);
  155. border-radius: 12rpx;
  156. padding: 40rpx 24rpx;
  157. box-sizing: border-box;
  158. .top{
  159. display: flex;
  160. align-items: center;
  161. justify-content: space-between;
  162. .left{
  163. p{
  164. font-family: PingFangSC, PingFang SC;
  165. font-weight: 400;
  166. font-size: 28rpx;
  167. color: #252525;
  168. line-height: 28rpx;
  169. &:last-child{
  170. font-family: DINAlternate, DINAlternate;
  171. font-weight: bold;
  172. font-size: 40rpx;
  173. color: #333333;
  174. line-height: 40rpx;
  175. margin-top: 30rpx;
  176. }
  177. }
  178. }
  179. .right{
  180. p{
  181. font-family: PingFangSC, PingFang SC;
  182. font-weight: 400;
  183. font-size: 24rpx;
  184. color: #657588;
  185. position: relative;
  186. padding-left: 16rpx;
  187. &::before{
  188. content: '';
  189. width: 10rpx;
  190. height: 10rpx;
  191. background: #FEA400;
  192. border-radius: 50%;
  193. position: absolute;
  194. left: 0;
  195. top: 50%;
  196. margin-top: -5rpx;
  197. }
  198. &.gr::before{
  199. background: #31D1D6;
  200. }
  201. &:last-child{
  202. margin-top: 44rpx;
  203. &::before{
  204. background: #DDE0E6;
  205. }
  206. }
  207. span{
  208. color: #1D2129;
  209. }
  210. }
  211. }
  212. }
  213. .bottom{
  214. width: 100%;
  215. height: 10rpx;
  216. background: #DFE5EE;
  217. border-radius: 3rpx;
  218. margin-top: 30rpx;
  219. position: relative;
  220. .jd{
  221. height: 10rpx;
  222. background: #FEA400;
  223. border-radius: 3rpx;
  224. position: absolute;
  225. left: 0;
  226. top: 0;
  227. &.green{
  228. background: #31D1D6;
  229. }
  230. }
  231. }
  232. }
  233. }
  234. &>.title{
  235. font-family: PingFang-SC, PingFang-SC;
  236. font-weight: bold;
  237. font-size: 34rpx;
  238. color: #111111;
  239. line-height: 48rpx;
  240. margin-top: 44rpx;
  241. }
  242. .menus{
  243. margin-top: 64rpx;
  244. .m_pre{
  245. width: calc(100% / 3);
  246. image{
  247. width: 110rpx;
  248. height: 110rpx;
  249. }
  250. p{
  251. font-family: PingFangSC, PingFang SC;
  252. font-weight: 400;
  253. font-size: 26rpx;
  254. color: #252525;
  255. line-height: 37rpx;
  256. text-align: center;
  257. margin-top: 24rpx;
  258. }
  259. }
  260. }
  261. }
  262. </style>