球星卡微信小程序
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.

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