退料,维修

This commit is contained in:
hongchao 2025-07-30 18:04:35 +08:00
parent 8d73fc449e
commit 69b3704d06
5 changed files with 460 additions and 226 deletions

View File

@ -122,11 +122,11 @@ const scanQrCodeRef = ref(null)
//
const codeScan = async () => {
qrCode.value = ''
if (scanQrCodeRef.value) {
scanQrCodeRef.value.scanQrCode()
}
qrCode.value = '201808-02723'
getMaInfoScan()
// if (scanQrCodeRef.value) {
// scanQrCodeRef.value.scanQrCode()
// }
// var mpaasScanModule = uni.requireNativePlugin('Mpaas-Scan-Module')
// mpaasScanModule.mpaasScan(
// {
@ -189,6 +189,11 @@ const changeRadio = (e) => {
const codeSearch = async () => {
console.log("xxxxxxxxxxxxx",maInfo.value.maCode)
if(!maInfo.value.maCode){
uni.showToast({ title: '请先输入设备编码!', icon: 'none' })
return
}
let param = {
maCode: maInfo.value.maCode,
}

View File

@ -174,8 +174,8 @@ const onClick = (e, item, itemIndex) => {
if(res.code==200){
uni.showToast({ title: '删除成功', icon: 'none' })
getTableList()
}else{
uni.showToast({ title: '删除失败', icon: 'none' })
}else{ un
i.showToast({ title: '删除失败', icon: 'none' })
}
}).catch(error => {
console.log(error)
@ -197,7 +197,7 @@ const submit = async () => {
} catch (error) {
console.log('🚀 ~ submit ~ error:', error)
uni.showToast({ title: '删除失败', icon: 'none' })
uni.showToast({ title: error.data.msg, icon: 'none' })
}
// console.log(param)
// submitBackApply(param).then(res => {

View File

@ -231,46 +231,117 @@ const imgBeseUrl = ref('') //图片展示
const bmFileInfos = ref([]) //
//
const uploadImg = (item) => {
console.log('🚀 ~ uploadImg ~ item:', item)
uni.chooseImage({
count: 1, //
sizeType: ['original', 'compressed'], //original compressed
sourceType: ['album', 'camera'], //album camera 使
// if(item.imgBeseUrl){
// uni.showToast({ title: '', icon: 'none' })
// return
// }
// const count = 1 - imgList.value.length
// if (count <= 0) {
// uni.showToast({ title: '1', icon: 'none' })
// return
// }else{
uni.showActionSheet({
itemList: ['拍照', '从相册选择'],
success: (res) => {
console.log(res)
let imgFiles = res.tempFilePaths //
item.imgBeseUrl = imgFiles[0]
// console.log('', baseURL+"/file/upload")
uni.uploadFile({
// url: baseURL+"/file/upload",//app
url: '/file/upload', //h5
filePath: imgFiles[0],
name: 'file',
success: (res) => {
res = JSON.parse(res.data)
console.log('上传成功', res)
if (res.code && res.code == 200) {
let obj = {
name: res.data.name,
url: res.data.url,
}
item.bmFileInfos = [obj]
console.log('上传成功', item)
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
item.bmFileInfos = []
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
},
})
if (res.tapIndex === 0) {
getCameraFj(item)
} else if (res.tapIndex === 1) {
//
getPhotoFj(item)
}
},
})
fail: (err) => {
console.error('操作菜单选择失败:', err)
},
})
// }
}
//
const getCameraFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.CAMERA,
})
}
//
const getPhotoFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
})
}
const onCameraErrorFj = (message) => {
console.log(message)
}
const onCameraSuccessFj = (file, item) => {
uploadSignUrlFj(file, item)
}
const generateRandomString = (length) => {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
const uploadSignUrlFj = (file, item) => {
const base64Data = file
uni.request({
url: '/file/uploadBase64',
method: 'POST',
data: {
base64File:base64Data,
fileName: `${generateRandomString(10)}_${Date.now()}.png`,
fileType: 'image/png'
},
success: (uploadRes) => {
console.log("xxxxxxxxxx",uploadRes)
if(!uploadRes.data.code){
uploadRes = JSON.parse(decryptWithSM4(uploadRes.data))
}else{
uploadRes = JSON.parse(uploadRes.data)
}
if (uploadRes.code && uploadRes.code == 200) {
let obj = {
name: uploadRes.data.name,
url: uploadRes.data.url,
}
item.bmFileInfos = [obj]
item.imgBeseUrl = uploadRes.data.url
// imgList.value.push({
// url: uploadRes.data.url, // Show local path first
// serverUrl: uploadRes.data.url // Store server URL
// })
// bmFileInfos.value.push({
// name: uploadRes.data.name,
// url: uploadRes.data.url,
// taskType: '10'
// })
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
}
//
const partTreeData = ref([])
const defaultProps = ref({

View File

@ -358,45 +358,117 @@ const imgBeseUrl = ref('') //图片展示
const bmFileInfos = ref([]) //
//
const uploadImg = (item) => {
uni.chooseImage({
count: 1, //
sizeType: ['original', 'compressed'], //original compressed
sourceType: ['album', 'camera'], //album camera 使
// if(item.imgBeseUrl){
// uni.showToast({ title: '', icon: 'none' })
// return
// }
// const count = 1 - imgList.value.length
// if (count <= 0) {
// uni.showToast({ title: '1', icon: 'none' })
// return
// }else{
uni.showActionSheet({
itemList: ['拍照', '从相册选择'],
success: (res) => {
console.log(res)
let imgFiles = res.tempFilePaths //
item.imgBeseUrl = imgFiles[0]
// console.log('', baseURL+"/file/upload")
uni.uploadFile({
// url: baseURL+"/file/upload",//app
url: '/file/upload', //h5
filePath: imgFiles[0],
name: 'file',
success: (res) => {
res = JSON.parse(res.data)
console.log('上传成功', res)
if (res.code && res.code == 200) {
let obj = {
name: res.data.name,
url: res.data.url,
}
item.bmFileInfos = [obj]
console.log('上传成功', item)
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
item.bmFileInfos = []
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
},
})
if (res.tapIndex === 0) {
getCameraFj(item)
} else if (res.tapIndex === 1) {
//
getPhotoFj(item)
}
},
})
fail: (err) => {
console.error('操作菜单选择失败:', err)
},
})
// }
}
//
const getCameraFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.CAMERA,
})
}
//
const getPhotoFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
})
}
const onCameraErrorFj = (message) => {
console.log(message)
}
const onCameraSuccessFj = (file, item) => {
uploadSignUrlFj(file, item)
}
const generateRandomString = (length) => {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
const uploadSignUrlFj = (file, item) => {
const base64Data = file
uni.request({
url: '/file/uploadBase64',
method: 'POST',
data: {
base64File:base64Data,
fileName: `${generateRandomString(10)}_${Date.now()}.png`,
fileType: 'image/png'
},
success: (uploadRes) => {
console.log("xxxxxxxxxx",uploadRes)
if(!uploadRes.data.code){
uploadRes = JSON.parse(decryptWithSM4(uploadRes.data))
}else{
uploadRes =JSON.parse(uploadRes.data)
}
if (uploadRes.code && uploadRes.code == 200) {
let obj = {
name: uploadRes.data.name,
url: uploadRes.data.url,
}
item.bmFileInfos = [obj]
item.imgBeseUrl = uploadRes.data.url
// imgList.value.push({
// url: uploadRes.data.url, // Show local path first
// serverUrl: uploadRes.data.url // Store server URL
// })
// bmFileInfos.value.push({
// name: uploadRes.data.name,
// url: uploadRes.data.url,
// taskType: '10'
// })
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
}
//
const partTreeData = ref([])
const defaultProps = ref({
@ -521,70 +593,88 @@ const imgBeseUrl2 = ref('') //图片展示
const imgList2 = ref([]) //
//
const uploadImg2 = () => {
uni.chooseImage({
count: 3 - imgList2.value.length, // 3
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: async (res) => {
const tempFiles = res.tempFiles
if (imgList2.value.length + tempFiles.length > 3) {
uni.showToast({ title: '最多只能上传3张图片', icon: 'none' })
return
}
//
for (let i = 0; i < tempFiles.length; i++) {
imgList2.value.push({
url: tempFiles[i].path,
uploading: true
})
}
//
const uploadPromises = tempFiles.map(file => {
return new Promise((resolve, reject) => {
uni.uploadFile({
url: '/file/upload',
filePath: file.path,
name: 'file',
success: (uploadRes) => {
const resData = JSON.parse(uploadRes.data)
if (resData.code === 200) {
resolve({
name: resData.data.name,
url: resData.data.url
})
} else {
reject(new Error('上传失败'))
}
},
fail: (err) => {
reject(err)
}
})
})
uni.showActionSheet({
itemList: ['拍照', '从相册选择'],
success: (res) => {
if (res.tapIndex === 0) {
getCameraFjBF()
} else if (res.tapIndex === 1) {
//
getPhotoFjBF()
}
},
fail: (err) => {
console.error('操作菜单选择失败:', err)
},
})
}
try {
const results = await Promise.all(uploadPromises)
formRight.value.fileList = [...bmFileInfos.value, ...results]
uni.showToast({ title: '上传成功', icon: 'none' })
//
const getCameraFjBF = () => {
navigator.camera.getPicture(onCameraSuccessFjBF, onCameraErrorFjBF, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.CAMERA,
})
}
//
const getPhotoFjBF = () => {
navigator.camera.getPicture(onCameraSuccessFjBF, onCameraErrorFjBF, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
})
}
//
imgList2.value = imgList2.value.map(img => {
return {
...img,
uploading: false
const onCameraErrorFjBF = (message) => {
console.log(message)
}
const onCameraSuccessFjBF = (file) => {
uploadSignUrlFjBF(file)
}
const uploadSignUrlFjBF = (file) => {
const base64Data = file
uni.request({
url: '/file/uploadBase64',
method: 'POST',
data: {
base64File:base64Data,
fileName: `${generateRandomString(10)}_${Date.now()}.png`,
fileType: 'image/png'
},
success: (uploadRes) => {
if(!uploadRes.data.code){
uploadRes = JSON.parse(decryptWithSM4(uploadRes.data))
}else{
uploadRes = JSON.parse(uploadRes.data)
}
if (uploadRes.code && uploadRes.code == 200) {
imgList2.value.push({
url: uploadRes.data.url, // Show local path first
serverUrl: uploadRes.data.url // Store server URL
})
// bmFileInfos.value.push({
// name: uploadRes.data.name,
// url: uploadRes.data.url,
// taskType: '10'
// })
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
} catch (error) {
uni.showToast({ title: '部分图片上传失败', icon: 'none' })
//
imgList2.value = imgList2.value.filter(img => !img.uploading)
}
}
})
}
//
const deleteImage2 = (index) => {
imgList2.value.splice(index, 1)

View File

@ -322,43 +322,86 @@ const imgBeseUrl = ref("") //图片展示
const bmFileInfos = ref([])//
//
const uploadImg = (item) => {
uni.chooseImage({
count: 1, //
sizeType: ['original', 'compressed'], //original compressed
sourceType: ['album', 'camera'], //album camera 使
success: (res) => {
console.log(res)
let imgFiles = res.tempFilePaths //
item.imgBeseUrl = imgFiles[0]
// console.log('', baseURL+"/file/upload")
uni.uploadFile({
// url: baseURL+"/file/upload",//app
url: '/file/upload', //h5
filePath: imgFiles[0],
name: 'file',
success: (res) => {
res = JSON.parse(res.data)
console.log('上传成功', res)
if (res.code && res.code == 200) {
let obj = {
name: res.data.name,
url: res.data.url,
}
item.fileList = [obj]
console.log('上传成功', item)
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
item.fileList = []
uni.showToast({ title: '上传失败', icon: 'none' })
uni.showActionSheet({
itemList: ['拍照', '从相册选择'],
success: (res) => {
if (res.tapIndex === 0) {
getCameraFj(item)
} else if (res.tapIndex === 1) {
//
getPhotoFj(item)
}
},
fail: (err) => {
console.error('上传失败', err)
console.error('操作菜单选择失败:', err)
},
})
},
})
}
//
const getCameraFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.CAMERA,
})
}
//
const getPhotoFj = (item) => {
navigator.camera.getPicture((file) => onCameraSuccessFj(file, item), onCameraErrorFj, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
})
}
const onCameraErrorFj = (message) => {
console.log(message)
}
const onCameraSuccessFj = (file, item) => {
uploadSignUrlFj(file, item)
}
const uploadSignUrlFj = (file, item) => {
const base64Data = file
uni.request({
url: '/file/uploadBase64',
method: 'POST',
data: {
base64File:base64Data,
fileName: `${generateRandomString(10)}_${Date.now()}.png`,
fileType: 'image/png'
},
success: (uploadRes) => {
console.log("xxxxxxxxxx",uploadRes)
if(!uploadRes.data.code){
uploadRes = JSON.parse(decryptWithSM4(uploadRes.data))
}else{
uploadRes =JSON.parse(uploadRes.data)
}
if (uploadRes.code && uploadRes.code == 200) {
let obj = {
name: uploadRes.data.name,
url: uploadRes.data.url,
}
item.bmFileInfos = [obj]
item.imgBeseUrl = uploadRes.data.url
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
}
//
@ -484,70 +527,95 @@ const imgBeseUrl2 = ref("") //图片展示
const imgList2 = ref([]) //
//
const uploadImg2 = () => {
uni.chooseImage({
count: 3 - imgList2.value.length, // 3
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: async (res) => {
const tempFiles = res.tempFiles
if (imgList2.value.length + tempFiles.length > 3) {
uni.showToast({ title: '最多只能上传3张图片', icon: 'none' })
return
}
//
for (let i = 0; i < tempFiles.length; i++) {
imgList2.value.push({
url: tempFiles[i].path,
uploading: true
})
}
//
const uploadPromises = tempFiles.map(file => {
return new Promise((resolve, reject) => {
uni.uploadFile({
url: '/file/upload',
filePath: file.path,
name: 'file',
success: (uploadRes) => {
const resData = JSON.parse(uploadRes.data)
if (resData.code === 200) {
resolve({
name: resData.data.name,
url: resData.data.url
})
} else {
reject(new Error('上传失败'))
}
},
fail: (err) => {
reject(err)
}
})
})
uni.showActionSheet({
itemList: ['拍照', '从相册选择'],
success: (res) => {
if (res.tapIndex === 0) {
getCameraFjBF()
} else if (res.tapIndex === 1) {
//
getPhotoFjBF()
}
},
fail: (err) => {
console.error('操作菜单选择失败:', err)
},
})
}
try {
const results = await Promise.all(uploadPromises)
formRight.value.fileList = [...bmFileInfos.value, ...results]
uni.showToast({ title: '上传成功', icon: 'none' })
const generateRandomString = (length) => {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
//
imgList2.value = imgList2.value.map(img => {
return {
...img,
uploading: false
//
const getCameraFjBF = () => {
navigator.camera.getPicture(onCameraSuccessFjBF, onCameraErrorFjBF, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.CAMERA,
})
}
//
const getPhotoFjBF = () => {
navigator.camera.getPicture(onCameraSuccessFjBF, onCameraErrorFjBF, {
quality: 50,
destinationType: window.Camera.DestinationType.DATA_URL,
sourceType: window.Camera.PictureSourceType.SAVEDPHOTOALBUM,
})
}
const onCameraErrorFjBF = (message) => {
console.log(message)
}
const onCameraSuccessFjBF = (file) => {
uploadSignUrlFjBF(file)
}
const uploadSignUrlFjBF = (file) => {
const base64Data = file
uni.request({
url: '/file/uploadBase64',
method: 'POST',
data: {
base64File:base64Data,
fileName: `${generateRandomString(10)}_${Date.now()}.png`,
fileType: 'image/png'
},
success: (uploadRes) => {
if(!uploadRes.data.code){
uploadRes = JSON.parse(decryptWithSM4(uploadRes.data))
}else{
uploadRes = JSON.parse(uploadRes.data)
}
if (uploadRes.code && uploadRes.code == 200) {
imgList2.value.push({
url: uploadRes.data.url, // Show local path first
serverUrl: uploadRes.data.url // Store server URL
})
// bmFileInfos.value.push({
// name: uploadRes.data.name,
// url: uploadRes.data.url,
// taskType: '10'
// })
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
uni.showToast({ title: '上传失败', icon: 'none' })
}
},
fail: (err) => {
console.error('上传失败', err)
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
} catch (error) {
uni.showToast({ title: '部分图片上传失败', icon: 'none' })
//
imgList2.value = imgList2.value.filter(img => !img.uploading)
}
}
})
}
//
const deleteImage2 = (index) => {
imgList2.value.splice(index, 1)