Browse Source

新增零担整托卸车

myd
qb 1 year ago
parent
commit
5d8bb7e996
  1. 30
      api/user.js
  2. 6
      compoment/PopUp/PopUp.vue
  3. 5
      compoment/tiplist/tiplist.vue
  4. 2
      config/host.js
  5. 302
      pages/index/index.vue
  6. 18
      pagesHome/pages/StowageListDetails/StowageListDetails.vue
  7. 284
      pagesHome/pages/VehicleArrivalDetails/VehicleArrivalDetails.vue
  8. 170
      pagesUser/pages/systemSettings/systemSettings.vue
  9. 874
      unpackage/dist/dev/app-plus/app-service.js
  10. 8
      unpackage/dist/dev/app-plus/app.css
  11. 32
      unpackage/dist/dev/mp-weixin/api/user.js
  12. 6
      unpackage/dist/dev/mp-weixin/app.json
  13. 31
      unpackage/dist/dev/mp-weixin/common/vendor.js
  14. 3
      unpackage/dist/dev/mp-weixin/compoment/tiplist/tiplist.wxss
  15. 2
      unpackage/dist/dev/mp-weixin/config/host.js
  16. 7
      unpackage/dist/dev/mp-weixin/project.config.json
  17. 3
      unpackage/dist/dev/mp-weixin/project.private.config.json

30
api/user.js

@ -2018,7 +2018,7 @@ export function postArriveUnloadCarsDetail(data) {
}
/**
* 到车列表
* 包件卸车扫描
* @param {Object} data
*/
export function postCarsLoadUnloadPackage(data) {
@ -2030,7 +2030,7 @@ export function postCarsLoadUnloadPackage(data) {
}
/**
* 到车列表
* 零担卸车
* @param {Object} data
*/
export function postCarsLoadUnloadZero(data) {
@ -2040,4 +2040,28 @@ export function postCarsLoadUnloadZero(data) {
data
});
}
// /logpm-trunkline/carsLoad/unloadPackage
/**
* 托盘中 整托到车数据
* @param {Object} data
*/
export function postFindUnloadTrayGoodsList(data) {
return request({
url: `logpm-trunkline/api/carsLoad/findUnloadTrayGoodsList`,
method: "post",
data
});
}
/**
* 整托卸车
* @param {Object} data
*/
export function postUnloadTray(data) {
return request({
url: `logpm-trunkline/api/carsLoad/unloadTray`,
method: "post",
data
});
}
//

6
compoment/PopUp/PopUp.vue

@ -129,9 +129,9 @@
}
.closeButton {
color: var(--subjectColor);
background: #fff;
border: 1upx solid var(--subjectColor);
color: #000;
background: #F5F5F6;
// border: 1upx solid var(--subjectColor);
}
}

5
compoment/tiplist/tiplist.vue

@ -549,8 +549,9 @@
display: flex;
align-items: center;
justify-content: center;
width: 260upx;
height: 88upx;
// width: 260upx;
// height: 88upx;
padding: 15upx 50upx;
border-radius: 8upx;
font-size: 32upx;
}

2
config/host.js

