Browse Source

打包

master
chenkainan 3 weeks ago
parent
commit
79fdc3c5d6
  1. 1
      dist/css/15.4b379120.css
  2. 2
      dist/css/192.3189fded.css
  3. 1
      dist/css/309.30b103d9.css
  4. 1
      dist/css/497.703f0337.css
  5. 1
      dist/css/511.e8e92a52.css
  6. 1
      dist/css/625.61284e77.css
  7. 2
      dist/css/646.ec7235c5.css
  8. 1
      dist/css/688.b751536e.css
  9. 1
      dist/css/709.8b344007.css
  10. 2
      dist/css/711.701f8f15.css
  11. 1
      dist/css/719.37d35775.css
  12. 1
      dist/css/729.fe6c8382.css
  13. 1
      dist/css/779.b5e6f704.css
  14. 1
      dist/css/807.9b5bd9e0.css
  15. 1
      dist/css/839.7922504b.css
  16. 1
      dist/css/856.669cb47e.css
  17. 1
      dist/css/990.fb749462.css
  18. 2
      dist/css/app.7266d7b4.css
  19. 2
      dist/index.html
  20. 2
      dist/js/15.4bb1e723.js
  21. 1
      dist/js/15.4bb1e723.js.map
  22. 2
      dist/js/192.a0b515d3.js
  23. 1
      dist/js/192.a0b515d3.js.map
  24. 2
      dist/js/309.22b35bd1.js
  25. 1
      dist/js/309.22b35bd1.js.map
  26. 2
      dist/js/441.4765143b.js
  27. 1
      dist/js/441.4765143b.js.map
  28. 4
      dist/js/497.13803348.js
  29. 1
      dist/js/497.13803348.js.map
  30. 2
      dist/js/511.0688274b.js
  31. 1
      dist/js/511.0688274b.js.map
  32. 2
      dist/js/610.e58479c0.js
  33. 1
      dist/js/610.e58479c0.js.map
  34. 2
      dist/js/625.2eff891d.js
  35. 1
      dist/js/625.2eff891d.js.map
  36. 2
      dist/js/645.6f496112.js
  37. 1
      dist/js/645.6f496112.js.map
  38. 2
      dist/js/646.86f530bc.js
  39. 1
      dist/js/646.86f530bc.js.map
  40. 2
      dist/js/688.aa0eb580.js
  41. 1
      dist/js/688.aa0eb580.js.map
  42. 2
      dist/js/709.04a9155a.js
  43. 1
      dist/js/709.04a9155a.js.map
  44. 2
      dist/js/711.baa8d180.js
  45. 1
      dist/js/711.baa8d180.js.map
  46. 2
      dist/js/719.4c174724.js
  47. 1
      dist/js/719.4c174724.js.map
  48. 1
      dist/js/729.b8e5cf01.js.map
  49. 2
      dist/js/779.c8f94891.js
  50. 1
      dist/js/779.c8f94891.js.map
  51. 2
      dist/js/807.8f1f61a0.js
  52. 1
      dist/js/807.8f1f61a0.js.map
  53. 2
      dist/js/839.168e7d6e.js
  54. 1
      dist/js/839.168e7d6e.js.map
  55. 2
      dist/js/856.74bafc60.js
  56. 1
      dist/js/856.74bafc60.js.map
  57. 2
      dist/js/990.244d285a.js
  58. 1
      dist/js/990.244d285a.js.map
  59. 2
      dist/js/app.a5d22e80.js
  60. 1
      dist/js/app.a5d22e80.js.map
  61. 2
      dist/js/app.bde3f723.js
  62. 1
      dist/js/app.bde3f723.js.map
  63. 1
      dist/js/chunk-vendors.981357e9.js.map
  64. 4
      dist/js/chunk-vendors.9c0851b6.js
  65. 1
      dist/js/chunk-vendors.9c0851b6.js.map
  66. 2
      src/components/layout/HeaderNav.vue
  67. 8
      src/components/product/Evaluate.vue
  68. 58
      src/views/Detail/Index.vue
  69. 99
      src/views/Order/Index.vue
  70. 16
      src/views/Order/OrderDetail.vue
  71. 31
      src/views/ProductPage/ProductReview.vue
  72. 86
      src/views/User/CommentManage.vue
  73. 15
      src/views/User/ContractList.vue
  74. 63
      src/views/User/OrderList.vue
  75. 68
      src/views/User/UserCenter.vue
  76. 101
      src/views/User/UserInfo.vue
  77. 25
      src/views/User/UserInvoiceList.vue

1
dist/css/15.4b379120.css

