zhaogongxue 6 月之前
父節點
當前提交
3cbcbe8842
共有 100 個文件被更改,包括 2463 次插入1935 次删除
  1. 102 0
      commont/messages.js
  2. 1161 942
      components/kj-express/kj-express.vue
  3. 64 67
      pageC/accountSecurity/accountSecurity.vue
  4. 264 219
      pageC/accountSetup/accountSetup.vue
  5. 410 345
      pageC/addEditAddress/addEditAddress.vue
  6. 61 56
      pageC/editName/editName.vue
  7. 3 0
      pageC/orderForm/component/refundCard.vue
  8. 1 1
      pageC/orderForm/orderForm.vue
  9. 25 10
      pageC/orderFormDetail/component/commodityDetail.vue
  10. 13 10
      pageC/refundDetail/component/moneyDestination.vue
  11. 6 1
      pageC/refundDetail/component/refundInProgress.vue
  12. 33 9
      pageC/refundDetail/component/refundInformation.vue
  13. 5 3
      pageC/refundDetail/component/refundSuccessful.vue
  14. 8 3
      pageC/refundDetail/component/refusalToRefund.vue
  15. 13 4
      pageC/refundDetail/refundDetail.vue
  16. 294 265
      pageD/evaluate/evaluate.vue
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-chat/kj-chat.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-express/kj-express.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-flow/kj-flow.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-index/kj-index.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-tabbar/kj-tabbar.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/mp_ecard_sdk/index/index.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/balance.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/changelange.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/chat/chat.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/chat/news.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/comment.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/components/zh-slidingMenu/zhSlidingMenu/zhSlidingMenu.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/confirm.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/counter.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/index.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/logisticsinfo.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/order.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/payorder.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/productdetails.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/rule/rule.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/service/service.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/shoplist.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/shoptype.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageA/subsidy.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/ParcelExpress.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/Senderinfor.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/account.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/citychange.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/delivery.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/end.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/expresstype.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/goods.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/index.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/list/list.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/myPackage.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/orderinfo.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/parcel.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/recipientinfo.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/search.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageB/xieyi.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountBalance/accountBalance.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountCancellation/accountCancellation.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountSecurity/accountSecurity.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountSecurity/component/textRight.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountSetup/accountSetup.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addEditAddress/addEditAddress.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addEditAddress/component/selectCity.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addressManagement/addressManagement.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addressManagement/component/address.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/applicationRefund/applicationRefund.js.map
  70. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/applicationRefund/component/reasonPopup.js.map
  71. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/balanceDetail/balanceDetail.js.map
  72. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/editName/editName.js.map
  73. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/ensureExplain/ensureExplain.js.map
  74. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/ensureMoney/ensureMoney.js.map
  75. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/index.js.map
  76. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/internationalAddress/internationalAddress.js.map
  77. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineComponent/agreePopup.js.map
  78. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineComponent/allRight/allRight.js.map
  79. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineComponent/moneyDetail/index.js.map
  80. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineFollow/mineFollow.js.map
  81. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/myPackage/component/packageCard.js.map
  82. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/myPackage/myPackage.js.map
  83. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderForm/component/orderInofrmation.js.map
  84. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderForm/component/refundCard.js.map
  85. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderForm/orderForm.js.map
  86. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderFormDetail/component/commodityDetail.js.map
  87. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderFormDetail/orderFormDetail.js.map
  88. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/personalInformation/personalInformation.js.map
  89. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/privacyPolicy/privacyPolicy.js.map
  90. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/recharge/recharge.js.map
  91. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/moneyDestination.js.map
  92. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refundInProgress.js.map
  93. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refundInformation.js.map
  94. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refundSuccessful.js.map
  95. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refusalToRefund.js.map
  96. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/refundDetail.js.map
  97. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/switchLanguage/switchLanguage.js.map
  98. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/withdrawal/withdrawal.js.map
  99. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageC/withdrawalDetail/withdrawalDetail.js.map
  100. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pageD/afterSalesDetail/afterSalesDetail.js.map

+ 102 - 0
commont/messages.js

@@ -444,6 +444,7 @@ export default {
       goodsPrice: "商品总价",
       goodsWeight: "商品总重量",
       accountsPayable: "应付款",
+      refundDetails: "退款详情",
       //平台商品库
       searchGoods: "搜索商品名称",
       platformGoods: "平台商品库",
@@ -578,6 +579,28 @@ export default {
       incorrectly: "收货地址/手机号填错了",
       wrongItem: "卖家发错货",
       otherReasons: "其他原因",
+      //评价
+      reviews: "商品评价",
+      addPicturesVideos: "添加图片/视频",
+      thoughtsProduct: "展开说说对商品的想法",
+      submitEvaluation: "提交评价",
+      evaluationSuccess: "评价成功",
+      //售后详情
+      hasIntervened: "平台已介入",
+      MoneyDirection: "钱款去向",
+      refundAccount: "退款账户",
+      processingTime: "退款已原路退回,到账时间以平台处理时间为准",
+      applicationReview: "申请受理中",
+      acceptedWait: "您的退款申请团长已受理,请耐心等待",
+      buyerRefund: "买家发起退款",
+      processingWait: "系统将会在1-2天提交处理,请耐心等待",
+      NumberApplications: "申请件数",
+      refundBalance: "退款余额",
+      checkMoney: "查看钱款去向",
+      rejectedRefund: "卖家拒绝了您的退款申请",
+      contatto: "联系",
+      plataforma: "平台",
+      regimentalCommander: "团长",
     },
   },
   //英语
@@ -1027,6 +1050,7 @@ export default {
       goodsPrice: "Total price of the product",
       goodsWeight: "Total weight of the product",
       accountsPayable: "Accounts payable",
+      refundDetails: "Refund details",
       //平台商品库
       searchGoods: "Search for product name",
       platformGoods: "Platform Product Library",
@@ -1165,6 +1189,31 @@ export default {
       incorrectly: "The shipping address/phone number is filled in incorrectly",
       wrongItem: "The seller sent the wrong item",
       otherReasons: "Other reasons",
+      //评价
+      reviews: "Evaluation success",
+      addPicturesVideos: "Add pictures/videos",
+      thoughtsProduct: "Expand your thoughts on the product",
+      submitEvaluation: "Submit evaluation",
+      evaluationSuccess: "Evaluation success",
+      //售后详情
+      hasIntervened: "The platform has intervened",
+      MoneyDirection: "Money flow direction",
+      refundAccount: "Refund account",
+      processingTime:
+        "The refund has been returned through the original method, and the time of receipt is subject to the platform's processing time",
+      applicationReview: "Application under review",
+      acceptedWait:
+        "Your refund request has been accepted by the team leader, please be patient and wait",
+      buyerRefund: "Buyer initiates refund",
+      processingWait:
+        "The system will submit for processing in 1-2 days, please be patient and wait",
+      NumberApplications: "Number of applications",
+      refundBalance: "Refund balance",
+      checkMoney: "Check the destination of the money",
+      rejectedRefund: "The seller has rejected your refund request",
+      contatto: "contact",
+      plataforma: "platform",
+      regimentalCommander: "regimental commander",
     },
   },
   // 西班牙
@@ -1622,6 +1671,7 @@ export default {
       goodsPrice: "Precio total de los productos básicos",
       goodsWeight: "Peso total de la mercancía",
       accountsPayable: "Cuentas por pagar",
+      refundDetails: "Detalles del reembolso",
       //平台商品库
       searchGoods: "Buscar el nombre del producto",
       platformGoods: "Biblioteca de productos básicos de la plataforma",
@@ -1767,6 +1817,32 @@ export default {
         "Dirección de recepción / número de teléfono móvil rellenado incorrectamente",
       wrongItem: "El vendedor envía los productos equivocados",
       otherReasons: "Otras razones",
+      //评价
+      reviews: "Evaluación de productos básicos",
+      addPicturesVideos: "Añadir imagen / vídeo",
+      thoughtsProduct:
+        "Comenzar a hablar sobre las ideas de los productos básicos",
+      submitEvaluation: "Presentación de la evaluación",
+      evaluationSuccess: "Evaluación exitosa",
+      //售后详情
+      hasIntervened: "La Plataforma ha intervenido",
+      MoneyDirection: "Destino del dinero",
+      refundAccount: "Cuenta de reembolso",
+      processingTime:
+        "El reembolso ha sido devuelto por el mismo camino, y la hora de llegada se basa en el tiempo de procesamiento de la plataforma.",
+      applicationReview: "Aceptación de la solicitud",
+      acceptedWait:
+        "Su jefe de solicitud de reembolso ha sido aceptado, por favor espere pacientemente",
+      buyerRefund: "El comprador inicia un reembolso",
+      processingWait:
+        "El sistema se presentará para su procesamiento en 1 - 2 días, por favor espere pacientemente",
+      NumberApplications: "Número de solicitudes",
+      refundBalance: "Saldo del reembolso",
+      checkMoney: "Ver el destino del dinero",
+      rejectedRefund: "El vendedor rechazó su solicitud de reembolso",
+      contatto: "Contacto",
+      plataforma: "Plataforma",
+      regimentalCommander: "Jefe del regimiento",
     },
   },
   //意大利
@@ -2220,6 +2296,7 @@ export default {
       goodsPrice: "Prezzo totale del prodotto",
       goodsWeight: "Peso totale del prodotto",
       accountsPayable: "Conti passivi",
+      refundDetails: "Dettagli sul rimborso",
       //平台商品库
       searchGoods: "Ricerca del nome del prodotto",
       platformGoods: "Libreria di prodotti della piattaforma",
@@ -2362,6 +2439,31 @@ export default {
         "L'indirizzo di spedizione / numero di telefono è inserito in modo errato",
       wrongItem: "Il venditore ha inviato l'articolo sbagliato",
       otherReasons: "Altri motivi",
+      //评价
+      reviews: "Valutazione del prodotto",
+      addPicturesVideos: "Aggiungi immagini/video",
+      thoughtsProduct: "Espandi il tuo pensiero sul prodotto",
+      submitEvaluation: "Invia la valutazione",
+      evaluationSuccess: "Successo della valutazione",
+      //售后详情
+      hasIntervened: "La piattaforma è intervenuta",
+      MoneyDirection: "Direzione del flusso monetario",
+      refundAccount: "Conto di rimborso",
+      processingTime:
+        "Il rimborso è stato restituito con il metodo originale e l'orario di ricezione è soggetto al tempo di elaborazione della piattaforma",
+      applicationReview: "Domanda oggetto di riesame",
+      acceptedWait:
+        "La tua richiesta di rimborso è stata accettata dal team leader, per favore sii paziente e attendi",
+      buyerRefund: "L'acquirente avvia il rimborso",
+      processingWait:
+        "Il sistema si presenterà per l'elaborazione in 1-2 giorni, si prega di essere paziente e attendere",
+      NumberApplications: "Numero di domande",
+      refundBalance: "Saldo delle restituzioni",
+      checkMoney: "Verifica la destinazione del denaro",
+      rejectedRefund: "Il venditore ha rifiutato la tua richiesta di rimborso",
+      contatto: "contatto",
+      plataforma: "piattaforma",
+      regimentalCommander: "Team Leader",
     },
   },
 };

+ 1161 - 942
components/kj-express/kj-express.vue

@@ -1,949 +1,1168 @@
 <template>