@ -15,8 +15,8 @@
// const devhost = 'http://192.168.10.75:8777/'
// const devhost = 'http://192.168.6.141:8777/'
// 正式
const devhost = 'http://h5uapi.huitongys.com/'
// const devhost = 'http://h5uapi.huitongys.com/'
const devhost = 'https://h5uapi.huitongys.com/'
// cg
// const devhost = 'http://192.168.10.200:13000/'
/**

302
pages/index/index.vue

@ -34,157 +34,157 @@
import { inject, reactive, toRefs, watchEffect, ref } from "vue";
import utils from '../../utils/utils';
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',
// },
// ]
// },
// {
// 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/orderInquiry/orderInquiry',
// },
// {
// 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',
// },
// ]
// },
// {
// 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',
},
]
},
{
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/orderInquiry/orderInquiry',
},
{
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',
},
]
},
{
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({

18
pagesHome/pages/StowageListDetails/StowageListDetails.vue

@ -63,13 +63,11 @@
<template v-if="orderStatus== 1">
<view class="itec" @click="handleDetails(item,index,1)">
<view class="contenbx1">
<view><text style="color: #90A0AF;"
@click.stop="goorderdetail(item)">订单编号</text>{{item.orderCode}}
<view><text style="color: #90A0AF;">订单编号</text>{{item.orderCode}}
</view>
</view>
<view class="contenbx1">
<view><text style="color: #90A0AF;"
@click.stop="goorderdetail(item)">运单号</text>{{item.waybillNo}}
<view><text style="color: #90A0AF;">运单号</text>{{item.waybillNo}}
</view>
</view>
<view class="contenbx1">
@ -106,13 +104,11 @@
<template v-else-if="orderStatus == 2">
<view class="itec" @click="handleDetails(item,index,2)">
<view class="contenbx1">
<view><text style="color: #90A0AF;"
@click.stop="goorderdetail(item)">订单编号</text>{{item.orderCode}}
<view><text style="color: #90A0AF;">订单编号</text>{{item.orderCode}}
</view>
</view>
<view class="contenbx1">
<view><text style="color: #90A0AF;"
@click.stop="goorderdetail(item)">运单号</text>{{item.waybillNo}}
<view><text style="color: #90A0AF;">运单号</text>{{item.waybillNo}}
</view>
</view>
<view class="contenbx1">
@ -153,13 +149,11 @@
<template v-else-if="orderStatus == 3">
<view class="itec" @click="checkphon(item,index)">
<view class="contenbx1">
<view><text style="color: #90A0AF;"
@click.stop="goorderdetail(item)">订单编号</text>{{item.orderCode}}
<view><text style="color: #90A0AF;">订单编号</text>{{item.orderCode}}
</view>
</view>
<view class="contenbx1">
<view><text style="color: #90A0AF;"
@click.stop="goorderdetail(item)">运单号</text>{{item.waybillNo}}
<view><text style="color: #90A0AF;">运单号</text>{{item.waybillNo}}
</view>
</view>
<view class="contenbx1">

284
pagesHome/pages/VehicleArrivalDetails/VehicleArrivalDetails.vue

@ -61,12 +61,12 @@
<template #body>
<jp-virtual-list code="id" class="h100" :refresher="false" :data="datalist" ref="search">
<template v-slot="{ list }">
<view v-for="item in list" :key="item.id" :id="item.id" :ref="item.id">
<view v-for="item in list" :key="item.orderCode" :id="item.orderCode" :ref="item.orderCode">
<PullDownBox>
<template #title>
<view class="contenbx1">
<view style="flex: 1;">
<view @click.stop="goorderdetail(item)">订单号</view>
<view>订单号</view>
<view class="">
{{item.orderCode}}
</view>
@ -147,88 +147,6 @@
</view>
</template>
</jp-virtual-list>
<!-- <ScrollList :allList="datalist" :containerHeight='300'>
<template #default="user">
<PullDownBox>
<template #title>
<view class="contenbx1">
<view style="flex: 1;">
<view @click.stop="goorderdetail(user.item)">订单号</view>
<view class="">
{{user.item.orderCode}}
</view>
</view>
<view style="flex: 1;">
<view>运单号</view>
<view class="">
{{user.item.waybillNo}}
</view>
</view>
</view>
<view class="contenbx1">
<view>
<text>订单总数</text>
{{user.item.totalNum}}
</view>
<view>
<text>
装车数/卸车数
</text>
{{user.item.loadingNum + '/' + user.item.unloadNum}}
</view>
</view>
</template>
<template #content>
<u-divider text="详情"></u-divider>
<block v-for="value in user.item.unloadPackageList" :key="value.name">
<view class="details_container">
<template v-if="Number(orderStatus) === 1">
<view class="flex-c-sb">
<view class="">
包条码: {{value.orderPackageCode}}
</view>
<view class="flex1" style="margin-left: 5px;">
装车数/卸车数: {{value.num + '/' + (value.unloadNum || 0)}}
</view>
</view>
<view class="flex-c-sb mt10">
<view class="flex1">
托盘名称: {{value.trayName || '暂无数据'}}
</view>
<view class="flex1">
托盘码: {{value.trayCode || '暂无数据'}}
</view>
</view>
</template>
<template v-if="Number(orderStatus) === 2">
<view class="flex-c-sb">
<view class="flex1">
产品名称: {{value.orderPackageCode}}
</view>
<view class="flex1">
装车数/卸车数: {{value.num + '/' + (value.unloadNum || 0)}}
</view>
</view>
<view class="flex-c-sb mt10">
<view class="flex1">
托盘名称: {{value.trayName || '暂无数据'}}
</view>
<view class="flex1">
托盘码: {{value.trayCode || '暂无数据'}}
</view>
</view>
</template>
</view>
</block>
</template>
</PullDownBox>
</template>
</ScrollList> -->
</template>
</BasicContainer>
@ -261,9 +179,50 @@
</scroll-view>
</PopUp>
<!-- 整托装车 -->
<!-- 定制品异常装车 -->
<PopUp ref='OrderStowage'>
<scroll-view scroll-y="true">
<view class="">
当前包件未在本次计划, 是否异常卸车
</view>
<view class="">
包条码: {{details.scancode}}
</view>
</scroll-view>
</PopUp>
<!-- 整托卸车 -->
<PopUp ref='TrayStowage'>
<view>托盘名称{{details.trayInfo.trayName}}</view>
<view>托盘码{{details.trayInfo.trayCode}}</view>
<scroll-view style="margin-top: 10px; height: 50vh; zoom: 0.9" scroll-y="true">
<view class="">
零担:
</view>
<block v-for="item in details.trayInfo.zeroList" :key="item.scanCode">
<view class="pop_row">
<view>订单号{{item.orderCode}}</view>
<view>运单号{{item.waybillNo}}</view>
<view class="flex-c-sb">
<view>产品名称{{item.scanCode}}</view>
<view>数量{{item.num}}</view>
</view>
</view>
</block>
<view class="mt10">
定制品:
</view>
<block v-for="item in details.trayInfo.packageList" :key="item">
<view class="pop_row">
<view>订单号{{item.orderCode}}</view>
<view class="flex-c-sb">
<view>包条码{{item.scanCode}}</view>
<view>数量{{item.num}}</view>
</view>
</view>
</block>
</scroll-view>
</PopUp>
<!-- #ifdef APP -->
<saomiao2 :ishidestop="scanState !== 0"></saomiao2>
@ -274,7 +233,9 @@
import {
postCarsLoadUnloadPackage,
postArriveUnloadCarsDetail,
postCarsLoadUnloadZero
postCarsLoadUnloadZero,
postFindUnloadTrayGoodsList,
postUnloadTray
} from '@/api/user.js'
import {
onLoad,
@ -324,7 +285,7 @@
pageInfo: {},
//
zeroList: [],
/** 页面类型 1: 按件装车 2: 整托车 */
/** 页面类型 1: 按件装车 2: 整托车 */
pageType: 1,
/** 整托渲染列表 */
trayInfo: {
@ -342,8 +303,10 @@
/** 零担装车 */
const ZeroStowage = ref()
/** 定制品异常装车 */
const OrderStowage = ref()
/** 整托装车 */
/** 整托车 */
const TrayStowage = ref()
onLoad((op) => {
@ -353,6 +316,7 @@
option.title = Number(op.type) === 2 ? '配载整托卸车' : '配载按件卸车'
})
/** 查看订单详情 -- 上架数据(保留页面, 后续跳详情直接cv) */
function goorderdetail(item) {
uni.navigateTo({
url: '/pagesHome/pages/orderDetails/orderDetails?orderCode=' + item.orderCode
@ -469,6 +433,7 @@
/** 扫描包件 */
const scanOrder = async () => {
OrderStowage.value.details.showPopUp = false
let _scanCode = details.scancode
//
@ -476,6 +441,9 @@
//
let returnContent = ''
//
let _trayCode = ''
for (let item of details.pageInfo.unloadScanOrderList) {
let isBreak = false
for (let val of item.unloadPackageList) {
@ -487,6 +455,10 @@
} else if (Number(val.scanStatus) === 3) {
returnContent = '该包件已签收'
}
if (val.trayCode) {
_trayCode = val.trayCode
}
}
}
@ -504,6 +476,32 @@
return
}
if (!isHave) {
OrderStowage.value.setDetails({
title: '异常装车',
showPopUp: true,
async success() {
try {
const submitData = {
orderPackageCode: _scanCode,
loadId: details.loadId
}
const res = await postCarsLoadUnloadPackage(submitData)
return res
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
OrderStowage.value.details.showPopUp = false
//
basicContainer.value.startPullDownRefresh()
}
}
})
return
}
try {
const submitData = {
@ -522,6 +520,58 @@
}
}
/** 扫描托盘 */
const scanTray = async () => {
const submitData = {
trayCode: details.scancode,
loadId: details.loadId
}
const res = await postFindUnloadTrayGoodsList(submitData)
const { code, data } = res
if (code !== 200) return res
details.trayInfo.zeroList = data.filter(val => {
return Number(val.type) === 2
})
details.trayInfo.packageList = data.filter(val => {
return Number(val.type) === 1
})
details.trayInfo.trayCode = data[0].trayCode
details.trayInfo.trayName = data[0].trayName
TrayStowage.value.setDetails({
title: '整托卸车',
showPopUp: true,
async success() {
try {
uni.showLoading({
mask: true
})
const res = await postUnloadTray(submitData)
if (res.code !== 200) return
uni.showToast({
title: '装车成功',
icon: 'none'
})
TrayStowage.value.details.showPopUp = false
} catch (e) {
//TODO handle the exception
} finally {
uni.hideLoading()
basicContainer.value.startPullDownRefresh()
}
},
close() {
TrayStowage.value.details.showPopUp = false
}
})
// return res
}
/**
* */
function scandata() {
@ -534,10 +584,12 @@
uni.navigateBack()
}
/** 零担卸车 */
const handleZeroStowage = (_item, _value) => {
/** 零担 -- 单独卸车 */
const handleZeroSoleStowage = (_item, _value) => {
details.zeroInfo = { waybillNo: _item.waybillNo, orderCode: _item.orderCode, ..._value }
details.zeroInfo.unloadNum = details.zeroInfo.num
ZeroStowage.value.setDetails({
title: '零担卸车',
showPopUp: true,
@ -555,6 +607,58 @@
})
}
/** 零担卸车 */
const handleZeroStowage = (_item, _value) => {
//
let content = ''
if (Number(_value.scanStatus) === 2) {
content = '该零担已卸车'
}
else if (Number(_value.scanStatus) === 2) {
content = '该零担已签收'
}
if (content) {
// #ifdef APP
utils.ttsspke(content)
// #endif
uni.showToast({
title: content,
icon: 'none'
})
// return
}
// ; :
if (_value.trayCode) {
tiplists.value.setdetails({
isshow: true,
tipstate: 2,
list: [],
isonecheck: true,
title: '是否整托装车',
success: () => {
tiplists.value.setdetails({ isshow: false })
//
scanTray()
},
cancel: () => {
tiplists.value.setdetails({ isshow: false })
handleZeroSoleStowage(_item, _value)
},
close: () => {
tiplists.value.setdetails({ isshow: false })
}
})
details.scancode = _value.trayCode
return
}
handleZeroSoleStowage(_item, _value)
}
const { orderStatus, items, datalist } = toRefs(details)
</script>

170
pagesUser/pages/systemSettings/systemSettings.vue

@ -3,9 +3,10 @@
<u-navbar title="系统设置" bgColor='#D3832A' leftIconColor='#ffffff' titleStyle='color:#ffffff' placeholder
:autoBack="true" leftIconSize='35'></u-navbar>
<view class="list">
<!-- 设置后台监听状态 -->
<view class="list_item" style="display: flex;">
<view class="uni-list-cell-left">
<u-icon name="moments" color="#47beff"></u-icon>
<u-icon class="margin-right-10" name="moments" color="#47beff"></u-icon>
<view>
扫描后台监听状态
</view>
@ -19,8 +20,71 @@
</view>
</view>
<!-- 设置密码 -->
<view class="list_item" style="display: flex;" @click="showEditPwd">
<view class="uni-list-cell-left">
<u-icon class="margin-right-10" name="setting-fill" color="#47beff"></u-icon>
<view>
设置密码
</view>
</view>
<u-icon name="arrow-right" color="#000"></u-icon>
</view>
</view>
</view>
<!-- 设置密码 -->
<PopUp ref="EditPwdPop">
<!-- 原密码 -->
<view class="flex-c-sb">
<view class="EditPwdPop-title">
原密码
</view>
<u-input placeholder="原密码" border="none" :input="handleTrim('oldPwd')" v-model="editPwdForm.oldPwd"
:password="!ShowPwdObj.oldPwd" clearable>
<template #suffix>
<view @click="isShowPwd('oldPwd')">
<u-icon v-if="ShowPwdObj.oldPwd" name="eye-off" size="40"></u-icon>
<u-icon v-else name="eye-fill" size="40"></u-icon>
</view>
</template>
</u-input>
</view>
<!-- 新密码 -->
<view class="flex-c-sb">
<view class="EditPwdPop-title">
新密码
</view>
<u-input placeholder="新密码" border="none" :input="handleTrim('newPwd1')"
onkeypress="javascript:if(event.keyCode == 32)event.returnValue = false;" v-model="editPwdForm.newPwd1"
:password="!ShowPwdObj.newPwd1" clearable>
<template #suffix>
<view @click="isShowPwd('newPwd1')">
<u-icon v-if="ShowPwdObj.newPwd1" name="eye-off" size="40"></u-icon>
<u-icon v-else name="eye-fill" size="40"></u-icon>
</view>
</template>
</u-input>
</view>
<!-- 确认新密码 -->
<view class="flex-c-sb">
<view class="EditPwdPop-title">
确认新密码
</view>
<u-input placeholder="确认新密码" border="none" :input="handleTrim('newPwd2')" v-model.trim="editPwdForm.newPwd2"
:password="!ShowPwdObj.newPwd2" clearable>
<template #suffix>
<view @click="isShowPwd('newPwd2')">
<u-icon v-if="ShowPwdObj.newPwd2" name="eye-off" size="40"></u-icon>
<u-icon v-else name="eye-fill" size="40"></u-icon>
</view>
</template>
</u-input>
</view>
</PopUp>
</template>
<script lang="ts" setup>
@ -55,6 +119,11 @@
scanStateChooseIndex: 0
})
//
/** 修改密码 */
const EditPwdPop = ref()
//
details.scanStateList = scanStateList.value
@ -71,6 +140,74 @@
HANDLE_SCANSTATE(details.scanStateChooseIndex)
}
const ShowPwdObj = reactive({
oldPwd: false,
newPwd1: false,
newPwd2: false,
})
const editPwdForm = reactive({
oldPwd: '',
newPwd1: '',
newPwd2: '',
})
/** 显示设置密码弹窗 */
const showEditPwd = () => {
EditPwdPop.value.setDetails({
title: '设置密码',
showPopUp: true,
success() {
console.log('editPwdForm :>> ', editPwdForm);
let _isReturn = false
//
for (let key in editPwdForm) {
if (editPwdForm[key].length < 6) {
_isReturn = true
uni.showToast({
title: '请输入6位以上密码',
icon: 'none'
})
// 退
break
}
}
if (_isReturn) return
//
let { password } = <{ password : string; tenantId : string; username : string }>uni.getStorageSync('loginuser')
if (editPwdForm.oldPwd !== password) {
uni.showToast({
title: '密码与原密码不一致',
icon: 'none'
})
// return
}
//
if (editPwdForm.newPwd1 !== editPwdForm.newPwd2) {
uni.showToast({
title: '确认密码与新密码不一致',
icon: 'none'
})
return
}
}
})
}
/** 处理文本输入 -- 去除收尾空格 */
const handleTrim = (item) => {
editPwdForm[item] = uni.$u.trim(editPwdForm[item].trim(), 'all')
}
/** 是否显示密码 */
const isShowPwd = (item) => {
ShowPwdObj[item] = !ShowPwdObj[item]
}
const { } = toRefs(details)
</script>
@ -110,4 +247,35 @@
display: inline-flex;
}
}
.margin-right-10 {
margin-right: 10upx;
}
//
.EditPwdPop-title {
position: relative;
width: 200upx;
flex: none;
&::after {
right: 20upx;
top: 50%;
transform: translateY(-50%);
position: absolute;
content: '';
display: block;
width: 2upx;
height: 40upx;
background: #000;
}
}
.flex-c-sb {
display: flex;
align-items: center;
margin: 20upx 0 10upx;
border-bottom: 1upx solid #aaa;
padding: 20upx 0 10upx;
}
</style>

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

File diff suppressed because it is too large Load Diff

8
unpackage/dist/dev/app-plus/app.css vendored

@ -788,8 +788,7 @@ body {
display: flex;
align-items: center;
justify-content: center;
width: 8.125rem;
height: 2.75rem;
padding: 0.46875rem 1.5625rem;
border-radius: 0.25rem;
font-size: 1rem;
}
@ -1188,9 +1187,8 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
color: #fff;
}
.container .buttonContainer .closeButton[data-v-385736e8] {
color: var(--subjectColor);
background: #fff;
border: 0.03125rem solid var(--subjectColor);
color: #000;
background: #F5F5F6;
}
/**
* 这里是uni-app内置的常用样式变量

32
unpackage/dist/dev/mp-weixin/api/user.js vendored

@ -1058,6 +1058,34 @@ function postArriveUnloadCarsDetail(data) {
data
});
}
function postCarsLoadUnloadPackage(data) {
return utils_request.service({
url: `logpm-trunkline/api/carsLoad/unloadPackage`,
method: "post",
data
});
}
function postCarsLoadUnloadZero(data) {
return utils_request.service({
url: `logpm-trunkline/api/carsLoad/unloadZero`,
method: "post",
data
});
}
function postFindUnloadTrayGoodsList(data) {
return utils_request.service({
url: `logpm-trunkline/api/carsLoad/findUnloadTrayGoodsList`,
method: "post",
data
});
}
function postUnloadTray(data) {
return utils_request.service({
url: `logpm-trunkline/api/carsLoad/unloadTray`,
method: "post",
data
});
}
exports.$_initRetentionList = $_initRetentionList;
exports.$_retentionScan = $_retentionScan;
exports.$_retentionTrayScan = $_retentionTrayScan;
@ -1127,13 +1155,17 @@ exports.postAbnormalTruckLoading = postAbnormalTruckLoading;
exports.postArriveUnloadCarsDetail = postArriveUnloadCarsDetail;
exports.postArriveUnloadPageList = postArriveUnloadPageList;
exports.postCarsLoadPageList = postCarsLoadPageList;
exports.postCarsLoadUnloadPackage = postCarsLoadUnloadPackage;
exports.postCarsLoadUnloadZero = postCarsLoadUnloadZero;
exports.postFindCarsLoadingDetail = postFindCarsLoadingDetail;
exports.postFindCarsLoadingOrderDetail = postFindCarsLoadingOrderDetail;
exports.postFindUnloadTrayGoodsList = postFindUnloadTrayGoodsList;
exports.postLoadingScan = postLoadingScan;
exports.postLoadingTray = postLoadingTray;
exports.postLoadingTrayInfo = postLoadingTrayInfo;
exports.postLoadingZero = postLoadingZero;
exports.postRemoveCarsLoadScan = postRemoveCarsLoadScan;
exports.postUnloadTray = postUnloadTray;
exports.postWarehouseTaskAddDataInfo = postWarehouseTaskAddDataInfo;
exports.postWarehouseTaskSelectPackageInfo = postWarehouseTaskSelectPackageInfo;
exports.postZeroStockUp = postZeroStockUp;

6
unpackage/dist/dev/mp-weixin/app.json vendored

@ -115,12 +115,6 @@
"selectedIconPath": "/static/TabberIcon/icon2check.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",

31
unpackage/dist/dev/mp-weixin/common/vendor.js vendored

@ -152,6 +152,10 @@ const looseToNumber = (val) => {
const n2 = parseFloat(val);
return isNaN(n2) ? val : n2;
};
const toNumber = (val) => {
const n2 = isString(val) ? Number(val) : NaN;
return isNaN(n2) ? val : n2;
};
const LOCALE_ZH_HANS = "zh-Hans";
const LOCALE_ZH_HANT = "zh-Hant";
const LOCALE_EN = "en";
@ -4188,7 +4192,7 @@ function resolveMergedOptions(instance) {
} else {
resolved = {};
if (globalMixins.length) {
globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
globalMixins.forEach((m2) => mergeOptions(resolved, m2, optionMergeStrategies, true));
}
mergeOptions(resolved, base, optionMergeStrategies);
}
@ -4203,7 +4207,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
mergeOptions(to, extendsOptions, strats, true);
}
if (mixins) {
mixins.forEach((m) => mergeOptions(to, m, strats, true));
mixins.forEach((m2) => mergeOptions(to, m2, strats, true));
}
for (const key in from) {
if (asMixin && key === "expose") {
@ -6128,6 +6132,27 @@ function setRef(ref2, id, opts = {}) {
const { $templateRefs } = getCurrentInstance();
$templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f });
}
function withModelModifiers(fn, { number: number2, trim: trim2 }, isComponent = false) {
if (isComponent) {
return (...args) => {
if (trim2) {
args = args.map((a) => a.trim());
} else if (number2) {
args = args.map(toNumber);
}
return fn(...args);
};
}
return (event) => {
const value = event.detail.value;
if (trim2) {
event.detail.value = value.trim();
} else if (number2) {
event.detail.value = toNumber(value);
}
return fn(event);
};
}
const o = (value, key) => vOn(value, key);
const f = (source, renderItem) => vFor(source, renderItem);
const r = (name, props2, key) => renderSlot(name, props2, key);
@ -6138,6 +6163,7 @@ const n = (value) => normalizeClass(value);
const t = (val) => toDisplayString(val);
const p = (props2) => renderProps(props2);
const sr = (ref2, id, opts) => setRef(ref2, id, opts);
const m = (fn, modifiers, isComponent = false) => withModelModifiers(fn, modifiers, isComponent);
function createApp$1(rootComponent, rootProps = null) {
rootComponent && (rootComponent.mpType = "app");
return createVueApp(rootComponent, rootProps).use(plugin);
@ -11688,6 +11714,7 @@ exports.f = f;
exports.index = index$1;
exports.inject = inject;
exports.isRef = isRef;
exports.m = m;
exports.n = n;
exports.nextTick$1 = nextTick$1;
exports.o = o;

3
unpackage/dist/dev/mp-weixin/compoment/tiplist/tiplist.wxss vendored

@ -122,8 +122,7 @@
display: flex;
align-items: center;
justify-content: center;
width: 260rpx;
height: 88rpx;
padding: 15rpx 50rpx;
border-radius: 8rpx;
font-size: 32rpx;
}

2
unpackage/dist/dev/mp-weixin/config/host.js vendored

@ -1,5 +1,5 @@
"use strict";
const devhost = "http://192.168.10.48:13000/";
const devhost = "https://h5uapi.huitongys.com/";
const imghost = "";
const host = devhost;
const APPKEY = "h5u:h5u_secret";

7
unpackage/dist/dev/mp-weixin/project.config.json vendored

@ -6,7 +6,7 @@
},
"setting": {
"urlCheck": false,
"es6": false,
"es6": true,
"postcss": false,
"minified": true,
"newFeature": true,
@ -17,11 +17,12 @@
"ignore": [],
"disablePlugins": [],
"outputPath": ""
}
},
"enhance": true
},
"compileType": "miniprogram",
"libVersion": "3.1.2",
"appid": "wxedb0d10ea46a0113",
"appid": "wx35c7fb77840097de",
"projectname": "货无忧",
"condition": {
"search": {

3
unpackage/dist/dev/mp-weixin/project.private.config.json vendored

@ -1,7 +1,8 @@
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"setting": {
"compileHotReLoad": true
"compileHotReLoad": true,
"urlCheck": true
},
"condition": {
"miniprogram": {

Loading…
Cancel
Save