選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

consumerDetail.vue 12 KiB

3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  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>