剩余模块:生产退料
This commit is contained in:
parent
63a44af1d8
commit
03e22dd9f6
16
App.vue
16
App.vue
@ -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')
|
||||||
|
@ -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});
|
@ -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)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
13
i18n/cn.ts
13
i18n/cn.ts
@ -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':'数量不能大于'
|
||||||
}
|
}
|
||||||
}
|
}
|
179
i18n/en.ts
179
i18n/en.ts
@ -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'
|
||||||
}
|
}
|
||||||
}
|
}
|
22
pages.json
22
pages.json
@ -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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -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) => {
|
||||||
|
@ -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 => {
|
||||||
|
@ -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 {
|
||||||
|
@ -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>
|
||||||
|
@ -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) {
|
||||||
|
@ -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>
|
||||||
|
@ -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:{}
|
||||||
})
|
})
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
208
pages/productionReturnVerify/index.vue
Normal file
208
pages/productionReturnVerify/index.vue
Normal 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>
|
428
pages/productionReturnVerify/material.vue
Normal file
428
pages/productionReturnVerify/material.vue
Normal 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>
|
@ -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'))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 {
|
||||||
|
@ -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 })
|
||||||
|
@ -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>
|
||||||
|
@ -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}`)
|
||||||
|
@ -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
|
||||||
|
@ -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 => {
|
||||||
|
@ -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})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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: {
|
||||||
|
@ -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){
|
||||||
|
@ -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) {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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, //批号
|
||||||
|
@ -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({
|
||||||
|
@ -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') { // 拼接输入的值,Enter与PrintScreen是物理按钮要排除
|
if (event.key != 'Enter' && event.key != 'PrintScreen' && event.key != 'Shift' && event.key != 'Unidentified') { // 拼接输入的值,Enter与PrintScreen是物理按钮要排除
|
||||||
this.inputVal = this.inputVal + event.key
|
this.inputVal = this.inputVal + event.key
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
10
unpackage/dist/build/app-plus/app-service.js
vendored
10
unpackage/dist/build/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
4
unpackage/dist/build/app-plus/manifest.json
vendored
4
unpackage/dist/build/app-plus/manifest.json
vendored
@ -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
1
unpackage/dist/build/app-plus/pages/split/index.css
vendored
Normal file
1
unpackage/dist/build/app-plus/pages/split/index.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
unpackage/dist/build/app-plus/pages/split/print.css
vendored
Normal file
1
unpackage/dist/build/app-plus/pages/split/print.css
vendored
Normal file
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
2235
unpackage/dist/dev/app-plus/app-service.js
vendored
2235
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
4
unpackage/dist/dev/app-plus/manifest.json
vendored
4
unpackage/dist/dev/app-plus/manifest.json
vendored
@ -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",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user