Browse Source

打包

master
chenkainan 4 weeks ago
parent
commit
a5c798ec96
  1. 1
      dist/css/110.854f9bc2.css
  2. 1
      dist/css/15.4b379120.css
  3. 1
      dist/css/151.e5fbd0e8.css
  4. 1
      dist/css/170.0849e36c.css
  5. 1
      dist/css/181.be611a62.css
  6. 1
      dist/css/217.aab8f461.css
  7. 1
      dist/css/220.409c24a4.css
  8. 1
      dist/css/230.44c2ea2e.css
  9. 1
      dist/css/328.114638ae.css
  10. 1
      dist/css/334.5db4c613.css
  11. 1
      dist/css/406.efb923d9.css
  12. 1
      dist/css/558.b8b34808.css
  13. 1
      dist/css/573.40f2ee96.css
  14. 1
      dist/css/610.36f5ac87.css
  15. 2
      dist/css/757.0154d72b.css
  16. 1
      dist/css/882.f420d2be.css
  17. 1
      dist/css/896.f1192b9d.css
  18. 1
      dist/css/95.e05cc25c.css
  19. 1
      dist/css/975.7146016b.css
  20. 2
      dist/css/app.1b42e5d9.css
  21. BIN
      dist/img/logo.bb511aff.png
  22. 2
      dist/index.html
  23. 2
      dist/js/110.4a93ee72.js
  24. 1
      dist/js/110.4a93ee72.js.map
  25. 2
      dist/js/113.5c3b5964.js
  26. 1
      dist/js/113.5c3b5964.js.map
  27. 2
      dist/js/15.3e163139.js
  28. 1
      dist/js/15.3e163139.js.map
  29. 2
      dist/js/151.bc9dae61.js
  30. 1
      dist/js/151.bc9dae61.js.map
  31. 2
      dist/js/170.349e118b.js
  32. 1
      dist/js/170.349e118b.js.map
  33. 2
      dist/js/179.c11c622d.js
  34. 1
      dist/js/179.c11c622d.js.map
  35. 2
      dist/js/181.a2fd06e0.js
  36. 1
      dist/js/181.a2fd06e0.js.map
  37. 2
      dist/js/217.d6b5d26b.js
  38. 1
      dist/js/217.d6b5d26b.js.map
  39. 4
      dist/js/220.98d37146.js
  40. 1
      dist/js/220.98d37146.js.map
  41. 2
      dist/js/230.6e39146c.js
  42. 1
      dist/js/230.6e39146c.js.map
  43. 2
      dist/js/322.693252a2.js
  44. 1
      dist/js/322.693252a2.js.map
  45. 2
      dist/js/328.82cd4078.js
  46. 1
      dist/js/328.82cd4078.js.map
  47. 2
      dist/js/334.f62139de.js
  48. 1
      dist/js/334.f62139de.js.map
  49. 2
      dist/js/406.069a7943.js
  50. 1
      dist/js/406.069a7943.js.map
  51. 2
      dist/js/441.182fe637.js
  52. 2
      dist/js/441.182fe637.js.map
  53. 2
      dist/js/558.5f7f14dd.js
  54. 1
      dist/js/558.5f7f14dd.js.map
  55. 2
      dist/js/573.e3b0bcf8.js
  56. 1
      dist/js/573.e3b0bcf8.js.map
  57. 2
      dist/js/610.3d8586f2.js
  58. 1
      dist/js/610.3d8586f2.js.map
  59. 2
      dist/js/757.de7809f4.js
  60. 1
      dist/js/757.de7809f4.js.map
  61. 2
      dist/js/882.62bac42e.js
  62. 1
      dist/js/882.62bac42e.js.map
  63. 1
      dist/js/896.996819fe.js.map
  64. 2
      dist/js/927.b74d23ba.js
  65. 2
      dist/js/927.b74d23ba.js.map
  66. 2
      dist/js/95.41c718be.js
  67. 1
      dist/js/95.41c718be.js.map
  68. 2
      dist/js/975.6d55c1a8.js
  69. 1
      dist/js/975.6d55c1a8.js.map
  70. 2
      dist/js/app.0affbfcc.js
  71. 1
      dist/js/app.0affbfcc.js.map
  72. 2
      dist/js/app.71c4eb46.js
  73. 1
      dist/js/app.71c4eb46.js.map
  74. BIN
      src/assets/logo.png
  75. 40
      src/components/layout/HeaderNav.vue
  76. 8
      src/components/layout/HomeLayout.vue
  77. 3
      src/main.js
  78. 16
      src/views/Order/Index.vue
  79. 11
      src/views/ProductPage/Index.vue
  80. 9
      src/views/User/ContractList.vue
  81. 273
      src/views/User/UserInvoice.vue
  82. 481
      src/views/User/UserInvoiceList.vue

1
dist/css/110.854f9bc2.css

@ -1 +0,0 @@
.bg[data-v-3baef56b]{display:flex}.left-container[data-v-3baef56b]{width:150px;flex-shrink:0;display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1);overflow:hidden}.left-container .route-item[data-v-3baef56b]{padding:10px;cursor:pointer;font-size:14px}.left-container .route-item[data-v-3baef56b]:hover{background-color:#f9f9f9}.left-container .route-item.active[data-v-3baef56b]{background-color:#6a8a27;color:#fff}.right-container[data-v-3baef56b]{flex:1;width:1px;padding-left:20px}

1
dist/css/15.4b379120.css

@ -0,0 +1 @@
.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}

1
dist/css/151.e5fbd0e8.css

