Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

1586 wiersze
41 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 v-if="customerInfo.level.length==0"></view>
  8. <view class="img" v-else-if="customerInfo.level==1">A</view>
  9. <view class="img" v-else-if="customerInfo.level==2">B</view>
  10. <view class="img" v-else-if="customerInfo.level==3">C</view>
  11. <view class="img" v-else-if="customerInfo.level==4">D</view>
  12. <view class="test">{{customerInfo.name || '--'}}</view>
  13. <view class="edit" v-if="isEdit">
  14. <image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image>
  15. </view>
  16. </view>
  17. <view class="right">
  18. <view class="test">销讲执行:<text class="blue">{{ customerInfo.fraction || 0 }}%</text></view>
  19. </view>
  20. </view>
  21. <view class="content-sec">
  22. <view class="content-sec-lab">
  23. <view class="content-sec-lab1">
  24. 手机号码:{{customerInfo.phone&&customerInfo.isShow==1?customerInfo.phone.length==11?customerInfo.phone.substr(0, 3) + '****' + customerInfo.phone.substr(7):customerInfo.phone:customerInfo.phone&&customerInfo.isShow!=1?customerInfo.phone: '--'}}
  25. </view>
  26. <view class="content-sec-lab1" style="width: 44%">到访次数:{{ customerInfo.visitRecord || 0 }}次/{{
  27. customerInfo.mm || 0
  28. }}min</view>
  29. </view>
  30. <view class="content-sec-lab">
  31. <view class="content-sec-lab1">挖掘执行:{{ customerInfo.wordFraction || 0 }}%</view>
  32. <view class="content-sec-lab1" style="width: 44%">挖掘成功:{{ customerInfo.wordFinishFraction || 0 }}%</view>
  33. <!-- <view class="content-sec-lab1" @click.stop="tipupon" style="width: 44%">画像标签:<text
  34. class="look">{{
  35. customerInfo.demand.cusSemanticWordsList?customerInfo.demand.cusSemanticWordsList.length:0}}</text><text
  36. class="look1">查看</text></view> -->
  37. </view>
  38. <view class="content-sec-lab">
  39. <view class="content-sec-lab1">所属顾问:{{ customerInfo.agentName || "--" }}</view>
  40. <view class="content-sec-lab1" style="width: 44%">客户阶段:{{ customerInfo.stageName || "--" }}
  41. </view>
  42. </view>
  43. <view class="content-sec-lab">
  44. <view class="content-sec-lab1">上次到访:{{ customerInfo.createTime || "--" }}</view>
  45. </view>
  46. </view>
  47. <view class="content-last">
  48. <view class="content-last-con">
  49. 备注:{{customerInfo.remarks ? customerInfo.remarks : "暂无"}}
  50. </view>
  51. </view>
  52. </view>
  53. </view>
  54. <view class="tab">
  55. <view class="tabbox">
  56. <view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">接待记录</view>
  57. </view>
  58. <view class="tabbox">
  59. <view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">跟进记录</view>
  60. </view>
  61. <view class="tabbox">
  62. <view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">销讲执行率</view>
  63. </view>
  64. <view class="tabbox">
  65. <view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">挖掘执行率</view>
  66. </view>
  67. </view>
  68. <view class="tabchange">
  69. <view style="min-height: 700rpx;">
  70. <!-- 接待记录 -->
  71. <view class="tabactive1" v-if="activeTotal==0">
  72. <view v-if="Thevisitingrecords.length==0"
  73. style="width: 100%;height: 100%;display: flex;align-items: center;">
  74. <view style="width: 100%;padding-top: 60rpx;">
  75. <view style="width: 100%;text-align: center;">
  76. <image style="width: 220rpx;height: 200rpx;"
  77. src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image>
  78. </view>
  79. <view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
  80. </view>
  81. </view>
  82. <view v-if="Thevisitingrecords.length!=0" class="content-tips"
  83. v-for="(item,index) in Thevisitingrecords" :key="index" @click="tapThevisiting(item)">
  84. <view class="content-first">
  85. <view class="left">
  86. <view class="name">{{item.agentName || '--'}}</view>
  87. <view class="status" v-if="item.replaceReception==1">代接待</view>
  88. </view>
  89. </view>
  90. <view class="content-sec">
  91. <view class="left">
  92. <view class="cus" style="line-height: 46rpx;">客户:{{item.name || '--'}} |</view>
  93. <view style="line-height: 46rpx;" class="arriveNum">{{item.visitRecord || '0'}}次到访
  94. </view>
  95. </view>
  96. <view class="right">{{item.fraction || '0'}}%</view>
  97. </view>
  98. <view class="content-last">{{item.createTime}} | {{item.mm || 0}}min</view>
  99. </view>
  100. </view>
  101. <!-- 跟进记录 -->
  102. <view class="tabactive2" v-if="activeTotal==1" style="min-height: 600rpx;">
  103. <view v-if="fllowList.length==0"
  104. style="width: 100%;height:600rpx;display: flex;align-items: center;background-color: #FFFFFF;">
  105. <view style="width: 100%;padding-top: 60rpx;">
  106. <view style="width: 100%;text-align: center;">
  107. <image style="width: 220rpx;height: 200rpx;"
  108. src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image>
  109. </view>
  110. <view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
  111. </view>
  112. </view>
  113. <view v-if="fllowList.length!=0" class="tab2-tips" v-for="(item,index) in fllowList" :key="index">
  114. <view class="tab2-first">
  115. <view class="tab2-first-1">
  116. <view class="tab2-first-left">
  117. <view class="img">{{item.agentName.slice(0,1) || '--'}}</view>
  118. <view class="name">{{item.agentName || '||'}}</view>
  119. </view>
  120. <view class="tab2-first-right">{{item.createTime}}</view>
  121. </view>
  122. <view class="tab2-first-foot">跟进内容:{{item.remarks || '暂无'}}</view>
  123. </view>
  124. <!-- <view class="tab2-sec">
  125. <view class="tab-sec-edit">编辑记录</view>
  126. </view> -->
  127. </view>
  128. </view>
  129. <!-- 销讲执行率 -->
  130. <view class="ratecenter" v-if="activeTotal==2">
  131. <view
  132. style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;">
  133. <view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标
  134. </view>
  135. <view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率
  136. </view>
  137. </view>
  138. <view v-if="ratelist.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;">
  139. <view style="width: 100%;padding-top: 60rpx;">
  140. <view style="width: 100%;text-align: center;">
  141. <image style="width: 220rpx;height: 200rpx;"
  142. src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image>
  143. </view>
  144. <view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
  145. </view>
  146. </view>
  147. <view class="Level-box" v-if="ratelist.length!=0" v-for="(item,index) in ratelist" :key="index">
  148. <view class="Level1che" @click="changeshow(item,1)">
  149. <view class="title1">{{item.name}}</view>
  150. <view class="leve1-jindu">
  151. <view class="jindutiao">
  152. <view class="huanxing" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
  153. <view class="text">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%
  154. </view>
  155. </view>
  156. </view>
  157. <view class="jiantobox">
  158. <image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png"
  159. mode="" />
  160. <image v-else class="arrow" src="/static/images/up.png" mode="" />
  161. </view>
  162. </view>
  163. <view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
  164. <view class="Level2che" @click="changeshow2(subitem,1)">
  165. <view class="title1 u-line-1">{{subitem.name}}</view>
  166. <view class="leve1-jindu">
  167. <view class="zhixing" v-if="!subitem.selected">已执行</view>
  168. <view class="zhixing2" v-else>未执行</view>
  169. </view>
  170. <view class="jiantobox">
  171. <image v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png"
  172. mode="" />
  173. <image v-else class="arrow" src="/static/images/up.png" mode="" />
  174. </view>
  175. </view>
  176. <view class="hsnrtest" v-if="subitem.show">话术内容</view>
  177. <view class="Level3che" @tap="clickaudeopal(che)" v-if="subitem.show"
  178. v-for="(che,inc) in subitem.children" :key='inc'>
  179. <!-- che.selected==0 为本次接待-蓝色 ,viewFlag==1 为2次接待-黄色 未执行-灰色-->
  180. <view class="title1"
  181. :style="che.viewFlag==1?'color:#FF8C13':che.selected!=0?'color: #666':''">
  182. {{inc+1}}.{{che.name}}
  183. </view>
  184. <view class="jiantobox">
  185. <image v-if="che.selected==0&&che.viewFlag != 1" class="arrow"
  186. src="/static/images/rate-checked.png" mode="" />
  187. <image v-else-if="che.selected==0&&che.viewFlag == 1" class="arrow"
  188. src="/static/images/checked-yellow.png" mode="" />
  189. <image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" />
  190. </view>
  191. </view>
  192. <view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view>
  193. </view>
  194. </view>
  195. </view>
  196. <!-- 需求挖掘执行率 -->
  197. <view class="xuqiu" v-if="activeTotal==3">
  198. <!-- 暂无数据 -->
  199. <view v-if="KeyWordsfractionList.length==0"
  200. style="width: 100%;height: 100%;display: flex;align-items: center;">
  201. <view style="width: 100%;padding-top: 60rpx;">
  202. <view style="width: 100%;text-align: center;">
  203. <image style="width: 220rpx;height: 200rpx;"
  204. src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image>
  205. </view>
  206. <view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
  207. </view>
  208. </view>
  209. <!-- 需求挖掘执行率 -->
  210. <view v-if="KeyWordsfractionList.length">
  211. <view class="top-box">
  212. <view style="width:50%;text-align:center">挖掘执行:{{customerInfo.wordFraction||0}}%</view>
  213. <view style="width:50%;text-align:center">挖掘成功:{{percent||0}}%</view>
  214. </view>
  215. <view
  216. style="
  217. width: 100%;
  218. height: 80rpx;
  219. border-bottom: 1rpx solid #e0e0e0;
  220. display: flex;
  221. align-items: center;
  222. background: #fff;
  223. "
  224. >
  225. <view
  226. style="
  227. flex: 1;
  228. font-size: 28rpx;
  229. color: #333333;
  230. font-weight: 600;
  231. text-indent: 50rpx;
  232. "
  233. >指标</view
  234. >
  235. <view
  236. style="
  237. flex: 1;
  238. font-size: 28rpx;
  239. color: #333333;
  240. font-weight: 600;
  241. text-indent: 70rpx;
  242. "
  243. >执行率</view
  244. >
  245. <view
  246. style="
  247. flex: 1;
  248. font-size: 28rpx;
  249. color: #333333;
  250. font-weight: 600;
  251. text-indent: 70rpx;
  252. "
  253. >匹配标签</view
  254. >
  255. <view style="flex: 0 0 30rpx;"></view>
  256. </view>
  257. <!-- 暂无数据 -->
  258. <view
  259. v-if="KeyWordsfractionList.length == 0"
  260. style="width: 100%; height: 100%; display: flex; align-items: center"
  261. >
  262. <view style="width: 100%; padding-top: 60rpx">
  263. <view style="width: 100%; text-align: center">
  264. <image
  265. style="width: 220rpx; height: 200rpx"
  266. src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png"
  267. mode=""
  268. ></image>
  269. </view>
  270. <view
  271. style="
  272. text-align: center;
  273. width: 100%;
  274. margin-top: 20rpx;
  275. color: #999999;
  276. "
  277. >暂无数据</view
  278. >
  279. </view>
  280. </view>
  281. <!-- 挖掘执行话术展示 -->
  282. <view
  283. class="Level-box"
  284. v-else
  285. v-for="(item, index) in KeyWordsfractionList"
  286. :key="index"
  287. >
  288. <view class="Level1che" @click="changeshowlevel1(item, 1)">
  289. <view class="title1" style="flex: 1">{{ item.name }}</view>
  290. <view class="Level1-middle" style="flex: 2; display: flex">
  291. <view class="item" style="flex: 1; text-align: center"
  292. >执行{{ item.fraction || 0 }}%</view
  293. >
  294. <view class="item" style="flex:1;text-align:center;" v-if="item.keywordsList&&item.keywordsList.length">已匹配({{
  295. item.keywordsList&&item.keywordsList.length
  296. }})</view>
  297. <view class="item" v-else style="flex:1;text-align:center;">未匹配</view>
  298. </view>
  299. <view class="jiantobox">
  300. <image
  301. v-if="!item.show"
  302. class="arrow rotatearrow"
  303. src="/static/images/down.png"
  304. mode=""
  305. />
  306. <image v-else class="arrow" src="/static/images/up.png" mode="" />
  307. </view>
  308. </view>
  309. <!-- 话术在一级下 -->
  310. <view v-if="item.children&&item.children.length==0">
  311. <view class="hhhbox" v-if="item.show" style="padding: 30rpx;">
  312. <view class="hsnrtest" style="font-size:30rpx;color: #333"
  313. >客户标签:{{ getKeywordsList(item.keywordsList) }}</view
  314. >
  315. <view class="hsnrtest">话术内容:</view>
  316. <view v-if="item.modelList.length==0">暂无话术</view>
  317. <view class="Level3che" v-for="(che,inc) in item.modelList" :key='inc'>
  318. <view class="title1"
  319. :style="che.isAskQuestions==2?'color:#FF8C13':che.isAskQuestions==0?'':'color: #666'">
  320. {{inc+1}}.{{che.showFormatExpression}}
  321. </view>
  322. <view class="jiantobox">
  323. <!-- 0本次选中 1未选中 2上次选中 -->
  324. <image v-if="che.isAskQuestions==0" class="arrow"
  325. src="/static/images/rate-checked.png" mode="" />
  326. <image v-else-if="che.isAskQuestions==2" class="arrow"
  327. src="/static/images/checked-yellow.png" mode="" />
  328. <image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" />
  329. </view>
  330. </view>
  331. </view>
  332. </view>
  333. <!-- 话术在二级下 -->
  334. <view v-if="item.children&&item.children.length">
  335. <view
  336. class="hhhbox"
  337. v-if="item.show"
  338. v-for="(subitem, i) in item.children"
  339. :key="i"
  340. >
  341. <view class="Level2che" @click="changeshow2(subitem, 1)">
  342. <view class="title1 u-line-1">{{ subitem.name }}</view>
  343. <view class="leve1-jindu">
  344. <view class="zhixing" v-if="subitem.isAskQuestions == 0"
  345. >已执行</view
  346. >
  347. <view class="zhixing2" v-else>未执行</view>
  348. </view>
  349. <view class="leve1-jindu">
  350. <view class="zhixing" v-if="subitem.selected == 0">已匹配</view>
  351. <view class="zhixing2" v-else>未匹配</view>
  352. </view>
  353. <view class="jiantobox">
  354. <image
  355. v-if="!subitem.show"
  356. class="arrow rotatearrow"
  357. src="/static/images/down.png"
  358. mode=""
  359. />
  360. <image
  361. v-else
  362. class="arrow"
  363. src="/static/images/up.png"
  364. mode=""
  365. />
  366. </view>
  367. </view>
  368. <view v-if="subitem.show" style="padding: 30rpx 0">
  369. <view class="hsnrtest" style="font-size: 30rpx;color: #333"
  370. >客户标签:{{ getKeywordsList(subitem.keywordsList) }}</view
  371. >
  372. <view class="hsnrtest">话术内容:</view>
  373. <view v-if="subitem.modelList.length==0">暂无话术</view>
  374. <view
  375. class="Level3che"
  376. v-for="(che, inc) in subitem.modelList"
  377. :key="inc"
  378. >
  379. <view
  380. class="title1"
  381. :style="
  382. che.isAskQuestions == 2
  383. ? 'color:#FF8C13'
  384. : che.isAskQuestions == 0
  385. ? ''
  386. : 'color: #666'
  387. "
  388. >{{ inc + 1 }}.{{
  389. che.showFormatExpression
  390. }}</view
  391. >
  392. <view class="jiantobox">
  393. <image
  394. v-if="che.isAskQuestions == 0"
  395. class="arrow"
  396. src="/static/images/rate-checked.png"
  397. mode=""
  398. />
  399. <image
  400. v-else-if="che.isAskQuestions == 2"
  401. class="arrow"
  402. src="/static/images/checked-yellow.png"
  403. mode=""
  404. />
  405. <image
  406. v-else
  407. class="arrow"
  408. src="/static/images/rate-nocheck.png"
  409. mode=""
  410. />
  411. </view>
  412. </view>
  413. </view>
  414. </view>
  415. </view>
  416. </view>
  417. </view>
  418. </view>
  419. </view>
  420. </view>
  421. <view class="pon-foot" v-if="buttonisshow">
  422. <view class="foot-tab" @click="goRemind">添加提醒</view>
  423. <view class="foot-tab" @click="followRecordAdd()">写跟进</view>
  424. </view>
  425. <!-- closeable -->
  426. <u-popup v-model="tipshow" mode="center" mask-close-able width="560rpx" border-radius="14">
  427. <scroll-view scroll-y="true" style="height: 440rpx;">
  428. <view style="display: flex; flex-wrap: wrap; padding:20rpx;">
  429. <view class="upon-sec-tips" v-for="(item,index) in customerInfo.demand.cusSemanticWordsList"
  430. :key="index">
  431. {{item.name}}
  432. </view>
  433. </view>
  434. </scroll-view>
  435. </u-popup>
  436. <!-- 加载组件 -->
  437. <loading v-model="LOADING"></loading>
  438. </view>
  439. </template>
  440. <script>
  441. import loading from "@/components/loading/index.vue"
  442. export default {
  443. components: {
  444. loading
  445. },
  446. data() {
  447. return {
  448. percent: 0,
  449. tabactive: 0,
  450. activeTotal: 0,
  451. customerId: '',
  452. tipshow: false,
  453. customerInfo: {
  454. name: '',
  455. createTime: '',
  456. agentName: ''
  457. },
  458. Thevisitingrecords: [],
  459. totalRate: [],
  460. ratelist: [],
  461. fllowList: [],
  462. KeyWordsfractionList: [], //需求挖掘话术list
  463. userInfo: {},
  464. buttonisshow: false
  465. }
  466. },
  467. computed: {
  468. isEdit() {
  469. let arr = uni.getStorageSync('weapp_session_Menu_data')
  470. return arr.findIndex(item => {
  471. return item.name == '客户编辑'
  472. }) == -1 ? false : true
  473. }
  474. },
  475. onLoad(options) {
  476. this.LOADING = true
  477. this.customerId = options.id;
  478. },
  479. onShow() {
  480. this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
  481. if (this.userInfo.dataCode == 6) {
  482. this.buttonisshow = true;
  483. } else {
  484. this.buttonisshow = false
  485. }
  486. this.getCustomerInfo()
  487. this.tabtimetap(0)
  488. },
  489. methods: {
  490. // 计算挖掘执行的完成率
  491. getPercent(){
  492. let countArr = this.KeyWordsfractionList.filter(item=> item.selected==0)
  493. console.log(countArr)
  494. this.percent = (countArr.length / this.KeyWordsfractionList.length)*100
  495. console.log(this.percent.toFixed(0))
  496. this.percent = this.percent.toFixed(0)
  497. },
  498. //挖掘率话术客户标签展示
  499. getKeywordsList(list) {
  500. let keywords = [];
  501. if (list && list.length) {
  502. keywords = list.map((item) => item.name);
  503. } else {
  504. return "--";
  505. }
  506. return keywords.join(",");
  507. },
  508. changeshowlevel1(item, type) {
  509. console.log(item)
  510. item.show = !item.show
  511. },
  512. max100(num) {
  513. if (num > 100) {
  514. return 100;
  515. } else if (!num) {
  516. return 0;
  517. } else {
  518. return num;
  519. }
  520. },
  521. // 客户详情需求挖掘话术
  522. getfindKeyWordsBycusId() {
  523. this.$u
  524. .get("/cusLvStatistics/findKeyWordsBycusId?cusId=" + this.customerId)
  525. .then((res) => {
  526. // console.log(res)
  527. if (res.length) {
  528. res.forEach((item, index) => {
  529. item.show = false;
  530. if (index == 0) {
  531. item.show = true;
  532. }
  533. if (item.children && item.children.length) {
  534. item.children.forEach((obj, i) => {
  535. obj.show = false;
  536. if (i == 0 && index == 0) {
  537. obj.show = true;
  538. }
  539. });
  540. }
  541. });
  542. this.KeyWordsfractionList = res;
  543. this.getPercent()
  544. } else {
  545. this.KeyWordsfractionList = [];
  546. }
  547. });
  548. },
  549. // 获取到访记录
  550. getVisitList() {
  551. this.$u.get("/customer/findByPhoneAndProject?id=" + this.customerId, ).then(res => {
  552. this.Thevisitingrecords = res
  553. })
  554. },
  555. // 获取客户信息
  556. getCustomerInfo() {
  557. const that = this;
  558. this.$u.get("/customer/findById", {
  559. id: this.customerId
  560. }).then(res => {
  561. this.LOADING = false
  562. if (res.fraction == null) {
  563. res.fraction = '0';
  564. }
  565. if (res.demand.cusSemanticWordsList != null) {
  566. res.demand.cusSemanticWords = res.demand.cusSemanticWordsList
  567. res.demand.cusSemanticWordsList.forEach(che => {
  568. if (che.isInterval == 0) {
  569. che.name = che.name + che.unit + '-' + che.endName + che.unit;
  570. }
  571. })
  572. // res.demand.cusSemanticWordsList = res.demand.cusSemanticWordsList.slice(0, 3)
  573. }
  574. // console.log(res.demand.cusSemanticWords,'关键字')
  575. this.customerInfo = res;
  576. }).catch(e => {
  577. this.LOADING = false
  578. })
  579. },
  580. tabtimetap(idx) {
  581. this.activeTotal = idx
  582. if (idx == 0) {
  583. this.getVisitList()
  584. } else if (idx == 1) {
  585. this.getFollowList()
  586. } else {
  587. this.getRatelist()
  588. this.getfindKeyWordsBycusId()
  589. }
  590. },
  591. tapThevisiting(item) {
  592. uni.showLoading({
  593. title: '加载中',
  594. mask: true
  595. });
  596. if (item.yon != 0) {
  597. setTimeout(function() {
  598. uni.hideLoading();
  599. }, 2000);
  600. uni.showToast({
  601. icon: 'none',
  602. title: '暂无录音',
  603. duration: 2000
  604. });
  605. return
  606. } else {
  607. const parames = {
  608. pageNum: 1,
  609. pageSize: 100,
  610. query: {
  611. customerId: item.id,
  612. }
  613. }
  614. var item = {
  615. bg: 0,
  616. customerId: item.id,
  617. id: ''
  618. }
  619. uni.setStorageSync("entrance", 1); //写入缓存
  620. uni.setStorageSync("searchobj", item); //写入缓存
  621. this.$u.post("/corpus/findByPage", parames).then(res => {
  622. setTimeout(function() {
  623. uni.hideLoading();
  624. }, 2000);
  625. if (res == null) {
  626. uni.showToast({
  627. icon: "none",
  628. title: "暂无音频"
  629. })
  630. return
  631. }
  632. if (res[0].merge == 0) {
  633. let newobj = res[0];
  634. uni.navigateTo({
  635. url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=2&wordFraction=${this.customerInfo.wordFraction}`
  636. })
  637. } else {
  638. let newobj = res[0];
  639. uni.navigateTo({
  640. url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=1&wordFraction=${this.customerInfo.wordFraction}`
  641. })
  642. }
  643. })
  644. }
  645. },
  646. // 获取跟进记录
  647. getFollowList() {
  648. this.fllowList = [];
  649. this.$u.post("/customer/getCusStage", {
  650. customerId: this.customerId
  651. }).then(res => {
  652. res.forEach(item => {
  653. item.agentName = this.customerInfo.agentName
  654. })
  655. this.fllowList = res;
  656. })
  657. },
  658. // 新增跟进
  659. followRecordAdd() {
  660. uni.navigateTo({
  661. url: `/pages/center/consumer/newFollowup/newFollowup?id=${this.customerId}&level=${this.customerInfo.level}&stageName=${this.customerInfo.stageName}`
  662. })
  663. },
  664. // 去编辑
  665. goedit() {
  666. // console.log('去编辑')
  667. if (!this.isEdit) return
  668. uni.navigateTo({
  669. url: `/pages/center/consumer/edit?id=${this.customerId}&projectId=${this.customerInfo.projectId}`
  670. })
  671. },
  672. // 去添加提醒
  673. goRemind() {
  674. uni.navigateTo({
  675. url: `/pages/center/consumer/remind?str=${this.customerInfo.name+'/'+this.customerInfo.phone}&customerId=${this.customerId}`
  676. })
  677. },
  678. //评分点击
  679. clickaudeopal(item) {
  680. if (item.selected == 0 && item.viewFlag != 1) {
  681. uni.navigateTo({
  682. url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item
  683. .marketingId + '&type=0'
  684. })
  685. }
  686. },
  687. tipupon() {
  688. if (!this.customerInfo.demand.cusSemanticWordsList) return
  689. this.tipshow = true
  690. },
  691. changeshow(item, type) {
  692. item.show = !item.show
  693. },
  694. changeshow2(item, type) {
  695. item.show = !item.show
  696. },
  697. // 获取评分
  698. getRatelist() {
  699. this.$u.get("/customer/findzkMByCusId", {
  700. cusId: this.customerId
  701. }).then(res => {
  702. if (res.length) {
  703. let level1 = []
  704. res.forEach(item => {
  705. if (item.pid == 0) {
  706. level1.push({
  707. id: item.marketingId,
  708. rate: item.fraction,
  709. name: item.name,
  710. sort: item.sort,
  711. viewFlag: item.viewFlag,
  712. show: false,
  713. ratepercent: 0,
  714. children: []
  715. })
  716. }
  717. })
  718. // this.totalRate = level2rate;
  719. res.forEach(subitem => {
  720. let subitempid = subitem.pid
  721. level1.forEach(item => {
  722. if (subitempid == item.id) {
  723. if (subitem.selected == 0) {
  724. item.ratepercent += subitem.fraction
  725. }
  726. item.children.push({
  727. id: subitem.id,
  728. rate: subitem.fraction,
  729. selected: subitem.selected,
  730. name: subitem.name,
  731. viewFlag: subitem.viewFlag,
  732. show: false,
  733. marketingId: subitem.marketingId,
  734. children: []
  735. })
  736. }
  737. })
  738. })
  739. res.forEach(subitem => {
  740. let subitempid = subitem.pid
  741. level1.forEach(chen => {
  742. chen.children.forEach(zxc => {
  743. if (subitempid == zxc.marketingId) {
  744. zxc.children.push({
  745. id: subitem.id,
  746. rate: subitem.fraction,
  747. selected: subitem.selected,
  748. viewFlag: subitem.viewFlag,
  749. name: subitem.name,
  750. marketingId: subitem.marketingId,
  751. })
  752. }
  753. })
  754. })
  755. })
  756. level1[0].show = true;
  757. level1[0].children[0].show = true;
  758. this.ratelist = level1
  759. }
  760. })
  761. },
  762. }
  763. }
  764. </script>
  765. <style lang="scss" scoped>
  766. .rotatearrow {
  767. transform: rotate(270deg);
  768. }
  769. .top-box{
  770. height: 80rpx;
  771. line-height: 80rpx;
  772. display: flex;
  773. color: #2671E2;
  774. border-bottom: 1rpx solid #ccc;
  775. }
  776. // 评分
  777. .rate-box {
  778. padding: 10rpx 20rpx;
  779. background-color: #FFFFFF;
  780. .date {
  781. width: 300rpx;
  782. height: 33rpx;
  783. font-size: 24rpx;
  784. font-weight: 400;
  785. color: #333333;
  786. line-height: 33rpx;
  787. letter-spacing: 1rpx;
  788. margin-bottom: 8rpx;
  789. }
  790. .title {
  791. width: 100%;
  792. height: 42rpx;
  793. font-size: 30rpx;
  794. font-weight: 500;
  795. color: #333333;
  796. line-height: 42rpx;
  797. letter-spacing: 2rpx;
  798. margin-bottom: 20rpx;
  799. }
  800. .level1 {
  801. display: flex;
  802. align-items: center;
  803. .level-name {
  804. width: 104rpx;
  805. height: 33rpx;
  806. font-size: 24rpx;
  807. font-weight: 500;
  808. color: #333333;
  809. line-height: 33rpx;
  810. letter-spacing: 1rpx;
  811. margin-right: 10rpx;
  812. }
  813. .level-progress {
  814. flex: 1;
  815. border-radius: 11rpx;
  816. height: 21rpx;
  817. background-color: #BEE4FF;
  818. position: relative;
  819. .color {
  820. width: 0;
  821. position: absolute;
  822. top: 0;
  823. left: 0;
  824. height: 21rpx;
  825. border-radius: 11rpx 0 0 11rpx;
  826. background-color: #008EF2;
  827. }
  828. }
  829. .level-rate {
  830. width: 65rpx;
  831. height: 33rpx;
  832. font-size: 24rpx;
  833. font-weight: 500;
  834. color: #333333;
  835. line-height: 33rpx;
  836. letter-spacing: 1rpx;
  837. margin: 0 20rpx 0 15rpx;
  838. }
  839. .arrow {
  840. width: 37rpx;
  841. height: 21rpx;
  842. padding: 5rpx 20rpx;
  843. }
  844. .rotatearrow {
  845. transform: rotate(270deg);
  846. }
  847. }
  848. .level1-subbox {
  849. display: flex;
  850. margin-top: 20rpx;
  851. flex-wrap: wrap;
  852. .sub-name {
  853. width: 50%;
  854. display: flex;
  855. margin-bottom: 18rpx;
  856. .subitem-name {
  857. width: 104rpx;
  858. height: 33rpx;
  859. font-size: 24rpx;
  860. font-weight: 400;
  861. color: #999999;
  862. line-height: 33rpx;
  863. letter-spacing: 1rpx;
  864. margin-right: 12rpx;
  865. }
  866. .checkimg {
  867. width: 27rpx;
  868. height: 27rpx;
  869. }
  870. }
  871. }
  872. }
  873. .Level-box {
  874. padding-bottom: 2rpx;
  875. .hhhbox {
  876. width: 100%;
  877. padding-left: 30rpx;
  878. padding-right: 30rpx;
  879. border-bottom: 1rpx solid #E0E0E0;
  880. background: #FFFFFF;
  881. .hsnrtest {
  882. font-size: 28rpx;
  883. font-weight: 400;
  884. color: #666666;
  885. line-height: 30rpx;
  886. margin-bottom: 20rpx;
  887. }
  888. .Level3che {
  889. width: 100%;
  890. height: 30rpx;
  891. display: flex;
  892. line-height: 30rpx;
  893. align-items: center;
  894. margin-top: 30rpx;
  895. .title1 {
  896. flex: 1;
  897. font-size: 30rpx;
  898. color: #2671E2;
  899. font-weight: 400;
  900. }
  901. .jiantobox {
  902. width: 30rpx;
  903. height: 30rpx;
  904. display: flex;
  905. align-items: center;
  906. .arrow {
  907. width: 28rpx;
  908. height: 28rpx;
  909. }
  910. }
  911. }
  912. }
  913. .Level2che {
  914. width: 100%;
  915. height: 88rpx;
  916. display: flex;
  917. line-height: 88rpx;
  918. align-items: center;
  919. .title1 {
  920. flex: 3;
  921. font-size: 30rpx;
  922. color: #333333;
  923. font-weight: 400;
  924. }
  925. .leve1-jindu {
  926. flex: 3;
  927. display: flex;
  928. justify-content: center;
  929. align-items: center;
  930. .zhixing {
  931. width: 108rpx;
  932. height: 44rpx;
  933. background: #2671E2;
  934. border-radius: 4rpx;
  935. font-size: 28rpx;
  936. text-align: center;
  937. line-height: 44rpx;
  938. color: #FFFFFF;
  939. }
  940. .zhixing2 {
  941. width: 108rpx;
  942. height: 44rpx;
  943. background: #F8F8F8;
  944. border-radius: 4rpx;
  945. font-size: 28rpx;
  946. text-align: center;
  947. line-height: 44rpx;
  948. color: #999999;
  949. }
  950. }
  951. .jiantobox {
  952. width: 30rpx;
  953. height: 30rpx;
  954. display: flex;
  955. align-items: center;
  956. .arrow {
  957. width: 30rpx;
  958. height: 18rpx;
  959. }
  960. }
  961. }
  962. .Level1che {
  963. width: 100%;
  964. height: 94rpx;
  965. background: #F5F5F5;
  966. display: flex;
  967. line-height: 94rpx;
  968. align-items: center;
  969. padding-left: 30rpx;
  970. padding-right: 30rpx;
  971. .title1 {
  972. flex: 2;
  973. font-size: 30rpx;
  974. color: #333333;
  975. font-weight: 400;
  976. }
  977. .leve1-jindu {
  978. flex: 3;
  979. .jindutiao {
  980. width: 96%;
  981. height: 28rpx;
  982. background: #D5EEE2;
  983. line-height: 28rpx;
  984. border-radius: 14rpx;
  985. position: relative;
  986. .huanxing {
  987. height: 100%;
  988. background: #4FC78F;
  989. border-radius: 14rpx;
  990. }
  991. .text {
  992. position: absolute;
  993. top: 0rpx;
  994. right: 0rpx;
  995. font-size: 28rpx;
  996. font-weight: 400;
  997. color: #333333;
  998. }
  999. }
  1000. }
  1001. .jiantobox {
  1002. width: 30rpx;
  1003. height: 30rpx;
  1004. display: flex;
  1005. align-items: center;
  1006. .arrow {
  1007. width: 30rpx;
  1008. height: 18rpx;
  1009. }
  1010. }
  1011. }
  1012. }
  1013. .cccccc {
  1014. text-align: center;
  1015. height: 140rpx;
  1016. line-height: 140rpx;
  1017. font-size: 30rpx;
  1018. }
  1019. .ratecenter {
  1020. background-color: #FFFFFF;
  1021. padding-bottom: 30rpx;
  1022. width: 100%;
  1023. .my-tab {
  1024. padding: 20rpx 0;
  1025. display: flex;
  1026. justify-content: space-around;
  1027. align-items: center;
  1028. border-bottom: 1px solid #E0E0E0;
  1029. .tab-item {
  1030. padding: 0 30rpx;
  1031. height: 56rpx;
  1032. font-size: 28rpx;
  1033. font-family: PingFangSC-Regular, PingFang SC;
  1034. font-weight: 400;
  1035. color: #666666;
  1036. line-height: 56rpx;
  1037. text-shadow: 0px 1px 0px #E0E0E0;
  1038. }
  1039. .tabactive {
  1040. height: 56rpx;
  1041. background: rgba(38, 113, 226, 0.1);
  1042. box-shadow: 0px 1px 0px 0px #E0E0E0;
  1043. border-radius: 28rpx;
  1044. font-weight: 600;
  1045. color: #2671E2;
  1046. }
  1047. }
  1048. .ratetetle {
  1049. padding: 30rpx;
  1050. font-size: 30rpx;
  1051. font-weight: 400;
  1052. color: #333333;
  1053. padding-bottom: 6rpx;
  1054. }
  1055. .rateyuanbox {
  1056. width: 100%;
  1057. height: 210rpx;
  1058. padding-bottom: 30rpx;
  1059. border-bottom: 1rpx solid #E0E0E0;
  1060. display: flex;
  1061. padding-left: 80rpx;
  1062. padding-right: 80rpx;
  1063. .rateyuanboxzuo {
  1064. width: 30%;
  1065. height: 100%;
  1066. }
  1067. .rateyuanboxyou {
  1068. width: 40%;
  1069. height: 100%;
  1070. }
  1071. .boxzuoview {
  1072. width: 100%;
  1073. height: 140rpx;
  1074. }
  1075. }
  1076. }
  1077. .box {
  1078. width: 100%;
  1079. height: 100%;
  1080. background: #F8F8F8;
  1081. }
  1082. .tab {
  1083. position: sticky;
  1084. top: 0;
  1085. height: 88rpx;
  1086. z-index: 999;
  1087. background: #FFFFFF;
  1088. display: flex;
  1089. align-items: center;
  1090. .tabbox {
  1091. flex: 1;
  1092. height: 100%;
  1093. text-align: center;
  1094. line-height: 92rpx;
  1095. color: #666666;
  1096. font-size: 28rpx;
  1097. display: flex;
  1098. justify-content: center;
  1099. .activecllasscet {
  1100. border-bottom: 2px solid #2671E2;
  1101. color: #2671E2;
  1102. font-weight: 600;
  1103. }
  1104. }
  1105. }
  1106. .content {
  1107. // height: 1000rpx;/
  1108. overflow: hidden;
  1109. border-top: 1px solid #E0E0E0;
  1110. .content-tips {
  1111. background: #fff;
  1112. // box-sizing: border-box;
  1113. margin-bottom: 20rpx;
  1114. overflow: hidden;
  1115. .content-first {
  1116. padding: 19rpx 30rpx;
  1117. display: flex;
  1118. justify-content: space-between;
  1119. box-sizing: border-box;
  1120. font-weight: 400;
  1121. color: #292929;
  1122. height: 90rpx;
  1123. font-size: 30rpx;
  1124. line-height: 30rpx;
  1125. .left {
  1126. display: flex;
  1127. .img {
  1128. width: 52rpx;
  1129. height: 52rpx;
  1130. border-radius: 50%;
  1131. text-align: center;
  1132. line-height: 50rpx;
  1133. margin-right: 20rpx;
  1134. color: #fff;
  1135. font-size: 30rpx;
  1136. background: #9f61c8;
  1137. }
  1138. .test {
  1139. margin-top: 11rpx;
  1140. font-weight: 500;
  1141. color: #333333;
  1142. }
  1143. .edit {
  1144. height: 30rpx;
  1145. width: 30rpx;
  1146. margin-left: 30rpx;
  1147. margin-top: 11rpx;
  1148. image {
  1149. width: 100%;
  1150. height: 100%;
  1151. }
  1152. }
  1153. }
  1154. .right {
  1155. display: flex;
  1156. .test {
  1157. margin-top: 11rpx;
  1158. .blue {
  1159. font-size: 32rpx;
  1160. font-family: PingFangSC-Medium, PingFang SC;
  1161. font-weight: 500;
  1162. color: #2671e2;
  1163. }
  1164. }
  1165. }
  1166. }
  1167. .content-sec {
  1168. border-top: 1px solid #E0E0E0;
  1169. padding: 0 30rpx;
  1170. position: relative;
  1171. .content-sec-lab {
  1172. margin-top: 28rpx;
  1173. display: flex;
  1174. justify-content: space-between;
  1175. font-size: 30rpx;
  1176. font-weight: 400;
  1177. color: #666666;
  1178. line-height: 46rpx;
  1179. .content-sec-lab1 {
  1180. color: #333333;
  1181. .look {
  1182. font-size: 32rpx;
  1183. font-family: PingFangSC-Semibold, PingFang SC;
  1184. font-weight: 600;
  1185. color: #2671E2;
  1186. }
  1187. .look1 {
  1188. height: 42rpx;
  1189. font-size: 30rpx;
  1190. font-family: PingFangSC-Regular, PingFang SC;
  1191. font-weight: 400;
  1192. color: #2671E2;
  1193. line-height: 42rpx;
  1194. margin-left: 60rpx;
  1195. }
  1196. }
  1197. .content-sec-tips {
  1198. max-width: 120rpx;
  1199. height: 46rpx;
  1200. background: #F2F2F2;
  1201. border-radius: 6rpx;
  1202. text-align: center;
  1203. line-height: 26rpx;
  1204. overflow: hidden;
  1205. text-overflow: ellipsis;
  1206. white-space: nowrap;
  1207. font-size: 26rpx;
  1208. font-weight: 400;
  1209. color: #333333;
  1210. margin-right: 20rpx;
  1211. box-sizing: border-box;
  1212. padding: 10rpx 24rpx;
  1213. }
  1214. }
  1215. .content-sec-num {
  1216. position: absolute;
  1217. width: 200rpx;
  1218. height: 90rpx;
  1219. background: #F4F8FD;
  1220. border-radius: 12rpx;
  1221. font-weight: 400;
  1222. color: #2671E2;
  1223. line-height: 45rpx;
  1224. bottom: 100rpx;
  1225. right: 30rpx;
  1226. text-align: center;
  1227. }
  1228. }
  1229. .content-last {
  1230. padding: 30rpx;
  1231. .content-last-con {
  1232. width: 690rpx;
  1233. min-height: 108rpx;
  1234. background: #F8F8F8;
  1235. border-radius: 8rpx;
  1236. padding: 14rpx 20rpx;
  1237. font-size: 28rpx;
  1238. font-weight: 400;
  1239. color: #333333;
  1240. line-height: 40rpx;
  1241. }
  1242. }
  1243. }
  1244. }
  1245. .tabchange {
  1246. background:#fff;
  1247. .tabactive1 {
  1248. padding-bottom: 100rpx;
  1249. .content-tips {
  1250. background: #fff;
  1251. padding: 0 30rpx;
  1252. box-sizing: border-box;
  1253. overflow: hidden;
  1254. margin-bottom: 20rpx;
  1255. .content-first {
  1256. margin-top: 19rpx;
  1257. display: flex;
  1258. justify-content: space-between;
  1259. .left {
  1260. display: flex;
  1261. .img {
  1262. width: 52rpx;
  1263. height: 52rpx;
  1264. background: #FFFFFF;
  1265. border: 1px solid #C9C9C9;
  1266. border-radius: 50%;
  1267. text-align: center;
  1268. line-height: 52rpx;
  1269. margin-right: 20rpx;
  1270. }
  1271. .name {
  1272. font-weight: 600;
  1273. color: #333333;
  1274. // margin-left: 20rpx;
  1275. margin-top: 11rpx;
  1276. }
  1277. .status {
  1278. width: 110rpx;
  1279. height: 42rpx;
  1280. background: #FFF9F5;
  1281. border-radius: 4rpx;
  1282. font-size: 26rpx;
  1283. font-weight: 400;
  1284. color: #EC8D49;
  1285. line-height: 42rpx;
  1286. text-align: center;
  1287. margin-left: 19rpx;
  1288. margin-top: 11rpx;
  1289. }
  1290. }
  1291. .right {
  1292. display: flex;
  1293. margin-top: 11rpx;
  1294. .point {
  1295. width: 12rpx;
  1296. height: 12rpx;
  1297. background: #2B6EFF;
  1298. border-radius: 50%;
  1299. margin-right: 9rpx;
  1300. margin-top: 16rpx;
  1301. }
  1302. }
  1303. }
  1304. .content-sec {
  1305. display: flex;
  1306. justify-content: space-between;
  1307. margin-top: 19rpx;
  1308. .left {
  1309. display: flex;
  1310. .cus {
  1311. font-size: 30rpx;
  1312. font-weight: 400;
  1313. color: #666666;
  1314. line-height: 30rpx;
  1315. }
  1316. .arriveNum {
  1317. font-size: 30rpx;
  1318. font-weight: 400;
  1319. line-height: 30rpx;
  1320. margin-left: 10rpx;
  1321. }
  1322. }
  1323. .right {
  1324. width: 192rpx;
  1325. height: 46rpx;
  1326. background: #F4F8FD;
  1327. border-radius: 6rpx;
  1328. text-align: center;
  1329. line-height: 46rpx;
  1330. font-weight: 400;
  1331. color: #2671E2;
  1332. }
  1333. }
  1334. .content-last {
  1335. margin: 30rpx 0;
  1336. font-size: 30rpx;
  1337. font-weight: 400;
  1338. color: #666666;
  1339. line-height: 30rpx;
  1340. }
  1341. }
  1342. }
  1343. .tabactive2 {
  1344. .tab2-tips {
  1345. background: #fff;
  1346. // height: 270rpx;
  1347. overflow: auto;
  1348. margin-bottom: 20rpx;
  1349. .tab2-first {
  1350. // height: 150rpx;
  1351. border-bottom: 1px solid #E0E0E0;
  1352. padding: 0 30rpx;
  1353. margin-top: 19rpx;
  1354. box-sizing: border-box;
  1355. .tab2-first-1 {
  1356. display: flex;
  1357. justify-content: space-between;
  1358. // height: 75rpx;
  1359. .tab2-first-left {
  1360. display: flex;
  1361. .img {
  1362. width: 52rpx;
  1363. height: 52rpx;
  1364. background: #FFFFFF;
  1365. border: 1px solid #C9C9C9;
  1366. border-radius: 50%;
  1367. text-align: center;
  1368. line-height: 52rpx;
  1369. }
  1370. .name {
  1371. font-weight: 600;
  1372. color: #333333;
  1373. margin-left: 20rpx;
  1374. margin-top: 11rpx;
  1375. }
  1376. }
  1377. .tab2-first-right {
  1378. font-size: 30rpx;
  1379. font-weight: 400;
  1380. color: #666666;
  1381. margin-top: 11rpx;
  1382. }
  1383. }
  1384. .tab2-first-foot {
  1385. margin-top: 19rpx;
  1386. margin-bottom: 30rpx;
  1387. font-size: 30rpx;
  1388. font-weight: 400;
  1389. color: #666666;
  1390. line-height: 30rpx;
  1391. }
  1392. }
  1393. .tab2-sec {
  1394. height: 120rpx;
  1395. padding: 30rpx;
  1396. float: right;
  1397. .tab-sec-edit {
  1398. width: 156rpx;
  1399. height: 60rpx;
  1400. background: #FFFFFF;
  1401. border-radius: 4px;
  1402. border: 1px solid #2671E2;
  1403. text-align: center;
  1404. line-height: 60rpx;
  1405. font-weight: 400;
  1406. color: #2671E2;
  1407. }
  1408. }
  1409. }
  1410. }
  1411. }
  1412. .pon-foot {
  1413. position: sticky;
  1414. bottom: 0;
  1415. width: 750rpx;
  1416. height: 100rpx;
  1417. background: #FFFFFF;
  1418. box-shadow: 0px -2rpx 8rpx 0rpx rgba(224, 224, 224, 0.5);
  1419. display: flex;
  1420. justify-content: space-around;
  1421. align-items: center;
  1422. // padding-top: 24rpx;
  1423. box-sizing: border-box;
  1424. // padding: ;
  1425. .foot-tab {
  1426. text-align: center;
  1427. width: 270rpx;
  1428. height: 70rpx;
  1429. line-height: 70rpx;
  1430. background: #2671E2;
  1431. box-shadow: 0px -2rpx 8rpx 0px rgba(224, 224, 224, 0.5);
  1432. border-radius: 6rpx;
  1433. font-size: 30rpx;
  1434. font-weight: 400;
  1435. color: #FFFFFF;
  1436. }
  1437. }
  1438. .upon-sec-tips {
  1439. min-width: 96rpx;
  1440. height: 46rpx;
  1441. background: #F2F2F2;
  1442. border-radius: 6rpx;
  1443. text-align: center;
  1444. line-height: 46rpx;
  1445. // overflow: hidden;
  1446. // text-overflow: ellipsis;
  1447. // white-space: nowrap;
  1448. font-size: 26rpx;
  1449. font-weight: 400;
  1450. color: #333333;
  1451. margin: 0 20rpx 20rpx 0;
  1452. padding: 0 10rpx;
  1453. box-sizing: border-box;
  1454. }
  1455. .conmsg-msg-lab-img {
  1456. width: 14rpx;
  1457. height: 30rpx;
  1458. margin-top: 6rpx;
  1459. margin-left: auto;
  1460. image {
  1461. width: 100%;
  1462. height: 100%;
  1463. }
  1464. }
  1465. </style>