Browse Source

干线优化

master
qb 1 year ago
parent
commit
3c05d0dfdb
  1. 14
      api/user.js
  2. 6
      config/host.js
  3. 35
      interfaces/pagesHome/SelfPScanList.ts
  4. 30
      pages.json
  5. 332
      pages/index/index.vue
  6. 190
      pagesHome/pages/ArrivalList/ArrivalList.vue
  7. 6
      pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue
  8. 3
      pagesHome/pages/CustomerSign/CustomerSign.vue
  9. 10
      pagesHome/pages/LoadingScan/LoadingScan.vue
  10. 189
      pagesHome/pages/RelayScanList/RelayScanList.vue
  11. 16
      pagesHome/pages/SelfPScanList/SelfPScanList.vue
  12. 13
      pagesHome/pages/SelfPickupDetails/SelfPickupDetails.vue
  13. 15
      pagesHome/pages/SelfPickupScan/SelfPickupScan.vue
  14. 21
      pagesHome/pages/StowageList/StowageList.vue
  15. 43
      pagesHome/pages/StowageListDetails/StowageListDetails.vue
  16. 35
      pagesHome/pages/VehicleArrivalDetails/VehicleArrivalDetails.vue
  17. 17
      pagesHome/pages/pickingScan/pickingScan.vue
  18. 51
      pagesHome/pages/signOrderScan/signOrderScan.vue
  19. 594
      pagesHome/pages/signPackageScan/signPackageScan.vue
  20. 10
      pagesHome/pages/signinScan/signinScan.vue
  21. 2
      unpackage/dist/dev/app-plus/app-config-service.js
  22. 1493
      unpackage/dist/dev/app-plus/app-service.js
  23. 4
      unpackage/dist/dev/app-plus/manifest.json
  24. 6
      unpackage/dist/dev/app-plus/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.css
  25. 5
      unpackage/dist/dev/app-plus/pagesHome/pages/LoadingScan/LoadingScan.css
  26. 11
      unpackage/dist/dev/app-plus/pagesHome/pages/SelfPickupScan/SelfPickupScan.css
  27. 5
      unpackage/dist/dev/app-plus/pagesHome/pages/pickingScan/pickingScan.css
  28. 25
      unpackage/dist/dev/app-plus/pagesHome/pages/signOrderScan/signOrderScan.css
  29. 5
      unpackage/dist/dev/app-plus/pagesHome/pages/signinScan/signinScan.css

14
api/user.js

@ -2580,6 +2580,20 @@ export function getBillladingList(data, loadingObj = {}) {
);
}
/**
* 获取三方中转列表
* @param {Object} data
*/
export function getTripartiteTransfer(data, loadingObj = {}) {
return request({
url: `logpm-trunkline/api/tripartiteTransfer/transferLoadPageList`,
method: "post",
data
},
loadingObj
);
}
/**
* 包件入库
* @param {Object} data

6
config/host.js

@ -4,7 +4,7 @@
* 测试域名
* */
//测试域名
// const devhost = 'http://test.api.huo5you.com/'
const devhost = 'http://test.api.huo5you.com/'
// lmy
// const devhost = 'http://192.168.10.123:8889/'
// zhy
@ -12,12 +12,12 @@
// tjj
// const devhost = 'http://192.168.10.25:13000/'
// cyz
// const devhost = 'http://192.168.6.162:9777/'
// const devhost = 'http://192.168.6.163:9777/'
// const devhost = 'http://192.168.6.141:8777/'
// cg
// const devhost = 'http://192.168.10.57:13000/'
// 正式
const devhost = 'https://h5uapi.huitongys.com/'
// const devhost = 'https://h5uapi.huitongys.com/'
// cg
// const devhost = 'http://192.168.10.200:13000/'
/**

35
interfaces/pagesHome/SelfPScanList.ts

@ -1,45 +1,46 @@
export interface pagedetails{
export interface pagedetails {
/**
* */
schanvalue:string;
schanvalue : string;
/**
* */
typearr:{
value:number;
label:string;
typearr : {
value : number;
label : string;
}[];
/**
* */
orderStatus:number;
orderStatus : number;
/**
* */
orderType:number;
orderType : number;
/**ID
* */
billLadingId:number|string;
billLadingId : number | string;
/**
* */
datalist:any;
datalist : any;
/**
* */
orderCode:string;
orderCode : string;
/**
* */
orderNum:string|number;
orderNum : string | number;
/**
* */
completeNum:string|number;
completeNum : string | number;
/**
* */
inventoryNub:string|number;
inventoryNub : string | number;
/**
* */
planNum:string|number;
planNum : string | number;
/**
* */
signedNum:string|number;
signedNum : string | number;
/**
* */
scancode:string|number;
scancode : string | number;
/** 是否为扫描后刷新 */
isscan : boolean
}

30
pages.json

