剩余模块:生产退料

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> <script>
import { import { useI18n } from 'vue-i18n'
useI18n
} from 'vue-i18n'
import { import {
getAppVersion getAppVersion
} from './common/request/api/api' } from './common/request/api/api'
@ -37,10 +35,7 @@
// //
console.log('App Show') console.log('App Show')
const getI18n = useI18n() const getI18n = useI18n()
const { const { t, locale } = getI18n
t,
locale
} = getI18n
if (!uni.getStorageSync('locale')) { if (!uni.getStorageSync('locale')) {
locale.value = 'en' locale.value = 'en'
uni.setStorageSync('locale', locale.value) uni.setStorageSync('locale', locale.value)
@ -55,10 +50,10 @@
url: '/pages/client/account/login', 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 => { getAppVersion().then(res => {
console.log(res); console.log(res);
@ -99,7 +94,6 @@
} }
}) })
// #endif
}, },
onHide: function() { onHide: function() {
console.log('App Hide') 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 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 env from './env';
// import uniChat from "./uniChat"; // 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 // #ifndef APP-PLUS
uni.showLoading({ uni.showLoading({
mask: true mask: true
@ -9,61 +9,60 @@ export default function requst(url : string, type : string, params : any, header
// #ifdef APP-PLUS // #ifdef APP-PLUS
plus.nativeUI.showWaiting(); plus.nativeUI.showWaiting();
// #endif // #endif
console.log('检查URL' + env.API_URL + url,) // console.log('检查URL' + env.API_URL + url,)
console.log('检查TOKEN' + 'Bearer '+ uni.getStorageSync('TOKEN'),) // console.log('检查TOKEN' + 'Bearer '+ uni.getStorageSync('TOKEN'),)
console.log(params); console.log('检查请求体', params);
var apiHeader = '' var apiHeader = ''
var headerObj = {} var headerObj = {}
if(url.indexOf('http') !== -1){ if (url.indexOf('http') !== -1) {
apiHeader = url apiHeader = url
headerObj = {} headerObj = {}
} else { } else {
apiHeader = env.API_URL + url apiHeader = env.API_URL + url
headerObj = { headerObj = {
Authorization: 'Bearer '+ uni.getStorageSync('TOKEN') || '' Authorization: 'Bearer ' + uni.getStorageSync('TOKEN') || ''
} }
} }
console.log(apiHeader); // console.log(apiHeader);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.request({ uni.request({
url: apiHeader, url: apiHeader,
method: type, method: type,
data: params, data: params,
sslVerify:false, sslVerify: false,
header: { header: {
...headerObj ...headerObj
}, },
timeout: 5000, timeout: 5000,
success(result : any) { success(result : any) {
console.log(result); console.log('检查返回', result);
let res = result.data; let res = result.data;
if (res.code === 200) { if (res.code === 200) {
resolve(res); 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 { } else {
if(!noMsg){ // if (!noMsg) {
setTimeout(() => { // setTimeout(() => {
uni.showToast({ // uni.showToast({
icon: 'none', // icon: 'none',
mask: true, // mask: true,
title: res.msg // 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) resolve(res)
} }
}, },

View File

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

View File

@ -38,7 +38,7 @@
</view> </view>
<view class="input-box" v-if="screeningTypes('quantityStr')"> <view class="input-box" v-if="screeningTypes('quantityStr')">
<view class="input-item"> <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"> v-model="state.scanFrame.quantityStr" @change="quantityStrChangeFun">
<template #prefix> <template #prefix>
<view class="item-title">{{ t('public.qty') }}</view> <view class="item-title">{{ t('public.qty') }}</view>
@ -84,6 +84,12 @@
default: () => { default: () => {
return ['warehouseStr', 'locationStr', 'articlesStr', 'quantityStr', 'batchNumberStr'] return ['warehouseStr', 'locationStr', 'articlesStr', 'quantityStr', 'batchNumberStr']
} }
},
qtyState: {
type: Boolean,
default: () => {
return false
}
} }
}) })
const state = reactive({ const state = reactive({
@ -126,7 +132,7 @@
state.componentsData = obj state.componentsData = obj
state.scanFrame.warehouseStr = obj.warehouseStr state.scanFrame.warehouseStr = obj.warehouseStr
state.scanFrame.locationStr = obj.locationStr state.scanFrame.locationStr = obj.locationStr
state.scanFrame.quantityStr = obj.quantityStr state.scanFrame.quantityStr = props.qtyState ? 1 : obj.quantityStr
state.scanFrame.batchNumberStr = obj.batchNumberStr state.scanFrame.batchNumberStr = obj.batchNumberStr
state.warehouseData = obj.warehouseData state.warehouseData = obj.warehouseData
state.locationData = obj.locationData state.locationData = obj.locationData
@ -222,7 +228,7 @@
state.show = true state.show = true
state.quantityStrState = true state.quantityStrState = true
} else if (state.scanFrame.quantityStr == '') { } 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.articlesStr = state.receiveBillScanData.MaterialNumber
state.scanFrame.barCodeStr = state.receiveBillScanData.queryString state.scanFrame.barCodeStr = state.receiveBillScanData.queryString
@ -282,6 +288,8 @@
state.quantityStrState = false state.quantityStrState = false
} else { } else {
state.quantityStrState = true 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': '登录', 'loginbtn': '登录',
'qsrzh': '请输入您的账号', 'qsrzh': '请输入您的账号',
'qsrmm': '请输入您的密码', 'qsrmm': '请输入您的密码',
'Language': '语言' 'Language': '语言',
'tcdl':'退出登录'
}, },
tab: { tab: {
home: '首页' home: '首页'
@ -16,6 +17,7 @@ export const cn = {
'scfl': '生产发料', 'scfl': '生产发料',
'scbl': '生产补料', 'scbl': '生产补料',
'sctl': '生产退料', 'sctl': '生产退料',
'sctlyz': '生产退料验证',
'sctc': '生产投产', 'sctc': '生产投产',
'scrk': '生产入库', 'scrk': '生产入库',
'sczx': '生产装箱', 'sczx': '生产装箱',
@ -23,6 +25,8 @@ export const cn = {
'kssc': '开始生产', 'kssc': '开始生产',
'kscs': '开始测试', 'kscs': '开始测试',
'kshb': '开始汇报', 'kshb': '开始汇报',
'plxsck': '批量销售出库',
'wlbzcf':'物料包装拆分'
}, },
verify: { verify: {
'grn': '收料通知单号', 'grn': '收料通知单号',
@ -69,6 +73,7 @@ export const cn = {
}, },
receive: { receive: {
'djbh': '单据编号', 'djbh': '单据编号',
'djbh1': '单据',
'rq': '日期', 'rq': '日期',
'code': '条码', 'code': '条码',
'wlmc': '物料名称', 'wlmc': '物料名称',
@ -148,6 +153,10 @@ export const cn = {
'ljcg':'连接成功', 'ljcg':'连接成功',
'ljsb':'连接失败', 'ljsb':'连接失败',
'cjbqsb':'创建标签失败', 'cjbqsb':'创建标签失败',
'ljydk':'连接已断开,请重新连接' 'ljydk':'连接已断开,请重新连接',
'sxdj':'所选单据',
'yzdj':'验证单据',
'sdn':'销售出库单号',
'slbndy':'数量不能大于'
} }
} }

View File

@ -5,7 +5,8 @@ export const en = {
'loginbtn': 'Login', 'loginbtn': 'Login',
'qsrzh': 'Please input your user name', 'qsrzh': 'Please input your user name',
'qsrmm': 'please input your password', 'qsrmm': 'please input your password',
'Language': 'Language' 'Language': 'Language',
'tcdl': 'Log out'
}, },
tab: { tab: {
'home': 'Maxcess Barcode System', 'home': 'Maxcess Barcode System',
@ -16,6 +17,7 @@ export const en = {
'scfl': 'Picking List', 'scfl': 'Picking List',
'scbl': 'Replenishment', 'scbl': 'Replenishment',
'sctl': 'Production Return', 'sctl': 'Production Return',
'sctlyz': 'Production Return Verify',
'sctc': 'Production', 'sctc': 'Production',
'scrk': 'MO Receipt', 'scrk': 'MO Receipt',
'sczx': 'MO Packing', 'sczx': 'MO Packing',
@ -23,6 +25,8 @@ export const en = {
'kssc': 'MO Start', 'kssc': 'MO Start',
'kscs': 'MO Test', 'kscs': 'MO Test',
'kshb': 'MO Report', 'kshb': 'MO Report',
'plxsck': 'Sales delivery Batch',
'wlbzcf':'Split Label'
}, },
verify: { verify: {
'grn': 'GRN #', 'grn': 'GRN #',
@ -46,29 +50,30 @@ export const en = {
'noDataMessage': 'No data is submitted!', 'noDataMessage': 'No data is submitted!',
'smjl': 'Records', 'smjl': 'Records',
'mrz': 'Default', 'mrz': 'Default',
'ckmc':'W/H Name', 'ckmc': 'W/H Name',
'cwmc':' Bin #', 'cwmc': ' Bin #',
'qty': 'QTY', 'qty': 'QTY',
'mmsph': 'Maxcess Lot #', 'mmsph': 'Maxcess Lot #',
'xzck': 'Select W/H name', 'xzck': 'Select W/H name',
'xzcw':'Select Bin name', 'xzcw': 'Select Bin name',
'cwwqy':'Bin is not enabled', 'cwwqy': 'Bin is not enabled',
'qsrsl':'Please input the QTY', 'qsrsl': 'Please input the QTY',
'qsrmssph':'Please input Maxcess Lot #', 'qsrmssph': 'Please input Maxcess Lot #',
'gdtcckMessage':'Prompt Windows', 'gdtcckMessage': 'Prompt Windows',
'gdtc':'Normal Prompt', 'gdtc': 'Normal Prompt',
'yctc':'Error Prompt', 'yctc': 'Error Prompt',
'cz':'Reset', 'cz': 'Reset',
'bc':'Save', 'bc': 'Save',
'qxzck':'Please select W/H', 'qxzck': 'Please select W/H',
'qxzcw':'Please select Bin', 'qxzcw': 'Please select Bin',
'wlbm': 'Part Number', 'wlbm': 'Part Number',
'qsrwlbmmessage':'Please input the material part number', 'qsrwlbmmessage': 'Please input the material part number',
'tm': 'QR Code', 'tm': 'QR Code',
'xxh':'SN #' 'xxh': 'SN #'
}, },
receive: { receive: {
'djbh': 'Order', 'djbh': 'Order',
'djbh1': 'Order',
'code': 'Code', 'code': 'Code',
'rq': 'Date', 'rq': 'Date',
'wlmc': 'Name of material', 'wlmc': 'Name of material',
@ -80,74 +85,78 @@ export const en = {
'ws': 'Not yet', 'ws': 'Not yet',
'yss': 'Should', 'yss': 'Should',
}, },
index:{ index: {
'bccg':'Save Successfully', 'bccg': 'Save Successfully',
'tj':'Add', 'tj': 'Add',
'zxddh':'Prod Packing #', 'zxddh': 'Prod Packing #',
'scddbh':'MO #', 'scddbh': 'MO #',
'sczx':'Prod Packing', 'sczx': 'Prod Packing',
'bz':'Material Packing #', 'bz': 'Material Packing #',
'minbz':'Material Mini Package #', 'minbz': 'Material Mini Package #',
'ts':'Prompt', 'ts': 'Prompt',
'qdysc':'Please confirm the deletion', 'qdysc': 'Please confirm the deletion',
'qx':'Cancel', 'qx': 'Cancel',
'qd':'Confirm', 'qd': 'Confirm',
'ysc':'Deleted', 'ysc': 'Deleted',
'ctll':'Kit Picking', 'ctll': 'Kit Picking',
'ctllyz':'Kit Picking Verify', 'ctllyz': 'Kit Picking Verify',
'scylqddh':'Prod BOM List #', 'scylqddh': 'Prod BOM List #',
'hbbdh':'MO report', 'hbbdh': 'MO report',
'qdytsccsjm':'Data submitting comfirmation', 'qdytsccsjm': 'Data submitting comfirmation',
'rb':'Concession', 'rb': 'Concession',
'hg':'Qualified', 'hg': 'Qualified',
'bmygtsj':'No data is found', 'bmygtsj': 'No data is found',
'scdd':'MO', 'scdd': 'MO',
'ksscsj':'MO Starting Time', 'ksscsj': 'MO Starting Time',
'kscssj':'Test Starting Time', 'kscssj': 'Test Starting Time',
'kshbsj':'MO Report Time', 'kshbsj': 'MO Report Time',
'kstcgs':'QTY', 'kstcgs': 'QTY',
'kssc':'Production Starting ', 'kssc': 'Production Starting',
'kshb':'Test Starting', 'kscs': 'Test Starting',
'kscs':'MO Report', 'kshb': 'MO Report',
'qxjxsc':'You have not started the MO', 'qxjxsc': 'You have not started the MO',
'zwck':'No W/H is found', 'zwck': 'No W/H is found',
'cpmc':'FG name', 'cpmc': 'FG name',
'cpbm':'FG Part Number', 'cpbm': 'FG Part Number',
'scsl':'QTY', 'scsl': 'QTY',
'llts':'Kit Picking QTY', 'llts': 'Kit Picking QTY',
'qsrllts':'Please input the QTY', 'qsrllts': 'Please input the QTY',
'llthbddy':'The number exceeds the MO requirement', 'llthbddy': 'The number exceeds the MO requirement',
'csllddh':'Material Picking List #', 'csllddh': 'Material Picking List #',
'ck':'W/H', 'ck': 'W/H',
'ckcx':'W/H Query', 'ckcx': 'W/H Query',
'ckbh':'W/H #', 'ckbh': 'W/H #',
'cw':'Bin Name', 'cw': 'Bin Name',
'cwcx':'Bin Query', 'cwcx': 'Bin Query',
'cwbh':'Bin #', 'cwbh': 'Bin #',
'wzdgcw':'Bin # is not found', 'wzdgcw': 'Bin # is not found',
'ksmcw':'Scan Bin #', 'ksmcw': 'Scan Bin #',
'qsrph':'Input Lot #', 'qsrph': 'Input Lot #',
'cwwqy':'Bin # is not enabled', 'cwwqy': 'Bin # is not enabled',
'ymrckbt':'Different W/H from default. Replace?', 'ymrckbt': 'Different W/H from default. Replace?',
'gmkxyzdck':'W/H is required', 'gmkxyzdck': 'W/H is required',
'cwyqy':'Bin # is required', 'cwyqy': 'Bin # is required',
'phbnwk':'Lot # is required', 'phbnwk': 'Lot # is required',
'slbnwk':'QTY is must greater than 0', 'slbnwk': 'QTY is must greater than 0',
'zwsmsj':'No data is found.', 'zwsmsj': 'No data is found.',
'hgrksl':'Qualified QTY', 'hgrksl': 'Qualified QTY',
'qdyqbsc':'All records deletion confirmation.', 'qdyqbsc': 'All records deletion confirmation.',
'tqbsc':'Deletion Successfully!', 'tqbsc': 'Deletion Successfully!',
'qbsc':'Delete all', 'qbsc': 'Delete all',
'zwph':'Lot # is not found.', 'zwph': 'Lot # is not found.',
'dyj':'Printer', 'dyj': 'Printer',
'qxzdyj':'Please select printer', 'qxzdyj': 'Please select printer',
'zbdy':'Printing is ready', 'zbdy': 'Printing is ready',
'sbmc':'Device Name', 'sbmc': 'Device Name',
'sbbm':'Device Code', 'sbbm': 'Device Code',
'whqdlyqx':'Bluethooth is not connected', 'whqdlyqx': 'Bluethooth is not connected',
'ljcg':'connection is successful.', 'ljcg': 'connection is successful.',
'ljsb':'connection failed.', 'ljsb': 'connection failed.',
'cjbqsb':'QR code creation is failed', 'cjbqsb': 'QR code creation is failed',
'ljydk':'Bluetooth is disconnected,please re-connect to the Bluetooth.' '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" "^l-(.*)": "@/components/l-ui/components/l-$1/l-$1.vue"
} }
}, },
"pages": [ "pages": [{
{
"path": "pages/main/home" "path": "pages/main/home"
}, },
{ {
@ -69,6 +68,17 @@
{ {
"path": "pages/returnMaterials/material" "path": "pages/returnMaterials/material"
}, },
{
"path": "pages/returnMaterials/print"
},
{
"path": "pages/productionReturnVerify/index"
},
{
"path": "pages/productionReturnVerify/material"
},
{ {
"path": "pages/ruleClaim/index" "path": "pages/ruleClaim/index"
}, },
@ -122,7 +132,7 @@
}, },
{ {
"path": "pages/BatchOutOftock/index" "path": "pages/BatchOutOftock/index"
}, },
{ {
"path": "pages/BatchOutOftock/material" "path": "pages/BatchOutOftock/material"
}, },
@ -144,7 +154,7 @@
"popGesture": "none", "popGesture": "none",
"animationType": "fade-in", "animationType": "fade-in",
"animationDuration": 200 "animationDuration": 200
} }
} }
} }
@ -174,13 +184,13 @@
"pagePath": "pages/main/home", "pagePath": "pages/main/home",
"iconPath": "static/tabbar/home.png", "iconPath": "static/tabbar/home.png",
"selectedIconPath": "static/tabbar/homea.png", "selectedIconPath": "static/tabbar/homea.png",
"text": "首页" "text": "Main Screen"
}, },
{ {
"pagePath": "pages/main/mine", "pagePath": "pages/main/mine",
"iconPath": "static/tabbar/me.png", "iconPath": "static/tabbar/me.png",
"selectedIconPath": "static/tabbar/mea.png", "selectedIconPath": "static/tabbar/mea.png",
"text": "我的" "text": "My"
} }
] ]
}, },

View File

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

View File

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

View File

@ -5,7 +5,7 @@
<view class="list-box-list" v-if="state.dataList.length > 0"> <view class="list-box-list" v-if="state.dataList.length > 0">
<view class="data-item" @click.stop="fnToUrl(item)" <view class="data-item" @click.stop="fnToUrl(item)"
v-for="(item, index) in state.dataList" :key="index"> 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="line-p"></view>
<view class="b-font">{{ t('receive.rq') }}{{item.FDateFormat}}</view> <view class="b-font">{{ t('receive.rq') }}{{item.FDateFormat}}</view>
</view> </view>

View File

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

View File

@ -23,7 +23,7 @@
<view class="type-item-text">{{ t('home.cgrk') }}</view> <view class="type-item-text">{{ t('home.cgrk') }}</view>
</view> </view>
<view class="type-item type-item-jz" @tap="toPages('/pages/split/index')"> <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>
<view class="type-item type-item-hl" @tap="toPages('/pages/material/index')"> <view class="type-item type-item-hl" @tap="toPages('/pages/material/index')">
<view class="type-item-text">{{ t('home.scfl') }}</view> <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 type-item-hl" @tap="toPages('/pages/returnMaterials/index')">
<view class="type-item-text">{{ t('home.sctl') }}</view> <view class="type-item-text">{{ t('home.sctl') }}</view>
</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 type-item-hl" @tap="toPages('/pages/ruleClaim/index')">
<view class="type-item-text">{{ t('index.ctll') }}</view> <view class="type-item-text">{{ t('index.ctll') }}</view>
</view> </view>
@ -53,7 +58,7 @@
<view class="type-item-text">{{ t('home.xxck') }}</view> <view class="type-item-text">{{ t('home.xxck') }}</view>
</view> </view>
<view class="type-item type-item-hl" @tap="toPages('/pages/BatchOutOftock/index')"> <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> </view>
</template> </template>
</view> </view>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -27,7 +27,7 @@
}, 500) }, 500)
}, },
onEvent(event) { onEvent(event) {
console.log(event); // console.log(event);
if (event.key != 'Enter' && event.key != 'PrintScreen' && event.key != 'Shift' && event.key != 'Unidentified') { // EnterPrintScreen if (event.key != 'Enter' && event.key != 'PrintScreen' && event.key != 'Shift' && event.key != 'Unidentified') { // EnterPrintScreen
this.inputVal = this.inputVal + event.key 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", "pagePath": "pages/main/home",
"iconPath": "/static/tabbar/home.png", "iconPath": "/static/tabbar/home.png",
"selectedIconPath": "/static/tabbar/homea.png", "selectedIconPath": "/static/tabbar/homea.png",
"text": "首页" "text": "Main Screen"
}, },
{ {
"pagePath": "pages/main/mine", "pagePath": "pages/main/mine",
"iconPath": "/static/tabbar/me.png", "iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/mea.png", "selectedIconPath": "/static/tabbar/mea.png",
"text": "我的" "text": "My"
} }
], ],
"backgroundColor": "#FFF", "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", "pagePath": "pages/main/home",
"iconPath": "/static/tabbar/home.png", "iconPath": "/static/tabbar/home.png",
"selectedIconPath": "/static/tabbar/homea.png", "selectedIconPath": "/static/tabbar/homea.png",
"text": "首页" "text": "Main Screen"
}, },
{ {
"pagePath": "pages/main/mine", "pagePath": "pages/main/mine",
"iconPath": "/static/tabbar/me.png", "iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/mea.png", "selectedIconPath": "/static/tabbar/mea.png",
"text": "我的" "text": "My"
} }
], ],
"backgroundColor": "#FFF", "backgroundColor": "#FFF",