xyf.vue 25 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013
  1. <template>
  2. <view class="background: #F5F5F5;">
  3. <view class="list flex justify-center">
  4. <view class="list-box">
  5. <view class="list-box-item">
  6. <view class="list flex justify-between">
  7. <view class="title">
  8. 我的信用分
  9. </view>
  10. <view style="color: #999; font-size: 23rpx;line-height: 40rpx;">
  11. 更新时间:{{jinduvlue.symbol}}{{ jinduvlue.time }}
  12. </view>
  13. </view>
  14. <view style="width: 100%; height: 400rpx;">
  15. <EcChart v-if="optionReady" :chartOption="option" width="100%" height="100%" />
  16. <!-- <uni-ec-canvas class="uni-ec-canvas" id="line-chart" canvas-id="multi-charts-line" :ec="ec" ref="canvas"></uni-ec-canvas> -->
  17. </view>
  18. <view class="list flex justify-between">
  19. <view class="title" style="color: #00c18a;font-size: 23rpx;">
  20. ↑ 比较上个月 {{ jinduvlue.diff }}分
  21. </view>
  22. <view style="color: #999; font-size: 23rpx;line-height: 40rpx;">
  23. 满分100分
  24. </view>
  25. </view>
  26. </view>
  27. <view class="list-box-item">
  28. <view class="list flex justify-between">
  29. <view class="title">
  30. 信用分趋势
  31. </view>
  32. <view class="flex" style="color: #999; font-size: 23rpx;line-height: 40rpx;">
  33. <view @tap="dianji(6)" :class="yvefen === 6 ? 'time-boxs' : 'time-box'"
  34. style="padding: 5rpx 18rpx; border-radius: 8rpx;">
  35. 6个月</view>
  36. <view @tap="dianji(12)"
  37. :class="yvefen === 6 ? 'time-box' : 'time-boxs'"
  38. style="padding: 5rpx 18rpx; border-radius: 8rpx; margin-left: 20rpx;">
  39. 12个月</view>
  40. </view>
  41. </view>
  42. <view style="width: 100%; height: 400rpx;">
  43. <EcChart v-if="optionReady2" :chartOption="option2" width="100%" height="100%" />
  44. <!-- <uni-ec-canvas class="uni-ec-canvas" id="line-chart2" canvas-id="multi-charts-line2" :ec="ec2" ref="canvas2"></uni-ec-canvas> -->
  45. </view>
  46. </view>
  47. <view class="list-box-item">
  48. <view class="list flex justify-between">
  49. <view class="title">
  50. 信用记录
  51. </view>
  52. <view style="color: #999; font-size: 23rpx;line-height: 40rpx;">
  53. 查看全部
  54. </view>
  55. </view>
  56. <view v-for="(item,index) in list.slice(0, 3)" :key="index">
  57. <view class="flex" style="padding: 30rpx 0; margin: 20rpx 0;">
  58. <view>
  59. <image v-if="globalImages" :src="globalImages + 'images/credit/chidao2.png'"
  60. style="width: 80rpx;height: 80rpx;margin-left: 30rpx;" mode=""></image>
  61. </view>
  62. <view style="margin-left: 30rpx; line-height: 40rpx;">
  63. <view v-if="item.type==2">{{item.reason}}扣分</view>
  64. <view v-else>{{item.reason}}加分</view>
  65. <view>
  66. 订单号:{{ item.ordersNo }}
  67. </view>
  68. <view style="font-size: 23rpx; color: #999;">
  69. {{item.createTime}}
  70. </view>
  71. </view>
  72. <view style="color: #00c18a;position: absolute; right: 130rpx;">
  73. <view class="list-box-item-h" v-if="item.type==2">
  74. - {{item.lastCreditScore - item.nextCreditScore}} 分
  75. </view>
  76. <view class="list-box-item-hs" v-else>
  77. + {{item.nextCreditScore - item.lastCreditScore}} 分
  78. </view>
  79. </view>
  80. </view>
  81. <!-- <view class="list-box-item-h" v-if="item.type==2">
  82. 扣分:{{item.lastCreditScore - item.nextCreditScore}}
  83. </view>
  84. <view class="list-box-item-hs" v-else>
  85. 加分:{{item.nextCreditScore - item.lastCreditScore}}
  86. </view>
  87. <view class="list-box-item-title" v-if="item.type==2">
  88. 信用分变化:当前{{item.lastCreditScore}}分,扣除{{item.lastCreditScore - item.nextCreditScore}}分,最新信用分{{item.nextCreditScore}}分
  89. </view>
  90. <view class="list-box-item-title" v-else>
  91. 信用分变化:当前{{item.lastCreditScore}}分,增加{{item.nextCreditScore - item.lastCreditScore}}分,最新信用分{{item.nextCreditScore}}分
  92. </view>
  93. <view class="list-box-item-title">
  94. 原因:{{item.reason}}
  95. </view>
  96. <view class="list-box-item-title">
  97. 修改时间:{{item.createTime}}
  98. </view> -->
  99. </view>
  100. </view>
  101. <view class="list-box-item">
  102. <view class="title">
  103. 评分规则
  104. </view>
  105. <view style="margin-top: 20rpx;">
  106. 扣分项
  107. </view>
  108. <view class="boxs">
  109. <view class="flex align-center"
  110. style="background: #ffe9e9; border-radius: 14rpx; padding: 30rpx 0; margin: 20rpx 0;">
  111. <view>
  112. <image v-if="globalImages" :src="globalImages + 'images/credit/shuangyve.png'"
  113. style="width: 25rpx;height: 25rpx;margin-left: 30rpx;" mode=""></image>
  114. </view>
  115. <view style="margin-left: 30rpx; line-height: 40rpx;">
  116. <view> 爽约</view>
  117. </view>
  118. <view style="color: #f56c6c;position: absolute; right: 130rpx;">
  119. -10分
  120. </view>
  121. </view>
  122. <view class="flex align-center "
  123. style="background: #ffe9e9; border-radius: 14rpx; padding: 30rpx 0; margin: 20rpx 0;">
  124. <view>
  125. <image v-if="globalImages" :src="globalImages + 'images/credit/chidao.png'"
  126. style="width: 25rpx;height: 25rpx;margin-left: 30rpx;" mode=""></image>
  127. </view>
  128. <view style="margin-left: 30rpx; line-height: 40rpx;">
  129. <view>迟到</view>
  130. </view>
  131. <view style="color: #f56c6c;position: absolute; right: 130rpx;">
  132. -5分
  133. </view>
  134. </view>
  135. <view class="flex align-center"
  136. style="background: #ffe9e9; border-radius: 14rpx; padding: 30rpx 0; margin: 20rpx 0;">
  137. <view>
  138. <image v-if="globalImages" :src="globalImages + 'images/credit/cehliang.png'"
  139. style="width: 25rpx;height: 25rpx;margin-left: 30rpx;" mode=""></image>
  140. </view>
  141. <view style="margin-left: 30rpx; line-height: 40rpx;">
  142. <view>损坏车辆</view>
  143. </view>
  144. <view style="color: #f56c6c;position: absolute; right: 130rpx;">
  145. -3分
  146. </view>
  147. </view>
  148. <view class="flex align-center"
  149. style="background: #ffe9e9; border-radius: 14rpx; padding: 30rpx 0; margin: 20rpx 0;">
  150. <view>
  151. <image v-if="globalImages" :src="globalImages + 'images/credit/xiyan.png'"
  152. style="width: 25rpx;height: 25rpx;margin-left: 30rpx;" mode=""></image>
  153. </view>
  154. <view style="margin-left: 30rpx; line-height: 40rpx;">
  155. <view>车内吸烟</view>
  156. </view>
  157. <view style="color: #f56c6c;position: absolute; right: 130rpx;">
  158. -2分
  159. </view>
  160. </view>
  161. </view>
  162. <view style="margin-top: 20rpx;">
  163. 加分项
  164. </view>
  165. <view class="boxs">
  166. <view class="flex align-center"
  167. style="background: #e8fbf6; border-radius: 14rpx; padding: 30rpx 0; margin: 20rpx 0;">
  168. <view>
  169. <image v-if="globalImages" :src="globalImages + 'images/credit/sijihaoping.png'"
  170. style="width: 25rpx;height: 25rpx;margin-left: 30rpx;" mode=""></image>
  171. </view>
  172. <view style="margin-left: 30rpx; line-height: 40rpx;">
  173. <view>司机好评</view>
  174. </view>
  175. <view style="color: #00c18a;position: absolute; right: 130rpx;">
  176. +1分
  177. </view>
  178. </view>
  179. <view class="flex align-center "
  180. style="background: #e8fbf6; border-radius: 14rpx; padding: 30rpx 0; margin: 20rpx 0;">
  181. <view>
  182. <image v-if="globalImages" :src="globalImages + 'images/credit/anshi.png'"
  183. style="width: 25rpx;height: 25rpx;margin-left: 30rpx;" mode=""></image>
  184. </view>
  185. <view style="margin-left: 30rpx; line-height: 40rpx;">
  186. <view>按时支付车费</view>
  187. </view>
  188. <view style="color: #00c18a;position: absolute; right: 130rpx;">
  189. +2分
  190. </view>
  191. </view>
  192. </view>
  193. </view>
  194. <view class="list-box-item">
  195. <view class="title">
  196. 匹配优先级
  197. </view>
  198. <view class="flex align-center justify-between" style="margin-top: 20rpx;">
  199. <view>
  200. 当前优先级: {{ jinduz }}
  201. </view>
  202. <view>
  203. {{ jinduvlue.score }}分
  204. </view>
  205. </view>
  206. <view style="width: 100%; height: 70rpx;">
  207. <EcChart v-if="optionReady3" :chartOption="option3" width="100%" height="100%" />
  208. <!-- <uni-ec-canvas class="uni-ec-canvas" id="line-chart3" canvas-id="multi-charts-line3" :ec="ec3" ref="canvas3"></uni-ec-canvas> -->
  209. </view>
  210. <view class="flex align-center add_name" style="line-height: 60rpx;">
  211. <view class="orgin"></view>80 — 100分:高优先级,优先匹配优质订单
  212. </view>
  213. <view class="flex align-center add_name" style="line-height: 60rpx;">
  214. <view class="orgin"></view>60 — 80分:中优先级,正常匹配订单
  215. </view>
  216. <view class="flex align-center add_name" style="line-height: 60rpx;">
  217. <view class="orgin"></view>0 — 60分:低优先级,订单匹配受限
  218. </view>
  219. <view class="flex "
  220. style="background: #fcf6ec; border-radius: 14rpx; padding: 20rpx 0; margin: 20rpx 0;">
  221. <view style="margin-top: 10rpx;">
  222. <image v-if="globalImages" :src="globalImages + 'images/credit/jianyi.png'"
  223. style="width: 25rpx;height: 35rpx;margin-left: 30rpx;" mode=""></image>
  224. </view>
  225. <view style="margin-left: 20rpx; line-height: 40rpx;">
  226. <view>提升建议</view>
  227. <view style="color: #999; font-size: 24rpx;">
  228. 准时接单、保持良好服务态度可提高信用分
  229. </view>
  230. </view>
  231. </view>
  232. </view>
  233. <view class="list-box-item">
  234. <view class="title">
  235. 申诉通道
  236. </view>
  237. <textarea placeholder="如对扣分有异议,可在扣分后7天内提交申诉,平台将在3个工作日内处理。申诉结果将通过信息中心通知您。" v-model="content"
  238. class="feedback-textare" />
  239. <view class="pay_btns" @tap="yesappeal()">确认申诉</view>
  240. <view class="list_box" @click="bindTo('/my/appeal/record')">
  241. <view class="box_left">查看历史申诉记录</view>
  242. <u-icon name="arrow-right"></u-icon>
  243. </view>
  244. </view>
  245. </view>
  246. </view>
  247. <empty v-if="list.length==0 && scores.length==0 && scores.length==0" />
  248. </view>
  249. </template>
  250. <script>
  251. import empty from '../../components/empty.vue'
  252. // import uniEcCanvas from '@/echarts/uni-ec-canvas/uni-ec-canvas';
  253. // import * as echarts from '@/echarts/uni-ec-canvas/echarts.min.js';
  254. import EcChart from '@/echarts/EcChart.vue'
  255. import { waitForGlobalImages } from '@/utils/globalImageLoader'
  256. export default {
  257. components: {
  258. empty,
  259. // uniEcCanvas
  260. EcChart
  261. },
  262. data() {
  263. return {
  264. list: [],
  265. page: 1,
  266. limit: 10,
  267. pages: 1,
  268. // ec: {
  269. // option: {}
  270. // },
  271. // ec2: {
  272. // option: {}
  273. // },
  274. // ec3: {
  275. // option: {}
  276. // },
  277. optionReady: false,
  278. option: {},
  279. optionReady2: false,
  280. option2: {},
  281. optionReady3: false,
  282. option3: {},
  283. globalImages: '',
  284. content: '',
  285. yvefen: 6,
  286. jinduvlue: {},
  287. jinduz: '',
  288. months: [],
  289. scores: [],
  290. };
  291. },
  292. onLoad() {
  293. waitForGlobalImages().then((path) => {
  294. console.log('✅ 全局图片路径:', path)
  295. this.globalImages = path
  296. })
  297. uni.showLoading({
  298. title: '加载中...'
  299. })
  300. this.getList()
  301. this.getScore()
  302. this.getFilledScore()
  303. },
  304. //下拉刷新
  305. onPullDownRefresh() {
  306. this.page = 1
  307. this.getList()
  308. },
  309. //上拉加载更多
  310. onReachBottom() {
  311. if (this.page < this.pages) {
  312. this.page += 1
  313. this.getList()
  314. }
  315. },
  316. methods: {
  317. // 进度条环形图数据
  318. getScore() {
  319. let data = {
  320. isDriver: 1,
  321. }
  322. this.$Request.getT('/app/creditRecord/getScore', data).then(res => {
  323. if (res.code == 0) {
  324. this.jinduvlue = res.data
  325. if (res.data.score >= 80) {
  326. this.jinduz = '高'
  327. } else if (score >= 60) {
  328. this.jinduz = '中'
  329. } else {
  330. this.jinduz = '低'
  331. }
  332. console.log(res.data.score, 'res.data.score');
  333. this.$nextTick(() => {
  334. // this.$refs.canvas.init(this.initChart);
  335. // this.$refs.canvas3.init(this.initChart3);
  336. this.option = {}
  337. this.option3 = {}
  338. this.setOption(res.data.score)
  339. this.setOption3(res.data.score)
  340. })
  341. } else {
  342. uni.showToast({
  343. title: res.msg,
  344. icon: 'none'
  345. })
  346. }
  347. })
  348. },
  349. // 折线图 数据
  350. getFilledScore() {
  351. let data2 = {
  352. isDriver: 1,
  353. several: this.yvefen
  354. }
  355. this.$Request.getT('/app/creditRecord/getFilledScore', data2).then(res => {
  356. if (res.code == 0) {
  357. this.months = Object.keys(res.data); // 获取所有月份
  358. this.scores = Object.values(res.data); // 获取所有分数
  359. this.$nextTick(() => {
  360. this.option2 = {}
  361. this.setOption2()
  362. // this.$refs.canvas2.init(this.initChart2);
  363. })
  364. } else {
  365. uni.showToast({
  366. title: res.msg,
  367. icon: 'none'
  368. })
  369. }
  370. })
  371. },
  372. dianji(value) {
  373. this.yvefen = value
  374. this.optionReady2 = false;
  375. this.getFilledScore()
  376. },
  377. // 确认申诉
  378. yesappeal() {
  379. const data = {
  380. reason: this.content,
  381. // recordId: ''
  382. }
  383. this.$Request.postT("/app/appeal/insertAppeal", data).then(res => {
  384. if (res.code == 0) {
  385. this.content = ''
  386. uni.showToast({
  387. title: '申诉成功',
  388. icon: 'success',
  389. duration: 2000
  390. })
  391. } else {
  392. uni.showToast({
  393. title: res.message || '申诉失败',
  394. icon: 'none',
  395. duration: 2000
  396. })
  397. }
  398. });
  399. },
  400. bindTo(name) {
  401. let token = this.$queue.getData("token");
  402. if (token) {
  403. uni.navigateTo({
  404. url: name
  405. })
  406. }
  407. },
  408. //获取信用列表
  409. getList() {
  410. let data = {
  411. page: this.page,
  412. limit: this.limit,
  413. isDriver: 0,
  414. }
  415. this.$Request.getT('/app/creditRecord/getCreditRecordList', data).then(res => {
  416. uni.stopPullDownRefresh()
  417. uni.hideLoading()
  418. if (res.code == 0) {
  419. this.pages = res.data.pages
  420. if (this.page == 1) {
  421. this.list = res.data.records
  422. } else {
  423. this.list = [...this.list, ...res.data.records]
  424. }
  425. } else {
  426. uni.showToast({
  427. title: res.msg,
  428. icon: 'none'
  429. })
  430. }
  431. })
  432. },
  433. // initChart(canvas, width, height, canvasDpr) {
  434. // let chart = echarts.init(canvas, null, {
  435. // width: width,
  436. // height: height,
  437. // devicePixelRatio: canvasDpr
  438. // });
  439. // let max = 100;
  440. // let value = this.jinduvlue.score;
  441. // let rate = Math.round((value * 100) / max);
  442. // canvas.setChart(chart);
  443. // let option = {
  444. // title: [
  445. // {
  446. // text: '{b|' + rate + '}\n'+'{a|良好}',
  447. // show: true,
  448. // x: 'center',
  449. // y: 'center',
  450. // textStyle: {
  451. // rich: {
  452. // a: {
  453. // fontSize: 17,
  454. // color: '#999',
  455. // padding: [0, 0,5, 0],
  456. // },
  457. // b: {
  458. // fontSize: 35,
  459. // color: '#333333',
  460. // fontFamily: 'alibabaPuhuiM',
  461. // fontWeight: 'bold'
  462. // },
  463. // },
  464. // },
  465. // },
  466. // ],
  467. // polar: {
  468. // center: ['50%', '50%'],
  469. // radius: ['60%', '75%'],
  470. // },
  471. // angleAxis: {
  472. // max: max,
  473. // show: false,
  474. // },
  475. // radiusAxis: {
  476. // type: 'category',
  477. // show: true,
  478. // axisLabel: {
  479. // show: false,
  480. // },
  481. // axisLine: {
  482. // show: false,
  483. // },
  484. // axisTick: {
  485. // show: false,
  486. // },
  487. // },
  488. // series: [
  489. // {
  490. // name: '',
  491. // type: 'bar',
  492. // roundCap: true,
  493. // showBackground: true,
  494. // backgroundStyle: {
  495. // color: '#e8fbf6',
  496. // },
  497. // data: [value],
  498. // coordinateSystem: 'polar',
  499. // itemStyle: {
  500. // normal: {
  501. // color: '#00c18a'
  502. // },
  503. // },
  504. // },
  505. // ],
  506. // };
  507. // chart.setOption(option);
  508. // return chart;
  509. // },
  510. setOption(value) {
  511. const max = 100
  512. const rate = Math.round((value * 100) / max)
  513. this.option = {
  514. title: [{
  515. text: `{b|${rate}}\n{a|良好}`,
  516. show: true,
  517. x: 'center',
  518. y: 'center',
  519. textStyle: {
  520. rich: {
  521. a: {
  522. fontSize: 17,
  523. color: '#999',
  524. padding: [0, 0, 5, 0]
  525. },
  526. b: {
  527. fontSize: 35,
  528. color: '#333333',
  529. fontFamily: 'alibabaPuhuiM',
  530. fontWeight: 'bold'
  531. }
  532. }
  533. }
  534. }],
  535. polar: {
  536. center: ['50%', '50%'],
  537. radius: ['60%', '75%']
  538. },
  539. angleAxis: {
  540. max: max,
  541. show: false
  542. },
  543. radiusAxis: {
  544. type: 'category',
  545. show: true,
  546. axisLabel: { show: false },
  547. axisLine: { show: false },
  548. axisTick: { show: false }
  549. },
  550. series: [{
  551. name: '',
  552. type: 'bar',
  553. roundCap: true,
  554. showBackground: true,
  555. backgroundStyle: {
  556. color: '#e8fbf6'
  557. },
  558. data: [value],
  559. coordinateSystem: 'polar',
  560. itemStyle: {
  561. normal: {
  562. color: '#00c18a'
  563. }
  564. }
  565. }]
  566. }
  567. this.optionReady = true // 让组件渲染
  568. },
  569. setOption2 () {
  570. this.option2 = {
  571. grid: {
  572. top: '15%',
  573. left: '2%',
  574. right: '5%',
  575. bottom: '3%',
  576. containLabel: true,
  577. },
  578. tooltip: {
  579. trigger: 'axis',
  580. axisPointer: {
  581. type: 'line'
  582. },
  583. backgroundColor: 'rgba(0, 193, 138, 0.1)',
  584. borderColor: '#00c18a',
  585. textStyle: {
  586. color: '#333',
  587. },
  588. },
  589. xAxis: {
  590. type: 'category',
  591. data: this.months,
  592. axisLine: {
  593. lineStyle: {
  594. color: 'rgba(60,132,163,0.4)',
  595. }
  596. },
  597. axisTick: {
  598. show: false
  599. },
  600. axisLabel: {
  601. interval: 0,
  602. color: '#333',
  603. fontSize: 12,
  604. rotate: 45,
  605. },
  606. boundaryGap: false
  607. },
  608. yAxis: {
  609. type: 'value',
  610. max: 100,
  611. min: 1,
  612. axisTick: {
  613. show: false
  614. },
  615. axisLine: {
  616. show: false
  617. },
  618. axisLabel: {
  619. color: '#333',
  620. fontSize: 12,
  621. formatter: value => `${value}`
  622. },
  623. splitLine: {
  624. show: true,
  625. lineStyle: {
  626. color: '#999'
  627. }
  628. }
  629. },
  630. series: [
  631. {
  632. name: '信用分',
  633. type: 'line',
  634. smooth: true,
  635. areaStyle: {
  636. color: {
  637. type: 'linear',
  638. x: 0, y: 0, x2: 0, y2: 1,
  639. colorStops: [
  640. { offset: 0, color: '#00c18a' },
  641. { offset: 1, color: 'rgba(199, 255, 239,0.4)' }
  642. ]
  643. }
  644. },
  645. lineStyle: {
  646. width: 2,
  647. color: '#00c18a'
  648. },
  649. showSymbol: true,
  650. symbol: 'circle',
  651. symbolSize: 13,
  652. itemStyle: {
  653. color: '#00c18a'
  654. },
  655. data: this.scores
  656. }
  657. ]
  658. }
  659. this.optionReady2 = true // 让组件渲染
  660. },
  661. // initChart2(canvas, width, height, canvasDpr) {
  662. // let chart = echarts.init(canvas, null, {
  663. // width: width,
  664. // height: height,
  665. // devicePixelRatio: canvasDpr
  666. // });
  667. // canvas.setChart(chart);
  668. // let option = {
  669. // grid: {
  670. // top: '15%',
  671. // left: '2%',
  672. // right: '5%',
  673. // bottom: '3%',
  674. // containLabel: true,
  675. // },
  676. // tooltip: {
  677. // trigger: "axis",
  678. // axisPointer: {
  679. // type: "line",
  680. // },
  681. // backgroundColor: "rgba(254, 107, 1, 0.1)",
  682. // borderColor: "#fe6b01",
  683. // textStyle: {
  684. // color: "#333",
  685. // },
  686. // },
  687. // xAxis: {
  688. // type: "category",
  689. // data: this.months,
  690. // axisLine: {
  691. // lineStyle: {
  692. // color: "rgba(60,132,163,0.4)", // x轴线颜色
  693. // },
  694. // },
  695. // axisTick: {
  696. // show: false, // 是否显示x轴的刻度
  697. // },
  698. // axisLabel: {
  699. // interval: 0,
  700. // color: "#333",
  701. // fontSize: 12,
  702. // rotate: 45,
  703. // },
  704. // boundaryGap: false, // true折线图以x轴刻度为中心点 false折线图折线从头开始
  705. // },
  706. // yAxis: {
  707. // type: "value",
  708. // max: 100,
  709. // min: 1,
  710. // axisTick: {
  711. // show: false,
  712. // },
  713. // axisLine: {
  714. // show: false,
  715. // },
  716. // axisLabel: {
  717. // color: "#333",
  718. // fontSize: 12,
  719. // formatter: function (value) {
  720. // return value + "";
  721. // }
  722. // },
  723. // splitLine: {
  724. // show: true,
  725. // lineStyle: {
  726. // // type: "dashed",
  727. // color: "#999",
  728. // },
  729. // },
  730. // },
  731. // series: [
  732. // {
  733. // name: "信用分",
  734. // type: "line",
  735. // smooth: true,
  736. // areaStyle: {
  737. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  738. // {
  739. // offset: 0,
  740. // color: "#00c18a",
  741. // },
  742. // {
  743. // offset: 1,
  744. // color: "rgba(199, 255, 239,0.4)",
  745. // },
  746. // ]),
  747. // },
  748. // lineStyle: {
  749. // width: 2,
  750. // color: "#00c18a",
  751. // },
  752. // // 设置节点样式
  753. // showSymbol: true,
  754. // symbol: 'circle', // 可以选择 circle, diamond, pin 等
  755. // symbolSize: 13, // 节点大小
  756. // itemStyle: {
  757. // color: "#00c18a", // 节点颜色
  758. // },
  759. // data: this.scores
  760. // },
  761. // ]
  762. // };
  763. // chart.setOption(option);
  764. // return chart;
  765. // },
  766. setOption3 (value) {
  767. this.option3 = {
  768. grid: {
  769. top: '3%',
  770. bottom: '3%',
  771. left: '0%',
  772. right: '0%',
  773. },
  774. xAxis: {
  775. show: false,
  776. type: 'value',
  777. boundaryGap: [0, 0],
  778. },
  779. yAxis: [
  780. {
  781. type: 'category',
  782. data: [''],
  783. axisLine: { show: false },
  784. axisTick: [
  785. {
  786. show: false,
  787. },
  788. ],
  789. },
  790. ],
  791. series: [
  792. {
  793. name: '背景',
  794. type: 'bar',
  795. barWidth: 10,
  796. barGap: '-100%',
  797. data: [100],
  798. itemStyle: {
  799. normal: {
  800. color: '#e8fbf6',
  801. borderWidth: 1,
  802. borderColor: '#e8fbf6',
  803. barBorderRadius: 10,
  804. },
  805. },
  806. label: {
  807. show: false,
  808. },
  809. },
  810. {
  811. name: '匹配度',
  812. type: 'bar',
  813. itemStyle: {
  814. normal: {
  815. barBorderRadius: 10,
  816. color: '#00c18a',
  817. },
  818. },
  819. barWidth: 10,
  820. data: [value],
  821. },
  822. ],
  823. };
  824. this.optionReady3 = true // 让组件渲染
  825. }
  826. // initChart3(canvas, width, height, canvasDpr) {
  827. // let chart = echarts.init(canvas, null, {
  828. // width: width,
  829. // height: height,
  830. // devicePixelRatio: canvasDpr
  831. // });
  832. // canvas.setChart(chart);
  833. // let option = {
  834. // grid: {
  835. // top: '3%',
  836. // bottom: '3%',
  837. // left: '0%',
  838. // right: '0%',
  839. // },
  840. // xAxis: {
  841. // show: false,
  842. // type: 'value',
  843. // boundaryGap: [0, 0],
  844. // },
  845. // yAxis: [
  846. // {
  847. // type: 'category',
  848. // data: [''],
  849. // axisLine: { show: false },
  850. // axisTick: [
  851. // {
  852. // show: false,
  853. // },
  854. // ],
  855. // },
  856. // ],
  857. // series: [
  858. // {
  859. // name: '背景',
  860. // type: 'bar',
  861. // barWidth: 10,
  862. // barGap: '-100%',
  863. // data: [100],
  864. // itemStyle: {
  865. // normal: {
  866. // color: '#e8fbf6',
  867. // borderWidth: 1,
  868. // borderColor: '#e8fbf6',
  869. // barBorderRadius: 10,
  870. // },
  871. // },
  872. // label: {
  873. // show: false,
  874. // },
  875. // },
  876. // {
  877. // name: '匹配度',
  878. // type: 'bar',
  879. // itemStyle: {
  880. // normal: {
  881. // barBorderRadius: 10,
  882. // color: '#00c18a',
  883. // },
  884. // },
  885. // barWidth: 10,
  886. // data: [this.jinduvlue.score],
  887. // },
  888. // ],
  889. // };
  890. // chart.setOption(option);
  891. // return chart;
  892. // },
  893. },
  894. }
  895. </script>
  896. <style lang="scss">
  897. .time-boxs {
  898. border: 1rpx #00c18a solid;
  899. background: #e8fbf6;
  900. color: #00c18a;
  901. }
  902. .time-box {
  903. border: 1rpx #999 solid;
  904. background: #fff;
  905. color: #999;
  906. }
  907. // page {
  908. // background: #F5F5F5;
  909. // }
  910. .title {
  911. font-size: 32rpx;
  912. font-family: PingFang SC;
  913. color: #333333;
  914. }
  915. .list {
  916. width: 100%;
  917. .list-box {
  918. width: 686rpx;
  919. .list-box-item {
  920. width: 100%;
  921. // height: 200rpx;
  922. border-radius: 16rpx;
  923. background-color: #ffffff;
  924. margin-top: 20rpx;
  925. padding: 30rpx 30rpx;
  926. }
  927. .list-box-item-h {
  928. color: red;
  929. font-weight: bold;
  930. }
  931. .list-box-item-hs {
  932. color: green;
  933. font-weight: bold;
  934. }
  935. .list-box-item-title {
  936. margin-top: 10rpx;
  937. color: #999999;
  938. }
  939. }
  940. }
  941. .add_name {
  942. font-family: PingFang SC;
  943. font-weight: 500;
  944. font-size: 28rpx;
  945. color: #1F1F1F;
  946. }
  947. .orgin {
  948. width: 16rpx;
  949. height: 16rpx;
  950. background: #fe6b01;
  951. border-radius: 50%;
  952. margin-right: 20rpx;
  953. }
  954. .feedback-textare {
  955. height: 200upx;
  956. font-size: 24upx;
  957. line-height: 50upx;
  958. width: 100%;
  959. box-sizing: border-box;
  960. padding: 20upx 20upx 0;
  961. border: #e4e7ed 1rpx solid;
  962. background: #f5f5f5;
  963. border-radius: 15rpx;
  964. margin-top: 20rpx;
  965. }
  966. .pay_btns {
  967. width: 90%;
  968. margin: 0 auto 40rpx;
  969. text-align: center;
  970. background: #00c18a;
  971. height: 80rpx;
  972. border-radius: 16rpx;
  973. color: #ffffff;
  974. line-height: 80rpx;
  975. margin-top: 20rpx;
  976. }
  977. .list_box {
  978. display: flex;
  979. height: 110rpx;
  980. margin: 0 30rpx;
  981. }
  982. .box_left {
  983. flex: 1;
  984. display: flex;
  985. justify-content: left;
  986. align-items: center;
  987. }
  988. </style>