@ -597,6 +597,24 @@
}
}
}, {
"path": "pages/signPackageScan/signPackageScan",
"style": {
"navigationBarTitleText": "签收订单扫描",
"enablePullDownRefresh": true,
"onReachBottomDistance": 1,
"navigationStyle": "custom",
"app-plus": {
"animationDuration": 300,
"animationType": "zoom-fade-out",
"pullToRefresh": {
"support": true,
"color": "#d3832a", //
"style": "circle" //
}
}
}
}, {
"path": "pages/SignDetailScan/SignDetailScan",
"style": {
@ -1556,12 +1574,12 @@
// "selectedIconPath": "/static/TabberIcon/icon3check.png",
// "text": "报表"
// },
// {
// "pagePath": "pages/news/news",
// "iconPath": "/static/TabberIcon/icon4.png",
// "selectedIconPath": "/static/TabberIcon/icon4check.png",
// "text": "消息"
// },
{
"pagePath": "pages/news/news",
"iconPath": "/static/TabberIcon/icon4.png",
"selectedIconPath": "/static/TabberIcon/icon4check.png",
"text": "消息"
},
{
"pagePath": "pages/user/user",
"iconPath": "/static/TabberIcon/icon5.png",

332
pages/index/index.vue

@ -40,172 +40,172 @@
const { storageArr } = storeToRefs(storageStore)
const tip = ref(null)
let details = reactive<listtype>({ tablist: [] });
// let details = reactive<listtype>({
// tablist: [
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/orderInquiry/orderInquiry',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/storageInquiry/storageInquiry',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/trayInquiry/trayInquiry',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/codePlateBracket/codePlateBracket',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/TranNumber/TranNumber',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/ArrivalList/ArrivalList',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/scansorting/scansorting',
// },
// // {
// // icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// // name: '',
// // router: '/pagesHome/pages/ordersorting/ordersorting',
// // },
// // {
// // icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// // name: '',
// // router: '/pagesHome/pages/lnventorysorting/lnventorysorting',
// // },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/ScanUpType/ScanUpType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/PeopleScanUpType/PeopleScanUpType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/RelocationType/RelocationType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/Retention/Retention',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/MergeTray/MergeTray',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/DownGoodsType/DownGoodsType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/RemoveTray/RemoveTray',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/Check/Check',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/SearchTray/SearchTray',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/pickingScan/pickingScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/SelfPickupScan/SelfPickupScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/StowageList/StowageList',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/RelayScanList/RelayScanList',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/LoadingScan/LoadingScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/signinScan/signinScan',
// },
// ]
// },
// {
// type: 1,
// name: '线',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '线',
// router: '/pagesHome/pages/OfflineUpload/OfflineUpload',
// },
// ]
// },
// ]
// })
// let details = reactive<listtype>({ tablist: [] });
let details = reactive<listtype>({
tablist: [
{
type: 1,
name: '工作台',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '订单查询',
router: '/pagesHome/pages/orderInquiry/orderInquiry',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '库位查询',
router: '/pagesHome/pages/storageInquiry/storageInquiry',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '托盘查询',
router: '/pagesHome/pages/trayInquiry/trayInquiry',
},
]
},
{
type: 1,
name: '入库',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '码板打托',
router: '/pagesHome/pages/codePlateBracket/codePlateBracket',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '入库扫描',
router: '/pagesHome/pages/TranNumber/TranNumber',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '到车入库',
router: '/pagesHome/pages/ArrivalList/ArrivalList',
},
]
},
{
type: 1,
name: '库内',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '分拣打托',
router: '/pagesHome/pages/scansorting/scansorting',
},
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/ordersorting/ordersorting',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/lnventorysorting/lnventorysorting',
// },
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '扫码上架',
router: '/pagesHome/pages/ScanUpType/ScanUpType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '手动上架',
router: '/pagesHome/pages/PeopleScanUpType/PeopleScanUpType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '移库',
router: '/pagesHome/pages/RelocationType/RelocationType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '滞留',
router: '/pagesHome/pages/Retention/Retention',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '合托',
router: '/pagesHome/pages/MergeTray/MergeTray',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '下架',
router: '/pagesHome/pages/DownGoodsType/DownGoodsType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '空置托盘',
router: '/pagesHome/pages/RemoveTray/RemoveTray',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '复核',
router: '/pagesHome/pages/Check/Check',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '托盘数据同步',
router: '/pagesHome/pages/SearchTray/SearchTray',
},
]
},
{
type: 1,
name: '出库',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '拣货扫描',
router: '/pagesHome/pages/pickingScan/pickingScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '自提扫描',
router: '/pagesHome/pages/SelfPickupScan/SelfPickupScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '配载装车',
router: '/pagesHome/pages/StowageList/StowageList',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '中转装车',
router: '/pagesHome/pages/RelayScanList/RelayScanList',
},
]
},
{
type: 1,
name: '配送',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '装车扫描',
router: '/pagesHome/pages/LoadingScan/LoadingScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '签收扫描',
router: '/pagesHome/pages/signinScan/signinScan',
},
]
},
{
type: 1,
name: '离线上传',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '离线上传',
router: '/pagesHome/pages/OfflineUpload/OfflineUpload',
},
]
},
]
})
function gopathpage(path : string) {
uni.navigateTo({

190
pagesHome/pages/ArrivalList/ArrivalList.vue

@ -1,10 +1,12 @@
<template>
<BasicContainer :option="option" :leftClick="option.leftClick">
<BasicContainer ref='basicContainer' :option="option" :leftClick="option.leftClick">
<!-- 头部 -->
<template #head>
<view class="headtop">
<view @click='showCalendar' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<view class="timeInput">
{{datatime|| '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showCalendar' style="margin-right: 10upx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -19,7 +21,8 @@
<!-- 主体 -->
<template #body>
<scroll-view class="scvmabx" @scrolltolower="reachBottomInitPage" scroll-y="true" @touchmove.stop>
<scroll-view class="scvmabx" :style="{height: details.scrollheight}" @scrolltolower="reachBottomInitPage"
scroll-y="true" @touchmove.stop>
<view class="maxboxs">
<!-- <view class="items" v-for="item in datalist">
@ -28,61 +31,77 @@
<view class="items">
<view class="items_row">
<view>
车次号: {{item.carsNo}}
</view>
<view>
车牌号: {{item.carNumber}}
车次号{{item.carsNo}}
</view>
</view>
<view class="items_row">
<view>
实际装车/计划装车: {{item.realLoadingNumber + '/' +item.planLoadingNumber}}
实际装车/计划装车{{item.realLoadingNumber + '/' +item.planLoadingNumber}}
</view>
<view>
车型: {{''}}
车型{{''}}
</view>
</view>
<view class="items_row">
<view>
主驾司机: {{item.driverName}}
主驾司机{{item.driverName}}
</view>
<view>
电话: {{item.driverMobile}}
电话{{item.driverMobile}}
</view>
</view>
<view class="items_row">
线路: {{item.carsLineName}}
<view>
发车时间{{item.startTime}}
</view>
<view>
车牌号{{item.carNumber}}
</view>
</view>
<view class="items_row">
发车时间: {{item.startTime}}
线路{{item.carsLineName}}
</view>
<view class="button-container">
<view class="button" @click="handleDetailsByOrder(item, 1)">
按件入库
</view>
<view class="button" @click="handleDetailsByOrder(item, 2)">
整托入库
<view class="button-container" v-if="Number(item.lastStartCarStatus) === 1
&& (Number(item.loadStatus) === 10 || Number(item.loadStatus) === 30)">
<view class="button" style="background-color: #86cad0; width: 60%; margin: 0 auto;"
@click="handleDetailsByOrder(item, 1)">
到车
</view>
</view>
<view class="button">
卸分一体
<view class="button-container" v-else-if="Number(item.lastStartCarStatus) === 1
&& item.showControl
&&(Number(item.loadStatus) === 20 || Number(item.loadStatus) === 40)">
<view class="">
<view class="button" @click="handleDetailsByOrder(item, 1)">
按件入库
</view>
<view class="button" @click="handleDetailsByOrder(item, 2)">
整托入库
</view>
<view class="button">
卸分一体
</view>
</view>
<view class="button">
按件装车
</view>
<view class="" v-if="item.showTruckLoading">
<view class="button" @click="gostockuplist(item)">
按件装车
</view>
<view class="button">
整托装车
<view class="button" @click="gostockuplistBytray(item)">
整托装车
</view>
</view>
</view>
@ -115,7 +134,7 @@
onShow,
onHide,
} from '@dcloudio/uni-app'
import { reactive, ref, toRefs, watchEffect } from "vue";
import { nextTick, reactive, ref, toRefs, watchEffect } from "vue";
import utils from '@/utils/utils.js'
import useSystemSettingsStore from '@/store/useSystemSettingsStore';
import { storeToRefs } from 'pinia';
@ -161,6 +180,9 @@
isEnd: false
})
//
const basicContainer = ref()
//
let antiShake : any = null
//
@ -212,12 +234,17 @@
let details = reactive({
show: false,
/** 时间 */
datatime: '',
pageType: 1,
/** 当前页码 */
pageNum: 1,
pageSize: 10,
/** 页数 */
pageSize: 20,
/** 渲染列表数据 */
datalist: [],
/** 扫描的码值 */
scancode: '',
scrollheight: '80vh'
})
onLoad(() => {
@ -228,7 +255,7 @@
// #endif
})
onShow(() => {
onShow(async () => {
// #ifdef APP
//
uni.$off('scancodedate')
@ -242,16 +269,17 @@
}
})
// #endif
initpage()
await nextTick()
basicContainer.value.startPullDownRefresh()
details.scrollheight = await utils.getViewDistanceFormTop('.scvmabx')
})
// onHide(() => {
// uni.$off('scancodedate')
// })
/** 时间 */
const date = ref<(string | number)[]>([])
function init() {
details.pageNum = 1
initpage()
}
async function scandata() {
let data = {
trayCode: details.scancode
@ -286,7 +314,30 @@
const res = await postArriveUnloadPageList(submitData)
if (res.code !== 200) return
const { code, data } = res
if (code === 200 && data) details.datalist = [...details.datalist, ...data.records]
if (code === 200 && data) {
// Id
const _wareHouseId = uni.getStorageSync('checkname').id
for (let iterator of data.records) {
const _endWarehouseIds = iterator.endWarehouseIds.split(',')
//
iterator.showControl = false
//
iterator.showTruckLoading = false
// 线
const _index = _endWarehouseIds.indexOf(_wareHouseId)
if (_index !== -1) {
//
iterator.showControl = true
//
if (_index !== _endWarehouseIds.length - 1) iterator.showTruckLoading = true
}
}
details.datalist = [...details.datalist, ...data.records]
}
if (data && data.pages <= details.pageNum) option.isEnd = true
console.log('details.datalist :>> ', details.datalist);
return res
@ -304,17 +355,15 @@
date.value[0] = e.startDate
date.value[1] = e.endDate
details.datatime = date.value[0] + ' 至 ' + date.value[1]
basicContainer.value.startPullDownRefresh()
}
watchEffect(() => {
if ((date.value as []).length != 0) {
details.datatime = date.value[0] + ' 至 ' + date.value[1]
}
initpage()
})
function cleartime() {
details.datatime = ''
date.value = []
init()
basicContainer.value.startPullDownRefresh()
}
/** 按件入库 */
@ -324,6 +373,19 @@
})
}
/** 按件装车 */
function gostockuplist(item : any) {
uni.navigateTo({
url: '/pagesHome/pages/StowageListDetails/StowageListDetails?id=' + item.id + '&type=' + 1
})
}
/** 按托装车 */
function gostockuplistBytray(item : any) {
uni.navigateTo({
url: '/pagesHome/pages/StowageListDetails/StowageListDetails?id=' + item.id + '&type=' + 2
})
}
const {
show,
datatime,
@ -334,8 +396,8 @@
<style lang="scss" scoped>
.inputsr {
width: 550upx !important;
height: 75upx;
width: 100%;
height: 64upx;
background: #F5F5F6;
border-radius: 8upx 8upx 8upx 8upx;
opacity: 1;
@ -350,7 +412,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}
@ -380,7 +445,7 @@
>view:nth-of-type(3) {
width: 128upx;
height: 64upx;
background: #D3832A;
background: var(--subjectColor);
border-radius: 8upx;
display: flex;
align-items: center;
@ -418,7 +483,7 @@
>view:nth-of-type(2) {
width: 128upx;
height: 64upx;
background: #D3832A;
background: var(--subjectColor);
border-radius: 8upx;
display: flex;
align-items: center;
@ -474,28 +539,37 @@
font-size: 28upx;
padding: 10upx;
color: #fff;
background: #D3832A;
opacity: 0.7;
border-bottom-left-radius: 20upx;
background: var(--subjectColor);
border-bottom-left-radius: 10upx;
}
.button-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-top: 4upx solid #eee;
padding-top: 10upx;
>view {
display: flex;
.button {
margin-right: 20upx;
}
}
}
.button {
color: #fff;
border-radius: 5upx;
padding: 10upx 20upx;
font-size: 28upx;
background: #D3832A;
background: var(--subjectColor);
margin-bottom: 10upx;
display: flex;
justify-content: center;
}
}
}
.w100 {
width: 100%;
}
</style>

