电子标签,设备编码查询,二维码查询

This commit is contained in:
hongchao 2025-06-25 18:24:21 +08:00
parent ffa63f29ee
commit eaea3c175b
4 changed files with 778 additions and 697 deletions

View File

@ -19,6 +19,15 @@
>编码检索</view> >编码检索</view>
</uni-col> </uni-col>
</uni-row> </uni-row>
<div v-if="optionList.length > 1" class="select-container">
<uni-data-select
v-model="maId"
:localdata="optionList"
@change="changeTag"
placeholder="请选择相关联编号"
class="data-select"
></uni-data-select>
</div>
</view> </view>
<view class="form-section"> <view class="form-section">
@ -27,65 +36,65 @@
</view> </view>
<view class="form-content"> <view class="form-content">
<uni-forms :model="formData" label-width="100" :border="true"> <uni-forms :model="formData" label-width="100" :border="true">
<uni-forms-item label="设备类型:" name="leaseUnit"> <uni-forms-item label="设备类型:" name="maName">
<span class="form-view">激动角膜</span> <span class="form-view">{{formData?.maName ?? ''}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="规格型号:" name="leaseProject"> <uni-forms-item label="规格型号:" name="maModel">
<span class="form-view">CJM-2</span> <span class="form-view">{{formData?.maModel ?? ''}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="二维码编码:" name="maTypeName"> <uni-forms-item label="二维码编码:" name="qrCode">
<span class="form-view">ceshi123</span> <span class="form-view">{{formData?.qrCode ?? ''}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="设备编码:" name="typeName"> <uni-forms-item label="设备编码:" name="maCode">
<span class="form-view">ceshi123</span> <span class="form-view">{{formData?.maCode ?? ''}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="设备状态:" name="maxNum"> <uni-forms-item label="设备状态:" name="maStatus">
<span class="form-view">在用</span> <span class="form-view">{{formData?.maStatus ?? ''}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="本次检修时间:" name="statusName"> <uni-forms-item label="本次检修时间:" name="checkTimeSynch">
<text class="form-view"></text> <text class="form-view">{{formData?.thisCheckTime ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="下次检修时间:" name="statusName"> <uni-forms-item label="下次检修时间:" name="nextCheckTimeSynch">
<text class="form-view"></text> <text class="form-view">{{formData?.nextCheckTime ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="出入库次数:" name="statusName"> <uni-forms-item label="出入库次数:" name="inOutNum">
<text class="form-view"></text> <text class="form-view">{{formData?.inOutNum ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="初次入库:" name="statusName"> <uni-forms-item label="初次入库:" name="inTime">
<text class="form-view"></text> <text class="form-view">{{formData?.inTime ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="服务工程次数:" name="statusName"> <uni-forms-item label="服务工程次数:" name="serviceNum">
<text class="form-view"></text> <text class="form-view">{{formData?.serviceNum ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="检验次数:" name="statusName"> <uni-forms-item label="检验次数:" name="checkNum">
<text class="form-view"></text> <text class="form-view">{{formData?.checkNum ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="更换配件次数:" name="statusName"> <uni-forms-item label="更换配件次数:" name="checkNum">
<text class="form-view"></text> <text class="form-view">{{formData?.checkNum ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="报废:" name="statusName"> <uni-forms-item label="报废:" name="scrapTime">
<text class="form-view"></text> <text class="form-view">{{formData?.scrapTime ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="生产厂家:" name="statusName"> <uni-forms-item label="生产厂家:" name="statusName">
<text class="form-view"></text> <text class="form-view">{{}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="领料单位:" name="statusName"> <uni-forms-item label="领料单位:" name="leaseUnit">
<text class="form-view"></text> <text class="form-view">{{formData?.leaseUnit ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="领料工程:" name="statusName"> <uni-forms-item label="领料工程:" name="leaseProject">
<text class="form-view"></text> <text class="form-view">{{formData?.leaseProject ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="领料时间:" name="statusName"> <uni-forms-item label="领料时间:" name="leaseTime">
<text class="form-view"></text> <text class="form-view">{{formData?.leaseTime ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="退料单位:" name="statusName"> <uni-forms-item label="退料单位:" name="backUnit">
<text class="form-view"></text> <text class="form-view">{{formData?.backUnit ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="退料工程:" name="statusName"> <uni-forms-item label="退料工程:" name="backProject">
<text class="form-view"></text> <text class="form-view">{{formData?.backProject ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="退料时间:" name="statusName"> <uni-forms-item label="退料时间:" name="backTime">
<text class="form-view"></text> <text class="form-view">{{formData?.backTime ?? ''}}</text>
</uni-forms-item> </uni-forms-item>
</uni-forms> </uni-forms>
</view> </view>
@ -102,12 +111,36 @@
import { ref, computed, onUnmounted } from 'vue' import { ref, computed, onUnmounted } from 'vue'
import { onLoad, onShow, } from '@dcloudio/uni-app' import { onLoad, onShow, } from '@dcloudio/uni-app'
import { debounce } from 'lodash-es' import { debounce } from 'lodash-es'
import { getDeviceListAPI } from '@/services/picking/outbound.js'
const queryParams = ref({}) const queryParams = ref({})
const formData = ref({}) const formData = ref({
maName: '',
maModel: '',
qrCode: '',
maCode: '',
maStatus: '',
thisCheckTime: '',
nextCheckTime: '',
inOutNum: '',
inTime: '',
serviceNum: '',
checkNum: '',
scrapTime: '',
statusName: '',
leaseUnit: '',
leaseProject: '',
leaseTime: '',
backUnit: '',
backProject: '',
backTime: ''
})
// //
const queryCodeParams = ref({ const queryCodeParams = ref({
maCode: '', maCode: '',
maId:'',
}) })
const maId = ref('')
const optionList = ref([])
// //
onLoad((options) => {}) onLoad((options) => {})
@ -121,12 +154,55 @@ const onCodeSearch = () => {
const getCodeDeviceInfoData = async () => { const getCodeDeviceInfoData = async () => {
console.log(queryCodeParams.value) console.log(queryCodeParams.value)
// const res = await getCodeDeviceListAPI(queryCodeParams.value) // const res = await getCodeDeviceListAPI(queryCodeParams.value)
// console.log(res) getDeviceListAPI({'maCode': queryCodeParams.value.maCode}).then(response => {
console.log("xxxxxxxxxxx",response)
if (response.data && response.data.length !== 0) {
optionList.value = response.data.map(option => ({
value: option.maId,
text: option.maCode
}))
if(response.data.length === 1){
formData.value = response.data[0]
}
}else{
uni.showToast({
title: '未查询到该编号信息',
icon: 'none',
duration: 2000
})
}
})
console.log(res)
} }
//
const changeTag = async () => {
if (!maId.value) return
try {
const response = await getDeviceListAPI({'maId': maId.value})
if (response.data && response.data.length !== 0) {
formData.value = response.data[0]
}
} catch (error) {
console.error("获取编号信息失败", error)
uni.showToast({
title: '获取信息失败',
icon: 'none',
duration: 2000
})
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.uni-forms-item--border[data-v-4c3fe719] {
margin-bottom: 0;
padding: 0 0;
border-top: 1px #eee solid;
}
.page-container { .page-container {
display: flex; display: flex;
height: 100%; height: 100%;

View File

@ -3,72 +3,72 @@
<!-- 表单信息区域 --> <!-- 表单信息区域 -->
<scroll-view scroll-y style="height: 100vh;"> <scroll-view scroll-y style="height: 100vh;">
<view class="outbound-btn" @click="scanStart"> 二维码扫描 </view> <view class="outbound-btn" @click="scanStart"> 二维码扫描 </view>
<ScanQrCode ref="scanQrCodeRef" @scanSuccess="handleScanSuccess" @scanError="handleScanError" /> <!-- <ScanQrCode ref="scanQrCodeRef" @scanSuccess="handleScanSuccess" @scanError="handleScanError" /> -->
<view class="form-section"> <view class="form-section">
<view class="section-header"> <view class="section-header">
<text class="title">设备信息</text> <text class="title">设备信息</text>
</view> </view>
<view class="form-content"> <view class="form-content">
<uni-forms :model="formData" label-width="100" :border="true"> <uni-forms :model="formData" label-width="100" :border="true">
<uni-forms-item label="设备类型:" name="leaseUnit"> <uni-forms-item label="设备类型:" name="maName">
<span class="form-view">激动角膜</span> <span class="form-view">{{codeData.maName}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="规格型号:" name="leaseProject"> <uni-forms-item label="规格型号:" name="maModel">
<span class="form-view">CJM-2</span> <span class="form-view">{{codeData.maModel}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="二维码编码:" name="maTypeName"> <uni-forms-item label="二维码编码:" name="qrCode">
<span class="form-view">ceshi123</span> <span class="form-view">{{codeData.qrCode}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="设备编码:" name="typeName"> <uni-forms-item label="设备编码:" name="maCode">
<span class="form-view">ceshi123</span> <span class="form-view">{{codeData.maCode}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="设备状态:" name="maxNum"> <uni-forms-item label="设备状态:" name="maStatus">
<span class="form-view">在用</span> <span class="form-view">{{codeData.maStatus}}</span>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="本次检修时间:" name="statusName"> <uni-forms-item label="本次检修时间:" name="checkTimeSynch">
<text class="form-view"></text> <text class="form-view">{{codeData.thisCheckTime}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="下次检修时间:" name="statusName"> <uni-forms-item label="下次检修时间:" name="nextCheckTimeSynch">
<text class="form-view"></text> <text class="form-view">{{codeData.nextCheckTime}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="出入库次数:" name="statusName"> <uni-forms-item label="出入库次数:" name="inOutNum">
<text class="form-view"></text> <text class="form-view">{{codeData.inOutNum}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="初次入库:" name="statusName"> <uni-forms-item label="初次入库:" name="inTime">
<text class="form-view"></text> <text class="form-view">{{codeData.inTime}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="服务工程次数:" name="statusName"> <uni-forms-item label="服务工程次数:" name="serviceNum">
<text class="form-view"></text> <text class="form-view">{{codeData.serviceNum}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="检验次数:" name="statusName"> <uni-forms-item label="检验次数:" name="serviceNum">
<text class="form-view"></text> <text class="form-view">{{codeData.serviceNum}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="更换配件次数:" name="statusName"> <uni-forms-item label="更换配件次数:" name="checkNum">
<text class="form-view"></text> <text class="form-view">{{codeData.checkNum}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="报废:" name="statusName"> <uni-forms-item label="报废:" name="scrapTime">
<text class="form-view"></text> <text class="form-view">{{codeData.scrapTime}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="生产厂家:" name="statusName"> <uni-forms-item label="生产厂家:" name="statusName">
<text class="form-view"></text> <text class="form-view">{{}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="领料单位:" name="statusName"> <uni-forms-item label="领料单位:" name="leaseUnit">
<text class="form-view"></text> <text class="form-view">{{codeData.leaseUnit}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="领料工程:" name="statusName"> <uni-forms-item label="领料工程:" name="leaseProject">
<text class="form-view"></text> <text class="form-view">{{codeData.leaseProject}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="领料时间:" name="statusName"> <uni-forms-item label="领料时间:" name="leaseTime">
<text class="form-view"></text> <text class="form-view">{{codeData.leaseTime}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="退料单位:" name="statusName"> <uni-forms-item label="退料单位:" name="backUnit">
<text class="form-view"></text> <text class="form-view">{{codeData.backUnit}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="退料工程:" name="statusName"> <uni-forms-item label="退料工程:" name="backProject">
<text class="form-view"></text> <text class="form-view">{{codeData.backProject}}</text>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="退料时间:" name="statusName"> <uni-forms-item label="退料时间:" name="backTime">
<text class="form-view"></text> <text class="form-view">{{codeData.backTime}}</text>
</uni-forms-item> </uni-forms-item>
</uni-forms> </uni-forms>
</view> </view>
@ -85,7 +85,7 @@ import { ref, computed, onUnmounted } from 'vue'
import { onLoad, onShow, } from '@dcloudio/uni-app' import { onLoad, onShow, } from '@dcloudio/uni-app'
import { debounce } from 'lodash-es' import { debounce } from 'lodash-es'
import ScanQrCode from '@/pages/devicesSearch/ScanQrCode.vue' import ScanQrCode from '@/pages/devicesSearch/ScanQrCode.vue'
import { getCodeScanAPI } from '@/services/picking/outbound.js' import { getScanCodeAPI } from '@/services/picking/outbound.js'
const scanQrCodeRef = ref(null) const scanQrCodeRef = ref(null)
const queryParams = ref({}) const queryParams = ref({})
@ -138,9 +138,11 @@ onShow(() => {
// } // }
// //
const scanStart = () => { const scanStart = () => {
if (scanQrCodeRef.value) { // if (scanQrCodeRef.value) {
scanQrCodeRef.value.scanQrCode() // scanQrCodeRef.value.scanQrCode()
} // }
qrCodeScan.value = '202502-00027'
getMaInfoScan()
} }
// //
@ -160,11 +162,12 @@ const getMaInfoScan = async () => {
let param = { let param = {
qrCode: qrCodeScan.value, qrCode: qrCodeScan.value,
} }
const res = await getCodeScanAPI(param) console.log(param)
const res = await getScanCodeAPI(param)
console.log(res) console.log(res)
if (res.code == 200) { if (res.code == 200) {
if (res.data && res.data.recordList.length > 0) { if (res.data) {
codeData.value = res.data.recordList[0] codeData.value = res.data
}else{ }else{
uni.showToast({ title: res.data.msg, icon: 'none'}) uni.showToast({ title: res.data.msg, icon: 'none'})
} }
@ -179,6 +182,11 @@ const getMaInfoScan = async () => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.uni-forms-item--border[data-v-4c3fe719] {
margin-bottom: 0;
padding: 0 0;
border-top: 1px #eee solid;
}
.page-container { .page-container {
display: flex; display: flex;
height: 100%; height: 100%;

File diff suppressed because it is too large Load Diff

View File

@ -76,6 +76,22 @@ export const getCodeScanAPI = (data) => {
data, data,
}) })
} }
export const getScanCodeAPI = (data) => {
return http({
method: 'GET',
url: '/material/ma_machine/getHisByQrcode',
data,
})
}
export const getDeviceListAPI = (data) => {
return http({
method: 'GET',
url: '/material/ma_machine/getHisByCode',
data,
})
}
//出库退回 //出库退回
export const leaseOutBackApi = (data) => { export const leaseOutBackApi = (data) => {
return http({ return http({