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.
 
 
 

548 lines
12 KiB

  1. <template>
  2. <view class="box">
  3. <view class="content">
  4. <view class="content-tips" @click="goedit()">
  5. <view class="content-first">
  6. <view class="left">
  7. <view class="img">{{customerInfo.name.slice(0,1) || '--'}}</view>
  8. <view class="test">{{customerInfo.name || '--'}}</view>
  9. <view class="edit">
  10. <image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image>
  11. </view>
  12. </view>
  13. <!-- <view class="right">
  14. <view class="point"></view>
  15. <view class="test">定金</view>
  16. </view> -->
  17. </view>
  18. <view class="content-sec">
  19. <view class="content-sec-lab">
  20. 手机号码:<view class="content-sec-lab1">{{customerInfo.phone || '--'}}</view>
  21. </view>
  22. <view class="content-sec-lab">
  23. 客户标签:
  24. <view class="content-sec-tips">投资</view>
  25. <view class="content-sec-tips">理财专用</view>
  26. <view class="content-sec-tips">学区</view>
  27. </view>
  28. <view class="content-sec-lab">
  29. 顾问姓名:<view class="content-sec-lab1">{{customerInfo.agentName}}</view>
  30. </view>
  31. <view class="content-sec-lab">
  32. 添加时间:<view class="content-sec-lab1">{{customerInfo.createTime}}</view>
  33. </view>
  34. <view class="content-sec-num">
  35. <view class="">{{customerInfo.visitRecord}}次到访</view>
  36. <view class="">{{customerInfo.fraction || '0'}}% | {{customerInfo.fraction || '0'}}分</view>
  37. </view>
  38. </view>
  39. <view class="content-last">
  40. <view class="content-last-con">
  41. 备注:{{customerInfo.demand.remarks ? customerInfo.demand.remarks : "暂无"}}
  42. </view>
  43. </view>
  44. </view>
  45. </view>
  46. <view class="tabchange">
  47. <view class="tab">
  48. <view class="tabbox">
  49. <view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">接待记录</view>
  50. </view>
  51. <view class="tabbox">
  52. <view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">跟进记录</view>
  53. </view>
  54. <view class="tabbox">
  55. <view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">执行率</view>
  56. </view>
  57. </view>
  58. <view class="tabactive1" v-if="activeTotal==0">
  59. <view class="content-tips" v-for="(item,index) in Thevisitingrecords" :key="index">
  60. <view class="content-first">
  61. <view class="left">
  62. <view class="img">{{item.agentName.slice(0,1) || '--'}}</view>
  63. <view class="name">{{item.agentName || ''}}</view>
  64. <view class="status">代接待</view>
  65. </view>
  66. <!-- <view class="right">
  67. <view class="point"></view>
  68. <view class="">优秀案例</view>
  69. </view> -->
  70. </view>
  71. <view class="content-sec">
  72. <view class="left">
  73. <view class="cus">客户:{{item.name || ''}} |</view>
  74. <view class="arriveNum">{{item.visitRecord}}次到访</view>
  75. </view>
  76. <view class="right">{{item.fraction || '0'}}% | {{item.fraction || '0'}}分</view>
  77. </view>
  78. <view class="content-last">{{item.createTime}} | 80分钟</view>
  79. </view>
  80. </view>
  81. <view class="tabactive2" v-if="activeTotal==1">
  82. <view class="tab2-tips">
  83. <view class="tab2-first">
  84. <view class="tab2-first-1">
  85. <view class="tab2-first-left">
  86. <view class="img">宋</view>
  87. <view class="name">宋幸运</view>
  88. </view>
  89. <view class="tab2-first-right">2021-07-20 16:00:30</view>
  90. </view>
  91. <view class="tab2-first-foot">有意向,想要更多优惠</view>
  92. </view>
  93. <view class="tab2-sec">
  94. <view class="tab-sec-edit">编辑记录</view>
  95. </view>
  96. </view>
  97. <view class="tab2-tips">
  98. <view class="tab2-first">
  99. <view class="tab2-first-1">
  100. <view class="tab2-first-left">
  101. <view class="img">宋</view>
  102. <view class="name">宋幸运</view>
  103. </view>
  104. <view class="tab2-first-right">2021-07-20 16:00:30</view>
  105. </view>
  106. <view class="tab2-first-foot">有意向,想要更多优惠</view>
  107. </view>
  108. <view class="tab2-sec">
  109. <view class="tab-sec-edit">编辑记录</view>
  110. </view>
  111. </view>
  112. </view>
  113. <view class="tabactive" v-if="activeTotal==2">执行率</view>
  114. </view>
  115. <view class="pon-foot">
  116. <view class="foot-tab" @click="goRemind">添加提醒</view>
  117. <!-- <view class="foot-tab">拨打电话</view> -->
  118. <view class="foot-tab">写跟进</view>
  119. </view>
  120. </view>
  121. </template>
  122. <script>
  123. export default{
  124. data(){
  125. return{
  126. activeTotal: 0,
  127. customerId:'',
  128. customerInfo:{
  129. name:'',
  130. createTime:'',
  131. agentName:''
  132. },
  133. Thevisitingrecords:[]
  134. }
  135. },
  136. onLoad(options) {
  137. this.customerId = options.id;
  138. },
  139. onShow() {
  140. this.getCustomerInfo()
  141. this.tabtimetap(0)
  142. },
  143. methods:{
  144. // 获取到访记录
  145. getVisitList() {
  146. this.$u.get("/customer/findByPhoneAndProject?id=" + this.customerId, ).then(res => {
  147. this.Thevisitingrecords = res
  148. })
  149. },
  150. // 获取客户信息
  151. getCustomerInfo() {
  152. const that = this;
  153. this.$u.get("/customer/findById", {
  154. id: this.customerId
  155. }).then(res => {
  156. this.customerInfo = res;
  157. })
  158. },
  159. tabtimetap(idx){
  160. this.activeTotal=idx
  161. if(idx==0){
  162. this.getVisitList()
  163. }
  164. },
  165. // 去编辑
  166. goedit(){
  167. // console.log('去编辑')
  168. uni.navigateTo({
  169. url:'/pages/center/consumer/edit'
  170. })
  171. },
  172. // 去添加提醒
  173. goRemind(){
  174. uni.navigateTo({
  175. url:'/pages/center/consumer/remind'
  176. })
  177. },
  178. }
  179. }
  180. </script>
  181. <style lang="scss" scoped>
  182. .box {
  183. width: 100%;
  184. height: 100%;
  185. background: #F8F8F8;
  186. }
  187. .tab{
  188. height: 88rpx;
  189. border-bottom: 1px solid #E0E0E0;
  190. background: #FFFFFF;
  191. display: flex;
  192. align-items: center;
  193. .tabbox {
  194. flex: 1;
  195. height: 100%;
  196. text-align: center;
  197. line-height: 92rpx;
  198. color: #666666;
  199. font-size: 28rpx;
  200. display: flex;
  201. justify-content: center;
  202. .activecllasscet {
  203. border-bottom: 2px solid #2671E2;
  204. color: #2671E2;
  205. font-weight: 600;
  206. }
  207. }
  208. }
  209. .content{
  210. // height: 1000rpx;/
  211. overflow: hidden;
  212. border-top: 1px solid #E0E0E0;
  213. .content-tips{
  214. background: #fff;
  215. // box-sizing: border-box;
  216. margin-bottom: 20rpx;
  217. overflow: hidden;
  218. .content-first{
  219. padding: 19rpx 30rpx;
  220. display: flex;
  221. justify-content: space-between;
  222. box-sizing: border-box;
  223. // border-top: 1px solid #E0E0E0;
  224. font-weight: 400;
  225. color: #292929;
  226. height: 90rpx;
  227. font-size: 30rpx;
  228. line-height: 30rpx;
  229. .left{
  230. display: flex;
  231. .img{
  232. // margin-top: 19rpx;
  233. width: 52rpx;
  234. height: 52rpx;
  235. border: 1px solid #E0E0E0;
  236. border-radius: 50%;
  237. text-align: center;
  238. line-height: 50rpx;
  239. }
  240. .test{
  241. margin-top: 11rpx;
  242. margin-left: 20rpx;
  243. font-weight: 500;
  244. color: #333333;
  245. }
  246. .edit{
  247. height: 30rpx;
  248. width: 30rpx;
  249. margin-left: 30rpx;
  250. margin-top: 11rpx;
  251. image{
  252. width: 100%;
  253. height: 100%;
  254. }
  255. }
  256. }
  257. .right{
  258. display: flex;
  259. .point{
  260. width: 12rpx;
  261. height: 12rpx;
  262. background: #2B6EFF;
  263. border-radius: 50%;
  264. margin-right: 9rpx;
  265. margin-top: 20rpx;
  266. }
  267. .test{
  268. margin-top: 11rpx;
  269. }
  270. }
  271. }
  272. .content-sec{
  273. border-top: 1px solid #E0E0E0;
  274. padding: 0 30rpx;
  275. height: 270rpx;
  276. position: relative;
  277. .content-sec-lab{
  278. margin-top: 30rpx;
  279. display: flex;
  280. font-size: 30rpx;
  281. font-weight: 400;
  282. color: #666666;
  283. line-height: 30rpx;
  284. .content-sec-lab1{
  285. color: #333333;
  286. }
  287. .content-sec-tips{
  288. max-width:174rpx ;
  289. height: 46rpx;
  290. background: #F2F2F2;
  291. border-radius: 6rpx;
  292. text-align: center;
  293. line-height: 26rpx;
  294. overflow: hidden;
  295. text-overflow:ellipsis;
  296. white-space: nowrap;
  297. font-size: 26rpx;
  298. font-weight: 400;
  299. color: #333333;
  300. margin-right: 24rpx;
  301. box-sizing: border-box;
  302. padding: 10rpx 24rpx;
  303. }
  304. }
  305. .content-sec-num{
  306. position: absolute;
  307. width: 190rpx;
  308. height: 90rpx;
  309. background: #F4F8FD;
  310. border-radius: 12rpx;
  311. font-weight: 400;
  312. color: #2671E2;
  313. line-height: 45rpx;
  314. bottom: 30rpx;
  315. right: 30rpx;
  316. text-align: center;
  317. }
  318. }
  319. .content-last{
  320. padding: 30rpx;
  321. height: 168rpx;
  322. .content-last-con{
  323. width: 690rpx;
  324. height: 108rpx;
  325. background: #F8F8F8;
  326. border-radius: 8rpx;
  327. padding: 14rpx 20rpx;
  328. font-size: 28rpx;
  329. font-weight: 400;
  330. color: #333333;
  331. line-height: 40rpx;
  332. }
  333. }
  334. }
  335. }
  336. .tabchange{
  337. // background: #FFFFFF;
  338. overflow: hidden;
  339. .tabactive1{
  340. .content-tips{
  341. background: #fff;
  342. padding: 0 30rpx;
  343. box-sizing: border-box;
  344. overflow: hidden;
  345. margin-bottom: 20rpx;
  346. .content-first{
  347. margin-top: 19rpx;
  348. display: flex;
  349. justify-content: space-between;
  350. .left{
  351. display: flex;
  352. .img{
  353. width: 52rpx;
  354. height: 52rpx;
  355. background: #FFFFFF;
  356. border: 1px solid #C9C9C9;
  357. border-radius: 50%;
  358. text-align: center;
  359. line-height: 52rpx;
  360. }
  361. .name{
  362. font-weight: 600;
  363. color: #333333;
  364. margin-left: 20rpx;
  365. margin-top: 11rpx;
  366. }
  367. .status{
  368. width: 110rpx;
  369. height: 42rpx;
  370. background: #FFF9F5;
  371. border-radius: 4rpx;
  372. font-size: 26rpx;
  373. font-weight: 400;
  374. color: #EC8D49;
  375. line-height: 42rpx;
  376. text-align: center;
  377. margin-left: 19rpx;
  378. margin-top: 11rpx;
  379. }
  380. }
  381. .right{
  382. display: flex;
  383. margin-top: 11rpx;
  384. .point{
  385. width: 12rpx;
  386. height: 12rpx;
  387. background: #2B6EFF;
  388. border-radius: 50%;
  389. margin-right: 9rpx;
  390. margin-top: 16rpx;
  391. }
  392. }
  393. }
  394. .content-sec{
  395. display: flex;
  396. justify-content: space-between;
  397. margin-top: 19rpx;
  398. .left{
  399. display: flex;
  400. .cus{
  401. font-size: 30rpx;
  402. font-weight: 400;
  403. color: #666666;
  404. line-height: 30rpx;
  405. }
  406. .arriveNum{
  407. font-size: 30rpx;
  408. font-weight: 400;
  409. line-height: 30rpx;
  410. margin-left: 10rpx;
  411. }
  412. }
  413. .right{
  414. width: 192rpx;
  415. height: 46rpx;
  416. background: #F4F8FD;
  417. border-radius: 6rpx;
  418. text-align: center;
  419. line-height: 46rpx;
  420. font-weight: 400;
  421. color: #2671E2;
  422. }
  423. }
  424. .content-last{
  425. margin: 30rpx 0;
  426. font-size: 30rpx;
  427. font-weight: 400;
  428. color: #666666;
  429. line-height: 30rpx;
  430. }
  431. }
  432. }
  433. .tabactive2{
  434. .tab2-tips{
  435. background: #fff;
  436. height: 270rpx;
  437. overflow: auto;
  438. margin-bottom: 20rpx;
  439. .tab2-first{
  440. // height: 150rpx;
  441. border-bottom: 1px solid #E0E0E0;
  442. padding: 0 30rpx;
  443. margin-top: 19rpx;
  444. box-sizing: border-box;
  445. .tab2-first-1{
  446. display: flex;
  447. justify-content: space-between;
  448. // height: 75rpx;
  449. .tab2-first-left{
  450. display: flex;
  451. .img{
  452. width: 52rpx;
  453. height: 52rpx;
  454. background: #FFFFFF;
  455. border: 1px solid #C9C9C9;
  456. border-radius: 50%;
  457. text-align: center;
  458. line-height: 52rpx;
  459. }
  460. .name{
  461. font-weight: 600;
  462. color: #333333;
  463. margin-left: 20rpx;
  464. margin-top: 11rpx;
  465. }
  466. }
  467. .tab2-first-right{
  468. font-size: 30rpx;
  469. font-weight: 400;
  470. color: #666666;
  471. margin-top: 11rpx;
  472. }
  473. }
  474. .tab2-first-foot{
  475. margin-top: 19rpx;
  476. margin-bottom: 30rpx;
  477. font-size: 30rpx;
  478. font-weight: 400;
  479. color: #666666;
  480. line-height: 30rpx;
  481. }
  482. }
  483. .tab2-sec{
  484. height: 120rpx;
  485. padding: 30rpx;
  486. float: right;
  487. .tab-sec-edit{
  488. width: 156rpx;
  489. height: 60rpx;
  490. background: #FFFFFF;
  491. border-radius: 4px;
  492. border: 1px solid #2671E2;
  493. text-align: center;
  494. line-height: 60rpx;
  495. font-weight: 400;
  496. color: #2671E2;
  497. }
  498. }
  499. }
  500. }
  501. }
  502. .pon-foot{
  503. position: fixed;
  504. width: 750rpx;
  505. height: 100rpx;
  506. background: #FFFFFF;
  507. box-shadow: 0px -2rpx 8rpx 0rpx rgba(224, 224, 224, 0.5);
  508. bottom: 0;
  509. display: flex;
  510. justify-content: space-around;
  511. align-items: center;
  512. // padding-top: 24rpx;
  513. box-sizing: border-box;
  514. // padding: ;
  515. .foot-tab{
  516. text-align: center;
  517. width: 270rpx;
  518. height: 70rpx;
  519. line-height: 70rpx;
  520. background: #2671E2;
  521. box-shadow: 0px -2rpx 8rpx 0px rgba(224, 224, 224, 0.5);
  522. border-radius: 6rpx;
  523. font-size: 30rpx;
  524. font-weight: 400;
  525. color: #FFFFFF;
  526. }
  527. }
  528. </style>