6
pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue

@ -859,7 +859,7 @@
.hdtp {
position: relative;
z-index: 999;
padding: 34upx 32upx;
padding: 20upx;
box-sizing: border-box;
background-color: #ffffff;
display: flex;
@ -1018,7 +1018,7 @@
align-items: center;
justify-content: space-around;
background-color: #ffffff;
padding: 28upx 0;
padding-bottom: 10upx;
border-bottom: 3upx solid #EEEEEE;
>view {
@ -1057,7 +1057,7 @@
font-size: 36upx;
font-weight: 400;
color: #092C4D;
margin-top: 20upx;
margin-top: 10upx;
}
}
}

3
pagesHome/pages/CustomerSign/CustomerSign.vue

@ -81,7 +81,7 @@
</view>
<view class="buts">
<view v-if="Number(details.items.type) === 2" @click="handleSigin(item)">确认签收</view>
<view @click="handleSigin(item)">确认签收</view>
<view @click="gosetorice(item)" class="mabut">
设置增值服务
@ -169,6 +169,7 @@
// #ifdef APP
uni.$off('scancodedate')
// #endif
console.log('onShow')
initpage()
getconfig()
})

10
pagesHome/pages/LoadingScan/LoadingScan.vue

@ -14,7 +14,9 @@
<view class="schbox">
<view>配车日期</view>
<view @click='showtime(true)' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<view class="timeInput">
{{datatime|| '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showtime(true)' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -312,6 +314,7 @@
date.value[0] = e.startDate
date.value[1] = e.endDate
details.datatime = date.value[0] + ' 至 ' + date.value[1]
basicContainer.value.startPullDownRefresh()
// details.datatime=(uni as any).$u.timeFormat(date.value[0], 'yyyy-mm-dd')+' '+(uni as any).$u.timeFormat(date.value[1], 'yyyy-mm-dd')
}
onLoad(() => {
@ -617,7 +620,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}

189
pagesHome/pages/RelayScanList/RelayScanList.vue

@ -1,11 +1,12 @@
<template>
<!-- <u-navbar title="拣货扫描" placeholder border=true :autoBack="true" leftIconSize='35'></u-navbar> -->
<BasicContainer ref="basicContainer" :option="option" :leftClick="backPreviousPage">
<template #head>
<view class="schbox">
<view>拣货日期</view>
<view @click='showCalendar' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<view class="timeInput">
{{datatime|| '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showCalendar' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -19,7 +20,7 @@
</view>
<view class="tabtip">
<view @click="setstate(1)">
<view :class="status==1?'xz':''">发车</view>
<view :class="status==1?'xz':''">发车</view>
</view>
<view @click="setstate(2)">
<view :class="status==2?'xz':''">已发车</view>
@ -31,59 +32,53 @@
<scroll-view class="sccv" scroll-y="true" @scrolltolower="jiazai">
<view class="mabx">
<view v-for="item in dataList" :key="item">
<view class="topbox">
<view class="topbox font-color">
<view class="type1">
<view>
<text style="color: #90A0AF;">配车类型</text>{{item.typeServiceStr}}
<view>车次号</view>
<text>{{item.carsNo}}</text>
</view>
<view>
<text style="color: #90A0AF;">备货是否完成</text>{{item.stockupStatusStr}}
<view>车牌</view>
<text>{{item.carNumber || '暂无数据'}}</text>
</view>
</view>
<view class="type1">
<view>
<text style="color: #90A0AF;">客户</text>{{item.customer}}
<text>总件数/装车件数</text>
<text>{{item.planLoadingNumber + '/' + item.realLoadingNumber}}</text>
</view>
<view>
<text style="color: #90A0AF;">备货区域</text>{{item.stockupArea}}
<text>车长</text>
<text>{{''}}</text>
</view>
</view>
<view class="type3">
<view class="type1">
<view>
<text style="color: #90A0AF;">库位</text>{{item.warehouseArea}}
<text>主驾司机</text>
<text>{{item.driverName}}</text>
</view>
</view>
<view class="type3">
<view>
<text style="color: #90A0AF;">托盘</text>{{item.trays}}
<text>电话</text>
<text>{{item.driverMobile}}</text>
</view>
</view>
<view class="type2">
<view>
<view>订单总数</view>
<view>{{item.orderNum}}</view>
</view>
<view>
<view>计划备货件数</view>
<view>{{item.planNum}}</view>
</view>
<view>
<view>备货件数</view>
<view>{{item.realNum}}</view>
</view>
<view>
<view>库存品数</view>
<view>{{item.inventoryNub}}</view>
</view>
<view>
<text>类型</text>
<text>{{details.loadType[item.loadType]}}</text>
</view>
<view>
<text>线路</text>
<text>{{item.carsLineName}}</text>
</view>
</view>
<view class="bts" v-if="Number(item.stockupStatus)!=40">
<!-- <view @click="submitsuccess">
备货完成
</view> -->
<view class="bts" v-if="status!==2">
<view @click="gostockuplistBytray(item)">
整托装车
</view>
<view @click="gostockuplist(item)">
去备货
按件装车
</view>
</view>
</view>
@ -94,7 +89,6 @@
<tips ref="tip"></tips>
<l-calendar v-model:value="show" :initStartDate='date[0]' :initEndDate='date[1]' @hide='showCalendar'
@change="onConfirm"></l-calendar>
<!-- <hd-calendar mode="range" color='#D3832A' minDate='2023-01-01' @confirm="onConfirm" /> -->
</template>
<script lang="ts" setup>
@ -105,27 +99,41 @@
onUnload,
onPullDownRefresh
} from '@dcloudio/uni-app'
import { postCarsLoadPageList } from '@/api/user.js'
import { getTripartiteTransfer } from '@/api/user.js'
import { timeType } from '@/interfaces/pagesHome/allType'
import { inject, reactive, ref, toRefs, watchEffect } from "vue";
import utils from '@/utils/utils';
const option = {
title: '配载装车',
title: '三方中转装车',
haveData: true,
async pullDownRefreshInitPage() {
details.dataList = []
// details.dataList.splice(0)
return await init()
}
}
let details = reactive({
datatime: '',
/** 页面渲染数组 */
dataList: [],
/** 未发车数据 */
NoTrainData: [],
/** 已发车数据 */
HaveLeftnData: [],
show: false,
pageNum: 1,
size: 10,
stockupDate: '',
status: 1,
loadType: {
'1': '干线',
'2': '支线',
'3': '专车',
}
})
//
details.dataList = details.NoTrainData
let tip = ref(null)
const basicContainer = ref(null)
const date = ref<number | string[]>([])
@ -137,13 +145,10 @@
date.value[0] = e.startDate
date.value[1] = e.endDate
details.datatime = date.value[0] + ' 至 ' + date.value[1]
// details.datatime=(uni as any).$u.timeFormat(date.value[0], 'yyyy-mm-dd')+' '+(uni as any).$u.timeFormat(date.value[1], 'yyyy-mm-dd')
basicContainer.value.startPullDownRefresh()
}
watchEffect(() => {
if ((date.value as []).length != 0) {
details.datatime = date.value[0] + ' 至 ' + date.value[1]
}
})
onShow(() => {
// #ifdef APP
uni.$off('scancodedate')
@ -156,11 +161,14 @@
onLoad(() => {
date.value[0] = (uni as any).$u.timeFormat((new Date().valueOf() - 1000 * 60 * 60 * 24 * 3), 'yyyy-mm-dd')
date.value[1] = (uni as any).$u.timeFormat((new Date().valueOf()), 'yyyy-mm-dd')
utils.ttsspke('请选择拣货任务')
details.datatime = date.value[0] + ' 至 ' + date.value[1]
// #ifdef APP
utils.ttsspke('请选择配载计划')
// #endif
})
async function init() {
details.pageNum = 1
details.dataList = []
details.dataList.splice(0)
return initpage()
}
function jiazai() {
@ -168,6 +176,13 @@
initpage()
}
async function initpage() {
if (date.value.length === 0) {
return uni.showToast({
title: '请选择拣货日期',
icon: 'none'
})
}
try {
uni.showLoading({
title: '数据加载中',
@ -180,26 +195,33 @@
endDate: date.value[1],
type: details.status,
}
let response = await postCarsLoadPageList(data)
if (response.code !== 200) return
if (details.pageNum == 1 && response.data) {
details.dataList = response.data.records
} else {
let response = await getTripartiteTransfer(data)
if (response.code !== 200 || !response.data) return
if (details.pageNum > 1) {
if (response.data.records.length == 0) {
uni.showToast({
title: '已经到底了。',
icon: 'none'
})
details.pageNum--
return
}
details.dataList = details.dataList.concat(response.data.records)
}
} catch (e) {
if (data.type === 1) {
for (let item of response.data.records) {
details.NoTrainData.push(item)
}
} else {
for (let item of response.data.records) {
details.HaveLeftnData.push(item)
}
}
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
uni.hideLoading()
details.dataList = [{}]
return null
}
}
@ -210,9 +232,16 @@
details.show = false
console.log(details.datatime);
}
/** 按件装车 */
function gostockuplist(item : any) {
uni.reLaunch({
url: '/pagesHome/pages/PickingScanList/PickingScanList?id=' + item.id + '&stockupArea=' + item.stockupArea,
uni.navigateTo({
url: '/pagesHome/pages/StowageListDetails/StowageListDetails?id=' + item.id + '&type=' + 1
})
}
/** 按托装车 */
function gostockuplistBytray(item : any) {
uni.navigateTo({
url: '/pagesHome/pages/StowageListDetails/StowageListDetails?id=' + item.id + '&type=' + 2
})
}
function cleartime() {
@ -223,6 +252,7 @@
}
function setstate(state : number) {
details.status = state
details.dataList = state === 1 ? details.NoTrainData : details.HaveLeftnData
basicContainer.value.startPullDownRefresh()
}
@ -236,7 +266,7 @@
const { datatime, dataList, show, status } = toRefs(details)
</script>
<style lang="scss">
<style lang="scss" scoped>
.inputsr {
width: 400upx !important;
height: 64upx;
@ -254,7 +284,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}
@ -303,8 +336,7 @@
align-items: center;
justify-content: space-between;
margin-bottom: 20upx;
font-size: 28upx;
color: #161616;
zoom: 0.9;
>view {
width: 50%;
@ -375,11 +407,9 @@
justify-content: center;
margin-top: 20upx;
>view:nth-of-type(1) {
width: 204upx;
height: 64upx;
background: #FFFFFF;
>view {
border-radius: 8upx;
background: #FFFFFF;
opacity: 1;
border: 2upx solid #0086F1;
display: flex;
@ -387,23 +417,13 @@
justify-content: center;
font-size: 28upx;
font-weight: 400;
padding: 10upx 30upx;
color: #0086F1;
}
>view:nth-of-type(2) {
width: 204upx;
height: 64upx;
background: #FFFFFF;
border-radius: 8upx;
opacity: 1;
border: 2upx solid #D3832A;
display: flex;
align-items: center;
justify-content: center;
font-size: 28upx;
font-weight: 400;
color: #D3832A;
border-color: var(--subjectColor);
color: var(--subjectColor);
margin-left: 100upx;
}
}
@ -436,8 +456,8 @@
}
.xz {
color: #D3832A;
border-bottom: 8upx solid #D3832A;
color: var(--subjectColor);
border-bottom: 8upx solid var(--subjectColor);
// border-radius: 5upx;
}
}
@ -465,7 +485,7 @@
>view:nth-of-type(3) {
width: 128upx;
height: 64upx;
background: #D3832A;
background: var(--subjectColor);
border-radius: 8upx;
display: flex;
align-items: center;
@ -475,4 +495,9 @@
color: #FFFFFF;
}
}
.font-color {
// color: #90A0AF;
font-size: 28upx;
}
</style>

16
pagesHome/pages/SelfPScanList/SelfPScanList.vue

@ -136,6 +136,7 @@
import { pagedetails } from '@/interfaces/pagesHome/SelfPScanList'
import useSystemSettingsStore from '@/store/useSystemSettingsStore';
import { storeToRefs } from 'pinia';
import utils from '../../../utils/utils';
const { scanState } = storeToRefs(useSystemSettingsStore())
const option = {
title: '自提扫描',
@ -173,6 +174,8 @@
signedNum: '',
inventoryNub: '',
scancode: '',
/** 是否为扫描后刷新请求页面 */
isscan: false
})
const tiplists = ref(null)
const basicContainer = ref(null)
@ -226,10 +229,11 @@
type: details.orderType == 1 ? '2' : '1'
}
let res = await billLadingscan(data)
const { code } = res
if (code !== 200) return
details.isscan = true
console.log(res);
if (res.code == 200) {
basicContainer.value.startPullDownRefresh()
}
basicContainer.value.startPullDownRefresh()
}
async function initpage() {
try {
@ -252,6 +256,12 @@
details.planNum = response.data.planNum
details.inventoryNub = response.data.inventoryNub
details.signedNum = response.data.signedNum
if (!details.isscan) return
// #ifdef APP
utils.ttsspke(details.signedNum + '件')
// #endif
details.isscan = false
} else if (details.orderType == 2) {
let date = {
id: details.billLadingId,

13
pagesHome/pages/SelfPickupDetails/SelfPickupDetails.vue

@ -208,14 +208,6 @@
url: '/pagesHome/pages/orderDetails/orderDetails?orderCode=' + item.orderCode
})
}
watchEffect(() => {
if (details.isscan && details.signedNum) {
const timer = setTimeout(() => {
utils.ttsspke(details.signedNum + '件')
clearTimeout(timer)
}, 500)
}
})
/* onHide(() => {
uni.$off('scancodedate')
}) */
@ -377,6 +369,11 @@
} catch (e) {
//TODO handle the exception
} finally {
//
if (details.isscan && details.signedNum) {
utils.ttsspke(details.signedNum + '件')
}
uni.hideLoading()
}
}

