球星卡微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

543 lines
14 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. <template>
  2. <view class="flex-col page">
  3. <view class="flex-col group_4">
  4. <view class="flex-row section_2">
  5. <view class="flex-row group_5">
  6. <text class="text_2">发货单号</text>
  7. <text class="text_3">{{ details.order.back_express_numb || '暂无单号' }}</text>
  8. </view>
  9. <text class="text_4" :style="{color: details.order.status_text_color}">{{ details.order.status_text }}</text>
  10. </view>
  11. <view class="section_3 flex-col">
  12. <view class="justify-between" @click="$url('/packages/sonpingDetail/viewDetail?id='+ id)">
  13. <view class="flex-row">
  14. <text class="text_5">明细</text>
  15. <text class="text_6">{{ details.order.num }}</text>
  16. </view>
  17. <image
  18. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780150582913.png"
  19. class="image_6"
  20. />
  21. </view>
  22. <view class="justify-between group_8" @click="details.order.amount && $url('/packages/sonpingDetail/expenseDetail?id='+ id)">
  23. <view class="flex-row">
  24. <text class="text_7">费用</text>
  25. <text class="text_8">{{ details.order.amount || '暂无' }}</text>
  26. </view>
  27. <image
  28. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780230366393.png"
  29. class="image_6"
  30. />
  31. </view>
  32. <view class="flex-col group_10" @click="$url('/packages/address/address')">
  33. <view class="justify-between">
  34. <view class="flex-row lf-flex">
  35. <view class="text_9">收货人</view>
  36. <view class="text_10">{{ details.order.address.name }}</view>
  37. <view class="text_11">{{ details.order.address.tel }}</view>
  38. </view>
  39. <image
  40. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780269942998.png"
  41. class="image_6"
  42. />
  43. </view>
  44. <view class="text_12">{{ details.order.address.area_name }}{{ details.order.address.desc }}</view>
  45. </view>
  46. </view>
  47. <view class="section_3 flex-col">
  48. <view class="flex-col group_13" @click="$url('/packages/sonpingDetail/ratingTrajectory?id='+ id)">
  49. <view class="flex-row">
  50. <image
  51. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497775960694116.png"
  52. class="image_10"
  53. />
  54. <text class="text_13">{{ details.logs && details.logs[0].title }}</text>
  55. <image
  56. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780327296781.png"
  57. class="image_6 image_11"
  58. />
  59. </view>
  60. <text class="text_14">{{ details.logs && details.logs[0].created_at }}</text>
  61. </view>
  62. <view class="flex-row group_15">
  63. <image
  64. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497777959592422.png"
  65. class="image_12"
  66. />
  67. <text class="text_15">温馨提示如需发票请在订单完成后一个月内到官网申请</text>
  68. </view>
  69. </view>
  70. <view class="flex-col section_4">
  71. <text class="text_16">送评信息</text>
  72. <view class="justify-between group_16" @click="$url('/packages/sonpingDetail/ratingTrajectory?id='+ id)">
  73. <view class="flex-row">
  74. <text class="text_17">寄送藏品</text>
  75. <text class="text_18">{{ details.order.express_type }} {{ details.order.express_numb }}</text>
  76. </view>
  77. <image
  78. src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/62677e395a7e3f03107ffc5f/62677e4a35a7e10011e93a80/16509497780290849398.png"
  79. class="image_6"
  80. />
  81. </view>
  82. <view class="flex-row group_18">
  83. <text class="text_19">送评公司</text>
  84. <text class="text_20">北京评分卡部</text>
  85. </view>
  86. <view class="flex-row group_19">
  87. <text class="text_21">送评人</text>
  88. <text class="text_22">{{ details.order.owner }}</text>
  89. </view>
  90. <view class="flex-row group_20">
  91. <text class="text_23">联系方式</text>
  92. <text class="text_24">{{ details.order.tel }}</text>
  93. </view>
  94. <view class="flex-row group_21">
  95. <text class="text_25">是否快评</text>
  96. <text class="text_26">{{ ['否','是'][details.order.is_fast] }}</text>
  97. </view>
  98. <view class="flex-row group_22">
  99. <text class="text_27">保价</text>
  100. <text class="text_28">暂无</text>
  101. </view>
  102. <view class="flex-col group_23">
  103. <view class="flex-col">
  104. <view class="flex-row">
  105. <text class="text_29">打包照片</text>
  106. <text class="text_30">送评前请拍照可确保权益</text>
  107. </view>
  108. <view class="flex-row equal-division">
  109. <image
  110. mode="aspectFill"
  111. :src="item"
  112. class="equal-division-item image_14"
  113. v-for="(item, index) in showImages"
  114. :key="index"
  115. @click="previewImage(index)"
  116. />
  117. </view>
  118. </view>
  119. <view class="flex-col group_26">
  120. <view class="flex-col items-center text-wrapper" @click="$url('/packages/address/address?is_select=1')" v-if="details.order.status == 2">
  121. <text>更改地址</text>
  122. </view>
  123. <view class="flex-col items-center text-wrapper text-wrapper-1" @click="orderConfirm" v-else-if="details.order.status == 4">
  124. <text>确认收货</text>
  125. </view>
  126. <view class="section_5"> </view>
  127. </view>
  128. </view>
  129. </view>
  130. </view>
  131. </view>
  132. </template>
  133. <script>
  134. import { gradingDetail } from '@/service/grading.js'
  135. import { confirmOrder, changOrderAddress } from '@/service/order.js';
  136. export default {
  137. data() {
  138. return {
  139. address: {},
  140. id: '',
  141. details: {}
  142. };
  143. },
  144. watch: {
  145. address(){
  146. this.changOrderAddress();
  147. }
  148. },
  149. computed: {
  150. showImages(){
  151. if(this.details.order && this.details.order.images){
  152. return String(this.details.order.images).split(',');
  153. }else{
  154. return []
  155. }
  156. }
  157. },
  158. onLoad(options){
  159. this.id = options.id;
  160. this.getGradingDetail();
  161. },
  162. methods: {
  163. async getGradingDetail(){
  164. let res = await gradingDetail(this.id);
  165. console.log("res", res);
  166. this.details = res.data.datas;
  167. },
  168. previewImage(current){
  169. uni.previewImage({
  170. urls: this.showImages,
  171. current: current
  172. })
  173. },
  174. // 确认收货
  175. async orderConfirm(){
  176. await confirmOrder(this.details.order.order_id);
  177. this.$msg('确认收货成功');
  178. this.getGradingDetail();
  179. },
  180. // 更换收货地址
  181. async changOrderAddress(){
  182. await changOrderAddress({order_id: this.details.order.order_id, addr_id: this.address.id});
  183. this.$msg('地址修改成功');
  184. this.getGradingDetail();
  185. }
  186. }
  187. };
  188. </script>
  189. <style scoped lang="css">
  190. .section_3 {
  191. margin-top: 30rpx;
  192. padding: 40rpx 30rpx 40rpx 32rpx;
  193. background-color: rgb(255, 255, 255);
  194. }
  195. .image_6 {
  196. margin: 10rpx 0 8rpx;
  197. width: 16rpx;
  198. height: 26rpx;
  199. }
  200. .equal-division-item {
  201. margin-left: 28rpx;
  202. /* flex: 1 1 210rpx; */
  203. width: 80px;
  204. height: 80px;
  205. }
  206. .page {
  207. background-color: #f6f6f6;
  208. width: 100%;
  209. overflow-y: auto;
  210. height: 100%;
  211. }
  212. .group_4 {
  213. padding-top: 2rpx;
  214. flex: 1 1 auto;
  215. overflow-y: auto;
  216. }
  217. .section_2 {
  218. padding: 40rpx 32rpx;
  219. background-color: rgb(255, 255, 255);
  220. }
  221. .section_4 {
  222. margin-top: 30rpx;
  223. padding: 40rpx 30rpx 16rpx 32rpx;
  224. background-color: rgb(255, 255, 255);
  225. }
  226. .group_5 {
  227. flex: 1 1 auto;
  228. }
  229. .text_4 {
  230. margin-left: 40rpx;
  231. /* color: rgb(172, 205, 35); */
  232. font-size: 32rpx;
  233. font-weight: 500;
  234. line-height: 44rpx;
  235. white-space: nowrap;
  236. }
  237. .group_8 {
  238. margin-top: 50rpx;
  239. }
  240. .group_10 {
  241. margin-top: 50rpx;
  242. }
  243. .group_13 {
  244. color: rgb(51, 51, 51);
  245. font-size: 32rpx;
  246. font-weight: 500;
  247. line-height: 44rpx;
  248. white-space: nowrap;
  249. }
  250. .group_15 {
  251. margin-top: 40rpx;
  252. color: rgb(153, 153, 153);
  253. font-size: 24rpx;
  254. font-weight: 500;
  255. line-height: 34rpx;
  256. white-space: nowrap;
  257. }
  258. .text_16 {
  259. color: rgb(51, 51, 51);
  260. font-size: 36rpx;
  261. font-weight: 600;
  262. line-height: 50rpx;
  263. white-space: nowrap;
  264. }
  265. .group_16 {
  266. margin-top: 40rpx;
  267. }
  268. .group_18 {
  269. margin-top: 50rpx;
  270. }
  271. .group_19 {
  272. margin-top: 50rpx;
  273. }
  274. .group_20 {
  275. margin-top: 50rpx;
  276. }
  277. .group_21 {
  278. margin-top: 50rpx;
  279. }
  280. .group_22 {
  281. margin-top: 50rpx;
  282. }
  283. .group_23 {
  284. margin-top: 50rpx;
  285. }
  286. .text_2 {
  287. color: rgb(119, 119, 119);
  288. font-size: 32rpx;
  289. font-weight: 500;
  290. line-height: 44rpx;
  291. white-space: nowrap;
  292. }
  293. .text_3 {
  294. margin-left: 10rpx;
  295. color: rgb(51, 51, 51);
  296. font-size: 32rpx;
  297. font-weight: 500;
  298. line-height: 44rpx;
  299. white-space: nowrap;
  300. }
  301. .text_12 {
  302. margin-top: 10rpx;
  303. align-self: center;
  304. color: rgb(51, 51, 51);
  305. font-size: 32rpx;
  306. font-weight: 500;
  307. line-height: 44rpx;
  308. width: 100%;
  309. box-sizing: border-box;
  310. padding-left: 160rpx;
  311. padding-right: 32rpx;
  312. }
  313. .text_14 {
  314. margin-left: 66rpx;
  315. }
  316. .image_12 {
  317. width: 30rpx;
  318. height: 30rpx;
  319. }
  320. .text_15 {
  321. margin-left: 10rpx;
  322. margin-right: 24rpx;
  323. }
  324. .text_19 {
  325. color: rgb(119, 119, 119);
  326. font-size: 32rpx;
  327. font-weight: 500;
  328. line-height: 44rpx;
  329. white-space: nowrap;
  330. }
  331. .text_20 {
  332. margin-left: 10rpx;
  333. color: rgb(51, 51, 51);
  334. font-size: 32rpx;
  335. font-weight: 500;
  336. line-height: 44rpx;
  337. white-space: nowrap;
  338. overflow:hidden;
  339. text-overflow:ellipsis;
  340. width: 522rpx;
  341. display: inline-block;
  342. }
  343. .text_21 {
  344. color: rgb(119, 119, 119);
  345. font-size: 32rpx;
  346. font-weight: 500;
  347. line-height: 44rpx;
  348. white-space: nowrap;
  349. }
  350. .text_22 {
  351. margin-left: 42rpx;
  352. color: rgb(51, 51, 51);
  353. font-size: 32rpx;
  354. font-weight: 500;
  355. line-height: 44rpx;
  356. white-space: nowrap;
  357. }
  358. .text_23 {
  359. color: rgb(119, 119, 119);
  360. font-size: 32rpx;
  361. font-weight: 500;
  362. line-height: 44rpx;
  363. white-space: nowrap;
  364. }
  365. .text_24 {
  366. margin-left: 10rpx;
  367. color: rgb(51, 51, 51);
  368. font-size: 32rpx;
  369. font-weight: 500;
  370. line-height: 44rpx;
  371. white-space: nowrap;
  372. }
  373. .text_25 {
  374. color: rgb(119, 119, 119);
  375. font-size: 32rpx;
  376. font-weight: 500;
  377. line-height: 44rpx;
  378. white-space: nowrap;
  379. }
  380. .text_26 {
  381. margin-left: 10rpx;
  382. color: rgb(51, 51, 51);
  383. font-size: 32rpx;
  384. font-weight: 500;
  385. line-height: 44rpx;
  386. white-space: nowrap;
  387. }
  388. .text_27 {
  389. color: rgb(119, 119, 119);
  390. font-size: 32rpx;
  391. font-weight: 500;
  392. line-height: 44rpx;
  393. white-space: nowrap;
  394. }
  395. .text_28 {
  396. margin-left: 74rpx;
  397. color: rgb(51, 51, 51);
  398. font-size: 32rpx;
  399. font-weight: 500;
  400. line-height: 44rpx;
  401. white-space: nowrap;
  402. }
  403. .group_26 {
  404. margin-top: 40rpx;
  405. padding: 0 2rpx;
  406. color: rgb(153, 153, 153);
  407. font-size: 28rpx;
  408. font-weight: 500;
  409. line-height: 40rpx;
  410. white-space: nowrap;
  411. }
  412. .text_5 {
  413. color: rgb(119, 119, 119);
  414. font-size: 32rpx;
  415. font-weight: 500;
  416. line-height: 44rpx;
  417. white-space: nowrap;
  418. }
  419. .text_6 {
  420. margin-left: 74rpx;
  421. color: rgb(51, 51, 51);
  422. font-size: 32rpx;
  423. font-weight: 500;
  424. line-height: 44rpx;
  425. white-space: nowrap;
  426. }
  427. .text_7 {
  428. color: rgb(119, 119, 119);
  429. font-size: 32rpx;
  430. font-weight: 500;
  431. line-height: 44rpx;
  432. white-space: nowrap;
  433. }
  434. .text_8 {
  435. margin-left: 74rpx;
  436. color: rgb(51, 51, 51);
  437. font-size: 32rpx;
  438. font-weight: 500;
  439. line-height: 44rpx;
  440. white-space: nowrap;
  441. }
  442. .image_10 {
  443. width: 56rpx;
  444. height: 56rpx;
  445. }
  446. .text_13 {
  447. margin-left: 10rpx;
  448. display: inline-block;
  449. width: 586rpx;
  450. white-space:nowrap;
  451. overflow:hidden;
  452. text-overflow:ellipsis;
  453. }
  454. .image_11 {
  455. margin-top: 10rpx;
  456. margin-bottom: 0;
  457. margin-left: 30rpx;
  458. margin-right: 0;
  459. }
  460. .text_17 {
  461. color: rgb(119, 119, 119);
  462. font-size: 32rpx;
  463. font-weight: 500;
  464. line-height: 44rpx;
  465. white-space: nowrap;
  466. }
  467. .text_18 {
  468. margin-left: 10rpx;
  469. color: rgb(51, 51, 51);
  470. font-size: 32rpx;
  471. font-weight: 500;
  472. line-height: 44rpx;
  473. white-space: nowrap;
  474. }
  475. .equal-division {
  476. margin-top: 20rpx;
  477. }
  478. .text-wrapper {
  479. padding: 10rpx 0;
  480. align-self: flex-end;
  481. border-radius: 32rpx;
  482. width: 160rpx;
  483. border: solid 2rpx rgb(153, 153, 153);
  484. }
  485. .text-wrapper-1{
  486. border-color: #E7A23F;
  487. color: #E7A23F;
  488. }
  489. .section_5 {
  490. margin-top: 40rpx;
  491. align-self: center;
  492. border-radius: 4rpx;
  493. width: 196rpx;
  494. height: 8rpx;
  495. }
  496. .text_9 {
  497. color: rgb(119, 119, 119);
  498. font-size: 32rpx;
  499. font-weight: 500;
  500. line-height: 44rpx;
  501. white-space: nowrap;
  502. }
  503. .text_10 {
  504. margin-left: 42rpx;
  505. color: rgb(51, 51, 51);
  506. font-size: 32rpx;
  507. font-weight: 500;
  508. line-height: 44rpx;
  509. white-space: nowrap;
  510. max-width: 280rpx;
  511. overflow:hidden;
  512. text-overflow:ellipsis;
  513. }
  514. .text_11 {
  515. margin-left: 30rpx;
  516. color: rgb(51, 51, 51);
  517. font-size: 32rpx;
  518. font-weight: 500;
  519. line-height: 44rpx;
  520. white-space: nowrap;
  521. }
  522. .text_29 {
  523. color: rgb(119, 119, 119);
  524. font-size: 32rpx;
  525. font-weight: 500;
  526. line-height: 44rpx;
  527. white-space: nowrap;
  528. }
  529. .text_30 {
  530. margin-left: 20rpx;
  531. margin-top: 8rpx;
  532. color: rgb(153, 153, 153);
  533. font-size: 24rpx;
  534. font-weight: 500;
  535. line-height: 34rpx;
  536. white-space: nowrap;
  537. }
  538. .image_14 {
  539. margin-left: 0;
  540. }
  541. </style>