Browse Source

'新增签收详情扫描'

master
qb 1 year ago
parent
commit
24c537e709
  1. 14
      api/user.js
  2. 7
      config/host.js
  3. 15
      pages/login/login.vue
  4. 2
      pagesHome/pages/CustomerSign/CustomerSign.vue
  5. 145
      pagesHome/pages/MaterialMaintenance/MaterialMaintenance.vue
  6. 90
      pagesHome/pages/VehicleArrivalDetailsByTray/VehicleArrivalDetailsByTray.vue
  7. 184
      pagesHome/pages/inventoryInquiry/inventoryInquiry.vue
  8. 8
      pagesHome/pages/signOrderScan/signOrderScan.vue
  9. 285
      pagesHome/pages/signPackageScan/signPackageScan.vue
  10. 1627
      unpackage/dist/dev/app-plus/app-service.js
  11. 181
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  12. 17
      unpackage/dist/dev/mp-weixin/pagesHome/pages/CustomerSign/CustomerSign.js
  13. 2
      unpackage/dist/dev/mp-weixin/pagesHome/pages/CustomerSign/CustomerSign.wxml
  14. 10
      unpackage/dist/dev/mp-weixin/pagesHome/pages/signOrderScan/signOrderScan.js
  15. 2
      unpackage/dist/dev/mp-weixin/pagesHome/pages/signOrderScan/signOrderScan.wxml
  16. 7
      unpackage/dist/dev/mp-weixin/project.config.json
  17. 1
      utils/request.js

14
api/user.js

@ -668,6 +668,20 @@ export function signforsignforcontinue(data, loadingObj = {}) {
loadingObj
);
}
/**
* 签收定制品详情
* @param {Object} data
*/
export function signforSigningPackageDetail(data, loadingObj = {}) {
return request({
url: `logpm-distribution/app/signfor/signingPackageDetail`,
method: "get",
data
},
loadingObj
);
}
/**
* 司机确认签收
* @param {Object} data

7
config/host.js

@ -12,7 +12,7 @@ const devhost = 'http://test.api.huo5you.com/'
// tjj
// const devhost = 'http://192.168.10.25:13000/'
// cyz
// const devhost = 'http://192.168.6.163:9777/'
// const devhost = 'http://192.168.6.169:9777/'
// const devhost = 'http://192.168.6.141:8777/'
// cg
// const devhost = 'http://192.168.10.57:13000/'
@ -23,8 +23,9 @@ const devhost = 'http://test.api.huo5you.com/'
/**
* 正式域名
* */
const prohost = 'http://h5uapi.huitongys.com/'
// const prohost = 'http://test.api.huo5you.com/'
// const prohost = 'http://h5uapi.huitongys.com/'
// const prohost = 'https://h5uapi.huitongys.com/' // 小程序
const prohost = 'http://test.api.huo5you.com/'
/**
* 图片域名
* */

15
pages/login/login.vue

@ -187,6 +187,21 @@
title: '登录中'
})
let response = await oauthtoken(data)
// // #ifdef MP-WEIXIN
// const { role_id } = response
// const loginReg = /1712375201964077058/
// if (!loginReg.test(role_id)) {
// uni.showToast({
// title: ', ',
// icon: 'none'
// })
// return
// }
// // #endif
/** 验证是否为司机 */
console.log(response);
if (response?.refresh_token) {
setloctuser(response)

2
pagesHome/pages/CustomerSign/CustomerSign.vue

@ -81,7 +81,7 @@
</view>
<view class="buts">
<view @click="handleSigin(item)">确认签收</view>
<!-- <view @click="handleSigin(item)">确认签收</view> -->
<view @click="gosetorice(item)" class="mabut">
设置增值服务

145
pagesHome/pages/MaterialMaintenance/MaterialMaintenance.vue

@ -44,77 +44,88 @@
</view>
</view>
<!-- 数据详情 -->
<view class="dataInfo">
<view class="dataInfo__item">
<text class="label ">物料编码:</text>
<text>
{{pageInfo.productCode|| '暂无数据'}}
</text>
</view>
<template v-if="pageInfo.productCode">
<!-- 数据详情 -->
<view class="dataInfo">
<view class="dataInfo__item">
<text class="label ">物料编码:</text>
<text>
{{pageInfo.productCode|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">物料名称:</text>
<text>
{{pageInfo.name|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">物料名称:</text>
<text>
{{pageInfo.name|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">单位:</text>
<text>
{{pageInfo.logpmUnit || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">单位:</text>
<text>
{{pageInfo.logpmUnit || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">规格:</text>
<text>
{{pageInfo.packingSpecification || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">规格:</text>
<text>
{{pageInfo.packingSpecification || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">长度:</text>
<text>
{{pageInfo.extent|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">长度:</text>
<text>
{{pageInfo.extent|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">宽度:</text>
<text>
{{pageInfo.breadth|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">宽度:</text>
<text>
{{pageInfo.breadth|| '暂无数据'}}
</text>
<view class="dataInfo__item">
<text class="label ">高度:</text>
<text>
{{pageInfo.altitude|| '暂无数据'}}
</text>
</view>
</view>
</template>
<view class="dataInfo__item">
<text class="label ">高度:</text>
<text>
{{pageInfo.altitude|| '暂无数据'}}
</text>
<template v-else>
<view style="text-align: center; position: fixed; top: 50%; left: 50%; transform: translateX(-50%);">
暂无数据
</view>
</view>
</template>
</template>
<template #body>
<view class="orderInfo" :style="{height:tableHeight}" @touchmove.stop>
<!-- 循环显示图片 -->
<block v-for="(value,index) in imgList">
<view class="imgList">
<image class="imageList_item" :src="value" @click="handleShowImage(value)"></image>
<image class="imageList_item removeImg" @click="remove(index)"
src="/compoment/cus-selects-fan/cha.png">
</image>
</view>
</block>
<view @click="updateimg" class="imgList">
<view class="imageList_item flex-c-c">
<u-icon name="plus-circle-fill" color="#d3832a" size="60"></u-icon>
<template v-if="pageInfo.productCode">
<view class="orderInfo" :style="{height:tableHeight}" @touchmove.stop>
<!-- 循环显示图片 -->
<block v-for="(value,index) in imgList">
<view class="imgList">
<image class="imageList_item" :src="value" @click="handleShowImage(value)"></image>
<image class="imageList_item removeImg" @click="remove(index)"
src="/compoment/cus-selects-fan/cha.png">
</image>
</view>
</block>
<view @click="updateimg" class="imgList">
<view class="imageList_item flex-c-c">
<u-icon name="plus-circle-fill" color="#d3832a" size="60"></u-icon>
</view>
</view>
</view>
</template>
</view>
<!-- 微信小程序适配 -- 扫码按钮 -->
<view class="scanButton">
/* #ifdef MP-WEIXIN */
@ -252,8 +263,8 @@
})
// #endif
await nextTick()
tableHeight.value = await utils.getViewDistanceFormTop('.orderInfo')
// await nextTick()
// tableHeight.value = await utils.getViewDistanceFormTop('.orderInfo')
})
/** 搜索物料编码 || 物料名称 */
@ -269,6 +280,9 @@
/** 扫描后执行的回调 */
async function scandata() {
try {
pageInfo.value = {}
imgList.value = []
searchLoading.value = true
isShowSearchList.value = true
@ -323,6 +337,7 @@
success(res) {
console.log('res :>> ', res);
console.log('res.result :>> ', res.result);
searchText.value = res.result
scancode.value = res.result
scandata()
}
@ -420,11 +435,15 @@
flex: 1;
.clearIcon {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 52%;
transform: translateY(-50%);
right: 8%;
z-index: 10;
bottom: 0;
right: 20upx;
z-index: 99;
height: 100%;
width: 80upx;
}
//

90
pagesHome/pages/VehicleArrivalDetailsByTray/VehicleArrivalDetailsByTray.vue

@ -224,6 +224,16 @@
</view>
</scroll-view>
</PopUp>
<!-- 选择打托方式 -->
<scroll-view v-if="details.isShowType" class="chooseTray-container" scroll-y="true">
<block v-for="item in details.scansortingType" :key="item.name">
<view class="items" @click="handleChooseType(item)">
<image :src="item.src"></image>
<view>{{item.name}}</view>
</view>
</block>
</scroll-view>
<!-- #ifdef APP -->
<saomiao2 :ishidestop="scanState !== 0"></saomiao2>
<!-- #endif -->
@ -294,7 +304,19 @@
/** 托盘信息 */
trayInfo: {
trayCode: ''
}
},
/** 打托方式类型 */
scansortingType: [
{ type: 1, name: '服务号', src: '/pagesHome/static/scicon1.png' },
{ type: 2, name: '订单自编码', src: '/pagesHome/static/scicon2.png' },
{ type: 3, name: '商场', src: '/pagesHome/static/scicon3.png' },
{ type: 4, name: '客户', src: '/pagesHome/static/scicon4.png' },
{ type: 5, name: '仓库', src: '/pagesHome/static/scicon5.png' },
{ type: 6, name: '门店', src: '/pagesHome/static/scicon6.png' },
{ type: 7, name: '其他', src: '/pagesHome/static/scicon7.png' },
],
/** 是否显示打托方式 */
isShowType: false,
})
@ -306,6 +328,8 @@
const ZeroStowage = ref()
/** 定制品异常装车 */
const OrderStowage = ref()
/** 选择打托方式 */
const chooseTary = ref()
const jpScorllView = ref()
@ -313,14 +337,8 @@
details.loadId = op.id
details.pageType = op.type
option.title = Number(op.type) === 2 ? '配载整托卸车' : '配载按件卸车'
let content = ''
if (Number(details.pageType) === 1) content = '请扫描包件码'
else if (Number(details.pageType) === 2) content = '请扫描托盘码'
// #ifdef APP
utils.ttsspke(content)
utils.ttsspke('请先扫描托盘码')
// #endif
})
@ -346,10 +364,8 @@
await nextTick()
//
// const timer = setTimeout(() => {
basicContainer.value.startPullDownRefresh()
// clearTimeout(timer)
// }, 10)
// chooseTary.value.details.showPopUp = true
})
onMounted(async () => {
@ -359,20 +375,6 @@
console.log('jpScorllView :>> ', jpScorllView.value.clientHeight);
details.jpScorllViewHeight = await utils.getViewDistanceFormTop('.jpScorllView')
// uni.getSystemInfo({
// success: resu => {
// const query = uni.createSelectorQuery();
// // swiper
// query.select('.jpScorllView').boundingClientRect();
// query.exec(res => {
// // swiperswiperHeight
// details.jpScorllViewHeight = resu.windowHeight - res[0].top + 'px';
// console.log('', details.jpScorllViewHeight);
// });
// },
// fail: res => { }
// });
})
function showsdqs() {
@ -695,6 +697,9 @@
handleZeroSoleStowage(_item, _value)
}
/** 选择打托方式 */
const handleChooseType = () => { }
const { orderStatus, items, datalist } = toRefs(details)
</script>
@ -978,7 +983,38 @@
margin-left: 10upx;
}
.h100 {
height: 40vh;
.chooseTray-container {
height: 100vh;
width: 100vw;
background: #fff;
position: absolute;
top: 0;
z-index: 99;
.items {
width: 292upx;
height: 260upx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
border-radius: 20upx;
background-color: #ffffff;
color: #020B18;
font-size: 28upx;
margin: auto;
margin-bottom: 40upx;
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 0, 0, 0.1);
&:nth-last-child(1) {
margin-bottom: 0;
}
>image {
width: 160upx;
height: 160upx;
margin-bottom: 10upx;
}
}
}
</style>

184
pagesHome/pages/inventoryInquiry/inventoryInquiry.vue

@ -44,100 +44,116 @@
</view>
<!-- 数据详情 -->
<view class="dataInfo">
<view class="dataInfo__item">
<text class="label ">物料编码:</text>
<text>
{{pageInfo.productCode|| '暂无数据'}}
</text>
</view>
<template v-if="pageInfo.productCode">
<!-- 数据详情 -->
<view class="dataInfo">
<view class="dataInfo__item">
<text class="label ">物料编码:</text>
<text>
{{pageInfo.productCode|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">物料名称:</text>
<text>
{{pageInfo.name|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">物料名称:</text>
<text>
{{pageInfo.name|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">单位:</text>
<text>
{{pageInfo.logpmUnit || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">单位:</text>
<text>
{{pageInfo.logpmUnit || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">规格:</text>
<text>
{{pageInfo.packingSpecification || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">规格:</text>
<text>
{{pageInfo.packingSpecification || '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">长度:</text>
<text>
{{pageInfo.extent|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">长度:</text>
<text>
{{pageInfo.extent|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">宽度:</text>
<text>
{{pageInfo.breadth|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">宽度:</text>
<text>
{{pageInfo.breadth|| '暂无数据'}}
</text>
</view>
<view class="dataInfo__item">
<text class="label ">高度:</text>
<text>
{{pageInfo.altitude|| '暂无数据'}}
</text>
<view class="dataInfo__item">
<text class="label ">高度:</text>
<text>
{{pageInfo.altitude|| '暂无数据'}}
</text>
</view>
</view>
</view>
</template>
<template v-else>
<view style="
text-align: center;
position: fixed;
top: 50%; left: 50%;
transform: translateX(-50%);">
暂无数据
</view>
</template>
</template>
<template #body>
<view class="orderInfo" :style="{height:tableHeight}" @touchmove.stop>
<!-- 库存品 -->
<view class="packagesList">
<view class="table_row table_row_title">
<view class="">
库位
</view>
<template v-if="pageInfo.productCode">
<view class="orderInfo" :style="{height:tableHeight}" @touchmove.stop>
<!-- 库存品 -->
<view class="packagesList">
<view class="table_row table_row_title">
<view class="">
库位
</view>
<view class="">
托盘名称
</view>
<view class="">
托盘名称
</view>
<view class="">
数量
<view class="">
数量
</view>
</view>
</view>
<template v-if="stockList.length > 0">
<block v-for="(item, index) in stockList" :key="index">
<view class="table_row ">
<view class="">
{{item.allocation || '暂无数据'}}
</view>
<template v-if="stockList.length > 0">
<block v-for="(item, index) in stockList" :key="index">
<view class="table_row ">
<view class="">
{{item.allocation || '暂无数据'}}
</view>
<view class="">
{{item.trayName || '暂无数据'}}
</view>
<view class="">
{{item.trayName || '暂无数据'}}
</view>
<view class="">
{{item.num || '暂无数据'}}
<view class="">
{{item.num || '暂无数据'}}
</view>
</view>
</view>
</block>
</template>
</block>
</template>
<template v-else>
<view style="text-align: center;">暂无数据</view>
</template>
<template v-else>
<view style="text-align: center;">暂无数据</view>
</template>
</view>
</view>
</view>
</template>
<!-- 微信小程序适配 -- 扫码按钮 -->
/* #ifdef MP-WEIXIN */
<view class="scanButton" @click="handleScan">扫码</view>
@ -257,8 +273,8 @@
})
// #endif
await nextTick()
tableHeight.value = await utils.getViewDistanceFormTop('.orderInfo')
// await nextTick()
// tableHeight.value = await utils.getViewDistanceFormTop('.orderInfo')
})
/** 搜索物料编码 || 物料名称 */
@ -288,6 +304,9 @@
/** 扫描后执行的回调 */
async function scandata() {
try {
pageInfo.value = {}
stockList.value = []
searchLoading.value = true
isShowSearchList.value = true
@ -346,6 +365,7 @@
success(res) {
console.log('res :>> ', res);
console.log('res.result :>> ', res.result);
searchText.value = res.result
scancode.value = res.result
scandata()
}
@ -388,11 +408,15 @@
flex: 1;
.clearIcon {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 52%;
transform: translateY(-50%);
right: 8%;
z-index: 10;
bottom: 0;
right: 20upx;
z-index: 99;
height: 100%;
width: 80upx;
}
//

8
pagesHome/pages/signOrderScan/signOrderScan.vue

@ -103,12 +103,6 @@
</uni-table>
<!-- <view v-for="ite in item.distributionAppParcelListVOS">
<view>包条码{{ite.orderPackageCode}}</view>
<view>货物品类{{ite.thirdProduct}}</view>
<view>扫描状态{{ite.orderPackageStatus === '70'?'已扫':'未扫'}}</view>
</view> -->
</view>
<view :class="item.signforNub==0?'tip tp2':item.signforNub==item.reservationNum?'tip tp1':'tip tp3'">
{{item.signforNub==0?'未扫':item.signforNub==item.reservationNum?'齐套':'部分扫'}}
@ -190,8 +184,6 @@
import {
onLoad,
onShow,
onHide,
onUnload,
onPullDownRefresh
} from '@dcloudio/uni-app'
import cusSelects from '@/compoment/cus-selects-fan/cus-selects-fan.vue'

285
pagesHome/pages/signPackageScan/signPackageScan.vue

@ -12,23 +12,26 @@
</view>
<view class="tps">
<view>
<view>计划件</view>
<view>{{details.Plannednub}}</view>
<view>包件总</view>
<view>{{details.datalist.length}}</view>
</view>
<view>
<view>配送件数</view>
<view>{{items.reservationNum}}</view>
<view>已签包件</view>
<view>{{details.signNub}}</view>
</view>
<view>
<view>签收件数</view>
<view>{{details.signNub}}</view>
<view>未签包件</view>
<view>{{details.noSingnNum}}</view>
</view>
</view>
</view>
</template>
<template #body>
<view class="main" @touchmove.stop>
<scroll-view class="main" @touchmove.stop :style="{height: details.scrollHeight}" :scroll-y="true"
:scroll-x="true">
<!-- 表格表头 -->
<view class="main_row main_title">
<view class="">
@ -36,7 +39,11 @@
</view>
<view class="">
品类
订单号
</view>
<view class="">
类型
</view>
<view class="">
@ -50,27 +57,31 @@
<view :style="{height: details.jpScorllViewHeight}" code="id" class="jpScorllView">
<block v-for="item in datalist" :key="item.orderCode">
<view
:class="{'main_row': true, 'red': item.orderPackageStatus !== '70', 'green': item.orderPackageStatus === '70'}">
<view :class="{'main_row': true, 'red': item.isSignfor === 0, 'green': item.isSignfor === 1}">
<view class="">
{{item.type === 1? item.orderPackageCode: item.orderPackageCode || '未备货'}}
</view>
<view class="">
{{item.orderPackageCode}}
{{item.orderCode || '暂无数据'}}
</view>
<view class="">
{{item.typeName || '库存品'}}
{{item.type === 1 ? '定制品' : '库存品'}}
</view>
<view class="">
{{item.orderPackageStatus === '70'?'已签':'未签'}}
{{item.isSignfor === 1?'已签':'未签'}}
</view>
<view :class="{'red': item.isAbnnormalSigningName ||item.isAbnormalLoadingName}">
{{item.isAbnnormalSigningName ||item.isAbnormalLoadingName|| '/'}}
<view :class="{'red': item.isAbnormal === 1}">
{{item.isAbnormal === 1 ? '异常' : '/'}}
</view>
</view>
</block>
</view>
</view>
</scroll-view>
</template>
</BasicContainer>
@ -88,11 +99,11 @@
signforsignfor,
signforsignforIn,
signforsignforcontinue,
signforSigningPackageDetail
} 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';
@ -144,9 +155,13 @@
jpScorllViewHeight: '',
/** 签收数 */
signNub: 0,
/** 未签数 */
noSingnNum: 0
})
//
const tiplists = ref(null)
const tip = ref(null)
const basicContainer = ref()
const ordNub = computed(() => {
let num = 0
@ -168,74 +183,23 @@
})
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]
// #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
computedNum()
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
await nextTick()
uni.hideLoading()
}
await nextTick()
basicContainer.value.startPullDownRefresh()
})
// onHide(() => {
@ -255,33 +219,46 @@
}
/** 计算数据 */
function computedNum() {
const _arr = [...details.orderArr, ...details.stockArr]
details.Plannednub = 0
function computedNum(orderPackageCode) {
details.signNub = 0
details.noSingnNum = 0
const _arr = [...details.datalist]
// , ,
const _signArr = []
const _noSignArr = []
//
let _value : any
for (let item of _arr) {
details.Plannednub += item.reservationNum
details.signNub += item.signforNub
if (!_value && item.orderPackageCode === orderPackageCode) _value = item
if (item.isSignfor === 1) {
details.signNub++
if (item !== _value) _signArr.push(item)
}
else {
details.noSingnNum++
if (item !== _value) _noSignArr.push(item)
}
}
}
//
onPullDownRefresh(async () => {
await initpage()
//
uni.stopPullDownRefresh()
details.datalist = _value ? [_value, ..._noSignArr, ..._signArr] : [..._noSignArr, ..._signArr]
}
})
async function scandata() {
let data = {
barcode: details.scancode,
deliveryId: details.deliveryId,
reservationId: details.id,
}
const _item = details.datalist.find(val => val.orderPackageCode === details.scancode)
//
if (Number(details.orderStatus) == 1) {
if (!_item || _item.type === 1) {
let response = await signforsignfor(data)
console.log(response);
if (response.code === 200) {
@ -310,7 +287,7 @@
title: response.msg,
icon: 'none'
})
initpage()
initpage(details.scancode)
tip.value.setdetails({ isshow: false })
},
cancel: () => {
@ -328,8 +305,8 @@
icon: 'none'
})
}
} else if (Number(details.orderStatus) === 3) {
// data.barcode="23072405915-2"
} else {
//
let response = await signforsignforIn(data)
console.log(response);
if (response.code == 3006) {
@ -349,7 +326,7 @@
title: response.msg,
icon: 'none'
})
initpage()
initpage(details.scancode)
tip.value.setdetails({ isshow: false })
},
cancel: () => {
@ -367,7 +344,7 @@
})
}
}
initpage()
initpage(details.scancode)
}
function showsdqs() {
@ -391,72 +368,33 @@
})
}
async function initpage() {
async function initpage(scancode = '') {
uni.showLoading({
mask: true
})
try {
details.listcheckindex = -1
//
let data = {
reservationId: details.id,
completecode: details.orderType,
orderCode: details.inputtxt,
reservationId: details.items.id,
}
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
const res = await signforSigningPackageDetail(data)
details.datalist = res.data
} catch (err) {
console.log('err :>> ', err);
//TODO handle the exception
} finally {
computedNum()
console.log('222 :>> ', 222);
computedNum(scancode)
uni.hideLoading()
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)
const { datalist, items } = toRefs(details)
</script>
<style lang="scss" scoped>
@ -483,6 +421,7 @@
font-weight: 400;
color: #092C4D;
margin-bottom: 20upx;
word-break: break-all;
>.khxb {
display: flex;
@ -509,45 +448,33 @@
&:nth-of-type(1) {
>view:nth-of-type(2) {
color: #092C4D;
font-size: 1.2rem;
}
}
&:nth-of-type(2) {
>view:nth-of-type(2) {
color: #0086F1;
color: #0a0;
font-size: 1.2rem;
}
}
&:nth-of-type(3) {
>view:nth-of-type(2) {
color: #3AD8BC;
}
}
&:nth-of-type(4) {
>view:nth-of-type(2) {
color: #FA8C16;
color: #ff5500;
font-size: 1.2rem;
}
}
>view:nth-of-type(2) {
font-size: 36upx;
font-weight: 400;
margin-top: 10upx;
}
}
}
}
//
.main {
overflow: scroll;
position: relative;
background: #fff;
}
.main_title {
// position: absolute;
width: 100%;
>view {
@ -572,25 +499,17 @@
word-break: break-all;
text-align: center;
border-bottom: 1upx dashed #999;
width: 240upx;
flex: none;
&:nth-child(1) {
width: 240upx;
flex: none;
}
&:nth-child(2) {
&:nth-child(3) {
width: 120upx;
flex: none;
}
&:nth-child(3) {
width: 240upx;
flex: none;
}
&:last-child {
&:nth-child(4) {
width: 240upx;
flex: none;
&.red {
background-color: #ff5500;

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

File diff suppressed because it is too large Load Diff

181
unpackage/dist/dev/mp-weixin/pages/index/index.js vendored

@ -26,186 +26,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
const { HANDLE_GETSTORAGEINFO } = storageStore;
const { storageArr } = common_vendor.storeToRefs(storageStore);
const tip = common_vendor.ref(null);
let details = common_vendor.reactive({
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"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "库存品查询",
router: "/pagesHome/pages/inventoryInquiry/inventoryInquiry"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "物料维护",
router: "/pagesHome/pages/MaterialMaintenance/MaterialMaintenance"
}
]
},
{
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"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "直发商家签收",
router: "/pagesHome/pages/directGoMarket/directGoMarket"
}
]
},
{
type: 1,
name: "离线上传",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "离线上传",
router: "/pagesHome/pages/OfflineUpload/OfflineUpload"
}
]
}
]
});
let details = common_vendor.reactive({ tablist: [] });
function gopathpage(path) {
common_vendor.index.navigateTo({
url: path

17
unpackage/dist/dev/mp-weixin/pagesHome/pages/CustomerSign/CustomerSign.js vendored

@ -248,18 +248,6 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}
});
}
const handleSigin = async (item) => {
let data = {
deliveryId: details.id,
reservationId: item.id,
map: {},
driverRemarks: ""
};
const res = await api_user.signforsignforack(data);
if (res.code !== 200)
return;
initpage();
};
async function allclick(item) {
tiplists.value.setdetails({
isshow: true,
@ -390,10 +378,9 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
m: common_vendor.o(($event) => getLocation(item)),
n: common_vendor.o(($event) => gosinorderscan(item)),
o: common_vendor.o(($event) => uplodimg(item)),
p: common_vendor.o(($event) => handleSigin(item)),
q: common_vendor.o(($event) => gosetorice(item))
p: common_vendor.o(($event) => gosetorice(item))
}, common_vendor.unref(authbuts).findIndex((val) => val.code === "127") != -1 ? {
r: common_vendor.o(($event) => allclick(item))
q: common_vendor.o(($event) => allclick(item))
} : {});
}),
n: common_vendor.unref(authbuts).findIndex((val) => val.code === "127") != -1,

2
unpackage/dist/dev/mp-weixin/pagesHome/pages/CustomerSign/CustomerSign.wxml vendored

@ -1 +1 @@
<u-navbar wx:if="{{a}}" u-i="1f112ba4-0" bind:__l="__l" u-p="{{a}}"></u-navbar><view class="hedtopt"><view class="typto"><view>配车类型:{{b}}</view><view>配车状态:{{c}}</view></view><view class="typto"><view>车牌号:{{d}}</view><view>司机:{{e}}</view></view><view class="typto"><view>装卸班组:{{f}}</view><view>备货是否完成:{{g}}</view></view><view class="kehupeison"><view><view>配送客户数</view><view>{{h}}</view></view><view><view>订单总数</view><view>{{i}}</view></view><view><view>计划件数</view><view>{{j}}</view></view><view><view>装车数量</view><view>{{k}}</view></view><view><view>签收件数</view><view>{{l}}</view></view></view></view><scroll-view scroll-y="true" class="scvbx"><view class="mabx"><view wx:for="{{m}}" wx:for-item="item" class="its"><view class="title"><view style="{{item.c}}">客户:{{item.a}} {{item.b}}</view><view class="statetype">{{item.d}}</view></view><view class="conxb"><view><view>订单总数</view><view>{{item.e}}</view></view><view><view>计划件数</view><view>{{item.f}}</view></view><view><view>扫描件数</view><view>{{item.g}}</view></view></view><view class="info"><view class=""> 客户电话: {{item.h}}</view><view class=""> 客户地址: {{item.i}}</view></view><view class="remarks"> 备注:{{item.j}}</view><view class="tbck"><view class="buts"><view class="{{item.l}}" bindtap="{{item.m}}">{{item.k}}</view><view bindtap="{{item.n}}">签收扫描</view><view bindtap="{{item.o}}">上传签收图片</view></view><view class="buts"><view bindtap="{{item.p}}">确认签收</view><view bindtap="{{item.q}}" class="mabut"> 设置增值服务 </view><view wx:if="{{n}}" class="mabut" bindtap="{{item.r}}"> 批量签收 </view></view></view></view></view></scroll-view><tiplist class="r" u-r="tiplists" u-i="1f112ba4-1" bind:__l="__l"></tiplist>
<u-navbar wx:if="{{a}}" u-i="1f112ba4-0" bind:__l="__l" u-p="{{a}}"></u-navbar><view class="hedtopt"><view class="typto"><view>配车类型:{{b}}</view><view>配车状态:{{c}}</view></view><view class="typto"><view>车牌号:{{d}}</view><view>司机:{{e}}</view></view><view class="typto"><view>装卸班组:{{f}}</view><view>备货是否完成:{{g}}</view></view><view class="kehupeison"><view><view>配送客户数</view><view>{{h}}</view></view><view><view>订单总数</view><view>{{i}}</view></view><view><view>计划件数</view><view>{{j}}</view></view><view><view>装车数量</view><view>{{k}}</view></view><view><view>签收件数</view><view>{{l}}</view></view></view></view><scroll-view scroll-y="true" class="scvbx"><view class="mabx"><view wx:for="{{m}}" wx:for-item="item" class="its"><view class="title"><view style="{{item.c}}">客户:{{item.a}} {{item.b}}</view><view class="statetype">{{item.d}}</view></view><view class="conxb"><view><view>订单总数</view><view>{{item.e}}</view></view><view><view>计划件数</view><view>{{item.f}}</view></view><view><view>扫描件数</view><view>{{item.g}}</view></view></view><view class="info"><view class=""> 客户电话: {{item.h}}</view><view class=""> 客户地址: {{item.i}}</view></view><view class="remarks"> 备注:{{item.j}}</view><view class="tbck"><view class="buts"><view class="{{item.l}}" bindtap="{{item.m}}">{{item.k}}</view><view bindtap="{{item.n}}">签收扫描</view><view bindtap="{{item.o}}">上传签收图片</view></view><view class="buts"><view bindtap="{{item.p}}" class="mabut"> 设置增值服务 </view><view wx:if="{{n}}" class="mabut" bindtap="{{item.q}}"> 批量签收 </view></view></view></view></view></scroll-view><tiplist class="r" u-r="tiplists" u-i="1f112ba4-1" bind:__l="__l"></tiplist>

10
unpackage/dist/dev/mp-weixin/pagesHome/pages/signOrderScan/signOrderScan.js vendored

@ -140,11 +140,6 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
url: "/pagesHome/pages/orderDetails/orderDetails?orderCode=" + item.orderCode
});
}
const handlePackageScan = () => {
common_vendor.index.navigateTo({
url: "/pagesHome/pages/signPackageScan/signPackageScan?item=" + JSON.stringify(details.items) + "&deliveryId=" + details.deliveryId
});
};
function computedNum() {
const _arr = [...details.orderArr, ...details.zeroArr, ...details.stockArr];
details.Plannednub = 0;
@ -551,11 +546,10 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
z: common_vendor.o(() => {
}),
A: common_vendor.unref(details).scrollHeight,
B: common_vendor.o(handlePackageScan),
C: common_vendor.sr(tip, "fb393026-13", {
B: common_vendor.sr(tip, "fb393026-13", {
"k": "tip"
}),
D: common_vendor.sr(tiplists, "fb393026-14", {
C: common_vendor.sr(tiplists, "fb393026-14", {
"k": "tiplists"
})
};

2
unpackage/dist/dev/mp-weixin/pagesHome/pages/signOrderScan/signOrderScan.wxml vendored

File diff suppressed because one or more lines are too long

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

@ -13,16 +13,17 @@
"bigPackageSizeSupport": true,
"ignoreDevUnusedFiles": false,
"lazyCodeLoading": "requiredComponents",
"enhance": true,
"packNpmRelationList": [],
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"enhance": true
}
},
"compileType": "miniprogram",
"libVersion": "3.1.2",
"appid": "wxedb0d10ea46a0113",
"appid": "wx35c7fb77840097de",
"projectname": "货无忧",
"condition": {
"search": {

1
utils/request.js

@ -268,6 +268,7 @@ const HandleRequest = (params, key, loadingObj) => {
utils.ttsspke('请检查是否连接到无线网络')
// #endif
}).finally(async res => {
console.log('res-finally :>> ', res);
await nextTick()
if (loadingObj.isShowLoading !== false) uni.hideLoading()
})

Loading…
Cancel
Save