@ -1 +0,0 @@
.bg[data-v-732b9384]{display:flex;flex-direction:column}.bg[data-v-732b9384] .el-button--text,.bg[data-v-732b9384] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-732b9384] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-732b9384] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-732b9384]{margin-bottom:20px}.filter-bar[data-v-732b9384] .el-input-number__decrease,.filter-bar[data-v-732b9384] .el-input-number__increase{display:none}.filter-bar[data-v-732b9384] .el-input-number .el-input__inner{padding-left:10px;padding-right:10px}.order-card[data-v-732b9384]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-732b9384]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-732b9384]{padding:10px 20px}.product-item[data-v-732b9384]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-732b9384]:last-child{border-bottom:none}.product-image[data-v-732b9384]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-732b9384]{flex:1}.product-name[data-v-732b9384]{color:#333;margin-bottom:5px}.product-spec[data-v-732b9384]{color:#999;font-size:12px}.product-price[data-v-732b9384]{width:120px;text-align:center;color:#333}.product-quantity[data-v-732b9384]{width:100px;text-align:center;color:#666}.product-total[data-v-732b9384]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-732b9384],.product-status[data-v-732b9384]{width:150px;text-align:center}.order-footer[data-v-732b9384]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-732b9384]{text-align:right}.order-amount[data-v-732b9384]{color:#333;margin-bottom:5px}.order-amount strong[data-v-732b9384]{color:#ff4d4f;font-size:16px}.order-tips[data-v-732b9384]{font-size:12px;color:#999}.order-actions[data-v-732b9384]{display:flex;gap:10px}.notice-bar[data-v-732b9384]{background-color:#fffbe6;border:1px solid #ffe58f;padding:12px 16px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;color:#fa8c16;font-size:14px;line-height:1.5}.product-info[data-v-732b9384]{display:flex;align-items:center;padding:5px 0}.product-info .product-img[data-v-732b9384]{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:4px;margin-right:10px;border:1px solid #eee}.product-info .product-name[data-v-732b9384]{color:#333}

2
dist/css/441.edf1b234.css → dist/css/192.3189fded.css

@ -1 +1 @@
.avatar-uploader-icon[data-v-441d4440]{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}[data-v-441d4440] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar[data-v-441d4440]{width:100px;height:100px;display:block}.hover-tip[data-v-441d4440]{position:absolute;bottom:0;left:0;right:0;width:100%;height:20px;text-align:center;line-height:20px;font-size:14px;color:#fff;background:rgba(0,0,0,.5)} .avatar-uploader-icon[data-v-dbf125e0]{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}[data-v-dbf125e0] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar[data-v-dbf125e0]{width:100px;height:100px;display:block}.hover-tip[data-v-dbf125e0]{position:absolute;bottom:0;left:0;right:0;width:100%;height:20px;text-align:center;line-height:20px;font-size:14px;color:#fff;background:rgba(0,0,0,.5)}

1
dist/css/309.30b103d9.css

@ -1 +0,0 @@
.bg[data-v-8c8369c0]{display:flex;flex-direction:column}.bg[data-v-8c8369c0] .el-button--text,.bg[data-v-8c8369c0] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-8c8369c0] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-8c8369c0] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-8c8369c0]{margin-bottom:20px}.order-card[data-v-8c8369c0]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-8c8369c0]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-8c8369c0]{padding:10px 20px}.product-item[data-v-8c8369c0]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-8c8369c0]:last-child{border-bottom:none}.product-image[data-v-8c8369c0]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-8c8369c0]{flex:1}.product-name[data-v-8c8369c0]{color:#333;margin-bottom:5px}.product-spec[data-v-8c8369c0]{color:#999;font-size:12px}.product-price[data-v-8c8369c0]{width:120px;text-align:center;color:#333}.product-quantity[data-v-8c8369c0]{width:100px;text-align:center;color:#666}.product-total[data-v-8c8369c0]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-8c8369c0],.product-status[data-v-8c8369c0]{width:150px;text-align:center}.order-footer[data-v-8c8369c0]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-8c8369c0]{text-align:right}.order-amount[data-v-8c8369c0]{color:#333;margin-bottom:5px}.order-amount strong[data-v-8c8369c0]{color:#ff4d4f;font-size:16px}.order-tips[data-v-8c8369c0]{font-size:12px;color:#999}.order-actions[data-v-8c8369c0]{display:flex;gap:10px}

1
dist/css/497.703f0337.css

@ -0,0 +1 @@
.express-info[data-v-05881a53]{padding:15px;background-color:#fafafa;border-radius:4px;margin-bottom:25px}.express-logo[data-v-05881a53]{display:flex;align-items:center;margin-bottom:10px}.logo-img[data-v-05881a53]{width:30px;height:30px;margin-right:10px}.express-name[data-v-05881a53]{font-weight:500;color:#333}.express-number[data-v-05881a53]{display:flex;align-items:center}.number-label[data-v-05881a53]{color:#666;margin-right:8px}.number-value[data-v-05881a53]{color:#333;flex:1}.copy-btn[data-v-05881a53]{color:#1890ff;padding:0;height:auto}.timeline-container[data-v-05881a53]{padding-left:20px;max-height:50vh;overflow-y:auto}.el-timeline[data-v-05881a53]{padding-left:10px}.el-timeline-item[data-v-05881a53]:not(:last-child):before{height:100%;left:6px}.el-timeline-item__node--large[data-v-05881a53]{width:16px;height:16px}.timeline-status[data-v-05881a53]{font-weight:500;margin-bottom:5px;color:#333}.timeline-status.active[data-v-05881a53]{color:#ff7d00}.timeline-desc[data-v-05881a53]{color:#666;line-height:1.6;font-size:13px}.el-timeline-item__timestamp[data-v-05881a53]{color:#999;font-size:12px;width:80px;padding-top:2px}.dialog-footer[data-v-05881a53]{text-align:center}.bg[data-v-c32677a6]{display:flex;flex-direction:column}.bg[data-v-c32677a6] .el-button--text,.bg[data-v-c32677a6] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-c32677a6] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-c32677a6] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-c32677a6]{margin-bottom:20px}.order-card[data-v-c32677a6]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-c32677a6]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-c32677a6]{padding:10px 20px;background:#fff}.product-item[data-v-c32677a6]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-c32677a6]:last-child{border-bottom:none}.product-image[data-v-c32677a6]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-c32677a6]{flex:1}.product-name[data-v-c32677a6]{color:#333;margin-bottom:5px}.product-spec[data-v-c32677a6]{color:#999;font-size:12px}.product-price[data-v-c32677a6]{width:120px;text-align:center;color:#333}.product-quantity[data-v-c32677a6]{width:100px;text-align:center;color:#666}.product-total[data-v-c32677a6]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-c32677a6],.product-status[data-v-c32677a6]{width:150px;text-align:center}.order-footer[data-v-c32677a6]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-c32677a6]{text-align:right}.order-amount[data-v-c32677a6]{color:#333;margin-bottom:5px}.order-amount strong[data-v-c32677a6]{color:#ff4d4f;font-size:16px}.order-tips[data-v-c32677a6]{font-size:12px;color:#999}.order-actions[data-v-c32677a6]{display:flex;gap:10px}

1
dist/css/511.e8e92a52.css

File diff suppressed because one or more lines are too long

1
dist/css/625.61284e77.css

@ -1 +0,0 @@
.bg[data-v-b367cf90]{display:flex;flex-direction:column}.bg[data-v-b367cf90] .el-button--text{color:#6a8a27}.el-card[data-v-b367cf90]{margin-bottom:20px;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.05);border:none}.el-card__header[data-v-b367cf90]{padding:16px 20px;border-bottom:1px solid #f0f0f0;background-color:#fff;font-size:16px;font-weight:500}.el-card__body[data-v-b367cf90]{padding:20px}.notice-bar[data-v-b367cf90]{background-color:#fffbe6;border:1px solid #ffe58f;padding:12px 16px;border-radius:4px;margin-bottom:20px;justify-content:space-between;color:#fa8c16;font-size:14px}.notice-bar[data-v-b367cf90],.notice-bar__content[data-v-b367cf90]{display:flex;align-items:center}.notice-bar__content i[data-v-b367cf90]{margin-right:8px}.notice-bar__close[data-v-b367cf90]{cursor:pointer;transition:color .2s}.notice-bar__close[data-v-b367cf90]:hover{color:#fa8c16}.user-info[data-v-b367cf90]{display:flex;align-items:flex-start;padding:10px 0}.user-avatar[data-v-b367cf90]{width:100px;height:100px;border-radius:50%;margin-right:20px;border:4px solid #f5f7fa;-o-object-fit:cover;object-fit:cover}.user-details[data-v-b367cf90]{flex:1}.user-name[data-v-b367cf90]{font-size:20px;font-weight:500;margin-bottom:10px;color:#1f2329}.user-other-info[data-v-b367cf90]{color:#4e5969;margin-bottom:6px;font-size:14px}.login-info[data-v-b367cf90]{display:flex;padding-top:20px}.login-section[data-v-b367cf90]{flex:1}.login-section-title[data-v-b367cf90]{font-weight:500;margin-bottom:10px;color:#1f2329;font-size:15px}.login-detail[data-v-b367cf90]{color:#4e5969;font-size:14px;margin-bottom:6px}.feature-grid[data-v-b367cf90]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.feature-item[data-v-b367cf90]{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border-radius:6px;transition:all .2s;cursor:pointer}.feature-item[data-v-b367cf90]:hover{background-color:#f5f7fa}.feature-icon[data-v-b367cf90]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:10px;font-size:20px;color:#6a8a27;background-color:rgba(106,138,39,.1)}.feature-name[data-v-b367cf90]{font-size:14px;color:#4e5969}

2
dist/css/610.360ae5ed.css → dist/css/646.ec7235c5.css

File diff suppressed because one or more lines are too long

1
dist/css/688.b751536e.css

@ -0,0 +1 @@
.bg[data-v-96301760]{display:flex;flex-direction:column}.bg[data-v-96301760] .el-button--text,.bg[data-v-96301760] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-96301760] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-96301760] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-96301760]{margin-bottom:20px}.order-card[data-v-96301760]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-96301760]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-96301760]{padding:10px 20px}.product-item[data-v-96301760]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-96301760]:last-child{border-bottom:none}.product-image[data-v-96301760]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-96301760]{flex:1}.product-name[data-v-96301760]{color:#333;margin-bottom:5px}.product-spec[data-v-96301760]{color:#999;font-size:12px}.product-price[data-v-96301760]{width:120px;text-align:center;color:#333}.product-quantity[data-v-96301760]{width:100px;text-align:center;color:#666}.product-total[data-v-96301760]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-96301760],.product-status[data-v-96301760]{width:150px;text-align:center}.order-footer[data-v-96301760]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-96301760]{text-align:right}.order-amount[data-v-96301760]{color:#333;margin-bottom:5px}.order-amount strong[data-v-96301760]{color:#ff4d4f;font-size:16px}.order-tips[data-v-96301760]{font-size:12px;color:#999}.order-actions[data-v-96301760]{display:flex;gap:10px}

1
dist/css/709.8b344007.css

@ -0,0 +1 @@
.bg[data-v-231e55aa]{display:flex;flex-direction:column}.bg[data-v-231e55aa] .el-button--text{color:#6a8a27}.el-card[data-v-231e55aa]{margin-bottom:20px;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.05);border:none}.el-card__header[data-v-231e55aa]{padding:16px 20px;border-bottom:1px solid #f0f0f0;background-color:#fff;font-size:16px;font-weight:500}.el-card__body[data-v-231e55aa]{padding:20px}.notice-bar[data-v-231e55aa]{background-color:#fffbe6;border:1px solid #ffe58f;padding:12px 16px;border-radius:4px;margin-bottom:20px;justify-content:space-between;color:#fa8c16;font-size:14px}.notice-bar[data-v-231e55aa],.notice-bar__content[data-v-231e55aa]{display:flex;align-items:center}.notice-bar__content i[data-v-231e55aa]{margin-right:8px}.notice-bar__close[data-v-231e55aa]{cursor:pointer;transition:color .2s}.notice-bar__close[data-v-231e55aa]:hover{color:#fa8c16}.user-info[data-v-231e55aa]{display:flex;align-items:flex-start;padding:10px 0}.user-avatar[data-v-231e55aa]{width:100px;height:100px;border-radius:50%;margin-right:20px;border:4px solid #f5f7fa;-o-object-fit:cover;object-fit:cover}.user-details[data-v-231e55aa]{flex:1}.user-name[data-v-231e55aa]{font-size:20px;font-weight:500;margin-bottom:10px;color:#1f2329}.user-other-info[data-v-231e55aa]{color:#4e5969;margin-bottom:6px;font-size:14px}.login-info[data-v-231e55aa]{display:flex;padding-top:20px}.login-section[data-v-231e55aa]{flex:1}.login-section-title[data-v-231e55aa]{font-weight:500;margin-bottom:10px;color:#1f2329;font-size:15px}.login-detail[data-v-231e55aa]{color:#4e5969;font-size:14px;margin-bottom:6px}.feature-grid[data-v-231e55aa]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.feature-item[data-v-231e55aa]{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border-radius:6px;transition:all .2s;cursor:pointer}.feature-item[data-v-231e55aa]:hover{background-color:#f5f7fa}.feature-icon[data-v-231e55aa]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:10px;font-size:20px;color:#6a8a27;background-color:rgba(106,138,39,.1)}.feature-name[data-v-231e55aa]{font-size:14px;color:#4e5969}

2
dist/css/645.99db2dd8.css → dist/css/711.701f8f15.css

@ -1 +1 @@
.express-info[data-v-05881a53]{padding:15px;background-color:#fafafa;border-radius:4px;margin-bottom:25px}.express-logo[data-v-05881a53]{display:flex;align-items:center;margin-bottom:10px}.logo-img[data-v-05881a53]{width:30px;height:30px;margin-right:10px}.express-name[data-v-05881a53]{font-weight:500;color:#333}.express-number[data-v-05881a53]{display:flex;align-items:center}.number-label[data-v-05881a53]{color:#666;margin-right:8px}.number-value[data-v-05881a53]{color:#333;flex:1}.copy-btn[data-v-05881a53]{color:#1890ff;padding:0;height:auto}.timeline-container[data-v-05881a53]{padding-left:20px;max-height:50vh;overflow-y:auto}.el-timeline[data-v-05881a53]{padding-left:10px}.el-timeline-item[data-v-05881a53]:not(:last-child):before{height:100%;left:6px}.el-timeline-item__node--large[data-v-05881a53]{width:16px;height:16px}.timeline-status[data-v-05881a53]{font-weight:500;margin-bottom:5px;color:#333}.timeline-status.active[data-v-05881a53]{color:#ff7d00}.timeline-desc[data-v-05881a53]{color:#666;line-height:1.6;font-size:13px}.el-timeline-item__timestamp[data-v-05881a53]{color:#999;font-size:12px;width:80px;padding-top:2px}.dialog-footer[data-v-05881a53]{text-align:center}.bg[data-v-382893c1]{display:flex;flex-direction:column;font-size:14px}.common-card[data-v-382893c1]{width:100%;background-color:#fff;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.order-status[data-v-382893c1]{border-right:1px solid #eee;width:350px;height:220px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-around}.order-status .order-no[data-v-382893c1]{color:#999}.order-status .order-no .el-button[data-v-382893c1]{width:-moz-fit-content;width:fit-content;margin:0;display:inline-block;padding:0}.order-status .status-title[data-v-382893c1]{display:flex;align-items:center;font-size:16px;font-weight:700}.order-status .status-title i[data-v-382893c1]{font-size:24px}.order-status .el-button[data-v-382893c1]{width:120px;display:block;margin:0 auto}.order-step[data-v-382893c1]{flex:1;width:1px;padding:0 20px;display:flex;align-items:center}.order-step[data-v-382893c1] .el-step__icon.is-text{border:none;width:30px;height:30px;border-radius:50%;background:#c0c4cc;color:#fff}.order-step[data-v-382893c1] .el-step__line{top:13px}.order-step[data-v-382893c1] .el-step__line-inner{border-color:#c0c4cc}.order-step .process-title[data-v-382893c1]{color:#666;font-weight:700;font-size:14px;margin-top:20px}.order-step .process-description[data-v-382893c1]{color:#666;font-size:12px}.order-step[data-v-382893c1] .is-finish .el-step__icon{background:#67c23a}.order-info-card[data-v-382893c1]{display:flex}.order-info-card[data-v-382893c1] .el-descriptions{flex:1;flex-shrink:0;border-right:1px solid hsla(0,0%,60%,.1);padding:0 20px}.order-info-card[data-v-382893c1] .el-descriptions .el-descriptions-item__label{width:90px}.product-image[data-v-382893c1]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.total-card[data-v-382893c1]{margin-top:20px;background:#fafafa;box-shadow:none}.total-card[data-v-382893c1] .el-descriptions__body{background:none;text-align:right}.total-card[data-v-382893c1] .el-descriptions__body .el-descriptions-item__label{width:90%;text-align:right;justify-content:flex-end}.total-card[data-v-382893c1] .el-descriptions__body .el-descriptions-item__content{justify-content:flex-end} .express-info[data-v-05881a53]{padding:15px;background-color:#fafafa;border-radius:4px;margin-bottom:25px}.express-logo[data-v-05881a53]{display:flex;align-items:center;margin-bottom:10px}.logo-img[data-v-05881a53]{width:30px;height:30px;margin-right:10px}.express-name[data-v-05881a53]{font-weight:500;color:#333}.express-number[data-v-05881a53]{display:flex;align-items:center}.number-label[data-v-05881a53]{color:#666;margin-right:8px}.number-value[data-v-05881a53]{color:#333;flex:1}.copy-btn[data-v-05881a53]{color:#1890ff;padding:0;height:auto}.timeline-container[data-v-05881a53]{padding-left:20px;max-height:50vh;overflow-y:auto}.el-timeline[data-v-05881a53]{padding-left:10px}.el-timeline-item[data-v-05881a53]:not(:last-child):before{height:100%;left:6px}.el-timeline-item__node--large[data-v-05881a53]{width:16px;height:16px}.timeline-status[data-v-05881a53]{font-weight:500;margin-bottom:5px;color:#333}.timeline-status.active[data-v-05881a53]{color:#ff7d00}.timeline-desc[data-v-05881a53]{color:#666;line-height:1.6;font-size:13px}.el-timeline-item__timestamp[data-v-05881a53]{color:#999;font-size:12px;width:80px;padding-top:2px}.dialog-footer[data-v-05881a53]{text-align:center}.bg[data-v-a02735a6]{display:flex;flex-direction:column;font-size:14px}.common-card[data-v-a02735a6]{width:100%;background-color:#fff;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.order-status[data-v-a02735a6]{border-right:1px solid #eee;width:350px;height:220px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-around}.order-status .order-no[data-v-a02735a6]{color:#999}.order-status .order-no .el-button[data-v-a02735a6]{width:-moz-fit-content;width:fit-content;margin:0;display:inline-block;padding:0}.order-status .status-title[data-v-a02735a6]{display:flex;align-items:center;font-size:16px;font-weight:700}.order-status .status-title i[data-v-a02735a6]{font-size:24px}.order-status .el-button[data-v-a02735a6]{width:120px;display:block;margin:0 auto}.order-step[data-v-a02735a6]{flex:1;width:1px;padding:0 20px;display:flex;align-items:center}.order-step[data-v-a02735a6] .el-step__icon.is-text{border:none;width:30px;height:30px;border-radius:50%;background:#c0c4cc;color:#fff}.order-step[data-v-a02735a6] .el-step__line{top:13px}.order-step[data-v-a02735a6] .el-step__line-inner{border-color:#c0c4cc}.order-step .process-title[data-v-a02735a6]{color:#666;font-weight:700;font-size:14px;margin-top:20px}.order-step .process-description[data-v-a02735a6]{color:#666;font-size:12px}.order-step[data-v-a02735a6] .is-finish .el-step__icon{background:#67c23a}.order-info-card[data-v-a02735a6]{display:flex}.order-info-card[data-v-a02735a6] .el-descriptions{flex:1;flex-shrink:0;border-right:1px solid hsla(0,0%,60%,.1);padding:0 20px}.order-info-card[data-v-a02735a6] .el-descriptions .el-descriptions-item__label{width:90px}.product-image[data-v-a02735a6]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.total-card[data-v-a02735a6]{margin-top:20px;background:#fafafa;box-shadow:none}.total-card[data-v-a02735a6] .el-descriptions__body{background:none;text-align:right}.total-card[data-v-a02735a6] .el-descriptions__body .el-descriptions-item__label{width:90%;text-align:right;justify-content:flex-end}.total-card[data-v-a02735a6] .el-descriptions__body .el-descriptions-item__content{justify-content:flex-end}

1
dist/css/719.37d35775.css

@ -0,0 +1 @@
.bg[data-v-bf2be14c]{display:flex;flex-direction:column}.bg[data-v-bf2be14c] .el-button--text,.bg[data-v-bf2be14c] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-bf2be14c] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-bf2be14c] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-bf2be14c]{margin-bottom:20px}.filter-bar[data-v-bf2be14c] .el-input-number__decrease,.filter-bar[data-v-bf2be14c] .el-input-number__increase{display:none}.filter-bar[data-v-bf2be14c] .el-input-number .el-input__inner{padding-left:10px;padding-right:10px}.order-card[data-v-bf2be14c]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-bf2be14c]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-bf2be14c]{padding:10px 20px}.product-item[data-v-bf2be14c]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-bf2be14c]:last-child{border-bottom:none}.product-image[data-v-bf2be14c]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-bf2be14c]{flex:1}.product-name[data-v-bf2be14c]{color:#333;margin-bottom:5px}.product-spec[data-v-bf2be14c]{color:#999;font-size:12px}.product-price[data-v-bf2be14c]{width:120px;text-align:center;color:#333}.product-quantity[data-v-bf2be14c]{width:100px;text-align:center;color:#666}.product-total[data-v-bf2be14c]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-bf2be14c],.product-status[data-v-bf2be14c]{width:150px;text-align:center}.order-footer[data-v-bf2be14c]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-bf2be14c]{text-align:right}.order-amount[data-v-bf2be14c]{color:#333;margin-bottom:5px}.order-amount strong[data-v-bf2be14c]{color:#ff4d4f;font-size:16px}.order-tips[data-v-bf2be14c]{font-size:12px;color:#999}.order-actions[data-v-bf2be14c]{display:flex;gap:10px}.notice-bar[data-v-bf2be14c]{background-color:#fffbe6;border:1px solid #ffe58f;padding:12px 16px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;color:#fa8c16;font-size:14px;line-height:1.5}.product-info[data-v-bf2be14c]{display:flex;align-items:center;padding:5px 0}.product-info .product-img[data-v-bf2be14c]{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:4px;margin-right:10px;border:1px solid #eee}.product-info .product-name[data-v-bf2be14c]{color:#333}

1
dist/css/729.fe6c8382.css

@ -1 +0,0 @@
.express-info[data-v-05881a53]{padding:15px;background-color:#fafafa;border-radius:4px;margin-bottom:25px}.express-logo[data-v-05881a53]{display:flex;align-items:center;margin-bottom:10px}.logo-img[data-v-05881a53]{width:30px;height:30px;margin-right:10px}.express-name[data-v-05881a53]{font-weight:500;color:#333}.express-number[data-v-05881a53]{display:flex;align-items:center}.number-label[data-v-05881a53]{color:#666;margin-right:8px}.number-value[data-v-05881a53]{color:#333;flex:1}.copy-btn[data-v-05881a53]{color:#1890ff;padding:0;height:auto}.timeline-container[data-v-05881a53]{padding-left:20px;max-height:50vh;overflow-y:auto}.el-timeline[data-v-05881a53]{padding-left:10px}.el-timeline-item[data-v-05881a53]:not(:last-child):before{height:100%;left:6px}.el-timeline-item__node--large[data-v-05881a53]{width:16px;height:16px}.timeline-status[data-v-05881a53]{font-weight:500;margin-bottom:5px;color:#333}.timeline-status.active[data-v-05881a53]{color:#ff7d00}.timeline-desc[data-v-05881a53]{color:#666;line-height:1.6;font-size:13px}.el-timeline-item__timestamp[data-v-05881a53]{color:#999;font-size:12px;width:80px;padding-top:2px}.dialog-footer[data-v-05881a53]{text-align:center}.bg[data-v-dc03f51c]{display:flex;flex-direction:column}.bg[data-v-dc03f51c] .el-button--text,.bg[data-v-dc03f51c] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-dc03f51c] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-dc03f51c] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-dc03f51c]{margin-bottom:20px}.order-card[data-v-dc03f51c]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-dc03f51c]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-dc03f51c]{padding:10px 20px;background:#fff}.product-item[data-v-dc03f51c]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-dc03f51c]:last-child{border-bottom:none}.product-image[data-v-dc03f51c]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-dc03f51c]{flex:1}.product-name[data-v-dc03f51c]{color:#333;margin-bottom:5px}.product-spec[data-v-dc03f51c]{color:#999;font-size:12px}.product-price[data-v-dc03f51c]{width:120px;text-align:center;color:#333}.product-quantity[data-v-dc03f51c]{width:100px;text-align:center;color:#666}.product-total[data-v-dc03f51c]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-dc03f51c],.product-status[data-v-dc03f51c]{width:150px;text-align:center}.order-footer[data-v-dc03f51c]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-dc03f51c]{text-align:right}.order-amount[data-v-dc03f51c]{color:#333;margin-bottom:5px}.order-amount strong[data-v-dc03f51c]{color:#ff4d4f;font-size:16px}.order-tips[data-v-dc03f51c]{font-size:12px;color:#999}.order-actions[data-v-dc03f51c]{display:flex;gap:10px}

1
dist/css/779.b5e6f704.css

@ -0,0 +1 @@
.review-container[data-v-a87ad2ea]{max-width:1000px;margin:0 auto;padding:20px}.page-header[data-v-a87ad2ea],.product-card[data-v-a87ad2ea]{margin-bottom:20px}.product-info[data-v-a87ad2ea]{display:flex;align-items:center;padding:10px 0}.product-image[data-v-a87ad2ea]{width:120px;height:120px;border-radius:4px;margin-right:20px}.product-details[data-v-a87ad2ea]{flex:1}.product-title[data-v-a87ad2ea]{font-size:16px;font-weight:500;margin-bottom:10px;color:#333;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-desc[data-v-a87ad2ea]{color:#666;margin-bottom:10px;font-size:14px}.product-price[data-v-a87ad2ea]{color:#ff4d4f;font-size:18px}.review-form-card[data-v-a87ad2ea]{margin-bottom:20px}.rating-stars[data-v-a87ad2ea]{font-size:24px;color:#ccc}.rating-stars .active[data-v-a87ad2ea]{color:#f5a623}.rating-stars i[data-v-a87ad2ea]{cursor:pointer;margin-right:5px;transition:color .2s}.rating-stars i[data-v-a87ad2ea]:hover{color:#f5a623}.rating-text[data-v-a87ad2ea]{margin-top:10px;color:#666;font-size:14px}.char-count[data-v-a87ad2ea]{text-align:right;color:#999;font-size:12px;margin-top:5px}.image-upload[data-v-a87ad2ea]{margin-bottom:10px}.upload-tip[data-v-a87ad2ea]{color:#999;font-size:12px}.review-alert[data-v-a87ad2ea]{margin-top:10px}.anonymous-tip[data-v-a87ad2ea]{color:#999;font-size:12px;margin-top:5px}@media(max-width:768px){.product-info[data-v-a87ad2ea]{flex-direction:column;align-items:flex-start}.product-image[data-v-a87ad2ea]{margin-bottom:15px}}

1
dist/css/807.9b5bd9e0.css

File diff suppressed because one or more lines are too long

1
dist/css/839.7922504b.css

@ -1 +0,0 @@
.bg[data-v-d39f5dce]{display:flex;flex-direction:column}.bg[data-v-d39f5dce] .el-button--text,.bg[data-v-d39f5dce] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-d39f5dce] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-d39f5dce] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-d39f5dce]{margin-bottom:20px}.order-card[data-v-d39f5dce]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-d39f5dce]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-d39f5dce]{padding:10px 20px;background:#fff}.product-item[data-v-d39f5dce]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-d39f5dce]:last-child{border-bottom:none}.product-image[data-v-d39f5dce]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-d39f5dce]{flex:1}.product-name[data-v-d39f5dce]{color:#333;margin-bottom:5px}.product-spec[data-v-d39f5dce]{color:#999;font-size:12px}.product-price[data-v-d39f5dce]{width:120px;text-align:center;color:#333}.product-quantity[data-v-d39f5dce]{width:100px;text-align:center;color:#666}.product-total[data-v-d39f5dce]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-d39f5dce],.product-status[data-v-d39f5dce]{width:150px;text-align:center}.order-footer[data-v-d39f5dce]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-d39f5dce]{text-align:right}.order-amount[data-v-d39f5dce]{color:#333;margin-bottom:5px}.order-amount strong[data-v-d39f5dce]{color:#ff4d4f;font-size:16px}.order-tips[data-v-d39f5dce]{font-size:12px;color:#999}.order-actions[data-v-d39f5dce]{display:flex;gap:10px}

1
dist/css/856.669cb47e.css

@ -1 +0,0 @@
.review-container[data-v-64b727d4]{max-width:1000px;margin:0 auto;padding:20px}.page-header[data-v-64b727d4],.product-card[data-v-64b727d4]{margin-bottom:20px}.product-info[data-v-64b727d4]{display:flex;align-items:center;padding:10px 0}.product-image[data-v-64b727d4]{width:120px;height:120px;border-radius:4px;margin-right:20px}.product-details[data-v-64b727d4]{flex:1}.product-title[data-v-64b727d4]{font-size:16px;font-weight:500;margin-bottom:10px;color:#333;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-desc[data-v-64b727d4]{color:#666;margin-bottom:10px;font-size:14px}.product-price[data-v-64b727d4]{color:#ff4d4f;font-size:18px}.review-form-card[data-v-64b727d4]{margin-bottom:20px}.rating-stars[data-v-64b727d4]{font-size:24px;color:#ccc}.rating-stars .active[data-v-64b727d4]{color:#f5a623}.rating-stars i[data-v-64b727d4]{cursor:pointer;margin-right:5px;transition:color .2s}.rating-stars i[data-v-64b727d4]:hover{color:#f5a623}.rating-text[data-v-64b727d4]{margin-top:10px;color:#666;font-size:14px}.char-count[data-v-64b727d4]{text-align:right;color:#999;font-size:12px;margin-top:5px}.image-upload[data-v-64b727d4]{margin-bottom:10px}.upload-tip[data-v-64b727d4]{color:#999;font-size:12px}.review-alert[data-v-64b727d4]{margin-top:10px}.anonymous-tip[data-v-64b727d4]{color:#999;font-size:12px;margin-top:5px}@media(max-width:768px){.product-info[data-v-64b727d4]{flex-direction:column;align-items:flex-start}.product-image[data-v-64b727d4]{margin-bottom:15px}}

1
dist/css/990.fb749462.css

@ -0,0 +1 @@
.bg[data-v-90572a8e]{display:flex;flex-direction:column}.bg[data-v-90572a8e] .el-button--text,.bg[data-v-90572a8e] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-90572a8e] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-90572a8e] .el-tabs__item:hover{color:#6a8a27}.filter-bar[data-v-90572a8e]{margin-bottom:20px}.order-card[data-v-90572a8e]{border:1px solid #eee;border-radius:4px;margin-bottom:20px;overflow:hidden}.order-header[data-v-90572a8e]{background-color:#f8f9fa;padding:12px 20px;display:flex;align-items:center;border-bottom:1px solid #eee;color:#666;font-size:14px}.order-products[data-v-90572a8e]{padding:10px 20px;background:#fff}.product-item[data-v-90572a8e]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-90572a8e]:last-child{border-bottom:none}.product-image[data-v-90572a8e]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-90572a8e]{flex:1}.product-name[data-v-90572a8e]{color:#333;margin-bottom:5px}.product-spec[data-v-90572a8e]{color:#999;font-size:12px}.product-price[data-v-90572a8e]{width:120px;text-align:center;color:#333}.product-quantity[data-v-90572a8e]{width:100px;text-align:center;color:#666}.product-total[data-v-90572a8e]{width:120px;text-align:center;color:#333;font-weight:500}.product-actions[data-v-90572a8e],.product-status[data-v-90572a8e]{width:150px;text-align:center}.order-footer[data-v-90572a8e]{background-color:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee}.order-summary[data-v-90572a8e]{text-align:right}.order-amount[data-v-90572a8e]{color:#333;margin-bottom:5px}.order-amount strong[data-v-90572a8e]{color:#ff4d4f;font-size:16px}.order-tips[data-v-90572a8e]{font-size:12px;color:#999}.order-actions[data-v-90572a8e]{display:flex;gap:10px}.review-box .time[data-v-90572a8e]{color:#666;font-size:16px}.review-box .rating-stars[data-v-90572a8e]{margin-left:auto;color:#ff4d4f;font-size:20px;margin-top:10px}.review-box .content[data-v-90572a8e]{color:#000;font-size:16px;margin-top:10px}.review-box .imgs[data-v-90572a8e]{display:flex;flex-wrap:wrap}.review-box .imgs .img[data-v-90572a8e]{width:150px;height:150px;-o-object-fit:cover;object-fit:cover;margin:10px 10px 10px 0}

2
dist/css/app.b0d0af41.css → dist/css/app.7266d7b4.css

File diff suppressed because one or more lines are too long

2
dist/index.html

@ -1 +1 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>shiweisuzhou</title><script defer="defer" src="/js/chunk-vendors.981357e9.js"></script><script defer="defer" src="/js/app.a5d22e80.js"></script><link href="/css/chunk-vendors.10dd4e95.css" rel="stylesheet"><link href="/css/app.b0d0af41.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but shiweisuzhou doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html> <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>shiweisuzhou</title><script defer="defer" src="/js/chunk-vendors.9c0851b6.js"></script><script defer="defer" src="/js/app.bde3f723.js"></script><link href="/css/chunk-vendors.10dd4e95.css" rel="stylesheet"><link href="/css/app.7266d7b4.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but shiweisuzhou doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

2
dist/js/15.4bb1e723.js

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[15],{7015:function(e,t,r){r.r(t),r.d(t,{default:function(){return c}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bg"},[e._m(0),t("div",{staticClass:"filter-bar"},[t("el-form",{attrs:{inline:!0,model:e.filterForm,size:"small"}},[t("el-form-item",{attrs:{label:"合同号"}},[t("el-input",{attrs:{placeholder:"请输入合同号"},model:{value:e.filterForm.contract_number,callback:function(t){e.$set(e.filterForm,"contract_number",t)},expression:"filterForm.contract_number"}})],1),t("el-form-item",{attrs:{label:"订单编号"}},[t("el-input",{attrs:{placeholder:"请输入订单编号"},model:{value:e.filterForm.order_id,callback:function(t){e.$set(e.filterForm,"order_id",t)},expression:"filterForm.order_id"}})],1),t("el-form-item",{attrs:{label:"下单时间"}},[t("el-date-picker",{attrs:{type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"yyyy-MM-dd"},model:{value:e.filterForm.datetime,callback:function(t){e.$set(e.filterForm,"datetime",t)},expression:"filterForm.datetime"}})],1),t("el-form-item",[t("el-button",{staticStyle:{background:"#6a8a27",border:"none"},attrs:{type:"primary"},on:{click:e.search}},[e._v("搜索")])],1),t("el-form-item",[t("el-button",{on:{click:e.reset}},[e._v("重置")])],1)],1)],1),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.orders,border:""}},[t("el-table-column",{attrs:{prop:"create_time",label:"下单时间",width:"160"}}),t("el-table-column",{attrs:{prop:"order_id",label:"订单号","min-width":"100"}}),t("el-table-column",{attrs:{prop:"status",label:"商品信息","min-width":"200"},scopedSlots:e._u([{key:"default",fn:function(r){return[t("div",{staticClass:"product-info"},[t("img",{staticClass:"product-img",attrs:{src:r.row.product_headimg}}),t("div",{staticClass:"product-name"},[e._v(" "+e._s(r.row.product_title)+" "+e._s(r.row.child_order_num>1?"等"+r.row.child_order_num+"款":"")+" ")])])]}}])}),t("el-table-column",{attrs:{prop:"contract_number",label:"合同号",width:"180"}}),t("el-table-column",{attrs:{prop:"paid_money",label:"合同金额","min-width":"70"}}),t("el-table-column",{attrs:{label:"操作",width:"130"},scopedSlots:e._u([{key:"default",fn:function(r){return r.row.contract_number?[t("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDownload(r.row)}}},[e._v("下载合同模板")])]:void 0}}],null,!0)})],1),t("div",{staticStyle:{"text-align":"right","margin-top":"20px"}},[t("el-pagination",{attrs:{"current-page":e.currentPage,"page-sizes":[5,10,20],"page-size":e.filterForm.limit,layout:"total, sizes, prev, pager, next, jumper",total:e.filterForm.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1)},i=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"notice-bar"},[t("div",{staticClass:"notice-bar__content"},[t("div",[e._v("说明:")]),t("div",[e._v("1.订单提交成功,系统将根据订单内容自动为您创建交易合同。")]),t("div",[e._v("2.您可直接“下载合同模板”,线下邮寄盖章使用。")])])])}],l=(r(4114),{name:"OrderList",data(){return{activeTab:"all",currentPage:1,filterForm:{contract_number:"",datetime:"",order_id:"",limit:10},orders:[]}},mounted(){this.getList()},methods:{handlePreview(e){window.open(e,"_blank")},handleDownload(e){const t=e.contract_url,r=document.createElement("a");r.href=t,r.download=`合同${e.contract_number}.pdf`,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),this.$message({message:`合同 ${e.contract_number} 开始下载`,type:"success"})},getList(){this.post({offset:(this.currentPage-1)*this.filterForm.limit,...this.filterForm},"/api/order/orderContract").then(e=>{this.orders=e.data})},search(){this.currentPage=1,this.getList()},reset(){this.filterForm={order_id:"",createTime:"",contract_number:"",datetime:""},this.activeTab="all",this.currentPage=1},handleSizeChange(e){this.filterForm.limit=e},handleCurrentChange(e){this.currentPage=e},getStatusText(e){const t={pendingPayment:"待付款",pendingDelivery:"待发货",delivering:"配送中",completed:"已完成",cancelled:"已取消"};return t[e]||e},getStatusTagType(e){const t={pendingPayment:"warning",pendingDelivery:"info",delivering:"primary",completed:"success",cancelled:"danger"};return t[e]||"default"},payOrder(e){this.$message({message:`订单 ${e} 去付款`,type:"info"})},remindDelivery(e){this.$message({message:`已提醒订单 ${e} 发货`,type:"success"})},checkLogistics(e){this.$message({message:`查看订单 ${e} 物流`,type:"info"})},gotoReview(e){this.$message({message:`去评价订单 ${e}`,type:"info"})},viewOrderDetail(e){this.$router.push({name:"OrderDetail"})}}}),n=l,s=r(1656),o=(0,s.A)(n,a,i,!1,null,"732b9384",null),c=o.exports}}]);
//# sourceMappingURL=15.4bb1e723.js.map

1
dist/js/15.4bb1e723.js.map

File diff suppressed because one or more lines are too long

2
dist/js/192.a0b515d3.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[192],{1192:function(e,t,s){s.r(t),s.d(t,{default:function(){return u}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bg"},[t("el-card",{staticStyle:{width:"100%"}},[t("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[t("span",[e._v("个人信息")])]),t("div",{staticStyle:{"padding-right":"200px"}},[t("el-form",{ref:"userForm",attrs:{model:e.user,"label-width":"100px",size:"small"}},[t("el-form-item",{attrs:{label:"用户头像"}},[t("el-upload",{staticClass:"avatar-uploader",attrs:{action:"#","auto-upload":!1,"on-change":e.handleAvatarChange,"show-file-list":!1}},[e.user.avatar?t("div",{staticStyle:{position:"relative"}},[t("img",{staticClass:"avatar",attrs:{src:e.user.avatar}}),t("div",{staticClass:"hover-tip"},[e._v("修改头像")])]):t("i",{staticClass:"el-icon-plus avatar-uploader-icon"})])],1),t("el-form-item",{attrs:{label:"昵称",prop:"nickname",rules:[{required:!0,message:"请输入昵称"}]}},[t("el-input",{attrs:{placeholder:"请输入昵称"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1),t("el-form-item",{attrs:{label:"用户ID"}},[t("el-input",{attrs:{disabled:""},model:{value:e.user.user_id,callback:function(t){e.$set(e.user,"user_id",t)},expression:"user.user_id"}},[t("template",{slot:"append"},[t("el-button",{on:{click:e.copyId}},[e._v("复制")])],1)],2)],1),t("el-form-item",{attrs:{label:"性别"}},[t("el-radio-group",{model:{value:e.user.gender,callback:function(t){e.$set(e.user,"gender",t)},expression:"user.gender"}},[t("el-radio",{attrs:{label:1}},[e._v("男性")]),t("el-radio",{attrs:{label:2}},[e._v("女性")]),t("el-radio",{attrs:{label:0}},[e._v("保密")])],1)],1),t("el-form-item",{attrs:{label:"生日"}},[t("el-date-picker",{staticStyle:{width:"100%"},attrs:{type:"date",placeholder:"选择日期","value-format":"yyyy-MM-dd"},model:{value:e.user.birthday,callback:function(t){e.$set(e.user,"birthday",t)},expression:"user.birthday"}})],1),t("el-form-item",{staticClass:"form-actions"},[t("el-button",{attrs:{type:"primary"},on:{click:e.saveUser}},[e._v("保存")])],1)],1)],1)])],1)},r=[],i={name:"UserInfo",data(){return{user:{avatar:"",nickname:"",id:"",gender:null,birthday:null}}},mounted(){this.getUserInfo()},methods:{getUserInfo(){this.post({},"/api/uservice/user/getMyInfo").then(e=>{this.user=e.data})},handleAvatarChange(e){this.util.imgToBase64(e.raw).then(e=>{console.log(e),this.post({img_base64:e},"/api/pbservice/Other/base64Upload").then(e=>{this.user.avatar=e.data.url})})},copyId(){const e=document.createElement("input");e.value=this.user.id,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),this.$message({message:"用户ID已复制",type:"success"})},saveUser(){this.$refs.userForm.validate(e=>{e&&this.post({...this.user},"/api/uservice/user/profile").then(e=>{1==e.code&&(this.$message({message:"修改成功",type:"success"}),this.post({},"/api/uservice/user/getMyInfo").then(e=>{this.$store.dispatch("login",{userInfo:e.data,token:e.data.token})}))})})}}},l=i,o=s(1656),n=(0,o.A)(l,a,r,!1,null,"dbf125e0",null),u=n.exports}}]);
//# sourceMappingURL=192.a0b515d3.js.map

1
dist/js/192.a0b515d3.js.map

File diff suppressed because one or more lines are too long

2
dist/js/309.22b35bd1.js

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[309],{4309:function(e,t,i){i.r(t),i.d(t,{default:function(){return c}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bg"},[t("div",{staticClass:"filter-bar"},[t("el-form",{attrs:{inline:!0,model:e.filterForm,size:"small"}},[t("el-form-item",{attrs:{label:"订单编号"}},[t("el-input",{attrs:{placeholder:"请输入订单编号"},model:{value:e.filterForm.order_id,callback:function(t){e.$set(e.filterForm,"order_id",t)},expression:"filterForm.order_id"}})],1),t("el-form-item",{attrs:{label:"开票状态"}},[t("el-select",{staticStyle:{width:"200px"},attrs:{placeholder:"请选择"},model:{value:e.filterForm.invoice_status,callback:function(t){e.$set(e.filterForm,"invoice_status",t)},expression:"filterForm.invoice_status"}},[t("el-option",{attrs:{label:"全部",value:""}}),t("el-option",{attrs:{label:"未申请",value:"0"}}),t("el-option",{attrs:{label:"已申请",value:"1"}}),t("el-option",{attrs:{label:"已开票",value:"2"}}),t("el-option",{attrs:{label:"开票失败",value:"3"}})],1)],1),t("el-form-item",{attrs:{label:"下单时间"}},[t("el-date-picker",{attrs:{type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"yyyy-MM-dd"},model:{value:e.filterForm.datetime,callback:function(t){e.$set(e.filterForm,"datetime",t)},expression:"filterForm.datetime"}})],1),t("el-form-item",[t("el-button",{staticStyle:{background:"#6a8a27",border:"none"},attrs:{type:"primary"},on:{click:e.search}},[e._v("搜索")])],1),t("el-form-item",[t("el-button",{on:{click:e.reset}},[e._v("重置")])],1)],1)],1),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.invoiceList,border:""}},[t("el-table-column",{attrs:{prop:"order_id",label:"订单号","min-width":"120"}}),t("el-table-column",{attrs:{prop:" ",label:"订单状态",width:"80"}}),t("el-table-column",{attrs:{prop:"create_time",label:"下单时间",width:"200"}}),t("el-table-column",{attrs:{prop:"paid_money",label:"发票金额",width:"110"}}),t("el-table-column",{attrs:{prop:"invoice_head",label:"发票抬头","min-width":"120"}}),t("el-table-column",{attrs:{prop:"invoice_type",label:"发票类型",width:"120"}}),t("el-table-column",{attrs:{prop:"invoice_status",label:"开票状态",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(e.getStatusText(t.row.invoice_status))+" ")]}}])}),t("el-table-column",{attrs:{label:"操作",width:"110"},scopedSlots:e._u([{key:"default",fn:function(i){return i.row.invoice_url?[t("el-button",{attrs:{size:"mini"},on:{click:function(t){return e.handleDownload(i.row)}}},[e._v("下载发票")])]:void 0}}],null,!0)})],1),t("div",{staticStyle:{"text-align":"right","margin-top":"20px"}},[t("el-pagination",{attrs:{"current-page":e.filterForm.offset,"page-sizes":[5,10,20],"page-size":e.filterForm.limit,layout:"total, sizes, prev, pager, next, jumper",total:e.filterForm.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1)},l=[],r=(i(4114),{name:"OrderList",data(){return{activeTab:"all",filterForm:{order_id:"",datetime:"",status:"",offset:1,limit:10,total:0,invoice_status:""},invoiceList:[]}},mounted(){this.getList()},methods:{getList(){this.filterForm.offset=(this.filterForm.offset-1)*this.filterForm.limit,this.post(this.filterForm,"/api/order/orderInvoice").then(e=>{this.invoiceList=e.data})},search(){this.filterForm.offset=1,this.getList()},reset(){this.filterForm={order_id:"",datetime:"",status:"",offset:1,limit:10,total:0,invoice_status:""},this.activeTab="all"},handleDownload(e){const t=e.invoice_url,i=document.createElement("a");i.href=t,i.download=`发票${e.invoice_head}.pdf`,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),this.$message({message:`发票 ${e.invoice_head} 开始下载`,type:"success"})},getStatusText(e){let t="";switch(e){case 0:t="未申请";break;case 1:t="已申请";break;case 2:t="已开票";break;case 3:t="开票失败";break;default:break}return t},handleSizeChange(e){this.limit=e},handleCurrentChange(e){this.offset=e},getStatusTagType(e){const t={pendingPayment:"warning",pendingDelivery:"info",delivering:"primary",completed:"success",cancelled:"danger"};return t[e]||"default"},payOrder(e){this.$message({message:`订单 ${e} 去付款`,type:"info"})},remindDelivery(e){this.$message({message:`已提醒订单 ${e} 发货`,type:"success"})},checkLogistics(e){this.$message({message:`查看订单 ${e} 物流`,type:"info"})},gotoReview(e){this.$message({message:`去评价订单 ${e}`,type:"info"})},viewOrderDetail(e){this.$router.push({name:"OrderDetail"})}}}),s=r,o=i(1656),n=(0,o.A)(s,a,l,!1,null,"8c8369c0",null),c=n.exports}}]);
//# sourceMappingURL=309.22b35bd1.js.map

1
dist/js/309.22b35bd1.js.map

File diff suppressed because one or more lines are too long

2
dist/js/441.4765143b.js

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[441],{441:function(e,t,a){a.r(t),a.d(t,{default:function(){return u}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bg"},[t("el-card",{staticStyle:{width:"100%"}},[t("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[t("span",[e._v("个人信息")])]),t("div",{staticStyle:{"padding-right":"200px"}},[t("el-form",{ref:"userForm",attrs:{model:e.user,"label-width":"100px",size:"small"}},[t("el-form-item",{attrs:{label:"用户头像"}},[t("el-upload",{staticClass:"avatar-uploader",attrs:{action:"#","auto-upload":!1,"on-change":e.handleAvatarChange,"show-file-list":!1}},[e.user.avatar?t("div",{staticStyle:{position:"relative"}},[t("img",{staticClass:"avatar",attrs:{src:e.user.avatar}}),t("div",{staticClass:"hover-tip"},[e._v("修改头像")])]):t("i",{staticClass:"el-icon-plus avatar-uploader-icon"})])],1),t("el-form-item",{attrs:{label:"昵称",prop:"nickname",rules:[{required:!0,message:"请输入昵称"}]}},[t("el-input",{attrs:{placeholder:"请输入昵称"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1),t("el-form-item",{attrs:{label:"用户ID"}},[t("el-input",{attrs:{disabled:""},model:{value:e.user.user_id,callback:function(t){e.$set(e.user,"user_id",t)},expression:"user.user_id"}},[t("template",{slot:"append"},[t("el-button",{on:{click:e.copyId}},[e._v("复制")])],1)],2)],1),t("el-form-item",{attrs:{label:"性别"}},[t("el-radio-group",{model:{value:e.user.gender,callback:function(t){e.$set(e.user,"gender",t)},expression:"user.gender"}},[t("el-radio",{attrs:{label:1}},[e._v("男性")]),t("el-radio",{attrs:{label:2}},[e._v("女性")]),t("el-radio",{attrs:{label:0}},[e._v("保密")])],1)],1),t("el-form-item",{attrs:{label:"生日"}},[t("el-date-picker",{staticStyle:{width:"100%"},attrs:{type:"date",placeholder:"选择日期","value-format":"yyyy-MM-dd"},model:{value:e.user.birthday,callback:function(t){e.$set(e.user,"birthday",t)},expression:"user.birthday"}})],1),t("el-form-item",{staticClass:"form-actions"},[t("el-button",{attrs:{type:"primary"},on:{click:e.saveUser}},[e._v("保存")])],1)],1)],1)])],1)},r=[],l={name:"UserInfo",data(){return{user:{avatar:"",nickname:"",id:"",gender:null,birthday:null}}},mounted(){this.getUserInfo()},methods:{getUserInfo(){this.post({},"/api/uservice/user/getMyInfo").then(e=>{this.user=e.data})},handleAvatarChange(e){this.util.imgToBase64(e.raw).then(e=>{console.log(e),this.post({img_base64:e},"/api/pbservice/Other/base64Upload").then(e=>{this.user.avatar=e.data.url})})},copyId(){const e=document.createElement("input");e.value=this.user.id,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),this.$message({message:"用户ID已复制",type:"success"})},saveUser(){this.$refs.userForm.validate(e=>{e&&this.post({...this.user},"/api/uservice/user/profile").then(e=>{1==e.code&&this.$message({message:"修改成功",type:"success"})})})}}},i=l,o=a(1656),n=(0,o.A)(i,s,r,!1,null,"441d4440",null),u=n.exports}}]);
//# sourceMappingURL=441.4765143b.js.map

1
dist/js/441.4765143b.js.map

File diff suppressed because one or more lines are too long

4
dist/js/729.b8e5cf01.js → dist/js/497.13803348.js

File diff suppressed because one or more lines are too long

1
dist/js/497.13803348.js.map

File diff suppressed because one or more lines are too long

2
dist/js/511.0688274b.js

File diff suppressed because one or more lines are too long

1
dist/js/511.0688274b.js.map

File diff suppressed because one or more lines are too long

2
dist/js/610.e58479c0.js

File diff suppressed because one or more lines are too long

1
dist/js/610.e58479c0.js.map

File diff suppressed because one or more lines are too long

2
dist/js/625.2eff891d.js

File diff suppressed because one or more lines are too long

1
dist/js/625.2eff891d.js.map

File diff suppressed because one or more lines are too long

2
dist/js/645.6f496112.js

File diff suppressed because one or more lines are too long

1
dist/js/645.6f496112.js.map

File diff suppressed because one or more lines are too long

2
dist/js/646.86f530bc.js

File diff suppressed because one or more lines are too long

1
dist/js/646.86f530bc.js.map

File diff suppressed because one or more lines are too long

2
dist/js/688.aa0eb580.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[688],{5688:function(e,t,i){i.r(t),i.d(t,{default:function(){return c}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bg"},[t("div",{staticClass:"filter-bar"},[t("el-form",{attrs:{inline:!0,model:e.filterForm,size:"small"}},[t("el-form-item",{attrs:{label:"订单编号"}},[t("el-input",{attrs:{placeholder:"请输入订单编号"},model:{value:e.filterForm.order_id,callback:function(t){e.$set(e.filterForm,"order_id",t)},expression:"filterForm.order_id"}})],1),t("el-form-item",{attrs:{label:"开票状态"}},[t("el-select",{staticStyle:{width:"200px"},attrs:{placeholder:"请选择"},model:{value:e.filterForm.invoice_status,callback:function(t){e.$set(e.filterForm,"invoice_status",t)},expression:"filterForm.invoice_status"}},[t("el-option",{attrs:{label:"全部",value:""}}),t("el-option",{attrs:{label:"未申请",value:"0"}}),t("el-option",{attrs:{label:"已申请",value:"1"}}),t("el-option",{attrs:{label:"已开票",value:"2"}}),t("el-option",{attrs:{label:"开票失败",value:"3"}})],1)],1),t("el-form-item",{attrs:{label:"下单时间"}},[t("el-date-picker",{attrs:{type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"yyyy-MM-dd"},model:{value:e.filterForm.datetime,callback:function(t){e.$set(e.filterForm,"datetime",t)},expression:"filterForm.datetime"}})],1),t("el-form-item",[t("el-button",{staticStyle:{background:"#6a8a27",border:"none"},attrs:{type:"primary"},on:{click:e.search}},[e._v("搜索")])],1),t("el-form-item",[t("el-button",{on:{click:e.reset}},[e._v("重置")])],1)],1)],1),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.invoiceList,border:""}},[t("el-table-column",{attrs:{prop:"order_id",label:"订单号","min-width":"120"}}),t("el-table-column",{attrs:{prop:"status",label:"订单状态",width:"80"}}),t("el-table-column",{attrs:{prop:"create_time",label:"下单时间",width:"200"}}),t("el-table-column",{attrs:{prop:"paid_money",label:"发票金额",width:"110"}}),t("el-table-column",{attrs:{prop:"invoice_head",label:"发票抬头","min-width":"120"}}),t("el-table-column",{attrs:{prop:"invoice_type",label:"发票类型",width:"120"}}),t("el-table-column",{attrs:{prop:"invoice_status",label:"开票状态",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(e.getStatusText(t.row.invoice_status))+" ")]}}])}),t("el-table-column",{attrs:{label:"操作",width:"110"},scopedSlots:e._u([{key:"default",fn:function(i){return i.row.invoice_url?[t("el-button",{attrs:{size:"mini"},on:{click:function(t){return e.handleDownload(i.row)}}},[e._v("下载发票")])]:void 0}}],null,!0)})],1),t("div",{staticStyle:{"text-align":"right","margin-top":"20px"}},[t("el-pagination",{attrs:{"current-page":e.offset,"page-sizes":[5,10,20],"page-size":e.filterForm.limit,layout:"total, sizes, prev, pager, next, jumper",total:e.filterForm.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1)},l=[],r=(i(4114),{name:"OrderList",data(){return{activeTab:"all",offset:1,filterForm:{order_id:"",datetime:"",status:"",limit:10,total:0,invoice_status:""},invoiceList:[]}},mounted(){this.getList()},methods:{getList(){this.post({offset:(this.offset-1)*this.filterForm.limit,...this.filterForm},"/api/order/orderInvoice").then(e=>{this.invoiceList=e.data.list,this.filterForm.total=e.data.total})},search(){this.offset=1,this.getList()},reset(){this.filterForm={order_id:"",datetime:"",status:"",offset:1,limit:10,total:0,invoice_status:""},this.activeTab="all"},handleDownload(e){const t=e.invoice_url,i=document.createElement("a");i.href=t,i.download=`发票${e.invoice_head}.pdf`,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),this.$message({message:`发票 ${e.invoice_head} 开始下载`,type:"success"})},getStatusText(e){let t="";switch(e){case 0:t="未申请";break;case 1:t="已申请";break;case 2:t="已开票";break;case 3:t="开票失败";break;default:break}return t},handleSizeChange(e){this.filterForm.limit=e,this.getList()},handleCurrentChange(e){this.offset=e,this.getList()},getStatusTagType(e){const t={pendingPayment:"warning",pendingDelivery:"info",delivering:"primary",completed:"success",cancelled:"danger"};return t[e]||"default"},payOrder(e){this.$message({message:`订单 ${e} 去付款`,type:"info"})},remindDelivery(e){this.$message({message:`已提醒订单 ${e} 发货`,type:"success"})},checkLogistics(e){this.$message({message:`查看订单 ${e} 物流`,type:"info"})},gotoReview(e){this.$message({message:`去评价订单 ${e}`,type:"info"})},viewOrderDetail(e){this.$router.push({name:"OrderDetail"})}}}),s=r,o=i(1656),n=(0,o.A)(s,a,l,!1,null,"96301760",null),c=n.exports}}]);
//# sourceMappingURL=688.aa0eb580.js.map

1
dist/js/688.aa0eb580.js.map

File diff suppressed because one or more lines are too long

2
dist/js/709.04a9155a.js

File diff suppressed because one or more lines are too long

1
dist/js/709.04a9155a.js.map

File diff suppressed because one or more lines are too long

2
dist/js/711.baa8d180.js

File diff suppressed because one or more lines are too long

1
dist/js/711.baa8d180.js.map

File diff suppressed because one or more lines are too long

2
dist/js/719.4c174724.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[719],{100:function(e,t,r){r.r(t),r.d(t,{default:function(){return c}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"bg"},[e._e(),t("div",{staticClass:"filter-bar"},[t("el-form",{attrs:{inline:!0,model:e.filterForm,size:"small"}},[t("el-form-item",{attrs:{label:"合同号"}},[t("el-input",{attrs:{placeholder:"请输入合同号"},model:{value:e.filterForm.contract_number,callback:function(t){e.$set(e.filterForm,"contract_number",t)},expression:"filterForm.contract_number"}})],1),t("el-form-item",{attrs:{label:"订单编号"}},[t("el-input",{attrs:{placeholder:"请输入订单编号"},model:{value:e.filterForm.order_id,callback:function(t){e.$set(e.filterForm,"order_id",t)},expression:"filterForm.order_id"}})],1),t("el-form-item",{attrs:{label:"下单时间"}},[t("el-date-picker",{attrs:{type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"yyyy-MM-dd"},model:{value:e.filterForm.datetime,callback:function(t){e.$set(e.filterForm,"datetime",t)},expression:"filterForm.datetime"}})],1),t("el-form-item",[t("el-button",{staticStyle:{background:"#6a8a27",border:"none"},attrs:{type:"primary"},on:{click:e.search}},[e._v("搜索")])],1),t("el-form-item",[t("el-button",{on:{click:e.reset}},[e._v("重置")])],1)],1)],1),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.orders,border:""}},[t("el-table-column",{attrs:{prop:"create_time",label:"下单时间",width:"160"}}),t("el-table-column",{attrs:{prop:"order_id",label:"订单号","min-width":"100"}}),t("el-table-column",{attrs:{prop:"status",label:"商品信息","min-width":"200"},scopedSlots:e._u([{key:"default",fn:function(r){return[t("div",{staticClass:"product-info"},[t("img",{staticClass:"product-img",attrs:{src:r.row.product_headimg}}),t("div",{staticClass:"product-name"},[e._v(" "+e._s(r.row.product_title)+" "+e._s(r.row.child_order_num>1?"等"+r.row.child_order_num+"款":"")+" ")])])]}}])}),t("el-table-column",{attrs:{prop:"contract_number",label:"合同号",width:"180"}}),t("el-table-column",{attrs:{prop:"paid_money",label:"合同金额","min-width":"70"}}),t("el-table-column",{attrs:{label:"操作",width:"130"},scopedSlots:e._u([{key:"default",fn:function(r){return r.row.contract_number?[t("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDownload(r.row)}}},[e._v("下载合同")])]:void 0}}],null,!0)})],1),t("div",{staticStyle:{"text-align":"right","margin-top":"20px"}},[t("el-pagination",{attrs:{"current-page":e.currentPage,"page-sizes":[5,10,20],"page-size":e.filterForm.limit,layout:"total, sizes, prev, pager, next, jumper",total:e.filterForm.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1)},i=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"notice-bar__content"},[t("div",[e._v("说明:")]),t("div",[e._v("1.订单提交成功,系统将根据订单内容自动为您创建交易合同。")]),t("div",[e._v("2.您可直接“下载合同模板”,线下邮寄盖章使用。")])])}],l=(r(4114),{name:"OrderList",data(){return{activeTab:"all",currentPage:1,filterForm:{contract_number:"",datetime:"",order_id:"",limit:10,total:0},orders:[]}},mounted(){this.getList()},methods:{handlePreview(e){window.open(e,"_blank")},handleDownload(e){const t=e.contract_url,r=document.createElement("a");r.href=t,r.download=`合同${e.contract_number}.pdf`,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),this.$message({message:`合同 ${e.contract_number} 开始下载`,type:"success"})},getList(){this.post({offset:(this.currentPage-1)*this.filterForm.limit,...this.filterForm},"/api/order/orderContract").then(e=>{this.orders=e.data.list,this.filterForm.total=e.data.total})},search(){this.currentPage=1,this.getList()},reset(){this.filterForm={order_id:"",createTime:"",contract_number:"",datetime:""},this.activeTab="all",this.currentPage=1},handleSizeChange(e){this.filterForm.limit=e,this.getList()},handleCurrentChange(e){this.currentPage=e,this.getList()},getStatusText(e){const t={pendingPayment:"待付款",pendingDelivery:"待发货",delivering:"配送中",completed:"已完成",cancelled:"已取消"};return t[e]||e},getStatusTagType(e){const t={pendingPayment:"warning",pendingDelivery:"info",delivering:"primary",completed:"success",cancelled:"danger"};return t[e]||"default"},payOrder(e){this.$message({message:`订单 ${e} 去付款`,type:"info"})},remindDelivery(e){this.$message({message:`已提醒订单 ${e} 发货`,type:"success"})},checkLogistics(e){this.$message({message:`查看订单 ${e} 物流`,type:"info"})},gotoReview(e){this.$message({message:`去评价订单 ${e}`,type:"info"})},viewOrderDetail(e){this.$router.push({name:"OrderDetail"})}}}),n=l,s=r(1656),o=(0,s.A)(n,a,i,!1,null,"bf2be14c",null),c=o.exports}}]);
//# sourceMappingURL=719.4c174724.js.map

1
dist/js/719.4c174724.js.map

File diff suppressed because one or more lines are too long

1
dist/js/729.b8e5cf01.js.map

File diff suppressed because one or more lines are too long

2
dist/js/779.c8f94891.js

File diff suppressed because one or more lines are too long

1
dist/js/779.c8f94891.js.map

File diff suppressed because one or more lines are too long

2
dist/js/807.8f1f61a0.js

File diff suppressed because one or more lines are too long

1
dist/js/807.8f1f61a0.js.map

File diff suppressed because one or more lines are too long

2
dist/js/839.168e7d6e.js

File diff suppressed because one or more lines are too long

1
dist/js/839.168e7d6e.js.map

File diff suppressed because one or more lines are too long

2
dist/js/856.74bafc60.js

File diff suppressed because one or more lines are too long

1
dist/js/856.74bafc60.js.map

File diff suppressed because one or more lines are too long

2
dist/js/990.244d285a.js

File diff suppressed because one or more lines are too long

1
dist/js/990.244d285a.js.map

File diff suppressed because one or more lines are too long

2
dist/js/app.a5d22e80.js

File diff suppressed because one or more lines are too long

1
dist/js/app.a5d22e80.js.map

File diff suppressed because one or more lines are too long

2
dist/js/app.bde3f723.js

File diff suppressed because one or more lines are too long

1
dist/js/app.bde3f723.js.map

File diff suppressed because one or more lines are too long

1
dist/js/chunk-vendors.981357e9.js.map

File diff suppressed because one or more lines are too long

4
dist/js/chunk-vendors.981357e9.js → dist/js/chunk-vendors.9c0851b6.js

File diff suppressed because one or more lines are too long

1
dist/js/chunk-vendors.9c0851b6.js.map

File diff suppressed because one or more lines are too long

2
src/components/layout/HeaderNav.vue

@ -85,7 +85,7 @@
alt="联系电话" alt="联系电话"
style="margin-right: 5px" style="margin-right: 5px"
/> />
<span>0512-680541</span> <span>0512-80822586</span>
<span class="cart-count" v-if="cartTotalCount > 0 && false">{{ <span class="cart-count" v-if="cartTotalCount > 0 && false">{{
cartTotalCount cartTotalCount
}}</span> }}</span>

8
src/components/product/Evaluate.vue

@ -54,7 +54,7 @@
:key="review.id" :key="review.id"
> >
<div class="user-info"> <div class="user-info">
<img class="avatar" :src="review.user.user" /> <img class="avatar" :src="review.user.avatar" />
<div class="user-name">{{ review.user.nickname }}</div> <div class="user-name">{{ review.user.nickname }}</div>
<div class="rating-stars"> <div class="rating-stars">
<!-- 动态渲染星级 --> <!-- 动态渲染星级 -->
@ -178,6 +178,12 @@ export default {
mounted() { mounted() {
this.getList(); this.getList();
}, },
watch: {
id(newVal) {
this.idd = newVal;
this.getList();
},
},
methods: { methods: {
// //
getList() { getList() {

58
src/views/Detail/Index.vue

@ -58,7 +58,9 @@
<div class="price-info"> <div class="price-info">
<span class="price-label">售价</span> <span class="price-label">售价</span>
<span class="price-amount">¥{{ info.sku[selectedSpec].price / 100 }}</span> <span class="price-amount"
>¥{{ info.sku[selectedSpec].price / 100 }}</span
>
<span class="sales-volume">已售 {{ info.sales_number }}</span> <span class="sales-volume">已售 {{ info.sales_number }}</span>
</div> </div>
@ -85,9 +87,7 @@
<div class="attr-item" v-if="currentMinQuantity > 1"> <div class="attr-item" v-if="currentMinQuantity > 1">
<span class="attr-label">起订量</span> <span class="attr-label">起订量</span>
<span class="attr-value">{{ <span class="attr-value">{{ currentMinQuantity }}</span>
currentMinQuantity
}}</span>
</div> </div>
<div class="attr-item"> <div class="attr-item">
@ -118,12 +118,16 @@
circle circle
@click="increaseQuantity" @click="increaseQuantity"
></el-button> ></el-button>
<el-button type="primary" class="buy-btn" @click="buyNow">一口价购买</el-button> <el-button type="primary" class="buy-btn" @click="buyNow"
>一口价购买</el-button
>
<el-button type="success" class="cart-btn" @click="addCart" <el-button type="success" class="cart-btn" @click="addCart"
>加入购物车</el-button >加入购物车</el-button
> >
<!-- <el-button type="info" class="bargain-btn">议价</el-button> <el-button type="info" class="bargain-btn" @click="goYj"
<el-button >议价</el-button
>
<!-- <el-button
icon="el-icon-share" icon="el-icon-share"
circle circle
class="share-btn" class="share-btn"
@ -163,7 +167,7 @@
<span <span
:class="['tab-item', { active: tabIndex }]" :class="['tab-item', { active: tabIndex }]"
@click="tabIndex = 1" @click="tabIndex = 1"
>商品评价(125)</span >商品评价{{ evaluateNum }}</span
> >
</div> </div>
@ -191,7 +195,8 @@
<script> <script>
import Evaluate from "@/components/product/Evaluate.vue"; import Evaluate from "@/components/product/Evaluate.vue";
import AddToCartDialog from "@/components/product/AddToCartDialog.vue"; import AddToCartDialog from "@/components/product/AddToCartDialog.vue";
import { mapActions } from 'vuex'; import store from "@/store";
import { mapActions } from "vuex";
export default { export default {
name: "ProductDetail", name: "ProductDetail",
components: { components: {
@ -215,6 +220,7 @@ export default {
tabIndex: 0, tabIndex: 0,
showAddCartDialog: false, showAddCartDialog: false,
sku: {}, sku: {},
evaluateNum: 0,
}; };
}, },
computed: { computed: {
@ -228,24 +234,24 @@ export default {
// //
selectedSpec() { selectedSpec() {
this.quantity = this.currentMinQuantity; this.quantity = this.currentMinQuantity;
} },
}, },
methods: { methods: {
...mapActions(['submitOrderData']), ...mapActions(["submitOrderData"]),
buyNow() { buyNow() {
const orderItems = [ const orderItems = [
{ {
product: this.info, product: this.info,
sku: this.info.sku[this.selectedSpec], sku: this.info.sku[this.selectedSpec],
quantity: this.quantity quantity: this.quantity,
} },
] ];
this.submitOrderData({ this.submitOrderData({
from: 'product', from: "product",
items: orderItems // items: orderItems, //
}); });
this.$router.push('/Order'); this.$router.push("/Order");
}, },
// - activeIndex // - activeIndex
handleCarouselChange(index) { handleCarouselChange(index) {
@ -280,6 +286,12 @@ export default {
this.$message.info("分享功能待实现"); this.$message.info("分享功能待实现");
}, },
//
goYj() {
const token = store.state.user?.info?.token || "";
window.location.href = "https://swsz.api.js-dyyj.com/kefu?token=" + token;
},
// //
addCart() { addCart() {
this.sku = this.info.sku[this.selectedSpec]; this.sku = this.info.sku[this.selectedSpec];
@ -321,6 +333,18 @@ export default {
onReload() { onReload() {
this.getDetail(); this.getDetail();
this.getRecommend(); this.getRecommend();
//
this.get(
{
product_id: this.id,
offset: 0,
limit: 1,
},
"/api/product/product_comment_list"
).then((res) => {
this.evaluateNum = res.data.total;
});
}, },
}, },
mounted() { mounted() {

99
src/views/Order/Index.vue

@ -183,10 +183,7 @@
</p> </p>
<p>总运费 ¥{{ totalFreight }}</p> <p>总运费 ¥{{ totalFreight }}</p>
<p class="pay-amount">实付总金额 ¥{{ totalPayAmount }}</p> <p class="pay-amount">实付总金额 ¥{{ totalPayAmount }}</p>
<p class="address-info"> <p class="address-info">配送至{{selectedAddress.name}} {{ selectedAddress.address }} {{ selectedAddress.tel }}</p>
配送地{{ selectedAddress.address }}<br />
交货地{{ selectedAddress.address }} {{ selectedAddress.phone }}
</p>
<el-button type="primary" class="submit-btn" @click="openDialogs"> <el-button type="primary" class="submit-btn" @click="openDialogs">
提交订单 提交订单
</el-button> </el-button>
@ -260,14 +257,30 @@
:show-close="true" :show-close="true"
width="700px" width="700px"
class="confirm-dialog" class="confirm-dialog"
@open="startReadingTimer"
> >
<div <div
class="contract-content" class="contract-content"
v-html="util.formateRichText(content)" v-html="util.formateRichText(content)"
></div> ></div>
<!-- 阅读倒计时提示 -->
<!-- <div v-if="remainingSeconds > 0" class="reading-tip">
请仔细阅读契约内容{{ remainingSeconds }}秒后可提交
</div> -->
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="showConfirmDialog = false">取消</el-button> <el-button @click="showConfirmDialog = false">取消</el-button>
<el-button type="primary" @click="submitOrder">同意并提交</el-button> <el-button
type="primary"
@click="submitOrder"
:disabled="remainingSeconds > 0"
>
{{
remainingSeconds > 0
? `请阅读完所有的条款再同意${remainingSeconds}`
: "同意并提交"
}}
</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -292,7 +305,7 @@ export default {
selectedTradeType: 1, // 1: 2: selectedTradeType: 1, // 1: 2:
// //
needInvoice: false, // needInvoice: true, //
invoice_type: 1, // 1: 2: invoice_type: 1, // 1: 2:
// //
invoiceTitles: [], invoiceTitles: [],
@ -340,6 +353,8 @@ export default {
}, },
showConfirmDialog: false, showConfirmDialog: false,
content: "", content: "",
remainingSeconds: 5, //
timer: null, //
}; };
}, },
computed: { computed: {
@ -350,6 +365,20 @@ export default {
}, },
}, },
mounted() { mounted() {
this.post({}, "/api/uservice/user/getMyInfo").then((res) => {
if (res.data.is_enterprise == 1) {
this.$alert(
"为了确保您能享受到企业专属的价格、服务以及正规的开票流程,首次注册登录后,我们强烈建议您立即完成企业资质认证。",
"温馨提示",
{
confirmButtonText: "确定",
callback: (action) => {
this.$router.push("/User/PurchaserAdd");
},
}
);
}
});
if (this.getOrderData) { if (this.getOrderData) {
this.initOrderData(this.getOrderData); this.initOrderData(this.getOrderData);
// this.clearOrderData(); // Vuex // this.clearOrderData(); // Vuex
@ -358,15 +387,21 @@ export default {
this.$router.go(-1); this.$router.go(-1);
} }
this.getAddress(); this.getAddress();
// this.getInvoiceList();
},
watch: {
needInvoice(newVal) {
// needInvoicetrue
if (newVal) {
this.getInvoiceList(); this.getInvoiceList();
},
//
beforeDestroy() {
if (this.timer) {
clearInterval(this.timer);
} }
}, },
watch: {
// needInvoice(newVal) {
// // needInvoicetrue
// if (newVal) {
// this.getInvoiceList();
// }
// },
}, },
methods: { methods: {
...mapMutations(["clearOrderData"]), ...mapMutations(["clearOrderData"]),
@ -519,8 +554,8 @@ export default {
}; };
// Promise // Promise
const promise = this.post(params, "/api/order/get_post_price") const promise = this.post(params, "/api/order/get_post_price").then(
.then((res) => { (res) => {
if (res.code === 1) { if (res.code === 1) {
// //
const freight = (res.data.price / 100).toFixed(2); const freight = (res.data.price / 100).toFixed(2);
@ -537,11 +572,8 @@ export default {
parseFloat(this.totalFreight) + parseFloat(freight) parseFloat(this.totalFreight) + parseFloat(freight)
).toFixed(2); ).toFixed(2);
} }
}) }
.catch((err) => { );
console.error(`获取商品 ${item.id} 邮费失败`, err);
this.$message.error(`获取商品 ${item.name} 邮费失败,请重试`);
});
freightPromises.push(promise); freightPromises.push(promise);
}); });
@ -651,6 +683,25 @@ export default {
this.showConfirmDialog = true; this.showConfirmDialog = true;
}); });
}, },
//
startReadingTimer() {
//
this.remainingSeconds = 5;
//
if (this.timer) {
clearInterval(this.timer);
}
//
this.timer = setInterval(() => {
this.remainingSeconds--;
if (this.remainingSeconds <= 0) {
clearInterval(this.timer);
this.timer = null;
}
}, 1000);
},
// //
submitOrder() { submitOrder() {
this.$loading({ this.$loading({
@ -1080,6 +1131,16 @@ export default {
max-height: 60vh; max-height: 60vh;
} }
.reading-tip {
color: #ff4d4f;
text-align: center;
margin-top: 15px;
font-size: 14px;
padding: 10px;
background-color: #fff7f7;
border-radius: 4px;
}
.dialog-footer { .dialog-footer {
text-align: center; text-align: center;
} }

16
src/views/Order/OrderDetail.vue

@ -37,6 +37,7 @@
type="primary" type="primary"
size="medium" size="medium"
v-if="info.state != 'WAIT_COMMENT'" v-if="info.state != 'WAIT_COMMENT'"
@click="payOrder"
>在线付款</el-button >在线付款</el-button
> >
<!-- <el-button type="text" size="small" style="padding: 0" <!-- <el-button type="text" size="small" style="padding: 0"
@ -255,6 +256,21 @@ export default {
this.getDetail(); this.getDetail();
}, },
methods: { methods: {
//
payOrder() {
this.post(
{
order_id: this.$route.query.id,
pay_method: "ABC_H5",
pay_platform: "PC",
},
"/api/order/pay"
).then((res) => {
if (res.code == 1) {
this.$message.success("订单提交成功!");
}
});
},
getDetail() { getDetail() {
// //
this.post( this.post(

31
src/views/ProductPage/ProductReview.vue

@ -75,7 +75,8 @@
:on-exceed="handleExceed" :on-exceed="handleExceed"
:auto-upload="false" :auto-upload="false"
:on-change="handleAvatarChange" :on-change="handleAvatarChange"
v-model="reviewForm.img_list" :file-list="reviewForm.img_list"
accept="jpg/png/jpeg/webp"
class="image-upload" class="image-upload"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
@ -168,8 +169,32 @@ export default {
}, },
methods: { methods: {
handleAvatarChange(file, fileList) { handleAvatarChange(file, fileList) {
console.log(file, fileList); // +
this.imgList = fileList; const validFiles = fileList.filter((item) => {
// MIMEimage/
const isImage = item.raw?.type.startsWith("image/");
// 2MB
const isLt2M = item.raw?.size / 1024 / 1024 < 2;
//
if (!isImage) {
this.$message.error("只能上传图片文件(如JPG、PNG等)");
return false; //
}
if (!isLt2M) {
this.$message.error("图片大小不能超过2MB");
return false; //
}
return true; //
});
// 6limit
const finalFiles = validFiles.slice(0, 6);
//
this.imgList = finalFiles;
//
this.reviewForm.img_list = finalFiles;
}, },
// //

86
src/views/User/CommentManage.vue

@ -139,8 +139,8 @@
</div> </div>
<div class="product-actions"> <div class="product-actions">
<el-button type="text" size="mini" @click="gotoDetail(product)"> <el-button type="text" size="mini" @click="openReview(product)">
商品详情</el-button 评价详情</el-button
> >
<el-button <el-button
type="text" type="text"
@ -177,7 +177,10 @@
</div> --> </div> -->
</div> </div>
</div> </div>
<el-empty description="暂无订单" v-if="orders.length <= 0"></el-empty> <el-empty
description="当前类型暂无评价"
v-if="orders.length <= 0"
></el-empty>
<!-- 分页 --> <!-- 分页 -->
<div style="text-align: right; margin-top: 20px"> <div style="text-align: right; margin-top: 20px">
@ -192,6 +195,33 @@
></el-pagination> ></el-pagination>
</div> </div>
</div> </div>
<!-- 评价详情弹框 -->
<el-dialog
title="评价详情"
:visible.sync="visible"
width="700px"
:close-on-click-modal="false"
:show-close="true"
:before-close="handleClose"
>
<div class="review-box">
<div class="time">{{ reviewInfo.create_time }}</div>
<div class="rating-stars">
<!-- 动态渲染星级 -->
<span v-for="star in reviewInfo.rate" :key="star"> </span>
</div>
<div class="content">{{ reviewInfo.content }}</div>
<div class="imgs">
<img
:src="item"
class="img"
v-for="(item, index) in reviewInfo.img_list"
:key="index"
/>
</div>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -212,6 +242,7 @@ export default {
end_date: "", end_date: "",
total: 1, total: 1,
state: "", state: "",
visible: false,
}, },
typeList: [ typeList: [
{ name: "待评价", id: "WAIT_COMMENT" }, { name: "待评价", id: "WAIT_COMMENT" },
@ -219,6 +250,8 @@ export default {
], ],
// - // -
orders: [], orders: [],
visible: false,
reviewInfo: {},
}; };
}, },
computed: {}, computed: {},
@ -227,6 +260,20 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
//
openReview(item) {
this.post(
{
child_order_id: item.child_order_id,
},
"/api/product/ownProductComment"
).then((res) => {
if (res.code == 1) {
this.reviewInfo = res.data;
this.visible = true;
}
});
},
gotoDetail(item) { gotoDetail(item) {
this.$router.push("/Detail/" + item.product_id); this.$router.push("/Detail/" + item.product_id);
}, },
@ -486,6 +533,39 @@ export default {
display: flex; display: flex;
gap: 10px; gap: 10px;
} }
.review-box {
.time {
color: #666;
font-size: 16px;
}
.rating-stars {
margin-left: auto;
color: #ff4d4f;
font-size: 20px;
margin-top: 10px;
}
.content {
color: #000;
font-size: 16px;
margin-top: 10px;
}
.imgs {
display: flex;
flex-wrap: wrap;
.img {
width: 150px;
height: 150px;
object-fit: cover;
margin: 10px 10px 10px 0;
}
}
}
</style> </style>

15
src/views/User/ContractList.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="bg"> <div class="bg">
<div class="notice-bar"> <div class="notice-bar" v-if="false">
<div class="notice-bar__content"> <div class="notice-bar__content">
<div>说明</div> <div>说明</div>
<div>1.订单提交成功系统将根据订单内容自动为您创建交易合同</div> <div>1.订单提交成功系统将根据订单内容自动为您创建交易合同</div>
@ -72,10 +72,7 @@
<el-table-column prop="status" label="商品信息" min-width="200"> <el-table-column prop="status" label="商品信息" min-width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="product-info"> <div class="product-info">
<img <img :src="scope.row.product_headimg" class="product-img" />
:src="scope.row.product_headimg"
class="product-img"
/>
<div class="product-name"> <div class="product-name">
{{ scope.row.product_title }} {{ scope.row.product_title }}
{{ {{
@ -106,7 +103,7 @@
size="mini" size="mini"
type="danger" type="danger"
@click="handleDownload(scope.row)" @click="handleDownload(scope.row)"
>下载合同模板</el-button >下载合同</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -137,6 +134,7 @@ export default {
datetime: "", datetime: "",
order_id: "", order_id: "",
limit: 10, limit: 10,
total: 0,
}, },
orders: [], orders: [],
}; };
@ -176,7 +174,8 @@ export default {
}, },
"/api/order/orderContract" "/api/order/orderContract"
).then((res) => { ).then((res) => {
this.orders = res.data; this.orders = res.data.list;
this.filterForm.total = res.data.total;
}); });
}, },
// //
@ -200,11 +199,13 @@ export default {
// //
handleSizeChange(val) { handleSizeChange(val) {
this.filterForm.limit = val; this.filterForm.limit = val;
this.getList();
}, },
// //
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val; this.currentPage = val;
this.getList();
}, },
// //

63
src/views/User/OrderList.vue

@ -195,12 +195,19 @@
>关闭订单</el-button >关闭订单</el-button
> >
<el-button <el-button
v-if="order.state === 'WAIT_PAYMENT'" v-if="order.state === 'UNPAID'"
type="primary" type="primary"
size="mini" size="mini"
@click="payOrder(order.id)" @click="payOrder(order.order_id)"
>去付款</el-button >去付款</el-button
> >
<el-button
v-if="order.state === 'WAIT_DELIVERY'"
type="primary"
size="mini"
@click="confirmpost(order.order_id)"
>确认收货</el-button
>
<!-- <el-button <!-- <el-button
v-if="order.status === 'pendingDelivery'" v-if="order.status === 'pendingDelivery'"
type="text" type="text"
@ -235,7 +242,13 @@
</div> </div>
<!-- 物流弹框 --> <!-- 物流弹框 -->
<LogisticsModal :visible="logisticsShow" :orderId="orderId" :logisticsInfo="logisticsInfo" @update:visible="logisticsShow = $event" v-if="logisticsShow"/> <LogisticsModal
:visible="logisticsShow"
:orderId="orderId"
:logisticsInfo="logisticsInfo"
@update:visible="logisticsShow = $event"
v-if="logisticsShow"
/>
</div> </div>
</template> </template>
@ -275,8 +288,8 @@ export default {
// - // -
orders: [], orders: [],
logisticsShow: false, logisticsShow: false,
orderId: '', orderId: "",
logisticsInfo: '' logisticsInfo: "",
}; };
}, },
computed: {}, computed: {},
@ -289,6 +302,23 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
//
confirmpost(id) {
this.$confirm("是否确认收货?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
}).then(() => {
this.post({ order_id: id }, "/api/order/confirmPost").then((res) => {
if (res.code == 1) {
this.getList();
this.$message({
type: "success",
message: "确认收货成功成功!",
});
}
});
});
},
// //
closeOrder(id) { closeOrder(id) {
this.$confirm("是否关闭订单?", "提示", { this.$confirm("是否关闭订单?", "提示", {
@ -404,9 +434,20 @@ export default {
// //
payOrder(orderId) { payOrder(orderId) {
this.$message({ this.post(
message: `订单 ${orderId} 去付款`, {
type: "info", order_id: orderId,
pay_method: "ABC_H5",
pay_platform: "PC",
},
"/api/order/pay"
).then((res) => {
if (res.code == 1) {
this.$message.success("订单提交成功!");
this.$router.push({
path: "/OrderDetail?id=" + orderId,
});
}
}); });
}, },
@ -420,9 +461,9 @@ export default {
// //
checkLogistics(product) { checkLogistics(product) {
this.orderId = product.child_order_id this.orderId = product.child_order_id;
this.logisticsInfo = product.order_product_extend this.logisticsInfo = product.order_product_extend;
this.logisticsShow = true this.logisticsShow = true;
}, },
// //

68
src/views/User/UserCenter.vue

@ -50,15 +50,27 @@
<div class="login-info"> <div class="login-info">
<div class="login-section"> <div class="login-section">
<div class="login-section-title">当前登录信息</div> <div class="login-section-title">当前登录信息</div>
<div class="login-detail">登录设备: {{ accountInfo.login_log.this_browser }}</div> <div class="login-detail">
<div class="login-detail">登录地点: {{ accountInfo.login_log.this_addr }}</div> 登录设备: {{ accountInfo.login_log.this_browser }}
<div class="login-detail">登录时间: {{ accountInfo.login_log.this_login_time }}</div> </div>
<div class="login-detail">
登录地点: {{ accountInfo.login_log.this_addr }}
</div>
<div class="login-detail">
登录时间: {{ accountInfo.login_log.this_login_time }}
</div>
</div> </div>
<div class="login-section"> <div class="login-section">
<div class="login-section-title">上次登录信息</div> <div class="login-section-title">上次登录信息</div>
<div class="login-detail">登录设备: {{ accountInfo.login_log.last_browser }}</div> <div class="login-detail">
<div class="login-detail">登录地点: {{ accountInfo.login_log.last_addr }}</div> 登录设备: {{ accountInfo.login_log.last_browser }}
<div class="login-detail">登录时间: {{ accountInfo.login_log.last_login_time }}</div> </div>
<div class="login-detail">
登录地点: {{ accountInfo.login_log.last_addr }}
</div>
<div class="login-detail">
登录时间: {{ accountInfo.login_log.last_login_time }}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -80,13 +92,18 @@
<el-card style="flex: 1"> <el-card style="flex: 1">
<div slot="header">常用功能</div> <div slot="header">常用功能</div>
<div class="feature-grid"> <div class="feature-grid">
<div class="feature-item" v-for="(item, i) in bargaining" :key="i"> <router-link
:to="item.path"
class="feature-item"
v-for="(item, i) in bargaining"
:key="i"
>
<el-badge v-if="item.value" :value="item.value" type="danger"> <el-badge v-if="item.value" :value="item.value" type="danger">
<div class="feature-icon"><i :class="item.icon"></i></div> <div class="feature-icon"><i :class="item.icon"></i></div>
</el-badge> </el-badge>
<div v-else class="feature-icon"><i :class="item.icon"></i></div> <div v-else class="feature-icon"><i :class="item.icon"></i></div>
<span class="feature-name">{{ item.title }}</span> <span class="feature-name">{{ item.title }}</span>
</div> </router-link>
</div> </div>
</el-card> </el-card>
<div style="width: 20px; flex-shrink: 0"></div> <div style="width: 20px; flex-shrink: 0"></div>
@ -99,7 +116,11 @@
v-for="(item, i) in order" v-for="(item, i) in order"
:key="i" :key="i"
> >
<el-badge v-if="item.value" :value="accountInfo.order_info[item.value]" type="danger"> <el-badge
v-if="item.value"
:value="accountInfo.order_info[item.value]"
type="danger"
>
<div class="feature-icon"><i :class="item.icon"></i></div> <div class="feature-icon"><i :class="item.icon"></i></div>
</el-badge> </el-badge>
<div v-else class="feature-icon"><i :class="item.icon"></i></div> <div v-else class="feature-icon"><i :class="item.icon"></i></div>
@ -136,9 +157,24 @@ export default {
}, },
], ],
bargaining: [ bargaining: [
{ icon: "el-icon-shopping-cart-full", title: "购物车", path: "/User/ShoppingCart", value: '' }, {
{ icon: "el-icon-document-copy", title: "合同管理", path: "/User/ContractList", value: ''}, icon: "el-icon-shopping-cart-full",
{ icon: "el-icon-tickets", title: "我的发票", path: "/User/UserInvoiceList", value: '' }, title: "购物车",
path: "/User/ShoppingCart",
value: "",
},
{
icon: "el-icon-document-copy",
title: "合同管理",
path: "/User/ContractList",
value: "",
},
{
icon: "el-icon-tickets",
title: "我的发票",
path: "/User/UserInvoiceList",
value: "",
},
], ],
order: [ order: [
{ {
@ -162,7 +198,7 @@ export default {
], ],
userInfo: null, userInfo: null,
accountInfo: null accountInfo: null,
}; };
}, },
computed: {}, computed: {},
@ -177,9 +213,9 @@ export default {
console.log(this.userInfo); console.log(this.userInfo);
}); });
this.post({}, "/api/uservice/user/account").then(res => { this.post({}, "/api/uservice/user/account").then((res) => {
this.accountInfo = res.data this.accountInfo = res.data;
}) });
}, },
goPath(path) { goPath(path) {

101
src/views/User/UserInfo.vue

@ -1,23 +1,35 @@
<template> <template>
<div class="bg"> <div class="bg">
<el-card style="width: 100%;"> <el-card style="width: 100%">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>个人信息</span> <span>个人信息</span>
</div> </div>
<div style="padding-right: 200px;"> <div style="padding-right: 200px">
<el-form ref="userForm" :model="user" label-width="100px" size="small"> <el-form ref="userForm" :model="user" label-width="100px" size="small">
<el-form-item label="用户头像"> <el-form-item label="用户头像">
<el-upload class="avatar-uploader" action="#" :auto-upload="false" <el-upload
:on-change="handleAvatarChange" :show-file-list="false"> class="avatar-uploader"
<div style="position: relative;" v-if="user.avatar"> action="#"
<img :src="user.avatar" class="avatar"> :auto-upload="false"
:on-change="handleAvatarChange"
:show-file-list="false"
>
<div style="position: relative" v-if="user.avatar">
<img :src="user.avatar" class="avatar" />
<div class="hover-tip">修改头像</div> <div class="hover-tip">修改头像</div>
</div> </div>
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="昵称" prop="nickname" :rules="[{ required: true, message: '请输入昵称' }]"> <el-form-item
<el-input v-model="user.nickname" placeholder="请输入昵称"></el-input> label="昵称"
prop="nickname"
:rules="[{ required: true, message: '请输入昵称' }]"
>
<el-input
v-model="user.nickname"
placeholder="请输入昵称"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户ID"> <el-form-item label="用户ID">
<el-input v-model="user.user_id" disabled> <el-input v-model="user.user_id" disabled>
@ -34,8 +46,13 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="生日"> <el-form-item label="生日">
<el-date-picker type="date" placeholder="选择日期" v-model="user.birthday" <el-date-picker
style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker> type="date"
placeholder="选择日期"
v-model="user.birthday"
style="width: 100%"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item class="form-actions"> <el-form-item class="form-actions">
<el-button type="primary" @click="saveUser">保存</el-button> <el-button type="primary" @click="saveUser">保存</el-button>
@ -43,23 +60,22 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</el-card> </el-card>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'UserInfo', name: "UserInfo",
data() { data() {
return { return {
user: { user: {
avatar: '', avatar: "",
nickname: '', nickname: "",
id: '', id: "",
gender: null, gender: null,
birthday: null, birthday: null,
} },
} };
}, },
mounted() { mounted() {
this.getUserInfo(); this.getUserInfo();
@ -67,51 +83,60 @@ export default {
methods: { methods: {
getUserInfo() { getUserInfo() {
// //
this.post({},"/api/uservice/user/getMyInfo").then(res=>{ this.post({}, "/api/uservice/user/getMyInfo").then((res) => {
this.user = res.data; this.user = res.data;
}) });
}, },
handleAvatarChange(file) { handleAvatarChange(file) {
// this.user.avatar = URL.createObjectURL(file.raw); // this.user.avatar = URL.createObjectURL(file.raw);
this.util.imgToBase64(file.raw).then(base64 => { this.util.imgToBase64(file.raw).then((base64) => {
console.log(base64); console.log(base64);
this.post({ this.post(
img_base64: base64 {
}, "/api/pbservice/Other/base64Upload").then(res=>{ img_base64: base64,
},
"/api/pbservice/Other/base64Upload"
).then((res) => {
this.user.avatar = res.data.url; this.user.avatar = res.data.url;
}) });
}) });
}, },
copyId() { copyId() {
const input = document.createElement('input'); const input = document.createElement("input");
input.value = this.user.id; input.value = this.user.id;
document.body.appendChild(input); document.body.appendChild(input);
input.select(); input.select();
document.execCommand('copy'); document.execCommand("copy");
document.body.removeChild(input); document.body.removeChild(input);
this.$message({ this.$message({
message: '用户ID已复制', message: "用户ID已复制",
type: 'success' type: "success",
}); });
}, },
saveUser() { saveUser() {
this.$refs.userForm.validate((valid) => { this.$refs.userForm.validate((valid) => {
if (valid) { if (valid) {
this.post({...this.user},"/api/uservice/user/profile").then(res=>{ this.post({ ...this.user }, "/api/uservice/user/profile").then(
(res) => {
if (res.code == 1) { if (res.code == 1) {
this.$message({ message: '修改成功', type:'success'}); this.$message({ message: "修改成功", type: "success" });
}
})
}
})
},
this.post({}, "/api/uservice/user/getMyInfo").then((res) => {
this.$store.dispatch("login", {
userInfo: res.data,
token: res.data.token,
});
});
} }
} }
);
}
});
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.avatar-uploader-icon { .avatar-uploader-icon {

25
src/views/User/UserInvoiceList.vue

@ -58,7 +58,7 @@
min-width="120" min-width="120"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop=" " prop="status"
label="订单状态" label="订单状态"
width="80" width="80"
></el-table-column> ></el-table-column>
@ -105,7 +105,7 @@
<el-pagination <el-pagination
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="filterForm.offset" :current-page="offset"
:page-sizes="[5, 10, 20]" :page-sizes="[5, 10, 20]"
:page-size="filterForm.limit" :page-size="filterForm.limit"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
@ -121,11 +121,11 @@ export default {
data() { data() {
return { return {
activeTab: "all", activeTab: "all",
offset: 1,
filterForm: { filterForm: {
order_id: "", order_id: "",
datetime: "", datetime: "",
status: "", status: "",
offset: 1, //
limit: 10, // limit: 10, //
total: 0, // total: 0, //
invoice_status: "", invoice_status: "",
@ -140,15 +140,20 @@ export default {
methods: { methods: {
// //
getList() { getList() {
this.filterForm.offset = this.post(
(this.filterForm.offset - 1) * this.filterForm.limit; {
this.post(this.filterForm, "/api/order/orderInvoice").then((res) => { offset: (this.offset - 1) * this.filterForm.limit,
this.invoiceList = res.data; ...this.filterForm,
},
"/api/order/orderInvoice"
).then((res) => {
this.invoiceList = res.data.list;
this.filterForm.total = res.data.total;
}); });
}, },
// //
search() { search() {
this.filterForm.offset = 1; // this.offset = 1; //
this.getList(); this.getList();
}, },
@ -207,12 +212,14 @@ export default {
// //
handleSizeChange(val) { handleSizeChange(val) {
this.limit = val; this.filterForm.limit = val;
this.getList();
}, },
// //
handleCurrentChange(val) { handleCurrentChange(val) {
this.offset = val; this.offset = val;
this.getList();
}, },
// //

Loading…
Cancel
Save