15
pagesHome/pages/SelfPickupScan/SelfPickupScan.vue

@ -16,7 +16,9 @@
<view class="schbox">
<view>自提日期</view>
<view @click='showCalendar' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<view class="timeInput">
{{datatime|| '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showCalendar' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -465,7 +467,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}
@ -651,10 +656,11 @@
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
display: block;
width: 0;
box-sizing: border-box;
border: 1upx solid var(--subjectColor);
border: 2upx solid var(--subjectColor);
transition: all 0.5s;
}
@ -662,8 +668,7 @@
color: var(--subjectColor);
&::after {
left: 0;
width: 100%;
width: 60%;
}
}
}

21
pagesHome/pages/StowageList/StowageList.vue

@ -4,7 +4,9 @@
<view class="schbox">
<view>拣货日期</view>
<view @click='showCalendar' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<view class="timeInput">
{{datatime|| '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showCalendar' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -71,7 +73,7 @@
</view>
</view>
<view class="bts" v-if="Number(item.stockupStatus)!=40">
<view class="bts" v-if="status!==2">
<view @click="gostockuplistBytray(item)">
整托装车
</view>
@ -143,13 +145,10 @@
date.value[0] = e.startDate
date.value[1] = e.endDate
details.datatime = date.value[0] + ' 至 ' + date.value[1]
// details.datatime=(uni as any).$u.timeFormat(date.value[0], 'yyyy-mm-dd')+' '+(uni as any).$u.timeFormat(date.value[1], 'yyyy-mm-dd')
basicContainer.value.startPullDownRefresh()
}
watchEffect(() => {
if ((date.value as []).length != 0) {
details.datatime = date.value[0] + ' 至 ' + date.value[1]
}
})
onShow(() => {
// #ifdef APP
uni.$off('scancodedate')
@ -162,6 +161,7 @@
onLoad(() => {
date.value[0] = (uni as any).$u.timeFormat((new Date().valueOf() - 1000 * 60 * 60 * 24 * 3), 'yyyy-mm-dd')
date.value[1] = (uni as any).$u.timeFormat((new Date().valueOf()), 'yyyy-mm-dd')
details.datatime = date.value[0] + ' 至 ' + date.value[1]
// #ifdef APP
utils.ttsspke('请选择配载计划')
// #endif
@ -284,7 +284,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}

43
pagesHome/pages/StowageListDetails/StowageListDetails.vue

@ -147,18 +147,30 @@
<!-- 异常 -->
<template v-else-if="orderStatus == 3">
<view class="itec" @click="checkphon(item,index)">
<view class="itec">
<view class="contenbx1">
<view><text style="color: #90A0AF;">订单编号</text>{{item.orderCode}}
<view style=" word-break:break-all">
<view style="color: #90A0AF;">订单编号</view>
{{item.orderCode || '暂无数据'}}
</view>
</view>
<view class="contenbx1">
<view><text style="color: #90A0AF;">运单号</text>{{item.waybillNo}}
<view>
<view style="color: #90A0AF;">运单号</view>
{{item.waybillNo || '暂无数据'}}
</view>
</view>
<view class="contenbx1">
<view><text style="color: #90A0AF;">码值</text>{{item.scanCode || 0}}</view>
<view><text style="color: #90A0AF;">装车数量</text>{{item.loadingNum || 0}}</view>
<view style=" word-break:break-all">
<view style="color: #90A0AF;">码值</view>
{{item.scanCode || 0}}
</view>
<view>
<view style="color: #90A0AF;">装车数量</view>
{{item.loadingNum || 0}}
</view>
</view>
<view class="flex-c-sb">
<view class="">
@ -565,14 +577,16 @@
}
// submitData
const res = await postLoadingZero(submitData)
console.log('res :>> ', res);
} catch (e) {
//TODO handle the exception
} finally {
uni.hideLoading()
if (res.code !== 200) return
ZeroStowage.value.details.showPopUp = false
//
basicContainer.value.startPullDownRefresh()
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
uni.hideLoading()
}
}
@ -775,7 +789,6 @@
>.contenbx1 {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28upx;
color: #092C4D;
@ -787,6 +800,10 @@
>view {
flex: 1;
&:first-child {
margin-right: 20upx;
}
}
}

35
pagesHome/pages/VehicleArrivalDetails/VehicleArrivalDetails.vue

@ -20,8 +20,8 @@
<view>
<view>车牌号{{details.pageInfo.carNumber}}</view>
</view>
<view>
<view>路线{{details.pageInfo.carsLineName}}</view>
<view style="width: 100%;">
路线{{details.pageInfo.carsLineName}}
</view>
<!-- <view>
<view>备货是否完成{{items.isstock}}</view>
@ -29,10 +29,6 @@
</view> -->
</view>
<view class="hdtpnum">
<view>
<view>订单总数</view>
<view>{{items.orderNum || 0}}</view>
</view>
<view>
<view>计划件数</view>
<view>{{details.pageInfo.planLoadingNumber || 0}}</view>
@ -41,13 +37,16 @@
<view>装车件数</view>
<view>{{details.pageInfo.realLoadingNumber || 0}}</view>
</view>
<view>
<view>计划卸车数量 </view>
<view>{{details.pageInfo.planUnloadNum || 0}}</view>
</view>
<view>
<view>卸车数</view>
<view>{{details.pageInfo.realLoadingNumber || 0}}</view>
<view>{{details.pageInfo.unloadNumber || 0}}</view>
</view>
</view>
<view class="tabtip">
<view @click="setorderStatus(1)" :class="orderStatus==1?'active':''">
<view>定制品</view>
@ -72,14 +71,14 @@
<view class="contenbx1">
<view style="flex: 1;">
<view>订单号</view>
<view class="">
<view class="row_value">
{{item.orderCode}}
</view>
</view>
<view style="flex: 1;">
<view>运单号</view>
<view class="">
<view class="row_value">
{{item.waybillNo}}
</view>
</view>
@ -105,7 +104,7 @@
<!-- 定制品 -->
<template v-if="Number(orderStatus) === 1">
<view class="flex-c-sb">
<view class="">
<view style="flex: 1;">
包条码: {{value.orderPackageCode}}
</view>
<view class="flex1" style="display: flex; align-items: center; margin-left:5px;">
@ -867,7 +866,7 @@
font-size: 28upx;
font-weight: 400;
color: #092C4D;
margin-bottom: 24upx;
margin-bottom: 10upx;
&:nth-last-child(1) {
margin-bottom: 0;
@ -901,6 +900,12 @@
color: #092C4D;
margin-bottom: 20upx;
>view {
&:first-child {
margin-right: 20upx;
}
}
&:nth-last-child(1) {
margin-bottom: 0;
}
@ -1023,6 +1028,12 @@
}
}
//
.row_value {
font-size: 0.8rem;
word-break: break-all;
}
.mt10 {
margin-top: 10upx;
}