-	<!-- 商城 -->
-	<scroll-view  class="" scroll-y='true' style="height: calc(100vh - 300rpx); padding: 0 24rpx;" >
-		<view style="position: relative;padding-bottom: 20rpx;">
-			<!-- 自定义导航栏 -->
-			<image src="../../static/images/index/back.png"
-				style="width: 750rpx;height: 1200rpx;position: absolute;top: 0;z-index: -1;left:-24rpx;" mode="">
-			</image>
-			<!-- 地址 -->
-			<view class="address">
-				<view class="left u-flex" style="display: flex;">
-					<view class="u-row-between left" style="display: flex;flex-direction: column;">
-						<image src="../../static/express/ji.png" style='width: 40rpx;;height:40rpx ;' mode=""></image>
-						<image @click="changeadd" src="../../static/express/change.png"
-							style='width: 40rpx;;height:40rpx ;' mode="">
-						</image>
-					</view>
-					<view class=" u-row-between left"
-						style="flex: 1;margin-left: 28rpx;border-bottom:2rpx solid rgba(151, 151, 151, 0.08) ;display: flex;">
-						<view v-if="JSON.stringify(topadd)=='{}'" class="u-row-between " style="" @click="send">
-							<view class="pople">{{i18n.sender}}</view>
-							<view class="jiadd" style="margin-top: 14rpx;">{{i18n.informat}}</view>
-						</view>
-						<view v-else class="u-row-between " style="" @click="send">
-							<view class="">
-								<text class="topname">{{topadd.name}}</text>
-								<text class="topaddress"
-									style="margin-left: 8rpx;">{{replacePhoneToStar(topadd.mobile)}}</text>
-							</view>
-							<view class="topaddress" style="margin-top: 14rpx;">{{topadd.full_address}}</view>
-						</view>
-						<view class="u-flex" @click.stop="addbook(1)">
-							<view class="" style="color: rgba(151, 151, 151, 1);">|</view>
-							<text class="right">{{i18n.addressbook}}</text>
-						</view>
-					</view>
-				</view>
-				<view class="left u-flex"
-					style="display: flex;margin-top: 26rpx;border-bottom:2rpx solid rgba(151, 151, 151, 0.08)">
-					<view class="u-row-between left" style="display: flex;flex-direction: column;">
-						<image src="../../static/express/shou.png" style='width: 40rpx;;height:40rpx ;' mode=""></image>
-						<!-- <image src="../../static/express/change.png" style='width: 40rpx;;height:40rpx ;' mode=""> -->
-						</image>
-					</view>
-					<view class=" u-row-between left" style="flex: 1;margin-left: 28rpx;display: flex;">
-						<view v-if="JSON.stringify(bottomadd)=='{}'" class="u-row-between " style="" @click="recipirnt">
-							<view class="pople">{{i18n.recipient}}</view>
-							<view class="jiadd" style="margin-top: 14rpx;">{{i18n.informate}}</view>
-						</view>
-						<view v-else class="u-row-between " style="" @click="recipirnt">
-							<view class="">
-								<text class="topname">{{bottomadd.name}}</text>
-								<text class="topaddress"
-									style="margin-left: 8rpx;">{{replacePhoneToStar(bottomadd.mobile)}}</text>
-							</view>
-							<view class="topaddress" style="margin-top: 14rpx;">{{bottomadd.full_address}}</view>
-						</view>
-						<view class="u-flex" @click.stop="addbook(0)">
-							<view class="" style="color: rgba(151, 151, 151, 1);">|</view>
-							<text class="right">{{i18n.addressbook}}</text>
-						</view>
-					</view>
-				</view>
-				<!-- 物品信息 -->
-				<view class="info u-flex u-row-between">
-					<view class="u-flex">
-						<text class="wupin">{{i18n.item}}</text>
-						<view class="mast">{{i18n.required}}</view>
-					</view>
-					<view v-if="JSON.stringify(goodinfo)==='{}'" class="u-flex" @click='goods'>
-						<view class="change">{{i18n.selection}}</view>
-						<image src="../../static/express/next1.png"
-							style="width: 28rpx;height: 28rpx;margin-left: 6rpx;" mode=""></image>
-					</view>
-					<view v-else class="goodname" @click='goods'>
-						{{goodinfo.goodname}},{{goodinfo.weight}}kg
-					</view>
-				</view>
-				<!-- 跨境物流 -->
-				<view class="info u-flex u-row-between">
-					<view class="u-flex">
-						<text class="wupin">{{i18n.flow}}</text>
-					</view>
-					<view class="u-flex" @click="changewu">
-						<!-- <text class="change" style="color: rgba(248, 50, 36, 1);">{{i18n.selection}}</text> -->
-						<text class="change"
-							style="color: rgba(248, 50, 36, 1);">{{leftname?leftname+' |  '+rightname : i18n.selection}}</text>
-						<image v-if="leftname==''" src="../../static/express/next1.png"
-							style="width: 28rpx;height: 28rpx;margin-left: 6rpx;" mode=""></image>
-					</view>
-				</view>
-				<!-- 去寄件 -->
-				<view class="" style="margin-top: 34rpx;">
-					<view class="mail" @click="todev">
-						{{i18n.mail}}
-					</view>
-				</view>
-				<view class="bottom u-flex u-row-between">
-					<button
-						style="background-color: transparent;padding-left: 0 !important;padding-right: 0 !important;margin: 0 !important;"
-						open-type="share" class="u-flex">
-						<image src="../../static/express/share.png" style="width: 36rpx;height: 36rpx;" mode=""></image>
-						<text class="friend">{{i18n.share}}</text>
-					</button>
-					<view class="friend">|</view>
-					<view class="u-flex" @click="counter">
-						<image src="/static/images/index/compile.png" style="width: 36rpx;height: 36rpx;" mode="">
-						</image>
-						<text class="friend">{{i18n.compute}}</text>
-					</view>
-				</view>
-			</view>
-			<!-- 我的包裹 -->
-			<view class="parcel">
-				<view class="u-flex u-row-between">
-					<view class="myparcel">
-						<text>{{i18n.mine}}</text>
-						<text style="color: rgba(248, 50, 36, 1);">{{i18n.parcel}}</text>
-					</view>
-					<view class="add u-flex">
-						<image src="../../static/express/add.png" mode="" style="width: 44rpx;height: 44rpx;"></image>
-						<text class="addtext" @click="toparcel">{{i18n.addsign}}</text>
-					</view>
-				</view>
-				<view class="u-flex u-row-around" style="margin-top: 44rpx;">
-					<view class="flexc" @click="pack('to_transit')">
-						<view class="" style="position: relative;width: 68rpx;height: 68rpx;">
-							<u-badge :absolute='true' :offset="[0,-15]" :type="type" max="99"
-								:value="transit"></u-badge>
-							<image src="/static/express/address.png" style='width:68rpx;height:68rpx' mode="">
-							</image>
-						</view>
-						<text style='margin-top:16rpx' class="bao">{{i18n.deliver}}</text>
-					</view>
-					<view class="flexc" style="position: relative;" @click="pack('transit_receipt')">
-						<view class="" style="position: relative;width: 68rpx;height: 68rpx;">
-							<u-badge :absolute='true' :offset="[0,-15]" :type="type" max="99"
-								:value="receipt"></u-badge>
-							<image src="/static/express/sign.png" style='width:68rpx;height:68rpx' mode=""></image>
-						</view>
-						<text style='margin-top:16rpx' class="bao">{{i18n.Sign}}</text>
-					</view>
-					<view class="flexc" style="position: relative;" @click="pack('to_overseas')">
-						<view class="" style="position: relative;width: 68rpx;height: 68rpx;">
-							<u-badge :absolute='true' :offset="[0,-15]" :type="type" max="99"
-								:value="overseas"></u-badge>
-							<image src="../../static/express/send.png" style='width:68rpx;height:68rpx' mode=""></image>
-						</view>
-						<text style='margin-top:16rpx' class="bao">{{i18n.overseas}}</text>
-					</view>
-				</view>
-			</view>
-			<!-- 拼包 -->
-			<view class="u-flex u-row-between" style="margin-top: 32rpx;width: 702rpx;">
-				<view class="u-flex">
-					<text class="hai">{{i18n.parceling}}</text>
-					<image v-if="language =='zh-CN'" style="width: 180rpx;height: 32rpx;"
-						src="/static/express/label.png" mode=""></image>
-					<image v-if="language =='en-US'" style="width: 300rpx;height: 32rpx;"
-						src="/static/express/label1.png" mode=""></image>
-					<image v-if="language =='es-ES'" style="width: 334rpx;height: 32rpx;"
-						src="/static/express/label2.png" mode=""></image>
-					<image v-if="language =='it-IT'" style="width: 366rpx;height: 32rpx;"
-						src="/static/express/label3.png" mode=""></image>
-				</view>
-				<view class="u-flex">
-					<text class="more" @click="more">{{i18n.more}}</text>
-					<image src="../../static/express/next2.png" style="width: 30rpx;height: 30rpx;" mode=""></image>
-				</view>
-			</view>
-			<!-- 拼包数据 -->
-			<view class="label" v-for="(item,idx) in expressList" :key="idx">
-				<view class="" style="display: flex;">
-					<view class="left flexc">
-						<text class="bourn">{{i18n.destination}}</text>
-						<view class="addres">{{item.containerBase.country_name}}</view>
-						<view class="addres">{{item.containerBase.province_name}}</view>
-					</view>
-					<view class="" style="flex: 1;margin-left: 20rpx;">
-						<view class="u-flex u-row-between">
-							<view class="">
-								<text class='bigtitle' v-if="item.type=='normal'">{{i18n.Ordinary}}</text>
-								<text class='bigtitle' v-else>{{i18n.Special}}</text>
-								<text style="margin: 0 8rpx;">|</text>
-								<text v-if="language =='zh-CN'" class='bigtitle'>{{item.transportType.name_cn}}</text>
-								<text v-if="language =='en-US'" class='bigtitle'>{{item.transportType.name_en}}</text>
-								<text v-if="language =='es-ES'" class='bigtitle'>{{item.transportType.name_es}}</text>
-								<text v-if="language =='it-IT'" class='bigtitle'>{{item.transportType.name_ita}}</text>
-							</view>
-							<view class="mon">
-								<text class="timeb">{{i18n.price}}</text>
-								<text>¥</text>
-								<text v-if="item.price" style="font-size: 32rpx;">{{item.price.slice(0,-3)}}</text>
-								<text v-if="item.price">{{item.price.slice(-3)}}</text>
-							</view>
-						</view>
-						<view class="" style="margin-top: 34rpx;">
-							<u-line-progress activeColor='rgba(255, 21, 21, 1)' :percentage="item.progress" height="6"
-								:showText="false"></u-line-progress>
-						</view>
-						<view class="u-flex u-row-between" style="margin-top: 20rpx;">
-							<view class="u-flex">
-								<view class="">
-									<text class='timeb'>{{i18n.already}} </text>
-									<text class='timeb' style='color:rgba(255, 21, 21, 1)'>{{item.used_weight}}kg</text>
-								</view>
-								<text style="margin: 0 8rpx;">|</text>
-								<view class="">
-									<text class='timeb'>{{i18n.residue}} </text>
-									<text class='timeb'
-										style='color:rgba(255, 21, 21, 1)'>{{item.residual_weight}}kg</text>
-								</view>
-							</view>
-							<view class="">
-								<text class="timeb">{{i18n.plan}}{{item.progress}}%</text>
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="u-flex u-row-between" style="margin-top: 32rpx;">
-					<text class="timea">{{i18n.start}}:{{item.begin_date}}/{{i18n.cut}}:{{item.end_date}}</text>
-					<view class="pinb" @click="toaccount(item)">{{i18n.goparceling}}</view>
-				</view>
-			</view>
-		</view>
-		<u-popup round='28' :show="logshow" @close="close">
-			<view class="pop">
-				<kj-flow :language="language" :goodstype="goodinfo.goodtype" ref="child" :province_id='province_id'
-					@success='success' @close='close()' :leftchangea='leftchange' :rightchangea='rightchange'
-					:typeida='typeid'></kj-flow>
-			</view>
-		</u-popup>
-		<!-- <u-button @click="show = true">打开</u-button> -->
-		<!-- <view class="" style="height: 160rpx;"></view> -->
-	</scroll-view>
+  <!-- 商城 -->
+  <scroll-view
+    class=""
+    scroll-y="true"
+    style="height: calc(100vh - 300rpx); padding: 0 24rpx"
+  >
+    <view style="position: relative; padding-bottom: 20rpx">
+      <!-- 自定义导航栏 -->
+      <image
+        src="../../static/images/index/back.png"
+        style="
+          width: 750rpx;
+          height: 1200rpx;
+          position: absolute;
+          top: 0;
+          z-index: -1;
+          left: -24rpx;
+        "
+        mode=""
+      >
+      </image>
+      <!-- 地址 -->
+      <view class="address">
+        <view class="left u-flex" style="display: flex">
+          <view
+            class="u-row-between left"
+            style="display: flex; flex-direction: column"
+          >
+            <image
+              src="../../static/express/ji.png"
+              style="width: 40rpx; height: 40rpx"
+              mode=""
+            ></image>
+            <image
+              @click="changeadd"
+              src="../../static/express/change.png"
+              style="width: 40rpx; height: 40rpx"
+              mode=""
+            >
+            </image>
+          </view>
+          <view
+            class="u-row-between left"
+            style="
+              flex: 1;
+              margin-left: 28rpx;
+              border-bottom: 2rpx solid rgba(151, 151, 151, 0.08);
+              display: flex;
+            "
+          >
+            <view
+              v-if="JSON.stringify(topadd) == '{}'"
+              class="u-row-between"
+              style=""
+              @click="send"
+            >
+              <view class="pople">{{ i18n.sender }}</view>
+              <view class="jiadd" style="margin-top: 14rpx">{{
+                i18n.informat
+              }}</view>
+            </view>
+            <view v-else class="u-row-between" style="" @click="send">
+              <view class="">
+                <text class="topname">{{ topadd.name }}</text>
+                <text class="topaddress" style="margin-left: 8rpx">{{
+                  replacePhoneToStar(topadd.mobile)
+                }}</text>
+              </view>
+              <view class="topaddress" style="margin-top: 14rpx">{{
+                topadd.full_address
+              }}</view>
+            </view>
+            <view class="u-flex" @click.stop="addbook(1)">
+              <view class="" style="color: rgba(151, 151, 151, 1)">|</view>
+              <text class="right">{{ i18n.addressbook }}</text>
+            </view>
+          </view>
+        </view>
+        <view
+          class="left u-flex"
+          style="
+            display: flex;
+            margin-top: 26rpx;
+            border-bottom: 2rpx solid rgba(151, 151, 151, 0.08);
+          "
+        >
+          <view
+            class="u-row-between left"
+            style="display: flex; flex-direction: column"
+          >
+            <image
+              src="../../static/express/shou.png"
+              style="width: 40rpx; height: 40rpx"
+              mode=""
+            ></image>
+            <!-- <image src="../../static/express/change.png" style='width: 40rpx;;height:40rpx ;' mode=""> -->
+            <!-- </image> -->
+          </view>
+          <view
+            class="u-row-between left"
+            style="flex: 1; margin-left: 28rpx; display: flex"
+          >
+            <view
+              v-if="JSON.stringify(bottomadd) == '{}'"
+              class="u-row-between"
+              style=""
+              @click="recipirnt"
+            >
+              <view class="pople">{{ i18n.recipient }}</view>
+              <view class="jiadd" style="margin-top: 14rpx">{{
+                i18n.informate
+              }}</view>
+            </view>
+            <view v-else class="u-row-between" style="" @click="recipirnt">
+              <view class="">
+                <text class="topname">{{ bottomadd.name }}</text>
+                <text class="topaddress" style="margin-left: 8rpx">{{
+                  replacePhoneToStar(bottomadd.mobile)
+                }}</text>
+              </view>
+              <view class="topaddress" style="margin-top: 14rpx">{{
+                bottomadd.full_address
+              }}</view>
+            </view>
+            <view class="u-flex" @click.stop="addbook(0)">
+              <view class="" style="color: rgba(151, 151, 151, 1)">|</view>
+              <text class="right">{{ i18n.addressbook }}</text>
+            </view>
+          </view>
+        </view>
+        <!-- 物品信息 -->
+        <view class="info u-flex u-row-between">
+          <view class="u-flex">
+            <text class="wupin">{{ i18n.item }}</text>
+            <view class="mast">{{ i18n.required }}</view>
+          </view>
+          <view
+            v-if="JSON.stringify(goodinfo) === '{}'"
+            class="u-flex"
+            @click="goods"
+          >
+            <view class="change">{{ i18n.selection }}</view>
+            <image
+              src="../../static/express/next1.png"
+              style="width: 28rpx; height: 28rpx; margin-left: 6rpx"
+              mode=""
+            ></image>
+          </view>
+          <view v-else class="goodname" @click="goods">
+            {{ goodinfo.goodname }},{{ goodinfo.weight }}kg
+          </view>
+        </view>
+        <!-- 跨境物流 -->
+        <view class="info u-flex u-row-between">
+          <view class="u-flex">
+            <text class="wupin">{{ i18n.flow }}</text>
+          </view>
+          <view class="u-flex" @click="changewu">
+            <!-- <text class="change" style="color: rgba(248, 50, 36, 1);">{{i18n.selection}}</text> -->
+            <text class="change" style="color: rgba(248, 50, 36, 1)">{{
+              leftname ? leftname + " |  " + rightname : i18n.selection
+            }}</text>
+            <image
+              v-if="leftname == ''"
+              src="../../static/express/next1.png"
+              style="width: 28rpx; height: 28rpx; margin-left: 6rpx"
+              mode=""
+            ></image>
+          </view>
+        </view>
+        <!-- 去寄件 -->
+        <view class="" style="margin-top: 34rpx">
+          <view class="mail" @click="todev">
+            {{ i18n.mail }}
+          </view>
+        </view>
+        <view class="bottom u-flex u-row-between">
+          <button
+            style="
+              background-color: transparent;
+              padding-left: 0 !important;
+              padding-right: 0 !important;
+              margin: 0 !important;
+            "
+            open-type="share"
+            class="u-flex"
+          >
+            <image
+              src="../../static/express/share.png"
+              style="width: 36rpx; height: 36rpx"
+              mode=""
+            ></image>
+            <text class="friend">{{ i18n.share }}</text>
+          </button>
+          <view class="friend">|</view>
+          <view class="u-flex" @click="counter">
+            <image
+              src="/static/images/index/compile.png"
+              style="width: 36rpx; height: 36rpx"
+              mode=""
+            >
+            </image>
+            <text class="friend">{{ i18n.compute }}</text>
+          </view>
+        </view>
+      </view>
+      <!-- 我的包裹 -->
+      <view class="parcel">
+        <view class="u-flex u-row-between">
+          <view class="myparcel">
+            <text>{{ i18n.mine }}</text>
+            <text style="color: rgba(248, 50, 36, 1)">{{ i18n.parcel }}</text>
+          </view>
+          <view class="add u-flex">
+            <image
+              src="../../static/express/add.png"
+              mode=""
+              style="width: 44rpx; height: 44rpx"
+            ></image>
+            <text class="addtext" @click="toparcel">{{ i18n.addsign }}</text>
+          </view>
+        </view>
+        <view class="u-flex u-row-around" style="margin-top: 44rpx">
+          <view class="flexc" @click="pack('to_transit')">
+            <view
+              class=""
+              style="position: relative; width: 68rpx; height: 68rpx"
+            >
+              <u-badge
+                :absolute="true"
+                :offset="[0, -15]"
+                :type="type"
+                max="99"
+                :value="transit"
+              ></u-badge>
+              <image
+                src="/static/express/address.png"
+                style="width: 68rpx; height: 68rpx"
+                mode=""
+              >
+              </image>
+            </view>
+            <text style="margin-top: 16rpx" class="bao">{{
+              i18n.deliver
+            }}</text>
+          </view>
+          <view
+            class="flexc"
+            style="position: relative"
+            @click="pack('transit_receipt')"
+          >
+            <view
+              class=""
+              style="position: relative; width: 68rpx; height: 68rpx"
+            >
+              <u-badge
+                :absolute="true"
+                :offset="[0, -15]"
+                :type="type"
+                max="99"
+                :value="receipt"
+              ></u-badge>
+              <image
+                src="/static/express/sign.png"
+                style="width: 68rpx; height: 68rpx"
+                mode=""
+              ></image>
+            </view>
+            <text style="margin-top: 16rpx" class="bao">{{ i18n.Sign }}</text>
+          </view>
+          <view
+            class="flexc"
+            style="position: relative"
+            @click="pack('to_overseas')"
+          >
+            <view
+              class=""
+              style="position: relative; width: 68rpx; height: 68rpx"
+            >
+              <u-badge
+                :absolute="true"
+                :offset="[0, -15]"
+                :type="type"
+                max="99"
+                :value="overseas"
+              ></u-badge>
+              <image
+                src="../../static/express/send.png"
+                style="width: 68rpx; height: 68rpx"
+                mode=""
+              ></image>
+            </view>
+            <text style="margin-top: 16rpx" class="bao">{{
+              i18n.overseas
+            }}</text>
+          </view>
+        </view>
+      </view>
+      <!-- 拼包 -->
+      <view
+        class="u-flex u-row-between"
+        style="margin-top: 32rpx; width: 702rpx"
+      >
+        <view class="u-flex">
+          <text class="hai">{{ i18n.parceling }}</text>
+          <image
+            v-if="language == 'zh-CN'"
+            style="width: 180rpx; height: 32rpx"
+            src="/static/express/label.png"
+            mode=""
+          ></image>
+          <image
+            v-if="language == 'en-US'"
+            style="width: 300rpx; height: 32rpx"
+            src="/static/express/label1.png"
+            mode=""
+          ></image>
+          <image
+            v-if="language == 'es-ES'"
+            style="width: 334rpx; height: 32rpx"
+            src="/static/express/label2.png"
+            mode=""
+          ></image>
+          <image
+            v-if="language == 'it-IT'"
+            style="width: 366rpx; height: 32rpx"
+            src="/static/express/label3.png"
+            mode=""
+          ></image>
+        </view>
+        <view class="u-flex">
+          <text class="more" @click="more">{{ i18n.more }}</text>
+          <image
+            src="../../static/express/next2.png"
+            style="width: 30rpx; height: 30rpx"
+            mode=""
+          ></image>
+        </view>
+      </view>
+      <!-- 拼包数据 -->
+      <view class="label" v-for="(item, idx) in expressList" :key="idx">
+        <view class="" style="display: flex">
+          <view class="left flexc">
+            <text class="bourn">{{ i18n.destination }}</text>
+            <view class="addres">{{ item.containerBase.country_name }}</view>
+            <view class="addres">{{ item.containerBase.province_name }}</view>
+          </view>
+          <view class="" style="flex: 1; margin-left: 20rpx">
+            <view class="u-flex u-row-between">
+              <view class="">
+                <text class="bigtitle" v-if="item.type == 'normal'">{{
+                  i18n.Ordinary
+                }}</text>
+                <text class="bigtitle" v-else>{{ i18n.Special }}</text>
+                <text style="margin: 0 8rpx">|</text>
+                <text v-if="language == 'zh-CN'" class="bigtitle">{{
+                  item.transportType.name_cn
+                }}</text>
+                <text v-if="language == 'en-US'" class="bigtitle">{{
+                  item.transportType.name_en
+                }}</text>
+                <text v-if="language == 'es-ES'" class="bigtitle">{{
+                  item.transportType.name_es
+                }}</text>
+                <text v-if="language == 'it-IT'" class="bigtitle">{{
+                  item.transportType.name_ita
+                }}</text>
+              </view>
+              <view class="mon">
+                <text class="timeb">{{ i18n.price }}</text>
+                <text>¥</text>
+                <text v-if="item.price" style="font-size: 32rpx">{{
+                  item.price.slice(0, -3)
+                }}</text>
+                <text v-if="item.price">{{ item.price.slice(-3) }}</text>
+              </view>
+            </view>
+            <view class="" style="margin-top: 34rpx">
+              <u-line-progress
+                activeColor="rgba(255, 21, 21, 1)"
+                :percentage="item.progress"
+                height="6"
+                :showText="false"
+              ></u-line-progress>
+            </view>
+            <view class="u-flex u-row-between" style="margin-top: 20rpx">
+              <view class="u-flex">
+                <view class="">
+                  <text class="timeb">{{ i18n.already }} </text>
+                  <text class="timeb" style="color: rgba(255, 21, 21, 1)"
+                    >{{ item.used_weight }}kg</text
+                  >
+                </view>
+                <text style="margin: 0 8rpx">|</text>
+                <view class="">
+                  <text class="timeb">{{ i18n.residue }} </text>
+                  <text class="timeb" style="color: rgba(255, 21, 21, 1)"
+                    >{{ item.residual_weight }}kg</text
+                  >
+                </view>
+              </view>
+              <view class="">
+                <text class="timeb">{{ i18n.plan }}{{ item.progress }}%</text>
+              </view>
+            </view>
+          </view>
+        </view>
+        <view class="u-flex u-row-between" style="margin-top: 32rpx">
+          <text class="timea"
+            >{{ i18n.start }}:{{ item.begin_date }}/{{ i18n.cut }}:{{
+              item.end_date
+            }}</text
+          >
+          <view class="pinb" @click="toaccount(item)">{{
+            i18n.goparceling
+          }}</view>
+        </view>
+      </view>
+    </view>
+    <u-popup round="28" :show="logshow" @close="close">
+      <view class="pop">
+        <kj-flow
+          :language="language"
+          :goodstype="goodinfo.goodtype"
+          ref="child"
+          :province_id="province_id"
+          @success="success"
+          @close="close()"
+          :leftchangea="leftchange"
+          :rightchangea="rightchange"
+          :typeida="typeid"
+        ></kj-flow>
+      </view>
+    </u-popup>
+    <!-- <u-button @click="show = true">打开</u-button> -->
+    <!-- <view class="" style="height: 160rpx;"></view> -->
+  </scroll-view>
 </template>
 
 <script>
-	import {
-		conn,
-	} from '@/utils/WebIM';
-	export default {
-		data() {
-			return {
-				//顶部分段器
-				list: [],
-				current: 0,
-				type: "error",
-				percentage: 50, //进度条
-				logshow: false, //物流选择
-				status_collection: '', //我的包裹选择值
-				transit: 0, //发往中转点
-				receipt: 0, //中转已签收
-				overseas: 0, //正发往海外
-				topadd: {}, //新建寄件人
-				bottomadd: {}, //新建收件人
-				province_id: '',
-				leftname: '',
-				rightname: '',
-				container_id: '', //货柜列表
-				language: 'zh-CN',
-				goodinfo: {}, //物品信息
-				unit_price: '',
-				expressList: [],
-				leftchange: '',
-				rightchange: '',
-				typeid: '',
-				unReadCount: 0
-			}
-		},
-		created(options) {
-			this.list = [this.i18n.border, this.i18n.shop]
-			// if (options.current) {
-			// 	this.current = options.current
-			// }
-			this.topadd = {} //新建寄件人
-			this.bottomadd = {} //新建收件人
-		},
-		mounted() {
-			this.list[0] = this.i18n.border
-			this.list[1] = this.i18n.shop
-			// uni.setNavigationBarTitle({
-			// 	title: this.i18n.setup
-			// })
-			this.express() //获取包裹数量
-			if (uni.getStorageSync('language') != '') {
-				this.language = uni.getStorageSync('language')
-			}
-			this.getexpress()
-			this.getlist()
-		},
-		computed: {
-			i18n() {
-				return this.$t('index')
-			}
-		},
-		methods: {
-			getlist() {
-				this.unReadCount = 0
-				conn.getServerConversations({
-					pageSize: 50,
-					cursor: ''
-				}).then((res) => {
-					console.log(res);
-					res.data.conversations.forEach((item) => {
-						this.unReadCount += item.unReadCount
-					})
-				})
-			},
-			onShareAppMessage(res) {
-				if (res.from === 'button') { // 来自页面内分享按钮
-					console.log(res.target)
-				}
-				return {
-					title: this.i18n.border,
-					path: '/pages/express/express'
-				}
-			},
-			callphone() {
-				uni.$u.http.get('/api/config', {
-					params: {
-						module: 'basic'
-					}
-				}).then((res) => {
-					console.log(res);
-
-					uni.makePhoneCall({
-						phoneNumber: res.service_mobile
-					})
-				}).catch(() => {
-
-				})
-			},
-			//价格计算
-			calculate() {
-				uni.$u.http.get('/api/express-order/calculate', {
-					params: {
-						container_id: this.container_id, // 是 String 货柜ID
-						weight: this.goodinfo.weight, //是 String 重量(kg)
-						length: this.goodinfo.length, //是 String 长(m)
-						width: this.goodinfo.width, //是 String 宽(m)
-						height: this.goodinfo.height, //是 String 高(m)
-						type: this.goodinfo.goodtype //是 String 商品类型: normal.普通商品,
-					}
-				}).then((res) => {
-					console.log(res);
-					uni.navigateTo({
-						url: "/pageB/delivery?goodinfo=" + encodeURIComponent(JSON.stringify(this
-								.goodinfo)) +
-							"&topadd=" + encodeURIComponent(JSON.stringify(
-								this.topadd)) + "&bottom=" + encodeURIComponent(JSON.stringify(this
-								.bottomadd)) +
-							'&leftname=' + this
-							.leftname + "&rightname=" + this.rightname + "&container_id=" + this
-							.container_id +
-							"&unit_price=" + this.unit_price + '&all=' + res
-					})
-				}).catch(() => {
-
-				})
-			},
-			//拼包列表
-			getexpress() {
-				uni.$u.http.get('/api/express-group-package', {
-					params: {
-						is_page: 0,
-						page: 1,
-						limit: 3,
-						transport_type_id: "",
-						container_base_id: '',
-						type: '',
-					}
-				}).then((res) => {
-					this.expressList = res
-				}).catch(() => {
-
-				})
-			},
-			//跨境物流选择
-			success(msg) {
-				this.logshow = false
-				this.leftname = msg.leftname
-				this.container_id = msg.dateid
-				this.rightname = msg.rightname
-				this.unit_price = msg.unit_price
-				this.leftchange = msg.leftchange
-				this.rightchange = msg.rightchange
-				this.typeid = msg.typeid
-			},
-			//物流选择
-			changewu() {
-				var that = this
-				if (this.province_id) {
-					this.logshow = true
-					setTimeout(() => {
-						console.log('2222222', this.$refs.child);
-						that.$refs.child.transport();
-					}, 800)
-				} else {
-					this.$u.toast(this.i18n.selectcity)
-				}
-			},
-			//改变地址
-			changeadd() {
-				var a = {}
-				a = this.topadd
-				this.topadd = this.bottomadd
-				this.bottomadd = a
-				this.province_id = this.bottomadd.province_id
-			},
-			//正则匹配手机号
-			replacePhoneToStar: function(phone) {
-				if (phone) {
-					return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
-				}
-			},
-			//地址薄
-			addbook(index) {
-				var that = this
-				uni.navigateTo({
-					url: "/pageC/addressManagement/addressManagement?tabs=" + index,
-					events: {
-						getadd(res) {
-							if (index == 1) {
-								that.topadd = res
-								console.log('topadd', that.topadd);
-							} else {
-								that.bottomadd = res
-								console.log('bottom', that.bottomadd);
-								that.province_id = that.bottomadd.province_id
-							}
-						}
-					}
-				})
-			},
-			//我的包裹
-			express() {
-				uni.$u.http.get('/api/express-order/status-count', {}).then((res) => {
-					console.log(res);
-					this.overseas = res.to_overseas
-					this.receipt = res.transit_receipt
-					this.transit = res.to_transit
-				}).catch(() => {
-
-				})
-			},
-			todev() {
-				if (JSON.stringify(this.topadd) === '{}') {
-					this.$u.toast('请填写寄件人地址')
-				} else if (JSON.stringify(this.bottomadd) === '{}') {
-					this.$u.toast('请填写收件人地址')
-				} else if (JSON.stringify(this.goodinfo) === '{}') {
-					this.$u.toast('请填写物品信息')
-				} else if (this.leftname == '') {
-					this.$u.toast('请选择物流方式')
-				} else {
-					this.calculate()
-				}
-			},
-			count() {
-				uni.navigateTo({
-					url: '/pageB/account'
-				})
-			},
-			pack(index) {
-				uni.navigateTo({
-					// url: '/pageB/myPackage?index=' + index
-					url: "/pageC/myPackage/myPackage?type=" + index,
-				})
-			},
-			more() {
-				uni.navigateTo({
-					url: '/pageB/list/list'
-				})
-			},
-			//拼包快递
-			toaccount(info) {
-				uni.navigateTo({
-					url: '/pageB/ParcelExpress?expressinfo=' + encodeURIComponent(JSON.stringify(info)) +
-						'&type=' + 'pin'
-				})
-			},
-			//物流计算器
-			counter() {
-				uni.navigateTo({
-					url: '/pageA/counter'
-				})
-			},
-			//消息
-			tochat() {
-				uni.navigateTo({
-					url: '/pageA/chat/news'
-				})
-			},
-			//物品信息
-			goods() {
-				var that = this
-				if (JSON.stringify(this.goodinfo) == '{}') {
-					uni.navigateTo({
-						url: '/pageB/goods',
-						events: {
-							goodinfo: function(res) {
-								console.log('goodinfo', res);
-								that.goodinfo = res
-							}
-						}
-					})
-				} else {
-					uni.navigateTo({
-						url: '/pageB/goods?goodinfo=' + encodeURIComponent(JSON.stringify(this.goodinfo)),
-						events: {
-							goodinfo: function(res) {
-								that.goodinfo = res
-								console.log(res);
-							}
-						}
-					})
-				}
-			},
-			//寄件人信息
-			send() {
-				var that = this
-				if (JSON.stringify(that.topadd) == '{}') {
-					uni.navigateTo({
-						url: '/pageC/addEditAddress/addEditAddress',
-						events: {
-							topadd: function(res) {
-								// console.log(res);
-								that.topadd = res
-							}
-						}
-					})
-				} else {
-					var that = this
-					uni.navigateTo({
-						url: '/pageC/addEditAddress/addEditAddress?id=' + that.topadd.id,
-						events: {
-							topadd: function(res) {
-								// console.log(res);
-								that.topadd = res
-							}
-						}
-					})
-				}
-			},
-			recipirnt() {
-				var that = this
-				if (JSON.stringify(that.bottomadd) == '{}') {
-					uni.navigateTo({
-						url: '/pageB/recipientinfo',
-						events: {
-							bottomadd: function(res) {
-								console.log(res);
-								that.bottomadd = res
-								that.province_id = res.province_id
-							}
-						}
-					})
-				} else {
-					uni.navigateTo({
-						url: '/pageB/recipientinfo?id=' + that.bottomadd.id,
-						events: {
-							bottomadd: function(res) {
-								console.log(res);
-								that.bottomadd = res
-								that.province_id = res.province_id
-							}
-						}
-					})
-				}
-			},
-			close() {
-				this.logshow = false
-			},
-			//分段器切换
-			sectionChange(index) {
-				this.current = index;
-				console.log(index);
-				if (this.current == 1) {
-					uni.switchTab({
-						url: '/pages/index/index?current=1'
-					})
-					this.current = 0
-				}
-			},
-			toparcel() {
-				uni.navigateTo({
-					url: '/pageB/parcel'
-				})
-			}
-		}
-	}
+import { conn } from "@/utils/WebIM";
+export default {
+  data() {
+    return {
+      //顶部分段器
+      list: [],
+      current: 0,
+      type: "error",
+      percentage: 50, //进度条
+      logshow: false, //物流选择
+      status_collection: "", //我的包裹选择值
+      transit: 0, //发往中转点
+      receipt: 0, //中转已签收
+      overseas: 0, //正发往海外
+      topadd: {}, //新建寄件人
+      bottomadd: {}, //新建收件人
+      province_id: "",
+      leftname: "",
+      rightname: "",
+      container_id: "", //货柜列表
+      language: "zh-CN",
+      goodinfo: {}, //物品信息
+      unit_price: "",
+      expressList: [],
+      leftchange: "",
+      rightchange: "",
+      typeid: "",
+      unReadCount: 0,
+    };
+  },
+  created(options) {
+    this.list = [this.i18n.border, this.i18n.shop];
+    // if (options.current) {
+    // 	this.current = options.current
+    // }
+    this.topadd = {}; //新建寄件人
+    this.bottomadd = {}; //新建收件人
+  },
+  mounted() {
+    this.list[0] = this.i18n.border;
+    this.list[1] = this.i18n.shop;
+    // uni.setNavigationBarTitle({
+    // 	title: this.i18n.setup
+    // })
+    this.express(); //获取包裹数量
+    if (uni.getStorageSync("language") != "") {
+      this.language = uni.getStorageSync("language");
+    }
+    this.getexpress();
+    this.getlist();
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
+  methods: {
+    getlist() {
+      this.unReadCount = 0;
+      conn
+        .getServerConversations({
+          pageSize: 50,
+          cursor: "",
+        })
+        .then((res) => {
+          console.log(res);
+          res.data.conversations.forEach((item) => {
+            this.unReadCount += item.unReadCount;
+          });
+        });
+    },
+    onShareAppMessage(res) {
+      if (res.from === "button") {
+        // 来自页面内分享按钮
+        console.log(res.target);
+      }
+      return {
+        title: this.i18n.border,
+        path: "/pages/express/express",
+      };
+    },
+    callphone() {
+      uni.$u.http
+        .get("/api/config", {
+          params: {
+            module: "basic",
+          },
+        })
+        .then((res) => {
+          console.log(res);
+
+          uni.makePhoneCall({
+            phoneNumber: res.service_mobile,
+          });
+        })
+        .catch(() => {});
+    },
+    //价格计算
+    calculate() {
+      uni.$u.http
+        .get("/api/express-order/calculate", {
+          params: {
+            container_id: this.container_id, // 是 String 货柜ID
+            weight: this.goodinfo.weight, //是 String 重量(kg)
+            length: this.goodinfo.length, //是 String 长(m)
+            width: this.goodinfo.width, //是 String 宽(m)
+            height: this.goodinfo.height, //是 String 高(m)
+            type: this.goodinfo.goodtype, //是 String 商品类型: normal.普通商品,
+          },
+        })
+        .then((res) => {
+          console.log(res);
+          uni.navigateTo({
+            url:
+              "/pageB/delivery?goodinfo=" +
+              encodeURIComponent(JSON.stringify(this.goodinfo)) +
+              "&topadd=" +
+              encodeURIComponent(JSON.stringify(this.topadd)) +
+              "&bottom=" +
+              encodeURIComponent(JSON.stringify(this.bottomadd)) +
+              "&leftname=" +
+              this.leftname +
+              "&rightname=" +
+              this.rightname +
+              "&container_id=" +
+              this.container_id +
+              "&unit_price=" +
+              this.unit_price +
+              "&all=" +
+              res,
+          });
+        })
+        .catch(() => {});
+    },
+    //拼包列表
+    getexpress() {
+      uni.$u.http
+        .get("/api/express-group-package", {
+          params: {
+            is_page: 0,
+            page: 1,
+            limit: 3,
+            transport_type_id: "",
+            container_base_id: "",
+            type: "",
+          },
+        })
+        .then((res) => {
+          this.expressList = res;
+        })
+        .catch(() => {});
+    },
+    //跨境物流选择
+    success(msg) {
+      this.logshow = false;
+      this.leftname = msg.leftname;
+      this.container_id = msg.dateid;
+      this.rightname = msg.rightname;
+      this.unit_price = msg.unit_price;
+      this.leftchange = msg.leftchange;
+      this.rightchange = msg.rightchange;
+      this.typeid = msg.typeid;
+    },
+    //物流选择
+    changewu() {
+      var that = this;
+      if (this.province_id) {
+        this.logshow = true;
+        setTimeout(() => {
+          console.log("2222222", this.$refs.child);
+          that.$refs.child.transport();
+        }, 800);
+      } else {
+        this.$u.toast(this.i18n.selectcity);
+      }
+    },
+    //改变地址
+    changeadd() {
+      var a = {};
+      a = this.topadd;
+      this.topadd = this.bottomadd;
+      this.bottomadd = a;
+      this.province_id = this.bottomadd.province_id;
+    },
+    //正则匹配手机号
+    replacePhoneToStar: function (phone) {
+      if (phone) {
+        return phone.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2");
+      }
+    },
+    //地址薄
+    addbook(index) {
+      var that = this;
+      uni.navigateTo({
+        url: "/pageC/addressManagement/addressManagement?tabs=" + index,
+        events: {
+          getadd(res) {
+            if (index == 1) {
+              that.topadd = res;
+              console.log("topadd", that.topadd);
+            } else {
+              that.bottomadd = res;
+              console.log("bottom", that.bottomadd);
+              that.province_id = that.bottomadd.province_id;
+            }
+          },
+        },
+      });
+    },
+    //我的包裹
+    express() {
+      uni.$u.http
+        .get("/api/express-order/status-count", {})
+        .then((res) => {
+          console.log(res);
+          this.overseas = res.to_overseas;
+          this.receipt = res.transit_receipt;
+          this.transit = res.to_transit;
+        })
+        .catch(() => {});
+    },
+    todev() {
+      if (JSON.stringify(this.topadd) === "{}") {
+        this.$u.toast("请填写寄件人地址");
+      } else if (JSON.stringify(this.bottomadd) === "{}") {
+        this.$u.toast("请填写收件人地址");
+      } else if (JSON.stringify(this.goodinfo) === "{}") {
+        this.$u.toast("请填写物品信息");
+      } else if (this.leftname == "") {
+        this.$u.toast("请选择物流方式");
+      } else {
+        this.calculate();
+      }
+    },
+    count() {
+      uni.navigateTo({
+        url: "/pageB/account",
+      });
+    },
+    pack(index) {
+      uni.navigateTo({
+        // url: '/pageB/myPackage?index=' + index
+        url: "/pageC/myPackage/myPackage?type=" + index,
+      });
+    },
+    more() {
+      uni.navigateTo({
+        url: "/pageB/list/list",
+      });
+    },
+    //拼包快递
+    toaccount(info) {
+      uni.navigateTo({
+        url:
+          "/pageB/ParcelExpress?expressinfo=" +
+          encodeURIComponent(JSON.stringify(info)) +
+          "&type=" +
+          "pin",
+      });
+    },
+    //物流计算器
+    counter() {
+      uni.navigateTo({
+        url: "/pageA/counter",
+      });
+    },
+    //消息
+    tochat() {
+      uni.navigateTo({
+        url: "/pageA/chat/news",
+      });
+    },
+    //物品信息
+    goods() {
+      var that = this;
+      if (JSON.stringify(this.goodinfo) == "{}") {
+        uni.navigateTo({
+          url: "/pageB/goods",
+          events: {
+            goodinfo: function (res) {
+              console.log("goodinfo", res);
+              that.goodinfo = res;
+            },
+          },
+        });
+      } else {
+        uni.navigateTo({
+          url:
+            "/pageB/goods?goodinfo=" +
+            encodeURIComponent(JSON.stringify(this.goodinfo)),
+          events: {
+            goodinfo: function (res) {
+              that.goodinfo = res;
+              console.log(res);
+            },
+          },
+        });
+      }
+    },
+    //寄件人信息
+    send() {
+      var that = this;
+      if (JSON.stringify(that.topadd) == "{}") {
+        uni.navigateTo({
+          url: "/pageC/addEditAddress/addEditAddress",
+          events: {
+            topadd: function (res) {
+              // console.log(res);
+              that.topadd = res;
+            },
+          },
+        });
+      } else {
+        var that = this;
+        uni.navigateTo({
+          url: "/pageC/addEditAddress/addEditAddress?id=" + that.topadd.id,
+          events: {
+            topadd: function (res) {
+              // console.log(res);
+              that.topadd = res;
+            },
+          },
+        });
+      }
+    },
+    recipirnt() {
+      var that = this;
+      if (JSON.stringify(that.bottomadd) == "{}") {
+        uni.navigateTo({
+          url: "/pageB/recipientinfo",
+          events: {
+            bottomadd: function (res) {
+              console.log(res);
+              that.bottomadd = res;
+              that.province_id = res.province_id;
+            },
+          },
+        });
+      } else {
+        uni.navigateTo({
+          url: "/pageB/recipientinfo?id=" + that.bottomadd.id,
+          events: {
+            bottomadd: function (res) {
+              console.log(res);
+              that.bottomadd = res;
+              that.province_id = res.province_id;
+            },
+          },
+        });
+      }
+    },
+    close() {
+      this.logshow = false;
+    },
+    //分段器切换
+    sectionChange(index) {
+      this.current = index;
+      console.log(index);
+      if (this.current == 1) {
+        uni.switchTab({
+          url: "/pages/index/index?current=1",
+        });
+        this.current = 0;
+      }
+    },
+    toparcel() {
+      uni.navigateTo({
+        url: "/pageB/parcel",
+      });
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	button {
-		border: 0rpx solid rgba(0, 0, 0, 1) !important;
-	}
-
-	page {
-		background-color: rgba(0, 0, 0, 0)
-	}
-
-	.bao {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 400;
-		font-size: 26rpx;
-		color: #222222;
-		line-height: 36rpx;
-		text-align: center;
-		font-style: normal;
-	}
-
-	.goodname {
-		font-family: SFPro, SFPro;
-		font-weight: 400;
-		font-size: 28rpx;
-		color: #222222;
-		line-height: 32rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.topname {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 500;
-		font-size: 30rpx;
-		color: #222222;
-		line-height: 42rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.topaddress {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 400;
-		font-size: 26rpx;
-		color: #777777;
-		line-height: 36rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.pop {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 500;
-		font-size: 36rpx;
-		color: #333333;
-		line-height: 50rpx;
-		text-align: left;
-		font-style: normal;
-		padding: 32rpx 28rpx 0 0;
-		box-sizing: border-box;
-	}
-
-	.mon {
-		font-family: HarmonyOS_Sans_Medium;
-		font-size: 20rpx;
-		color: #F83224;
-		line-height: 26rpx;
-		text-align: left;
-		font-style: normal;
-		font-weight: 600;
-	}
-
-	.bigtitle {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 600;
-		font-size: 28rpx;
-		color: #222222;
-		line-height: 40rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.timeb {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 400;
-		font-size: 22rpx;
-		color: #666666;
-		line-height: 32rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.timea {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 400;
-		font-size: 22rpx;
-		color: #555555;
-		line-height: 32rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.pinb {
-		width: 148rpx;
-		height: 64rpx;
-		background: #FF1515;
-		border-radius: 42rpx;
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 500;
-		font-size: 28rpx;
-		color: #FFFFFF;
-		line-height: 64rpx;
-		text-align: center;
-		font-style: normal;
-	}
-
-	.label {
-		margin-top: 20rpx;
-		width: 702rpx;
-		// height: 288rpx;
-		background: #FFFFFF;
-		border-radius: 16rpx;
-		padding: 32rpx 20rpx;
-		box-sizing: border-box;
-
-		.left {
-			width: 144rpx;
-			height: 144rpx;
-			background: #F5F5F5;
-			border-radius: 8rpx;
-
-			.bourn {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				font-size: 20rpx;
-				color: #222222;
-				line-height: 28rpx;
-				text-align: left;
-				font-style: normal;
-			}
-
-			.addres {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 500;
-				font-size: 28rpx;
-				color: #222222;
-				line-height: 40rpx;
-				text-align: left;
-				font-style: normal;
-			}
-		}
-	}
-
-	.flexc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.hai {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 600;
-		font-size: 32rpx;
-		color: #222222;
-		line-height: 44rpx;
-		text-align: left;
-		font-style: normal;
-		margin-right: 10rpx;
-	}
-
-	.more {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 400;
-		font-size: 24rpx;
-		color: #F83224;
-		line-height: 34rpx;
-		text-align: left;
-		font-style: normal;
-	}
-
-	.parcel {
-		width: 702rpx;
-		// height: 260rpx;
-		background: #FFFFFF;
-		border-radius: 16rpx;
-		margin-top: 20rpx;
-		padding: 24rpx;
-		box-sizing: border-box;
-
-		.myparcel {
-			font-family: PingFangSC, PingFang SC;
-			font-weight: 600;
-			font-size: 28rpx;
-			color: #222222;
-			line-height: 40rpx;
-			text-align: left;
-			font-style: normal;
-		}
-
-		.add {
-			// width: 240rpx;
-			height: 48rpx;
-			background: rgba(248, 50, 36, 0.06);
-			border-radius: 24rpx;
-
-			.addtext {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 600;
-				font-size: 20rpx;
-				color: #000000;
-				line-height: 28rpx;
-				text-align: left;
-				font-style: normal;
-			}
-		}
-	}
-
-	.address {
-		width: 702rpx;
-		// height: 776rpx;
-		background: #FFFFFF;
-		border-radius: 20rpx;
-		padding: 48rpx 24rpx 36rpx;
-		box-sizing: border-box;
-		margin-top: 38rpx;
-
-		.bottom {
-			padding: 0 76rpx;
-			box-sizing: border-box;
-			margin-top: 48rpx;
-
-			.friend {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				font-size: 28rpx;
-				color: #555555;
-				line-height: 40rpx;
-				text-align: left;
-				font-style: normal;
-				margin-left: 12rpx;
-			}
-		}
-
-		.mail {
-			width: 646rpx;
-			height: 84rpx;
-			background: #F83224;
-			box-shadow: 0rpx 16rpx 40rpx -12rpx rgba(255, 21, 21, 0.5);
-			border-radius: 44rpx;
-			font-family: PingFangSC, PingFang SC;
-			font-weight: 500;
-			font-size: 32rpx;
-			color: #FFFFFF;
-			line-height: 84rpx;
-			text-align: center;
-			font-style: normal;
-		}
-
-		.info {
-			height: 100rpx;
-			border-bottom: 2rpx solid rgba(151, 151, 151, 0.08);
-
-
-
-			.wupin {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				font-size: 28rpx;
-				color: #333333;
-				line-height: 40rpx;
-				text-align: left;
-				font-style: normal;
-			}
-
-			.change {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				font-size: 28rpx;
-				color: #666666;
-				line-height: 40rpx;
-				text-align: left;
-				font-style: normal;
-			}
-
-			.mast {
-				// width: 62rpx;
-				height: 30rpx;
-				border-radius: 16rpx;
-				border: 1rpx solid #F83224;
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				font-size: 20rpx;
-				color: #FF1515;
-				line-height: 30rpx;
-				text-align: center;
-				font-style: normal;
-				margin-left: 12rpx;
-				padding: 0 4rpx;
-				box-sizing: border-box;
-			}
-		}
-
-		.left {
-			height: 128rpx;
-
-			.pople {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 500;
-				font-size: 30rpx;
-				color: #222222;
-				line-height: 42rpx;
-				text-align: left;
-				font-style: normal;
-			}
-
-			.jiadd {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 400;
-				font-size: 26rpx;
-				color: #777777;
-				line-height: 36rpx;
-				text-align: left;
-				font-style: normal;
-			}
-
-			.right {
-				font-family: PingFangSC, PingFang SC;
-				font-weight: 600;
-				font-size: 26rpx;
-				color: #222222;
-				line-height: 36rpx;
-				text-align: left;
-				font-style: normal;
-				margin-left: 18rpx;
-			}
-		}
-	}
-
-	// ::v-deep .u-navbar__content.data-v-1194bf80 {
-	// 	background-color: rgba(0, 0, 0, 0) !important;
-	// }
-
-	// ::v-deep .u-status-bar.data-v-13f16680 {
-	// 	background-color: rgba(0, 0, 0, 0) !important;
-	// }
-
-	::v-deep .u-subsection--button.data-v-b14d3440 {
-		/* padding: 6rpx 34rpx !important; */
-		border-radius: 64rpx !important;
-	}
-
-	::v-deep .u-subsection--button__bar.data-v-b14d3440 {
-		border-radius: 32rpx !important;
-	}
-</style>
+button {
+  border: 0rpx solid rgba(0, 0, 0, 1) !important;
+}
+
+page {
+  background-color: rgba(0, 0, 0, 0);
+}
+
+.bao {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 400;
+  font-size: 26rpx;
+  color: #222222;
+  line-height: 36rpx;
+  text-align: center;
+  font-style: normal;
+}
+
+.goodname {
+  font-family: SFPro, SFPro;
+  font-weight: 400;
+  font-size: 28rpx;
+  color: #222222;
+  line-height: 32rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.topname {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 500;
+  font-size: 30rpx;
+  color: #222222;
+  line-height: 42rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.topaddress {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 400;
+  font-size: 26rpx;
+  color: #777777;
+  line-height: 36rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.pop {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 500;
+  font-size: 36rpx;
+  color: #333333;
+  line-height: 50rpx;
+  text-align: left;
+  font-style: normal;
+  padding: 32rpx 28rpx 0 0;
+  box-sizing: border-box;
+}
+
+.mon {
+  font-family: HarmonyOS_Sans_Medium;
+  font-size: 20rpx;
+  color: #f83224;
+  line-height: 26rpx;
+  text-align: left;
+  font-style: normal;
+  font-weight: 600;
+}
+
+.bigtitle {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 600;
+  font-size: 28rpx;
+  color: #222222;
+  line-height: 40rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.timeb {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 400;
+  font-size: 22rpx;
+  color: #666666;
+  line-height: 32rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.timea {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 400;
+  font-size: 22rpx;
+  color: #555555;
+  line-height: 32rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.pinb {
+  width: 148rpx;
+  height: 64rpx;
+  background: #ff1515;
+  border-radius: 42rpx;
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 500;
+  font-size: 28rpx;
+  color: #ffffff;
+  line-height: 64rpx;
+  text-align: center;
+  font-style: normal;
+}
+
+.label {
+  margin-top: 20rpx;
+  width: 702rpx;
+  // height: 288rpx;
+  background: #ffffff;
+  border-radius: 16rpx;
+  padding: 32rpx 20rpx;
+  box-sizing: border-box;
+
+  .left {
+    width: 144rpx;
+    height: 144rpx;
+    background: #f5f5f5;
+    border-radius: 8rpx;
+
+    .bourn {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 20rpx;
+      color: #222222;
+      line-height: 28rpx;
+      text-align: left;
+      font-style: normal;
+    }
+
+    .addres {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 500;
+      font-size: 28rpx;
+      color: #222222;
+      line-height: 40rpx;
+      text-align: left;
+      font-style: normal;
+    }
+  }
+}
+
+.flexc {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+
+.hai {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 600;
+  font-size: 32rpx;
+  color: #222222;
+  line-height: 44rpx;
+  text-align: left;
+  font-style: normal;
+  margin-right: 10rpx;
+}
+
+.more {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 400;
+  font-size: 24rpx;
+  color: #f83224;
+  line-height: 34rpx;
+  text-align: left;
+  font-style: normal;
+}
+
+.parcel {
+  width: 702rpx;
+  // height: 260rpx;
+  background: #ffffff;
+  border-radius: 16rpx;
+  margin-top: 20rpx;
+  padding: 24rpx;
+  box-sizing: border-box;
+
+  .myparcel {
+    font-family: PingFangSC, PingFang SC;
+    font-weight: 600;
+    font-size: 28rpx;
+    color: #222222;
+    line-height: 40rpx;
+    text-align: left;
+    font-style: normal;
+  }
+
+  .add {
+    // width: 240rpx;
+    height: 48rpx;
+    background: rgba(248, 50, 36, 0.06);
+    border-radius: 24rpx;
+
+    .addtext {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 600;
+      font-size: 20rpx;
+      color: #000000;
+      line-height: 28rpx;
+      text-align: left;
+      font-style: normal;
+    }
+  }
+}
+
+.address {
+  width: 702rpx;
+  // height: 776rpx;
+  background: #ffffff;
+  border-radius: 20rpx;
+  padding: 48rpx 24rpx 36rpx;
+  box-sizing: border-box;
+  margin-top: 38rpx;
+
+  .bottom {
+    padding: 0 76rpx;
+    box-sizing: border-box;
+    margin-top: 48rpx;
+
+    .friend {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 28rpx;
+      color: #555555;
+      line-height: 40rpx;
+      text-align: left;
+      font-style: normal;
+      margin-left: 12rpx;
+    }
+  }
+
+  .mail {
+    width: 646rpx;
+    height: 84rpx;
+    background: #f83224;
+    box-shadow: 0rpx 16rpx 40rpx -12rpx rgba(255, 21, 21, 0.5);
+    border-radius: 44rpx;
+    font-family: PingFangSC, PingFang SC;
+    font-weight: 500;
+    font-size: 32rpx;
+    color: #ffffff;
+    line-height: 84rpx;
+    text-align: center;
+    font-style: normal;
+  }
+
+  .info {
+    height: 100rpx;
+    border-bottom: 2rpx solid rgba(151, 151, 151, 0.08);
+
+    .wupin {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 28rpx;
+      color: #333333;
+      line-height: 40rpx;
+      text-align: left;
+      font-style: normal;
+    }
+
+    .change {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 28rpx;
+      color: #666666;
+      line-height: 40rpx;
+      text-align: left;
+      font-style: normal;
+    }
+
+    .mast {
+      // width: 62rpx;
+      height: 30rpx;
+      border-radius: 16rpx;
+      border: 1rpx solid #f83224;
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 20rpx;
+      color: #ff1515;
+      line-height: 30rpx;
+      text-align: center;
+      font-style: normal;
+      margin-left: 12rpx;
+      padding: 0 4rpx;
+      box-sizing: border-box;
+    }
+  }
+
+  .left {
+    height: 128rpx;
+
+    .pople {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 500;
+      font-size: 30rpx;
+      color: #222222;
+      line-height: 42rpx;
+      text-align: left;
+      font-style: normal;
+    }
+
+    .jiadd {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 26rpx;
+      color: #777777;
+      line-height: 36rpx;
+      text-align: left;
+      font-style: normal;
+    }
+
+    .right {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 600;
+      font-size: 26rpx;
+      color: #222222;
+      line-height: 36rpx;
+      text-align: left;
+      font-style: normal;
+      margin-left: 18rpx;
+    }
+  }
+}
+
+// ::v-deep .u-navbar__content.data-v-1194bf80 {
+// 	background-color: rgba(0, 0, 0, 0) !important;
+// }
+
+// ::v-deep .u-status-bar.data-v-13f16680 {
+// 	background-color: rgba(0, 0, 0, 0) !important;
+// }
+
+::v-deep .u-subsection--button.data-v-b14d3440 {
+  /* padding: 6rpx 34rpx !important; */
+  border-radius: 64rpx !important;
+}
+
+::v-deep .u-subsection--button__bar.data-v-b14d3440 {
+  border-radius: 32rpx !important;
+}
+</style>

+ 64 - 67
pageC/accountSecurity/accountSecurity.vue

@@ -1,6 +1,6 @@
 <template>
-	<view class="page">
-<!-- 		<view class="content-top">
+  <view class="page">
+    <!-- 		<view class="content-top">
 			<view class="first">
 				<text>{{i18n.editPassword}}</text>
 				<textRight :texts="i18n.setPassword" />
@@ -10,76 +10,73 @@
 				<textRight texts="178****0000" />
 			</view>       
 		</view> -->
-		<view class="content-bottom">
-			<view class="first" @click="toCancellation">
-				<text>{{i18n.accountCancellation}}</text>
-				<textRight :texts="i18n.cancellation" />
-			</view>
-		</view>
-	</view>
+    <view class="content-bottom">
+      <view class="first" @click="toCancellation">
+        <text>{{ i18n.accountCancellation }}</text>
+        <textRight :texts="i18n.cancellation" />
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	import textRight from "./component/textRight.vue"
-	export default {
-		data() {
-			return {
-
-			}
-		},
-		components: {
-			textRight
-		},
-		computed: {
-			i18n() {
-				return this.$t('index')
-			}
-		},
-		methods: {
-			toCancellation(){
-				uni.navigateTo({
-					url:"/pageC/accountCancellation/accountCancellation"
-				})
-			}
-		},
-		mounted() {
-			uni.setNavigationBarTitle({
-				title: this.i18n.account
-			})
-		}
-	}
+import textRight from "./component/textRight.vue";
+export default {
+  data() {
+    return {};
+  },
+  components: {
+    textRight,
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
+  methods: {
+    toCancellation() {
+      uni.navigateTo({
+        url: "/pageC/accountCancellation/accountCancellation",
+      });
+    },
+  },
+  mounted() {
+    uni.setNavigationBarTitle({
+      title: this.i18n.account,
+    });
+  },
+};
 </script>
 
 <style scoped lang="scss">
-	.page {
-		padding: 20rpx 24rpx;
+.page {
+  padding: 20rpx 24rpx;
 
-		.content-top {
-			background-color: #fff;
-			border-radius: 16rpx;
-			padding: 0 24rpx;
+  .content-top {
+    background-color: #fff;
+    border-radius: 16rpx;
+    padding: 0 24rpx;
 
-			.first {
-				height: 108rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				border-bottom: 2rpx solid rgba(151, 151, 151, .1);
-			}
-		}
-		.content-bottom{
-			
-				background-color: #fff;
-				border-radius: 16rpx;
-				padding: 0 24rpx;
-				margin-top: 20rpx;
-				.first {
-					height: 108rpx;
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-					border-bottom: 2rpx solid rgba(151, 151, 151, .1);
-				}
-		}
-	}
-</style>
+    .first {
+      height: 108rpx;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      border-bottom: 2rpx solid rgba(151, 151, 151, 0.1);
+    }
+  }
+  .content-bottom {
+    background-color: #fff;
+    border-radius: 16rpx;
+    padding: 0 24rpx;
+    margin-top: 20rpx;
+    .first {
+      height: 108rpx;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      border-bottom: 2rpx solid rgba(151, 151, 151, 0.1);
+    }
+  }
+}
+</style>

+ 264 - 219
pageC/accountSetup/accountSetup.vue

@@ -1,50 +1,92 @@
 <template>
-	<view class="page">
-		<view class="set-top">
-			<view class="information" @click="toNextPage('/pageC/personalInformation/personalInformation')">
-				<view class="information-lift">
-					<image :src="userInfo.avatar" class="header-img" mode=""></image>
-					<view class="name"> {{ userInfo.nickname }} </view>
-				</view>
-				<image class="right-icon" src="../../static/mine/325.png" mode=""></image>
-			</view>
-			<view class="address" @click="
+  <view class="page">
+    <view class="set-top">
+      <view
+        class="information"
+        @click="toNextPage('/pageC/personalInformation/personalInformation')"
+      >
+        <view class="information-lift">
+          <image :src="userInfo.avatar" class="header-img" mode=""></image>
+          <view class="name"> {{ userInfo.nickname }} </view>
+        </view>
+        <image
+          class="right-icon"
+          src="../../static/mine/325.png"
+          mode=""
+        ></image>
+      </view>
+      <view
+        class="address"
+        @click="
           toNextPage('/pageC/addressManagement/addressManagement?type=setup')
-        ">
-				<view class="address-manage">
-					{{ i18n.address }}
-				</view>
-				<view class="text-right">
-					<text>{{ i18n.addAndEdit }}</text>
-					<image src="../../static/mine/325.png" class="right-icon" mode=""></image>
-				</view>
-			</view>
-		</view>
-
-		<view class="set-center">
-			<view class="security" @click="toNextPage('/pageC/accountSecurity/accountSecurity')">
-				<text>{{ i18n.accountCancellation }}</text>
-				<view class="text-right">
-					<!-- <text>{{ i18n.password }}</text> -->
-					<image src="../../static/mine/325.png" class="right-icon" mode=""></image>
-				</view>
-			</view>
-			<view class="switch" @click="toNextPage('/pageC/switchLanguage/switchLanguage')">
-				<text>{{ i18n.switch }}</text>
-				<image src="../../static/mine/325.png" class="right-icon" mode=""></image>
-			</view>
-		</view>
-
-		<view class="set-bottom">
-			<view class="text-1" @click="toNextPage(`/pageD/userAgreement/userAgreement`)">
-				<text>{{ i18n.user }}</text>
-				<image src="../../static/mine/325.png" class="right-icon" mode=""></image>
-			</view>
-			<view class="text-1" @click="toNextPage('/pageC/privacyPolicy/privacyPolicy')">
-				<text>{{ i18n.privacy }}</text>
-				<image src="../../static/mine/325.png" class="right-icon" mode=""></image>
-			</view>
-			<!-- <view
+        "
+      >
+        <view class="address-manage">
+          {{ i18n.address }}
+        </view>
+        <view class="text-right">
+          <text>{{ i18n.addAndEdit }}</text>
+          <image
+            src="../../static/mine/325.png"
+            class="right-icon"
+            mode=""
+          ></image>
+        </view>
+      </view>
+    </view>
+
+    <view class="set-center">
+      <view
+        class="security"
+        @click="toNextPage('/pageC/accountSecurity/accountSecurity')"
+      >
+        <text>{{ i18n.accountCancellation }}</text>
+        <view class="text-right">
+          <!-- <text>{{ i18n.password }}</text> -->
+          <image
+            src="../../static/mine/325.png"
+            class="right-icon"
+            mode=""
+          ></image>
+        </view>
+      </view>
+      <view
+        class="switch"
+        @click="toNextPage('/pageC/switchLanguage/switchLanguage')"
+      >
+        <text>{{ i18n.switch }}</text>
+        <image
+          src="../../static/mine/325.png"
+          class="right-icon"
+          mode=""
+        ></image>
+      </view>
+    </view>
+
+    <view class="set-bottom">
+      <view
+        class="text-1"
+        @click="toNextPage(`/pageD/userAgreement/userAgreement`)"
+      >
+        <text>{{ i18n.user }}</text>
+        <image
+          src="../../static/mine/325.png"
+          class="right-icon"
+          mode=""
+        ></image>
+      </view>
+      <view
+        class="text-1"
+        @click="toNextPage('/pageC/privacyPolicy/privacyPolicy')"
+      >
+        <text>{{ i18n.privacy }}</text>
+        <image
+          src="../../static/mine/325.png"
+          class="right-icon"
+          mode=""
+        ></image>
+      </view>
+      <!-- <view
         class="text-1"
         @click="toNextPage(`/pageD/platformProducts/platformProducts`)"
       >
@@ -55,183 +97,186 @@
           mode=""
         ></image>
       </view> -->
-			<view class="text-2" @click="toNextPage(`/pageD/joinPlatfrom/joinPlatfrom`)">
-				<text>{{ i18n.merchant }}</text>
-				<image src="../../static/mine/325.png" class="right-icon" mode=""></image>
-			</view>
-		</view>
-
-		<button class="layout" @click="layout">{{ i18n.layout }}</button>
-	</view>
+      <view
+        class="text-2"
+        @click="toNextPage(`/pageD/joinPlatfrom/joinPlatfrom`)"
+      >
+        <text>{{ i18n.merchant }}</text>
+        <image
+          src="../../static/mine/325.png"
+          class="right-icon"
+          mode=""
+        ></image>
+      </view>
+    </view>
+
+    <button class="layout" @click="layout">{{ i18n.layout }}</button>
+  </view>
 </template>
 
 <script>
-	import {
-		conn
-	} from '../../utils/WebIM.js'
-	import AllRight from "../mineComponent/allRight/allRight.vue";
-	export default {
-		components: {
-			AllRight,
-		},
-		computed: {
-			i18n() {
-				return this.$t("index");
-			},
-		},
-		onShow() {
-			this.getUserInfo();
-			uni.setNavigationBarTitle({
-				title: this.i18n.setup,
-			});
-		},
-		data() {
-			return {
-				userInfo: {},
-			};
-		},
-		methods: {
-			//退出登录
-			layout() {
-				uni.clearStorage();
-				uni.navigateTo({
-					url: "/pages/login/login",
-				});
-				conn.close();
-			},
-			toNextPage(url) {
-				uni.navigateTo({
-					url: url,
-				});
-			},
-			getUserInfo() {
-				uni.getStorage({
-					key: "user_info",
-					success: ({
-						data
-					}) => {
-						this.userInfo = data;
-					},
-				});
-			},
-		},
-		mounted() {
-			uni.setNavigationBarTitle({
-				title: this.i18n.setup,
-			});
-		},
-		created() {},
-	};
+import { conn } from "../../utils/WebIM.js";
+import AllRight from "../mineComponent/allRight/allRight.vue";
+export default {
+  components: {
+    AllRight,
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
+  onShow() {
+    this.getUserInfo();
+    uni.setNavigationBarTitle({
+      title: this.i18n.setup,
+    });
+  },
+  data() {
+    return {
+      userInfo: {},
+    };
+  },
+  methods: {
+    //退出登录
+    layout() {
+      uni.clearStorage();
+      uni.navigateTo({
+        url: "/pages/login/login",
+      });
+      conn.close();
+    },
+    toNextPage(url) {
+      uni.navigateTo({
+        url: url,
+      });
+    },
+    getUserInfo() {
+      uni.getStorage({
+        key: "user_info",
+        success: ({ data }) => {
+          this.userInfo = data;
+        },
+      });
+    },
+  },
+  mounted() {
+    uni.setNavigationBarTitle({
+      title: this.i18n.setup,
+    });
+  },
+  created() {},
+};
 </script>
 
 <style lang="scss" scoped>
-	.page {
-		padding: 20rpx 24rpx;
-
-		.set-top {
-			background-color: #fff;
-			border-radius: 16rpx;
-			padding: 0 20rpx;
-
-			.information {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				width: 100%;
-				height: 176rpx;
-
-				.information-lift {
-					display: flex;
-					align-items: center;
-
-					.header-img {
-						border-radius: 50%;
-						height: 116rpx;
-						width: 116rpx;
-						margin-right: 20rpx;
-					}
-
-					.name {
-						font-size: 36rpx;
-					}
-				}
-			}
-
-			.address {
-				display: flex;
-				justify-content: space-between;
-				height: 106rpx;
-				align-items: center;
-				border-top: 2rpx solid rgba(151, 151, 151, 0.2);
-			}
-		}
-
-		.set-center {
-			margin-top: 20rpx;
-			background-color: #fff;
-			border-radius: 16rpx;
-			padding: 0 20rpx;
-
-			.security {
-				display: flex;
-				height: 102rpx;
-				border-bottom: 2rpx solid rgba(151, 151, 151, 0.2);
-				justify-content: space-between;
-				align-items: center;
-			}
-
-			.switch {
-				display: flex;
-				justify-content: space-between;
-				height: 104rpx;
-				align-items: center;
-			}
-		}
-
-		.set-bottom {
-			border-radius: 16rpx;
-			padding: 0 20rpx;
-			background-color: #fff;
-			margin-top: 20rpx;
-
-			.text-1 {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				height: 102rpx;
-				border-bottom: 2rpx solid rgba(151, 151, 151, 0.2);
-			}
-
-			.text-2 {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				height: 102rpx;
-			}
-		}
-
-		.layout {
-			border-radius: 16rpx;
-			background-color: #fff;
-			color: #f83224;
-			font-size: 32rpx;
-			height: 92rpx;
-			margin-top: 20rpx;
-		}
-
-		.right-icon {
-			width: 32rpx;
-			height: 32rpx;
-		}
-
-		.text-right {
-			display: flex;
-			align-items: center;
-
-			text {
-				font-size: 30rpx;
-				color: rgba(34, 34, 34, 0.5);
-			}
-		}
-	}
-</style>
+.page {
+  padding: 20rpx 24rpx;
+
+  .set-top {
+    background-color: #fff;
+    border-radius: 16rpx;
+    padding: 0 20rpx;
+
+    .information {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      width: 100%;
+      height: 176rpx;
+
+      .information-lift {
+        display: flex;
+        align-items: center;
+
+        .header-img {
+          border-radius: 50%;
+          height: 116rpx;
+          width: 116rpx;
+          margin-right: 20rpx;
+        }
+
+        .name {
+          font-size: 36rpx;
+        }
+      }
+    }
+
+    .address {
+      display: flex;
+      justify-content: space-between;
+      height: 106rpx;
+      align-items: center;
+      border-top: 2rpx solid rgba(151, 151, 151, 0.2);
+    }
+  }
+
+  .set-center {
+    margin-top: 20rpx;
+    background-color: #fff;
+    border-radius: 16rpx;
+    padding: 0 20rpx;
+
+    .security {
+      display: flex;
+      height: 102rpx;
+      border-bottom: 2rpx solid rgba(151, 151, 151, 0.2);
+      justify-content: space-between;
+      align-items: center;
+    }
+
+    .switch {
+      display: flex;
+      justify-content: space-between;
+      height: 104rpx;
+      align-items: center;
+    }
+  }
+
+  .set-bottom {
+    border-radius: 16rpx;
+    padding: 0 20rpx;
+    background-color: #fff;
+    margin-top: 20rpx;
+
+    .text-1 {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      height: 102rpx;
+      border-bottom: 2rpx solid rgba(151, 151, 151, 0.2);
+    }
+
+    .text-2 {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      height: 102rpx;
+    }
+  }
+
+  .layout {
+    border-radius: 16rpx;
+    background-color: #fff;
+    color: #f83224;
+    font-size: 32rpx;
+    height: 92rpx;
+    margin-top: 20rpx;
+  }
+
+  .right-icon {
+    width: 32rpx;
+    height: 32rpx;
+  }
+
+  .text-right {
+    display: flex;
+    align-items: center;
+
+    text {
+      font-size: 30rpx;
+      color: rgba(34, 34, 34, 0.5);
+    }
+  }
+}
+</style>

+ 410 - 345
pageC/addEditAddress/addEditAddress.vue

@@ -1,9 +1,9 @@
 <template>
-	<view class="page">
-		<view class="content">
-			<view class="title">
-				<text class="title-left">{{ i18n.contacts }}</text>
-				<!-- <view class="title-right">
+  <view class="page">
+    <view class="content">
+      <view class="title">
+        <text class="title-left">{{ i18n.contacts }}</text>
+        <!-- <view class="title-right">
           <image
             src="../../static/mine/331.png"
             class="title-icon"
@@ -11,373 +11,438 @@
           ></image>
           <text>{{ i18n.wxAddress }}</text>
         </view> -->
-			</view>
-			<!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
-			<u--form labelPosition="left" :model="model1" ref="uForm">
-				<u-form-item labelWidth="150rpx" :label="i18n.name" borderBottom ref="item1">
-					<u--input v-model="model1.userInfo.name" :placeholder="i18n.goods" border="none"></u--input>
-				</u-form-item>
+      </view>
+      <!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
+      <u--form labelPosition="left" :model="model1" ref="uForm">
+        <u-form-item
+          labelWidth="150rpx"
+          :label="i18n.name"
+          borderBottom
+          ref="item1"
+        >
+          <u--input
+            v-model="model1.userInfo.name"
+            :placeholder="i18n.goods"
+            border="none"
+          ></u--input>
+        </u-form-item>
 
-				<u-form-item labelWidth="150rpx" :label="i18n.phone" borderBottom ref="item1">
-					<u--input v-model="model1.userInfo.phone" :placeholder="i18n.pleasePhoneNumber"
-						border="none"></u--input>
-				</u-form-item>
-				<u-form-item labelWidth="150rpx" :label="i18n.city" borderBottom @click="show = true" ref="item1">
-					<u--input v-model="model1.userInfo.city" disabled disabledColor="#ffffff"
-						:placeholder="i18n.township" border="none"></u--input>
-					<u-icon slot="right" name="arrow-right"></u-icon>
-				</u-form-item>
+        <u-form-item
+          labelWidth="150rpx"
+          :label="i18n.phone"
+          borderBottom
+          ref="item1"
+        >
+          <u--input
+            v-model="model1.userInfo.phone"
+            :placeholder="i18n.pleasePhoneNumber"
+            border="none"
+          ></u--input>
+        </u-form-item>
+        <u-form-item
+          labelWidth="150rpx"
+          :label="i18n.city"
+          borderBottom
+          @click="show = true"
+          ref="item1"
+        >
+          <u--input
+            v-model="model1.userInfo.city"
+            disabled
+            disabledColor="#ffffff"
+            :placeholder="i18n.township"
+            border="none"
+          ></u--input>
+          <u-icon slot="right" name="arrow-right"></u-icon>
+        </u-form-item>
 
-				<u-form-item labelWidth="150rpx" :label="i18n.detailed" borderBottom ref="item1">
-					<u--input v-model="model1.userInfo.detailed" :placeholder="i18n.sect" border="none"></u--input>
-				</u-form-item>
-				<view class="company">
-					<u--input v-model="model1.userInfo.company" :placeholder="i18n.company" border="none"></u--input>
-				</view>
-				<view style="
+        <u-form-item
+          labelWidth="150rpx"
+          :label="i18n.detailed"
+          borderBottom
+          ref="item1"
+        >
+          <u--input
+            v-model="model1.userInfo.detailed"
+            :placeholder="i18n.sect"
+            border="none"
+          ></u--input>
+        </u-form-item>
+        <view class="company">
+          <u--input
+            v-model="model1.userInfo.company"
+            :placeholder="i18n.company"
+            border="none"
+          ></u--input>
+        </view>
+        <view
+          style="
             display: flex;
             justify-content: space-between;
             align-items: center;
-          ">
-					<view class="item-left" @click="model1.userInfo.is_default = !model1.userInfo.is_default">
-						<image src="../../static/mine/327.png" class="address-icon" mode=""
-							v-if="!model1.userInfo.is_default"></image>
+          "
+        >
+          <view
+            class="item-left"
+            @click="model1.userInfo.is_default = !model1.userInfo.is_default"
+          >
+            <image
+              src="../../static/mine/327.png"
+              class="address-icon"
+              mode=""
+              v-if="!model1.userInfo.is_default"
+            ></image>
 
-						<image v-else src="../../static/mine/330.png" class="address-icon" mode=""></image>
-						<text>{{ i18n.initial }}</text>
-					</view>
-					<text style="font-size: 24rpx; color: #333" @click="empty">{{
+            <image
+              v-else
+              src="../../static/mine/330.png"
+              class="address-icon"
+              mode=""
+            ></image>
+            <text>{{ i18n.initial }}</text>
+          </view>
+          <text style="font-size: 24rpx; color: #333" @click="empty">{{
             i18n.empty
           }}</text>
-				</view>
-			</u--form>
-		</view>
-		<SelectCity :show="show" @close="close" :cityId="cityId" />
-		<view class="" v-if="addlist.length>0 && ifadd==0">
-			<view class="history">{{i18n.history}}</view>
-			<view class="add" @click="topadd(item)" v-for="(item,idx) in addlist" :key="idx">
-				<view class="">
-					<text class="name">{{item.name}}</text>
-					<text class="phone">{{item.mobile.slice(0,3)}}****{{item.mobile.slice(-4)}}</text>
-				</view>
-				<view class="addinfo">{{item.province_name + item.city_name + item.area_name + item.address}}</view>
-			</view>
-		</view>
-		<view class="footer">
-			<button class="save" @click="submit">{{ i18n.preserve }}</button>
-		</view>
-	</view>
+        </view>
+      </u--form>
+    </view>
+    <SelectCity :show="show" @close="close" :cityId="cityId" />
+    <view class="" v-if="addlist.length > 0 && ifadd == 0">
+      <view class="history">{{ i18n.history }}</view>
+      <view
+        class="add"
+        @click="topadd(item)"
+        v-for="(item, idx) in addlist"
+        :key="idx"
+      >
+        <view class="">
+          <text class="name">{{ item.name }}</text>
+          <text class="phone"
+            >{{ item.mobile.slice(0, 3) }}****{{ item.mobile.slice(-4) }}</text
+          >
+        </view>
+        <view class="addinfo">{{
+          item.province_name + item.city_name + item.area_name + item.address
+        }}</view>
+      </view>
+    </view>
+    <view class="footer">
+      <button class="save" @click="submit">{{ i18n.preserve }}</button>
+    </view>
+  </view>
 </template>
 
 <script>
-	import SelectCity from "./component/selectCity.vue";
-	export default {
-		components: {
-			SelectCity,
-		},
-		computed: {
-			i18n() {
-				return this.$t("index");
-			},
-		},
-		data() {
-			return {
-				ifadd: 0,
-				show: false,
-				cityId: [],
-				cityPid: {},
-				addressId: "",
-				model1: {
-					userInfo: {
-						name: "",
-						sex: "",
-						phone: "",
-						city: "",
-						detailed: "",
-						company: "",
-						is_default: 0,
-						country_id: 0,
-					},
-				},
-				rules: {
-					"userInfo.name": {
-						type: "string",
-						required: true,
-						message: "请填写姓名",
-						trigger: ["blur", "change"],
-					},
-					"userInfo.sex": {
-						type: "string",
-						max: 1,
-						required: true,
-						message: "请选择男或女",
-						trigger: ["blur", "change"],
-					},
-				},
-				addlist: []
-			};
-		},
-		onLoad(options) {
-			if (options.ifadd) {
-				this.ifadd = options.ifadd
-			} else {
-				this.ifadd = 0
-			}
-			if (options.id) {
-				console.log(options.id);
-				this.addressId = options.id;
-				this.getAddressDetail(options.id);
-			}
-		},
-		onShow() {
-			this.getaddlist()
-		},
-		methods: {
-			topadd(item) {
-				const eventchannel = this.getOpenerEventChannel();
-				eventchannel.emit("topadd", item);
-				uni.navigateBack({
-					delta: 1,
-				});
-			},
-			//地址列表
-			getaddlist(id) {
-				uni.$u.http.get('/api/address', {
-					params: {
-						is_page: 0,
-						is_domestic: 1
-					}
-				}).then((res) => {
-					console.log(res);
-					this.addlist = res
-				}).catch(() => {
+import SelectCity from "./component/selectCity.vue";
+export default {
+  components: {
+    SelectCity,
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
+  data() {
+    return {
+      ifadd: 0,
+      show: false,
+      cityId: [],
+      cityPid: {},
+      addressId: "",
+      model1: {
+        userInfo: {
+          name: "",
+          sex: "",
+          phone: "",
+          city: "",
+          detailed: "",
+          company: "",
+          is_default: 0,
+          country_id: 0,
+        },
+      },
+      rules: {
+        "userInfo.name": {
+          type: "string",
+          required: true,
+          message: "请填写姓名",
+          trigger: ["blur", "change"],
+        },
+        "userInfo.sex": {
+          type: "string",
+          max: 1,
+          required: true,
+          message: "请选择男或女",
+          trigger: ["blur", "change"],
+        },
+      },
+      addlist: [],
+    };
+  },
+  onLoad(options) {
+    if (options.ifadd) {
+      this.ifadd = options.ifadd;
+    } else {
+      this.ifadd = 0;
+    }
+    if (options.id) {
+      console.log(options.id);
+      this.addressId = options.id;
+      this.getAddressDetail(options.id);
+    }
+  },
+  onShow() {
+    this.getaddlist();
+  },
+  methods: {
+    topadd(item) {
+      const eventchannel = this.getOpenerEventChannel();
+      eventchannel.emit("topadd", item);
+      uni.navigateBack({
+        delta: 1,
+      });
+    },
+    //地址列表
+    getaddlist(id) {
+      uni.$u.http
+        .get("/api/address", {
+          params: {
+            is_page: 0,
+            is_domestic: 1,
+          },
+        })
+        .then((res) => {
+          console.log(res);
+          this.addlist = res;
+        })
+        .catch(() => {});
+    },
+    //编辑 or 新增
+    submit() {
+      const obj = {
+        mobile: this.model1.userInfo.phone,
+        name: this.model1.userInfo.name,
+        is_default: this.model1.userInfo.is_default ? 1 : 0,
+        company_name: this.model1.userInfo.company,
+        address: this.model1.userInfo.detailed,
+        country_id: this.model1.userInfo.country_id,
+      };
+      //有id为编辑,没有id为新增
+      if (this.addressId) {
+        uni.$u.http
+          .put(`/api/address/${this.addressId}`, {
+            ...obj,
+            ...this.cityPid,
+          })
+          .then((res) => {
+            console.log(res);
+            const eventchannel = this.getOpenerEventChannel();
+            eventchannel.emit("topadd", res);
+            uni.navigateBack({
+              delta: 1,
+            });
+          })
+          .catch(() => {});
+      } else {
+        uni.$u.http
+          .post(`/api/address`, {
+            ...obj,
+            ...this.cityPid,
+          })
+          .then((res) => {
+            // console.log(res);
+            const eventchannel = this.getOpenerEventChannel();
+            eventchannel.emit("topadd", res);
+            uni.navigateBack({
+              delta: 1,
+            });
+          })
+          .catch(() => {});
+      }
+    },
 
-				})
-			},
-			//编辑 or 新增
-			submit() {
-				const obj = {
-					mobile: this.model1.userInfo.phone,
-					name: this.model1.userInfo.name,
-					is_default: this.model1.userInfo.is_default ? 1 : 0,
-					company_name: this.model1.userInfo.company,
-					address: this.model1.userInfo.detailed,
-					country_id: this.model1.userInfo.country_id,
-				};
-				//有id为编辑,没有id为新增
-				if (this.addressId) {
-					uni.$u.http
-						.put(`/api/address/${this.addressId}`, {
-							...obj,
-							...this.cityPid
-						})
-						.then((res) => {
-							console.log(res);
-							const eventchannel = this.getOpenerEventChannel();
-							eventchannel.emit("topadd", res);
-							uni.navigateBack({
-								delta: 1,
-							});
-						})
-						.catch(() => {});
-				} else {
-					uni.$u.http
-						.post(`/api/address`, {
-							...obj,
-							...this.cityPid
-						})
-						.then((res) => {
-							// console.log(res);
-							const eventchannel = this.getOpenerEventChannel();
-							eventchannel.emit("topadd", res);
-							uni.navigateBack({
-								delta: 1,
-							});
-						})
-						.catch(() => {});
-				}
-			},
-
-			//清空输入
-			empty() {
-				this.model1.userInfo = {
-					name: "",
-					sex: "",
-					phone: "",
-					city: "",
-					detailed: "",
-					company: "",
-					is_default: 0,
-					country_id: 0,
-				};
-			},
-			//关闭选择城市弹窗
-			close(obj) {
-				this.show = false;
-				if (obj && obj.name) {
-					this.model1.userInfo.city =
-						obj.name + obj.children.name + obj.children.children.name;
-					this.cityId = [obj.id, obj.children.id, obj.children.children.id];
-					this.cityPid.province_id = obj.id;
-					this.cityPid.city_id = obj.children.id;
-					this.cityPid.area_id = obj.children.children.id;
-				}
-			},
-			//回显数据
-			getAddressDetail(id) {
-				uni.$u.http.get(`/api/address/${id}`).then((res) => {
-					this.model1.userInfo.city =
-						res.province_name + res.city_name + res.area_name;
-					this.model1.userInfo.name = res.name;
-					this.model1.userInfo.phone = res.mobile;
-					this.model1.userInfo.detailed = res.address;
-					this.model1.userInfo.company = res.company_name;
-					this.model1.userInfo.is_default = res.is_default;
-					this.model1.userInfo.country_id = res.country_id;
-					if (res.province_id && res.city_id && res.area_id) {
-						this.cityId = [res.province_id, res.city_id, res.area_id];
-					}
-				});
-			},
-		},
-		mounted() {
-			uni.setNavigationBarTitle({
-				title: this.i18n.newAddress,
-			});
-		},
-		onReady() {
-			//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
-			this.$refs.uForm.setRules(this.rules);
-		},
-	};
+    //清空输入
+    empty() {
+      this.model1.userInfo = {
+        name: "",
+        sex: "",
+        phone: "",
+        city: "",
+        detailed: "",
+        company: "",
+        is_default: 0,
+        country_id: 0,
+      };
+    },
+    //关闭选择城市弹窗
+    close(obj) {
+      this.show = false;
+      if (obj && obj.name) {
+        this.model1.userInfo.city =
+          obj.name + obj.children.name + obj.children.children.name;
+        this.cityId = [obj.id, obj.children.id, obj.children.children.id];
+        this.cityPid.province_id = obj.id;
+        this.cityPid.city_id = obj.children.id;
+        this.cityPid.area_id = obj.children.children.id;
+      }
+    },
+    //回显数据
+    getAddressDetail(id) {
+      uni.$u.http.get(`/api/address/${id}`).then((res) => {
+        this.model1.userInfo.city =
+          res.province_name + res.city_name + res.area_name;
+        this.model1.userInfo.name = res.name;
+        this.model1.userInfo.phone = res.mobile;
+        this.model1.userInfo.detailed = res.address;
+        this.model1.userInfo.company = res.company_name;
+        this.model1.userInfo.is_default = res.is_default;
+        this.model1.userInfo.country_id = res.country_id;
+        if (res.province_id && res.city_id && res.area_id) {
+          this.cityId = [res.province_id, res.city_id, res.area_id];
+        }
+      });
+    },
+  },
+  mounted() {
+    uni.setNavigationBarTitle({
+      title: this.i18n.newAddress,
+    });
+  },
+  onReady() {
+    //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+    this.$refs.uForm.setRules(this.rules);
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	.add {
-		width: 702rpx;
-		// height: 160rpx;
-		background: #FFFFFF;
-		border-radius: 16rpx;
-		padding: 24rpx;
-		box-sizing: border-box;
-		margin-bottom: 20rpx;
+.add {
+  width: 702rpx;
+  // height: 160rpx;
+  background: #ffffff;
+  border-radius: 16rpx;
+  padding: 24rpx;
+  box-sizing: border-box;
+  margin-bottom: 20rpx;
 
-		.addinfo {
-			font-family: PingFangSC, PingFang SC;
-			font-weight: 400;
-			font-size: 24rpx;
-			color: #222222;
-			line-height: 34rpx;
-			text-align: left;
-			font-style: normal;
-		}
+  .addinfo {
+    font-family: PingFangSC, PingFang SC;
+    font-weight: 400;
+    font-size: 24rpx;
+    color: #222222;
+    line-height: 34rpx;
+    text-align: left;
+    font-style: normal;
+  }
 
-		.name {
-			font-family: PingFangSC, PingFang SC;
-			font-weight: 500;
-			font-size: 28rpx;
-			color: #333333;
-			line-height: 40rpx;
-			text-align: left;
-			font-style: normal;
-		}
+  .name {
+    font-family: PingFangSC, PingFang SC;
+    font-weight: 500;
+    font-size: 28rpx;
+    color: #333333;
+    line-height: 40rpx;
+    text-align: left;
+    font-style: normal;
+  }
 
-		.phone {
-			font-family: SFPro, SFPro;
-			font-weight: 400;
-			font-size: 24rpx;
-			color: #333333;
-			line-height: 28rpx;
-			text-align: left;
-			font-style: normal;
-			margin-left: 16rpx;
-		}
-	}
+  .phone {
+    font-family: SFPro, SFPro;
+    font-weight: 400;
+    font-size: 24rpx;
+    color: #333333;
+    line-height: 28rpx;
+    text-align: left;
+    font-style: normal;
+    margin-left: 16rpx;
+  }
+}
 
-	.history {
-		font-family: PingFangSC, PingFang SC;
-		font-weight: 500;
-		font-size: 30rpx;
-		color: #333333;
-		line-height: 42rpx;
-		text-align: left;
-		font-style: normal;
-		margin: 28rpx 0 24rpx;
-	}
+.history {
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 500;
+  font-size: 30rpx;
+  color: #333333;
+  line-height: 42rpx;
+  text-align: left;
+  font-style: normal;
+  margin: 28rpx 0 24rpx;
+}
 
-	.page {
-		padding: 20rpx 24rpx;
+.page {
+  padding: 20rpx 24rpx;
 
-		.content {
-			background-color: #fff;
-			border-radius: 16rpx;
-			padding: 0 24rpx;
+  .content {
+    background-color: #fff;
+    border-radius: 16rpx;
+    padding: 0 24rpx;
 
-			.title {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				height: 100rpx;
-				border-bottom: 2rpx solid rgba(151, 151, 151, 0.1);
+    .title {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      height: 100rpx;
+      border-bottom: 2rpx solid rgba(151, 151, 151, 0.1);
 
-				.title-left {
-					font-size: 32rpx;
-					color: #333;
-					font-weight: 600;
-				}
+      .title-left {
+        font-size: 32rpx;
+        color: #333;
+        font-weight: 600;
+      }
 
-				.title-icon {
-					width: 26rpx;
-					height: 26rpx;
-					margin-right: 10rpx;
-				}
+      .title-icon {
+        width: 26rpx;
+        height: 26rpx;
+        margin-right: 10rpx;
+      }
 
-				.title-right {
-					display: flex;
-					align-items: center;
-					font-size: 24rpx;
-					color: rgba(51, 51, 51, 0.6);
-				}
-			}
+      .title-right {
+        display: flex;
+        align-items: center;
+        font-size: 24rpx;
+        color: rgba(51, 51, 51, 0.6);
+      }
+    }
 
-			.company {
-				height: 102rpx;
-				display: flex;
-				align-items: center;
-				border-bottom: 2rpx solid rgba(151, 151, 151, 0.1);
-			}
-		}
+    .company {
+      height: 102rpx;
+      display: flex;
+      align-items: center;
+      border-bottom: 2rpx solid rgba(151, 151, 151, 0.1);
+    }
+  }
 
-		.item-left {
-			font-size: 24rpx;
-			color: #333;
-			display: flex;
-			align-items: center;
-			height: 86rpx;
+  .item-left {
+    font-size: 24rpx;
+    color: #333;
+    display: flex;
+    align-items: center;
+    height: 86rpx;
 
-			.address-icon {
-				width: 26rpx;
-				height: 26rpx;
-				margin-right: 10rpx;
-			}
-		}
+    .address-icon {
+      width: 26rpx;
+      height: 26rpx;
+      margin-right: 10rpx;
+    }
+  }
 
-		.footer {
-			background-color: #fff;
-			position: fixed;
-			bottom: 0;
-			height: 146rpx;
-			width: 750rpx;
-			left: 0;
-			padding-top: 20rpx;
+  .footer {
+    background-color: #fff;
+    position: fixed;
+    bottom: 0;
+    height: 146rpx;
+    width: 750rpx;
+    left: 0;
+    padding-top: 20rpx;
 
-			.save {
-				width: 702rpx;
-				margin: 0 auto;
-				background-color: #f83224;
-				color: #fff;
-				border-radius: 40rpx;
-			}
-		}
-	}
-</style>
+    .save {
+      width: 702rpx;
+      margin: 0 auto;
+      background-color: #f83224;
+      color: #fff;
+      border-radius: 40rpx;
+    }
+  }
+}
+</style>

+ 61 - 56
pageC/editName/editName.vue

@@ -1,64 +1,69 @@
 <template>
-	<view class="page">
-		<view class="inp">
-			<view class="">
-				<u--input placeholder="请输入内容" border="none" v-model="name" @confirm='changename'></u--input>
-			</view>
-			<text style="color: rgba(34, 34, 34, 0.3);">{{name.length}}</text>
-		</view>
-		<view class="prompt">
-			{{i18n.prompt}}
-		</view>
-	</view>
+  <view class="page">
+    <view class="inp">
+      <view class="">
+        <u--input
+          placeholder="请输入内容"
+          border="none"
+          v-model="name"
+          @confirm="changename"
+        ></u--input>
+      </view>
+      <text style="color: rgba(34, 34, 34, 0.3)">{{ name.length }}</text>
+    </view>
+    <view class="prompt">
+      {{ i18n.prompt }}
+    </view>
+  </view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				name: '张三'
-			}
-		},
-		onLoad(option) {
-			this.name = option.name
-		},
-		computed: {
-			i18n() {
-				return this.$t('index')
-			}
-		},
-		mounted() {
-			uni.setNavigationBarTitle({
-				title: this.i18n.editNextname
-			})
-		},
-		methods: {
-			changename(){
-				const eventChannel = this.getOpenerEventChannel();
-				eventChannel.emit("getname", this.name);
-				uni.navigateBack()
-			}
-		}
-	}
+export default {
+  data() {
+    return {
+      name: "张三",
+    };
+  },
+  onLoad(option) {
+    this.name = option.name;
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
+  mounted() {
+    uni.setNavigationBarTitle({
+      title: this.i18n.editNextname,
+    });
+  },
+  methods: {
+    changename() {
+      const eventChannel = this.getOpenerEventChannel();
+      eventChannel.emit("getname", this.name);
+      uni.navigateBack();
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	.page {
-		padding: 20rpx 24rpx;
-		.inp{
-			background-color: #fff;
-			border-radius: 16rpx;
-			height: 96rpx;
-			display: flex;
-			justify-content: space-between;
-			padding: 0 20px;
-			align-items: center;
-		}
-	}
+.page {
+  padding: 20rpx 24rpx;
+  .inp {
+    background-color: #fff;
+    border-radius: 16rpx;
+    height: 96rpx;
+    display: flex;
+    justify-content: space-between;
+    padding: 0 20px;
+    align-items: center;
+  }
+}
 
-	.prompt {
-		margin-top: 16rpx;
-		font-size: 26rpx;
-		color: rgba(34, 34, 34, 0.6);
-	}
-</style>
+.prompt {
+  margin-top: 16rpx;
+  font-size: 26rpx;
+  color: rgba(34, 34, 34, 0.6);
+}
+</style>

+ 3 - 0
pageC/orderForm/component/refundCard.vue

@@ -34,6 +34,7 @@
     <view
       class="commodity-information"
       v-for="item in itemInfo.order_goods"
+      :key="item.id"
       @click.stop="$emit('toRefundDetail', item)"
     >
       <view class="commodity-1" v-if="item.refund">
@@ -97,6 +98,7 @@
                 "
                 @click.stop="$emit('toRefundDetail', item)"
               >
+                <!-- 售后详情 -->
                 {{ i18n.afterDetails }}
               </button>
               <button
@@ -104,6 +106,7 @@
                 v-if="item.refund.status == 2 || item.refund.status == 3"
                 @click.stop="$emit('unreviewAfter', item)"
               >
+                <!-- 继续申请 -->
                 {{ i18n.ContinueApply }}
               </button>
             </view>

+ 1 - 1
pageC/orderForm/orderForm.vue

@@ -164,9 +164,9 @@ export default {
     },
     //切换搜索订单状态
     tabSwitch(num) {
+      this.getOrderList(1);
       this.page = 1;
       this.follow = num;
-      this.getOrderList(1);
     },
     //跳转订单详情
     toDetail(value) {

+ 25 - 10
pageC/orderFormDetail/component/commodityDetail.vue

@@ -93,12 +93,7 @@
           <!-- status就是 状态 0未审核 1已通过 2未通过 3平台介入 -->
           <button
             @click="platformIntervene(item)"
-            v-if="
-              item.refund &&
-              (item.refund.status == 2 ||
-                item.refund.status == 0 ||
-                item.refund.status == 3)
-            "
+            v-if="item.refund && item.refund.status == 0"
           >
             {{ i18n.platformIntervention }}
           </button>
@@ -112,7 +107,7 @@
                 item.refund.status == 3)
             "
           >
-            退款详情
+            {{ i18n.refundDetails }}
           </button>
           <button
             @click="application(item)"
@@ -144,8 +139,26 @@
     <view class="information">
       <text class="_label">{{ i18n.flow }}</text>
       <view lass="_title-right">
-        {{ orderDetail.container.transport_type.name_cn }} |
-        {{ orderDetail.container.name_cn }}
+        <text v-if="language == 'zh-CN'">{{
+          orderDetail.container.transport_type.name_cn +
+          "|" +
+          orderDetail.container.name_cn
+        }}</text>
+        <text v-if="language == 'en-US'">{{
+          orderDetail.container.transport_type.name_en +
+          "|" +
+          orderDetail.container.name_en
+        }}</text>
+        <text v-if="language == 'es-ES'">{{
+          orderDetail.container.transport_type.name_es +
+          "|" +
+          orderDetail.container.name_es
+        }}</text>
+        <text v-if="language == 'it-IT'">{{
+          orderDetail.container.transport_type.name_ita +
+          "|" +
+          orderDetail.container.name_ita
+        }}</text>
       </view>
     </view>
     <view class="information last">
@@ -211,7 +224,9 @@ export default {
     toping(item) {
       console.log(item);
       uni.navigateTo({
-        url: "/pageD/evaluate/evaluate?goods=" + encodeURIComponent(JSON.stringify(item)),
+        url:
+          "/pageD/evaluate/evaluate?goods=" +
+          encodeURIComponent(JSON.stringify(item)),
       });
     },
     //申请退款

+ 13 - 10
pageC/refundDetail/component/moneyDestination.vue

@@ -8,10 +8,10 @@
       closeable
       closeOnClickOverlay
     >
-      <view class="title"> 钱款去向 </view>
+      <view class="title"> {{ i18n.MoneyDirection }} </view>
       <view class="radio-list">
         <view class="refund">
-          <view class="money"> 退款金额 </view>
+          <view class="money"> {{ i18n.refundAmount }} </view>
           <view class="commodity-price" style="color: #f83224">
             <text style="font-size: 20rpx">¥</text>
             <text>{{
@@ -24,7 +24,7 @@
           </view>
         </view>
         <view class="refund">
-          <view class="money"> 退款账户 </view>
+          <view class="money"> {{ i18n.refundAccount }} </view>
           <view class="commodity-price" style="color: #222">
             {{ payType }}
           </view>
@@ -36,22 +36,22 @@
           inactiveColor="#D8D8D8"
         >
           <u-steps-item
-            title="退款成功"
-            desc="退款已原路退回,到账时间以平台处理时间为准"
+            :title="i18n.refundSuccessful"
+            :desc="i18n.processingTime"
           >
           </u-steps-item>
           <u-steps-item
-            title="申请受理中"
-            desc="您的退款申请团长已受理,请耐心等待"
+            :title="i18n.applicationReview"
+            :desc="i18n.acceptedWait"
           >
           </u-steps-item>
           <u-steps-item
-            title="买家发起退款"
-            desc="系统将会在1-2天提交处理,请耐心等待"
+            :title="i18n.buyerRefund"
+            :desc="i18n.processingWait"
           ></u-steps-item>
         </u-steps>
       </view>
-      <button class="btn" @click="$emit('close')">我知道了</button>
+      <button class="btn" @click="$emit('close')">{{ i18n.know }}</button>
     </u-popup>
   </view>
 </template>
@@ -76,6 +76,9 @@ export default {
     };
   },
   computed: {
+    i18n() {
+      return this.$t("index");
+    },
     payType() {
       if (this.refundDetail.pay_type == "balance") {
         return "账户余额";

+ 6 - 1
pageC/refundDetail/component/refundInProgress.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="top-direction">
     <view class="direction-frist">
-      <view class=""> 退款中 </view>
+      <view class=""> {{ i18n.orderRefunding }} </view>
       <view class="commodity-price" v-if="refundDetail.goods.length > 0">
         <text style="font-size: 20rpx">¥</text>
         <text>{{
@@ -27,6 +27,11 @@ export default {
       },
     },
   },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
 };
 </script>
 

+ 33 - 9
pageC/refundDetail/component/refundInformation.vue

@@ -16,7 +16,11 @@
       </view>
       <view class="title-right" @click="tochat">
         <u-icon name="chat" color="#f83224" size="28"></u-icon>
-        <text>联系{{ goodsDetail.merchant.id == 1 ? "平台" : "团长" }}</text>
+        <text>{{
+          goodsDetail.merchant.id == 1
+            ? i18n.contatto + i18n.plataforma
+            : i18n.contatto + i18n.regimentalCommander
+        }}</text>
       </view>
     </view>
     <view class="commodity-information">
@@ -28,7 +32,18 @@
         ></image>
         <view class="">
           <view class="commodity-2">
-            <view class="commodity-title">{{ goodsDetail.goods_name }} </view>
+            <view class="commodity-title" v-if="language == 'zh-CN'"
+              >{{ goodsDetail.goods.name_cn }}
+            </view>
+            <view class="commodity-title" v-if="language == 'en-US'"
+              >{{ goodsDetail.goods.name_en }}
+            </view>
+            <view class="commodity-title" v-if="language == 'es-ES'"
+              >{{ goodsDetail.goods.name_es }}
+            </view>
+            <view class="commodity-title" v-if="language == 'it-IT'"
+              >{{ goodsDetail.goods.name_ita }}
+            </view>
           </view>
 
           <view class="commodity-3">
@@ -40,22 +55,22 @@
       </view>
     </view>
     <view class="information">
-      <text class="_label">订单编号</text>
+      <text class="_label">{{ i18n.OrderNumber }}</text>
       <view style="color: #222">
         <text style="color: rgba(34, 34, 34, 0.6)">{{
           goodsDetail.order_no
         }}</text>
         <text @click="cope(goodsDetail.order_no)" style="color: #f83224">{{
-          "&nbsp;" + "|" + "&nbsp;" + "复制"
+          "&nbsp;" + "|" + "&nbsp;" + i18n.cope
         }}</text>
       </view>
     </view>
     <view class="information">
-      <text class="_label">退款原因</text>
+      <text class="_label">{{ i18n.ReasonRefund }}</text>
       <view class="_title-right"> {{ goodsDetail.refund.refund_reason }} </view>
     </view>
     <view class="information">
-      <text class="_label">退款金额</text>
+      <text class="_label">{{ i18n.refundAmount }}</text>
       <view class="_title-right">
         ¥{{
           goodsDetail.refund.actual_refund_price ||
@@ -64,11 +79,11 @@
       </view>
     </view>
     <view class="information">
-      <text class="_label">申请件数</text>
+      <text class="_label">{{ i18n.NumberApplications }}</text>
       <view class="_title-right">{{ goodsDetail.goods_num }} </view>
     </view>
     <view class="information">
-      <text class="_label">申请时间</text>
+      <text class="_label">{{ i18n.applyForTime }}</text>
       <view class="_title-right">{{ goodsDetail.refund.created_at }}</view>
     </view>
   </view>
@@ -91,6 +106,15 @@ export default {
         return {};
       },
     },
+    language: {
+      typeof: String,
+      default: "",
+    },
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
   },
   data() {
     return {
@@ -127,7 +151,7 @@ export default {
         data: e,
         success() {
           uni.showToast({
-            title: "复制成功",
+            title: this.i18n.replicatingSuccess,
             icon: "none",
           });
         },

+ 5 - 3
pageC/refundDetail/component/refundSuccessful.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="top-direction">
     <view class="direction-frist">
-      <view class=""> 退款成功 </view>
+      <view class=""> {{ i18n.refundSuccessful }} </view>
       <view class="commodity-price">
         <text style="font-size: 20rpx">¥</text>
         <text>{{
@@ -16,7 +16,7 @@
     <view class="time"> {{ refundDetail.goods[0].refund.updated_at }} </view>
 
     <view class="direction-last">
-      <view class=""> 退款余额 </view>
+      <view class=""> {{ i18n.refundBalance }} </view>
       <view class="commodity-price">
         <text style="font-size: 20rpx">¥</text>
         <text>{{
@@ -29,7 +29,9 @@
       </view>
     </view>
 
-    <button class="check" @click="$emit('checkMoney')">查看钱款去向</button>
+    <button class="check" @click="$emit('checkMoney')">
+      {{ i18n.checkMoney }}
+    </button>
   </view>
 </template>
 

+ 8 - 3
pageC/refundDetail/component/refusalToRefund.vue

@@ -2,16 +2,16 @@
   <view>
     <view class="top-direction" v-if="refundDetail.goods[0].refund.status == 2">
       <view class="direction-frist">
-        <view class=""> 卖家拒绝了您的退款申请 </view>
+        <view class=""> {{ i18n.rejectedRefund }} </view>
       </view>
       <view class="time" v-if="refundDetail.goods[0].refund.reason">
-        商家: {{ refundDetail.goods[0].refund.reason }}
+        {{ i18n.business + ":" + refundDetail.goods[0].refund.reason }}
       </view>
       <view class="time"> {{ refundDetail.goods[0].refund.updated_at }} </view>
     </view>
     <view class="top-direction" v-else>
       <view class="direction-frist">
-        <view class=""> 已申请平台介入 </view>
+        <view class=""> {{ i18n.appliedIntervene }} </view>
       </view>
       <view class="time">
         {{ refundDetail.goods[0].refund.reason || "" }}
@@ -44,6 +44,11 @@ export default {
       },
     },
   },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
 };
 </script>
 

+ 13 - 4
pageC/refundDetail/refundDetail.vue

@@ -22,6 +22,7 @@
     <RefundInformation
       :goodsDetail="refundDetail.goods[0]"
       :refundDetail="refundDetail"
+      :language="language"
     />
     <MoneyDestination
       :show="show"
@@ -29,7 +30,9 @@
       :refundDetail="refundDetail"
     />
     <view class="footer" v-if="refundDetail.goods[0].refund.status != 1">
-      <button class="btn" @click="platformIntervene">平台介入</button>
+      <button class="btn" @click="platformIntervene">
+        {{ i18n.platformIntervention }}
+      </button>
     </view>
   </view>
 </template>
@@ -54,6 +57,7 @@ export default {
       status: 1,
       orderRefundId: "",
       refundDetail: {},
+      language: this._language,
     };
   },
   onLoad(options) {
@@ -61,6 +65,11 @@ export default {
     this.orderRefundId = options.orderId;
     this.getDetail();
   },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
   methods: {
     checkMoney() {
       this.show = true;
@@ -77,13 +86,13 @@ export default {
           })
           .then((res) => {
             uni.showToast({
-              title: "已申请平台介入",
+              title: this.i18n.appliedIntervene,
               icon: "none",
             });
           });
       } else {
         uni.showToast({
-          title: "平台已介入",
+          title: this.i18n.hasIntervened,
           icon: "none",
         });
       }
@@ -100,7 +109,7 @@ export default {
   },
   created() {
     uni.setNavigationBarTitle({
-      title: "退款详情",
+      title: this.i18n.refundDetails,
     });
   },
 };

+ 294 - 265
pageD/evaluate/evaluate.vue

@@ -1,285 +1,314 @@
 <template>
-	<view>
-		<view class="content" v-for="(item,idx) in orderDetail.goods" :key="idx">
-			<view class="goods-title">
-				<image class="goods-img" :src="item.goods_image" mode="scaleToFill" />
-				<view class="title"> {{ item.goods_name }} </view>
-			</view>
-			<view class="rate">
-				<view class="_label"> 商品评价 </view>
-				<u-rate :count="count" v-model="value" size="22"></u-rate>
-			</view>
-			<!-- accept="all" 可以上传视频是配置该字段 -->
-			<!-- 			<u-upload :previewFullImage='true' @clickPreview="openvideo" accept="all" :fileList="item.list" @afterRead="afterRead" @delete="deletePic" :name="idx" multiple
+  <view>
+    <view class="content" v-for="(item, idx) in orderDetail.goods" :key="idx">
+      <view class="goods-title">
+        <image class="goods-img" :src="item.goods_image" mode="scaleToFill" />
+        <view class="title" v-if="language == 'zh-CN'">
+          {{ item.goods.name_cn }}
+        </view>
+        <view class="title" v-if="language == 'en-US'">
+          {{ item.goods.name_en }}
+        </view>
+        <view class="title" v-if="language == 'es-ES'">
+          {{ item.goods.name_es }}
+        </view>
+        <view class="title" v-if="language == 'it-IT'">
+          {{ item.goods.name_ita }}
+        </view>
+      </view>
+      <view class="rate">
+        <view class="_label"> {{ i18n.reviews }} </view>
+        <u-rate :count="count" v-model="value" size="22"></u-rate>
+      </view>
+      <!-- accept="all" 可以上传视频是配置该字段 -->
+      <!-- 			<u-upload :previewFullImage='true' @clickPreview="openvideo" accept="all" :fileList="item.list" @afterRead="afterRead" @delete="deletePic" :name="idx" multiple
 				:maxCount="10"> -->
-			<u-upload accept=" image/*,video/*" :fileList="fileList0" @afterRead="afterRead" @delete="deletePic" name="0" multiple :maxCount="10"
-				>
-				<view class="upload-photo">
-					<u-icon name="camera" size="26"></u-icon>
-					<text>添加图片/视频</text>
-				</view>
-			</u-upload>
-			<view class="_text">
-				<u--textarea border="none" v-model="value1" height="150" placeholder="展开说说对商品的想法"></u--textarea>
-			</view>
-		</view>
-		<button class="btn-1" @click="submit">提交评价</button>   
-	</view>
+      <u-upload
+        accept=" image/*,video/*"
+        :fileList="fileList0"
+        @afterRead="afterRead"
+        @delete="deletePic"
+        name="0"
+        multiple
+        :maxCount="9"
+      >
+        <view class="upload-photo">
+          <u-icon name="camera" size="26"></u-icon>
+          <text>{{ i18n.addPicturesVideos }}</text>
+        </view>
+      </u-upload>
+      <view class="_text">
+        <u--textarea
+          border="none"
+          v-model="value1"
+          height="150"
+          :placeholder="i18n.thoughtsProduct"
+        ></u--textarea>
+      </view>
+    </view>
+    <button class="btn-1" @click="submit">{{ i18n.submitEvaluation }}</button>
+  </view>
 </template>
 
 <script>
-	import list from '../../uview-ui/libs/config/props/list';
-	export default {
-		data() {
-			return {
-				count: 5,
-				value: 5,
-				value1: "",
-				status: "",
-				orderDetail: {
-					goods:[]
-				},
-				fileList0: [],
-				goods_name: ''
-			};
-		},
-		onLoad(options) {
-			this.status = options.orderId;
-			this.orderDetail.goods.push(JSON.parse(decodeURIComponent(options.goods)))
-		},
-		methods: {
-			openvideo(url, lists, name) {
-				console.log(url, lists, name);
-			},
-			//提交评价
-			submit() {
-				let imgList = [];
-				let videoList = []
-				this.fileList0.map((item) => {
-					console.log(item);
-					if (item.url.slice(-4) == '.png' || item.url.slice(-4) == '.jpg'){
-						imgList.push(item.url);
-					}
-					if (item.url.slice(-4) == '.mp4'){
-						videoList.push(item.url);
-					}
-				});
-				uni.$u.http
-					.post(`/api/order/comment`, {
-						order_goods_id: this.orderDetail.goods[0].id,
-						content: this.value1,
-						score: this.value,
-						image: imgList.join(","),
-						video: videoList.join(","),
-					})
-					.then((res) => {
-						uni.showToast({
-							title: "评价成功",
-							icon: "none",
-						});
-						let timer = setTimeout(() => {
-							uni.navigateBack({
-								delta: 1,
-							});
-							clearTimeout(timer);
-						}, 1000);
-					});
-			},
-			// 删除图片
-			deletePic(event) {
-				this[`fileList${event.name}`].splice(event.index, 1);
-			},
-			// deletePic(event) {
-			// 	this.orderDetail.goods[event.name].list.splice(event.index, 1);
-			// 	//触发响应式
-			// 	let name = this.orderDetail.goods[event.name].goods_name + " "
-			// 	this.orderDetail.goods[event.name].goods_name = name.substring(-2)
-			// },
-			// async afterRead(event) {
-			// 	console.log(event);
-			// 	var that = this
-			// 	let lists = [].concat(event.file);
-			// 	let imglist = [].concat(that.orderDetail.goods[event.name].list)
-			// 	let fileListLen = that.orderDetail.goods[event.name].list.length;
-			// 	// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
-			// 	// lists.map((item) => {
-			// 	// 	this.orderDetail.goods[event.name].list.push({
-			// 	// 		...item,
-			// 	// 		status: "uploading",
-			// 	// 		message: "上传中",
-			// 	// 	});
-			// 	// });
+import list from "../../uview-ui/libs/config/props/list";
+export default {
+  data() {
+    return {
+      count: 5,
+      value: 5,
+      value1: "",
+      status: "",
+      orderDetail: {
+        goods: [],
+      },
+      fileList0: [],
+      goods_name: "",
+      language: this._language, //用户当前选择的语言
+    };
+  },
+  onLoad(options) {
+    this.status = options.orderId;
+    this.orderDetail.goods.push(JSON.parse(decodeURIComponent(options.goods)));
+    console.log(this.orderDetail);
+  },
+  computed: {
+    i18n() {
+      return this.$t("index");
+    },
+  },
+  methods: {
+    openvideo(url, lists, name) {
+      console.log(url, lists, name);
+    },
+    //提交评价
+    submit() {
+      let imgList = [];
+      let videoList = [];
+      this.fileList0.map((item) => {
+        console.log(item);
+        if (item.url.slice(-4) == ".png" || item.url.slice(-4) == ".jpg") {
+          imgList.push(item.url);
+        }
+        if (item.url.slice(-4) == ".mp4") {
+          videoList.push(item.url);
+        }
+      });
+      uni.$u.http
+        .post(`/api/order/comment`, {
+          order_goods_id: this.orderDetail.goods[0].id,
+          content: this.value1,
+          score: this.value,
+          image: imgList.join(","),
+          video: videoList.join(","),
+        })
+        .then((res) => {
+          uni.showToast({
+            title: this.i18n.evaluationSuccess,
+            icon: "none",
+          });
+          let timer = setTimeout(() => {
+            uni.navigateBack({
+              delta: 1,
+            });
+            clearTimeout(timer);
+          }, 1000);
+        });
+    },
+    // 删除图片
+    deletePic(event) {
+      this[`fileList${event.name}`].splice(event.index, 1);
+    },
+    // deletePic(event) {
+    // 	this.orderDetail.goods[event.name].list.splice(event.index, 1);
+    // 	//触发响应式
+    // 	let name = this.orderDetail.goods[event.name].goods_name + " "
+    // 	this.orderDetail.goods[event.name].goods_name = name.substring(-2)
+    // },
+    // async afterRead(event) {
+    // 	console.log(event);
+    // 	var that = this
+    // 	let lists = [].concat(event.file);
+    // 	let imglist = [].concat(that.orderDetail.goods[event.name].list)
+    // 	let fileListLen = that.orderDetail.goods[event.name].list.length;
+    // 	// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
+    // 	// lists.map((item) => {
+    // 	// 	this.orderDetail.goods[event.name].list.push({
+    // 	// 		...item,
+    // 	// 		status: "uploading",
+    // 	// 		message: "上传中",
+    // 	// 	});
+    // 	// });
 
-			// 	that.orderDetail.goods[event.name].list.push({
-			// 		...event.file[0],
-			// 		status: "uploading",
-			// 		message: "上传中",
-			// 	});
-			// 	console.log(that.orderDetail.goods[event.name].list);
-			// 	// console.log()
-			// 	const result = await that.uploadFilePromise(event.file[0].url);
-			// 	console.log(result);
-			// 	let item = that.orderDetail.goods[event.name].list[fileListLen];
-			// 	that.orderDetail.goods[event.name].list.splice(
-			// 		fileListLen,
-			// 		1,
-			// 		Object.assign(item, {
-			// 			status: "success",
-			// 			message: "",
-			// 			url: result,
-			// 		})
-			// 	);
-			// 	let imgs = [].concat(that.orderDetail.goods[event.name].list)
-			// 	// that.$set(that.orderDetail.goods[event.name],"list",imgs)
-			// 	this.$set(that.orderDetail.goods[event.name], "length", imgs.length)
-			// 	that.orderDetail.goods[event.name].length = imgs.length
-			// 	that.orderDetail.goods[event.name].list = imgs
+    // 	that.orderDetail.goods[event.name].list.push({
+    // 		...event.file[0],
+    // 		status: "uploading",
+    // 		message: "上传中",
+    // 	});
+    // 	console.log(that.orderDetail.goods[event.name].list);
+    // 	// console.log()
+    // 	const result = await that.uploadFilePromise(event.file[0].url);
+    // 	console.log(result);
+    // 	let item = that.orderDetail.goods[event.name].list[fileListLen];
+    // 	that.orderDetail.goods[event.name].list.splice(
+    // 		fileListLen,
+    // 		1,
+    // 		Object.assign(item, {
+    // 			status: "success",
+    // 			message: "",
+    // 			url: result,
+    // 		})
+    // 	);
+    // 	let imgs = [].concat(that.orderDetail.goods[event.name].list)
+    // 	// that.$set(that.orderDetail.goods[event.name],"list",imgs)
+    // 	this.$set(that.orderDetail.goods[event.name], "length", imgs.length)
+    // 	that.orderDetail.goods[event.name].length = imgs.length
+    // 	that.orderDetail.goods[event.name].list = imgs
 
-
-			// 	//触发响应式
-			// 	let name = that.orderDetail.goods[event.name].goods_name + " "
-			// 	that.orderDetail.goods[event.name].goods_name = name.substring(-2)
-			// },
-			// 新增图片
-			async afterRead(event) {
-				console.log(event);
-				// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
-				let lists = [].concat(event.file);
-				let fileListLen = this[`fileList${event.name}`].length;
-				lists.map((item) => {
-					this[`fileList${event.name}`].push({
-						...item,
-					});
-				});
-				console.log('list', this[`fileList${event.name}`]);
-				for (let i = 0; i < lists.length; i++) {
-					const result = await this.uploadFilePromise(lists[i].url);
-					console.log(result);
-					let item = this[`fileList${event.name}`][fileListLen];
-					this[`fileList${event.name}`].splice(
-						fileListLen,
-						1,
-						Object.assign(item, {
-							status: "success",
-							message: "",
-							url: result,
-						})
-					);
-					fileListLen++;
-					console.log('list', this[`fileList${event.name}`]);
-				}
-			},
-			uploadFilePromise(url) {
-				console.log(url);
-				return new Promise((resolve, reject) => {
-					let a = uni.uploadFile({
-						url: `${uni.$u.http.config.baseURL}/api/upload/images`, // 仅为示例,非真实的接口地址
-						filePath: url,
-						name: "file",
-						formData: {
-							user: "test",
-						},
-						success: (res) => {
-							setTimeout(() => {
-								resolve(JSON.parse(res.data).data.filePath);
-								// resolve(res.data.data);  
-							}, 1000);
-						},
-					});
-				});
-			},
-			getDetail() {
-				uni.$u.http.get(`/api/order/read?id=${this.status}`).then((res) => {
-					this.orderDetail = res;
-					this.orderDetail.goods.forEach((item) => {
-						item.list = []
-						item.length = 0
-					})
-					console.log(this.orderDetail);
-				});
-			},
-		},
-		mounted() {
-			uni.setNavigationBarTitle({
-				title: "评价",
-			});
-		},
-	};
+    // 	//触发响应式
+    // 	let name = that.orderDetail.goods[event.name].goods_name + " "
+    // 	that.orderDetail.goods[event.name].goods_name = name.substring(-2)
+    // },
+    // 新增图片
+    async afterRead(event) {
+      console.log(event);
+      // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
+      let lists = [].concat(event.file);
+      let fileListLen = this[`fileList${event.name}`].length;
+      lists.map((item) => {
+        this[`fileList${event.name}`].push({
+          ...item,
+        });
+      });
+      console.log("list", this[`fileList${event.name}`]);
+      for (let i = 0; i < lists.length; i++) {
+        const result = await this.uploadFilePromise(lists[i].url);
+        console.log(result);
+        let item = this[`fileList${event.name}`][fileListLen];
+        this[`fileList${event.name}`].splice(
+          fileListLen,
+          1,
+          Object.assign(item, {
+            status: "success",
+            message: "",
+            url: result,
+          })
+        );
+        fileListLen++;
+        console.log("list", this[`fileList${event.name}`]);
+      }
+    },
+    uploadFilePromise(url) {
+      console.log(url);
+      return new Promise((resolve, reject) => {
+        let a = uni.uploadFile({
+          url: `${uni.$u.http.config.baseURL}/api/upload/images`, // 仅为示例,非真实的接口地址
+          filePath: url,
+          name: "file",
+          formData: {
+            user: "test",
+          },
+          success: (res) => {
+            setTimeout(() => {
+              resolve(JSON.parse(res.data).data.filePath);
+              // resolve(res.data.data);
+            }, 1000);
+          },
+        });
+      });
+    },
+    getDetail() {
+      uni.$u.http.get(`/api/order/read?id=${this.status}`).then((res) => {
+        this.orderDetail = res;
+        this.orderDetail.goods.forEach((item) => {
+          item.list = [];
+          item.length = 0;
+        });
+        console.log(this.orderDetail);
+      });
+    },
+  },
+  mounted() {
+    uni.setNavigationBarTitle({
+      title: this.i18n.evaluate,
+    });
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	::v-deep .u-upload__wrap__preview__image {
-		width: 180rpx;
-		height: 180rpx;
-	}
+::v-deep .u-upload__wrap__preview__image {
+  width: 180rpx;
+  height: 180rpx;
+}
 
-	.content {
-		background-color: #fff;
-		padding: 40rpx 24rpx;
+.content {
+  background-color: #fff;
+  padding: 40rpx 24rpx;
 
-		.goods-title {
-			display: flex;
-			justify-content: flex-start;
-			align-items: center;
+  .goods-title {
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
 
-			.goods-img {
-				width: 52rpx;
-				height: 52rpx;
-				border-radius: 6rpx;
-			}
+    .goods-img {
+      width: 52rpx;
+      height: 52rpx;
+      border-radius: 6rpx;
+    }
 
-			.title {
-				font-size: 24rpx;
-				color: rgba(51, 51, 51, 0.5);
-				margin-left: 20rpx;
-			}
-		}
+    .title {
+      font-size: 24rpx;
+      color: rgba(51, 51, 51, 0.5);
+      margin-left: 20rpx;
+    }
+  }
 
-		.rate {
-			display: flex;
-			align-items: center;
-			margin-bottom: 20rpx;
+  .rate {
+    display: flex;
+    align-items: center;
+    margin-bottom: 20rpx;
 
-			._label {
-				font-size: 32rpx;
-				font-weight: 600;
-				margin-right: 22rpx;
-			}
-		}
+    ._label {
+      font-size: 32rpx;
+      font-weight: 600;
+      margin-right: 22rpx;
+    }
+  }
 
-		._text {
-			margin-top: 32rpx;
-			padding-top: 26rpx;
-			border-top: 2rpx solid rgba(151, 151, 151, 0.1);
-		}
+  ._text {
+    margin-top: 32rpx;
+    padding-top: 26rpx;
+    border-top: 2rpx solid rgba(151, 151, 151, 0.1);
+  }
 
-		.upload-photo {
-			width: 180rpx;
-			height: 180rpx;
-			border: 2rpx dashed #979797;
-			border-radius: 8rpx;
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			justify-content: center;
-			font-size: 24rpx;
-			color: rgba(34, 34, 34, 0.8);
-		}
+  .upload-photo {
+    width: 180rpx;
+    height: 180rpx;
+    border: 2rpx dashed #979797;
+    border-radius: 8rpx;
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+    justify-content: center;
+    font-size: 24rpx;
+    color: rgba(34, 34, 34, 0.8);
+  }
 
-		::v-deep .u-textarea {
-			background-color: #fff;
-		}
-	}
+  ::v-deep .u-textarea {
+    background-color: #fff;
+  }
+}
 
-	.btn-1 {
-		background-color: #f83224;
-		color: #fff;
-		border-radius: 40rpx;
-		height: 80rpx;
-		line-height: 80rpx;
-		width: 90%;
-		margin: 0 auto;
-		margin-top: 70rpx;
-		font-size: 32rpx;
-	}
-</style>
+.btn-1 {
+  background-color: #f83224;
+  color: #fff;
+  border-radius: 40rpx;
+  height: 80rpx;
+  line-height: 80rpx;
+  width: 90%;
+  margin: 0 auto;
+  margin-top: 70rpx;
+  font-size: 32rpx;
+}
+</style>

File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-chat/kj-chat.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-express/kj-express.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-flow/kj-flow.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-index/kj-index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/kj-tabbar/kj-tabbar.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/mp_ecard_sdk/index/index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/balance.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/changelange.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/chat/chat.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/chat/news.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/comment.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/components/zh-slidingMenu/zhSlidingMenu/zhSlidingMenu.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/confirm.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/counter.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/logisticsinfo.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/order.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/payorder.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/productdetails.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/rule/rule.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/service/service.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/shoplist.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/shoptype.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageA/subsidy.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/ParcelExpress.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/Senderinfor.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/account.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/citychange.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/delivery.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/end.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/expresstype.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/goods.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/list/list.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/myPackage.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/orderinfo.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/parcel.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/recipientinfo.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/search.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageB/xieyi.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountBalance/accountBalance.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountCancellation/accountCancellation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountSecurity/accountSecurity.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountSecurity/component/textRight.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/accountSetup/accountSetup.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addEditAddress/addEditAddress.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addEditAddress/component/selectCity.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addressManagement/addressManagement.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/addressManagement/component/address.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/applicationRefund/applicationRefund.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/applicationRefund/component/reasonPopup.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/balanceDetail/balanceDetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/editName/editName.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/ensureExplain/ensureExplain.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/ensureMoney/ensureMoney.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/internationalAddress/internationalAddress.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineComponent/agreePopup.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineComponent/allRight/allRight.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineComponent/moneyDetail/index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/mineFollow/mineFollow.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/myPackage/component/packageCard.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/myPackage/myPackage.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderForm/component/orderInofrmation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderForm/component/refundCard.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderForm/orderForm.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderFormDetail/component/commodityDetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/orderFormDetail/orderFormDetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/personalInformation/personalInformation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/privacyPolicy/privacyPolicy.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/recharge/recharge.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/moneyDestination.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refundInProgress.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refundInformation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refundSuccessful.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/component/refusalToRefund.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/refundDetail/refundDetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/switchLanguage/switchLanguage.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/withdrawal/withdrawal.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageC/withdrawalDetail/withdrawalDetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pageD/afterSalesDetail/afterSalesDetail.js.map


Some files were not shown because too many files changed in this diff