领料出库扫描
This commit is contained in:
parent
008a19695f
commit
7772b9d805
|
|
@ -13,7 +13,7 @@ const scanQrCode = () => {
|
||||||
console.log("扫一扫");
|
console.log("扫一扫");
|
||||||
console.log("window对象", window);
|
console.log("window对象", window);
|
||||||
|
|
||||||
// document.addEventListener("deviceready", onDeviceReady.bind(this), false);
|
document.addEventListener("deviceready", onDeviceReady.bind(this), false);
|
||||||
|
|
||||||
function onDeviceReady() {
|
function onDeviceReady() {
|
||||||
// Cordova is now initialized. Have fun!
|
// Cordova is now initialized. Have fun!
|
||||||
|
|
|
||||||
|
|
@ -444,7 +444,7 @@ const scanStart = () => {
|
||||||
|
|
||||||
// 处理扫描成功事件
|
// 处理扫描成功事件
|
||||||
const handleScanSuccess = (result) => {
|
const handleScanSuccess = (result) => {
|
||||||
qrCodeScan.value = result
|
qrCodeScan.value = result?.text || ''
|
||||||
if (qrCodeScan.value === "") {
|
if (qrCodeScan.value === "") {
|
||||||
uni.showToast({ title: '扫码识别失败', icon: 'none' })
|
uni.showToast({ title: '扫码识别失败', icon: 'none' })
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="page-container">
|
<view class="page-container">
|
||||||
<view>
|
<!-- <view>
|
||||||
<live-pusher v-once id="livePusher" ref="livePusher" class="livePusher" mode="FHD" beauty="0" whiteness="0"
|
<live-pusher v-once id="livePusher" ref="livePusher" class="livePusher" mode="FHD" beauty="0" whiteness="0"
|
||||||
device-position="back" :auto-focus="false" :muted="true" :enable-camera="true" :enable-mic="true"
|
device-position="back" :auto-focus="false" :muted="true" :enable-camera="true" :enable-mic="true"
|
||||||
:zoom="true" :style="[{height: cameraHeight+'rpx' ,width:'750rpx'}]">
|
:zoom="true" :style="[{height: cameraHeight+'rpx' ,width:'750rpx'}]">
|
||||||
</live-pusher>
|
</live-pusher>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="table-list-item">
|
<view class="table-list-item">
|
||||||
<view class="scan-btn" @click="handleInstruct('shutter')">
|
<view class="scan-btn" @click="handleInstruct()">
|
||||||
<text style="color: #FFF;">开始识别</text>
|
<text style="color: #FFF;">开始识别</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
queryCodeParams:{
|
queryCodeParams:{
|
||||||
maCode:""
|
maCode:""
|
||||||
},
|
},
|
||||||
codeData:{}
|
codeData:{},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
|
|
@ -80,49 +80,204 @@
|
||||||
this.queryCodeParams.typeId = this.queryParams.typeId;
|
this.queryCodeParams.typeId = this.queryParams.typeId;
|
||||||
},
|
},
|
||||||
onReady() {
|
onReady() {
|
||||||
this.cameraHeight = uni.getSystemInfoSync().screenHeight * 0.22
|
// this.cameraHeight = uni.getSystemInfoSync().screenHeight * 0.22
|
||||||
console.log(this.cameraHeight)
|
// console.log(this.cameraHeight)
|
||||||
this.init()
|
// this.init()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//初始化相机
|
//初始化相机
|
||||||
init() {
|
// init() {
|
||||||
this.livePusher = uni.createLivePusherContext('livePusher', this);
|
// this.livePusher = uni.createLivePusherContext('livePusher', this);
|
||||||
console.log(this.livePusher)
|
// console.log(this.livePusher)
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
this.startPreview()
|
// this.startPreview()
|
||||||
}, 1000)
|
// }, 1000)
|
||||||
},
|
// },
|
||||||
// 开始相机
|
// // 开始相机
|
||||||
startPreview() {
|
// startPreview() {
|
||||||
this.livePusher.startPreview({
|
// this.livePusher.startPreview({
|
||||||
success: () => {
|
// success: () => {
|
||||||
console.log('相机初始化成功');
|
// console.log('相机初始化成功');
|
||||||
switch (plus.os.name) {
|
// switch (plus.os.name) {
|
||||||
case 'Android':
|
// case 'Android':
|
||||||
break;
|
// break;
|
||||||
case 'iOS':
|
// case 'iOS':
|
||||||
this.livePusher.switchCamera()
|
// this.livePusher.switchCamera()
|
||||||
break
|
// break
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// fail: (err) => {
|
||||||
|
// console.log(err)
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
//截屏
|
||||||
|
handleInstruct() {
|
||||||
|
// 弹出操作菜单,让用户选择拍照或从相册选择
|
||||||
|
uni.showActionSheet({
|
||||||
|
itemList: ['拍照', '从相册选择'],
|
||||||
|
success: (res) => {
|
||||||
|
if (res.tapIndex === 0) {
|
||||||
|
this.getCamera()
|
||||||
|
} else if (res.tapIndex === 1) {
|
||||||
|
// 从相册选择
|
||||||
|
uni.chooseImage({
|
||||||
|
count: 1,
|
||||||
|
sourceType: ['album'],
|
||||||
|
success: async (res) => {
|
||||||
|
// ... 已有代码 ...
|
||||||
|
const tempFilePath = res.tempFilePaths[0];
|
||||||
|
console.log('选择的图片路径:', tempFilePath);
|
||||||
|
// 调用图片识别接口,这里需要替换为实际的接口
|
||||||
|
let base64 = await this.imgToBase64(tempFilePath); // 修正这里的参数
|
||||||
|
let params = {
|
||||||
|
image: base64,
|
||||||
|
jiju_type: '12231',
|
||||||
|
auth_lic:
|
||||||
|
'xIWDlaDVdijcBB4mjhGCPYk5Kvk8tHZJbUn+vW+ih15+MYx98e/PXyBmKL5gFcWMPznLgDA15QuSAnZQSLddwdy9HkZgtuQDEEZZ351Eyb1eiDUccUnyoSGIrNimbx5TooBNNPYqU4qJeFrPJXAqjBHzRrxoBxuR2CEGKQPgHC4=',
|
||||||
|
};
|
||||||
|
uni.request({
|
||||||
|
url: '/material/app/ocr/getOcrCode',
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', // 根据后端要求设置请求头,常见的 POST 请求数据格式为 JSON
|
||||||
|
},
|
||||||
|
success: (res) => {
|
||||||
|
console.log('88888888', res);
|
||||||
|
if (res.code == 200) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '出库成功!',
|
||||||
|
icon: 'none',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.showToast({ title: '出库失败!', icon: 'none' }); // 修正提示信息
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请求失败:' + err.errMsg,
|
||||||
|
icon: 'none',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
console.error('选择图片失败:', err);
|
||||||
|
uni.showToast({
|
||||||
|
title: '选择图片失败',
|
||||||
|
icon: 'none',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
console.log(err)
|
console.error('操作菜单选择失败:', err);
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//截屏
|
|
||||||
handleInstruct(instruct) {
|
imgToBase64(filePath) {
|
||||||
if (this.ready) {
|
return new Promise((resolve, reject) => {
|
||||||
this.ready = false
|
return new Promise((resolve, reject) => {
|
||||||
this.livePusher.snapshot({
|
const xhr = new XMLHttpRequest();
|
||||||
success: (res) => {
|
xhr.open('GET', filePath, true);
|
||||||
console.log(res)
|
xhr.responseType = 'blob';
|
||||||
this.ready = true
|
xhr.onload = () => {
|
||||||
this.$emit('getImage', res.message.tempImagePath)
|
if (xhr.status === 200) {
|
||||||
|
const reader = new FileReader();
|
||||||
|
reader.onloadend = (evt) => {
|
||||||
|
// 去掉 data:URL 前缀
|
||||||
|
const base64WithoutPrefix = evt.target.result.split(',')[1];
|
||||||
|
resolve(base64WithoutPrefix);
|
||||||
|
};
|
||||||
|
reader.onerror = reject;
|
||||||
|
reader.readAsDataURL(xhr.response);
|
||||||
|
} else {
|
||||||
|
reject(new Error(`请求图片失败,状态码: ${xhr.status}`));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.onerror = reject;
|
||||||
|
xhr.send();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
getCamera() {
|
||||||
|
console.log(1);
|
||||||
|
navigator.camera.getPicture(this.onCameraSuccess, this.onCameraError, {
|
||||||
|
quality: 50,
|
||||||
|
destinationType: window.Camera.DestinationType.DATA_URL,
|
||||||
|
sourceType: window.Camera.PictureSourceType.CAMERA,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getPhoto() {
|
||||||
|
console.log(2);
|
||||||
|
navigator.camera.getPicture(this.onCameraSuccess, this.onCameraError, {
|
||||||
|
quality: 50,
|
||||||
|
destinationType: window.Camera.DestinationType.DATA_URL,
|
||||||
|
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onCameraError(message) {
|
||||||
|
console.log(message);
|
||||||
|
},
|
||||||
|
onCameraSuccess(file) {
|
||||||
|
// const file1 = "data:image/jpeg;base64," + file;
|
||||||
|
const file1 = file;
|
||||||
|
let params = {
|
||||||
|
image: file1,
|
||||||
|
jiju_type: '',
|
||||||
|
auth_lic:
|
||||||
|
'xIWDlaDVdijcBB4mjhGCPYk5Kvk8tHZJbUn+vW+ih15+MYx98e/PXyBmKL5gFcWMPznLgDA15QuSAnZQSLddwdy9HkZgtuQDEEZZ351Eyb1eiDUccUnyoSGIrNimbx5TooBNNPYqU4qJeFrPJXAqjBHzRrxoBxuR2CEGKQPgHC4=',
|
||||||
|
};
|
||||||
|
// this.$http
|
||||||
|
// .post("/dzqm/uploadSignature", {
|
||||||
|
// base64Str: file1,
|
||||||
|
// })
|
||||||
|
// .then((res) => {
|
||||||
|
// console.log(res);
|
||||||
|
// if (res.code == 200) {
|
||||||
|
// // this.src = file
|
||||||
|
// this.$set(this.obj, "src", file1);
|
||||||
|
// this.$toast("上传成功!");
|
||||||
|
// this.PictureVisible = false;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
uni.request({
|
||||||
|
url: '/material/app/ocr/getOcrCode',
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', // 根据后端要求设置请求头,常见的 POST 请求数据格式为 JSON
|
||||||
|
},
|
||||||
|
success: (res) => {
|
||||||
|
|
||||||
|
console.log('88888888', res);
|
||||||
|
const resData = JSON.stringify(res, null, 2);
|
||||||
|
uni.showModal({
|
||||||
|
title: '返回数据',
|
||||||
|
content: resData,
|
||||||
|
showCancel: false, // 不显示取消按钮
|
||||||
|
});
|
||||||
|
if (res.code == 200) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '出库成功!',
|
||||||
|
icon: 'none',
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
uni.showToast({ title: '出库失败!', icon: 'none' }); // 修正提示信息
|
||||||
}
|
}
|
||||||
})
|
},
|
||||||
}
|
fail: (err) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请求失败:' + err.errMsg,
|
||||||
|
icon: 'none',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
},
|
},
|
||||||
//编码检索
|
//编码检索
|
||||||
async getCode(){
|
async getCode(){
|
||||||
|
|
@ -248,7 +403,7 @@
|
||||||
.outbound-btn {
|
.outbound-btn {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 40rpx;
|
bottom: 40rpx;
|
||||||
left: 20%;
|
left: 10%;
|
||||||
/* transform: translateX(-50%); */
|
/* transform: translateX(-50%); */
|
||||||
/* width: 90%; */
|
/* width: 90%; */
|
||||||
height: 88rpx;
|
height: 88rpx;
|
||||||
|
|
@ -7,8 +7,8 @@ import { useMemberStore } from '@/stores'
|
||||||
*/
|
*/
|
||||||
const ENV = process.env.NODE_ENV
|
const ENV = process.env.NODE_ENV
|
||||||
// export const baseURL = ENV === 'development' ? 'http://192.168.0.244:18580' : 'http://192.168.0.244:18580'//测试
|
// export const baseURL = ENV === 'development' ? 'http://192.168.0.244:18580' : 'http://192.168.0.244:18580'//测试
|
||||||
export const baseURL = ENV === 'development' ? 'http://sgwpdm.ah.sgcc.com.cn/iws/jiju-api/' : 'http://sgwpdm.ah.sgcc.com.cn/iws/jiju-api/'//生产
|
// export const baseURL = ENV === 'development' ? 'http://sgwpdm.ah.sgcc.com.cn/iws/jiju-api/' : 'http://sgwpdm.ah.sgcc.com.cn/iws/jiju-api/'//生产
|
||||||
// export const baseURL = ENV === 'development' ? '/api' : '/iws/jiju-api'; // 宏源服务
|
export const baseURL = ENV === 'development' ? '/api' : '/iws/jiju-api'; // 宏源服务
|
||||||
// export const baseURL = ENV === 'development' ? 'http://192.168.0.234:18080' : '***'
|
// export const baseURL = ENV === 'development' ? 'http://192.168.0.234:18080' : '***'
|
||||||
// export const baseURL = ENV === 'development' ? 'http://192.168.2.27:18080' : 'http://192.168.2.27:18080'//马
|
// export const baseURL = ENV === 'development' ? 'http://192.168.2.27:18080' : 'http://192.168.2.27:18080'//马
|
||||||
// export const baseURL = ENV === 'development' ? '/api' : '***'
|
// export const baseURL = ENV === 'development' ? '/api' : '***'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue