剩余模块:生产退料

This commit is contained in:
刘晓鹏 2025-06-09 22:07:10 +08:00
parent 63a44af1d8
commit 03e22dd9f6
77 changed files with 2832 additions and 817 deletions

16
App.vue
View File

@ -1,7 +1,5 @@
<script>
import {
useI18n
} from 'vue-i18n'
import { useI18n } from 'vue-i18n'
import {
getAppVersion
} from './common/request/api/api'
@ -37,10 +35,7 @@
//
console.log('App Show')
const getI18n = useI18n()
const {
t,
locale
} = getI18n
const { t, locale } = getI18n
if (!uni.getStorageSync('locale')) {
locale.value = 'en'
uni.setStorageSync('locale', locale.value)
@ -55,10 +50,10 @@
url: '/pages/client/account/login',
})
}
const appVersion = '0.0.1' //
const appTaiGuoVersion = '0.0.1' //
const appVersion = '0.1.5' //
const appTaiGuoVersion = '0.1.5' //
// #ifdef APP-NVUE
//
getAppVersion().then(res => {
console.log(res);
@ -99,7 +94,6 @@
}
})
// #endif
},
onHide: function() {
console.log('App Hide')

View File

@ -114,4 +114,10 @@ export const accountSearchOrg = (data: object) => requst('/api/Account/SearchOrg
export const getAppVersion = () => requst('https://maxcess.gatedge.cn:91/api/Admin/GlobalSwitch/GetAppVersion?key=A9E45EED-E6F2-4276-8554-AF3055CA0512', 'get', {});
//条码主档
export const UHIK_BD_BarCodeMainFileView = (data: object) => requst('/api/UHIK_BD_BarCodeMainFile/View', 'get', {...data});
export const UHIK_BD_BarCodeMainFileView = (data: object) => requst('/api/UHIK_BD_BarCodeMainFile/View', 'get', {...data});
//生产退料验证
export const PRD_ReturnMtrlList = (data: object) => requst('/api/PRD_ReturnMtrl/List', 'get', {...data});
export const PRD_ReturnMtrlView = (data: object) => requst('/api/PRD_ReturnMtrl/View', 'get', {...data});
export const PRD_ReturnMtrlScanData = (data: object) => requst('/api/PRD_ReturnMtrl/ScanData', 'get', {...data});
export const PRD_ReturnMtrlCheck = (data: object) => requst('/api/PRD_ReturnMtrl/Check', 'post', {...data});

View File

@ -1,6 +1,6 @@
import env from './env';
// import uniChat from "./uniChat";
export default function requst(url : string, type : string, params : any, header : object = {}, noMsg:boolean = true) {
export default function requst(url : string, type : string, params : any, header : object = {}, noMsg : boolean = true) {
// #ifndef APP-PLUS
uni.showLoading({
mask: true
@ -9,61 +9,60 @@ export default function requst(url : string, type : string, params : any, header
// #ifdef APP-PLUS
plus.nativeUI.showWaiting();
// #endif
console.log('检查URL' + env.API_URL + url,)
console.log('检查TOKEN' + 'Bearer '+ uni.getStorageSync('TOKEN'),)
console.log(params);
// console.log('检查URL' + env.API_URL + url,)
// console.log('检查TOKEN' + 'Bearer '+ uni.getStorageSync('TOKEN'),)
console.log('检查请求体', params);
var apiHeader = ''
var headerObj = {}
if(url.indexOf('http') !== -1){
if (url.indexOf('http') !== -1) {
apiHeader = url
headerObj = {}
} else {
apiHeader = env.API_URL + url
headerObj = {
Authorization: 'Bearer '+ uni.getStorageSync('TOKEN') || ''
Authorization: 'Bearer ' + uni.getStorageSync('TOKEN') || ''
}
}
console.log(apiHeader);
// console.log(apiHeader);
return new Promise((resolve, reject) => {
uni.request({
url: apiHeader,
method: type,
data: params,
sslVerify:false,
sslVerify: false,
header: {
...headerObj
},
timeout: 5000,
success(result : any) {
console.log(result);
console.log('检查返回', result);
let res = result.data;
if (res.code === 200) {
resolve(res);
} else if (res.code == 401) {
// #ifdef APP-PLUS
plus.nativeUI.toast('登录状态失效,请重新登录');
// #endif
uni.showToast({
icon: 'none',
mask: true,
title: '登录状态失效,请重新登录',
duration: 2500,
})
// uni.removeStorageSync('TOKEN')
// uni.removeStorageSync('userInfo');
// uni.clearStorage();
// tools.jumpTo('/pages/client/account/login', {}, 0)
resolve(res)
} else {
if(!noMsg){
setTimeout(() => {
uni.showToast({
icon: 'none',
mask: true,
title: res.msg
})
// if (!noMsg) {
// setTimeout(() => {
// uni.showToast({
// icon: 'none',
// mask: true,
// title: res.msg
// })
// })
// }
console.log(res.msg,'========================================================');
setTimeout(() => {
uni.showToast({
title: res.msg,
icon: 'none',
mask: false,
duration:5000,
success: function () {
console.log('成功显示');
}
})
}
},1000)
uni.$u.toast(res.msg)
resolve(res)
}
},

View File

@ -13,8 +13,8 @@
<tki-qrcode cid="qrcode" ref="qrcode" :val="state.inputText" :size="170" unit="upx" :loadMake="true"
:usingComponents="true" />
<view class="codeBoxText">
<view>单据{{ props.dataType }}</view>
<view>编码</view>
<view>{{ t('receive.djbh1') }}{{ props.dataType }}</view>
<view>{{ t('receive.code') }}</view>
<view class="container chinese-text">{{ state.inputText }}</view>
</view>
</view>
@ -53,6 +53,10 @@
})
watch(()=> props.fence,(val1,val2) => {
console.log(val1,val2);
if (props.fence.filter((item : any) => item).length !== 0) {
state.inputText = ''
state.show = true
}
})
const state = reactive({
inputText: '',
@ -70,7 +74,7 @@
const confirmfun = (e : any) => {
emits('inputConfirm', e)
}
const closeFun = (time : number = 2000) => {
const closeFun = (time : number = 4000) => {
setTimeout(() => {
state.inputText = ''
state.show = true

View File

@ -38,7 +38,7 @@
</view>
<view class="input-box" v-if="screeningTypes('quantityStr')">
<view class="input-item">
<up-input :placeholder="t('public.qsrsl')" border="none" clearable inputAlign="right"
<up-input :placeholder="t('public.qsrsl')" border="none" clearable inputAlign="right" :disabled="props.qtyState"
v-model="state.scanFrame.quantityStr" @change="quantityStrChangeFun">
<template #prefix>
<view class="item-title">{{ t('public.qty') }}</view>
@ -84,6 +84,12 @@
default: () => {
return ['warehouseStr', 'locationStr', 'articlesStr', 'quantityStr', 'batchNumberStr']
}
},
qtyState: {
type: Boolean,
default: () => {
return false
}
}
})
const state = reactive({
@ -126,7 +132,7 @@
state.componentsData = obj
state.scanFrame.warehouseStr = obj.warehouseStr
state.scanFrame.locationStr = obj.locationStr
state.scanFrame.quantityStr = obj.quantityStr
state.scanFrame.quantityStr = props.qtyState ? 1 : obj.quantityStr
state.scanFrame.batchNumberStr = obj.batchNumberStr
state.warehouseData = obj.warehouseData
state.locationData = obj.locationData
@ -222,7 +228,7 @@
state.show = true
state.quantityStrState = true
} else if (state.scanFrame.quantityStr == '') {
state.scanFrame.quantityStr = state.receiveBillScanData.UnScanQty
state.scanFrame.quantityStr = props.qtyState ? 1 : state.receiveBillScanData.UnScanQty
}
state.scanFrame.articlesStr = state.receiveBillScanData.MaterialNumber
state.scanFrame.barCodeStr = state.receiveBillScanData.queryString
@ -282,6 +288,8 @@
state.quantityStrState = false
} else {
state.quantityStrState = true
uni.$u.toast(t('index.slbndy') + state.receiveBillScanData.UnScanQty)
state.scanFrame.quantityStr = state.receiveBillScanData.UnScanQty
}
}

View File

@ -5,7 +5,8 @@ export const cn = {
'loginbtn': '登录',
'qsrzh': '请输入您的账号',
'qsrmm': '请输入您的密码',
'Language': '语言'
'Language': '语言',
'tcdl':'退出登录'
},
tab: {
home: '首页'
@ -16,6 +17,7 @@ export const cn = {
'scfl': '生产发料',
'scbl': '生产补料',
'sctl': '生产退料',
'sctlyz': '生产退料验证',
'sctc': '生产投产',
'scrk': '生产入库',
'sczx': '生产装箱',
@ -23,6 +25,8 @@ export const cn = {
'kssc': '开始生产',
'kscs': '开始测试',
'kshb': '开始汇报',
'plxsck': '批量销售出库',
'wlbzcf':'物料包装拆分'
},
verify: {
'grn': '收料通知单号',
@ -69,6 +73,7 @@ export const cn = {
},
receive: {
'djbh': '单据编号',
'djbh1': '单据',
'rq': '日期',
'code': '条码',
'wlmc': '物料名称',
@ -148,6 +153,10 @@ export const cn = {
'ljcg':'连接成功',
'ljsb':'连接失败',
'cjbqsb':'创建标签失败',
'ljydk':'连接已断开,请重新连接'
'ljydk':'连接已断开,请重新连接',
'sxdj':'所选单据',
'yzdj':'验证单据',
'sdn':'销售出库单号',
'slbndy':'数量不能大于'
}
}

View File

@ -5,7 +5,8 @@ export const en = {
'loginbtn': 'Login',
'qsrzh': 'Please input your user name',
'qsrmm': 'please input your password',
'Language': 'Language'
'Language': 'Language',
'tcdl': 'Log out'
},
tab: {
'home': 'Maxcess Barcode System',
@ -16,6 +17,7 @@ export const en = {
'scfl': 'Picking List',
'scbl': 'Replenishment',
'sctl': 'Production Return',
'sctlyz': 'Production Return Verify',
'sctc': 'Production',
'scrk': 'MO Receipt',
'sczx': 'MO Packing',
@ -23,6 +25,8 @@ export const en = {
'kssc': 'MO Start',
'kscs': 'MO Test',
'kshb': 'MO Report',
'plxsck': 'Sales delivery Batch',
'wlbzcf':'Split Label'
},
verify: {
'grn': 'GRN #',
@ -46,29 +50,30 @@ export const en = {
'noDataMessage': 'No data is submitted!',
'smjl': 'Records',
'mrz': 'Default',
'ckmc':'W/H Name',
'cwmc':' Bin #',
'ckmc': 'W/H Name',
'cwmc': ' Bin #',
'qty': 'QTY',
'mmsph': 'Maxcess Lot #',
'xzck': 'Select W/H name',
'xzcw':'Select Bin name',
'cwwqy':'Bin is not enabled',
'qsrsl':'Please input the QTY',
'qsrmssph':'Please input Maxcess Lot #',
'gdtcckMessage':'Prompt Windows',
'gdtc':'Normal Prompt',
'yctc':'Error Prompt',
'cz':'Reset',
'bc':'Save',
'qxzck':'Please select W/H',
'qxzcw':'Please select Bin',
'xzcw': 'Select Bin name',
'cwwqy': 'Bin is not enabled',
'qsrsl': 'Please input the QTY',
'qsrmssph': 'Please input Maxcess Lot #',
'gdtcckMessage': 'Prompt Windows',
'gdtc': 'Normal Prompt',
'yctc': 'Error Prompt',
'cz': 'Reset',
'bc': 'Save',
'qxzck': 'Please select W/H',
'qxzcw': 'Please select Bin',
'wlbm': 'Part Number',
'qsrwlbmmessage':'Please input the material part number',
'qsrwlbmmessage': 'Please input the material part number',
'tm': 'QR Code',
'xxh':'SN #'
'xxh': 'SN #'
},
receive: {
'djbh': 'Order',
'djbh1': 'Order',
'code': 'Code',
'rq': 'Date',
'wlmc': 'Name of material',
@ -80,74 +85,78 @@ export const en = {
'ws': 'Not yet',
'yss': 'Should',
},
index:{
'bccg':'Save Successfully',
'tj':'Add',
'zxddh':'Prod Packing #',
'scddbh':'MO #',
'sczx':'Prod Packing',
'bz':'Material Packing #',
'minbz':'Material Mini Package #',
'ts':'Prompt',
'qdysc':'Please confirm the deletion',
'qx':'Cancel',
'qd':'Confirm',
'ysc':'Deleted',
'ctll':'Kit Picking',
'ctllyz':'Kit Picking Verify',
'scylqddh':'Prod BOM List #',
'hbbdh':'MO report',
'qdytsccsjm':'Data submitting comfirmation',
'rb':'Concession',
'hg':'Qualified',
'bmygtsj':'No data is found',
'scdd':'MO',
'ksscsj':'MO Starting Time',
'kscssj':'Test Starting Time',
'kshbsj':'MO Report Time',
'kstcgs':'QTY',
'kssc':'Production Starting ',
'kshb':'Test Starting',
'kscs':'MO Report',
'qxjxsc':'You have not started the MO',
'zwck':'No W/H is found',
'cpmc':'FG name',
'cpbm':'FG Part Number',
'scsl':'QTY',
'llts':'Kit Picking QTY',
'qsrllts':'Please input the QTY',
'llthbddy':'The number exceeds the MO requirement',
'csllddh':'Material Picking List #',
'ck':'W/H',
'ckcx':'W/H Query',
'ckbh':'W/H #',
'cw':'Bin Name',
'cwcx':'Bin Query',
'cwbh':'Bin #',
'wzdgcw':'Bin # is not found',
'ksmcw':'Scan Bin #',
'qsrph':'Input Lot #',
'cwwqy':'Bin # is not enabled',
'ymrckbt':'Different W/H from default. Replace?',
'gmkxyzdck':'W/H is required',
'cwyqy':'Bin # is required',
'phbnwk':'Lot # is required',
'slbnwk':'QTY is must greater than 0',
'zwsmsj':'No data is found.',
'hgrksl':'Qualified QTY',
'qdyqbsc':'All records deletion confirmation.',
'tqbsc':'Deletion Successfully!',
'qbsc':'Delete all',
'zwph':'Lot # is not found.',
'dyj':'Printer',
'qxzdyj':'Please select printer',
'zbdy':'Printing is ready',
'sbmc':'Device Name',
'sbbm':'Device Code',
'whqdlyqx':'Bluethooth is not connected',
'ljcg':'connection is successful.',
'ljsb':'connection failed.',
'cjbqsb':'QR code creation is failed',
'ljydk':'Bluetooth is disconnected,please re-connect to the Bluetooth.'
index: {
'bccg': 'Save Successfully',
'tj': 'Add',
'zxddh': 'Prod Packing #',
'scddbh': 'MO #',
'sczx': 'Prod Packing',
'bz': 'Material Packing #',
'minbz': 'Material Mini Package #',
'ts': 'Prompt',
'qdysc': 'Please confirm the deletion',
'qx': 'Cancel',
'qd': 'Confirm',
'ysc': 'Deleted',
'ctll': 'Kit Picking',
'ctllyz': 'Kit Picking Verify',
'scylqddh': 'Prod BOM List #',
'hbbdh': 'MO report',
'qdytsccsjm': 'Data submitting comfirmation',
'rb': 'Concession',
'hg': 'Qualified',
'bmygtsj': 'No data is found',
'scdd': 'MO',
'ksscsj': 'MO Starting Time',
'kscssj': 'Test Starting Time',
'kshbsj': 'MO Report Time',
'kstcgs': 'QTY',
'kssc': 'Production Starting',
'kscs': 'Test Starting',
'kshb': 'MO Report',
'qxjxsc': 'You have not started the MO',
'zwck': 'No W/H is found',
'cpmc': 'FG name',
'cpbm': 'FG Part Number',
'scsl': 'QTY',
'llts': 'Kit Picking QTY',
'qsrllts': 'Please input the QTY',
'llthbddy': 'The number exceeds the MO requirement',
'csllddh': 'Material Picking List #',
'ck': 'W/H',
'ckcx': 'W/H Query',
'ckbh': 'W/H #',
'cw': 'Bin Name',
'cwcx': 'Bin Query',
'cwbh': 'Bin #',
'wzdgcw': 'Bin # is not found',
'ksmcw': 'Scan Bin #',
'qsrph': 'Input Lot #',
'cwwqy': 'Bin # is not enabled',
'ymrckbt': 'Different W/H from default. Replace?',
'gmkxyzdck': 'W/H is required',
'cwyqy': 'Bin # is required',
'phbnwk': 'Lot # is required',
'slbnwk': 'QTY is must greater than 0',
'zwsmsj': 'No data is found.',
'hgrksl': 'Qualified QTY',
'qdyqbsc': 'All records deletion confirmation.',
'tqbsc': 'Deletion Successfully!',
'qbsc': 'Delete all',
'zwph': 'Lot # is not found.',
'dyj': 'Printer',
'qxzdyj': 'Please select printer',
'zbdy': 'Printing is ready',
'sbmc': 'Device Name',
'sbbm': 'Device Code',
'whqdlyqx': 'Bluethooth is not connected',
'ljcg': 'connection is successful.',
'ljsb': 'connection failed.',
'cjbqsb': 'QR code creation is failed',
'ljydk': 'Bluetooth is disconnected,please re-connect to the Bluetooth.',
'sxdj':'SDN #',
'yzdj':'Pick up Items',
'sdn':'SDN #',
'slbndy':'Qty cannot be greater than'
}
}

View File

@ -8,8 +8,7 @@
"^l-(.*)": "@/components/l-ui/components/l-$1/l-$1.vue"
}
},
"pages": [
{
"pages": [{
"path": "pages/main/home"
},
{
@ -69,6 +68,17 @@
{
"path": "pages/returnMaterials/material"
},
{
"path": "pages/returnMaterials/print"
},
{
"path": "pages/productionReturnVerify/index"
},
{
"path": "pages/productionReturnVerify/material"
},
{
"path": "pages/ruleClaim/index"
},
@ -122,7 +132,7 @@
},
{
"path": "pages/BatchOutOftock/index"
},
},
{
"path": "pages/BatchOutOftock/material"
},
@ -144,7 +154,7 @@
"popGesture": "none",
"animationType": "fade-in",
"animationDuration": 200
}
}
}
@ -174,13 +184,13 @@
"pagePath": "pages/main/home",
"iconPath": "static/tabbar/home.png",
"selectedIconPath": "static/tabbar/homea.png",
"text": "首页"
"text": "Main Screen"
},
{
"pagePath": "pages/main/mine",
"iconPath": "static/tabbar/me.png",
"selectedIconPath": "static/tabbar/mea.png",
"text": "我的"
"text": "My"
}
]
},

View File

@ -1,6 +1,6 @@
<template>
<view class="app status-bar-gap">
<l-header title="批量销售出库" sticky #right>
<l-header :title=" t('home.plxsck') " sticky #right>
<view style="margin-right: 32rpx;" v-if="state.tabsIndex === '1'" @click="submit()">{{ t('verify.tj') }}</view>
</l-header>
<view class="page">
@ -32,8 +32,8 @@
queryString: '',
tabsIndex: '1',
tabsList: [
{ name: computed(() => '所选单据'), type: '1' },
{ name: computed(() => '验证单据'), type: '2' },
{ name: computed(() => t('index.sxdj')), type: '1' },
{ name: computed(() => t('index.yzdj')), type: '2' },
],
})
const scanConfirmFun = (e : any) => {

View File

@ -61,7 +61,7 @@
</view>
</view>
</view>
<scanFrame ref="scanFrameRef" @confirmation="scanFrameCnfirmation"
<scanFrame ref="scanFrameRef" @confirmation="scanFrameCnfirmation" :qtyState="true"
@scanFrameDataFeedback="(res:object)=>{state.scanFrameDataFeedback = res}"
@fast="(row:any)=>{state.scanFrameDataFeedback = row}" @err="scanFrameErrFun" @boxShow="scanFrameBoxShowShow" />
<shortcut ref="shortcutRef" @dataToscanFrame="dataToscanFrameFun" @boxShow="shortcutBoxShowShow" />
@ -104,6 +104,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -124,7 +125,8 @@
// scanFrameRef.value.stateShow(true)
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -152,6 +154,9 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
console.log(state.code);
console.log(state.queryString);
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
@ -198,13 +203,14 @@
const str = JSON.stringify(obj);
console.log(item);
temporaryScanDraftSave({
FVHUBFormId: "SAL_OUTSTOCK", //
FVHUBFormId: "SAL_OUTSTOCK", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID
FVHUBFlot: item.batchNumberStr, //
FVHUBFlot: item.batchNumberStr, //
FVHUBJSON: item.FVHUBJSON, //
FVHUBStock: {
FNUMBER: item.warehouseData.FNUMBER //
},
@ -263,19 +269,17 @@
EntryIds.push(item.FVHUBEntryId)
ids.push(item.FID)
ScanEntry.push({
FENTRYID: item.FVHUBEntryId,
Qty: item.FVHUBScanQty,
Flot: item.FVHUBFlot,
StockId: item.FVHUBStock,
StockFlex: item.FVHUBStockFlex,
Sno: item.FVHUBJSON
Ids:state.materialId,
EntryIds: item.FVHUBEntryId,
// Qty: item.FVHUBScanQty,
// Flot: item.FVHUBFlot,
// StockId: item.FVHUBStock,
// StockFlex: item.FVHUBStockFlex,
FMaxcessSNo: item.FVHUBJSON
})
})
//
SAL_OUTSTOCKCheck({
Ids: state.materialId,
EntryIds: EntryIds.toString(),
}).then((res : any) => {
SAL_OUTSTOCKCheck({Items:ScanEntry}).then((res : any) => {
if (res.code === 200) {
fStockFlexDetailDelete({ Ids: ids.toString() }).then((res : any) => {
if (res.code === 200) {
@ -283,6 +287,8 @@
uni.$u.toast('操作成功')
}
})
} else {
uni.$u.toast(res.msg)
}
})
@ -304,7 +310,7 @@
*/
const fnDataList = (FBillNo : any) => {
let param = {
id: FBillNo,
Id: FBillNo,
};
uni.showLoading({ mask: true });
SAL_OUTSTOCKView(param).then(res => {

View File

@ -118,6 +118,9 @@
}
});
}
const fnToUrl = (item : any) => {
toPages('/pages/BatchOutOftock/material',{id:item.id,fBillNo:item.fBillNo})
}
/**
* 数据推送
*/
@ -161,12 +164,16 @@
AutoAudit: 'true',
ScanEntry: ScanEntry
}
}).then((res : any) => {
if (res.code === 200) {
}).then((resA : any) => {
console.log(resA);
if (resA.code === 200) {
fStockFlexDetailDelete({ Ids: ids.toString() }).then((res : any) => {
if (res.code === 200) {
fnDataList();
uni.$u.toast(t('public.cg'))
console.log({id:resA.data.SuccessEntitys[0].Id,fBillNo:resA.data.SuccessEntitys[0].Number});
fnToUrl({id:resA.data.SuccessEntitys[0].Id,fBillNo:resA.data.SuccessEntitys[0].Number})
}
})
} else {

View File

@ -5,7 +5,7 @@
<view class="list-box-list" v-if="state.dataList.length > 0">
<view class="data-item" @click.stop="fnToUrl(item)"
v-for="(item, index) in state.dataList" :key="index">
<view class="tit">销售出库单单号{{item.FBillNo}}</view>
<view class="tit">{{ t('index.sdn') }}{{item.FBillNo}}</view>
<view class="line-p"></view>
<view class="b-font">{{ t('receive.rq') }}{{item.FDateFormat}}</view>
</view>

View File

@ -40,11 +40,11 @@
<view class="zongjian"></view>
<view>{{ item.FVHUBScanQty }}</view>
</view>
<view class="itemBox">
<!-- <view class="itemBox">
<view>{{ t('index.ck') }}</view>
<view class="zongjian"></view>
<view>{{ item['FVHUBStock.FName'] }}</view>
</view>
</view> -->
<view class="itemBox">
<view>{{ t('public.xxh') }}</view>
<view class="zongjian"></view>
@ -91,7 +91,8 @@
{ name: computed(() => t('index.bz')), type: '1' },
{ name: computed(() => t('index.minbz')), type: '2' },
],
options: []
options: [],
code:''
})
onShow(() => {
fnDataList()
@ -103,7 +104,8 @@
}).exec();
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
/**
* 数据逻辑
@ -125,6 +127,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
@ -134,6 +137,7 @@
FBarCode: val,
}).then((res : any) => {
if (res.code === 200) {
console.log('断点1',res.data.Entry[0]);
postTemporaryScanDraftSaveFun(res.data.Entry[0])
}
architectureRef.value.closeFun()
@ -144,7 +148,7 @@
console.log(item);
temporaryScanDraftSave({
FVHUBFormId: "VHUB_BarcodePackBill", //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.MaterialNumber, //
FVHUBScanQty: item.BarCodeQty + '', //
FVHUBEntryId: item.Id, //ID
@ -171,6 +175,7 @@
}
//
const fStockFlexDetailDeleteFun = (item : any) => {
debugger
uni.showModal({
title: t('index.ts'), content: t('index.qdysc'), cancelText: t('index.qx'), confirmText: t('index.qd'),
success(res) {

View File

@ -23,7 +23,7 @@
<view class="type-item-text">{{ t('home.cgrk') }}</view>
</view>
<view class="type-item type-item-jz" @tap="toPages('/pages/split/index')">
<view class="type-item-text">Split</view>
<view class="type-item-text">{{ t('home.wlbzcf') }}</view>
</view>
<view class="type-item type-item-hl" @tap="toPages('/pages/material/index')">
<view class="type-item-text">{{ t('home.scfl') }}</view>
@ -34,6 +34,11 @@
<view class="type-item type-item-hl" @tap="toPages('/pages/returnMaterials/index')">
<view class="type-item-text">{{ t('home.sctl') }}</view>
</view>
<view class="type-item type-item-hl" @tap="toPages('/pages/productionReturnVerify/index')">
<view class="type-item-text">{{ t('home.sctlyz') }}</view>
</view>
<view class="type-item type-item-hl" @tap="toPages('/pages/ruleClaim/index')">
<view class="type-item-text">{{ t('index.ctll') }}</view>
</view>
@ -53,7 +58,7 @@
<view class="type-item-text">{{ t('home.xxck') }}</view>
</view>
<view class="type-item type-item-hl" @tap="toPages('/pages/BatchOutOftock/index')">
<view class="type-item-text">批量销售出库</view>
<view class="type-item-text">{{ t('home.plxsck') }}</view>
</view>
</template>
</view>

View File

@ -2,7 +2,7 @@
<view class="app status-bar-gap">
<view class="page-bc"></view>
<view class="page">
<view style="display: flex;align-items: center">
<view style="display: flex;align-items: center;margin-top: 5vh;">
<view style="margin-right: 32rpx">
<up-image :show-loading="true" src="../../static/images/ygtx.png" width="136rpx" height="136rpx"
radius="136rpx"></up-image>
@ -12,7 +12,7 @@
<view class="gysName">{{ state.userInfo.CustomName }}</view>
</view>
</view>
<view class="common">
<!-- <view class="common">
<view class="type-bc">
<view class="type-item type-item-gc" @tap="toPages('/pages/receive/index')">
<view class="type-item-text">采购收料</view>
@ -27,9 +27,9 @@
<view class="type-item-text">来料验证</view>
</view>
</view>
</view>
</view> -->
<view class="input-box">
<view class="input-box" style="margin-top: 10vh;">
<view class="input-item u-flex" style="justify-content: space-between;align-items: center">
<view class="item-title">扫描记录</view>
<up-icon name="play-right-fill" size="8"></up-icon>
@ -48,7 +48,7 @@
</view> -->
</view>
<view class="outLogin" @click="outLoginFun">退出登录</view>
<view class="outLogin" @click="outLoginFun">{{ t('login.tcdl') }}</view>
</view>
</view>
</template>
@ -56,6 +56,9 @@
import { reactive, ref } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app'
import { logout } from "../../common/request/api/api";
import { useI18n } from 'vue-i18n'
const getI18n = useI18n()
const { t, locale } = getI18n
const state = reactive({
userInfo:{}
})

View File

@ -99,6 +99,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -121,7 +122,8 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val:boolean) => {
state.shortcutRefShow = val
@ -149,6 +151,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
@ -200,7 +203,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PRD_PPBOM", //
FVHUBFBillNo: state.BillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID

View File

@ -106,7 +106,8 @@
tabsList: [
{ name: computed(() => t('index.bz')), type: '1' },
{ name: computed(() => t('index.minbz')), type: '2' },
]
],
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -128,7 +129,8 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const upTabsItemFun = (e:any) => {
state.tabsIndex = e.type
@ -158,6 +160,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}

View File

@ -0,0 +1,208 @@
<template>
<view class="app status-bar-gap">
<view class="page">
<l-header :title="t('home.sctl')" sticky></l-header>
<architecture ref="architectureRef" :dataType="t('home.sctl')" :placeholder="t('index.scdd')"
@scanConfirm="scanConfirmFun" @inputConfirm="changeFun" />
<view class="receive-listBox" ref="listBoxRef">
<scroll-view id="scroll-box" class="scroll-box" scroll-y="true" :style="{'height':state.scrollHeight+'px'}"
@scrolltolower="fnScrollBottom()">
<view class="list-box-list" v-if="state.dataList.length > 0">
<view class="data-item" @click.stop="fnToUrl(item)" v-for="(item, index) in state.dataList" :key="index">
<view class="tit">{{ t('index.scdd') }}{{item.FBillNo}}</view>
<view class="line-p"></view>
<view class="b-font">{{ t('receive.rq') }}{{item.FDateFormat}}</view>
</view>
</view>
<view v-if="state.dataList.length==0">
<up-empty mode="list"></up-empty>
</view>
</scroll-view>
</view>
</view>
</view>
</template>
<script lang="ts" setup>
import { reactive, nextTick, onMounted, ref } from 'vue';
import { onLoad, onShow, onReachBottom } from '@dcloudio/uni-app'
import { useI18n } from 'vue-i18n'
import { parseTime } from '../../utils/tools.js';
import { PRDPPBOMList, PRD_ReturnMtrlList } from '../../common/request/api/api';
const listBoxRef = ref(null)
const getI18n = useI18n()
const architectureRef = ref()
const { t, locale } = getI18n
const state = reactive({
queryString: '',
dataList: [],
scrollHeight: 0,
page: {
pageIndex: 1,
pageSize: 200,
totalCount: 0
}
})
onShow(() => {
})
onMounted(() => {
const query = uni.createSelectorQuery().in(this);
query.select(".receive-listBox").boundingClientRect((data) => {
state.scrollHeight = data.height
}).exec();
fnDataList()
})
const scanConfirmFun = (e : any) => {
state.queryString = e
state.page.pageIndex = 1
state.dataList = []
fnDataList()
architectureRef.value.closeFun()
}
const fnScrollBottom = () => {
console.log(state.page.pageIndex * state.page.pageSize, state.page.totalCount);
if (state.page.pageIndex * state.page.pageSize <= state.page.totalCount) {
debugger
state.page.pageIndex++;
uni.showLoading({ mask: true });
setTimeout(() => {
fnDataList();
}, 500);
}
}
const fnToUrl = (item : any) => {
toPages('/pages/productionReturnVerify/material', { id: item.FID, fBillNo: item.FBillNo })
}
const debounceTimer = ref()
const changeFun = (e : any) => {
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
state.page.pageIndex = 1
state.dataList = []
fnDataList()
})
}
const fnDataList = () => {
let param = {
queryString: state.queryString,
pageIndex: state.page.pageIndex,
pageSize: state.page.pageSize,
FType: 'Return'
};
if (state.page.pageIndex == 1) {
uni.showLoading({ mask: true });
}
PRD_ReturnMtrlList(param).then(res => {
uni.hideLoading();
if (res.code == 200) {
let result = res.data;
let dataArray = result.list;
dataArray.forEach(p => {
p.FDateFormat = parseTime(p.FCREATEDATE, '{y}-{m}-{d}');
});
if (state.page.pageIndex == 1) {
state.dataList = dataArray;
}
else {
state.dataList = state.dataList.concat(dataArray);
}
state.page.totalCount = result.total;
if (state.dataList.length == state.page.totalCount) {
// more_status.value = 'nomore';
}
}
});
}
const toPages = (url : string, data : any = {}) => {
uni.$u.route({
url: url,
params: data
})
}
</script>
<style lang="scss">
.app {
background-color: #F5F5F5;
.page {
padding: 18px 32rpx;
display: flex;
flex-direction: column;
height: 100%;
flex: 1;
.input-box {
background-color: white;
box-sizing: border-box;
padding: 0 16rpx;
border-radius: 24rpx;
margin: 0 0 32rpx 0;
.u-textarea {
padding: 0 !important;
font-size: 24rpx !important;
color: #999999 !important;
}
.input-item {
box-sizing: border-box;
padding: 16rpx 0;
color: #222222;
font-size: 28rpx;
font-weight: 400;
.item-title {
//font-weight: 500;
font-size: 32rpx;
color: #333333;
}
.item-text {
font-weight: 400;
font-size: 27rpx;
color: #999999;
}
}
}
.receive-listBox {
flex: 1;
.list-box-list {
width: 100%;
// margin: 20rpx auto;
.data-item {
border: 1px solid #efeaea;
border-radius: 20rpx;
box-shadow: 0rpx 15rpx 15rpx #efeaea;
padding: 20rpx 20rpx 0;
margin-bottom: 20rpx;
background-color: #ffffff;
.tit {
font-size: 30rpx;
font-weight: bold;
padding: 20rpx 0;
}
.line-p {
border: 1px solid #efeaea;
}
.b-font {
font-size: 25rpx;
padding: 20rpx 0;
}
}
}
}
}
}
</style>

View File

@ -0,0 +1,428 @@
<template>
<view class="app status-bar-gap">
<view class="page">
<l-header :title="state.FBillNo" sticky #right>
<view style="margin-right: 32rpx;" @click="dataPushNotification">{{ t('receive.tj') }}</view>
</l-header>
<architecture ref="architectureRef" :dataType="t('home.llyz')" icon="scan" :placeholder="t('verify.tm')"
@scanConfirm="scanConfirmFun" @inputConfirm="changeFun"
:fence="[state.scanFrameRefShow,state.shortcutRefShow]" />
<view class="material-listBox">
<scroll-view id="scroll-box" class="scroll-box" scroll-y="true" :style="{'height':state.scrollHeight+'px'}">
<view class="list-box-list" v-if="state.dataList.length > 0">
<view class="data-item" v-for="(item, index) in state.dataList"
:style="[{'background-color':interpolation(item)},{'margin-bottom':index + 1 === state.dataList.length ? '80px' : '20px'}]"
:key="index">
<view class="text" style="margin-bottom: 20px;display: flex;">
<view>{{ item.MaterialName }}</view>
</view>
<view class="itemBox">
<view>{{t('receive.djbh')}}</view>
<view class="zongjian"></view>
<view>{{ state.FBillNo }}</view>
</view>
<view class="itemBox">
<view>{{t('receive.wlbm')}}</view>
<view class="zongjian"></view>
<view>{{ item.MaterialNo }}</view>
</view>
<view class="itemBox">
<view>{{t('receive.ph')}}</view>
<view class="zongjian"></view>
<view>{{ item.Lot }}</view>
</view>
<view class="itemBox">
<view>{{t('receive.ys')}}</view>
<view class="zongjian"></view>
<view>{{ item.CheckJoinQty }}</view>
</view>
<view class="itemBox">
<view>{{t('receive.ws')}}</view>
<view class="zongjian"></view>
<view>{{ item.NoCheckQty }}</view>
</view>
<view class="itemBox">
<view>{{t('receive.yss')}}</view>
<view class="zongjian"></view>
<view>{{ item.CheckQty }}</view>
</view>
</view>
<view style="text-align: center;color: #F5F5F5;height: 20px;"></view>
</view>
<view v-if="state.dataList.length==0">
<up-empty mode="list"></up-empty>
</view>
</scroll-view>
</view>
</view>
</view>
<scanFrame ref="scanFrameRef" @confirmation="scanFrameCnfirmation" :qtyState="true"
@scanFrameDataFeedback="(res:object)=>{state.scanFrameDataFeedback = res}"
@fast="(row:any)=>{state.scanFrameDataFeedback = row}" @err="scanFrameErrFun" @boxShow="scanFrameBoxShowShow" />
<shortcut ref="shortcutRef" @dataToscanFrame="dataToscanFrameFun" @boxShow="shortcutBoxShowShow" />
<tools ref="toolsRef" @defaultPopup="defaultPopupFun" @scanRecord="scanRecordFun" />
</template>
<script lang="ts" setup>
import { reactive, nextTick, onMounted, ref, computed, watch } from 'vue';
import { onLoad, onShow, onReachBottom, } from '@dcloudio/uni-app'
import { useI18n } from 'vue-i18n'
import { parseTime } from '../../utils/tools.js';
import { PRDPPBOMPush, PRDPPBOMScanData, PRDPPBOMView, PRD_ReturnMtrlScanData, PRD_ReturnMtrlView, fStockFlexDetailDelete, temporaryScanDraftSave, temporaryScanList } from '../../common/request/api/api';
import scanFrame from '../../components/scan-frame/scan-frame.vue'
import tools from '../../components/tools/tools.vue'
import shortcut from '../../components/tools/shortcut.vue'
import { sqlite } from '../../stores/sqlite'
const architectureRef = ref()
const DB = sqlite()
const inputRef = ref()
const scanFrameRef = ref()
const shortcutRef = ref()
const getI18n = useI18n()
const { t, locale } = getI18n
const state = reactive({
scanFrameRefShow: false,
shortcutRefShow: false,
queryString: '',
dataList: [],
scrollHeight: 0,
page: {
pageIndex: 1,
pageSize: 200,
totalCount: 0
},
FBillNo: '',
BillNo: '',
materialId: '',
supplierName: '',
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code: ''
})
onLoad((pageData : any) => {
console.log(pageData);
state.materialId = pageData.id
state.FBillNo = pageData.fBillNo
state.BillNo = pageData.BillNo
fnDataList(state.materialId);
})
onShow(() => {
if (state.materialId) {
fnDataList(state.materialId);
}
})
onMounted(() => {
const query = uni.createSelectorQuery().in(this);
query.select(".material-listBox").boundingClientRect((data) => {
state.scrollHeight = data.height
}).exec();
// scanFrameRef.value.stateShow(true)
})
const scanConfirmFun = (e : any) => {
if (e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
}
const scanFrameBoxShowShow = (val : boolean) => {
state.scanFrameRefShow = val
}
/**
* 数据逻辑
*/
const interpolation = (item : any) => {
if (item.CheckJoinQty === 0 && item.CheckJoinQty + item.NoCheckQty === item.CheckQty) {
return '#ffffff'
}
if (item.CheckJoinQty !== 0 && item.NoCheckQty !== 0 && item.CheckJoinQty + item.NoCheckQty === item.CheckQty) {
return 'rgb(254 227 87)'
}
if (item.CheckJoinQty === item.CheckQty) {
return 'rgb(87 191 254)'
}
}
//
const debounceTimer = ref()
const changeFun = (e : any) => {
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if (e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
}, 500)
}
//
const getReceiveBillScanData = (val : string) => {
PRD_ReturnMtrlScanData({
FBarCode: val,
FBillNo: state.BillNo,
}).then((res : any) => {
if (res.data !== null) {
console.log(res);
const scanData = res.data
// if (scanData.UnScanQty > scanData.BarCodeQty) scanData.UnScanQty = scanData.BarCodeQty
scanFrameRef.value.getreceiveBillScanData({ ...scanData, queryString: state.queryString, scanFrameShowSate: state.shortcutDataFeedback.scanFrameShowSate })
if (Object.keys(state.shortcutDataFeedback).length) {
if (state.shortcutDataFeedback.scanFrameShowSate) {
scanFrameRef.value.stateShow(true)
} else {
postTemporaryScanDraftSaveFun(state.scanFrameDataFeedback)
}
} else {
scanFrameRef.value.stateShow(true)
}
} else {
uni.$u.toast(t('index.bmygtsj'))
state.queryString = ''
}
architectureRef.value.closeFun()
})
}
//
const scanFrameCnfirmation = (row : any) => {
state.scanFrameDataFeedback = row
postTemporaryScanDraftSaveFun(state.scanFrameDataFeedback)
}
const scanFrameErrFun = () => {
scanFrameRef.value.stateShow(true)
}
//
const postTemporaryScanDraftSaveFun = (item : any) => {
const obj = {};
if (item.warehouseData.FIsOpenLocation && Object.keys(item.locationData).length != 0) {
const key = `FVHUBSTOCKFLEX__FF${item.locationData.FID}`; //Id
obj[key] = { FNumber: item.locationData.FlexEntryId.Number }; //
}
const str = JSON.stringify(obj);
temporaryScanDraftSave({
FVHUBFormId: "PRD_ReturnMtrl", //
FVHUBFBillNo: state.BillNo, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID
FVHUBFlot: item.batchNumberStr, //
FVHUBStock: {
FNUMBER: item.warehouseData.FNUMBER //
},
FVHUBMaterial: {
FNUMBER: item.articlesStr
},
FType: "Return",
...JSON.parse(str),
}).then((res : any) => {
console.log(res);
state.queryString = ''
if (res.data.IsSuccess) {
fnDataList(state.materialId);
uni.$u.toast(t('public.cg'))
scanFrameRef.value.stateShow(false)
}
})
}
//
const dataToscanFrameFun = (res : object) => {
state.shortcutDataFeedback = res
scanFrameRef.value.getComponentsData(res)
shortcutRef.value.stateShow(false)
}
//
const defaultPopupFun = () => {
shortcutRef.value.stateShow(true)
}
const scanRecordFun = () => {
toPages('/pages/records/index', {
FormId: 'PRD_ReturnMtrl',
FbillNo: state.BillNo
})
}
/**
* 数据推送
*/
const dataPushNotification = () => {
uni.showModal({
title: t('public.ts'), content: t('public.tjMessage'), cancelText: t('public.cancel'), confirmText: t('public.confirm'),
success(res) {
if (res.confirm) {
let EntryIds : any = []
let ids : any = []
let ScanEntry : any = []
let param = {
FormId: 'PRD_ReturnMtrl',
UserId: uni.getStorageSync('userInfo').Context.UserId,
FbillNo: state.BillNo
};
uni.showLoading({ mask: true });
//
temporaryScanList(param).then(res => {
if (res.code == 200) {
if (res.data.list.length != 0) {
res.data.list.forEach((item : any) => {
EntryIds.push(item.FVHUBEntryId)
ids.push(item.FID)
ScanEntry.push({
FENTRYID: item.FVHUBEntryId,
Qty: item.FVHUBScanQty,
Flot: item.FVHUBFlot,
StockId: item.FVHUBStock,
StockFlex: item.FVHUBStockFlex
})
})
//
PRDPPBOMPush({
EntryIds: EntryIds.toString(),
Ids: state.materialId
}).then((resA : any) => {
if (resA.code === 200) {
fStockFlexDetailDelete({ Ids: ids.toString() }).then((res : any) => {
if (res.code === 200) {
fnDataList(state.materialId);
uni.$u.toast(t('public.cg'))
}
})
}
})
} else {
uni.$u.toast(t('public.noDataMessage'))
}
}
});
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
/**
* 数据请求
*/
const fnDataList = (FBillNo : any, statesItem : boolean = false) => {
let param = {
id: FBillNo,
IsFeed: 'other'
};
uni.showLoading({ mask: true });
PRD_ReturnMtrlView(param).then(res => {
uni.hideLoading();
if (res.code == 200) {
state.BillNo = res.data.BillNo
state.dataList = []
let dataListArray = res.data.Entry;
if (dataListArray.length > 0) {
dataListArray.forEach((p : any) => {
let item = {
Id: p.Id,
MaterialNo: p.MaterialNumber, //
MaterialName: formatLangTextValue(p.MaterialName), //
Lot: p.FLot_Text, //
CheckQty: p.Qty, //
CheckJoinQty: p.ScanedQty, //
NoCheckQty: p.UnScanQty, //
MultiLanguageText: Object.keys(p.StockId).length ? formatLangTextValue(p.StockId.Name) : ''
};
state.dataList.push(item);
});
}
}
});
}
//
const formatLangTextValue = (val : any) => {
let lang_Id = uni.getStorageSync('locale')
let item = val.find(p => p.Key == (lang_Id == 'cn' ? 2052 : 1033));
if (item != null) {
return item.Value;
}
return val[0].Value;
}
const toPages = (url : string, data : any = {}) => {
uni.$u.route({
url: url,
params: data
})
}
</script>
<style lang="scss">
.app {
background-color: #F5F5F5;
.page {
padding: 18px 32rpx;
display: flex;
flex-direction: column;
height: 100%;
flex: 1;
.input-box {
background-color: white;
box-sizing: border-box;
padding: 0 16rpx;
border-radius: 24rpx;
margin: 0 0 32rpx 0;
.u-textarea {
padding: 0 !important;
font-size: 24rpx !important;
color: #999999 !important;
}
.input-item {
box-sizing: border-box;
padding: 16rpx 0;
color: #222222;
font-size: 28rpx;
font-weight: 400;
.item-title {
//font-weight: 500;
font-size: 32rpx;
color: #333333;
}
.item-text {
font-weight: 400;
font-size: 27rpx;
color: #999999;
}
}
}
.material-listBox {
flex: 1;
.list-box-list {
width: 100%;
.data-item {
border: 1px solid #efeaea;
border-radius: 20rpx;
box-shadow: 0rpx 15rpx 15rpx #efeaea;
padding: 20rpx 22rpx;
margin-bottom: 16rpx;
background-color: #ffffff;
.itemBox {
line-height: 50rpx;
display: flex;
justify-content: space-between;
align-items: center;
.zongjian {
height: 1px;
flex: 1;
background-color: #f0f0f0;
margin: 0 16rpx;
}
}
}
}
}
}
}
</style>

View File

@ -104,6 +104,8 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -124,7 +126,8 @@
// scanFrameRef.value.stateShow(true)
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -152,6 +155,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
@ -191,7 +195,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PRD_MORPT", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID
@ -208,7 +212,7 @@
state.queryString = ''
if (res.data.IsSuccess) {
fnDataList(state.materialId);
uni.$u.toast('成功')
uni.$u.toast(t('public.cg'))
scanFrameRef.value.stateShow(false)
}
})
@ -276,7 +280,7 @@
fStockFlexDetailDelete({ Ids: ids.toString() }).then((res : any) => {
if (res.code === 200) {
fnDataList(state.materialId);
uni.$u.toast('操作成功')
uni.$u.toast(t('public.cg'))
}
})
}

View File

@ -113,6 +113,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -134,7 +135,8 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -163,6 +165,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
}, 500)
}
@ -215,7 +218,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PUR_ReceiveBill", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID

View File

@ -115,6 +115,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -136,7 +137,8 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -165,6 +167,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
@ -177,6 +180,8 @@
}).then((res : any) => {
if (res.data !== null) {
console.log(res);
const scanData = res.data
if( scanData.UnScanQty > scanData.BarCodeQty ) scanData.UnScanQty = scanData.BarCodeQty
scanFrameRef.value.getreceiveBillScanData({ ...res.data, queryString: state.queryString, scanFrameShowSate: state.shortcutDataFeedback.scanFrameShowSate, stashVerify: true })
if (Object.keys(state.shortcutDataFeedback).length) {
if (state.shortcutDataFeedback.scanFrameShowSate) {
@ -217,7 +222,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PUR_ReceiveBill", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID

View File

@ -21,15 +21,13 @@
</view>
<view class="timebox">
<view>{{ t('index.kshbsj') }}</view>
<!-- <uni-datetime-picker hasInput :show="state.FProReportTimeShow" v-model="state.FProReportTimes"
:visibleItemCount="3" disabled mode="datetime"></uni-datetime-picker> -->
<view class="zongjian"></view>
<view>{{ state.FProReportTimes }}</view>
</view>
<view class="timebox">
<view>{{ t('index.scsl') }}</view>
<up-input :placeholder="t('index.scsl')" clearable inputmode="numeric" v-model="state.qty"
:disabled="state.type !== '2'"></up-input>
:disabled="state.type !== '3'"></up-input>
</view>
</view>
<view class="btnList">
@ -74,32 +72,32 @@
state.FBillNo = pageData.FBillNo
state.type = pageData.type
if (state.type === '1') state.qty = pageData.Entry[0].Qty
if (state.type === '3') state.qty = pageData.Entry[0].TestQty
if (state.type === '2') state.qty = pageData.Entry[0].ReportQty
if (state.type === '2') state.qty = pageData.Entry[0].TestQty
if (state.type === '3') state.qty = pageData.Entry[0].ReportQty
if (state.type === '1' && state.FStartProTimes == '') {
state.FStartProTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
}
if (pageData.FStartProTimes !== '') {
state.FStartProTimes = pageData.FStartProTimes.replace("T", " ")
}
if (state.type === '2' && state.FProReportTimes == '') {
if (state.type === '2' && state.FProTestTimes == '') {
state.FProTestTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
}
if (state.type === '3' && state.FProReportTimes == '') {
state.FProReportTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
}
if (pageData.FProReportTimes !== '') {
state.FProReportTimes = pageData.FProReportTimes.replace("T", " ")
}
if (state.type === '3' && state.FProTestTimes == '') {
state.FProTestTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
}
if (pageData.FProTestTimes !== '') {
state.FProTestTimes = pageData.FProTestTimes.replace("T", " ")
}
})
const titleText = () => {
if (state.type === '1') return t('index.kssc')
if (state.type === '3') return t('index.kscs')
if (state.type === '2') return t('index.kshb')
if (state.type === '2') return t('index.kscs')
if (state.type === '3') return t('index.kshb')
}
const PRD_MORPTSaveFun = () => {
PRD_MOViewIntoPro({
@ -123,12 +121,12 @@
FEntity: [{ FEntryID: res.data.Entry[0].FRPFENTRYID, FQuaQty: Number(state.qty) }]
})
}
PRD_MORPTSave(state.type === '3' ? obj1 : obj2).then((resItem : any) => {
PRD_MORPTSave(state.type === '3' ? obj2 : obj1).then((resItem : any) => {
if (resItem.code === 200) {
// uni.$u.toast(t('public.cg'))
if(state.type === '2'){
toPages('/pages/putInProd/print',state.EnterIntoProData)
}
uni.$u.toast(t('public.cg'))
// if(state.type === '3'){
// toPages('/pages/putInProd/print',state.EnterIntoProData)
// }
}
})
} else {

View File

@ -55,8 +55,8 @@
type: '1',
tabsList: [
{ name: computed(() => t('home.kssc')), type: '1' },
{ name: computed(() => t('home.kscs')), type: '3' },
{ name: computed(() => t('home.kshb')), type: '2' },
{ name: computed(() => t('home.kscs')), type: '2' },
{ name: computed(() => t('home.kshb')), type: '3' },
]
})
onShow(() => {
@ -73,7 +73,7 @@
state.queryString = e
state.page.pageIndex = 1
state.dataList = []
fnDataList()
fnDataList(true)
architectureRef.value.closeFun()
}
const setScrollableTabStateFun = (item : any) => {
@ -103,6 +103,7 @@
PRD_MOViewIntoPro({
Number: state.queryString
}).then((res : any) => {
console.log('断点2');
if (res.code === 200) {
if (typeVertical === 'details') {
pageDataInfoCom.putInProdPageData({ ...res.data, ...item, time: new Date().getTime(), type: state.type })

View File

@ -27,11 +27,11 @@
<view class="zongjian"></view>
<view>{{ item.Lot }}</view>
</view>
<view class="itemBox">
<!-- <view class="itemBox">
<view>{{ t('index.ck') }}</view>
<view class="zongjian"></view>
<view>{{ item.MultiLanguageText }}</view>
</view>
</view> -->
<view class="itemBox">
<view>{{ t('index.hgrksl') }}</view>
<view class="zongjian"></view>

View File

@ -188,7 +188,6 @@
command.setSize(100, 50)
command.setGap(2)
command.setCls()
command.setQR(15, 15, "L", 3, "A", item.FBarCode)
command.setText(120, 15, "TSS24.BF2", 1, 1, `Date:${item.FDate.split('T')[0]}`)
command.setText(120, 40, "TSS24.BF2", 1, 1, `MO#:${item.FSrcBillNo}`)

View File

@ -107,6 +107,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -147,6 +148,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
}, 500)
}
@ -195,7 +197,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PUR_PurchaseOrder", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID

View File

@ -103,12 +103,14 @@
navIndex: 0,
FormId: '',
FbillNo: '',
userId: ''
userId: '',
apiData:{}
})
onLoad((pageData : any) => {
state.FormId = pageData.FormId
state.FbillNo = pageData.FbillNo
state.userId = uni.getStorageSync('userInfo').Context.UserId
state.apiData = pageData.apiData
fnDataList()
})
onMounted(() => {
@ -130,9 +132,10 @@
const navClick = (index : any) => { state.navIndex = index }
const onClick = (e : any) => { }
const swipeChange = (e : any, index : any) => { }
const swipeChange = (e : any, index : any) => {}
const fStockFlexDetailDeleteFun = (item : any) => {
uni.showModal({
title: t('index.ts'), content: t('index.qdysc'), cancelText: t('public.cancel'), confirmText: t('public.confirm'),
success(res) {
@ -188,7 +191,8 @@
pageIndex: state.page.pageIndex,
FormId: state.FormId,
UserId: state.userId,
FbillNo: state.FbillNo
FbillNo: state.FbillNo,
...state.apiData
};
uni.showLoading({ mask: true });
temporaryScanList(param).then(res => {

View File

@ -109,6 +109,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -130,7 +131,8 @@
// scanFrameRef.value.stateShow(true)
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val:boolean) => {
state.shortcutRefShow = val
@ -158,6 +160,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
}, 500)
}
@ -207,9 +210,10 @@
const str = JSON.stringify(obj);
console.log(item);
temporaryScanDraftSave({
FType : "Return",
FVHUBFormId: "PRD_PPBOM", //
FVHUBFBillNo: state.BillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID
@ -220,7 +224,6 @@
FVHUBMaterial: {
FNUMBER: item.articlesStr
},
FType: "Return",
...JSON.parse(str),
}).then((res : any) => {
console.log(res);
@ -245,7 +248,8 @@
const scanRecordFun = () => {
toPages('/pages/records/index', {
FormId: 'PRD_PPBOM',
FbillNo: state.BillNo
FbillNo: state.BillNo,
apiData:{FType : "Return"}
})
}
/**
@ -262,7 +266,8 @@
let param = {
FormId: 'PRD_PPBOM',
UserId: uni.getStorageSync('userInfo').Context.UserId,
FbillNo: state.BillNo
FbillNo: state.BillNo,
FType : "Return",
};
uni.showLoading({ mask: true });
//
@ -289,12 +294,13 @@
AutoAudit: 'true',
ScanEntry: ScanEntry
}
}).then((res : any) => {
if (res.code === 200) {
}).then((resA : any) => {
if (resA.code === 200) {
fStockFlexDetailDelete({ Ids: ids.toString() }).then((res : any) => {
if (res.code === 200) {
fnDataList(state.materialId);
uni.$u.toast(t('public.cg'))
toPages('/pages/returnMaterials/print',{fBillNo:resA.data.SuccessEntitys[0].Number})
}
})
}

View File

@ -133,7 +133,6 @@
<style lang="scss">
.app {
background-color: #F5F5F5;
.page {
padding: 18px 32rpx;
display: flex;

View File

@ -113,6 +113,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -134,7 +135,8 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -163,6 +165,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
}, 500)
}
@ -207,9 +210,9 @@
temporaryScanDraftSave({
FVHUBFormId: "PRD_PickMtrl", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: item.id, //ID
FVHUBFlot: item.batchNumberStr, //
FVHUBStock: {

View File

@ -1,7 +1,7 @@
<template>
<view class="app status-bar-gap">
<view class="page">
<l-header title="Split" sticky #right>
<l-header :title="t('home.wlbzcf')" sticky #right>
<view style="margin-right: 32rpx;">{{ t('receive.tj') }}</view>
</l-header>
<architecture ref="architectureRef" :dataType="t('home.scfl')" icon="scan" :placeholder="t('verify.tm')"
@ -113,7 +113,8 @@
})
}
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const toPrint = () => {
if(state.qty === 0){

View File

@ -151,10 +151,11 @@
const createLabel = (item : any) => {
var command = tsc.default.createNew()
command.setSize(100, 50)
command.setGap(2)
command.setCls()
command.setQR(30, 100, "L", 7, "A", item.FBarCode)
command.setText(280, 40, "TSS24.BF2", 1, 1, `Supplier Name${item.FSupplierId}`)
command.setText(280, 40, "TSS24.BF2", 1, 1, `Supplier Name${state.pageData.FSupplierId}`)
command.setText(280, 80, "TSS24.BF2", 1, 1, `P/N${item.FMaterialId}`)
command.setText(280, 120, "TSS24.BF2", 1, 1, `Qty${item.FQty}`)
command.setText(280, 160, "TSS24.BF2", 1, 1, `Batch No${item.FLot}`)
@ -165,47 +166,59 @@
command.setPagePrint()
state.sendData = command.getData();
}
const sendHexStr = () => {
let arr = []
let data1 = {
FBarCodeRule: "01",
FBarCode: `${state.pageData.FBillCode}*${state.pageData.FMaterialId}*${state.pageData.FLotText}*${Number(state.pageData.FQty) - Number(state.pageData.splitQty)}`,
FBillCode:state.pageData.FBillCode,
FMaterialId: state.pageData.FMaterialId,
FSupplierLot: state.pageData.FSupplierLot,
FLot: state.pageData.FLotText,
FQty: (Number(state.pageData.FQty) - Number(state.pageData.splitQty)) + ''
}
let data2 = {
FBarCodeRule: "01",
FBarCode: `${state.pageData.FBillCode}*${state.pageData.FMaterialId}*${state.pageData.FLotText}*${Number(state.pageData.splitQty)}`,
FBillCode:state.pageData.FBillCode,
FMaterialId: state.pageData.FMaterialId,
FSupplierLot: state.pageData.FSupplierLot,
FLot: state.pageData.FLotText,
FQty: Number(state.pageData.splitQty) + ''
}
arr = [data1,data2]
UHIK_BD_BarCodeMainFileSave({
Key: 'qwe123!@#',
Items: arr
},true).then((res : any) => {
console.log(res);
if (res.code == 200) {
setTimeout(()=>{
createLabel(arr[0])
initPrint()
},2000)
setTimeout(()=>{
createLabel(arr[1])
initPrint()
},4000)
} else {
uni.$u.toast(res.msg)
}
})
const sendHexStr = async () => {
try {
// 1.
const createItem = (qty:any) => ({
FBarCodeRule: "01",
FBarCode: `${state.pageData.FBillCode}*${state.pageData.FMaterialId}*${state.pageData.FLotText}*${qty}`,
FBillCode: state.pageData.FBillCode,
FMaterialId: state.pageData.FMaterialId,
FSupplierLot: state.pageData.FSupplierLot,
FLot: state.pageData.FLotText,
FQty: String(qty)
});
// 2.
const originalQty = Number(state.pageData.FQty);
const splitQty = Number(state.pageData.splitQty);
const remainingQty = originalQty - splitQty;
// 3.
const items = [
createItem(remainingQty),
createItem(splitQty)
];
// 4.
const API_KEY = process.env.BARCODE_API_KEY || 'qwe123!@#';
// 5. 使async/await
const res = await UHIK_BD_BarCodeMainFileSave({
Key: API_KEY,
Items: items
}, true);
if (res.code !== 200) {
uni.$u.toast(res.msg);
return;
}
// 6. 使
for (const [index, item] of items.entries()) {
//
if (index > 0) {
await new Promise(resolve => setTimeout(resolve, 1000));
}
createLabel(item);
initPrint();
}
} catch (error) {
console.error('标签打印失败:', error);
uni.$u.toast('操作失败,请重试');
}
}
const initPrint = () => {
if (state.sendData == null) {

View File

@ -111,6 +111,7 @@
inputFocus: true,
scanFrameDataFeedback: {},
shortcutDataFeedback: {},
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -133,7 +134,8 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -161,11 +163,13 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
const confirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
//
const getReceiveBillScanData = (val : string) => {
@ -220,7 +224,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PRD_PPBOM", //
FVHUBFBillNo: state.BillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID

View File

@ -100,6 +100,7 @@
inputFocus: true,
scanFrameDataFeedback: {}, //
shortcutDataFeedback: {}, //
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -119,7 +120,8 @@
}).exec();
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
@ -147,6 +149,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
}, 500)
}
@ -180,7 +183,7 @@
temporaryScanDraftSave({
FVHUBFormId: "PUR_ReceiveBill", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.MaterialNumber, //
FVHUBScanQty: item.BarCodeQty + '', //
FVHUBEntryId: item.Id, //ID

View File

@ -103,6 +103,7 @@
inputFocus: true,
scanFrameDataFeedback: {}, //
shortcutDataFeedback: {}, //
code:''
})
onLoad((pageData : any) => {
console.log(pageData);
@ -123,15 +124,16 @@
})
const scanConfirmFun = (e : any) => {
getReceiveBillScanData(e)
if(e != '') state.code = e
getReceiveBillScanData(state.code)
}
const shortcutBoxShowShow = (val : boolean) => {
state.shortcutRefShow = val
console.log('=============================================',state.shortcutRefShow);
console.log(state.shortcutRefShow);
}
const scanFrameBoxShowShow = (val : boolean) => {
state.scanFrameRefShow = val
console.log('=============================================',state.scanFrameRefShow);
console.log(state.scanFrameRefShow);
}
/**
* 数据逻辑
@ -153,6 +155,7 @@
if (debounceTimer.value !== null) clearTimeout(debounceTimer.value)
debounceTimer.value = setTimeout(() => {
state.queryString = e
if(e != '') state.code = e
if (state.queryString !== '') getReceiveBillScanData(e)
})
}
@ -165,6 +168,8 @@
}).then((res : any) => {
if (res.code == 200) {
console.log(res);
const scanData = res.data
if( scanData.UnScanQty > scanData.BarCodeQty ) scanData.UnScanQty = scanData.BarCodeQty
scanFrameRef.value.getreceiveBillScanData({ ...res.data, queryString: state.queryString, scanFrameShowSate: state.shortcutDataFeedback.scanFrameShowSate, stashVerify: true })
if (Object.keys(state.shortcutDataFeedback).length) {
if (state.shortcutDataFeedback.scanFrameShowSate) {
@ -203,8 +208,8 @@
temporaryScanDraftSave({
FVHUBFormId: "PUR_ReceiveBill", //
FVHUBFBillNo: state.FBillNo, //
FVHUBScanNumber: state.queryString, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanNumber: state.code, //
FVHUBMaterialNumber: item.articlesStr, //
FVHUBScanQty: item.quantityStr + '', //
FVHUBEntryId: scanFrameRef.value.state.receiveBillScanData.Id, //ID
FVHUBFlot: item.batchNumberStr, //

View File

@ -104,7 +104,6 @@ function jumpTo(url : string, query = {}, type : number) {
quertStr += item + '=' + values[index];
}
})
debugger
}
if (url.indexOf('/pages/main/') > -1) {
uni.switchTab({

View File

@ -27,7 +27,7 @@
}, 500)
},
onEvent(event) {
console.log(event);
// console.log(event);
if (event.key != 'Enter' && event.key != 'PrintScreen' && event.key != 'Shift' && event.key != 'Unidentified') { // EnterPrintScreen
this.inputVal = this.inputVal + event.key
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -238,13 +238,13 @@
"pagePath": "pages/main/home",
"iconPath": "/static/tabbar/home.png",
"selectedIconPath": "/static/tabbar/homea.png",
"text": "首页"
"text": "Main Screen"
},
{
"pagePath": "pages/main/mine",
"iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/mea.png",
"text": "我的"
"text": "My"
}
],
"backgroundColor": "#FFF",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -239,13 +239,13 @@
"pagePath": "pages/main/home",
"iconPath": "/static/tabbar/home.png",
"selectedIconPath": "/static/tabbar/homea.png",
"text": "首页"
"text": "Main Screen"
},
{
"pagePath": "pages/main/mine",
"iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/mea.png",
"text": "我的"
"text": "My"
}
],
"backgroundColor": "#FFF",