Compare commits
	
		
			2 Commits
		
	
	
		
			c9aaa4f1d4
			...
			798f4389d3
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  admin | 798f4389d3 | |
|  admin | 871f42fda7 | 
|  | @ -8,10 +8,10 @@ | ||||||
|         <view v-for="(child, index) in item.child" :key="index" @click="(child as any).fn(child)"> |         <view v-for="(child, index) in item.child" :key="index" @click="(child as any).fn(child)"> | ||||||
|           <view> |           <view> | ||||||
|             <up-image |             <up-image | ||||||
|               :src="`/static/img/statistic/${child.icon}`" |               :src="`/PagesStatistics/static/${child.icon}`" | ||||||
|               :width="child.width" |  | ||||||
|               :height="child.height" |  | ||||||
|               mode="aspectFill" |               mode="aspectFill" | ||||||
|  |               width="60rpx" | ||||||
|  |               height="60rpx" | ||||||
|             ></up-image> |             ></up-image> | ||||||
|           </view> |           </view> | ||||||
|           <view>{{ child.title }}</view> |           <view>{{ child.title }}</view> | ||||||
|  | @ -30,9 +30,7 @@ const list = reactive([ | ||||||
|     title: "收货", |     title: "收货", | ||||||
|     child: [ |     child: [ | ||||||
|       { |       { | ||||||
|         icon: "1-1.png", |         icon: "01.png", | ||||||
|         width: "42.31rpx", |  | ||||||
|         height: "50rpx", |  | ||||||
|         title: "收货汇总", |         title: "收货汇总", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -41,9 +39,7 @@ const list = reactive([ | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         icon: "1-2.png", |         icon: "02.png", | ||||||
|         width: "44.23rpx", |  | ||||||
|         height: "44.23rpx", |  | ||||||
|         title: "供应商排行", |         title: "供应商排行", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -58,9 +54,7 @@ const list = reactive([ | ||||||
|     title: "出货", |     title: "出货", | ||||||
|     child: [ |     child: [ | ||||||
|       { |       { | ||||||
|         icon: "2-1.png", |         icon: "03.png", | ||||||
|         width: "42.31rpx", |  | ||||||
|         height: "50rpx", |  | ||||||
|         title: "出货汇总", |         title: "出货汇总", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -69,9 +63,7 @@ const list = reactive([ | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         icon: "2-2.png", |         icon: "04.png", | ||||||
|         width: "46.15rpx", |  | ||||||
|         height: "46.15rpx", |  | ||||||
|         title: "客户排行", |         title: "客户排行", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -85,9 +77,7 @@ const list = reactive([ | ||||||
|     title: "账本", |     title: "账本", | ||||||
|     child: [ |     child: [ | ||||||
|       { |       { | ||||||
|         icon: "3-1.png", |         icon: "05.png", | ||||||
|         width: "46.15rpx", |  | ||||||
|         height: "46.79rpx", |  | ||||||
|         title: "经营概况", |         title: "经营概况", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -96,9 +86,7 @@ const list = reactive([ | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         icon: "3-2.png", |         icon: "06.png", | ||||||
|         width: "48.08rpx", |  | ||||||
|         height: "44.23rpx", |  | ||||||
|         title: "供应商对账", |         title: "供应商对账", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -107,9 +95,7 @@ const list = reactive([ | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         icon: "3-3.png", |         icon: "07.png", | ||||||
|         width: "43.59rpx", |  | ||||||
|         height: "43.59rpx", |  | ||||||
|         title: "客户对账", |         title: "客户对账", | ||||||
|         fn: (item: any) => { |         fn: (item: any) => { | ||||||
|           uni.navigateTo({ |           uni.navigateTo({ | ||||||
|  | @ -124,15 +110,15 @@ const list = reactive([ | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .title { | .title { | ||||||
|   line-height: 80rpx; |   line-height: 80rpx; | ||||||
|   padding: 0rpx 19.87rpx; |   padding: 0rpx 20rpx; | ||||||
| } | } | ||||||
| .box-content { | .box-content { | ||||||
|   display: flex; |   display: flex; | ||||||
|   margin: 21rpx 0rpx; |   margin: 22rpx 0rpx; | ||||||
|   padding: 0rpx 19.87rpx; |   padding: 0rpx 20rpx; | ||||||
|   > view { |   > view { | ||||||
|     width: 141rpx; |     width: 142rpx; | ||||||
|     height: 141rpx; |     height: 142rpx; | ||||||
|     background: #f9f9f9; |     background: #f9f9f9; | ||||||
|     border-radius: 26rpx; |     border-radius: 26rpx; | ||||||
|     // text-align: center; |     // text-align: center; | ||||||
|  | @ -140,7 +126,7 @@ const list = reactive([ | ||||||
|     // display: grid; |     // display: grid; | ||||||
|     font-family: Source Han Sans CN; |     font-family: Source Han Sans CN; | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 24rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|     display: flex; |     display: flex; | ||||||
|     align-items: center; |     align-items: center; | ||||||
|  | @ -153,7 +139,7 @@ const list = reactive([ | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   > view + view { |   > view + view { | ||||||
|     margin-left: 32.05rpx; |     margin-left: 32rpx; | ||||||
|   } |   } | ||||||
|   ::v-deep .u-transition { |   ::v-deep .u-transition { | ||||||
|     align-items: center; |     align-items: center; | ||||||
|  |  | ||||||
| After Width: | Height: | Size: 6.4 KiB | 
| After Width: | Height: | Size: 7.0 KiB | 
| After Width: | Height: | Size: 6.8 KiB | 
| After Width: | Height: | Size: 5.3 KiB | 
| After Width: | Height: | Size: 8.4 KiB | 
| After Width: | Height: | Size: 6.9 KiB | 
| After Width: | Height: | Size: 5.4 KiB | 
|  | @ -12,7 +12,7 @@ const props = defineProps<{ | ||||||
| .title { | .title { | ||||||
|   font-family: Source Han Sans CN; |   font-family: Source Han Sans CN; | ||||||
|   font-weight: 500; |   font-weight: 500; | ||||||
|   font-size: 27rpx; |   font-size: 28rpx; | ||||||
|   color: #000000; |   color: #000000; | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -11,96 +11,119 @@ | ||||||
|       ></u-search> |       ></u-search> | ||||||
|     </view> |     </view> | ||||||
| 
 | 
 | ||||||
|     <view class="box" v-for="item in 10" :key="item"> |     <view class="box" v-for="(item, index) in pageList.list" :key="index"> | ||||||
|       <view class="base"> |       <view class="base"> | ||||||
|         <view> |         <view> | ||||||
|           <view class="no"> 收货单号:SHD20230901132333 </view> |           <view class="no"> 收货单号:{{ item.receiptNumber }} </view> | ||||||
|           <view class="supplier"> 上海奉贤两网融合(大磅) </view> |           <view class="supplier"> {{ item.deviceName }} </view> | ||||||
|         </view> |         </view> | ||||||
|         <view> |         <view> | ||||||
|           <text class="btn" @click="handleScenePhoto(1)">现场照片</text> |           <text class="btn" @click="handleScenePhoto(item.imagesId as number)" | ||||||
|  |             >现场照片</text | ||||||
|  |           > | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
| 
 | 
 | ||||||
|       <view class="name">吴小勇</view> |       <view class="name">{{ item.userName }}</view> | ||||||
|       <view class="type">轻二</view> |       <view class="type">{{ item.productName }}</view> | ||||||
|       <view class="flex-box"> |       <view class="flex-box"> | ||||||
|         <text>定价人:谭兵</text> |         <text>定价人:{{ item.pricingUserName }}</text> | ||||||
|         <text>过磅时间:2023-09-01 13:23:33</text> |         <text>过磅时间:{{ item.tareTime }}</text> | ||||||
|       </view> |       </view> | ||||||
| 
 | 
 | ||||||
|       <view class="more"> |       <view class="more"> | ||||||
|         <view v-for="(item, index) in gridList1" :key="index" :style="item.isCustomStyle ? 'font-size: 22rpx;color:#999' : ''"> |         <view | ||||||
|           <text v-if="item.name">{{ item.name }}:</text |           v-for="(cItem, index) in gridList1" | ||||||
|           ><text |           :key="index" | ||||||
|             >{{ item.isBefore ? item.unit : "" }} |           :style="cItem.isCustomStyle ? 'font-size: 22rpx;color:#999' : ''" | ||||||
|             {{ item.num }} |         > | ||||||
|             {{ item.isBefore ? "" : item.unit }} |           <block v-if="cItem.name === '扣杂'"> | ||||||
|  |             <text v-if="cItem.name"> | ||||||
|  |               {{ item.buttonType === 0 ? "扣杂" : "扣点" }}: </text | ||||||
|  |             ><text> | ||||||
|  |               {{ | ||||||
|  |                 item.buttonType === 0 | ||||||
|  |                   ? item[cItem.enName as string] | ||||||
|  |                   : item["points"] | ||||||
|  |               }} | ||||||
|  |               {{ item.buttonType === 0 ? cItem.unit : "%" }} | ||||||
|             </text> |             </text> | ||||||
|  |           </block> | ||||||
|  |           <block v-if="cItem.name !== '扣杂'"> | ||||||
|  |             <text v-if="cItem.name">{{ cItem.name }}:</text | ||||||
|  |             ><text | ||||||
|  |               >{{ cItem.isBefore ? cItem.unit : "" }} | ||||||
|  |               {{ item[cItem.enName as string] }} | ||||||
|  |               {{ cItem.isBefore ? "" : cItem.unit }} | ||||||
|  |             </text> | ||||||
|  |           </block> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|     </view> |     </view> | ||||||
|   </view> |   </view> | ||||||
| </template> | </template> | ||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
|  | import { ReceiveApi } from "@/services"; | ||||||
|  | 
 | ||||||
| const keyword = ref(""); | const keyword = ref(""); | ||||||
| const gridList1 = reactive([ | const gridList1 = reactive([ | ||||||
|   { |   { | ||||||
|     name: "毛重", |     name: "毛重", | ||||||
|     num: "4080.00", |     enName: "grossWeight", | ||||||
|  |     num: 0, | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "皮重", |     name: "皮重", | ||||||
|     num: "3450.00", |     enName: "tare", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "扣杂", |     name: "扣杂", | ||||||
|     num: "640.00", |     enName: "buckleMiscellaneous", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   {}, |   {}, | ||||||
|   { |   { | ||||||
|     name: "净重", |     name: "净重", | ||||||
|     num: "640.00", |     enName: "netWeight", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "单价", |     name: "单价", | ||||||
|     num: "2.48", |     enName: "price", | ||||||
|     unit: "元/千克", |     unit: "元/千克", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "结算总价", |     name: "结算总价", | ||||||
|     num: "2.48", |     enName: "balanceTotalPrice", | ||||||
|     unit: "元", |     unit: "元", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "实际总价", |     name: "实际总价", | ||||||
|     num: "2.48", |     enName: "totalPrice", | ||||||
|     unit: "元", |     unit: "元", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "作废人", |     name: "作废人", | ||||||
|     num: "谭兵", |     enName: "updateUserName", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "过皮", |     name: "过皮", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "tareTime", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
| ]); | ]); | ||||||
| const handleScenePhoto = (imagesId: number) => { | const handleScenePhoto = (imagesId: number) => { | ||||||
|  | @ -108,6 +131,34 @@ const handleScenePhoto = (imagesId: number) => { | ||||||
|     url: "/pagesScenePhoto/index?orderType=1&id=" + imagesId, // 要跳转到的页面路径 |     url: "/pagesScenePhoto/index?orderType=1&id=" + imagesId, // 要跳转到的页面路径 | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | interface PageResult<T> { | ||||||
|  |   total: number; | ||||||
|  |   list: T[]; | ||||||
|  |   pageNum: number; | ||||||
|  |   pageSize: number; | ||||||
|  | } | ||||||
|  | const pageList: PageResult<Order> = reactive({ | ||||||
|  |   total: 0, | ||||||
|  |   list: [], | ||||||
|  |   pageNum: 1, | ||||||
|  |   pageSize: 10, | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | const getOrderList = () => { | ||||||
|  |   ReceiveApi.getOrderPage({ | ||||||
|  |     pageNumber: 1, | ||||||
|  |     pageSize: 10, | ||||||
|  |     isDeleted: true, | ||||||
|  |   }).then((res) => { | ||||||
|  |     if (res.code === 200) { | ||||||
|  |       (pageList as any).list = res.data.list; | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | onMounted(() => { | ||||||
|  |   getOrderList(); | ||||||
|  | }); | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .c-card { | .c-card { | ||||||
|  | @ -125,12 +176,12 @@ const handleScenePhoto = (imagesId: number) => { | ||||||
|       justify-content: space-between; |       justify-content: space-between; | ||||||
|       .no { |       .no { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|         font-size: 21rpx; |         font-size: 26rpx; | ||||||
|         color: #000000; |         color: #000000; | ||||||
|       } |       } | ||||||
|       .supplier { |       .supplier { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|         font-size: 24rpx; |         font-size: 26rpx; | ||||||
|         color: #000000; |         color: #000000; | ||||||
|       } |       } | ||||||
|       .btn { |       .btn { | ||||||
|  | @ -138,20 +189,20 @@ const handleScenePhoto = (imagesId: number) => { | ||||||
|         border: 1px solid #00dcee; |         border: 1px solid #00dcee; | ||||||
|         padding: 10rpx 30rpx; |         padding: 10rpx 30rpx; | ||||||
|         font-weight: 500; |         font-weight: 500; | ||||||
|         font-size: 24rpx; |         font-size: 26rpx; | ||||||
|         color: #00dcee; |         color: #00dcee; | ||||||
|         line-height: 41rpx; |         line-height: 41rpx; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     .name { |     .name { | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 27rpx; |       font-size: 28rpx; | ||||||
|       color: #000000; |       color: #000000; | ||||||
|       margin: 15rpx 0rpx; |       margin: 15rpx 0rpx; | ||||||
|       text { |       text { | ||||||
|         background-color: #ffaf75; |         background-color: #ffaf75; | ||||||
|         font-weight: 500; |         font-weight: 500; | ||||||
|         font-size: 16rpx; |         font-size: 24rpx; | ||||||
|         color: #ffffff; |         color: #ffffff; | ||||||
|         padding: 5rpx 20rpx; |         padding: 5rpx 20rpx; | ||||||
|         margin-left: 20rpx; |         margin-left: 20rpx; | ||||||
|  | @ -159,7 +210,7 @@ const handleScenePhoto = (imagesId: number) => { | ||||||
|     } |     } | ||||||
|     .type { |     .type { | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 27rpx; |       font-size: 28rpx; | ||||||
|       color: #ec0f3e; |       color: #ec0f3e; | ||||||
|       margin-bottom: 20rpx; |       margin-bottom: 20rpx; | ||||||
|     } |     } | ||||||
|  | @ -168,7 +219,7 @@ const handleScenePhoto = (imagesId: number) => { | ||||||
|       align-items: center; |       align-items: center; | ||||||
|       justify-content: space-between; |       justify-content: space-between; | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 24rpx; |       font-size: 26rpx; | ||||||
|       color: #999999; |       color: #999999; | ||||||
|       border-bottom: 1rpx solid rgba(233, 233, 233, 0.76); |       border-bottom: 1rpx solid rgba(233, 233, 233, 0.76); | ||||||
|       padding-bottom: 20rpx; |       padding-bottom: 20rpx; | ||||||
|  | @ -179,7 +230,7 @@ const handleScenePhoto = (imagesId: number) => { | ||||||
|     grid-template-columns: repeat(2, 1fr); |     grid-template-columns: repeat(2, 1fr); | ||||||
|     flex: 1; |     flex: 1; | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 24rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|     padding: 25rpx 0rpx 0rpx 0rpx; |     padding: 25rpx 0rpx 0rpx 0rpx; | ||||||
|     > view { |     > view { | ||||||
|  |  | ||||||
|  | @ -11,35 +11,35 @@ | ||||||
|       ></u-search> |       ></u-search> | ||||||
|     </view> |     </view> | ||||||
| 
 | 
 | ||||||
|     <view class="box" v-for="item in 10" :key="item"> |     <view class="box" v-for="(item, index) in pageList.list" :key="index"> | ||||||
|       <view class="base"> |       <view class="base"> | ||||||
|         <view> |         <view> | ||||||
|           <view class="no"> 出货单号:SHD20230901132333 </view> |           <view class="no"> 出货单号:{{ item.orderNumber }} </view> | ||||||
|           <view class="supplier"> 上海奉贤两网融合(大磅) </view> |           <view class="supplier"> {{ item.deviceName }} </view> | ||||||
|         </view> |         </view> | ||||||
|         <view> |         <view> | ||||||
|           <text class="btn" @click="handleScenePhoto">现场照片</text> |           <text class="btn" @click="handleScenePhoto((item as any).id)">现场照片</text> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
| 
 | 
 | ||||||
|       <view class="name">吴小勇 <text>未结算</text></view> |       <view class="name">{{ item.userName }} <text>{{ getScaleStatus((item as any).scaleStatus) }}</text></view> | ||||||
|       <view class="type">轻二</view> |       <view class="type">{{ item.productName }}</view> | ||||||
| 
 | 
 | ||||||
|       <view class="more"> |       <view class="more"> | ||||||
|         <view |         <view | ||||||
|           v-for="(item, index) in gridList1" |           v-for="(cItem, index) in gridList1" | ||||||
|           :key="index" |           :key="index" | ||||||
|           :style="{ |           :style="{ | ||||||
|             width: `${item.name === '创建时间' ? 'max-content' : ''}`, |             width: `${cItem.name === '创建时间' ? 'max-content' : ''}`, | ||||||
|             'font-size': `${item.isCustomStyle ? '22rpx' : ''}`, |             'font-size': `${cItem.isCustomStyle ? '22rpx' : ''}`, | ||||||
|             color: `${item.isCustomStyle ? '#999' : ''}`, |             color: `${cItem.isCustomStyle ? '#999' : ''}`, | ||||||
|           }" |           }" | ||||||
|         > |         > | ||||||
|           <text v-if="item.name">{{ item.name }}:</text |           <text v-if="cItem.name">{{ cItem.name }}:</text | ||||||
|           ><text |           ><text | ||||||
|             >{{ item.isBefore ? item.unit : "" }} |             >{{ cItem.isBefore ? cItem.unit : "" }} | ||||||
|             {{ item.num }} |             {{ cItem.num }} | ||||||
|             {{ item.isBefore ? "" : item.unit }} |             {{ cItem.isBefore ? "" : cItem.unit }} | ||||||
|           </text> |           </text> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|  | @ -47,116 +47,148 @@ | ||||||
|   </view> |   </view> | ||||||
| </template> | </template> | ||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
|  | import { ShipmentApi } from '@/services'; | ||||||
|  | import { ScaleStatus } from '@/utils/enum'; | ||||||
|  | 
 | ||||||
| const keyword = ref(""); | const keyword = ref(""); | ||||||
| const gridList1 = reactive([ | const gridList1 = reactive([ | ||||||
|   { |   { | ||||||
|     name: "卡号", |     name: "卡号", | ||||||
|     num: "123123", |     enName: "cardNumber", | ||||||
|   }, |   }, | ||||||
|   {}, |   {}, | ||||||
|   { |   { | ||||||
|     name: "创建时间", |     name: "创建时间", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "createTime", | ||||||
|   }, |   }, | ||||||
|   {}, |   {}, | ||||||
|   { |   { | ||||||
|     name: "车牌号", |     name: "车牌号", | ||||||
|     num: "123", |     enName: "carNumber", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "送货方式", |     name: "送货方式", | ||||||
|     num: "自提", |     enName: "deliveryMethod", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "毛重", |     name: "毛重", | ||||||
|     num: "4080.00", |     enName: "grossWeight", | ||||||
|  |     num: "0", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "皮重", |     name: "皮重", | ||||||
|     num: "3450.00", |     enName: "tare", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "净重", |     name: "净重", | ||||||
|     num: "640.00", |     enName: "netWeight", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "数量", |     name: "数量", | ||||||
|     num: "1", |     enName: "number", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "过毛", |     name: "过毛", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "grossTime", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true, |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "过皮", |     name: "过皮", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "tareTime", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true, |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "结算重量", |     name: "结算重量", | ||||||
|     num: "640.00", |     enName: "settlementWeight", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "单价", |     name: "单价", | ||||||
|     num: "2.48", |     enName: "unitPrice", | ||||||
|     unit: "元/千克", |     unit: "元/千克", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "结算总价", |     name: "结算总价", | ||||||
|     num: "2.48", |     enName: "estimatePrice", | ||||||
|     unit: "元", |     unit: "元", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "实结金额", |     name: "实结金额", | ||||||
|     num: "2.48", |     enName: "totalPrice", | ||||||
|     unit: "元", |     unit: "元", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |  | ||||||
|     name: "应收金额", |  | ||||||
|     num: "2.48", |  | ||||||
|     unit: "元", |  | ||||||
|     isBefore: false, |  | ||||||
|   }, |  | ||||||
|   {}, |  | ||||||
|   { |   { | ||||||
|     name: "作废人", |     name: "作废人", | ||||||
|     num: "谭兵", |     enName: "updateUserName", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true, |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "过皮", |     name: "过皮", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "tareTime", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true, |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
| ]); | ]); | ||||||
| const handleScenePhoto = () => { | const handleScenePhoto = (id: string) => { | ||||||
|   uni.navigateTo({ |   uni.navigateTo({ | ||||||
|     url: "/pagesScenePhoto/index", // 要跳转到的页面路径 |     url: "/pagesScenePhoto/index?orderType=1&id=" + id, // 要跳转到的页面路径 | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
|  | interface PageResult<T> { | ||||||
|  |   total: number; | ||||||
|  |   list: T[]; | ||||||
|  |   pageNum: number; | ||||||
|  |   pageSize: number; | ||||||
|  | } | ||||||
|  | const pageList: PageResult<Shipment> = reactive({ | ||||||
|  |   total: 0, | ||||||
|  |   list: [], | ||||||
|  |   pageNum: 1, | ||||||
|  |   pageSize: 10, | ||||||
|  | }); | ||||||
|  | const getOrderList = () => { | ||||||
|  |   ShipmentApi.getOrderPage({ pageNumber: 1, pageSize: 10, isDeleted: true,}).then((res) => { | ||||||
|  |     if (res.code === 200) { | ||||||
|  |       (pageList as any).list = res.data.list; | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | const getScaleStatus = (type: number) => { | ||||||
|  |   if (type === ScaleStatus.ToBeShipment) { | ||||||
|  |     return "待出货"; | ||||||
|  |   } else if (type === ScaleStatus.ToBeGrossWeight) { | ||||||
|  |     return "待过毛"; | ||||||
|  |   } else if (type === ScaleStatus.ToBeShipmentReview) { | ||||||
|  |     return "待审核"; | ||||||
|  |   } else if (type === ScaleStatus.ToBeShipmentPay) { | ||||||
|  |     return "待支付"; | ||||||
|  |   } else if (type === ScaleStatus.ShipmentPaid) { | ||||||
|  |     return "已支付"; | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | onMounted(() => { | ||||||
|  |   getOrderList(); | ||||||
|  | }); | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .c-card { | .c-card { | ||||||
|  | @ -170,7 +202,7 @@ const handleScenePhoto = () => { | ||||||
|       border-radius: 24rpx; |       border-radius: 24rpx; | ||||||
|       border: 1px solid #00dcee; |       border: 1px solid #00dcee; | ||||||
|       font-weight: 500; |       font-weight: 500; | ||||||
|       font-size: 24rpx; |       font-size: 26rpx; | ||||||
|       color: #ffffff; |       color: #ffffff; | ||||||
|       margin-left: 50rpx; |       margin-left: 50rpx; | ||||||
|       padding: 6rpx 30rpx; |       padding: 6rpx 30rpx; | ||||||
|  | @ -188,12 +220,12 @@ const handleScenePhoto = () => { | ||||||
|       justify-content: space-between; |       justify-content: space-between; | ||||||
|       .no { |       .no { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|         font-size: 21rpx; |         font-size: 26rpx; | ||||||
|         color: #000000; |         color: #000000; | ||||||
|       } |       } | ||||||
|       .supplier { |       .supplier { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|         font-size: 24rpx; |         font-size: 26rpx; | ||||||
|         color: #000000; |         color: #000000; | ||||||
|       } |       } | ||||||
|       .btn { |       .btn { | ||||||
|  | @ -201,20 +233,20 @@ const handleScenePhoto = () => { | ||||||
|         border: 1px solid #00dcee; |         border: 1px solid #00dcee; | ||||||
|         padding: 10rpx 30rpx; |         padding: 10rpx 30rpx; | ||||||
|         font-weight: 500; |         font-weight: 500; | ||||||
|         font-size: 24rpx; |         font-size: 26rpx; | ||||||
|         color: #00dcee; |         color: #00dcee; | ||||||
|         line-height: 41rpx; |         line-height: 41rpx; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     .name { |     .name { | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 27rpx; |       font-size: 28rpx; | ||||||
|       color: #000000; |       color: #000000; | ||||||
|       margin: 15rpx 0rpx; |       margin: 15rpx 0rpx; | ||||||
|       text { |       text { | ||||||
|         background-color: #ffaf75; |         background-color: #ffaf75; | ||||||
|         font-weight: 500; |         font-weight: 500; | ||||||
|         font-size: 16rpx; |         font-size: 24rpx; | ||||||
|         color: #ffffff; |         color: #ffffff; | ||||||
|         padding: 5rpx 20rpx; |         padding: 5rpx 20rpx; | ||||||
|         margin-left: 20rpx; |         margin-left: 20rpx; | ||||||
|  | @ -222,7 +254,7 @@ const handleScenePhoto = () => { | ||||||
|     } |     } | ||||||
|     .type { |     .type { | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 27rpx; |       font-size: 28rpx; | ||||||
|       color: #ec0f3e; |       color: #ec0f3e; | ||||||
|       margin-bottom: 20rpx; |       margin-bottom: 20rpx; | ||||||
|     } |     } | ||||||
|  | @ -232,7 +264,7 @@ const handleScenePhoto = () => { | ||||||
|     grid-template-columns: repeat(2, 1fr); |     grid-template-columns: repeat(2, 1fr); | ||||||
|     flex: 1; |     flex: 1; | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 24rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|     > view { |     > view { | ||||||
|       line-height: 50rpx; |       line-height: 50rpx; | ||||||
|  |  | ||||||
|  | @ -9,145 +9,287 @@ | ||||||
|         :borderColor="'rgba(0, 0, 0, 0.1)'" |         :borderColor="'rgba(0, 0, 0, 0.1)'" | ||||||
|         :placeholderColor="'#C1C1C1'" |         :placeholderColor="'#C1C1C1'" | ||||||
|       ></u-search> |       ></u-search> | ||||||
|       <view class="btn"> 创建 </view> |       <view class="btn" @click="handleAdd()"> 创建 </view> | ||||||
|     </view> |     </view> | ||||||
|     <view class="filter"> |     <view class="filter"> | ||||||
|  |       <!--  --> | ||||||
|       <view><text>本月</text><u-icon name="arrow-down"></u-icon></view> |       <view><text>本月</text><u-icon name="arrow-down"></u-icon></view> | ||||||
|       <view><text>单据状态</text><u-icon name="arrow-down"></u-icon></view> |       <view @click="state.isShowStatus = true" | ||||||
|       <view><text>排序</text><u-icon name="arrow-down"></u-icon></view> |         ><text>单据状态</text><u-icon name="arrow-down"></u-icon | ||||||
|  |       ></view> | ||||||
|  |       <view @click="state.isShowSort = true" | ||||||
|  |         ><text>排序</text><u-icon name="arrow-down"></u-icon | ||||||
|  |       ></view> | ||||||
|       <view class="btn">筛选</view> |       <view class="btn">筛选</view> | ||||||
|     </view> |     </view> | ||||||
| 
 | 
 | ||||||
|     <view class="time">2024-01-01</view> |     <view class="time">2024-01-01</view> | ||||||
| 
 | 
 | ||||||
|     <view class="box" v-for="item in 10" :key="item"> |     <view class="box" v-for="(item, index) in pageList.list" :key="index"> | ||||||
|       <view class="base"> |       <view class="base"> | ||||||
|         <view> |         <view> | ||||||
|           <view class="no"> 出货单号:SHD20230901132333 </view> |           <view class="no"> 出货单号:{{ item.orderNumber }} </view> | ||||||
|           <view class="supplier"> 上海奉贤两网融合(大磅) </view> |           <view class="supplier"> {{ item.deviceName || "-" }} </view> | ||||||
|         </view> |         </view> | ||||||
|         <view> |         <view> | ||||||
|           <text class="btn" @click="handleScenePhoto">现场照片</text> |           <text class="btn" @click="handleScenePhoto((item as any).id)" | ||||||
|  |             >现场照片</text | ||||||
|  |           > | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
| 
 | 
 | ||||||
|       <view class="name">吴小勇 <text>已结算</text></view> |       <view class="name" | ||||||
|       <view class="type">轻二</view> |         >{{ item.userName }} | ||||||
|  |         <text>{{ getScaleStatus((item as any).scaleStatus) }}</text> | ||||||
|  |         <text v-if="item.repairTime">补单</text> | ||||||
|  |       </view> | ||||||
|  |       <view class="type">{{ item.productName }}</view> | ||||||
|  |       <view class="flex-box"> | ||||||
|  |         <text>定价人:{{ item.userName }}</text> | ||||||
|  |         <text>创建时间:{{ item.createTime }}</text> | ||||||
|  |       </view> | ||||||
| 
 | 
 | ||||||
|       <view class="more"> |       <view class="more"> | ||||||
|         <view |         <view | ||||||
|           v-for="(item, index) in gridList1" |           v-for="(cItem, index) in gridList1" | ||||||
|           :key="index" |           :key="index" | ||||||
|           :style="{'width': `${item.name === '创建时间' ? 'max-content' : ''}`, 'font-size': `${item.isCustomStyle ? '22rpx': ''}`, 'color': `${item.isCustomStyle ? '#999': ''}`}" |           :style="cItem.isCustomStyle ? 'font-size: 22rpx;color:#999' : ''" | ||||||
|         > |         > | ||||||
|           <text v-if="item.name">{{ item.name }}:</text |           <block v-if="cItem.name === '扣杂'"> | ||||||
|           ><text |             <text v-if="cItem.name"> | ||||||
|             >{{ item.isBefore ? item.unit : "" }} |               {{ item.buttonType === 0 ? "扣杂" : "扣点" }}: </text | ||||||
|             {{ item.num }} |             ><text> | ||||||
|             {{ item.isBefore ? "" : item.unit }} |               {{ | ||||||
|  |                 item.buttonType === 0 | ||||||
|  |                   ? item[cItem.enName as string] | ||||||
|  |                   : item["points"] | ||||||
|  |               }} | ||||||
|  |               {{ item.buttonType === 0 ? cItem.unit : "%" }} | ||||||
|             </text> |             </text> | ||||||
|  |           </block> | ||||||
|  |           <block v-if="cItem.name !== '扣杂'"> | ||||||
|  |             <text v-if="cItem.name">{{ cItem.name }}:</text | ||||||
|  |             ><text | ||||||
|  |               >{{ cItem.isBefore ? cItem.unit : "" }} | ||||||
|  |               {{ item[cItem.enName as string] }} | ||||||
|  |               {{ cItem.isBefore ? "" : cItem.unit }} | ||||||
|  |             </text> | ||||||
|  |           </block> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|     </view> |     </view> | ||||||
|   </view> |   </view> | ||||||
|  | 
 | ||||||
|  |   <u-action-sheet | ||||||
|  |     :closeOnClickOverlay="true" | ||||||
|  |     :closeOnClickAction="true" | ||||||
|  |     :actions="state.statusList" | ||||||
|  |     :title="'单据状态'" | ||||||
|  |     :show="state.isShowStatus" | ||||||
|  |     @select="handleSelectStatus" | ||||||
|  |   ></u-action-sheet> | ||||||
|  |   <u-action-sheet | ||||||
|  |     :closeOnClickOverlay="true" | ||||||
|  |     :closeOnClickAction="true" | ||||||
|  |     :actions="state.sortList" | ||||||
|  |     :title="'排序'" | ||||||
|  |     :show="state.isShowSort" | ||||||
|  |     @select="handleSelectSort" | ||||||
|  |   ></u-action-sheet> | ||||||
| </template> | </template> | ||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
|  | import { ShipmentApi } from "@/services"; | ||||||
|  | import { ScaleStatus } from "@/utils/enum"; | ||||||
|  | const state = reactive({ | ||||||
|  |   currentScaleStatus: undefined, | ||||||
|  |   currentSortName: undefined, | ||||||
|  |   isShowStatus: false, | ||||||
|  |   statusList: [ | ||||||
|  |     { | ||||||
|  |       name: "待出货", | ||||||
|  |       key: 0, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       name: "待过毛", | ||||||
|  |       key: 1, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       name: "待审核", | ||||||
|  |       key: 2, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       name: "已审未付", | ||||||
|  |       key: 3, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       name: "已审已付", | ||||||
|  |       key: 4, | ||||||
|  |     }, | ||||||
|  |   ], | ||||||
|  |   isShowSort: false, | ||||||
|  |   sortList: [ | ||||||
|  |     { | ||||||
|  |       name: "按创建时间降序", | ||||||
|  |       key: "create_time", | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       name: "按更新时间降序", | ||||||
|  |       key: "update_time", | ||||||
|  |     }, | ||||||
|  |   ], | ||||||
|  | }); | ||||||
|  | const handleSelectStatus = (v: any) => { | ||||||
|  |   state.isShowStatus = false; | ||||||
|  |   state.currentScaleStatus = v.key; | ||||||
|  |   getOrderList(); | ||||||
|  | }; | ||||||
|  | const handleSelectSort = (v: any) => { | ||||||
|  |   state.isShowSort = false; | ||||||
|  |   state.currentSortName = v.key; | ||||||
|  |   getOrderList(); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| const keyword = ref(""); | const keyword = ref(""); | ||||||
| const gridList1 = reactive([ | const gridList1 = reactive([ | ||||||
|   { |   { | ||||||
|     name: "卡号", |     name: "卡号", | ||||||
|     num: "123123", |     enName: "cardNumber", | ||||||
|   }, |   }, | ||||||
|   {}, |   {}, | ||||||
|   { |   { | ||||||
|     name: "创建时间", |     name: "创建时间", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "createTime", | ||||||
|   }, |   }, | ||||||
|   {}, |   {}, | ||||||
|   { |   { | ||||||
|     name: "车牌号", |     name: "车牌号", | ||||||
|     num: "123", |     enName: "carNumber", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "送货方式", |     name: "送货方式", | ||||||
|     num: "自提", |     enName: "deliveryMethod", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "毛重", |     name: "毛重", | ||||||
|     num: "4080.00", |     enName: "grossWeight", | ||||||
|  |     num: 0, | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "皮重", |     name: "皮重", | ||||||
|     num: "3450.00", |     enName: "tare", | ||||||
|  |     num: 0, | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "净重", |     name: "净重", | ||||||
|     num: "640.00", |     enName: "netWeight", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "数量", |     name: "数量", | ||||||
|     num: "1", |     enName: "number", | ||||||
|  |     unit: "件", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "过毛", |     name: "过毛", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "grossTime", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true, |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "过皮", |     name: "过皮", | ||||||
|     num: "2023-09-01   13:23:33", |     enName: "tareTime", | ||||||
|     unit: "", |     unit: "", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|     isCustomStyle: true, |     isCustomStyle: true, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "结算重量", |     name: "结算重量", | ||||||
|     num: "640.00", |     enName: "settlementWeight", | ||||||
|     unit: "KG", |     unit: "KG", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "单价", |     name: "结算单价", | ||||||
|     num: "2.48", |     enName: "unitPrice", | ||||||
|     unit: "元/千克", |     unit: "元/千克", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "结算总价", |     name: "结算总价", | ||||||
|     num: "2.48", |     enName: "estimatePrice", | ||||||
|     unit: "元", |     unit: "元", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     name: "实际金额", |     name: "实际金额", | ||||||
|     num: "2.48", |     enName: "totalPrice", | ||||||
|     unit: "元", |     unit: "元", | ||||||
|     isBefore: false, |     isBefore: false, | ||||||
|   }, |   }, | ||||||
|   { |  | ||||||
|     name: "实收金额", |  | ||||||
|     num: "2.48", |  | ||||||
|     unit: "元", |  | ||||||
|     isBefore: false, |  | ||||||
|   }, |  | ||||||
|    |  | ||||||
| ]); | ]); | ||||||
| const handleScenePhoto = () => { | const handleScenePhoto = (id: string) => { | ||||||
|   uni.navigateTo({ |   uni.navigateTo({ | ||||||
|     url: "/pagesScenePhoto/index", // 要跳转到的页面路径 |     url: "/pagesScenePhoto/index?orderType=1&id=" + id, // 要跳转到的页面路径 | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
|  | const getScaleStatus = (type: number) => { | ||||||
|  |   if (type === ScaleStatus.ToBeShipment) { | ||||||
|  |     return "待出货"; | ||||||
|  |   } else if (type === ScaleStatus.ToBeGrossWeight) { | ||||||
|  |     return "待过毛"; | ||||||
|  |   } else if (type === ScaleStatus.ToBeShipmentReview) { | ||||||
|  |     return "待审核"; | ||||||
|  |   } else if (type === ScaleStatus.ToBeShipmentPay) { | ||||||
|  |     return "待支付"; | ||||||
|  |   } else if (type === ScaleStatus.ShipmentPaid) { | ||||||
|  |     return "已支付"; | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const handleAdd = () => { | ||||||
|  |   uni.navigateTo({ | ||||||
|  |     url: "/pagesApp/shipmentSpl", // 要跳转到的页面路径 | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | interface PageResult<T> { | ||||||
|  |   total: number; | ||||||
|  |   list: T[]; | ||||||
|  |   pageNum: number; | ||||||
|  |   pageSize: number; | ||||||
|  | } | ||||||
|  | const pageList: PageResult<Order> = reactive({ | ||||||
|  |   total: 0, | ||||||
|  |   list: [], | ||||||
|  |   pageNum: 1, | ||||||
|  |   pageSize: 10, | ||||||
|  | }); | ||||||
|  | const getOrderList = () => { | ||||||
|  |   let params: any = { pageNumber: 1, pageSize: 10 }; | ||||||
|  |   if (state.currentScaleStatus !== undefined) { | ||||||
|  |     params.scaleStatus = state.currentScaleStatus; | ||||||
|  |   } | ||||||
|  |   if (state.currentSortName !== undefined) { | ||||||
|  |     params.sortName = state.currentSortName; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   ShipmentApi.getOrderPage(params).then((res) => { | ||||||
|  |     if (res.code === 200) { | ||||||
|  |       (pageList as any).list = res.data.list; | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | onMounted(() => { | ||||||
|  |   getOrderList(); | ||||||
|  | }); | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .c-card { | .c-card { | ||||||
|  | @ -161,7 +303,7 @@ const handleScenePhoto = () => { | ||||||
|       border-radius: 24rpx; |       border-radius: 24rpx; | ||||||
|       border: 1px solid #00dcee; |       border: 1px solid #00dcee; | ||||||
|       font-weight: 500; |       font-weight: 500; | ||||||
|       font-size: 24rpx; |       font-size: 26rpx; | ||||||
|       color: #ffffff; |       color: #ffffff; | ||||||
|       margin-left: 50rpx; |       margin-left: 50rpx; | ||||||
|       padding: 6rpx 30rpx; |       padding: 6rpx 30rpx; | ||||||
|  | @ -174,7 +316,7 @@ const handleScenePhoto = () => { | ||||||
|     align-items: center; |     align-items: center; | ||||||
|     justify-content: space-between; |     justify-content: space-between; | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 27rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|     > view { |     > view { | ||||||
|       display: inline-block; |       display: inline-block; | ||||||
|  | @ -185,13 +327,13 @@ const handleScenePhoto = () => { | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     .btn { |     .btn { | ||||||
|       font-size: 27rpx; |       font-size: 26rpx; | ||||||
|       color: #00dcee; |       color: #00dcee; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   .time { |   .time { | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 22rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|     margin: 30rpx 0rpx; |     margin: 30rpx 0rpx; | ||||||
|   } |   } | ||||||
|  | @ -209,12 +351,12 @@ const handleScenePhoto = () => { | ||||||
|       justify-content: space-between; |       justify-content: space-between; | ||||||
|       .no { |       .no { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|         font-size: 21rpx; |         font-size: 26rpx; | ||||||
|         color: #000000; |         color: #000000; | ||||||
|       } |       } | ||||||
|       .supplier { |       .supplier { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|         font-size: 24rpx; |         font-size: 26rpx; | ||||||
|         color: #000000; |         color: #000000; | ||||||
|       } |       } | ||||||
|       .btn { |       .btn { | ||||||
|  | @ -229,23 +371,35 @@ const handleScenePhoto = () => { | ||||||
|     } |     } | ||||||
|     .name { |     .name { | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 27rpx; |       font-size: 26rpx; | ||||||
|       color: #000000; |       color: #000000; | ||||||
|       margin: 15rpx 0rpx; |       margin: 15rpx 0rpx; | ||||||
|       text { |       text { | ||||||
|         background-color: #ffaf75; |         background-color: #ffaf75; | ||||||
|         font-weight: 500; |         font-weight: 500; | ||||||
|         font-size: 16rpx; |         font-size: 24rpx; | ||||||
|         color: #ffffff; |         color: #ffffff; | ||||||
|         padding: 5rpx 20rpx; |         padding: 5rpx 20rpx; | ||||||
|         margin-left: 20rpx; |         margin-left: 20rpx; | ||||||
|  |         border-radius: 10rpx; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     .type { |     .type { | ||||||
|       font-weight: 400; |       font-weight: 400; | ||||||
|       font-size: 27rpx; |       font-size: 26rpx; | ||||||
|       color: #ec0f3e; |       color: #ec0f3e; | ||||||
|       margin-bottom: 20rpx; |       margin-bottom: 20rpx; | ||||||
|  |       font-weight: bold; | ||||||
|  |     } | ||||||
|  |     .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 { |   .more { | ||||||
|  | @ -253,8 +407,9 @@ const handleScenePhoto = () => { | ||||||
|     grid-template-columns: repeat(2, 1fr); |     grid-template-columns: repeat(2, 1fr); | ||||||
|     flex: 1; |     flex: 1; | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 24rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|  |     padding: 25rpx 0rpx 0rpx 0rpx; | ||||||
|     > view { |     > view { | ||||||
|       line-height: 50rpx; |       line-height: 50rpx; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -3,31 +3,58 @@ | ||||||
|     <view class="search"> |     <view class="search"> | ||||||
|       <u-search |       <u-search | ||||||
|         placeholder="请输入供应商名称" |         placeholder="请输入供应商名称" | ||||||
|         v-model="keyword" |         v-model="state.name" | ||||||
|         :showAction="false" |         :showAction="false" | ||||||
|         :bgColor="'#fff'" |         :bgColor="'#fff'" | ||||||
|         :borderColor="'rgba(0, 0, 0, 0.1)'" |         :borderColor="'rgba(0, 0, 0, 0.1)'" | ||||||
|         :placeholderColor="'#C1C1C1'" |         :placeholderColor="'#C1C1C1'" | ||||||
|  |         @search="handleSearch()" | ||||||
|       ></u-search> |       ></u-search> | ||||||
|       <view class="btn"> 新增 </view> |       <view class="btn"> 新增 </view> | ||||||
|     </view> |     </view> | ||||||
|     <view class="box"> |     <view class="box" v-for="(item, index) in pageList.list" :key="index"> | ||||||
|       <view> |       <view> | ||||||
|         <view> |         <view> | ||||||
|           <view>供应商名称</view> |           <view>{{ item.name }}</view> | ||||||
|           <view>卡号:235466566</view> |           <view>卡号:{{ item.cardCode }}</view> | ||||||
|         </view> |         </view> | ||||||
|         <view class="btn"> 删除 </view> |         <view class="btn"> 删除 </view> | ||||||
|       </view> |       </view> | ||||||
|       <view> |  | ||||||
|         <view> 送货员:111 </view> |  | ||||||
|         <view class="btn_text"> 详情 </view> |  | ||||||
|       </view> |  | ||||||
|     </view> |     </view> | ||||||
|   </view> |   </view> | ||||||
| </template> | </template> | ||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
| const keyword = ref(""); | import { ProfileApi } from "@/services"; | ||||||
|  | import { UsersType } from "@/utils/enum"; | ||||||
|  | const state = reactive({ | ||||||
|  |   name: "", | ||||||
|  | }); | ||||||
|  | const pageList: PageResult<User> = reactive({ | ||||||
|  |   total: 0, | ||||||
|  |   list: [], | ||||||
|  |   pageNum: 1, | ||||||
|  |   pageSize: 10, | ||||||
|  | }); | ||||||
|  | const handleSearch = () => { | ||||||
|  |   getUserList() | ||||||
|  | }; | ||||||
|  | const getUserList = () => { | ||||||
|  |   ProfileApi.getInventoryUserPage({ | ||||||
|  |     pageSize: 10, | ||||||
|  |     pageNum: 1, | ||||||
|  |     userType: UsersType.Purchaser, | ||||||
|  |     name: state.name, | ||||||
|  |   }).then((res) => { | ||||||
|  |     if (res.code === 200) { | ||||||
|  |       if (res.code === 200) { | ||||||
|  |         (pageList as any).list = (res.data as any).list; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | onMounted(() => { | ||||||
|  |   getUserList(); | ||||||
|  | }); | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .c-card { | .c-card { | ||||||
|  | @ -41,7 +68,7 @@ const keyword = ref(""); | ||||||
|       border-radius: 24rpx; |       border-radius: 24rpx; | ||||||
|       border: 1px solid #00dcee; |       border: 1px solid #00dcee; | ||||||
|       font-weight: 500; |       font-weight: 500; | ||||||
|       font-size: 24rpx; |       font-size: 26rpx; | ||||||
|       color: #ffffff; |       color: #ffffff; | ||||||
|       margin-left: 50rpx; |       margin-left: 50rpx; | ||||||
|       padding: 6rpx 30rpx; |       padding: 6rpx 30rpx; | ||||||
|  | @ -53,7 +80,7 @@ const keyword = ref(""); | ||||||
|     border-radius: 13rpx; |     border-radius: 13rpx; | ||||||
|     padding: 10rpx 25rpx; |     padding: 10rpx 25rpx; | ||||||
|     font-weight: 400; |     font-weight: 400; | ||||||
|     font-size: 22rpx; |     font-size: 26rpx; | ||||||
|     color: #000000; |     color: #000000; | ||||||
|     line-height: 41rpx; |     line-height: 41rpx; | ||||||
|     margin-top: 30rpx; |     margin-top: 30rpx; | ||||||
|  | @ -66,7 +93,7 @@ const keyword = ref(""); | ||||||
|         background: #ff9d55; |         background: #ff9d55; | ||||||
|         border-radius: 24rpx; |         border-radius: 24rpx; | ||||||
|         font-weight: 500; |         font-weight: 500; | ||||||
|         font-size: 24rpx; |         font-size: 26rpx; | ||||||
|         color: #ffffff; |         color: #ffffff; | ||||||
|         padding: 6rpx 30rpx; |         padding: 6rpx 30rpx; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  | @ -54,12 +54,6 @@ | ||||||
| import { ReceiveApi } from "@/services/index"; | import { ReceiveApi } from "@/services/index"; | ||||||
| import SmallModal from "@/components/Modal/smallModal.vue"; | import SmallModal from "@/components/Modal/smallModal.vue"; | ||||||
| 
 | 
 | ||||||
| interface PageResult<T> { |  | ||||||
|   total: number; |  | ||||||
|   list: T[]; |  | ||||||
|   pageNum: number; |  | ||||||
|   pageSize: number; |  | ||||||
| } |  | ||||||
| const pageList: PageResult<Order> = reactive({ | const pageList: PageResult<Order> = reactive({ | ||||||
|   total: 0, |   total: 0, | ||||||
|   list: [], |   list: [], | ||||||
|  |  | ||||||
|  | @ -41,7 +41,7 @@ | ||||||
|           <view class="top-flex-box"> |           <view class="top-flex-box"> | ||||||
|             <view> |             <view> | ||||||
|               <view> |               <view> | ||||||
|                 <text class="number">出货单号:{{ item.receiptNumber }}</text> |                 <text class="number">出货单号:{{ item.orderNumber }}</text> | ||||||
|               </view> |               </view> | ||||||
|               <view> |               <view> | ||||||
|                 <text class="name">{{ item.userName }}</text> |                 <text class="name">{{ item.userName }}</text> | ||||||
|  |  | ||||||
|  | @ -171,7 +171,7 @@ export const addUser = (data: any) => { | ||||||
| 
 | 
 | ||||||
| // 查询用户分页
 | // 查询用户分页
 | ||||||
| export const getUserListByPage = (data: any) => { | export const getUserListByPage = (data: any) => { | ||||||
|   return http({ |   return http<User>({ | ||||||
|     method: "GET", |     method: "GET", | ||||||
|     url: "/api/user/getUserPage", |     url: "/api/user/getUserPage", | ||||||
|     data |     data | ||||||
|  | @ -206,3 +206,12 @@ export const getUserList = (data: { | ||||||
|     data, |     data, | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
|  | // 供应商 客户分页
 | ||||||
|  | export const getInventoryUserPage = (data: any) => { | ||||||
|  |   return http<User>({ | ||||||
|  |     method: "GET", | ||||||
|  |     url: "/api/user/getInventoryUserPage", | ||||||
|  |     data | ||||||
|  |   }); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -35,6 +35,7 @@ type PageParams = { | ||||||
|   pageSize: number; |   pageSize: number; | ||||||
|   startTime?: string; // 开始时间
 |   startTime?: string; // 开始时间
 | ||||||
|   endTime?: string; // 结束时间
 |   endTime?: string; // 结束时间
 | ||||||
|  |   isDeleted?: boolean; | ||||||
|    |    | ||||||
| }; | }; | ||||||
| // 根据条件获取出库单,并且进行分页
 | // 根据条件获取出库单,并且进行分页
 | ||||||
|  |  | ||||||
|  | @ -1,3 +1,9 @@ | ||||||
|  | interface PageResult<T> { | ||||||
|  |   total: number; | ||||||
|  |   list: T[]; | ||||||
|  |   pageNum: number; | ||||||
|  |   pageSize: number; | ||||||
|  | } | ||||||
| interface Order { | interface Order { | ||||||
|   id?: number; |   id?: number; | ||||||
|   deviceId?: number; //设备id
 |   deviceId?: number; //设备id
 | ||||||
|  | @ -67,6 +73,7 @@ type PageParams = { | ||||||
|   productId?: string; // 产品id
 |   productId?: string; // 产品id
 | ||||||
|   repairFlag?: boolean; // 是否为补单,true 是未补单,false是补单
 |   repairFlag?: boolean; // 是否为补单,true 是未补单,false是补单
 | ||||||
|   scaleStatus?: number; // 磅单状态:0:待定价1:待过皮2:待审核3:已审核待支付4:已支付
 |   scaleStatus?: number; // 磅单状态:0:待定价1:待过皮2:待审核3:已审核待支付4:已支付
 | ||||||
|  |   isDeleted?:boolean | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| interface Shipment { | interface Shipment { | ||||||
|  | @ -99,9 +106,9 @@ interface Shipment { | ||||||
|   points?: string; //扣点
 |   points?: string; //扣点
 | ||||||
|   buckleMiscellaneous?: string; //扣杂
 |   buckleMiscellaneous?: string; //扣杂
 | ||||||
|   unitPrice?: string; //结算单价
 |   unitPrice?: string; //结算单价
 | ||||||
|   estimatePrice?: string; //预估金额
 |   estimatePrice?: string; //预估金额  结算总价
 | ||||||
|   totalPrice?: string; //结算金额
 |   totalPrice?: string; //结算金额 实际金额
 | ||||||
|   realIncome?: string; //实际收入
 |   realIncome?: string; //实际收入 实际收入  实收金额
 | ||||||
|   errorPrice?: string; //误差金额
 |   errorPrice?: string; //误差金额
 | ||||||
|   repairTime?: string; //补单时间
 |   repairTime?: string; //补单时间
 | ||||||
|   createTime?: string; //undefined
 |   createTime?: string; //undefined
 | ||||||
|  |  | ||||||
|  | @ -1,2 +1,22 @@ | ||||||
| interface User { | interface User { | ||||||
|  |   name: string; | ||||||
|  |   gender: number; // 性别1=男2=女
 | ||||||
|  |   phone: string; | ||||||
|  |   factoryName: string; // 货场名称
 | ||||||
|  |   factoryAddress: string; //货场详细地址
 | ||||||
|  |   provinceId: number; | ||||||
|  |   areaId: number; | ||||||
|  |   citiyId: number; | ||||||
|  |   userType: number; | ||||||
|  |   userName: string; | ||||||
|  |   password: string; | ||||||
|  |   state: number; // 状态 1=有效 0=无效
 | ||||||
|  |   updateTime: string; | ||||||
|  |   createTime: string; | ||||||
|  |   createUserId: number; | ||||||
|  |   createUserName: string; | ||||||
|  |   updateUserId: number; | ||||||
|  |   updateUserName: string; | ||||||
|  |   isDeleted: boolean; | ||||||
|  |   cardCode?: string; // 卡号
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -61,6 +61,12 @@ export enum UserType { | ||||||
|   Card = 1, |   Card = 1, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | export enum UsersType { | ||||||
|  |   Staff = 1, | ||||||
|  |   Purchaser = 2, | ||||||
|  |   Customer = 3, | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // 提货方式:0:送货1:自提
 | // 提货方式:0:送货1:自提
 | ||||||
| export enum DeliveryMethod { | export enum DeliveryMethod { | ||||||
|   Deliver = 0, |   Deliver = 0, | ||||||
|  |  | ||||||