@ -0,0 +1 @@
.bg[data-v-6cc31808]{display:flex;flex-direction:column}.bg[data-v-6cc31808] .el-button--text{color:#6a8a27}.el-card[data-v-6cc31808]{margin-bottom:20px;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.05);border:none}.el-card__header[data-v-6cc31808]{padding:16px 20px;border-bottom:1px solid #f0f0f0;background-color:#fff;font-size:16px;font-weight:500}.el-card__body[data-v-6cc31808]{padding:20px}.notice-bar[data-v-6cc31808]{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-6cc31808],.notice-bar__content[data-v-6cc31808]{display:flex;align-items:center}.notice-bar__content i[data-v-6cc31808]{margin-right:8px}.notice-bar__close[data-v-6cc31808]{cursor:pointer;transition:color .2s}.notice-bar__close[data-v-6cc31808]:hover{color:#fa8c16}.user-info[data-v-6cc31808]{display:flex;align-items:flex-start;padding:10px 0}.user-avatar[data-v-6cc31808]{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-6cc31808]{flex:1}.user-name[data-v-6cc31808]{font-size:20px;font-weight:500;margin-bottom:10px;color:#1f2329}.user-other-info[data-v-6cc31808]{color:#4e5969;margin-bottom:6px;font-size:14px}.login-info[data-v-6cc31808]{display:flex;padding-top:20px}.login-section[data-v-6cc31808]{flex:1}.login-section-title[data-v-6cc31808]{font-weight:500;margin-bottom:10px;color:#1f2329;font-size:15px}.login-detail[data-v-6cc31808]{color:#4e5969;font-size:14px;margin-bottom:6px}.feature-grid[data-v-6cc31808]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.feature-item[data-v-6cc31808]{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border-radius:6px;transition:all .2s;cursor:pointer}.feature-item[data-v-6cc31808]:hover{background-color:#f5f7fa}.feature-icon[data-v-6cc31808]{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-6cc31808]{font-size:14px;color:#4e5969}

1
dist/css/170.0849e36c.css

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

1
dist/css/181.be611a62.css

@ -1 +0,0 @@
.bg[data-v-5daf4460]{display:flex;flex-direction:column;font-size:14px}.common-card[data-v-5daf4460]{width:100%;background-color:#fff;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.order-status[data-v-5daf4460]{border-right:1px solid #eee;width:350px;height:220px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.order-status .order-no[data-v-5daf4460]{color:#999}.order-status .order-no .el-button[data-v-5daf4460]{width:-moz-fit-content;width:fit-content;margin:0;display:inline-block;padding:0}.order-status .status-title[data-v-5daf4460]{display:flex;align-items:center;font-size:16px;font-weight:700}.order-status .status-title i[data-v-5daf4460]{font-size:24px}.order-status .el-button[data-v-5daf4460]{width:120px;display:block;margin:0 auto}.order-step[data-v-5daf4460]{width:100%;padding:20px 20px;display:flex;align-items:center}.order-step[data-v-5daf4460] .el-step__icon.is-text{border:none;width:30px;height:30px;border-radius:50%;background:#c0c4cc;color:#fff}.order-step[data-v-5daf4460] .el-step__line{top:13px}.order-step[data-v-5daf4460] .el-step__line-inner{border-color:#c0c4cc}.order-step .process-title[data-v-5daf4460]{color:#999;font-weight:700;font-size:18px;margin-top:10px}.order-step[data-v-5daf4460] .is-finish .el-step__icon{background:#67c23a}.order-step[data-v-5daf4460] .is-current .el-step__icon{background:#d80200}.order-step[data-v-5daf4460] .is-current .process-title{color:#d80200}.avatar-uploader-icon[data-v-5daf4460]{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}[data-v-5daf4460] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar[data-v-5daf4460]{width:100px;height:100px;display:block}.grid-container[data-v-5daf4460]{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px}.header-title[data-v-5daf4460]{font-weight:700;margin-bottom:20px;padding-left:20px}

1
dist/css/217.aab8f461.css

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

1
dist/css/220.409c24a4.css

@ -0,0 +1 @@
.product-grid-page[data-v-f31b94e0]{padding:20px;background-color:#f5f7fa;max-width:1400px;margin:0 auto}.product-grid-page .filter-bar[data-v-f31b94e0]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.product-grid-page .filter-bar .search-input[data-v-f31b94e0]{flex:1;min-width:200px}.product-grid-page .filter-bar .filter-select[data-v-f31b94e0]{min-width:140px}.product-grid-page .result-stats[data-v-f31b94e0]{margin:0 0 15px 5px;color:#666;font-size:14px;padding:5px 0}.product-grid-page .result-stats .category[data-v-f31b94e0],.product-grid-page .result-stats .keyword[data-v-f31b94e0]{color:#ff4d4f;font-weight:500;margin:0 5px}.product-grid-page .product-grid[data-v-f31b94e0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:30px}.product-grid-page .product-card[data-v-f31b94e0]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden;transition:transform .3s,box-shadow .3s;cursor:pointer;position:relative}.product-grid-page .product-card[data-v-f31b94e0]:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,.1)}.product-grid-page .product-card .product-img[data-v-f31b94e0]{width:100%;height:200px;background-color:#f5f5f5}.product-grid-page .product-card .image-placeholder[data-v-f31b94e0]{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5}.product-grid-page .product-card .tag[data-v-f31b94e0]{position:absolute;top:10px;left:10px;padding:3px 8px;font-size:12px;color:#fff;border-radius:4px;z-index:1}.product-grid-page .product-card .product-info[data-v-f31b94e0]{padding:15px}.product-grid-page .product-card .product-info .product-name[data-v-f31b94e0]{font-size:14px;color:#333;margin-bottom:10px;height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-grid-page .product-card .product-info .price-row[data-v-f31b94e0]{display:flex;align-items:center;margin-bottom:8px}.product-grid-page .product-card .product-info .price-row .current-price[data-v-f31b94e0]{color:#ff4d4f;font-weight:700;font-size:16px}.product-grid-page .product-card .product-info .price-row .original-price[data-v-f31b94e0]{color:#999;font-size:12px;text-decoration:line-through;margin-left:8px}.product-grid-page .product-card .product-info .sales-volume[data-v-f31b94e0]{font-size:12px;color:#666;margin-bottom:10px;display:flex;align-items:center}.product-grid-page .product-card .product-info .sales-volume i[data-v-f31b94e0]{font-size:12px;margin-right:4px}.product-grid-page .product-card .product-info .cart-btn[data-v-f31b94e0]{width:100%}.product-grid-page .empty-state[data-v-f31b94e0]{grid-column:1/-1;padding:60px 0;text-align:center}.product-grid-page .pagination-container[data-v-f31b94e0]{display:flex;justify-content:center;margin-top:20px;padding:10px}@media(max-width:768px){.product-grid-page[data-v-f31b94e0]{padding:10px}.product-grid-page .filter-bar[data-v-f31b94e0]{padding:10px;gap:10px}.product-grid-page .product-grid[data-v-f31b94e0]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.product-grid-page .product-card .image-placeholder[data-v-f31b94e0],.product-grid-page .product-card .product-img[data-v-f31b94e0]{height:140px}}

1
dist/css/230.44c2ea2e.css

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

1
dist/css/328.114638ae.css

@ -0,0 +1 @@
.bg[data-v-ae67915e]{display:flex}.left-container[data-v-ae67915e]{width:150px;flex-shrink:0;display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1);overflow:hidden}.left-container .route-item[data-v-ae67915e]{padding:10px;cursor:pointer;font-size:14px}.left-container .route-item[data-v-ae67915e]:hover{background-color:#f9f9f9}.left-container .route-item.active[data-v-ae67915e]{background-color:#6a8a27;color:#fff}.right-container[data-v-ae67915e]{flex:1;width:1px;padding-left:20px}

1
dist/css/334.5db4c613.css

File diff suppressed because one or more lines are too long

1
dist/css/406.efb923d9.css

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

1
dist/css/558.b8b34808.css

@ -0,0 +1 @@
.bg[data-v-74926859]{display:flex;flex-direction:column;font-size:14px}.bg[data-v-74926859] .el-input.is-disabled .el-input__inner{color:#606266}.common-card[data-v-74926859]{width:100%;background-color:#fff;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.notice-bar[data-v-74926859]{background-color:#fffbe6;border:1px solid #ffe58f;padding:12px 16px;border-radius:4px;margin-bottom:20px;color:#fa8c16;font-size:14px}.notice-bar[data-v-74926859],.order-status[data-v-74926859]{display:flex;justify-content:space-between;align-items:center}.order-status[data-v-74926859]{border-right:1px solid #eee;width:350px;height:220px;flex-shrink:0;flex-direction:column}.order-status .order-no[data-v-74926859]{color:#999}.order-status .order-no .el-button[data-v-74926859]{width:-moz-fit-content;width:fit-content;margin:0;display:inline-block;padding:0}.order-status .status-title[data-v-74926859]{display:flex;align-items:center;font-size:16px;font-weight:700}.order-status .status-title i[data-v-74926859]{font-size:24px}.order-status .el-button[data-v-74926859]{width:120px;display:block;margin:0 auto}.order-step[data-v-74926859]{width:100%;padding:20px 20px;display:flex;align-items:center}.order-step[data-v-74926859] .el-step__icon.is-text{border:none;width:30px;height:30px;border-radius:50%;background:#c0c4cc;color:#fff}.order-step[data-v-74926859] .el-step__line{top:13px}.order-step[data-v-74926859] .el-step__line-inner{border-color:#c0c4cc}.order-step .process-title[data-v-74926859]{color:#999;font-weight:700;font-size:18px;margin-top:10px}.order-step[data-v-74926859] .is-finish .el-step__icon{background:#67c23a}.order-step[data-v-74926859] .is-current .el-step__icon{background:#d80200}.order-step[data-v-74926859] .is-current .process-title{color:#d80200}.avatar-uploader-icon[data-v-74926859]{font-size:28px;color:#8c939d;width:100px;height:100px;line-height:100px;text-align:center}[data-v-74926859] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar[data-v-74926859]{width:100px;height:100px;display:block}.grid-container[data-v-74926859]{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px}.header-title[data-v-74926859]{font-weight:700;margin-bottom:20px;padding-left:20px}

1
dist/css/573.40f2ee96.css

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

1
dist/css/610.36f5ac87.css

@ -0,0 +1 @@
.bg[data-v-0117dbdd]{display:flex;flex-direction:column;font-size:14px}.common-card[data-v-0117dbdd]{width:100%;background-color:#fff;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.order-status[data-v-0117dbdd]{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-0117dbdd]{color:#999}.order-status .order-no .el-button[data-v-0117dbdd]{width:-moz-fit-content;width:fit-content;margin:0;display:inline-block;padding:0}.order-status .status-title[data-v-0117dbdd]{display:flex;align-items:center;font-size:16px;font-weight:700}.order-status .status-title i[data-v-0117dbdd]{font-size:24px}.order-status .el-button[data-v-0117dbdd]{width:120px;display:block;margin:0 auto}.order-step[data-v-0117dbdd]{flex:1;width:1px;padding:0 20px;display:flex;align-items:center}.order-step[data-v-0117dbdd] .el-step__icon.is-text{border:none;width:30px;height:30px;border-radius:50%;background:#c0c4cc;color:#fff}.order-step[data-v-0117dbdd] .el-step__line{top:13px}.order-step[data-v-0117dbdd] .el-step__line-inner{border-color:#c0c4cc}.order-step .process-title[data-v-0117dbdd]{color:#666;font-weight:700;font-size:14px;margin-top:20px}.order-step .process-description[data-v-0117dbdd]{color:#666;font-size:12px}.order-step[data-v-0117dbdd] .is-finish .el-step__icon{background:#67c23a}.order-info-card[data-v-0117dbdd]{display:flex}.order-info-card[data-v-0117dbdd] .el-descriptions{flex:1;flex-shrink:0;border-right:1px solid hsla(0,0%,60%,.1);padding:0 20px}.order-info-card[data-v-0117dbdd] .el-descriptions .el-descriptions-item__label{width:90px}.product-image[data-v-0117dbdd]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.total-card[data-v-0117dbdd]{margin-top:20px;background:#fafafa;box-shadow:none}.total-card[data-v-0117dbdd] .el-descriptions__body{background:none;text-align:right}.total-card[data-v-0117dbdd] .el-descriptions__body .el-descriptions-item__label{width:90%;text-align:right;justify-content:flex-end}.total-card[data-v-0117dbdd] .el-descriptions__body .el-descriptions-item__content{justify-content:flex-end}

2
dist/css/322.f144348b.css → dist/css/757.0154d72b.css

@ -1 +1 @@
.home-layout-container[data-v-c27a7e04]{display:flex;width:100%;height:auto}.left-nav[data-v-c27a7e04]{width:200px;background-color:#f8f9fa;padding:20px 0;box-sizing:border-box}.nav-list[data-v-c27a7e04]{list-style:none;margin:0;padding:0}.nav-item[data-v-c27a7e04]{padding:12px 20px;cursor:pointer;color:#333;transition:all .3s ease;display:flex}.nav-item img[data-v-c27a7e04]{width:20px;margin-right:5px}.nav-item[data-v-c27a7e04]:hover{background-color:#e9ecef;padding-left:25px}.main-content[data-v-c27a7e04]{flex:1;height:auto;overflow:hidden}.carousel-img[data-v-c27a7e04]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.main-content[data-v-c27a7e04] .el-carousel__container{height:100%!important}.right-info[data-v-c27a7e04]{width:280px;background-color:#fff;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-left:1px solid #eee}.avatar-container[data-v-c27a7e04]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.user-avatar[data-v-c27a7e04]{width:60px;height:60px;border-radius:50%;margin-bottom:10px;border:2px solid #f0f0f0}.welcome-text[data-v-c27a7e04]{font-size:14px;color:#333}.btn-group[data-v-c27a7e04]{display:flex;gap:10px;margin-bottom:30px;width:100%}.func-icons[data-v-c27a7e04]{display:flex;justify-content:space-around;width:100%;margin-bottom:30px;padding:10px 0;border-top:1px dashed #eee;border-bottom:1px dashed #eee}.icon-item[data-v-c27a7e04]{display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#666;transition:color .3s ease;width:50px}.icon-item[data-v-c27a7e04]:hover{color:#1890ff}.icon[data-v-c27a7e04]{font-size:24px;margin-bottom:5px}.icon-item span[data-v-c27a7e04]{font-size:12px}.announcement[data-v-c27a7e04]{display:flex;align-items:center;font-size:12px;color:#666;width:100%;padding-top:10px}.announcement span[data-v-c27a7e04]{margin-left:10px}.product-list .product-grid[data-v-0968dad7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.product-list .product-card[data-v-0968dad7]{border:1px solid #eaeaea;border-radius:8px;overflow:hidden;transition:all .3s ease;padding:10px}.product-list .product-card[data-v-0968dad7]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.product-list .product-card .product-img[data-v-0968dad7]{height:250px;overflow:hidden}.product-list .product-card .product-img .product-pic[data-v-0968dad7]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.product-list .product-card .product-img .product-pic[data-v-0968dad7]:hover{transform:scale(1.05)}.product-list .product-card .product-info[data-v-0968dad7]{padding:10px}.product-list .product-card .product-info .product-name[data-v-0968dad7]{font-size:14px;line-height:20px;min-height:40px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px}.product-list .product-card .product-info .product-name a[data-v-0968dad7]{color:#333}.product-list .product-card .product-info .product-name a[data-v-0968dad7]:hover{color:#409eff}.product-list .product-card .product-info .product-price[data-v-0968dad7]{margin-bottom:15px}.product-list .product-card .product-info .product-price .current-price[data-v-0968dad7]{color:#f40;font-size:16px;font-weight:700}.product-list .product-card .product-info .product-price .original-price[data-v-0968dad7]{color:#999;font-size:12px;text-decoration:line-through;margin-left:8px}.product-list .product-card .product-info .product-actions[data-v-0968dad7]{margin-bottom:10px}.product-list .product-card .product-info .product-sales[data-v-0968dad7]{font-size:12px;color:#999;margin-bottom:15px}.product-list .no-products[data-v-0968dad7]{padding:50px 0;text-align:center}.product-box[data-v-c53f5724]{margin:30px 0}.product-box h2[data-v-c53f5724]{margin-bottom:20px} .home-layout-container[data-v-252195f4]{display:flex;width:100%;height:auto}.left-nav[data-v-252195f4]{width:200px;background-color:#f8f9fa;padding:20px 0;box-sizing:border-box}.nav-list[data-v-252195f4]{list-style:none;margin:0;padding:0}.nav-item[data-v-252195f4]{padding:12px 20px;cursor:pointer;color:#333;transition:all .3s ease;display:flex}.nav-item img[data-v-252195f4]{width:20px;margin-right:5px}.nav-item[data-v-252195f4]:hover{background-color:#e9ecef;padding-left:25px}.main-content[data-v-252195f4]{flex:1;height:auto;overflow:hidden}.carousel-img[data-v-252195f4]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.main-content[data-v-252195f4] .el-carousel__container{height:100%!important}.right-info[data-v-252195f4]{width:280px;background-color:#fff;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-left:1px solid #eee}.avatar-container[data-v-252195f4]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.user-avatar[data-v-252195f4]{width:60px;height:60px;border-radius:50%;margin-bottom:10px;border:2px solid #f0f0f0}.welcome-text[data-v-252195f4]{font-size:14px;color:#333}.btn-group[data-v-252195f4]{display:flex;gap:10px;margin-bottom:30px;width:100%}.func-icons[data-v-252195f4]{display:flex;justify-content:space-around;width:100%;margin-bottom:30px;padding:10px 0;border-top:1px dashed #eee;border-bottom:1px dashed #eee}.icon-item[data-v-252195f4]{display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#666;transition:color .3s ease;width:50px}.icon-item[data-v-252195f4]:hover{color:#1890ff}.icon[data-v-252195f4]{font-size:24px;margin-bottom:5px}.icon-item span[data-v-252195f4]{font-size:12px}.announcement[data-v-252195f4]{display:flex;align-items:center;font-size:12px;color:#666;width:100%;padding-top:10px}.announcement span[data-v-252195f4]{margin-left:10px}.product-list .product-grid[data-v-0968dad7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.product-list .product-card[data-v-0968dad7]{border:1px solid #eaeaea;border-radius:8px;overflow:hidden;transition:all .3s ease;padding:10px}.product-list .product-card[data-v-0968dad7]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.product-list .product-card .product-img[data-v-0968dad7]{height:250px;overflow:hidden}.product-list .product-card .product-img .product-pic[data-v-0968dad7]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.product-list .product-card .product-img .product-pic[data-v-0968dad7]:hover{transform:scale(1.05)}.product-list .product-card .product-info[data-v-0968dad7]{padding:10px}.product-list .product-card .product-info .product-name[data-v-0968dad7]{font-size:14px;line-height:20px;min-height:40px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px}.product-list .product-card .product-info .product-name a[data-v-0968dad7]{color:#333}.product-list .product-card .product-info .product-name a[data-v-0968dad7]:hover{color:#409eff}.product-list .product-card .product-info .product-price[data-v-0968dad7]{margin-bottom:15px}.product-list .product-card .product-info .product-price .current-price[data-v-0968dad7]{color:#f40;font-size:16px;font-weight:700}.product-list .product-card .product-info .product-price .original-price[data-v-0968dad7]{color:#999;font-size:12px;text-decoration:line-through;margin-left:8px}.product-list .product-card .product-info .product-actions[data-v-0968dad7]{margin-bottom:10px}.product-list .product-card .product-info .product-sales[data-v-0968dad7]{font-size:12px;color:#999;margin-bottom:15px}.product-list .no-products[data-v-0968dad7]{padding:50px 0;text-align:center}.product-box[data-v-c53f5724]{margin:30px 0}.product-box h2[data-v-c53f5724]{margin-bottom:20px}

1
dist/css/882.f420d2be.css

@ -1 +0,0 @@
.bg[data-v-1d95a9f7]{display:flex;flex-direction:column;font-size:14px}.common-card[data-v-1d95a9f7]{width:100%;background-color:#fff;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.order-status[data-v-1d95a9f7]{border-right:1px solid #eee;width:350px;height:220px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.order-status .order-no[data-v-1d95a9f7]{color:#999}.order-status .order-no .el-button[data-v-1d95a9f7]{width:-moz-fit-content;width:fit-content;margin:0;display:inline-block;padding:0}.order-status .status-title[data-v-1d95a9f7]{display:flex;align-items:center;font-size:16px;font-weight:700}.order-status .status-title i[data-v-1d95a9f7]{font-size:24px}.order-status .el-button[data-v-1d95a9f7]{width:120px;display:block;margin:0 auto}.order-step[data-v-1d95a9f7]{flex:1;width:1px;padding:0 20px;display:flex;align-items:center}.order-step[data-v-1d95a9f7] .el-step__icon.is-text{border:none;width:30px;height:30px;border-radius:50%;background:#c0c4cc;color:#fff}.order-step[data-v-1d95a9f7] .el-step__line{top:13px}.order-step[data-v-1d95a9f7] .el-step__line-inner{border-color:#c0c4cc}.order-step .process-title[data-v-1d95a9f7]{color:#666;font-weight:700;font-size:14px;margin-top:-70px}.order-step .process-description[data-v-1d95a9f7]{color:#666;font-size:12px;margin-top:45px}.order-step[data-v-1d95a9f7] .is-finish .el-step__icon{background:#67c23a}.order-info-card[data-v-1d95a9f7]{display:flex}.order-info-card[data-v-1d95a9f7] .el-descriptions{flex:1;flex-shrink:0;border-right:1px solid hsla(0,0%,60%,.1);padding:0 20px}.order-info-card[data-v-1d95a9f7] .el-descriptions .el-descriptions-item__label{width:90px}.product-image[data-v-1d95a9f7]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.total-card[data-v-1d95a9f7]{margin-top:20px;background:#fafafa;box-shadow:none}.total-card[data-v-1d95a9f7] .el-descriptions__body{background:none;text-align:right}.total-card[data-v-1d95a9f7] .el-descriptions__body .el-descriptions-item__label{width:90%;text-align:right;justify-content:flex-end}.total-card[data-v-1d95a9f7] .el-descriptions__body .el-descriptions-item__content{justify-content:flex-end}

1
dist/css/896.f1192b9d.css

@ -1 +0,0 @@
.product-grid-page[data-v-cf708dca]{padding:20px;background-color:#f5f7fa;max-width:1400px;margin:0 auto}.product-grid-page .filter-bar[data-v-cf708dca]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.product-grid-page .filter-bar .search-input[data-v-cf708dca]{flex:1;min-width:200px}.product-grid-page .filter-bar .filter-select[data-v-cf708dca]{min-width:140px}.product-grid-page .result-stats[data-v-cf708dca]{margin:0 0 15px 5px;color:#666;font-size:14px;padding:5px 0}.product-grid-page .result-stats .category[data-v-cf708dca],.product-grid-page .result-stats .keyword[data-v-cf708dca]{color:#ff4d4f;font-weight:500;margin:0 5px}.product-grid-page .product-grid[data-v-cf708dca]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:30px}.product-grid-page .product-card[data-v-cf708dca]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden;transition:transform .3s,box-shadow .3s;cursor:pointer;position:relative}.product-grid-page .product-card[data-v-cf708dca]:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,.1)}.product-grid-page .product-card .product-img[data-v-cf708dca]{width:100%;height:200px;background-color:#f5f5f5}.product-grid-page .product-card .image-placeholder[data-v-cf708dca]{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5}.product-grid-page .product-card .tag[data-v-cf708dca]{position:absolute;top:10px;left:10px;padding:3px 8px;font-size:12px;color:#fff;border-radius:4px;z-index:1}.product-grid-page .product-card .product-info[data-v-cf708dca]{padding:15px}.product-grid-page .product-card .product-info .product-name[data-v-cf708dca]{font-size:14px;color:#333;margin-bottom:10px;height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-grid-page .product-card .product-info .price-row[data-v-cf708dca]{display:flex;align-items:center;margin-bottom:8px}.product-grid-page .product-card .product-info .price-row .current-price[data-v-cf708dca]{color:#ff4d4f;font-weight:700;font-size:16px}.product-grid-page .product-card .product-info .price-row .original-price[data-v-cf708dca]{color:#999;font-size:12px;text-decoration:line-through;margin-left:8px}.product-grid-page .product-card .product-info .sales-volume[data-v-cf708dca]{font-size:12px;color:#666;margin-bottom:10px;display:flex;align-items:center}.product-grid-page .product-card .product-info .sales-volume i[data-v-cf708dca]{font-size:12px;margin-right:4px}.product-grid-page .product-card .product-info .cart-btn[data-v-cf708dca]{width:100%}.product-grid-page .empty-state[data-v-cf708dca]{grid-column:1/-1;padding:60px 0;text-align:center}.product-grid-page .pagination-container[data-v-cf708dca]{display:flex;justify-content:center;margin-top:20px;padding:10px}@media(max-width:768px){.product-grid-page[data-v-cf708dca]{padding:10px}.product-grid-page .filter-bar[data-v-cf708dca]{padding:10px;gap:10px}.product-grid-page .product-grid[data-v-cf708dca]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.product-grid-page .product-card .image-placeholder[data-v-cf708dca],.product-grid-page .product-card .product-img[data-v-cf708dca]{height:140px}}

1
dist/css/95.e05cc25c.css

File diff suppressed because one or more lines are too long

1
dist/css/975.7146016b.css

@ -1 +0,0 @@
.bg[data-v-4ea6c11f]{display:flex;flex-direction:column}.bg[data-v-4ea6c11f] .el-button--text{color:#6a8a27}.el-card[data-v-4ea6c11f]{margin-bottom:20px;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.05);border:none}.el-card__header[data-v-4ea6c11f]{padding:16px 20px;border-bottom:1px solid #f0f0f0;background-color:#fff;font-size:16px;font-weight:500}.el-card__body[data-v-4ea6c11f]{padding:20px}.notice-bar[data-v-4ea6c11f]{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-4ea6c11f],.notice-bar__content[data-v-4ea6c11f]{display:flex;align-items:center}.notice-bar__content i[data-v-4ea6c11f]{margin-right:8px}.notice-bar__close[data-v-4ea6c11f]{cursor:pointer;transition:color .2s}.notice-bar__close[data-v-4ea6c11f]:hover{color:#fa8c16}.user-info[data-v-4ea6c11f]{display:flex;align-items:flex-start;padding:10px 0}.user-avatar[data-v-4ea6c11f]{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-4ea6c11f]{flex:1}.user-name[data-v-4ea6c11f]{font-size:20px;font-weight:500;margin-bottom:10px;color:#1f2329}.user-other-info[data-v-4ea6c11f]{color:#4e5969;margin-bottom:6px;font-size:14px}.login-info[data-v-4ea6c11f]{display:flex;padding-top:20px}.login-section[data-v-4ea6c11f]{flex:1}.login-section-title[data-v-4ea6c11f]{font-weight:500;margin-bottom:10px;color:#1f2329;font-size:15px}.login-detail[data-v-4ea6c11f]{color:#4e5969;font-size:14px;margin-bottom:6px}.feature-grid[data-v-4ea6c11f]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.feature-item[data-v-4ea6c11f]{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border-radius:6px;transition:all .2s;cursor:pointer}.feature-item[data-v-4ea6c11f]:hover{background-color:#f5f7fa}.feature-icon[data-v-4ea6c11f]{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-4ea6c11f]{font-size:14px;color:#4e5969}

2
dist/css/app.78312ffd.css → dist/css/app.1b42e5d9.css

File diff suppressed because one or more lines are too long

BIN
dist/img/logo.bb511aff.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

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>abcdf</title><script defer="defer" src="/js/chunk-vendors.cab40109.js"></script><script defer="defer" src="/js/app.71c4eb46.js"></script><link href="/css/chunk-vendors.10dd4e95.css" rel="stylesheet"><link href="/css/app.78312ffd.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but abcdf 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>abcdf</title><script defer="defer" src="/js/chunk-vendors.cab40109.js"></script><script defer="defer" src="/js/app.0affbfcc.js"></script><link href="/css/chunk-vendors.10dd4e95.css" rel="stylesheet"><link href="/css/app.1b42e5d9.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but abcdf doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

2
dist/js/110.4a93ee72.js

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[110],{9110:function(t,e,s){s.r(e),s.d(e,{default:function(){return c}});var a=function(){var t=this,e=t._self._c;return e("div",{staticClass:"bg"},[e("div",{staticClass:"left-container"},t._l(t.navList,function(s,a){return e("router-link",{key:a,class:["route-item",t.selectIndex==a?"active":""],attrs:{to:s.path}},[t._v(t._s(s.title))])}),1),e("div",{staticClass:"right-container"},[e("router-view")],1)])},r=[],i={data(){return{selectIndex:0,navList:[{title:"个人中心",path:"/User/UserCenter"},{title:"我的购物车",path:"/User/ShoppingCart"},{title:"我的订单",path:"/User/OrderList"},{title:"评价管理",path:"/User/CommentManage"},{title:"我的发票",path:"/User/UserInvoiceList"},{title:"发票抬头",path:"/User/UserInvoice"},{title:"合同管理",path:"/User/ContractList"},{title:"我的足迹",path:"/User/ViewHistory"},{title:"消息中心",path:"/User/MessageList"},{title:"个人信息",path:"/User/UserInfo"},{title:"采购人信息",path:"/User/PurchaserAdd"},{title:"我的收货地址",path:"/User/UserAddress"}]}},watch:{$route(t,e){let s=t.path.toLocaleLowerCase(),a=this.navList.findIndex(t=>t.path.toLocaleLowerCase()==s);a>=0&&(this.selectIndex=a)}},computed:{},created(){let t=this.$route.path.toLocaleLowerCase(),e=this.navList.findIndex(e=>e.path.toLocaleLowerCase()==t);e>=0&&(this.selectIndex=e)},methods:{}},n=i,l=s(1656),o=(0,l.A)(n,a,r,!1,null,"3baef56b",null),c=o.exports}}]);
//# sourceMappingURL=110.4a93ee72.js.map

1
dist/js/110.4a93ee72.js.map

File diff suppressed because one or more lines are too long

2
dist/js/113.5c3b5964.js

File diff suppressed because one or more lines are too long

1
dist/js/113.5c3b5964.js.map

File diff suppressed because one or more lines are too long

2
dist/js/15.3e163139.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).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.3e163139.js.map

1
dist/js/15.3e163139.js.map

File diff suppressed because one or more lines are too long

2
dist/js/151.bc9dae61.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[151],{5151:function(t,e,s){s.r(e),s.d(e,{default:function(){return o}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"bg"},[t.showNotice?e("div",{staticClass:"notice-bar"},[t._m(0),e("div",{staticClass:"notice-bar__close",on:{click:function(e){t.showNotice=!1}}},[e("i",{staticClass:"el-icon-close"})])]):t._e(),e("el-card",[e("el-row",{attrs:{gutter:20}},t._l(t.headFun,function(s,i){return e("el-col",{key:i,attrs:{xs:24,sm:8,md:8}},[e("router-link",{staticClass:"feature-item",attrs:{to:s.path}},[e("div",{staticClass:"feature-icon"},[e("i",{class:s.icon})]),e("span",{staticClass:"feature-name"},[t._v(t._s(s.title))]),e("el-button",{staticStyle:{"margin-top":"5px"},attrs:{type:"text",size:"mini"}},[t._v("去设置")])],1)],1)}),1)],1),t.userInfo?e("el-card",[e("div",{attrs:{slot:"header"},slot:"header"},[t._v("个人信息")]),e("div",{staticClass:"user-info"},[e("img",{staticClass:"user-avatar",attrs:{src:t.userInfo.avatar,alt:"用户头像"}}),e("div",{staticClass:"user-details"},[e("div",[e("div",{staticClass:"user-name"},[t._v(t._s(t.userInfo.nickname))]),e("div",{staticClass:"user-other-info"},[t._v(" ID: "+t._s(t.userInfo.user_id)+" "),e("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){return t.util.copyId(t.userInfo.user_id)}}},[t._v("复制")])],1),e("div",{staticClass:"user-other-info"},[t._v("手机号: "+t._s(t.userInfo.mobile))])]),e("div",{staticClass:"login-info"},[e("div",{staticClass:"login-section"},[e("div",{staticClass:"login-section-title"},[t._v("当前登录信息")]),e("div",{staticClass:"login-detail"},[t._v("登录设备: Edge浏览器")]),e("div",{staticClass:"login-detail"},[t._v("登录地点: 中国广东深圳")]),e("div",{staticClass:"login-detail"},[t._v("登录时间: 2099-02-23 10:09:50")])]),e("div",{staticClass:"login-section"},[e("div",{staticClass:"login-section-title"},[t._v("上次登录信息")]),e("div",{staticClass:"login-detail"},[t._v("登录设备: 微信小程序")]),e("div",{staticClass:"login-detail"},[t._v("登录地点: 中国广东深圳")]),e("div",{staticClass:"login-detail"},[t._v("登录时间: 2099-02-05 10:46:45")])])])]),e("div",[e("el-button",{staticStyle:{"background-color":"#6a8a27",border:"none"},attrs:{type:"primary",size:"mini"},on:{click:function(e){return t.goPath("/User/UserInfo")}}},[e("i",{staticClass:"el-icon-edit"}),t._v(" 编辑个人信息 ")])],1)])]):t._e(),e("div",{staticClass:"flex-center"},[e("el-card",{staticStyle:{flex:"1"}},[e("div",{attrs:{slot:"header"},slot:"header"},[t._v("我的议价")]),e("div",{staticClass:"feature-grid"},t._l(t.bargaining,function(s,i){return e("div",{key:i,staticClass:"feature-item"},[s.value?e("el-badge",{attrs:{value:s.value,type:"danger"}},[e("div",{staticClass:"feature-icon"},[e("i",{class:s.icon})])]):e("div",{staticClass:"feature-icon"},[e("i",{class:s.icon})]),e("span",{staticClass:"feature-name"},[t._v(t._s(s.title))])],1)}),0)]),e("div",{staticStyle:{width:"20px","flex-shrink":"0"}}),e("el-card",{staticStyle:{flex:"1"}},[e("div",{attrs:{slot:"header"},slot:"header"},[t._v("我的订单")]),e("div",{staticClass:"feature-grid"},t._l(t.order,function(s,i){return e("div",{key:i,staticClass:"feature-item"},[s.value?e("el-badge",{attrs:{value:s.value,type:"danger"}},[e("div",{staticClass:"feature-icon"},[e("i",{class:s.icon})])]):e("div",{staticClass:"feature-icon"},[e("i",{class:s.icon})]),e("span",{staticClass:"feature-name"},[t._v(t._s(s.title))])],1)}),0)])],1)],1)},a=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"notice-bar__content"},[e("i",{staticClass:"el-icon-lightbulb"}),t._v(" 尊敬的采购人,欢迎来到时味苏州企业采购平台!您可以先完成下方的基础设置,方便您更高效的采购。 ")])}],l=(s(4114),{name:"UserCenter",data(){return{showNotice:!0,userId:"200901071124",headFun:[{icon:"el-icon-location",title:"设置收货地址",path:"/User/UserAddress"},{icon:"el-icon-document",title:"设置发票抬头",path:"/User/UserInvoice"},{icon:"el-icon-user",title:"设置采购人信息",path:"/User/PurchaserAdd"}],bargaining:[{icon:"el-icon-time",title:"待回复",path:"",value:2},{icon:"el-icon-truck",title:"已取消",path:"",value:2},{icon:"el-icon-menu",title:"已成交",path:"",value:2}],order:[{icon:"el-icon-time",title:"待付款",path:"",value:2},{icon:"el-icon-truck",title:"未发货",path:"",value:2},{icon:"el-icon-menu",title:"全部订单",path:"",value:2}],userInfo:null}},computed:{},mounted(){this.getUserInfo()},methods:{getUserInfo(){this.post({},"/api/uservice/user/getMyInfo").then(t=>{this.userInfo=t.data,console.log(this.userInfo)})},goPath(t){this.$router.push(t)}}}),n=l,c=s(1656),r=(0,c.A)(n,i,a,!1,null,"6cc31808",null),o=r.exports}}]);
//# sourceMappingURL=151.bc9dae61.js.map

1
dist/js/151.bc9dae61.js.map

File diff suppressed because one or more lines are too long

2
dist/js/170.349e118b.js

File diff suppressed because one or more lines are too long

1
dist/js/170.349e118b.js.map

File diff suppressed because one or more lines are too long

2
dist/js/179.c11c622d.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[179],{179: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("el-card",{staticStyle:{width:"100%"}},[t("div",{staticClass:"clearfix flex-between",attrs:{slot:"header"},slot:"header"},[t("span",[e._v("我的发票")]),t("div",{staticClass:"flex-between"},[t("span",{staticStyle:{color:"#666","font-size":"12px"}},[e._v("您已保存了"+e._s(e.invoiceList.length)+"个发票抬头信息,做多可创建5个。")]),t("el-button",{staticStyle:{float:"right"},attrs:{size:"small",type:"primary"},on:{click:function(t){return e.openDialog("add",{})}}},[e._v("新增")])],1)]),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.invoiceList,border:""}},[t("el-table-column",{attrs:{prop:"invoice_head",label:"发票抬头",width:"120"}}),t("el-table-column",{attrs:{prop:"tax_number",label:"纳税人识别号",width:"200"}}),t("el-table-column",{attrs:{prop:"opening_bank",label:"开户银行","min-width":"180"}}),t("el-table-column",{attrs:{prop:"bank_account",label:"银行账号","min-width":"180"}}),t("el-table-column",{attrs:{label:"操作",width:"200"},scopedSlots:e._u([{key:"default",fn:function(i){return[t("el-button",{attrs:{size:"mini"},on:{click:function(t){return e.openDialog("edit",i.row)}}},[e._v("编辑")]),t("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(t){return e.handleDelete(i.row)}}},[e._v("删除")])]}}])})],1)],1),t("el-dialog",{attrs:{title:"发票抬头",visible:e.dialogVisible,width:"700px"},on:{"update:visible":function(t){e.dialogVisible=t}}},[t("el-form",{ref:"form",attrs:{model:e.form,"label-width":"120px",size:"small",rules:e.titleRules}},[t("el-form-item",{attrs:{label:"发票抬头",prop:"invoice_head"}},[t("el-input",{attrs:{placeholder:"请填写发票抬头"},model:{value:e.form.invoice_head,callback:function(t){e.$set(e.form,"invoice_head",t)},expression:"form.invoice_head"}})],1),t("el-form-item",{attrs:{label:"纳税人识别号",prop:"tax_number"}},[t("el-input",{attrs:{placeholder:"请填写纳税人识别号"},model:{value:e.form.tax_number,callback:function(t){e.$set(e.form,"tax_number",t)},expression:"form.tax_number"}})],1),t("el-form-item",{attrs:{label:"开户银行",prop:"opening_bank"}},[t("el-input",{attrs:{placeholder:"请填写开户银行"},model:{value:e.form.opening_bank,callback:function(t){e.$set(e.form,"opening_bank",t)},expression:"form.opening_bank"}})],1),t("el-form-item",{attrs:{label:"银行账号",prop:"bank_account"}},[t("el-input",{attrs:{placeholder:"请填写银行账号"},model:{value:e.form.bank_account,callback:function(t){e.$set(e.form,"bank_account",t)},expression:"form.bank_account"}})],1)],1),t("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.saveInvoiceTitle}},[e._v("保存")])],1)],1)],1)},n=[],l={name:"UserInfo",data(){return{user:{},searchParam:{pageSize:5,currentPage:1,total:10},dialogVisible:!1,invoiceList:[],form:{type:"add",invoice_head:"",tax_number:"",opening_bank:"",bank_account:""},titleRules:{invoice_head:[{required:!0,message:"请输入发票抬头",trigger:"blur"}],tax_number:[{required:!0,message:"请输入纳税人识别号",trigger:"blur"},{pattern:/^[A-Z0-9]{15,20}$/,message:"纳税人识别号格式不正确",trigger:"blur"}],opening_bank:[{required:!0,message:"请输入开户银行",trigger:"blur"}],bank_account:[{required:!0,message:"请输入银行账号",trigger:"blur"}]}}},mounted(){this.getList()},methods:{getList(){this.post({offset:0,limit:5},"/api/enterprise_invoice/index").then(e=>{this.invoiceList=e.data})},handleSizeChange(e){this.searchParam.pageSize=e},handleCurrentChange(e){this.searchParam.currentPage=e},openDialog(e,t){this.form={type:e,id:t.id||"",bank_account:t.bank_account||"",invoice_head:t.invoice_head||"",opening_bank:t.opening_bank||"",tax_number:t.tax_number||""},this.dialogVisible=!0},saveInvoiceTitle(){this.$refs.form.validate(e=>{if(e){let e="add"==this.form.type?"/api/enterprise_invoice/create":"/api/enterprise_invoice/edit";this.post(this.form,e).then(e=>{1==e.code&&(this.getList(),this.$message.success("操作成功"),this.dialogVisible=!1)})}})},handleDelete(e){this.$confirm("此操作将永久删除该发票, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.post({id:e.id},"/api/enterprise_invoice/delete").then(e=>{1==e.code&&(this.getList(),this.$message({type:"success",message:"删除成功!"}))})})}}},r=l,o=i(1656),s=(0,o.A)(r,a,n,!1,null,"89376790",null),c=s.exports}}]);
//# sourceMappingURL=179.c11c622d.js.map

1
dist/js/179.c11c622d.js.map

File diff suppressed because one or more lines are too long

2
dist/js/181.a2fd06e0.js

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[181],{6181: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("div",{staticClass:"common-card normal-margin-bottom"},[t("div",{staticClass:"order-step"},[t("el-steps",{staticStyle:{width:"100%"},attrs:{active:e.activeIndex,"align-center":""}},e._l(e.activities,function(a,s){return t("el-step",{key:s,class:[s==e.activeIndexFlag?"is-current":""]},[t("div",{staticClass:"process-title",attrs:{slot:"title"},slot:"title"},[e._v(e._s(a.status))]),t("div",{attrs:{slot:"icon"},slot:"icon"},[s>=e.activeIndexFlag?t("span",[e._v(e._s(s+1))]):t("i",{staticClass:"el-icon-check",staticStyle:{color:"#fff"}})])])}),1)],1)]),t("el-card",{staticStyle:{width:"100%"}},[t("el-form",{attrs:{model:e.user,"label-width":"150px",size:"small"}},[t("div",{staticClass:"header-title"},[e._v("单位信息")]),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("img",{staticClass:"avatar",attrs:{src:e.user.avatar}}):t("i",{staticClass:"el-icon-plus avatar-uploader-icon"})])],1),t("div",{staticClass:"grid-container"},[t("el-form-item",{attrs:{label:"公司名称:",rules:e.inputRequired}},[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:"统一信用代码:",rules:e.inputRequired}},[t("el-input",{attrs:{placeholder:"请输入"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1)],1),t("div",{staticClass:"grid-container"},[t("el-form-item",{attrs:{label:"法人代表:",rules:e.inputRequired}},[t("el-input",{attrs:{placeholder:"请输入"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1),t("div")],1),t("div",{staticClass:"header-title",staticStyle:{"margin-top":"50px"}},[e._v("联系人信息")]),t("div",{staticClass:"grid-container"},[t("el-form-item",{attrs:{label:"联系人名称:",rules:e.inputRequired}},[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:"手机号码:",rules:e.inputRequired}},[t("el-input",{attrs:{placeholder:"请输入"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1)],1),t("div",{staticClass:"grid-container"},[t("el-form-item",{attrs:{label:"公司地址:",rules:e.inputRequired}},[t("el-cascader",{staticStyle:{width:"100%"},attrs:{options:e.options,filterable:""},model:{value:e.user.address,callback:function(t){e.$set(e.user,"address",t)},expression:"user.address"}})],1),t("el-form-item",{attrs:{label:"详细地址:",rules:e.inputRequired}},[t("el-input",{attrs:{placeholder:"请输入"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1)],1),t("div",{staticClass:"grid-container"},[t("el-form-item",{attrs:{label:"邮箱:",rules:e.inputRequired}},[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:"固定电话:",rules:e.inputRequired}},[t("el-input",{attrs:{placeholder:"请输入"},model:{value:e.user.nickname,callback:function(t){e.$set(e.user,"nickname",t)},expression:"user.nickname"}})],1)],1),t("div",{staticStyle:{display:"flex","justify-content":"center","margin-top":"50px"}},[t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.saveUser}},[e._v("保存")]),t("el-button",{attrs:{size:"small"},on:{click:e.close}},[e._v("关闭")])],1)],1)],1)],1)},l=[],i=(a(4603),a(7566),a(8721),{name:"OrderDetail",data(){return{activities:[{status:"待完善"},{status:"信息待审核"},{status:"审核通过"}],options:[{value:"zhinan",label:"指南",children:[{value:"shejiyuanze",label:"设计原则",children:[{value:"yizhi",label:"一致"}]}]}],activeIndex:2,activeIndexFlag:1,user:{},inputRequired:{required:!0,message:"请输入",trigger:"blur"},selectRequired:{required:!0,message:"请选择",trigger:"change"}}},computed:{},methods:{handleAvatarChange(e){this.user.avatar=URL.createObjectURL(e.raw)}}}),r=i,n=a(1656),c=(0,n.A)(r,s,l,!1,null,"5daf4460",null),u=c.exports}}]);
//# sourceMappingURL=181.a2fd06e0.js.map

1
dist/js/181.a2fd06e0.js.map

File diff suppressed because one or more lines are too long

2
dist/js/217.d6b5d26b.js

File diff suppressed because one or more lines are too long

1
dist/js/217.d6b5d26b.js.map

File diff suppressed because one or more lines are too long

4
dist/js/896.996819fe.js → dist/js/220.98d37146.js

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[896],{3896:function(e,t,s){s.r(t),s.d(t,{default:function(){return n}});s(8111),s(116);var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"product-grid-page"},[e.showFilter?t("div",{staticClass:"filter-bar"},[t("el-select",{staticClass:"filter-select",attrs:{placeholder:"全部分类"},on:{change:e.handleCategoryChange},model:{value:e.selectedCategory,callback:function(t){e.selectedCategory=t},expression:"selectedCategory"}},e._l(e.categories,function(e){return t("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1),t("el-select",{staticClass:"filter-select",attrs:{placeholder:"综合排序"},on:{change:e.handleSortChange},model:{value:e.selectedSort,callback:function(t){e.selectedSort=t},expression:"selectedSort"}},[t("el-option",{attrs:{label:"综合排序",value:"default"}}),t("el-option",{attrs:{label:"销量↑",value:"sales_asc"}}),t("el-option",{attrs:{label:"销量↓",value:"sales_desc"}}),t("el-option",{attrs:{label:"价格↑",value:"price_asc"}}),t("el-option",{attrs:{label:"价格↓",value:"price_desc"}})],1)],1):e._e(),"search"==e.type?t("div",{staticClass:"result-stats"},[t("span",[e._v("全部结果 >")]),e.searchKeyword?t("span",{staticClass:"keyword"},[e._v('"'+e._s(e.searchKeyword)+'"')]):e._e(),e.selectedCategory&&e.categories.find(t=>t.value===e.selectedCategory)?t("span",{staticClass:"category"},[e._v(' "'+e._s(e.categories.find(t=>t.value===e.selectedCategory).label)+'" ')]):e._e(),t("span",[e._v("共"+e._s(e.totalProducts)+"个结果")])]):e._e(),t("div",{staticClass:"product-grid"},[e._l(e.visibleProducts,function(s,a){return t("div",{key:a,staticClass:"product-card",on:{click:function(t){return e.goToDetail(s.id)}}},[t("img",{directives:[{name:"lazy",rawName:"v-lazy",value:s.headimg,expression:"product.headimg"}],staticClass:"product-img",attrs:{alt:s.title,fit:"cover"}}),t("div",{staticClass:"product-info"},[t("div",{staticClass:"product-name"},[e._v(e._s(s.title))]),t("div",{staticClass:"price-row"},[t("span",{staticClass:"current-price"},[e._v("¥"+e._s(s.price/100))]),s.market_price?t("span",{staticClass:"original-price"},[e._v("¥"+e._s(s.market_price/100))]):e._e()]),t("div",{staticClass:"sales-volume"},[t("i",{staticClass:"el-icon-shopping-cart"}),e._v(" 已售 "+e._s(s.sales_number)+" ")]),t("el-button",{staticClass:"cart-btn",attrs:{type:"primary",size:"mini"}},[e._v(" 立即购买 ")])],1)])}),0===e.visibleProducts.length?t("div",{staticClass:"empty-state"},[t("el-empty",{attrs:{description:"暂无符合条件的商品"}})],1):e._e()],2),e.totalProducts>0?t("div",{staticClass:"pagination-container"},[t("el-pagination",{attrs:{"current-page":e.currentPage,"page-sizes":[12,24,36],"page-size":e.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalProducts},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1):e._e()])},r=[],i=(s(4114),s(3518)),c={name:"ProductGridPage",data(){return{type:"",searchKeyword:"",selectedCategory:"",selectedSort:"default",showFilter:!0,currentPage:1,pageSize:12,visibleProducts:[],totalProducts:0,categories:[],id:"",keyword:""}},computed:{...(0,i.L8)(["getSearchText"]),currentOffset(){return(this.currentPage-1)*this.pageSize}},watch:{getSearchText(e,t){e!==t&&(this.searchKeyword=e,this.fetchProducts())}},created(){this.type=this.$route.query?.type,this.searchKeyword=this.getSearchText,this.getTagList(),this.$bus.on("search-product",e=>{this.searchKeyword=e,this.currentPage=1,this.fetchProducts()})},beforeDestroy(){this.$bus.off("search-product"),this.searchKeyword="",this.$store.commit("setSearchText",""),this.currentPage=1,this.selectedCategory="",this.selectedSort="default"},methods:{getTagList(){this.post({pid:683},"/api/product/tag_list").then(e=>{this.categories=e.data,this.categories[0].id=662;const t=this.$route.query.id||662;if(t){this.id=t;const e=this.categories.find(e=>e.id==t);console.log(t,e),e&&(this.selectedCategory=e.name)}this.fetchProducts()})},async fetchProducts(){const e={tag_id:this.id||this.selectedCategory,offset:this.currentOffset,limit:this.pageSize,title:this.searchKeyword,...this.parseSortParams()};this.searchKeyword&&(e.keyword=this.searchKeyword);const t=await this.post(e,"/api/product/get_product_by_tag");this.visibleProducts=t.data.list||[],this.totalProducts=Number(t.data.total)||0},parseSortParams(){if("default"===this.selectedSort)return{};const[e,t]=this.selectedSort.split("_"),s={sales:"sales_number",price:"price"};return{sort:s[e],order:t}},handleCategoryChange(e){this.id=e,this.currentPage=1,this.fetchProducts()},handleSortChange(){this.currentPage=1,this.fetchProducts()},handleSizeChange(e){this.pageSize=e,this.currentPage=1,this.fetchProducts()},handleCurrentChange(e){this.currentPage=e,this.fetchProducts(),window.scrollTo(0,0)},goToDetail(e){this.$router.push(`/Detail/${e}`)}}},o=c,l=s(1656),d=(0,l.A)(o,a,r,!1,null,"cf708dca",null),n=d.exports}}]); "use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[220],{6220:function(e,t,s){s.r(t),s.d(t,{default:function(){return n}});s(8111),s(116);var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"product-grid-page"},[e.showFilter?t("div",{staticClass:"filter-bar"},[t("el-select",{staticClass:"filter-select",attrs:{placeholder:"全部分类"},on:{change:e.handleCategoryChange},model:{value:e.selectedCategory,callback:function(t){e.selectedCategory=t},expression:"selectedCategory"}},e._l(e.categories,function(e){return t("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1),t("el-select",{staticClass:"filter-select",attrs:{placeholder:"综合排序"},on:{change:e.handleSortChange},model:{value:e.selectedSort,callback:function(t){e.selectedSort=t},expression:"selectedSort"}},[t("el-option",{attrs:{label:"综合排序",value:"default"}}),t("el-option",{attrs:{label:"销量↑",value:"sales_asc"}}),t("el-option",{attrs:{label:"销量↓",value:"sales_desc"}}),t("el-option",{attrs:{label:"价格↑",value:"price_asc"}}),t("el-option",{attrs:{label:"价格↓",value:"price_desc"}})],1)],1):e._e(),"search"==e.type?t("div",{staticClass:"result-stats"},[t("span",[e._v("全部结果 >")]),e.searchKeyword?t("span",{staticClass:"keyword"},[e._v('"'+e._s(e.searchKeyword)+'"')]):e._e(),e.selectedCategory&&e.categories.find(t=>t.value===e.selectedCategory)?t("span",{staticClass:"category"},[e._v(' "'+e._s(e.categories.find(t=>t.value===e.selectedCategory).label)+'" ')]):e._e(),t("span",[e._v("共"+e._s(e.totalProducts)+"个结果")])]):e._e(),t("div",{staticClass:"product-grid"},[e._l(e.visibleProducts,function(s,a){return t("div",{key:a,staticClass:"product-card",on:{click:function(t){return e.goToDetail(s.id)}}},[t("img",{directives:[{name:"lazy",rawName:"v-lazy",value:s.headimg,expression:"product.headimg"}],staticClass:"product-img",attrs:{alt:s.title,fit:"cover"}}),t("div",{staticClass:"product-info"},[t("div",{staticClass:"product-name"},[e._v(e._s(s.title))]),t("div",{staticClass:"price-row"},[t("span",{staticClass:"current-price"},[e._v("¥"+e._s(s.price/100))]),s.market_price?t("span",{staticClass:"original-price"},[e._v("¥"+e._s(s.market_price/100))]):e._e()]),t("div",{staticClass:"sales-volume"},[t("i",{staticClass:"el-icon-shopping-cart"}),e._v(" 已售 "+e._s(s.sales_number)+" ")]),t("el-button",{staticClass:"cart-btn",attrs:{type:"primary",size:"mini"}},[e._v(" 立即购买 ")])],1)])}),0===e.visibleProducts.length?t("div",{staticClass:"empty-state"},[t("el-empty",{attrs:{description:"暂无符合条件的商品"}})],1):e._e()],2),e.totalProducts>0?t("div",{staticClass:"pagination-container"},[t("el-pagination",{attrs:{"current-page":e.currentPage,"page-sizes":[12,24,36],"page-size":e.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.totalProducts},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1):e._e()])},r=[],i=(s(4114),s(3518)),c={name:"ProductGridPage",data(){return{type:"",searchKeyword:"",selectedCategory:"",selectedSort:"default",showFilter:!0,currentPage:1,pageSize:12,visibleProducts:[],totalProducts:0,categories:[],id:"",keyword:""}},computed:{...(0,i.L8)(["getSearchText"]),currentOffset(){return(this.currentPage-1)*this.pageSize}},watch:{getSearchText(e,t){e!==t&&(this.searchKeyword=e,this.fetchProducts())}},created(){this.type=this.$route.query?.type,this.searchKeyword=this.getSearchText,this.getTagList()},beforeDestroy(){this.searchKeyword="",this.$store.commit("setSearchText",""),this.currentPage=1,this.selectedCategory="",this.selectedSort="default"},methods:{getTagList(){this.post({pid:683},"/api/product/tag_list").then(e=>{this.categories=e.data,this.categories[0].id=662;const t=this.$route.query.id||662;if(t){this.id=t;const e=this.categories.find(e=>e.id==t);console.log(t,e),e&&(this.selectedCategory=e.name)}this.fetchProducts()})},async fetchProducts(){const e={tag_id:this.id||this.selectedCategory,offset:this.currentOffset,limit:this.pageSize,title:this.searchKeyword,...this.parseSortParams()};this.searchKeyword&&(e.keyword=this.searchKeyword);const t=await this.post(e,"/api/product/get_product_by_tag");this.visibleProducts=t.data.list||[],this.totalProducts=Number(t.data.total)||0},parseSortParams(){if("default"===this.selectedSort)return{};const[e,t]=this.selectedSort.split("_"),s={sales:"sales_number",price:"price"};return{sort:s[e],order:t}},handleCategoryChange(e){this.id=e,this.currentPage=1,this.fetchProducts()},handleSortChange(){this.currentPage=1,this.fetchProducts()},handleSizeChange(e){this.pageSize=e,this.currentPage=1,this.fetchProducts()},handleCurrentChange(e){this.currentPage=e,this.fetchProducts(),window.scrollTo(0,0)},goToDetail(e){this.$router.push(`/Detail/${e}`)}}},l=c,o=s(1656),d=(0,o.A)(l,a,r,!1,null,"f31b94e0",null),n=d.exports}}]);
//# sourceMappingURL=896.996819fe.js.map //# sourceMappingURL=220.98d37146.js.map

1
dist/js/220.98d37146.js.map

File diff suppressed because one or more lines are too long

2
dist/js/230.6e39146c.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[230],{5230:function(e,t,a){a.r(t),a.d(t,{default:function(){return c}});var i=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(a){return a.row.invoice_url?[t("el-button",{attrs:{size:"mini"},on:{click:function(t){return e.handleDownload(a.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=(a(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,a=document.createElement("a");a.href=t,a.download=`发票${e.invoice_head}.pdf`,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),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=a(1656),n=(0,o.A)(s,i,l,!1,null,"574b70c4",null),c=n.exports}}]);
//# sourceMappingURL=230.6e39146c.js.map

1
dist/js/230.6e39146c.js.map

File diff suppressed because one or more lines are too long

2
dist/js/322.693252a2.js

File diff suppressed because one or more lines are too long

1
dist/js/322.693252a2.js.map

File diff suppressed because one or more lines are too long

2
dist/js/328.82cd4078.js

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[328],{2328:function(t,e,s){s.r(e),s.d(e,{default:function(){return c}});var a=function(){var t=this,e=t._self._c;return e("div",{staticClass:"bg"},[e("div",{staticClass:"left-container"},t._l(t.navList,function(s,a){return e("router-link",{key:a,class:["route-item",t.selectIndex==a?"active":""],attrs:{to:s.path}},[t._v(t._s(s.title))])}),1),e("div",{staticClass:"right-container"},[e("router-view")],1)])},r=[],i={data(){return{selectIndex:0,navList:[{title:"个人中心",path:"/User/UserCenter"},{title:"我的购物车",path:"/User/ShoppingCart"},{title:"我的订单",path:"/User/OrderList"},{title:"评价管理",path:"/User/CommentManage"},{title:"我的发票",path:"/User/UserInvoiceList"},{title:"发票抬头",path:"/User/UserInvoice"},{title:"合同管理",path:"/User/ContractList"},{title:"消息中心",path:"/User/MessageList"},{title:"个人信息",path:"/User/UserInfo"},{title:"采购人信息",path:"/User/PurchaserAdd"},{title:"我的收货地址",path:"/User/UserAddress"}]}},watch:{$route(t,e){let s=t.path.toLocaleLowerCase(),a=this.navList.findIndex(t=>t.path.toLocaleLowerCase()==s);a>=0&&(this.selectIndex=a)}},computed:{},created(){let t=this.$route.path.toLocaleLowerCase(),e=this.navList.findIndex(e=>e.path.toLocaleLowerCase()==t);e>=0&&(this.selectIndex=e)},methods:{}},n=i,l=s(1656),o=(0,l.A)(n,a,r,!1,null,"ae67915e",null),c=o.exports}}]);
//# sourceMappingURL=328.82cd4078.js.map

1
dist/js/328.82cd4078.js.map

File diff suppressed because one or more lines are too long

2
dist/js/334.f62139de.js

File diff suppressed because one or more lines are too long

1
dist/js/334.f62139de.js.map

File diff suppressed because one or more lines are too long

2
dist/js/406.069a7943.js

File diff suppressed because one or more lines are too long

1
dist/js/406.069a7943.js.map

File diff suppressed because one or more lines are too long

2
dist/js/441.1691e640.js → dist/js/441.182fe637.js

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).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}}]); "use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).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.1691e640.js.map //# sourceMappingURL=441.182fe637.js.map

2
dist/js/441.1691e640.js.map → dist/js/441.182fe637.js.map

File diff suppressed because one or more lines are too long

2
dist/js/558.5f7f14dd.js

File diff suppressed because one or more lines are too long

1
dist/js/558.5f7f14dd.js.map

File diff suppressed because one or more lines are too long

2
dist/js/573.e3b0bcf8.js

File diff suppressed because one or more lines are too long

1
dist/js/573.e3b0bcf8.js.map

File diff suppressed because one or more lines are too long

2
dist/js/610.3d8586f2.js

File diff suppressed because one or more lines are too long

1
dist/js/610.3d8586f2.js.map

File diff suppressed because one or more lines are too long

2
dist/js/757.de7809f4.js

File diff suppressed because one or more lines are too long

1
dist/js/757.de7809f4.js.map

File diff suppressed because one or more lines are too long

2
dist/js/882.62bac42e.js

File diff suppressed because one or more lines are too long

1
dist/js/882.62bac42e.js.map

File diff suppressed because one or more lines are too long

1
dist/js/896.996819fe.js.map

File diff suppressed because one or more lines are too long

2
dist/js/927.26798669.js → dist/js/927.b74d23ba.js

File diff suppressed because one or more lines are too long

2
dist/js/927.26798669.js.map → dist/js/927.b74d23ba.js.map

File diff suppressed because one or more lines are too long

2
dist/js/95.41c718be.js

File diff suppressed because one or more lines are too long

1
dist/js/95.41c718be.js.map

File diff suppressed because one or more lines are too long

2
dist/js/975.6d55c1a8.js

File diff suppressed because one or more lines are too long

1
dist/js/975.6d55c1a8.js.map

File diff suppressed because one or more lines are too long

2
dist/js/app.0affbfcc.js

File diff suppressed because one or more lines are too long

1
dist/js/app.0affbfcc.js.map

File diff suppressed because one or more lines are too long

2
dist/js/app.71c4eb46.js

File diff suppressed because one or more lines are too long

1
dist/js/app.71c4eb46.js.map

File diff suppressed because one or more lines are too long

BIN
src/assets/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

40
src/components/layout/HeaderNav.vue

@ -42,6 +42,7 @@
src="https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png" src="https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png"
alt="logo" alt="logo"
class="logo-img" class="logo-img"
@click="searchText = ''"
/> />
</router-link> </router-link>
</div> </div>
@ -60,45 +61,29 @@
@click="handleSearch" @click="handleSearch"
></el-button> ></el-button>
</el-input> </el-input>
<div class="hot-tags"> <div class="hot-tags" v-if="hotList.length > 0">
<span>热门搜索</span> <span>热门搜索</span>
<div <div
v-for="(item, index) in hotList"
:key="index"
@click=" @click="
searchText = '手机'; searchText = item.name;
handleSearch(); handleSearch();
" "
class="hot-tag" class="hot-tag"
> >
手机 {{ item.name }}
</div>
<div
@click="
searchText = '电脑';
handleSearch();
"
class="hot-tag"
>
电脑
</div>
<div
@click="
searchText = '服装';
handleSearch();
"
class="hot-tag"
>
服装
</div> </div>
</div> </div>
</div> </div>
<!-- 电话 --> <!-- 电话 -->
<div class="phone-entry"> <div class="phone-entry">
<div style="display: flex;align-items: center;"> <div style="display: flex; align-items: center">
<img <img
src="https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png" src="https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png"
alt="联系电话" alt="联系电话"
style="margin-right: 5px;" style="margin-right: 5px"
/> />
<span>0512-680541</span> <span>0512-680541</span>
<span class="cart-count" v-if="cartTotalCount > 0 && false">{{ <span class="cart-count" v-if="cartTotalCount > 0 && false">{{
@ -148,6 +133,7 @@ export default {
data() { data() {
return { return {
searchText: "", searchText: "",
hotList: [],
}; };
}, },
computed: { computed: {
@ -172,6 +158,11 @@ export default {
}, },
created() { created() {
this.fetchCategories(); this.fetchCategories();
//
this.post({}, "/api/search/hot").then((res) => {
this.hotList = res.data;
});
}, },
methods: { methods: {
...mapActions(["fetchCategories", "logout"]), ...mapActions(["fetchCategories", "logout"]),
@ -182,8 +173,7 @@ export default {
// //
if (this.$route.path === "/ProductList") { if (this.$route.path === "/ProductList") {
//
this.$bus.emit("search-product", this.searchText);
} else { } else {
// //
this.$router.push({ this.$router.push({

8
src/components/layout/HomeLayout.vue

@ -54,14 +54,14 @@
<i class="icon el-icon-goods"></i> <i class="icon el-icon-goods"></i>
<span>我的订单</span> <span>我的订单</span>
</router-link> </router-link>
<router-link to="/User/ViewHistory" class="icon-item"> <!-- <router-link to="/User/ViewHistory" class="icon-item">
<i class="icon el-icon-star-off"></i> <i class="icon el-icon-star-off"></i>
<span>我的收藏</span> <span>我的收藏</span>
</router-link> </router-link> -->
<router-link to="/User/UserCenter" class="icon-item"> <!-- <router-link to="/User/UserCenter" class="icon-item">
<i class="icon el-icon-pie-chart"></i> <i class="icon el-icon-pie-chart"></i>
<span>议价单</span> <span>议价单</span>
</router-link> </router-link> -->
</div> </div>
<!-- <div class="announcement"> <!-- <div class="announcement">

3
src/main.js

@ -15,9 +15,6 @@ Vue.use(utils)
Vue.config.productionTip = false Vue.config.productionTip = false
Vue.use(ElementUI) Vue.use(ElementUI)
// 注册全局事件总线
Vue.prototype.$bus = new Vue()
// 配置图片懒加载 // 配置图片懒加载
Vue.use(VueLazyload, { Vue.use(VueLazyload, {
preLoad: 1.3, // 预加载高度比例 preLoad: 1.3, // 预加载高度比例

16
src/views/Order/Index.vue

@ -206,7 +206,7 @@
<el-dialog <el-dialog
title="新增发票抬头" title="新增发票抬头"
:visible.sync="invoiceTitleDialogVisible" :visible.sync="invoiceTitleDialogVisible"
width="500px" width="700px"
:before-close="handleTitleDialogClose" :before-close="handleTitleDialogClose"
> >
<el-form <el-form
@ -216,28 +216,28 @@
label-width="120px" label-width="120px"
class="invoice-title-form" class="invoice-title-form"
> >
<el-form-item label="发票抬头" prop="name"> <el-form-item label="发票抬头" prop="invoice_head">
<el-input <el-input
v-model="titleForm.invoice_head" v-model="titleForm.invoice_head"
placeholder="请输入发票抬头" placeholder="请输入发票抬头"
maxlength="100" maxlength="100"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayerId"> <el-form-item label="纳税人识别号" prop="tax_number">
<el-input <el-input
v-model="titleForm.tax_number" v-model="titleForm.tax_number"
placeholder="请输入纳税人识别号" placeholder="请输入纳税人识别号"
maxlength="20" maxlength="20"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="开户银行" prop="bankName"> <el-form-item label="开户银行" prop="opening_bank">
<el-input <el-input
v-model="titleForm.opening_bank" v-model="titleForm.opening_bank"
placeholder="请输入开户银行" placeholder="请输入开户银行"
maxlength="100" maxlength="100"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="银行账号" prop="bankAccount"> <el-form-item label="银行账号" prop="bank_account">
<el-input <el-input
v-model="titleForm.bank_account" v-model="titleForm.bank_account"
placeholder="请输入银行账号" placeholder="请输入银行账号"
@ -358,12 +358,6 @@ export default {
saveInvoiceTitle() { saveInvoiceTitle() {
this.$refs.titleForm.validate((valid) => { this.$refs.titleForm.validate((valid) => {
if (valid) { if (valid) {
//
//
const newTitle = {
...this.titleForm,
};
this.post(this.titleForm, "/api/enterprise_invoice/create").then( this.post(this.titleForm, "/api/enterprise_invoice/create").then(
(res) => { (res) => {
if (res.code == 1) { if (res.code == 1) {

11
src/views/ProductPage/Index.vue

@ -148,20 +148,9 @@ export default {
this.type = this.$route.query?.type; this.type = this.$route.query?.type;
this.searchKeyword = this.getSearchText; this.searchKeyword = this.getSearchText;
this.getTagList(); this.getTagList();
//
this.$bus.on("search-product", (keyword) => {
//
this.searchKeyword = keyword;
//
this.currentPage = 1;
//
this.fetchProducts();
});
}, },
// //
beforeDestroy() { beforeDestroy() {
this.$bus.off("search-product");
// //
this.searchKeyword = ""; this.searchKeyword = "";
// Vuex // Vuex

9
src/views/User/ContractList.vue

@ -73,7 +73,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="product-info"> <div class="product-info">
<img <img
:src="util.showImg(scope.row.product_headimg)" :src="scope.row.product_headimg"
class="product-img" class="product-img"
/> />
<div class="product-name"> <div class="product-name">
@ -152,7 +152,7 @@ export default {
// //
handleDownload(row) { handleDownload(row) {
const downloadUrl = this.util.showImg(row.contract_url); const downloadUrl = row.contract_url;
// //
const link = document.createElement("a"); const link = document.createElement("a");
link.href = downloadUrl; link.href = downloadUrl;
@ -169,7 +169,7 @@ export default {
}, },
// //
getList() { getList() {
this.get( this.post(
{ {
offset: (this.currentPage - 1) * this.filterForm.limit, offset: (this.currentPage - 1) * this.filterForm.limit,
...this.filterForm, ...this.filterForm,
@ -182,7 +182,7 @@ export default {
// //
search() { search() {
this.currentPage = 1; // this.currentPage = 1; //
this.getList() this.getList();
}, },
// //
@ -191,6 +191,7 @@ export default {
order_id: "", order_id: "",
createTime: "", createTime: "",
contract_number: "", contract_number: "",
datetime: "",
}; };
this.activeTab = "all"; this.activeTab = "all";
this.currentPage = 1; this.currentPage = 1;

273
src/views/User/UserInvoice.vue

@ -1,25 +1,66 @@
<template> <template>
<div class="bg"> <div class="bg">
<el-card style="width: 100%;"> <el-card style="width: 100%">
<div slot="header" class="clearfix flex-between"> <div slot="header" class="clearfix flex-between">
<span>我的发票</span> <span>我的发票</span>
<div class="flex-between"> <div class="flex-between">
<span style="color: #666;font-size: 12px;">您已保存了1个发票抬头信息做多可创建5个</span> <span style="color: #666; font-size: 12px"
<el-button size="small" style="float: right;" type="primary" @click="openDialog('add', {})">新增</el-button> >您已保存了{{
invoiceList.length
}}个发票抬头信息做多可创建5个</span
>
<el-button
size="small"
style="float: right"
type="primary"
@click="openDialog('add', {})"
>新增</el-button
>
</div> </div>
</div> </div>
<el-table :data="addresses" border style="width: 100%;"> <el-table :data="invoiceList" border style="width: 100%">
<el-table-column prop="receiver" label="发票抬头" width="120"></el-table-column> <el-table-column
<el-table-column prop="region" label="纳税人识别号" width="120"></el-table-column> prop="invoice_head"
<el-table-column prop="detailAddress" label="开户银行" width="300"></el-table-column> label="发票抬头"
<el-table-column prop="phone" label="银行账号" width="150"></el-table-column> width="120"
<el-table-column prop="fixedPhone" label="注册电话" width="150"></el-table-column> ></el-table-column>
<el-table-column prop="alias" label="注册地址" width="120"></el-table-column> <el-table-column
prop="tax_number"
label="纳税人识别号"
width="200"
></el-table-column>
<el-table-column
prop="opening_bank"
label="开户银行"
min-width="180"
></el-table-column>
<el-table-column
prop="bank_account"
label="银行账号"
min-width="180"
></el-table-column>
<!-- <el-table-column
prop="fixedPhone"
label="注册电话"
width="150"
></el-table-column>
<el-table-column
prop="alias"
label="注册地址"
width="120"
></el-table-column> -->
<el-table-column label="操作" width="200"> <el-table-column label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" @click="handleEdit(scope.row)">编辑</el-button> <el-button size="mini" @click="openDialog('edit', scope.row)"
<el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button> >编辑</el-button
>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row)"
>删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -36,90 +77,98 @@
:total="searchParam.total" :total="searchParam.total"
></el-pagination> ></el-pagination>
</div> --> </div> -->
</el-card> </el-card>
<el-dialog title="发票抬头" :visible.sync="dialogVisible" width="700px">
<el-dialog title="编辑发票抬头" :visible.sync="dialogVisible" width="700px"> <el-form
<el-form :model="address" label-width="120px" size="small"> :model="form"
<el-form-item label="*发票抬头"> label-width="120px"
<el-input v-model="address.receiver" placeholder="请填写发票抬头"></el-input> size="small"
ref="form"
:rules="titleRules"
>
<el-form-item label="发票抬头" prop="invoice_head">
<el-input
v-model="form.invoice_head"
placeholder="请填写发票抬头"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="*纳税人识别号"> <el-form-item label="纳税人识别号" prop="tax_number">
<el-input v-model="address.region" placeholder="请填写纳税人识别号"></el-input> <el-input
v-model="form.tax_number"
placeholder="请填写纳税人识别号"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="*开户银行"> <el-form-item label="开户银行" prop="opening_bank">
<el-input v-model="address.detailAddress" placeholder="请填写开户银行"></el-input> <el-input
v-model="form.opening_bank"
placeholder="请填写开户银行"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="*银行账号"> <el-form-item label="银行账号" prop="bank_account">
<el-input v-model="address.phone" placeholder="请填写银行账号"></el-input> <el-input
</el-form-item> v-model="form.bank_account"
<el-form-item label="注册电话"> placeholder="请填写银行账号"
<el-input v-model="address.fixedPhone" placeholder="请填写注册号码"></el-input> ></el-input>
</el-form-item>
<el-form-item label="注册地址">
<el-input v-model="address.alias" placeholder="请填写注册地址"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogVisible = false">取消</el-button> <el-button size="small" @click="dialogVisible = false">取消</el-button>
<el-button size="small" type="primary" @click="saveAddress">保存</el-button> <el-button size="small" type="primary" @click="saveInvoiceTitle"
>保存</el-button
>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'UserInfo', name: "UserInfo",
data() { data() {
return { return {
user: {}, user: {},
searchParam: {pageSize: 5, currentPage: 1,total: 10}, searchParam: { pageSize: 5, currentPage: 1, total: 10 },
dialogVisible: false, dialogVisible: false,
addresses: [ invoiceList: [],
{ form: {
id: 1, type: "add",
receiver: '张三', invoice_head: "",
region: '北京', tax_number: "",
detailAddress: '北京市朝阳区xx街道xx小区xx号楼xx单元', opening_bank: "",
phone: '13800138000', bank_account: "",
fixedPhone: '010-12345678',
alias: '家'
}, },
titleRules: {
invoice_head: [
{ required: true, message: "请输入发票抬头", trigger: "blur" },
],
tax_number: [
{ required: true, message: "请输入纳税人识别号", trigger: "blur" },
{ {
id: 2, pattern: /^[A-Z0-9]{15,20}$/,
receiver: '李四', message: "纳税人识别号格式不正确",
region: '上海', trigger: "blur",
detailAddress: '上海市浦东新区xx街道xx小区xx号楼xx单元',
phone: '13900139000',
fixedPhone: '021-12345678',
alias: '公司'
}, },
{
id: 3,
receiver: '王五',
region: '广州',
detailAddress: '广州市天河区xx街道xx小区xx号楼xx单元',
phone: '13700137000',
fixedPhone: '020-12345678',
alias: '朋友家'
}
], ],
address: { opening_bank: [
type: 'add', { required: true, message: "请输入开户银行", trigger: "blur" },
id: '', ],
receiver: '', bank_account: [
region: '', { required: true, message: "请输入银行账号", trigger: "blur" },
detailAddress: '', ],
phone: '', },
fixedPhone: '', };
alias: '' },
} mounted() {
this.getList();
},
methods: {
getList() {
this.post({ offset: 0, limit: 5 }, "/api/enterprise_invoice/index").then(
(res) => {
this.invoiceList = res.data;
} }
);
}, },
methods:{
// //
handleSizeChange(val) { handleSizeChange(val) {
this.searchParam.pageSize = val; this.searchParam.pageSize = val;
@ -129,67 +178,57 @@ export default {
handleCurrentChange(val) { handleCurrentChange(val) {
this.searchParam.currentPage = val; this.searchParam.currentPage = val;
}, },
openDialog (type, item) { openDialog(type, item) {
this.address = { this.form = {
type: type, type: type,
id: item.id || "", id: item.id || "",
receiver: item.receiver || "", bank_account: item.bank_account || "",
region: item.region || "", invoice_head: item.invoice_head || "",
detailAddress: item.detailAddress || "", opening_bank: item.opening_bank || "",
phone: item.phone || "", tax_number: item.tax_number || "",
fixedPhone: item.fixedPhone || "", };
alias: item.alias || ""
}
this.dialogVisible = true; this.dialogVisible = true;
}, },
saveAddress() { //
if (this.address.id) { saveInvoiceTitle() {
// this.$refs.form.validate((valid) => {
const index = this.addresses.findIndex(item => item.id === this.address.id); if (valid) {
if (index !== -1) { let url =
this.addresses[index] = { ...this.address }; this.form.type == "add"
? "/api/enterprise_invoice/create"
: "/api/enterprise_invoice/edit";
this.post(this.form, url).then((res) => {
if (res.code == 1) {
this.getList();
this.$message.success("操作成功");
this.dialogVisible = false;
} }
} else { });
//
this.address.id = Date.now();
this.addresses.push({ ...this.address });
} }
this.$message({
message: '保存成功',
type: 'success'
}); });
this.dialogVisible = false;
},
handleEdit(row) {
this.address = { ...row };
this.dialogVisible = true;
}, },
handleDelete(row) { handleDelete(row) {
this.$confirm('此操作将永久删除该地址, 是否继续?', '提示', { this.$confirm("此操作将永久删除该发票, 是否继续?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning",
}).then(() => { }).then(() => {
const index = this.addresses.findIndex(item => item.id === row.id); this.post({ id: row.id }, "/api/enterprise_invoice/delete").then(
if (index !== -1) { (res) => {
this.addresses.splice(index, 1); if (res.code == 1) {
} this.getList()
this.$message({ this.$message({
type: 'success', type: "success",
message: '删除成功!' message: "删除成功!",
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
}); });
} }
} }
);
} });
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>

481
src/views/User/UserInvoiceList.vue

@ -1,33 +1,49 @@
<template> <template>
<div class="bg"> <div class="bg">
<el-tabs v-model="activeTab"> <!-- <el-tabs v-model="activeTab">
<el-tab-pane label="已开票订单" name="pendingPayment"></el-tab-pane> <el-tab-pane label="已开票订单" name="pendingPayment"></el-tab-pane>
<el-tab-pane label="未开票订单" name="pendingDelivery"></el-tab-pane> <el-tab-pane label="未开票订单" name="pendingDelivery"></el-tab-pane>
</el-tabs> </el-tabs> -->
<div class="filter-bar"> <div class="filter-bar">
<el-form :inline="true" :model="filterForm" size="small"> <el-form :inline="true" :model="filterForm" size="small">
<el-form-item label="订单编号"> <el-form-item label="订单编号">
<el-input v-model="filterForm.orderNo" placeholder="请输入订单编号"></el-input> <el-input
v-model="filterForm.order_id"
placeholder="请输入订单编号"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="交易状态"> <el-form-item label="开票状态">
<el-select v-model="filterForm.tradeStatus" placeholder="请选择" style="width: 200px;"> <el-select
v-model="filterForm.invoice_status"
placeholder="请选择"
style="width: 200px"
>
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option label="待付款" value="pendingPayment"></el-option> <el-option label="未申请" value="0"></el-option>
<el-option label="待发货" value="pendingDelivery"></el-option> <el-option label="已申请" value="1"></el-option>
<el-option label="配送中" value="delivering"></el-option> <el-option label="已开票" value="2"></el-option>
<el-option label="已完成" value="completed"></el-option> <el-option label="开票失败" value="3"></el-option>
<el-option label="已取消" value="cancelled"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="下单时间"> <el-form-item label="下单时间">
<el-date-picker v-model="filterForm.createTime" type="daterange" range-separator="" start-placeholder="开始日期" <el-date-picker
end-placeholder="结束日期" value-format="yyyy-MM-dd"></el-date-picker> v-model="filterForm.datetime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button style="background:#6a8a27;border: none;" type="primary" @click="search">搜索</el-button> <el-button
style="background: #6a8a27; border: none"
type="primary"
@click="search"
>搜索</el-button
>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="reset">重置</el-button> <el-button @click="reset">重置</el-button>
@ -35,251 +51,187 @@
</el-form> </el-form>
</div> </div>
<el-table :data="orders" border style="width: 100%;"> <el-table :data="invoiceList" border style="width: 100%">
<el-table-column prop="orderNo" label="订单号" min-width="120"></el-table-column> <el-table-column
<el-table-column prop="status" label="订单状态" width="120"></el-table-column> prop="order_id"
<el-table-column prop="createTime" label="下单时间" width="200"></el-table-column> label="订单号"
<el-table-column prop="totalAmount" label="发票金额" width="120"></el-table-column> min-width="120"
<el-table-column prop="orderNo" label="发票抬头" min-width="120"></el-table-column> ></el-table-column>
<el-table-column prop="orderNo" label="发票类型" width="120"></el-table-column> <el-table-column
<el-table-column prop="orderNo" label="开票状态" width="120"></el-table-column> prop="status"
label="订单状态"
<el-table-column label="操作" width="200"> width="80"
></el-table-column>
<el-table-column
prop="create_time"
label="下单时间"
width="200"
></el-table-column>
<el-table-column
prop="paid_money"
label="发票金额"
width="110"
></el-table-column>
<el-table-column
prop="invoice_head"
label="发票抬头"
min-width="120"
></el-table-column>
<el-table-column
prop="invoice_type"
label="发票类型"
width="120"
></el-table-column>
<el-table-column prop="invoice_status" label="开票状态" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" @click="handleEdit(scope.row)">下载发票</el-button> {{ getStatusText(scope.row.invoice_status) }}
<el-button size="mini" type="danger" @click="handleDelete(scope.row)">申请发票</el-button> </template>
</el-table-column>
<el-table-column label="操作" width="110">
<template slot-scope="scope" v-if="scope.row.invoice_url">
<el-button size="mini" @click="handleDownload(scope.row)"
>下载发票</el-button
>
<!-- <el-button size="mini" type="danger" @click="handleDelete(scope.row)"
>申请发票</el-button
> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<div style="text-align: right; margin-top: 20px;"> <div style="text-align: right; margin-top: 20px">
<el-pagination <el-pagination
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="filterForm.currentPage" :current-page="filterForm.offset"
:page-sizes="[5, 10, 20]" :page-sizes="[5, 10, 20]"
:page-size="filterForm.pageSize" :page-size="filterForm.limit"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="filterForm.total" :total="filterForm.total"
></el-pagination> ></el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'OrderList', name: "OrderList",
data () { data() {
return { return {
activeTab: 'all', activeTab: "all",
currentPage: 1,
pageSize: 10,
filterForm: { filterForm: {
goodsName: '', order_id: "",
orderNo: '', datetime: "",
createTime: '', status: "",
merchantName: '', offset: 1, //
tradeStatus: '' limit: 10, //
}, total: 0, //
// - invoice_status: "",
orders: [
{
id: 1,
orderNo: '209907091214560078',
createTime: '2099-07-09 10:47:49',
status: 'pendingPayment',
totalAmount: 937,
freight: 15,
isReviewed: false,
merchant: {
id: 101,
name: '花艺生活馆',
isOfficial: true
},
products: [
{
id: 1001,
name: '深情挚爱/卡罗拉玫瑰',
image: 'https://picsum.photos/200/200?random=1',
spec: '卡罗拉玫瑰33枝',
price: 349,
quantity: 1,
status: 'pendingPayment'
},
{
id: 1002,
name: '精美包装纸',
image: 'https://picsum.photos/200/200?random=4',
spec: '粉色',
price: 38,
quantity: 2,
status: 'pendingPayment'
}
]
},
{
id: 2,
orderNo: '209907091214560079',
createTime: '2099-07-09 10:48:49',
status: 'pendingDelivery',
totalAmount: 199,
freight: 0,
isReviewed: false,
merchant: {
id: 102,
name: '北欧家居旗舰店',
isOfficial: true
}, },
products: [ //
{ invoiceList: [],
id: 2001, };
name: '北欧花艺素雅仿真花',
image: 'https://picsum.photos/200/200?random=2',
spec: '白色',
price: 199,
quantity: 1,
status: 'pendingDelivery'
}
]
},
{
id: 3,
orderNo: '209907091214560080',
createTime: '2099-07-09 10:49:49',
status: 'delivering',
totalAmount: 389,
freight: 10,
isReviewed: false,
merchant: {
id: 101,
name: '花艺生活馆',
isOfficial: true
}, },
products: [ mounted() {
{ this.getList();
id: 3001,
name: '香槟玫瑰+白玫瑰混搭',
image: 'https://picsum.photos/200/200?random=3',
spec: '混搭',
price: 389,
quantity: 1,
status: 'delivering'
}
]
}
]
}
}, },
computed: { methods: {
// //
filteredOrders() { getList() {
let result = [...this.orders]; this.filterForm.offset =
(this.filterForm.offset - 1) * this.filterForm.limit;
// this.post(this.filterForm, "/api/order/orderInvoice").then((res) => {
if (this.activeTab !== 'all') { this.invoiceList = res.data;
result = result.filter(order => order.status === this.activeTab);
}
//
if (this.filterForm.goodsName) {
const keyword = this.filterForm.goodsName.toLowerCase();
result = result.filter(order => {
return order.products.some(product =>
product.name.toLowerCase().includes(keyword)
);
}); });
}
//
if (this.filterForm.orderNo) {
result = result.filter(order =>
order.orderNo.includes(this.filterForm.orderNo)
);
}
//
if (this.filterForm.merchantName) {
const keyword = this.filterForm.merchantName.toLowerCase();
result = result.filter(order =>
order.merchant.name.toLowerCase().includes(keyword)
);
}
//
if (this.filterForm.tradeStatus) {
result = result.filter(order =>
order.status === this.filterForm.tradeStatus
);
}
return result;
}
}, },
methods: {
// //
search() { search() {
this.currentPage = 1; // this.filterForm.offset = 1; //
this.$message({ this.getList();
message: '搜索条件已应用',
type: 'info'
});
}, },
// //
reset() { reset() {
this.filterForm = { this.filterForm = {
goodsName: '', order_id: "",
orderNo: '', datetime: "",
createTime: '', status: "",
merchantName: '', offset: 1,
tradeStatus: '' limit: 10,
total: 0,
invoice_status: "",
}; };
this.activeTab = 'all'; this.activeTab = "all";
this.currentPage = 1; },
//
handleDownload(row) {
const downloadUrl = row.invoice_url;
//
const link = document.createElement("a");
link.href = downloadUrl;
link.download = `发票${row.invoice_head}.pdf`;
link.style.display = "none";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
this.$message({
message: `发票 ${row.invoice_head} 开始下载`,
type: "success",
});
},
getStatusText(text) {
let val = "";
switch (text) {
case 0:
val = "未申请";
break;
case 1:
val = "已申请";
break;
case 2:
val = "已开票";
break;
case 3:
val = "开票失败";
break;
default:
break;
}
return val;
}, },
// //
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val; this.limit = val;
}, },
// //
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val; this.offset = val;
},
//
getStatusText(status) {
const statusMap = {
pendingPayment: '待付款',
pendingDelivery: '待发货',
delivering: '配送中',
completed: '已完成',
cancelled: '已取消'
};
return statusMap[status] || status;
}, },
// //
getStatusTagType(status) { getStatusTagType(status) {
const typeMap = { const typeMap = {
pendingPayment: 'warning', pendingPayment: "warning",
pendingDelivery: 'info', pendingDelivery: "info",
delivering: 'primary', delivering: "primary",
completed: 'success', completed: "success",
cancelled: 'danger' cancelled: "danger",
}; };
return typeMap[status] || 'default'; return typeMap[status] || "default";
}, },
// //
payOrder(orderId) { payOrder(orderId) {
this.$message({ this.$message({
message: `订单 ${orderId} 去付款`, message: `订单 ${orderId} 去付款`,
type: 'info' type: "info",
}); });
}, },
@ -287,7 +239,7 @@ export default {
remindDelivery(orderId) { remindDelivery(orderId) {
this.$message({ this.$message({
message: `已提醒订单 ${orderId} 发货`, message: `已提醒订单 ${orderId} 发货`,
type: 'success' type: "success",
}); });
}, },
@ -295,7 +247,7 @@ export default {
checkLogistics(orderId) { checkLogistics(orderId) {
this.$message({ this.$message({
message: `查看订单 ${orderId} 物流`, message: `查看订单 ${orderId} 物流`,
type: 'info' type: "info",
}); });
}, },
@ -303,53 +255,52 @@ export default {
gotoReview(orderId) { gotoReview(orderId) {
this.$message({ this.$message({
message: `去评价订单 ${orderId}`, message: `去评价订单 ${orderId}`,
type: 'info' type: "info",
}); });
}, },
// //
viewOrderDetail(orderId) { viewOrderDetail(orderId) {
this.$router.push({ this.$router.push({
name: 'OrderDetail', name: "OrderDetail",
}); });
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.bg{ .bg {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
::v-deep .el-button--text { ::v-deep .el-button--text {
color: #6a8a27; color: #6a8a27;
} }
::v-deep .el-tabs__item.is-active{ ::v-deep .el-tabs__item.is-active {
color: #6a8a27; color: #6a8a27;
} }
::v-deep .el-tabs__active-bar{ ::v-deep .el-tabs__active-bar {
background-color: #6a8a27 background-color: #6a8a27;
} }
::v-deep .el-tabs__item:hover{ ::v-deep .el-tabs__item:hover {
color: #6a8a27; color: #6a8a27;
} }
} }
.filter-bar { .filter-bar {
margin-bottom: 20px; margin-bottom: 20px;
} }
/* 订单卡片样式 */ /* 订单卡片样式 */
.order-card { .order-card {
border: 1px solid #eee; border: 1px solid #eee;
border-radius: 4px; border-radius: 4px;
margin-bottom: 20px; margin-bottom: 20px;
overflow: hidden; overflow: hidden;
} }
/* 订单头部 - 包含商家信息 */ /* 订单头部 - 包含商家信息 */
.order-header { .order-header {
background-color: #f8f9fa; background-color: #f8f9fa;
padding: 12px 20px; padding: 12px 20px;
display: flex; display: flex;
@ -357,111 +308,109 @@ export default {
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
color: #666; color: #666;
font-size: 14px; font-size: 14px;
} }
/* 订单商品列表 */ /* 订单商品列表 */
.order-products { .order-products {
padding: 10px 20px; padding: 10px 20px;
} }
.product-item { .product-item {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 15px 0; padding: 15px 0;
border-bottom: 1px dashed #eee; border-bottom: 1px dashed #eee;
font-size: 14px; font-size: 14px;
} }
.product-item:last-child { .product-item:last-child {
border-bottom: none; border-bottom: none;
} }
.product-image { .product-image {
width: 80px; width: 80px;
height: 80px; height: 80px;
object-fit: cover; object-fit: cover;
margin-right: 15px; margin-right: 15px;
border-radius: 4px; border-radius: 4px;
} }
.product-details { .product-details {
flex: 1; flex: 1;
} }
.product-name { .product-name {
color: #333; color: #333;
margin-bottom: 5px; margin-bottom: 5px;
} }
.product-spec { .product-spec {
color: #999; color: #999;
font-size: 12px; font-size: 12px;
} }
.product-price { .product-price {
width: 120px; width: 120px;
text-align: center; text-align: center;
color: #333; color: #333;
} }
.product-quantity { .product-quantity {
width: 100px; width: 100px;
text-align: center; text-align: center;
color: #666; color: #666;
} }
.product-total { .product-total {
width: 120px; width: 120px;
text-align: center; text-align: center;
color: #333; color: #333;
font-weight: 500; font-weight: 500;
} }
.product-status { .product-status {
width: 150px; width: 150px;
text-align: center; text-align: center;
} }
.product-actions { .product-actions {
width: 150px; width: 150px;
text-align: center; text-align: center;
} }
/* 订单底部 - 金额和操作 */ /* 订单底部 - 金额和操作 */
.order-footer { .order-footer {
background-color: #f8f9fa; background-color: #f8f9fa;
padding: 15px 20px; padding: 15px 20px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
border-top: 1px solid #eee; border-top: 1px solid #eee;
} }
.order-summary { .order-summary {
text-align: right; text-align: right;
} }
.order-amount { .order-amount {
color: #333; color: #333;
margin-bottom: 5px; margin-bottom: 5px;
} }
.order-amount strong { .order-amount strong {
color: #ff4d4f; color: #ff4d4f;
font-size: 16px; font-size: 16px;
} }
.order-tips { .order-tips {
font-size: 12px; font-size: 12px;
color: #999; color: #999;
} }
.order-actions { .order-actions {
display: flex; display: flex;
gap: 10px; gap: 10px;
} }
</style> </style>

Loading…
Cancel
Save