17
pagesHome/pages/pickingScan/pickingScan.vue

@ -5,7 +5,9 @@
<view class="schbox">
<view>拣货日期</view>
<view @click='showCalendar' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<view class="timeInput">
{{datatime|| '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showCalendar' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -163,13 +165,9 @@
date.value[0] = e.startDate
date.value[1] = e.endDate
details.datatime = date.value[0] + ' 至 ' + date.value[1]
// details.datatime=(uni as any).$u.timeFormat(date.value[0], 'yyyy-mm-dd')+' '+(uni as any).$u.timeFormat(date.value[1], 'yyyy-mm-dd')
basicContainer.value.startPullDownRefresh()
}
watchEffect(() => {
if ((date.value as []).length != 0) {
details.datatime = date.value[0] + ' 至 ' + date.value[1]
}
})
onShow(async () => {
// #ifdef APP
uni.$off('scancodedate')
@ -324,7 +322,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}

51
pagesHome/pages/signOrderScan/signOrderScan.vue

@ -153,12 +153,24 @@
<view><text style="color: #90A0AF;">单位</text>{{item.logpmUnit}}</view>
<!-- <view><text style="color: #90A0AF;">签收</text>{{item.signforNub}}</view> -->
</view>
<!-- <view :class="item.signforNub==0?'tip tp2':item.signforNub==item.reservationNum?'tip tp1':'tip tp3'">{{item.signforNub==0?'未扫':item.signforNub==item.reservationNum?'齐套':'部分扫'}}</view> -->
<view :class="item.signforNub==0?'tip tp2':item.signforNub==item.reservationNum?'tip tp1':'tip tp3'">
{{item.signforNub==0?'未扫':item.signforNub==item.reservationNum?'齐套':'部分扫'}}
</view>
</view>
</template>
</block>
<!-- 底部占位元素 -->
<view class="footer_container">
</view>
</view>
</scroll-view>
<view class="jumpBtn" @click="handlePackageScan">
详情扫描
</view>
<tips ref="tip"></tips>
<tiplist ref="tiplists"></tiplist>
<!-- #ifdef APP -->
@ -334,6 +346,13 @@
})
}
/** 根据包件扫描 */
const handlePackageScan = () => {
uni.navigateTo({
url: '/pagesHome/pages/signPackageScan/signPackageScan?item=' + JSON.stringify(details.items) + '&deliveryId=' + details.deliveryId
})
}
/** 计算数据 */
function computedNum() {
const _arr = [...details.orderArr, ...details.zeroArr, ...details.stockArr]
@ -720,7 +739,7 @@
color: #90A0AF;
>view {
height: 80upx;
height: 70upx;
border-bottom: 8upx solid #ffffff;
display: flex;
align-items: center;
@ -750,7 +769,7 @@
// height: 176upx;
background: #FFFFFF;
border-radius: 8upx;
padding: 36upx 24upx;
padding: 20upx;
box-sizing: border-box;
position: relative;
margin-bottom: 20upx;
@ -767,7 +786,7 @@
color: #092C4D;
margin-bottom: 20upx;
&:nth-last-child(1) {
&:nth-last-child(2) {
margin-bottom: 0;
}
@ -809,7 +828,7 @@
.hdstop {
width: 100%;
padding: 34upx 32upx;
padding: 20upx;
background-color: #fff;
box-sizing: border-box;
font-size: 28upx;
@ -819,7 +838,7 @@
>.khxb {
display: flex;
align-items: flex-start;
margin-bottom: 40upx;
margin-bottom: 10upx;
flex-wrap: wrap;
>view {
@ -865,8 +884,7 @@
>view:nth-of-type(2) {
font-size: 36upx;
font-weight: 400;
margin-top: 20upx;
margin-top: 10upx;
}
}
}
@ -953,4 +971,21 @@
.uni-table .active:hover {
background: #ff4344 !important;
}
//
.jumpBtn {
position: fixed;
bottom: 10upx;
padding: 20upx 60upx;
border-radius: 5upx;
background: var(--subjectColor);
color: #fff;
left: 50%;
transform: translateX(-50%);
}
//
.footer_container {
height: 150upx;
}
</style>

594
pagesHome/pages/signPackageScan/signPackageScan.vue

@ -0,0 +1,594 @@
<template>
<BasicContainer ref="basicContainer" :option="option">
<template #head>
<view class="hdstop">
<view class="khxb">
<view>客户{{items.consignee}}</view>
<view>地址{{items.deliveryAddress}}</view>
<view>电话{{items.deliveryPhone}}</view>
<view class="butlur" @click="showsdqs">
录入包条码
</view>
</view>
<view class="tps">
<view>
<view>计划件数</view>
<view>{{details.Plannednub}}</view>
</view>
<view>
<view>配送件数</view>
<view>{{items.reservationNum}}</view>
</view>
<view>
<view>签收件数</view>
<view>{{details.signNub}}</view>
</view>
</view>
</view>
</template>
<template #body>
<view class="main" @touchmove.stop>
<!-- 表格表头 -->
<view class="main_row main_title">
<view class="">
包条码
</view>
<view class="">
品类
</view>
<view class="">
签收状态
</view>
<view class="">
异常状态
</view>
</view>
<view :style="{height: details.jpScorllViewHeight}" code="id" class="jpScorllView">
<block v-for="item in datalist" :key="item.orderCode">
<view class="main_row">
<view class="">
{{item.orderPackageCode}}
</view>
<view class="">
{{item.typeName || '库存品'}}
</view>
<view class="">
{{item.orderPackageStatus === '70'?'已签':'未签'}}
</view>
<view class="">
{{item.isAbnnormalSigningName ||item.isAbnormalLoadingName|| '/'}}
</view>
</view>
</block>
</view>
</view>
</template>
</BasicContainer>
<tips ref="tip"></tips>
<tiplist ref="tiplists"></tiplist>
<!-- #ifdef APP -->
<saomiao2 :ishidestop="scanState !== 0"></saomiao2>
<!-- #endif -->
</template>
<script lang="ts" setup>
import {
signfororder,
signforinventory,
signforsignfor,
signforsignforIn,
signforsignforcontinue,
} from '@/api/user.js'
import {
onLoad,
onShow,
onPullDownRefresh
} from '@dcloudio/uni-app'
import { computed, inject, nextTick, onMounted, reactive, ref, toRefs } from "vue";
import useSystemSettingsStore from '@/store/useSystemSettingsStore';
import { storeToRefs } from 'pinia';
import utils from '@/utils/utils.js';
const { scanState } = storeToRefs(useSystemSettingsStore())
const option = {
title: '客户包件扫描',
haveData: true,
async pullDownRefreshInitPage() {
return await initpage()
},
}
let details = reactive({
schanvalue: '',
typearr: [
{
value: 3,
label: '齐套'
},
{
value: 2,
label: '部分扫'
},
{
value: 1,
label: '未扫'
}
],
items: {} as any,
datalist: [] as any,
orderArr: [],
zeroArr: [],
stockArr: [],
id: '',
orderStatus: 1,
scancode: '',
deliveryId: '',
orderType: '' as string | number,
inputtxt: '',
listcheckindex: -1,
scrollHeight: '',
/** 计划件数 */
Plannednub: 0,
/** 滚动区高度 */
jpScorllViewHeight: '',
/** 签收数 */
signNub: 0,
})
const tiplists = ref(null)
const tip = ref(null)
const ordNub = computed(() => {
let num = 0
num += details.orderArr.length
num += details.zeroArr.length
return num
})
onLoad(async (op) => {
console.log('op :>> ', op);
// #ifdef APP
utils.ttsspke('请扫描包条码')
// #endif
//
details.items = JSON.parse(op.item)
details.id = JSON.parse(op.item).id
details.deliveryId = op.deliveryId
})
onShow(async () => {
try {
// #ifdef APP
uni.$off('scancodedate')
uni.$on('scancodedate', function (code) {
if (code) {
//
tip.value.setdetails({ isshow: false })
console.log(code);
details.scancode = code
scandata()
}
})
// #endif
//
let data = {
reservationId: details.items.id,
completecode: details.orderType,
orderCode: details.inputtxt
}
details.datalist = []
const promise1 = signfororder(data, { isShowLoading: false })
const promise2 = signforinventory(data, { isShowLoading: false })
uni.showLoading()
const [response, response1] = await Promise.all([promise1, promise2])
//
// let response = null
// response = await signfororder(data)
if (response.code !== 200) return
details.zeroArr = []
details.orderArr = []
if (response.data) response.data.forEach(val => {
//
if (val.isZero === '1') return details.zeroArr.push(val)
if (val.isZero !== '1') details.datalist = [...details.datalist, ...val.distributionAppParcelListVOS]
//
val.abnormalSignature = 0
//
val.abnormalLoading = 0
val.distributionAppParcelListVOS.forEach(value => {
if (value.isAbnnormalSigning === 1) val.abnormalSignature += 1
if (value.isAbnormalLoading === 1) val.abnormalLoading += 1
if (val.isZero !== '1') value.typeName = '定制品'
})
details.orderArr.push(val)
})
//
if (response1.code !== 200) return
if (response1.data) {
details.stockArr = response1.data || []
details.datalist = [...details.datalist, ...details.stockArr]
}
computedNum()
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
await nextTick()
uni.hideLoading()
}
})
// onHide(() => {
// uni.$off('scancodedate')
// })
onMounted(async () => {
await nextTick()
details.jpScorllViewHeight = await utils.getViewDistanceFormTop('.jpScorllView')
})
function goorderdetail(item) {
uni.navigateTo({
url: '/pagesHome/pages/orderDetails/orderDetails?orderCode=' + item.orderCode
})
}
/** 计算数据 */
function computedNum() {
const _arr = [...details.orderArr, ...details.stockArr]
details.Plannednub = 0
details.signNub = 0
for (let item of _arr) {
details.Plannednub += item.reservationNum
details.signNub += item.signforNub
}
}
//
onPullDownRefresh(async () => {
await initpage()
//
uni.stopPullDownRefresh()
})
async function scandata() {
let data = {
barcode: details.scancode,
deliveryId: details.deliveryId,
reservationId: details.id,
}
//
if (Number(details.orderStatus) == 1) {
let response = await signforsignfor(data)
console.log(response);
if (response.code === 200) {
// const num = details.datalist.reduce((curr, item) => curr + item.signforNub, 0)
// #ifdef APP
// utils.ttsspke(num + '')
// #endif
}
else if (response.code == 3006) {
// #ifdef APP
utils.ttsspke('是否异常签收')
// #endif
tip.value.setdetails({
isshow: true,
content: '请确认是否异常签收',
success: async () => {
let data = {
barcode: details.scancode,
deliveryId: details.deliveryId,
reservationId: details.id
}
let response = await signforsignforcontinue(data)
if (response.code !== 200) return
console.log(response);
uni.showToast({
title: response.msg,
icon: 'none'
})
initpage()
tip.value.setdetails({ isshow: false })
},
cancel: () => {
tip.value.setdetails({ isshow: false })
},
close: () => {
tip.value.setdetails({ isshow: false })
}
})
return
} else {
uni.showToast({
title: response.msg,
icon: 'none'
})
}
} else if (Number(details.orderStatus) === 3) {
// data.barcode="23072405915-2"
let response = await signforsignforIn(data)
console.log(response);
if (response.code == 3006) {
tip.value.setdetails({
isshow: true,
content: '请确认是否异常签收',
success: async () => {
let data = {
barcode: details.scancode,
deliveryId: details.deliveryId,
reservationId: details.id
}
let response = await signforsignforcontinue(data)
console.log(response);
if (response.code !== 200) return
uni.showToast({
title: response.msg,
icon: 'none'
})
initpage()
tip.value.setdetails({ isshow: false })
},
cancel: () => {
tip.value.setdetails({ isshow: false })
},
close: () => {
tip.value.setdetails({ isshow: false })
}
})
return
} else {
uni.showToast({
title: response.msg,
icon: 'none'
})
}
}
initpage()
}
function showsdqs() {
tiplists.value.setdetails({
isshow: true,
tipstate: 1,
title: '请输入扫描的码',
placeholder: '请输入扫描的码',
inputtext: '',
success: (detail) => {
details.scancode = detail.inputtext
scandata()
tiplists.value.setdetails({ isshow: false })
},
cancel: () => {
tiplists.value.setdetails({ isshow: false })
},
close: () => {
tiplists.value.setdetails({ isshow: false })
}
})
}
async function initpage() {
try {
details.listcheckindex = -1
let data = {
reservationId: details.id,
completecode: details.orderType,
orderCode: details.inputtxt,
}
details.datalist = []
let response = null;
//
if (details.orderStatus == 1 || details.orderStatus === 2) {
response = await signfororder(data)
if (response.code !== 200) return
details.zeroArr = []
details.orderArr = []
response.data.forEach(val => {
//
if (val.isZero === '1') return details.zeroArr.push(val)
//
val.abnormalSignature = 0
//
val.abnormalLoading = 0
val.distributionAppParcelListVOS.forEach(value => {
if (value.isAbnnormalSigning === 1) val.abnormalSignature += 1
if (value.isAbnormalLoading === 1) val.abnormalLoading += 1
})
console.log('val :>> ', val);
details.orderArr.push(val)
})
}
//
else if (details.orderStatus == 3) {
response = await signforinventory(data)
if (response.code !== 200) return
details.stockArr = response.data || []
}
//
if (details.orderStatus === 1) details.datalist = details.orderArr
//
else if (details.orderStatus === 2) details.datalist = details.zeroArr
//
else details.datalist = details.stockArr
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
computedNum()
return null
}
}
function setcheckindex(index : number) {
if (details.listcheckindex == index) {
details.listcheckindex = -1
} else {
details.listcheckindex = index
}
}
const { listcheckindex, inputtxt, orderStatus, datalist, items, typearr, schanvalue } = toRefs(details)
</script>
<style lang="scss" scoped>
.butlur {
width: 200upx !important;
height: 64upx !important;
background: #D3832A;
border-radius: 8upx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32upx;
font-weight: 400;
color: #FFFFFF;
}
//
.hdstop {
width: 100%;
padding: 20upx;
background-color: #fff;
box-sizing: border-box;
font-size: 28upx;
font-weight: 400;
color: #092C4D;
margin-bottom: 20upx;
>.khxb {
display: flex;
align-items: flex-start;
margin-bottom: 10upx;
flex-wrap: wrap;
>view {
width: 50%;
margin-bottom: 20upx;
}
}
>.tps {
display: flex;
align-items: center;
justify-content: space-around;
>view {
display: flex;
align-items: center;
flex-direction: column;
&:nth-of-type(1) {
>view:nth-of-type(2) {
color: #092C4D;
}
}
&:nth-of-type(2) {
>view:nth-of-type(2) {
color: #0086F1;
}
}
&:nth-of-type(3) {
>view:nth-of-type(2) {
color: #3AD8BC;
}
}
&:nth-of-type(4) {
>view:nth-of-type(2) {
color: #FA8C16;
}
}
>view:nth-of-type(2) {
font-size: 36upx;
font-weight: 400;
margin-top: 10upx;
}
}
}
}
//
.main {
overflow-x: scroll;
position: relative;
background: #fff;
}
.main_title {
// position: absolute;
width: 100%;
>view {
background: #eee;
}
}
.main_row {
display: flex;
>view {
padding: 10upx 5upx;
font-size: 0.9rem;
word-break: break-all;
text-align: center;
border-bottom: 1upx dashed #999;
&:nth-child(1) {
width: 240upx;
flex: none;
}
&:nth-child(2) {
width: 120upx;
flex: none;
}
&:nth-child(3) {
width: 240upx;
flex: none;
}
&:nth-child(4) {
width: 240upx;
flex: none;
}
.main_tip {}
}
}
// .jpScorllView {
// overflow-y: scroll;
// }
</style>

10
pagesHome/pages/signinScan/signinScan.vue

@ -14,7 +14,10 @@
<view class="schbox">
<view>配送日期</view>
<view @click='showtime(true)' class="inputsr">
<input :value='datatime' disabled placeholder="请选择时间" />
<!-- <input :value='datatime' disabled placeholder="请选择时间" /> -->
<view class="timeInput">
{{datatime || '请选择时间'}}
</view>
<view @click.stop.prevent>
<u-icon @click='showtime(true)' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
color="#999999" size="50"></u-icon>
@ -352,7 +355,10 @@
font-weight: 400;
color: #092C4D;
>input {
>.timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 26upx;
}

2
unpackage/dist/dev/app-plus/app-config-service.js vendored

File diff suppressed because one or more lines are too long

1493
unpackage/dist/dev/app-plus/app-service.js vendored

File diff suppressed because it is too large Load Diff

4
unpackage/dist/dev/app-plus/manifest.json vendored

@ -7,8 +7,8 @@
"id": "__UNI__EB22F37",
"name": "货无忧",
"version": {
"name": "1.1.14",
"code": 1114
"name": "1.1.15",
"code": 1115
},
"description": "",
"developer": {

6
unpackage/dist/dev/app-plus/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.css vendored

@ -622,7 +622,7 @@
.hdtp[data-v-6197e305] {
position: relative;
z-index: 999;
padding: 1.0625rem 1rem;
padding: 0.625rem;
box-sizing: border-box;
background-color: #ffffff;
display: flex;
@ -759,7 +759,7 @@
align-items: center;
justify-content: space-around;
background-color: #ffffff;
padding: 0.875rem 0;
padding-bottom: 0.3125rem;
border-bottom: 0.09375rem solid #EEEEEE;
}
.hdtpnum > uni-view[data-v-6197e305] {
@ -786,7 +786,7 @@
font-size: 1.125rem;
font-weight: 400;
color: #092C4D;
margin-top: 0.625rem;
margin-top: 0.3125rem;
}
.abnormalStyleContainer[data-v-6197e305] {
top: -0.625rem;

5
unpackage/dist/dev/app-plus/pagesHome/pages/LoadingScan/LoadingScan.css vendored

@ -457,7 +457,10 @@ uni-view[data-v-ac70166d], uni-scroll-view[data-v-ac70166d], uni-swiper-item[dat
font-weight: 400;
color: #092C4D;
}
.inputsr > uni-input {
.inputsr > .timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 0.8125rem;
}

11
unpackage/dist/dev/app-plus/pagesHome/pages/SelfPickupScan/SelfPickupScan.css vendored

@ -423,7 +423,10 @@ uni-view[data-v-ac70166d], uni-scroll-view[data-v-ac70166d], uni-swiper-item[dat
font-weight: 400;
color: #092C4D;
}
.inputsr > uni-input[data-v-62fd4582] {
.inputsr > .timeInput[data-v-62fd4582] {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 0.8125rem;
}
@ -571,16 +574,16 @@ uni-view[data-v-ac70166d], uni-scroll-view[data-v-ac70166d], uni-swiper-item[dat
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
display: block;
width: 0;
box-sizing: border-box;
border: 0.03125rem solid var(--subjectColor);
border: 0.0625rem solid var(--subjectColor);
transition: all 0.5s;
}
.tabBar-item.active[data-v-62fd4582] {
color: var(--subjectColor);
}
.tabBar-item.active[data-v-62fd4582]::after {
left: 0;
width: 100%;
width: 60%;
}

5
unpackage/dist/dev/app-plus/pagesHome/pages/pickingScan/pickingScan.css vendored

@ -423,7 +423,10 @@ uni-view[data-v-ac70166d], uni-scroll-view[data-v-ac70166d], uni-swiper-item[dat
font-weight: 400;
color: #092C4D;
}
.inputsr > uni-input {
.inputsr > .timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 0.8125rem;
}

25
unpackage/dist/dev/app-plus/pagesHome/pages/signOrderScan/signOrderScan.css vendored

@ -832,7 +832,7 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
color: #90A0AF;
}
.tabtip > uni-view > uni-view[data-v-fb393026] {
height: 2.5rem;
height: 2.1875rem;
border-bottom: 0.25rem solid #ffffff;
display: flex;
align-items: center;
@ -856,7 +856,7 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
width: 21.4375rem;
background: #FFFFFF;
border-radius: 0.25rem;
padding: 1.125rem 0.75rem;
padding: 0.625rem;
box-sizing: border-box;
position: relative;
margin-bottom: 0.625rem;
@ -872,7 +872,7 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
color: #092C4D;
margin-bottom: 0.625rem;
}
.scve .mabx > .itec > .contenbx1[data-v-fb393026]:nth-last-child(1) {
.scve .mabx > .itec > .contenbx1[data-v-fb393026]:nth-last-child(2) {
margin-bottom: 0;
}
.scve .mabx > .itec > .contenbx1 > uni-view[data-v-fb393026] {
@ -904,7 +904,7 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
}
.hdstop[data-v-fb393026] {
width: 100%;
padding: 1.0625rem 1rem;
padding: 0.625rem;
background-color: #fff;
box-sizing: border-box;
font-size: 0.875rem;
@ -914,7 +914,7 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
.hdstop > .khxb[data-v-fb393026] {
display: flex;
align-items: flex-start;
margin-bottom: 1.25rem;
margin-bottom: 0.3125rem;
flex-wrap: wrap;
}
.hdstop > .khxb > uni-view[data-v-fb393026] {
@ -946,7 +946,7 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
.hdstop > .tps > uni-view > uni-view[data-v-fb393026]:nth-of-type(2) {
font-size: 1.125rem;
font-weight: 400;
margin-top: 0.625rem;
margin-top: 0.3125rem;
}
.scinp[data-v-fb393026] {
display: flex;
@ -1014,4 +1014,17 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
}
.uni-table .active[data-v-fb393026]:hover {
background: #ff4344 !important;
}
.jumpBtn[data-v-fb393026] {
position: fixed;
bottom: 0.3125rem;
padding: 0.625rem 1.875rem;
border-radius: 0.15625rem;
background: var(--subjectColor);
color: #fff;
left: 50%;
transform: translateX(-50%);
}
.footer_container[data-v-fb393026] {
height: 4.6875rem;
}

5
unpackage/dist/dev/app-plus/pagesHome/pages/signinScan/signinScan.css vendored

@ -457,7 +457,10 @@ uni-view[data-v-ac70166d], uni-scroll-view[data-v-ac70166d], uni-swiper-item[dat
font-weight: 400;
color: #092C4D;
}
.inputsr > uni-input {
.inputsr > .timeInput {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
font-size: 0.8125rem;
}

Loading…
Cancel
Save