xyf.vue 20 KB

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