update: 待出货接口对接
|  | @ -12,7 +12,7 @@ | |||
| <script setup lang="ts"> | ||||
| const getDetail = () => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pages/statistics/customer/detail", // 要跳转到的页面路径 | ||||
|     url: "/pagesStatistics/customer/detail", // 要跳转到的页面路径 | ||||
|   }); | ||||
| } | ||||
| </script> | ||||
|  | @ -25,7 +25,7 @@ const list = reactive([ | |||
| ]); | ||||
| const getDetail = (item: any) => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pages/statistics/customer/billDetail", // 要跳转到的页面路径 | ||||
|     url: "/pagesStatistics/customer/billDetail", // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| </script> | ||||
|  | @ -31,7 +31,7 @@ | |||
| </template> | ||||
| <script setup lang="ts"> | ||||
| 
 | ||||
| import CEcharts from "../../components/Echarts/echarts.vue"; | ||||
| import CEcharts from "@/components/Echarts/echarts.vue"; | ||||
| import ProductTypeDialog from './components/ProductTypeDialog.vue' | ||||
| const option = ref({ | ||||
|   tooltip: { | ||||
|  | @ -23,8 +23,8 @@ | |||
|   </Box> | ||||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import Box from "../../components/Box/index.vue"; | ||||
| import Title from "../../components/Title/index.vue"; | ||||
| import Box from "@/components/Box/index.vue"; | ||||
| import Title from "@/components/Title/index.vue"; | ||||
| const list = reactive([ | ||||
|   { | ||||
|     title: "收货", | ||||
|  | @ -36,7 +36,7 @@ const list = reactive([ | |||
|         title: "收货汇总", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/receivePanel", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/receivePanel", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|       }, | ||||
|  | @ -47,7 +47,7 @@ const list = reactive([ | |||
|         title: "供应商排行", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/supplierRanking", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/supplierRanking", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|          | ||||
|  | @ -64,7 +64,7 @@ const list = reactive([ | |||
|         title: "出货汇总", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/shipmentPanel", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/shipmentPanel", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|       }, | ||||
|  | @ -75,7 +75,7 @@ const list = reactive([ | |||
|         title: "客户排行", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/customerRanking", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/customerRanking", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|       }, | ||||
|  | @ -91,7 +91,7 @@ const list = reactive([ | |||
|         title: "经营概况", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/businessOverview", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/businessOverview", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|       }, | ||||
|  | @ -102,7 +102,7 @@ const list = reactive([ | |||
|         title: "供应商对账", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/supplierChecking", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/supplierChecking", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|       }, | ||||
|  | @ -113,7 +113,7 @@ const list = reactive([ | |||
|         title: "客户对账", | ||||
|         fn: (item: any) => { | ||||
|           uni.navigateTo({ | ||||
|             url: "/pages/statistics/customerChecking", // 要跳转到的页面路径 | ||||
|             url: "/pagesStatistics/customerChecking", // 要跳转到的页面路径 | ||||
|           }) | ||||
|         } | ||||
|       }, | ||||
|  | @ -12,7 +12,7 @@ | |||
| <script setup lang="ts"> | ||||
| const getDetail = () => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pages/statistics/supplier/detail", // 要跳转到的页面路径 | ||||
|     url: "/pagesStatistics/supplier/detail", // 要跳转到的页面路径 | ||||
|   }); | ||||
| } | ||||
| </script> | ||||
|  | @ -25,7 +25,7 @@ const list = reactive([ | |||
| ]); | ||||
| const getDetail = (item: any) => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pages/statistics/supplier/billDetail", // 要跳转到的页面路径 | ||||
|     url: "/pagesStatistics/supplier/billDetail", // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| </script> | ||||
|  | @ -31,7 +31,7 @@ | |||
| </template> | ||||
| <script setup lang="ts"> | ||||
| 
 | ||||
| import CEcharts from "../../components/Echarts/echarts.vue"; | ||||
| import CEcharts from "@/components/Echarts/echarts.vue"; | ||||
| import ProductTypeDialog from './components/ProductTypeDialog.vue' | ||||
| const option = ref({ | ||||
|   tooltip: { | ||||
							
								
								
									
										314
									
								
								src/pages.json
								
								
								
								
							
							
						
						|  | @ -19,13 +19,6 @@ | |||
|         "navigationBarTitleText": "工作台" | ||||
|       } | ||||
|     }, | ||||
| 
 | ||||
|     { | ||||
|       "path": "pages/launch/index", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "" | ||||
|       } | ||||
|     }, | ||||
|     // { | ||||
|     //   "path": "pages/index/index", | ||||
|     //   "style": { | ||||
|  | @ -33,12 +26,6 @@ | |||
|     //     "navigationBarTitleText": "工作台" | ||||
|     //   } | ||||
|     // }, | ||||
|     { | ||||
|       "path": "pages/index/grossWeight", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "待过毛重" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/index/shipmentSettlement", | ||||
|       "style": { | ||||
|  | @ -88,130 +75,21 @@ | |||
|         "navigationBarTitleText": "修改密码", | ||||
|         "navigationBarBackgroundColor": "#FFFFFF" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/index", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "数据统计" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/receivePanel", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "收货汇总" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/supplierRanking", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "供应商排行" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/shipmentPanel", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "出货汇总" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/customerRanking", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "客户排行" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/businessOverview", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "经营概况" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/supplierChecking", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "供应商对账" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/customerChecking", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "客户对账" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/supplier/billDetail", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "供应商账单详情" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/supplier/detail", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "供应商详情" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/customer/billDetail", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "客户账单详情" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/statistics/customer/detail", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "客户详情" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/receiveSpl", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "收货补单" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/shipmentSpl", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "出货补单" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/receiveDetail", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "收货明细" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/shipmentDetail", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "出货明细" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/receiveCl", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "收货作废" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/shipmentCl", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "出货作废" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/supplierMgt", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "供应商管理" | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/app/customerMgt", | ||||
|       "style": { | ||||
|         "navigationBarTitleText": "客户管理" | ||||
|       } | ||||
|     } | ||||
|     //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages | ||||
|   ], | ||||
|   "subPackages": [ | ||||
|     { | ||||
|       "root": "pagesLaunch", | ||||
|       "pages": [ | ||||
|         { | ||||
|           "path": "index", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "" | ||||
|           } | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "root": "pagesReceive", | ||||
|       "pages": [ | ||||
|  | @ -256,15 +134,39 @@ | |||
|             "navigationBarTitleText": "待出货" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "grossWeight", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "待过毛重" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "shipmentSettlement", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "出货结算" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "review/index", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "结算审核" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "form/shipmentForm", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "待出货编辑" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "form/settlementForm", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "结算信息" | ||||
|           } | ||||
|         } | ||||
|       ] | ||||
|        | ||||
|     },{ | ||||
|     }, | ||||
|     { | ||||
|       "root": "pagesScenePhoto", | ||||
|       "pages": [ | ||||
|         { | ||||
|  | @ -274,8 +176,148 @@ | |||
|           } | ||||
|         } | ||||
|       ] | ||||
|        | ||||
|     }, | ||||
|     { | ||||
|       "root": "pagesStatistics", | ||||
|       "pages": [ | ||||
|         { | ||||
|           "path": "index", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "数据统计" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "receivePanel", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "收货汇总" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "supplierRanking", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "供应商排行" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "shipmentPanel", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "出货汇总" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "customerRanking", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "客户排行" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "businessOverview", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "经营概况" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "supplierChecking", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "供应商对账" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "customerChecking", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "客户对账" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "supplier/billDetail", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "供应商账单详情" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "supplier/detail", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "供应商详情" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "customer/billDetail", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "客户账单详情" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "customer/detail", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "客户详情" | ||||
|           } | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "root": "pagesApp", | ||||
|       "pages": [ | ||||
|         { | ||||
|           "path": "receiveSpl", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "收货补单" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "shipmentSpl", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "出货补单" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "receiveDetail", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "收货明细" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "shipmentDetail", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "出货明细" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "receiveCl", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "收货作废" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "shipmentCl", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "出货作废" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "supplierMgt", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "供应商管理" | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           "path": "customerMgt", | ||||
|           "style": { | ||||
|             "navigationBarTitleText": "客户管理" | ||||
|           } | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     // { | ||||
|     //   "root": "uni_modules", | ||||
|     //   "pages": [ | ||||
|     //     { | ||||
|     //       "path": "lime-echart/components/l-echart/l-echart", | ||||
|     //       "style": { | ||||
|     //         "navigationBarTitleText": "echart" | ||||
|     //       } | ||||
|     //     } | ||||
|     //   ] | ||||
|     // } | ||||
|   ], | ||||
|   "globalStyle": { | ||||
|     "navigationBarTextStyle": "black", | ||||
|  |  | |||
|  | @ -1,100 +0,0 @@ | |||
| <template> | ||||
|   <view class="card-box"> | ||||
|     <view class="top-flex-box"> | ||||
|       <view> | ||||
|         <view> | ||||
|           <text class="address">上海奉贤两网融合</text> | ||||
|         </view> | ||||
|         <view> | ||||
|           <text class="number">收货单号:SHD20230901132333</text> | ||||
|         </view> | ||||
|         <view> | ||||
|           <text class="name">陡其成</text> | ||||
|         </view> | ||||
|       </view> | ||||
|       <view> | ||||
|         <text class="btn" @click="handleScenePhoto">现场照片</text> | ||||
|       </view> | ||||
|     </view> | ||||
|     <view> | ||||
|       <text class="desc">毛重时间:2023-09-01 13:23:33</text> | ||||
|     </view> | ||||
|     <view class="flex-box"> | ||||
|       <text>皮重:2510kg</text> | ||||
|     </view> | ||||
|     <view class="btn-box"> | ||||
|       <u-button | ||||
|         text="点击作废" | ||||
|         color="#E8E8E8" | ||||
|         :customStyle="{ color: '#999' }" | ||||
|       ></u-button> | ||||
|       <u-button type="primary" text="点击编辑"></u-button> | ||||
|     </view> | ||||
|   </view> | ||||
| </template> | ||||
| <script setup lang="ts"> | ||||
| const handleScenePhoto = () => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesScenePhoto/index", // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| .card-box { | ||||
|   padding: 38rpx 50rpx; | ||||
|   box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12); | ||||
|   border-radius: 13rpx; | ||||
|   margin: 0rpx 25rpx; | ||||
|   margin-top: 35rpx; | ||||
|   font-family: Source Han Sans CN; | ||||
|   font-weight: 400; | ||||
|   font-size: 26rpx; | ||||
|   color: #000000; | ||||
|   line-height: 41rpx; | ||||
|   .top-flex-box { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     align-items: center; | ||||
|     line-height: 50rpx; | ||||
|     .btn { | ||||
|       border-radius: 24rpx; | ||||
|       border: 1px solid #00dcee; | ||||
|       padding: 10rpx 25rpx; | ||||
|       font-weight: 500; | ||||
|       font-size: 24rpx; | ||||
|       color: #00dcee; | ||||
|       line-height: 41rpx; | ||||
|       display: inline-block; | ||||
|     } | ||||
|   } | ||||
|   .desc { | ||||
|     font-size: 24rpx; | ||||
|     color: #999999; | ||||
|     margin-top: 30rpx; | ||||
|     display: inline-block; | ||||
|   } | ||||
|   .name { | ||||
|     font-size: 28rpx; | ||||
|     color: #000000; | ||||
|     font-weight: bold; | ||||
|   } | ||||
|   .flex-box { | ||||
|     font-weight: 400; | ||||
|     font-size: 28rpx; | ||||
|     color: #000000; | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     justify-content: space-between; | ||||
|   } | ||||
|   .btn-box { | ||||
|     margin-top: 60rpx; | ||||
|     display: flex; | ||||
|     ::v-deep button { | ||||
|       border-radius: 43rpx; | ||||
|     } | ||||
|     ::v-deep button + button { | ||||
|       margin-left: 50rpx; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  | @ -259,7 +259,7 @@ const shipmentList = reactive([ | |||
|     num: 0, | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/index/grossWeight", // 要跳转到的页面路径 | ||||
|         url: "/pagesShipment/grossWeight", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -268,7 +268,7 @@ const shipmentList = reactive([ | |||
|     num: 0, | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pagesReceive/payReview", // 要跳转到的页面路径 | ||||
|         url: "/pagesShipment/shipmentSettlement?scaleStatus=2", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -277,7 +277,7 @@ const shipmentList = reactive([ | |||
|     num: 0, | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pagesReceive/payReview", // 要跳转到的页面路径 | ||||
|         url: "/pagesShipment/shipmentSettlement?scaleStatus=3", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -289,7 +289,7 @@ const appList = reactive([ | |||
|     title: "收货补单", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/receiveSpl", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/receiveSpl", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -298,7 +298,7 @@ const appList = reactive([ | |||
|     title: "出货补单", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/shipmentSpl", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/shipmentSpl", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -307,7 +307,7 @@ const appList = reactive([ | |||
|     title: "收货明细", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/receiveDetail", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/receiveDetail", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -316,7 +316,7 @@ const appList = reactive([ | |||
|     title: "出货明细", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/shipmentDetail", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/shipmentDetail", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -325,7 +325,7 @@ const appList = reactive([ | |||
|     title: "收货作废", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/receiveCl", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/receiveCl", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -334,7 +334,7 @@ const appList = reactive([ | |||
|     title: "出货作废", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/shipmentCl", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/shipmentCl", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -343,7 +343,7 @@ const appList = reactive([ | |||
|     title: "供应商管理", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/supplierMgt", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/supplierMgt", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -352,7 +352,7 @@ const appList = reactive([ | |||
|     title: "客户管理", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/app/customerMgt", // 要跳转到的页面路径 | ||||
|         url: "/pagesApp/customerMgt", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  | @ -364,7 +364,7 @@ const tabMenuList = reactive([ | |||
|     title: "统计", | ||||
|     fn: () => { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pages/statistics/index", // 要跳转到的页面路径 | ||||
|         url: "/pagesStatistics/index", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
|   > | ||||
|     <swiper-item v-for="(item, index) in list" :key="index"> | ||||
|       <view class="image-box"> | ||||
|         <image :src="`/static/img/launch/${item.imgUrl}`"></image> | ||||
|         <image :src="`./static/${item.imgUrl}`"></image> | ||||
|         <view class="title"> | ||||
|           {{ item.title }} | ||||
|         </view> | ||||
| Before Width: | Height: | Size: 270 KiB After Width: | Height: | Size: 270 KiB | 
| Before Width: | Height: | Size: 237 KiB After Width: | Height: | Size: 237 KiB | 
| Before Width: | Height: | Size: 277 KiB After Width: | Height: | Size: 277 KiB | 
| Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB | 
|  | @ -0,0 +1,318 @@ | |||
| <template> | ||||
|   <view class="c-card"> | ||||
|     <u-form | ||||
|       labelPosition="left" | ||||
|       :model="model1" | ||||
|       :rules="rules" | ||||
|       ref="form" | ||||
|       :labelWidth="80" | ||||
|       :labelStyle="{ padding: '0rpx 10rpx' }" | ||||
|     > | ||||
|       <u-form-item | ||||
|         :prop="`order[${item.key}]`" | ||||
|         :label="item.name" | ||||
|         :required="item.required" | ||||
|         v-for="(item, index) in formAttrList" | ||||
|         :key="index" | ||||
|         @click="item.fn" | ||||
|       > | ||||
|         <u-textarea | ||||
|           v-if="item.type === 'textarea'" | ||||
|           v-model="(model1.order as any)[(item.key as any)]" | ||||
|           :placeholder="`请输入${item.name}`" | ||||
|         ></u-textarea> | ||||
|         <u-input | ||||
|           v-if="item.type === 'select' || item.type === 'input'" | ||||
|           v-model="(model1.order as any)[(item.key as any)]" | ||||
|           :placeholder="`请${item.type === 'select' ? '选择' : '输入'}${ | ||||
|             item.name | ||||
|           }`" | ||||
|           :clearable="true" | ||||
|           :customStyle="{}" | ||||
|           border="none" | ||||
|         > | ||||
|           <template #suffix> | ||||
|             {{ item.unit }} | ||||
|           </template> | ||||
|         </u-input> | ||||
|         <!-- @afterRead="afterRead" | ||||
|           @delete="deletePic" --> | ||||
|         <!-- <u-upload | ||||
|           v-if="item.type === 'upload'" | ||||
|           :fileList="[]" | ||||
|           name="1" | ||||
|           multiple | ||||
|           :maxCount="10" | ||||
|         ></u-upload> --> | ||||
|         <uni-file-picker | ||||
|           v-if="item.type === 'upload'" | ||||
|           v-model="model1.order.fileList" | ||||
|           limit="10" | ||||
|           title="最多可上传10张图片" | ||||
|           :auto-upload="false" | ||||
|           fileMediatype="image" | ||||
|           mode="grid" | ||||
|           ref="filesShipmentRef" | ||||
|         ></uni-file-picker> | ||||
| 
 | ||||
|         <u-radio-group | ||||
|           v-if="item.type === 'radio'" | ||||
|           v-model="(model1.order as any)[(item.key as any)]" | ||||
|           placement="row" | ||||
|         > | ||||
|           <u-radio activeColor="#00DCEE" label="送货" :name="0"></u-radio> | ||||
|               | ||||
|           <u-radio activeColor="#00DCEE" label="自提" :name="1"></u-radio> | ||||
|         </u-radio-group> | ||||
|         <template #right v-if="item.type === 'select'"> | ||||
|           <u-icon name="arrow-right"></u-icon> | ||||
|         </template> | ||||
|       </u-form-item> | ||||
|     </u-form> | ||||
|     <u-action-sheet | ||||
|       :actions="contrlModalParams.select.selectList" | ||||
|       :title="contrlModalParams.select.title" | ||||
|       :show="contrlModalParams.select.isShow" | ||||
|       @select="contrlModalParams.select.isShow = false" | ||||
|       @close="contrlModalParams.select.isShow = false" | ||||
|     ></u-action-sheet> | ||||
|   </view> | ||||
|   <view class="btn-box"> | ||||
|     <u-button type="primary" text="保存" @click="save()"></u-button> | ||||
|   </view> | ||||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import { PictureApi, ShipmentApi } from "@/services"; | ||||
| import { ImagesType, OrderType, ScaleStatus } from "@/utils/enum"; | ||||
| import { onLoad } from "@dcloudio/uni-app"; | ||||
| const model1 = reactive<Shipment>({ | ||||
|   order: { | ||||
|     id: 0, | ||||
|     splTime: "", | ||||
|     takeType: 1, | ||||
|     fileList: [], | ||||
|   }, | ||||
| }); | ||||
| const rules = ref({ | ||||
|   "userInfo.userName": { | ||||
|     type: "string", | ||||
|     required: true, | ||||
|     message: "请输入手机号", | ||||
|     trigger: ["blur", "change"], | ||||
|   }, | ||||
|   "userInfo.password": { | ||||
|     type: "string", | ||||
|     required: true, | ||||
|     message: "请输入密码", | ||||
|     trigger: ["blur", "change"], | ||||
|   }, | ||||
| }); | ||||
| const contrlModalParams = reactive({ | ||||
|   select: { | ||||
|     isShow: false, | ||||
|     title: "标题", | ||||
|     selectList: [ | ||||
|       { | ||||
|         name: "选项一", | ||||
|       }, | ||||
|       { | ||||
|         name: "选项二", | ||||
|       }, | ||||
|     ], | ||||
|   }, | ||||
| }); | ||||
| 
 | ||||
| const formAttrList = reactive([ | ||||
|   { | ||||
|     name: "客户", | ||||
|     key: "userId", | ||||
|     type: "select", | ||||
|     required: true, | ||||
|     unit: "", | ||||
|     fn: () => { | ||||
|       contrlModalParams.select.isShow = true; | ||||
|       contrlModalParams.select.title = "客户"; | ||||
|     }, | ||||
|   }, | ||||
|   { | ||||
|     name: "出货产品", | ||||
|     key: "productId", | ||||
|     type: "select", | ||||
|     required: true, | ||||
|     unit: "", | ||||
|     fn: () => { | ||||
|       contrlModalParams.select.isShow = true; | ||||
|       contrlModalParams.select.title = "出货产品"; | ||||
|     }, | ||||
|   }, | ||||
|   { | ||||
|     name: "数量", | ||||
|     key: "number", | ||||
|     type: "input", | ||||
|     required: true, | ||||
|     unit: "件", | ||||
|   }, | ||||
|   { | ||||
|     name: "毛重", | ||||
|     key: "grossWeight", | ||||
|     type: "input", | ||||
|     required: true, | ||||
|     unit: "KG", | ||||
|   }, | ||||
|   { | ||||
|     name: "提货方式", | ||||
|     key: "deliveryMethod", | ||||
|     required: true, | ||||
|     type: "radio", | ||||
|   }, | ||||
|   { | ||||
|     name: "车辆信息", | ||||
|     type: "text", | ||||
|   }, | ||||
|   { | ||||
|     name: "车牌号", | ||||
|     key: "carNumber", | ||||
|     type: "input", | ||||
|     unit: "", | ||||
|   }, | ||||
|   { | ||||
|     name: "司机电话", | ||||
|     key: "phone", | ||||
|     type: "input", | ||||
|     unit: "", | ||||
|   }, | ||||
|   { | ||||
|     name: "集装箱", | ||||
|     type: "text", | ||||
|   }, | ||||
|   { | ||||
|     name: "箱号", | ||||
|     key: "box", | ||||
|     type: "input", | ||||
|     unit: "", | ||||
|   }, | ||||
|   { | ||||
|     name: "封号", | ||||
|     key: "title", | ||||
|     type: "input", | ||||
|     unit: "", | ||||
|   }, | ||||
|   { | ||||
|     name: "备注", | ||||
|     key: "notes", | ||||
|     type: "textarea", | ||||
|   }, | ||||
|   { | ||||
|     name: "上传照片", | ||||
|     key: "photo", | ||||
|     type: "upload", | ||||
|   }, | ||||
| ]); | ||||
| const filesShipmentRef = ref(); | ||||
| const handleUpload = () => { | ||||
|   // console.log(event.tempFilePaths) | ||||
|   const list = filesShipmentRef.value[0].filesList; | ||||
|   return list.map((item: any) => { | ||||
|     return new Promise((resolve) => { | ||||
|       PictureApi.upload({ | ||||
|         files: item, | ||||
|         path: item.path, | ||||
|       }).then((res) => { | ||||
|         if (res.code === 200) { | ||||
|           resolve({ | ||||
|             ...(res.data as any), | ||||
|             businessId: model1.order.id, | ||||
|             imagesType: ImagesType.NORMARL, // 普通资源 | ||||
|             orderType: OrderType.Shipment, // 入库单 | ||||
|           }); | ||||
|         } | ||||
|       }); | ||||
|     }); | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * 点击保存 先执行upload接口 | ||||
|  * 上传成功后 保存图片资源 和更新订单数据 | ||||
|  */ | ||||
| const save = () => { | ||||
|   Promise.all(handleUpload()).then((res) => { | ||||
|     // 上传多个资源 | ||||
|     if (res.length > 0) { | ||||
|       PictureApi.addListAnnex({ annexPos: res }).then((res1) => { | ||||
|         if (res1.code === 200) { | ||||
|           uni.showToast({ | ||||
|             title: "图片资源上传成功", | ||||
|             icon: "success", | ||||
|           }); | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   // 更新出货单 | ||||
|   ShipmentApi.updateOrderIn({ | ||||
|     orderOutPos: [ | ||||
|       { ...model1.order, scaleStatus: ScaleStatus.ToBeGrossWeight }, | ||||
|     ], | ||||
|   }).then((res) => { | ||||
|     if (res.code === 200) { | ||||
|       uni.showToast({ | ||||
|         title: "编辑成功", | ||||
|         icon: "success", | ||||
|       }); | ||||
|       uni.navigateTo({ | ||||
|         url: "/pagesShipment/grossWeight", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| onLoad((option) => { | ||||
|   model1.order.id = (option as any).id; | ||||
|   if (model1.order.id) { | ||||
|     ShipmentApi.getDetailById({ id: model1.order.id }).then((res) => { | ||||
|       if (res.code === 200) { | ||||
|         model1.order = res.data; | ||||
|       } | ||||
|     }); | ||||
|     PictureApi.getAnnex({ | ||||
|       businessId: model1.order.id, | ||||
|       orderType: 1, | ||||
|       imagesType: ImagesType.NORMARL, | ||||
|     }).then((res) => { | ||||
|       if (res.code === 200) { | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| }); | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| .c-card { | ||||
|   background: #ffffff; | ||||
|   // box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12); | ||||
|   border-radius: 13rpx; | ||||
|   margin: 30rpx 25rpx; | ||||
|   padding: 10rpx 20rpx; | ||||
|   ::v-deep .u-form-item { | ||||
|     height: auto; | ||||
|   } | ||||
|   ::v-deep .u-form-item + .u-form-item { | ||||
|     border-top: 1rpx solid rgba(233, 233, 233, 0.76); | ||||
|   } | ||||
| } | ||||
| .btn-box { | ||||
|   margin-top: 60rpx; | ||||
|   display: flex; | ||||
|   background: #ffffff; | ||||
|   box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 56, 93, 0.12); | ||||
|   border-radius: 13rpx 13rpx 0rpx 0rpx; | ||||
|   padding: 25rpx 50rpx; | ||||
|   position: sticky; | ||||
|   bottom: 0rpx; | ||||
|   z-index: 999; | ||||
|   ::v-deep button { | ||||
|     border-radius: 43rpx; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  | @ -199,7 +199,7 @@ const formAttrList = reactive([ | |||
|   }, | ||||
|   { | ||||
|     name: "备注", | ||||
|     key: "remark", | ||||
|     key: "notes", | ||||
|     type: "textarea", | ||||
|   }, | ||||
|   { | ||||
|  |  | |||
|  | @ -0,0 +1,165 @@ | |||
| <template> | ||||
|   <view class="card-box" v-for="(item, index) in pageList.list" :key="index"> | ||||
|     <view class="top-flex-box"> | ||||
|       <view> | ||||
|         <view> | ||||
|           <text class="address">{{ item.deviceName || "-" }}</text> | ||||
|         </view> | ||||
|         <view> | ||||
|           <text class="number">出货单号:{{ item.orderNumber }}</text> | ||||
|         </view> | ||||
|         <view> | ||||
|           <text class="name">{{ item.cardId }}</text> | ||||
|         </view> | ||||
|       </view> | ||||
|       <view> | ||||
|         <text class="btn" @click="handleScenePhoto((item.imagesId as number))" | ||||
|           >现场照片</text | ||||
|         > | ||||
|       </view> | ||||
|     </view> | ||||
|     <view> | ||||
|       <text class="desc">过磅时间:{{ item.grossTime || '-' }}</text> | ||||
|     </view> | ||||
|     <view class="flex-box"> | ||||
|       <text>皮重:{{ item.tare }}kg</text> | ||||
|     </view> | ||||
|     <view class="btn-box"> | ||||
|       <u-button | ||||
|         text="点击作废" | ||||
|         color="#E8E8E8" | ||||
|         :customStyle="{ color: '#999' }" | ||||
|         @click="handleModal(true, (item.id as any))" | ||||
|       ></u-button> | ||||
|       <u-button | ||||
|         type="primary" | ||||
|         text="点击编辑" | ||||
|         @click="pricingDetail((item.id as any))" | ||||
|       ></u-button> | ||||
|     </view> | ||||
|   </view> | ||||
| 
 | ||||
|   <SmallModal | ||||
|     :title="'确认作废吗?'" | ||||
|     :content="'确认作废后,该订单不能恢复!'" | ||||
|     :okText="'确认作废'" | ||||
|     :isMain="true" | ||||
|     :show="isShowCancelModal" | ||||
|     @handleModal="(v:boolean) => {handleModal(v, deleteId)}" | ||||
|     @handleOk="handleOk()" | ||||
|   /> | ||||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import { ShipmentApi } from "@/services/index"; | ||||
| import SmallModal from "@/components/Modal/smallModal.vue"; | ||||
| 
 | ||||
| interface PageResult<T> { | ||||
|   total: number; | ||||
|   list: T[]; | ||||
|   pageNum: number; | ||||
|   pageSize: number; | ||||
| } | ||||
| const pageList: PageResult<Shipment> = reactive({ | ||||
|   total: 0, | ||||
|   list: [], | ||||
|   pageNum: 1, | ||||
|   pageSize: 10, | ||||
| }); | ||||
| const isShowCancelModal = ref(false); | ||||
| const deleteId = ref(0); | ||||
| const handleModal = (v: boolean, id: number) => { | ||||
|   isShowCancelModal.value = v; | ||||
|   deleteId.value = id; | ||||
| }; | ||||
| const handleScenePhoto = (imagesId: number) => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesScenePhoto/index?orderType=2&id=" + imagesId, // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| const pricingDetail = (id: string) => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesShipment/form/shipmentForm?id=" + id, // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| const getOrderList = () => { | ||||
|   ShipmentApi.getOrderPage({ pageNumber: 1, pageSize: 10, scaleStatus: 1 }).then((res) => { | ||||
|     if (res.code === 200) { | ||||
|       (pageList as any).list = res.data.list; | ||||
|     } | ||||
|   }); | ||||
| }; | ||||
| const handleOk = () => { | ||||
|   console.log(deleteId.value); | ||||
|   ShipmentApi.deleteOrder({ids:[deleteId.value]}).then((res) => { | ||||
|     if (res.code === 200) { | ||||
|       getOrderList(); | ||||
|     } | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| onMounted(() => { | ||||
|   getOrderList(); | ||||
| }); | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| .card-box { | ||||
|   padding: 38rpx 50rpx; | ||||
|   box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12); | ||||
|   border-radius: 13rpx; | ||||
|   margin: 0rpx 25rpx; | ||||
|   margin-top: 35rpx; | ||||
|   font-family: Source Han Sans CN; | ||||
|   font-weight: 400; | ||||
|   font-size: 26rpx; | ||||
|   color: #000000; | ||||
|   line-height: 41rpx; | ||||
|   .top-flex-box { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     align-items: center; | ||||
|     .btn { | ||||
|       border-radius: 24rpx; | ||||
|       border: 1px solid #00dcee; | ||||
|       padding: 10rpx 30rpx; | ||||
|       font-weight: 500; | ||||
|       font-size: 24rpx; | ||||
|       color: #00dcee; | ||||
|       line-height: 41rpx; | ||||
|       cursor: pointer; | ||||
|     } | ||||
|   } | ||||
|   .address { | ||||
|     margin-right: 30rpx; | ||||
|   } | ||||
|   .desc { | ||||
|     font-size: 24rpx; | ||||
|     color: #999999; | ||||
|     margin-top: 30rpx; | ||||
|     display: inline-block; | ||||
|   } | ||||
|   .name { | ||||
|     font-size: 26rpx; | ||||
|     color: #000000; | ||||
|     font-weight: bold; | ||||
|   } | ||||
|   .flex-box { | ||||
|     font-weight: 400; | ||||
|     font-size: 26rpx; | ||||
|     color: #000000; | ||||
|     line-height: 41rpx; | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     justify-content: space-between; | ||||
|   } | ||||
|   .btn-box { | ||||
|     margin-top: 60rpx; | ||||
|     display: flex; | ||||
|     ::v-deep button { | ||||
|       border-radius: 43rpx; | ||||
|     } | ||||
|     ::v-deep button + button { | ||||
|       margin-left: 50rpx; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  | @ -0,0 +1,514 @@ | |||
| <template> | ||||
|   <view class="c-card"> | ||||
|     <view class="box"> | ||||
|       <view class="base"> | ||||
|         <view> | ||||
|           <view class="supplier"> {{ state.order.deviceName || "-" }} </view> | ||||
|         </view> | ||||
|       </view> | ||||
|       <view class="flex-box1"> | ||||
|         <view class="type">{{ state.order.productName || "" }}</view> | ||||
|         <view class="btn"> | ||||
|           <view | ||||
|             ><u-tag | ||||
|               text="现场照片" | ||||
|               plain | ||||
|               shape="circle" | ||||
|               :bgColor="'rgba(237, 254, 255, 1)'" | ||||
|               @click="handleScenePhoto(state.order.imagesId as number)" | ||||
|             ></u-tag | ||||
|           ></view> | ||||
|           <view | ||||
|             ><u-tag | ||||
|               text="收货单作废" | ||||
|               plain | ||||
|               shape="circle" | ||||
|               :borderColor="'rgba(255, 147, 68, 1) !important'" | ||||
|               :bgColor="'rgba(255, 240, 229, 1)'" | ||||
|               :color="'rgba(255, 157, 85, 1) !important'" | ||||
|               @click="handleModal(true, state.order.id as string)" | ||||
|             ></u-tag | ||||
|           ></view> | ||||
|           <!-- 待审核才会有编辑信息--> | ||||
|           <view v-if="state.order.scaleStatus === 2" | ||||
|             ><u-tag | ||||
|               text="编辑信息" | ||||
|               plain | ||||
|               shape="circle" | ||||
|               :borderColor="'rgba(0, 238, 78, 1) !important'" | ||||
|               :bgColor="'rgba(227, 255, 236, 1)'" | ||||
|               :color="'rgba(0, 238, 78, 1) !important'" | ||||
|               @click="handleUpdateOrder" | ||||
|             ></u-tag | ||||
|           ></view> | ||||
|         </view> | ||||
|       </view> | ||||
|       <!-- 出库 过磅时间对应过皮时间 --> | ||||
|       <view class="flex-box" v-if="state.order.scaleStatus === 2"> | ||||
|         <text>审核人:{{ state.order.pricingUserName || "-" }}</text> | ||||
|         <text>过磅时间:{{ state.order.tareTime }}</text> | ||||
|       </view> | ||||
| 
 | ||||
|       <!-- <view class="flex-box" v-if="getIsShow()" style="border: none"> | ||||
|         <text>过磅时间:{{ state.order.grossTime || "-" }}</text> | ||||
|       </view> | ||||
|       <view class="flex-box" v-if="getIsShow()"> | ||||
|         <text>定价人:{{ state.order.pricingUserName || "-" }}</text> | ||||
|         <text>审核人:{{ state.order.reviewerUserName || "-" }}</text> | ||||
|       </view> --> | ||||
| 
 | ||||
|       <view class="more"> | ||||
|         <view v-if="getIsShow()"> 出货单号:SHD20230901132333 </view> | ||||
|         <view v-if="getIsShow()"></view> | ||||
|         <view v-for="(item, index) in gridList1" :key="index"> | ||||
|           <text v-if="item.name">{{ item.name }}:</text | ||||
|           ><text | ||||
|             >{{ item.isBefore ? item.unit : "" }} | ||||
|             {{ item.num }} | ||||
|             {{ item.isBefore ? "" : item.unit }} | ||||
|           </text> | ||||
|         </view> | ||||
|       </view> | ||||
| 
 | ||||
|       <!-- <u-gap height="10" bgColor="#F8F8F8"></u-gap> --> | ||||
|       <view class="mt-30"> | ||||
|         <u-line></u-line> | ||||
|       </view> | ||||
|       <view class="more"> | ||||
|         <view v-for="(item, index) in gridList2" :key="index"> | ||||
|           <text v-if="item.name">{{ item.name }}:</text | ||||
|           ><text | ||||
|             >{{ item.isBefore ? item.unit : "" }} | ||||
|             {{ item.num }} | ||||
|             {{ item.isBefore ? "" : item.unit }} | ||||
|           </text> | ||||
|         </view> | ||||
|       </view> | ||||
|     </view> | ||||
|     <view class="op-btn"> | ||||
|       <view class="c-btn-review" v-if="state.order.scaleStatus === 2"> | ||||
|         <view @click="handleReviewNoPay"> 出货未结算 </view> | ||||
|         <view class="active" @click="handleReviewPay"> 出货并结算 </view> | ||||
|       </view> | ||||
|       <view v-if="state.order.scaleStatus === 2"> | ||||
|         <u-button | ||||
|           text="重新过毛" | ||||
|           plain | ||||
|           :customStyle="{ | ||||
|             color: 'rgba(0, 220, 238, 1)', | ||||
|             border: '1px solid #00DCEE', | ||||
|             'border-radius': '43rpx', | ||||
|           }" | ||||
|         ></u-button> | ||||
|       </view> | ||||
|       <view v-if="state.order.scaleStatus === 3"> | ||||
|         <u-button | ||||
|           text="确认支付" | ||||
|           type="primary" | ||||
|           :customStyle="{ 'border-radius': '43rpx' }" | ||||
|           @click="handleReviewPay" | ||||
|         ></u-button> | ||||
|       </view> | ||||
|       <view> | ||||
|         <u-button | ||||
|           text="打印" | ||||
|           type="primary" | ||||
|           :customStyle="{ 'border-radius': '43rpx' }" | ||||
|         ></u-button> | ||||
|       </view> | ||||
|     </view> | ||||
|   </view> | ||||
|   <!-- 支付方式 --> | ||||
|   <block v-for="(item, index) in state.sheetList" :key="index"> | ||||
|     <u-action-sheet | ||||
|       :actions="contrlModalParams[item.key].list" | ||||
|       :title="contrlModalParams[item.key].title" | ||||
|       :show="contrlModalParams[item.key].isShow" | ||||
|       @select="(v: any) => handleSelect(item.key, v)" | ||||
|       @close="contrlModalParams[item.key].isShow = false" | ||||
|       :closeOnClickAction="true" | ||||
|     ></u-action-sheet> | ||||
|   </block> | ||||
|   <SmallModal | ||||
|     :title="'确认作废吗?'" | ||||
|     :content="'确认作废后,该订单不能恢复!'" | ||||
|     :okText="'确认作废'" | ||||
|     :isMain="true" | ||||
|     :show="isShowCancelModal" | ||||
|     @handleModal="(v:boolean) => {handleModal(v, deleteId)}" | ||||
|     @handleOk="handleOk()" | ||||
|   /> | ||||
| </template> | ||||
| 
 | ||||
| <script setup lang="ts"> | ||||
| import { ShipmentApi } from "@/services/index"; | ||||
| import { onLoad } from "@dcloudio/uni-app"; | ||||
| const keyword = ref(""); | ||||
| const contrlModalParams = reactive<{ [attrName: string]: any }>({ | ||||
|   paySelect: { | ||||
|     isShow: false, | ||||
|     title: "请选择支付方式", | ||||
|     // 1:现金支付,2:银行卡支付,3:线上支付(微信)4:支付宝 | ||||
|     list: [ | ||||
|       { | ||||
|         name: "微信", | ||||
|         key: 3, | ||||
|       }, | ||||
|       { | ||||
|         name: "现金", | ||||
|         key: 1, | ||||
|       }, | ||||
|       { | ||||
|         name: "支付宝", | ||||
|         key: 4, | ||||
|       }, | ||||
|       { | ||||
|         name: "转账", | ||||
|         key: 2, | ||||
|       }, | ||||
|     ], | ||||
|   }, | ||||
|   printSelect: { | ||||
|     isShow: false, | ||||
|     title: "请选择打印设备", | ||||
|     list: [ | ||||
|       { | ||||
|         name: "打印设备1", | ||||
|         key: 1, | ||||
|       }, | ||||
|       { | ||||
|         name: "打印设备2", | ||||
|         key: 2, | ||||
|       }, | ||||
|       { | ||||
|         name: "打印设备3", | ||||
|         key: 3, | ||||
|       }, | ||||
|       { | ||||
|         name: "打印设备4", | ||||
|         key: 4, | ||||
|       }, | ||||
|     ], | ||||
|   }, | ||||
| }); | ||||
| const state = reactive<{ | ||||
|   order: Shipment; | ||||
|   [attrName: string]: any; | ||||
| }>({ | ||||
|   order: {}, | ||||
|   sheetList: [ | ||||
|     { | ||||
|       key: "paySelect", | ||||
|     }, | ||||
|     { | ||||
|       key: "printSelect", | ||||
|     }, | ||||
|   ], | ||||
|   scaleStatus: 2, | ||||
| }); | ||||
| const gridList1 = reactive([ | ||||
|   { | ||||
|     name: "毛重", | ||||
|     enName: "grossWeight", | ||||
|     num: "", | ||||
|     unit: "KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "皮重", | ||||
|     enName: "tare", | ||||
|     num: "", | ||||
|     unit: "KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "净重", | ||||
|     enName: "netWeight", | ||||
|     num: "", | ||||
|     unit: "KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
| ]); | ||||
| const gridList2 = reactive([ | ||||
|   { | ||||
|     name: "客户名称", | ||||
|     enName: "userName", | ||||
|     num: "", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   {}, | ||||
|   { | ||||
|     name: "签收时间", | ||||
|     enName: "signTime", | ||||
|     num: "", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   {}, | ||||
|   { | ||||
|     name: "毛重", | ||||
|     enName: "signGrossWeight", | ||||
|     num: "", | ||||
|     unit: "KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "皮重", | ||||
|     enName: "signTare", | ||||
|     num: "", | ||||
|     unit: "KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "结算重量", | ||||
|     enName: "signWeight", | ||||
|     num: "", | ||||
|     unit: "KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "单价", | ||||
|     enName: "unitPrice", | ||||
|     num: "", | ||||
|     unit: "元/KG", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "预估总价", | ||||
|     enName: "estimatePrice", | ||||
|     num: "", | ||||
|     unit: "元", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "结算金额", | ||||
|     enName: "totalPrice", | ||||
|     num: "", | ||||
|     unit: "元", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "运费", | ||||
|     enName: "freight", | ||||
|     num: "", | ||||
|     unit: "元", | ||||
|     isBefore: false, | ||||
|   }, | ||||
|   { | ||||
|     name: "杂费", | ||||
|     enName: "incidentals", | ||||
|     num: "", | ||||
|     unit: "元", | ||||
|     isBefore: false, | ||||
|   }, | ||||
| ]); | ||||
| const getIsShow = () => { | ||||
|   return state.order.scaleStatus === 2 || state.order.scaleStatus === 4; | ||||
| }; | ||||
| const handleScenePhoto = (imagesId: number) => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesScenePhoto/index?orderType=1&id=" + imagesId, // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| // 出货未结算 // 先填写结算信息后更新状态为3 | ||||
| const handleReviewNoPay = () => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesShipment/form/settlementForm?id=" + state.order.id, // 要跳转到的页面路径 | ||||
|   }); | ||||
|   // ShipmentApi.updateOrderIn({ ...state.order, scaleStatus: 3 }).then((res) => { | ||||
|   //   if (res.code === 200) { | ||||
|   //     uni.navigateTo({ | ||||
|   //       url: "/pagesShipment/shipmentSettlement?scaleStatus=3", // 要跳转到的页面路径 | ||||
|   //     }); | ||||
|   //   } | ||||
|   // }); | ||||
| }; | ||||
| // 审核立即支付 | ||||
| const handleReviewPay = () => { | ||||
|   contrlModalParams.paySelect.isShow = true; | ||||
| }; | ||||
| 
 | ||||
| const handleSelect = (key: string, v: any) => { | ||||
|   contrlModalParams[key].isShow = false; | ||||
|   if (key === "paySelect") { | ||||
|     // 修改订单状态 | ||||
|     // ShipmentApi.updateOne({ | ||||
|     //   ...state.order, | ||||
|     //   scaleStatus: 4, | ||||
|     //   paymentMethod: v.key, | ||||
|     // }).then((res) => { | ||||
|     //   if (res.code === 200) { | ||||
|     //     uni.showToast({ | ||||
|     //       title: "支付成功", | ||||
|     //       icon: "success", | ||||
|     //     }); | ||||
|     //     uni.navigateTo({ | ||||
|     //       url: "/pagesReceive/payReview?scaleStatus=4", // 要跳转到的页面路径 | ||||
|     //     }); | ||||
|     //   } | ||||
|     // }); | ||||
|   } else if (key === "printSelect") { | ||||
|     // 打印 | ||||
|   } | ||||
| }; | ||||
| const isShowCancelModal = ref(false); | ||||
| const deleteId = ref("0"); | ||||
| // 打开确认作废对话框 | ||||
| const handleModal = (v: boolean, id: string) => { | ||||
|   isShowCancelModal.value = v; | ||||
|   deleteId.value = id; | ||||
| }; | ||||
| const handleOk = () => { | ||||
|   ShipmentApi.deleteOrder({ ids: [deleteId.value] }).then((res) => { | ||||
|     if (res.code === 200) { | ||||
|       uni.navigateTo({ | ||||
|         url: "/pagesShipment/shipmentSettlement?scaleStatus=2", // 要跳转到的页面路径 | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| }; | ||||
| const handleUpdateOrder = () => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesShipment/form/shipmentForm?id=" + state.order.id, // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| onLoad((option) => { | ||||
|   state.order.id = (option as any).id; | ||||
|   state.scaleStatus = parseInt((option as any).scaleStatus); | ||||
|   if (state.order.id) { | ||||
|     ShipmentApi.getDetailById({ id: state.order.id }).then((res) => { | ||||
|       if (res.code === 200) { | ||||
|         state.order = res.data; | ||||
|         // gridList1.map((item) => { | ||||
|         //   if (item.name === "扣杂" || item.name === "扣点") { | ||||
|         //     if (state.order.buttonType === 0) { | ||||
|         //       item.name = "扣杂"; | ||||
|         //       item.enName = "buckleMiscellaneous"; | ||||
|         //       item.unit = "KG"; | ||||
|         //     } else if (state.order.buttonType === 1) { | ||||
|         //       item.name = "扣点"; | ||||
|         //       item.enName = "points"; | ||||
|         //       item.unit = "%"; | ||||
|         //     } | ||||
|         //   } | ||||
|         //   item.num = state.order[item.enName as string]; | ||||
|         // }); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| }); | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| .c-card { | ||||
|   margin: 30rpx 25rpx; | ||||
|   .box { | ||||
|     background: #ffffff; | ||||
|     box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12); | ||||
|     border-radius: 13rpx; | ||||
|     padding: 30rpx; | ||||
|     .base { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|       justify-content: space-between; | ||||
|       font-weight: 400; | ||||
|       font-size: 26rpx; | ||||
|       color: #000000; | ||||
|       .btn { | ||||
|         border-radius: 24rpx; | ||||
|         border: 1px solid #00dcee; | ||||
|         padding: 10rpx 30rpx; | ||||
|         font-weight: 500; | ||||
|         font-size: 24rpx; | ||||
|         color: #00dcee; | ||||
|         line-height: 41rpx; | ||||
|       } | ||||
|     } | ||||
|     .name { | ||||
|       font-weight: 400; | ||||
|       font-size: 26rpx; | ||||
|       color: #000000; | ||||
|       margin: 15rpx 0rpx; | ||||
|       text { | ||||
|         background-color: #ffaf75; | ||||
|         font-weight: 500; | ||||
|         font-size: 26rpx; | ||||
|         color: #ffffff; | ||||
|         padding: 5rpx 20rpx; | ||||
|         margin-left: 20rpx; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .flex-box1 { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|       justify-content: space-between; | ||||
|       margin: 20rpx 0rpx; | ||||
|       .type { | ||||
|         font-weight: 400; | ||||
|         font-size: 26rpx; | ||||
|         color: #ec0f3e; | ||||
|       } | ||||
|       .btn { | ||||
|         display: flex; | ||||
|         > view + view { | ||||
|           margin-left: 10rpx; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     .flex-box { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|       justify-content: space-between; | ||||
|       font-weight: 400; | ||||
|       font-size: 24rpx; | ||||
|       color: #999999; | ||||
|       border-bottom: 1rpx solid rgba(233, 233, 233, 0.76); | ||||
|       padding-bottom: 20rpx; | ||||
|     } | ||||
|   } | ||||
|   .more { | ||||
|     display: grid; | ||||
|     grid-template-columns: repeat(2, 1fr); | ||||
|     flex: 1; | ||||
|     font-weight: 400; | ||||
|     font-size: 26rpx; | ||||
|     color: #000000; | ||||
|     padding: 25rpx 0rpx 0rpx 0rpx; | ||||
|     > view { | ||||
|       line-height: 50rpx; | ||||
|       width: max-content; | ||||
|     } | ||||
|   } | ||||
|   .op-btn { | ||||
|     width: 80%; | ||||
|     margin: 0px auto; | ||||
|     margin-top: 100rpx; | ||||
|     .c-btn-review { | ||||
|       display: flex; | ||||
|       justify-content: space-between; | ||||
|       align-items: center; | ||||
|       background: #f5f5f5; | ||||
|       border-radius: 38rpx; | ||||
|       text-align: center; | ||||
|       margin-bottom: 80rpx; | ||||
|       > view { | ||||
|         width: 50%; | ||||
|         text-align: center; | ||||
|         font-weight: 500; | ||||
|         font-size: 26rpx; | ||||
|         color: #999999; | ||||
|       } | ||||
|       .active { | ||||
|         background: #00dcee; | ||||
|         border-radius: 38rpx; | ||||
|         font-weight: 500; | ||||
|         font-size: 26rpx; | ||||
|         color: #ffffff; | ||||
|         padding: 20rpx 30rpx; | ||||
|       } | ||||
|     } | ||||
|     > view + view { | ||||
|       margin-top: 30rpx; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  | @ -0,0 +1,275 @@ | |||
| <template> | ||||
|   <view class="search"> | ||||
|     <view v-if="!isShowSearch" @click="isShowSearch = true"> | ||||
|       <u-icon color="#C1C1C1" name="search"></u-icon | ||||
|       ><text>请输入客户名称</text> | ||||
|     </view> | ||||
|     <u-search | ||||
|       v-else | ||||
|       placeholder="请输入客户名称" | ||||
|       v-model="keyword" | ||||
|       :focus="true" | ||||
|       bgColor="#fff" | ||||
|       :clearabled="true" | ||||
|       :showAction="false" | ||||
|       placeholderColor="#C1C1C1" | ||||
|     ></u-search> | ||||
|   </view> | ||||
| 
 | ||||
|   <view class="card-box"> | ||||
|     <view class="c-tab"> | ||||
|       <text | ||||
|         v-for="(item, index) in tabList" | ||||
|         :key="index" | ||||
|         :class="{ active: currentTab === item.key }" | ||||
|         @click="handleTab(item)" | ||||
|       > | ||||
|         {{ item.name }} | ||||
|       </text> | ||||
|     </view> | ||||
| 
 | ||||
|     <block v-for="(item, index) in pageList.list" :key="index"> | ||||
|       <view class="c-layout"> | ||||
|         <view | ||||
|           ><checkbox | ||||
|             value="cb" | ||||
|             :color="'#00D2E3'" | ||||
|             :checked="state.checkMap[(item.id as number)]" | ||||
|             style="transform: scale(0.5)" | ||||
|         /></view> | ||||
|         <view class="inner-box"> | ||||
|           <view class="top-flex-box"> | ||||
|             <view> | ||||
|               <view> | ||||
|                 <text class="number">出货单号:{{ item.receiptNumber }}</text> | ||||
|               </view> | ||||
|               <view> | ||||
|                 <text class="name">{{ item.userName }}</text> | ||||
|               </view> | ||||
|             </view> | ||||
|           </view> | ||||
|           <view class="bottom-flex-box"> | ||||
|             <view> | ||||
|               <view> | ||||
|                 <text class="desc" | ||||
|                   >过磅总净重:{{ item.netWeight || 0 }}KG</text | ||||
|                 > | ||||
|               </view> | ||||
|             </view> | ||||
|             <view> | ||||
|               <text class="btn"> | ||||
|                 <text | ||||
|                   v-if="currentTab === 2" | ||||
|                   @click="handleReview(item.id as number, 2)" | ||||
|                   >出货结算</text | ||||
|                 > | ||||
|                 <text v-if="currentTab === 3" @click="handleReview(item.id as number, 3)">去结算</text> | ||||
|                 <text v-if="currentTab === 4" @click="handleReview(item.id as number, 4)">查看</text> | ||||
|               </text> | ||||
|             </view> | ||||
|           </view> | ||||
|         </view> | ||||
|       </view> | ||||
|       <u-gap | ||||
|         height="10" | ||||
|         bgColor="#f8f8f8" | ||||
|         v-if="index < pageList.list.length - 1" | ||||
|       ></u-gap> | ||||
|     </block> | ||||
|   </view> | ||||
|   <view class="btn-box" v-if="(currentTab === 2 || currentTab === 3) && pageList.list.length > 0"> | ||||
|     <u-button | ||||
|       text="全选/取消" | ||||
|       color="#fff" | ||||
|       :customStyle="{ color: '#00DCEE', border: '1px solid #00DCEE' }" | ||||
|       @click="handleSelect" | ||||
|     ></u-button> | ||||
|     <u-button type="primary" :text="`${currentTab === 2 ? '批量审核' : '批量支付'}`"></u-button> | ||||
|   </view> | ||||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import { ShipmentApi } from "@/services/index"; | ||||
| import { onLoad } from "@dcloudio/uni-app"; | ||||
| // scaleStatus | ||||
| interface PageResult<T> { | ||||
|   total: number; | ||||
|   list: T[]; | ||||
|   pageNum: number; | ||||
|   pageSize: number; | ||||
| } | ||||
| const pageList: PageResult<Order> = reactive({ | ||||
|   total: 0, | ||||
|   list: [], | ||||
|   pageNum: 1, | ||||
|   pageSize: 10, | ||||
| }); | ||||
| const keyword = ref(); | ||||
| const isShowSearch = ref(false); | ||||
| const state = reactive<{ | ||||
|   [attrName: string]: any; | ||||
| }>({ | ||||
|   checkMap: {}, | ||||
|   isAll: false, | ||||
| }); | ||||
| const tabList = reactive([ | ||||
|   { | ||||
|     name: "待出货结算", | ||||
|     key: 2, | ||||
|   }, | ||||
|   { | ||||
|     name: "已出未结算", | ||||
|     key: 3, | ||||
|   }, | ||||
|   { | ||||
|     name: "已出已结算", | ||||
|     key: 4, | ||||
|   }, | ||||
| ]); | ||||
| const currentTab = ref(2); | ||||
| const handleTab = (item: any) => { | ||||
|   currentTab.value = item.key; | ||||
|   getOrderList(); | ||||
| }; | ||||
| const handleReview = (id: number, scaleStatus: number) => { | ||||
|   uni.navigateTo({ | ||||
|     url: "/pagesShipment/review/index?id=" + id + `&scaleStatus=`+ scaleStatus, // 要跳转到的页面路径 | ||||
|   }); | ||||
| }; | ||||
| const handleSelect = () => { | ||||
|   state.isAll = !state.isAll; | ||||
|   Object.keys(state.checkMap).forEach((item) => { | ||||
|     state.checkMap[item] = state.isAll; | ||||
|   }); | ||||
| }; | ||||
| const getOrderList = () => { | ||||
|   ShipmentApi.getOrderPage({ pageNumber: 1, pageSize: 10, scaleStatus: currentTab.value }).then( | ||||
|     (res) => { | ||||
|       if (res.code === 200) { | ||||
|         (pageList as any).list = res.data.list; | ||||
|         (res.data.list as any).forEach((item: any) => { | ||||
|           state.checkMap[parseInt(item.id)] = false; | ||||
|         }); | ||||
|       } | ||||
|     } | ||||
|   ); | ||||
| }; | ||||
| onMounted(() => { | ||||
|   getOrderList(); | ||||
| }); | ||||
| onLoad((option) => { | ||||
|   currentTab.value = parseInt((option as any).scaleStatus); | ||||
| }) | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| .search { | ||||
|   box-shadow: 0rpx 3rpx 16rpx 5rpx rgba(0, 0, 0, 0.2); | ||||
|   border-radius: 28rpx; | ||||
|   background: rgba(255, 255, 255, 0.86); | ||||
|   width: 80%; | ||||
|   margin: 0px auto; | ||||
|   margin-top: 30rpx; | ||||
|   font-weight: 400; | ||||
|   font-size: 26rpx; | ||||
|   color: #c1c1c1; | ||||
|   > view { | ||||
|     line-height: 60rpx; | ||||
|     text-align: center; | ||||
|     display: flex; | ||||
|     justify-content: center; | ||||
|   } | ||||
|   text { | ||||
|     margin-left: 15rpx; | ||||
|   } | ||||
| } | ||||
| .card-box { | ||||
|   .c-tab { | ||||
|     font-family: Source Han Sans CN; | ||||
|     font-weight: 400; | ||||
|     font-size: 26rpx; | ||||
|     color: #999999; | ||||
|     line-height: 41rpx; | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     justify-content: space-around; | ||||
|     border-bottom: 1rpx solid rgba(233, 233, 233, 0.76); | ||||
|     text { | ||||
|       padding: 16rpx; | ||||
|     } | ||||
|     .active { | ||||
|       color: $u-primary; | ||||
|       border-bottom: 5rpx solid $u-primary; | ||||
|       border-radius: 5rpx; | ||||
|     } | ||||
|   } | ||||
|   .c-layout { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     padding: 30rpx 25rpx 30rpx 0rpx; | ||||
|   } | ||||
|   .inner-box { | ||||
|     width: 100%; | ||||
|     // padding: 40rpx 40rpx; | ||||
|     .bottom-flex-box { | ||||
|       display: flex; | ||||
|       justify-content: space-between; | ||||
|       align-items: center; | ||||
|       .btn { | ||||
|         border-radius: 24rpx; | ||||
|         border: 1px solid #00dcee; | ||||
|         padding: 10rpx 30rpx; | ||||
|         font-weight: 500; | ||||
|         font-size: 24rpx; | ||||
|         color: #00dcee; | ||||
|         line-height: 41rpx; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12); | ||||
|   border-radius: 13rpx; | ||||
|   margin: 0rpx 25rpx; | ||||
|   margin-top: 35rpx; | ||||
|   font-family: Source Han Sans CN; | ||||
|   font-weight: 400; | ||||
|   font-size: 26rpx; | ||||
|   color: #000000; | ||||
|   line-height: 41rpx; | ||||
| 
 | ||||
|   .desc { | ||||
|     font-size: 24rpx; | ||||
|     color: #999999; | ||||
|     margin-top: 30rpx; | ||||
|     display: inline-block; | ||||
|   } | ||||
|   .name { | ||||
|     font-size: 26rpx; | ||||
|     color: #000000; | ||||
|     font-weight: bold; | ||||
|   } | ||||
|   .flex-box { | ||||
|     font-weight: bold; | ||||
|     color: #000000; | ||||
|     line-height: 41rpx; | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     justify-content: space-between; | ||||
|   } | ||||
| } | ||||
| .btn-box { | ||||
|   margin-top: 60rpx; | ||||
|   display: flex; | ||||
|   background: #ffffff; | ||||
|   box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 56, 93, 0.12); | ||||
|   border-radius: 13rpx 13rpx 0rpx 0rpx; | ||||
|   padding: 25rpx 50rpx; | ||||
|   position: absolute; | ||||
|   bottom: 0rpx; | ||||
|   width: calc(100vw - 100rpx); | ||||
|   ::v-deep button { | ||||
|     border-radius: 43rpx; | ||||
|   } | ||||
|   ::v-deep button + button { | ||||
|     margin-left: 50rpx; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  | @ -3,7 +3,6 @@ | |||
|     <view class="top-flex-box"> | ||||
|       <view> | ||||
|         <view> | ||||
|           {{ item.id }} | ||||
|           <text class="address">{{ item.deviceName || "-" }}</text> | ||||
|         </view> | ||||
|         <view> | ||||
|  |  | |||
|  | @ -1,48 +0,0 @@ | |||
| // 存放路径: src/services/home.ts
 | ||||
| 
 | ||||
| import { http } from '@/utils/http' | ||||
| 
 | ||||
| /** | ||||
|  * 首页-广告区域-小程序 | ||||
|  * @param distributionSite 广告区域展示位置(投放位置 投放位置,1为首页,2为分类商品页) 默认是1 | ||||
|  */ | ||||
| export const getHomeBannerAPI = (distributionSite = 1) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/banner', | ||||
|     data: { | ||||
|       distributionSite, | ||||
|     }, | ||||
|   }) | ||||
| } | ||||
| // services/home.ts
 | ||||
| /** | ||||
|  * 首页-前台分类-小程序 | ||||
|  */ | ||||
| export const getHomeCategoryAPI = () => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/category/mutli', | ||||
|   }) | ||||
| } | ||||
| // services/home.ts
 | ||||
| /** | ||||
|  * 首页-热门推荐-小程序 | ||||
|  */ | ||||
| export const getHomeHotAPI = () => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/hot/mutli', | ||||
|   }) | ||||
| } | ||||
| // src/services/home.ts
 | ||||
| /** | ||||
|  * 猜你喜欢-小程序 | ||||
|  */ | ||||
| export const getHomeGoodsGuessLikeAPI = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/goods/guessLike', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
|  | @ -1,48 +0,0 @@ | |||
| // 存放路径: src/services/home.ts
 | ||||
| 
 | ||||
| import { http } from '@/utils/http' | ||||
| 
 | ||||
| /** | ||||
|  * 首页-广告区域-小程序 | ||||
|  * @param distributionSite 广告区域展示位置(投放位置 投放位置,1为首页,2为分类商品页) 默认是1 | ||||
|  */ | ||||
| export const getHomeBannerAPI = (distributionSite = 1) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/banner', | ||||
|     data: { | ||||
|       distributionSite, | ||||
|     }, | ||||
|   }) | ||||
| } | ||||
| // services/home.ts
 | ||||
| /** | ||||
|  * 首页-前台分类-小程序 | ||||
|  */ | ||||
| export const getHomeCategoryAPI = () => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/category/mutli', | ||||
|   }) | ||||
| } | ||||
| // services/home.ts
 | ||||
| /** | ||||
|  * 首页-热门推荐-小程序 | ||||
|  */ | ||||
| export const getHomeHotAPI = () => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/hot/mutli', | ||||
|   }) | ||||
| } | ||||
| // src/services/home.ts
 | ||||
| /** | ||||
|  * 猜你喜欢-小程序 | ||||
|  */ | ||||
| export const getHomeGoodsGuessLikeAPI = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/home/goods/guessLike', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
|  | @ -0,0 +1,46 @@ | |||
| import { http } from '@/utils/http' | ||||
| 
 | ||||
| // 设备信息新增
 | ||||
| export const addDevice = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/device/addDevice', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| // 设备信息修改
 | ||||
| export const editDevice = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/device/edit', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 设备信息逻辑删除
 | ||||
| export const deleteDevice = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/device/deleteDevice', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| // 设备信息根据id查询
 | ||||
| export const selectDeviceId = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/device/selectDeviceId', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 设备信息根据id查询
 | ||||
| export const getDeviceList = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/device/getDeviceList', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -0,0 +1,181 @@ | |||
| import { http } from '@/utils/http' | ||||
| 
 | ||||
| // 收货分类新增
 | ||||
| export const getStockCardList = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/recategory/addReCategory', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货分类逻辑删除
 | ||||
| export const deleteReceiveCategory = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/recategory/deleteCategory', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货根据分类id查询
 | ||||
| export const selectReCyById = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/recategory/selectReCyById', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //收货分类分页查询
 | ||||
| export const getPage = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/recategory/getPage', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货分类修改信息
 | ||||
| export const editReceiveCategory = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/recategory/edit', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货产品新增
 | ||||
| export const addReProducts = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/reproducts/addReProducts', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货产品编辑
 | ||||
| export const EditReceiveProduct = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/reproducts/edit', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货产品逻辑删除
 | ||||
| export const deleteReceiveProduct = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/reproducts/deleteCategory', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货产品根据产品id查询
 | ||||
| export const getReceiveProductById = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/reproducts/selectReCyById', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货产品分页查询
 | ||||
| export const getReceiveProductListByPage = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/reproducts/getPage', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 收货产品查询所有
 | ||||
| export const getReceiveProductList = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/reproducts/allReProducts', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货分类新增
 | ||||
| export const addShmCategory = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/shmcategory/addShmCategory', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货分类树显示
 | ||||
| export const getShipmentCategory = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/shmcategory/getChinaList', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货分类根据id查询
 | ||||
| export const getShipmentCategoryById = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/shmcategory/selectShCyById', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货分类根据id逻辑删除
 | ||||
| export const deleteById = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/shmcategory/deleteShmCategory', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货分类根据id编辑
 | ||||
| export const editShipmentCategory = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/shmcategory/edit', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货产品根据id查询
 | ||||
| export const getShipmentProductById = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/shmproducts/selectRePsById', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货产品新增
 | ||||
| export const addShipmentProduct = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/shmproducts/addShmProducts', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货产品分页查询
 | ||||
| export const getShipmentProductByPage = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/shmproducts/getPage', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 出货产品查询所有
 | ||||
| export const getShipmentProductList = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/shmproducts/allShmProducts', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
|  | @ -3,3 +3,6 @@ export * as ReceiveApi from './receive' | |||
| export * as ShipmentApi from './shipment' | ||||
| export * as PictureApi from './picture' | ||||
| export * as ReceiveProductApi from './receiveProduct' | ||||
| export * as DeviceApi from './device' | ||||
| export * as StockCardApi from './stockCard' | ||||
| export * as GoodsApi from './goods' | ||||
|  | @ -39,6 +39,16 @@ export const sendMsg = (data: { phone: string }) => { | |||
|   }); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| // 修改密码
 | ||||
| export const updateUserPwd = (data: any) => { | ||||
|   return http({ | ||||
|     method: "POST", | ||||
|     url: "/api/user/updateUserPwd", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 创建角色
 | ||||
| export const addRole = (data: { roleCode: string; roleName: string }) => { | ||||
|   return http({ | ||||
|  | @ -61,13 +71,14 @@ export const updateRole = (data: { | |||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 发送验证码
 | ||||
| // 查询角色列表
 | ||||
| export const getRoleList = () => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/role/getRoleList", | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 验证角色是否重复 1=code 2=名称 3=全部
 | ||||
| export const verifyRole = (data: { | ||||
|   roleCode: string; | ||||
|  | @ -95,7 +106,95 @@ export const addMenusRole = (data: { | |||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 查询角色菜单权限
 | ||||
| export const getMenusRole = (data: any) => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/role/getMenusRole", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 查询分页菜单
 | ||||
| export const getMenuByPage = (data: any) => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/menus/getPage", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 创建菜单
 | ||||
| export const addMenus = (data: any) => { | ||||
|   return http({ | ||||
|     method: "POST", | ||||
|     url: "/api/menus/addMenus", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 查询菜单List
 | ||||
| export const getMenuList = (data: any) => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/menus/getList", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 修改菜单
 | ||||
| export const updateMenus = (data: any) => { | ||||
|   return http({ | ||||
|     method: "POST", | ||||
|     url: "/api/menus/updateMenus", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 查询省市区
 | ||||
| export const getProvinceList = (data: any) => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/user/getChinaList", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 添加用户
 | ||||
| export const addUser = (data: any) => { | ||||
|   return http({ | ||||
|     method: "POST", | ||||
|     url: "/api/user/addUser", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 查询用户分页
 | ||||
| export const getUserListByPage = (data: any) => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/user/getUserPage", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 获取用户信息
 | ||||
| export const getUserInfo = (data: any) => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/user/getUserInfo", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 添加用户角色关系
 | ||||
| export const addUserRole = (data: any) => { | ||||
|   return http({ | ||||
|     method: "POST", | ||||
|     url: "/api/user/addUserRole", | ||||
|     data | ||||
|   }); | ||||
| }; | ||||
| // 查询用户列表
 | ||||
| export const getUserList = (data: { | ||||
|   name?: string; | ||||
|  |  | |||
|  | @ -81,6 +81,25 @@ export const updateOne = (data: any) => { | |||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 收货汇总
 | ||||
| export const OrderInReceipt = () => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/orderIn/OrderInReceipt" | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| // 收货单排行榜
 | ||||
| export const OrderInRanking = () => { | ||||
|   return http({ | ||||
|     method: "GET", | ||||
|     url: "/api/orderIn/OrderInRanking" | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ type ShipmentSummary = { | |||
|   toBeSettled: number, // 待结算
 | ||||
| } | ||||
| // 根据id查询出货单
 | ||||
| export const getDetailById = (data: {id: number}) => { | ||||
| export const getDetailById = (data: {id: string}) => { | ||||
|   return http<Shipment>({ | ||||
|     method: "GET", | ||||
|     url: "/api/orderOut/getOne", | ||||
|  |  | |||
|  | @ -0,0 +1,26 @@ | |||
| import { http } from '@/utils/http' | ||||
| 
 | ||||
| // 库存卡查询分页
 | ||||
| export const getStockCardList = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'GET', | ||||
|     url: '/api/card/getStockCardList', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| // 添加库存卡
 | ||||
| export const addStockCard = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/card/addStockCard', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| // 修改库存卡
 | ||||
| export const updateStockCard = (data: any) => { | ||||
|   return http({ | ||||
|     method: 'POST', | ||||
|     url: '/api/card/updateStockCard', | ||||
|     data, | ||||
|   }) | ||||
| } | ||||
| Before Width: | Height: | Size: 544 KiB | 
|  | @ -28,3 +28,6 @@ body { | |||
| .l-h-28 { | ||||
|   line-height: 28px; | ||||
| } | ||||
| .mt-30 { | ||||
|   margin-top: 30rpx; | ||||
| } | ||||
|  | @ -42,6 +42,33 @@ interface Order { | |||
|   isChecked?: boolean; | ||||
|   [attrName: string]: any; | ||||
| } | ||||
| // 分页结构
 | ||||
| interface OrderPage<T> { | ||||
|   total: number; | ||||
|   list: T; | ||||
|   pageNum: number; | ||||
|   pageSize: number; | ||||
| } | ||||
| 
 | ||||
| interface ReceiveSummary { | ||||
|   totalReceipt: number; // 本月总出货
 | ||||
|   totalExpenditure: number; // 本月总收入
 | ||||
|   toBePriced: number; // 待收货
 | ||||
|   toBeTare: number; // 待过皮重
 | ||||
|   audit: number; // 付款审核
 | ||||
|   toBePaid: number; // 待支付
 | ||||
| } | ||||
| 
 | ||||
| type PageParams = { | ||||
|   pageNumber: number; | ||||
|   pageSize: number; | ||||
|   pricingUserId?: string; // 定价人
 | ||||
|   userId?: string; // 供应商id
 | ||||
|   productId?: string; // 产品id
 | ||||
|   repairFlag?: boolean; // 是否为补单,true 是未补单,false是补单
 | ||||
|   scaleStatus?: number; // 磅单状态:0:待定价1:待过皮2:待审核3:已审核待支付4:已支付
 | ||||
| }; | ||||
| 
 | ||||
| interface Shipment { | ||||
|   id?: string; | ||||
|   userId?: number; //供应商id
 | ||||
|  | @ -84,29 +111,28 @@ interface Shipment { | |||
|   isDeleted?: string; //删除标识true删除,false未删除
 | ||||
|   [attrName: string]: any; | ||||
| } | ||||
| // 分页结构
 | ||||
| interface OrderPage<T> { | ||||
|   total: number; | ||||
|   list: T; | ||||
|   pageNum: number; | ||||
|   pageSize: number; | ||||
| 
 | ||||
| // 出货单排行
 | ||||
| interface ShipmentRank { | ||||
|   userId: number; | ||||
|   userName: string; | ||||
|   productId: number; | ||||
|   productName: string; // 产品名称
 | ||||
|   totalAmount: number; // 总收货量
 | ||||
|   totalPayment: number; //总应付总额
 | ||||
|   totalOrderNumber: number; // 收货单数量
 | ||||
|   averagePrice: number; // 均价
 | ||||
| } | ||||
| 
 | ||||
| interface ReceiveSummary { | ||||
|   totalReceipt: number; // 本月总出货
 | ||||
|   totalExpenditure: number; // 本月总收入
 | ||||
|   toBePriced: number; // 待收货
 | ||||
|   toBeTare: number; // 待过皮重
 | ||||
|   audit: number; // 付款审核
 | ||||
|   toBePaid: number; // 待支付
 | ||||
| // 出库分类
 | ||||
| interface ShipmentTypeCount { | ||||
|   totalAmount: number; // 收货汇总:审核过收货总量
 | ||||
|   totalPayShipment: number; // 已支付的出货总量
 | ||||
|   totalUnPayShipment: number; // 未支付的出货总量
 | ||||
|   totalCollection: number; // 总收款
 | ||||
|   totalPayCollection: number; // 已经收到的收款
 | ||||
|   totalUnPayCollection: number; // 未收到的收款
 | ||||
|   totalReceipt: number; // 收货单数量已审核的
 | ||||
|   averagePrice: number; // 平均单价
 | ||||
|   rankings: ShipmentRank[]; // 出货产品汇总
 | ||||
| } | ||||
| 
 | ||||
| type PageParams = { | ||||
|   pageNumber: number; | ||||
|   pageSize: number; | ||||
|   pricingUserId?: string; // 定价人
 | ||||
|   userId?: string; // 供应商id
 | ||||
|   productId?: string; // 产品id
 | ||||
|   repairFlag?: boolean; // 是否为补单,true 是未补单,false是补单
 | ||||
|   scaleStatus?: number; // 磅单状态:0:待定价1:待过皮2:待审核3:已审核待支付4:已支付
 | ||||
| }; | ||||
|  |  | |||
|  | @ -53,3 +53,9 @@ export enum UserType { | |||
|   Face = 0, | ||||
|   Card = 1, | ||||
| } | ||||
| 
 | ||||
| // 提货方式:0:送货1:自提
 | ||||
| export enum DeliveryMethod { | ||||
|   Deliver = 0, | ||||
|   SelfPickup = 1 | ||||
| } | ||||