diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/components/QRcodeDeviceDialog/index.vue b/src/components/QRcodeDeviceDialog/index.vue
new file mode 100644
index 0000000..e053348
--- /dev/null
+++ b/src/components/QRcodeDeviceDialog/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/components/QRcodeDeviceDialog/index.vue b/src/components/QRcodeDeviceDialog/index.vue
new file mode 100644
index 0000000..e053348
--- /dev/null
+++ b/src/components/QRcodeDeviceDialog/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/src/components/SearchArea/index.vue b/src/components/SearchArea/index.vue
index 55f8cf9..451ee49 100644
--- a/src/components/SearchArea/index.vue
+++ b/src/components/SearchArea/index.vue
@@ -80,6 +80,7 @@
+
搜索
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/components/QRcodeDeviceDialog/index.vue b/src/components/QRcodeDeviceDialog/index.vue
new file mode 100644
index 0000000..e053348
--- /dev/null
+++ b/src/components/QRcodeDeviceDialog/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/src/components/SearchArea/index.vue b/src/components/SearchArea/index.vue
index 55f8cf9..451ee49 100644
--- a/src/components/SearchArea/index.vue
+++ b/src/components/SearchArea/index.vue
@@ -80,6 +80,7 @@
+
搜索
diff --git a/src/components/scanEquipmentDialog/index.vue b/src/components/scanEquipmentDialog/index.vue
index fb13a4c..c097677 100644
--- a/src/components/scanEquipmentDialog/index.vue
+++ b/src/components/scanEquipmentDialog/index.vue
@@ -14,9 +14,14 @@
type: String,
default: '扫描收入',
},
+ isMuit: {
+ type: Boolean,
+ default: false,
+ },
})
const emits = defineEmits(['confirm'])
const dialogVisible = ref(false) // 弹窗显示
+const multipleTableRef = ref()
const scanStatus = ref('0')
const isBinding = ref(false) // 是否是标签绑定
const pageType = ref('') // 页面类型、表格list、需要提醒是否绑定,detail详情不提醒
@@ -24,7 +29,6 @@
// 扫描到的标签列表
const list = ref([])
-
// 获取数据
const mesureTypeMap = ref({}) as any
const managerStateMap = ref({}) as any
@@ -40,7 +44,11 @@
managerStateMap.value[item.value] = item.name
})
}
-
+const checkList = ref([]) // 多选选中
+// 多选
+const handleSelectionChange = (val: any) => {
+ checkList.value = val
+}
// 关闭弹窗
const closeDialog = () => {
dialogVisible.value = false
@@ -48,7 +56,7 @@
// 点击确定,保存选择的成员配置
const confirm = () => {
- if (isBinding.value && !singleChecked.value) { // 标签绑定
+ if (isBinding.value && (!singleChecked.value && !checkList.value.length)) { // 标签绑定
ElMessage.warning('请选中')
return false
}
@@ -69,11 +77,15 @@
// singleChecked.value = ''
// })
// }
- emits('confirm', singleChecked.value)
+ emits('confirm', props.isMuit ? checkList.value : singleChecked.value)
singleChecked.value = '' // 清除单选选中
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
else {
- emits('confirm', list.value)
+ emits('confirm', props.isMuit ? checkList.value : list.value)
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
}
else {
@@ -155,13 +167,15 @@
扫描到 {{ list.length }} 个标签{{ list.length > 1 ? ',请选择需要绑定的标签' : '' }}
-
+
-
+
+
+
@@ -192,6 +206,9 @@
确 定
+
+ 确 定
+
关 闭
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/components/QRcodeDeviceDialog/index.vue b/src/components/QRcodeDeviceDialog/index.vue
new file mode 100644
index 0000000..e053348
--- /dev/null
+++ b/src/components/QRcodeDeviceDialog/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/src/components/SearchArea/index.vue b/src/components/SearchArea/index.vue
index 55f8cf9..451ee49 100644
--- a/src/components/SearchArea/index.vue
+++ b/src/components/SearchArea/index.vue
@@ -80,6 +80,7 @@
+
搜索
diff --git a/src/components/scanEquipmentDialog/index.vue b/src/components/scanEquipmentDialog/index.vue
index fb13a4c..c097677 100644
--- a/src/components/scanEquipmentDialog/index.vue
+++ b/src/components/scanEquipmentDialog/index.vue
@@ -14,9 +14,14 @@
type: String,
default: '扫描收入',
},
+ isMuit: {
+ type: Boolean,
+ default: false,
+ },
})
const emits = defineEmits(['confirm'])
const dialogVisible = ref(false) // 弹窗显示
+const multipleTableRef = ref()
const scanStatus = ref('0')
const isBinding = ref(false) // 是否是标签绑定
const pageType = ref('') // 页面类型、表格list、需要提醒是否绑定,detail详情不提醒
@@ -24,7 +29,6 @@
// 扫描到的标签列表
const list = ref([])
-
// 获取数据
const mesureTypeMap = ref({}) as any
const managerStateMap = ref({}) as any
@@ -40,7 +44,11 @@
managerStateMap.value[item.value] = item.name
})
}
-
+const checkList = ref([]) // 多选选中
+// 多选
+const handleSelectionChange = (val: any) => {
+ checkList.value = val
+}
// 关闭弹窗
const closeDialog = () => {
dialogVisible.value = false
@@ -48,7 +56,7 @@
// 点击确定,保存选择的成员配置
const confirm = () => {
- if (isBinding.value && !singleChecked.value) { // 标签绑定
+ if (isBinding.value && (!singleChecked.value && !checkList.value.length)) { // 标签绑定
ElMessage.warning('请选中')
return false
}
@@ -69,11 +77,15 @@
// singleChecked.value = ''
// })
// }
- emits('confirm', singleChecked.value)
+ emits('confirm', props.isMuit ? checkList.value : singleChecked.value)
singleChecked.value = '' // 清除单选选中
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
else {
- emits('confirm', list.value)
+ emits('confirm', props.isMuit ? checkList.value : list.value)
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
}
else {
@@ -155,13 +167,15 @@
扫描到 {{ list.length }} 个标签{{ list.length > 1 ? ',请选择需要绑定的标签' : '' }}
-
+
-
+
+
+
@@ -192,6 +206,9 @@
确 定
+
+ 确 定
+
关 闭
diff --git a/src/views/system/label/list.vue b/src/views/system/label/list.vue
index a7a12e5..88c1395 100644
--- a/src/views/system/label/list.vue
+++ b/src/views/system/label/list.vue
@@ -3,8 +3,11 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { ILabelItem, IUseStateList, IlistQuery, dictType } from './label'
import { getDictByCode } from '@/api/system/dict'
-import { batchImportLabel, delLabel, getLabelList, importLabel } from '@/api/system/label'
+import { batchImportLabel, delLabel, getLabelList, importLabel, scanBatchImport } from '@/api/system/label'
import { exportFile } from '@/utils/exportUtils'
+import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+// import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+
const { proxy } = getCurrentInstance() as any
const useStateList = ref([]) // 关联使用情况字典值
const listQuery = reactive({
@@ -80,7 +83,33 @@
listQuery.offset = 1
fetchData(true)
}
-
+// 扫描搜索
+const scanEquipmentRef = ref()
+const scanFlag = ref('seach')
+const scanSearch = () => {
+ scanFlag.value = 'seach'
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(true, 'detail')
+}
+// 扫描完成
+const scanOver = (value: any) => {
+ if (scanFlag.value === 'seach') {
+ console.log('单选选中rfid', value.rfid)
+ listQuery.rfid = value.rfid
+ fetchData(false)
+ scanEquipmentRef.value.closeDialog()
+ }
+ else if (scanFlag.value === 'batch') {
+ // 批量新增
+ console.log('多选选中', value.map((item: any) => item.rfid))
+ scanBatchImport(value.map((item: any) => item.rfid)).then((res) => {
+ if (res.code === 200) {
+ scanEquipmentRef.value.closeDialog()
+ fetchData(false)
+ }
+ })
+ }
+}
const onFileChange = (event: any) => {
// 原生上传
// console.log(event.target.files)
@@ -187,6 +216,12 @@
ElMessage.warning('请选择需要删除的数据')
}
}
+// 扫描录入
+const scanImport = () => {
+ scanFlag.value = 'batch'
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(true, 'detail')
+}
onMounted(() => {
fetchLabelUseDict()
fetchData(true)
@@ -195,6 +230,8 @@
+
+
@@ -217,13 +254,18 @@
/>
+
+
+ 扫描查询
+
+
-
+
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/components/QRcodeDeviceDialog/index.vue b/src/components/QRcodeDeviceDialog/index.vue
new file mode 100644
index 0000000..e053348
--- /dev/null
+++ b/src/components/QRcodeDeviceDialog/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/src/components/SearchArea/index.vue b/src/components/SearchArea/index.vue
index 55f8cf9..451ee49 100644
--- a/src/components/SearchArea/index.vue
+++ b/src/components/SearchArea/index.vue
@@ -80,6 +80,7 @@
+
搜索
diff --git a/src/components/scanEquipmentDialog/index.vue b/src/components/scanEquipmentDialog/index.vue
index fb13a4c..c097677 100644
--- a/src/components/scanEquipmentDialog/index.vue
+++ b/src/components/scanEquipmentDialog/index.vue
@@ -14,9 +14,14 @@
type: String,
default: '扫描收入',
},
+ isMuit: {
+ type: Boolean,
+ default: false,
+ },
})
const emits = defineEmits(['confirm'])
const dialogVisible = ref(false) // 弹窗显示
+const multipleTableRef = ref()
const scanStatus = ref('0')
const isBinding = ref(false) // 是否是标签绑定
const pageType = ref('') // 页面类型、表格list、需要提醒是否绑定,detail详情不提醒
@@ -24,7 +29,6 @@
// 扫描到的标签列表
const list = ref([])
-
// 获取数据
const mesureTypeMap = ref({}) as any
const managerStateMap = ref({}) as any
@@ -40,7 +44,11 @@
managerStateMap.value[item.value] = item.name
})
}
-
+const checkList = ref([]) // 多选选中
+// 多选
+const handleSelectionChange = (val: any) => {
+ checkList.value = val
+}
// 关闭弹窗
const closeDialog = () => {
dialogVisible.value = false
@@ -48,7 +56,7 @@
// 点击确定,保存选择的成员配置
const confirm = () => {
- if (isBinding.value && !singleChecked.value) { // 标签绑定
+ if (isBinding.value && (!singleChecked.value && !checkList.value.length)) { // 标签绑定
ElMessage.warning('请选中')
return false
}
@@ -69,11 +77,15 @@
// singleChecked.value = ''
// })
// }
- emits('confirm', singleChecked.value)
+ emits('confirm', props.isMuit ? checkList.value : singleChecked.value)
singleChecked.value = '' // 清除单选选中
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
else {
- emits('confirm', list.value)
+ emits('confirm', props.isMuit ? checkList.value : list.value)
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
}
else {
@@ -155,13 +167,15 @@
扫描到 {{ list.length }} 个标签{{ list.length > 1 ? ',请选择需要绑定的标签' : '' }}
-
+
-
+
+
+
@@ -192,6 +206,9 @@
确 定
+
+ 确 定
+
关 闭
diff --git a/src/views/system/label/list.vue b/src/views/system/label/list.vue
index a7a12e5..88c1395 100644
--- a/src/views/system/label/list.vue
+++ b/src/views/system/label/list.vue
@@ -3,8 +3,11 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { ILabelItem, IUseStateList, IlistQuery, dictType } from './label'
import { getDictByCode } from '@/api/system/dict'
-import { batchImportLabel, delLabel, getLabelList, importLabel } from '@/api/system/label'
+import { batchImportLabel, delLabel, getLabelList, importLabel, scanBatchImport } from '@/api/system/label'
import { exportFile } from '@/utils/exportUtils'
+import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+// import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+
const { proxy } = getCurrentInstance() as any
const useStateList = ref([]) // 关联使用情况字典值
const listQuery = reactive({
@@ -80,7 +83,33 @@
listQuery.offset = 1
fetchData(true)
}
-
+// 扫描搜索
+const scanEquipmentRef = ref()
+const scanFlag = ref('seach')
+const scanSearch = () => {
+ scanFlag.value = 'seach'
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(true, 'detail')
+}
+// 扫描完成
+const scanOver = (value: any) => {
+ if (scanFlag.value === 'seach') {
+ console.log('单选选中rfid', value.rfid)
+ listQuery.rfid = value.rfid
+ fetchData(false)
+ scanEquipmentRef.value.closeDialog()
+ }
+ else if (scanFlag.value === 'batch') {
+ // 批量新增
+ console.log('多选选中', value.map((item: any) => item.rfid))
+ scanBatchImport(value.map((item: any) => item.rfid)).then((res) => {
+ if (res.code === 200) {
+ scanEquipmentRef.value.closeDialog()
+ fetchData(false)
+ }
+ })
+ }
+}
const onFileChange = (event: any) => {
// 原生上传
// console.log(event.target.files)
@@ -187,6 +216,12 @@
ElMessage.warning('请选择需要删除的数据')
}
}
+// 扫描录入
+const scanImport = () => {
+ scanFlag.value = 'batch'
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(true, 'detail')
+}
onMounted(() => {
fetchLabelUseDict()
fetchData(true)
@@ -195,6 +230,8 @@
+
+
@@ -217,13 +254,18 @@
/>
+
+
+ 扫描查询
+
+
-
+
diff --git a/src/views/tested/MeasurementPlan/task/components/tableList.vue b/src/views/tested/MeasurementPlan/task/components/tableList.vue
index fea4bc4..07413a1 100644
--- a/src/views/tested/MeasurementPlan/task/components/tableList.vue
+++ b/src/views/tested/MeasurementPlan/task/components/tableList.vue
@@ -8,6 +8,8 @@
import { uploadApi } from '@/api/system/notice'
import { useCheckList } from '@/utils/useCheckList'
import { getInfoDetail } from '@/api/eqpt/device/info'
+import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+import QRcodeDeviceDialog from '@/components/QRcodeDeviceDialog/index.vue'
const $props = defineProps({
data: {
@@ -360,20 +362,85 @@
return color
}
})
+
+// --------------------------------------------标签绑定--------------------------------------------
+const scanEquipmentRef = ref()
+// 点击扫描收添加
+const scan = () => {
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(false, 'detail')
+}
+// 扫描结束
+const scanOver = (value: any) => {
+ console.log('***************************')
+ console.log(value, 'value, 设备列表rfid')
+ scanEquipmentRef.value.closeDialog()
+ // 多选
+ value.forEach((item: any) => {
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '无',
+ measureContent: '',
+ sampleManufacturer: item.manufacturer,
+ sampleManufactureNo: item.manufactureNo,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '无',
+ editable: true,
+ })
+ }
+ })
+}
+// --------------------------------------------二维码扫描--------------------------------------------
+const qrcodeRef = ref()
+// 二维码扫描
+const qrcode = () => {
+ qrcodeRef.value.initDialog()
+}
+// 扫描完成
+const qrcodeOver = (value: any) => {
+ console.log('***************************')
+ console.log(value, 'value, 设备列表二维码')
+ // 多选
+ value.forEach((item: any) => {
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '无',
+ measureContent: '',
+ sampleManufacturer: item.manufacturer,
+ sampleManufactureNo: item.manufactureNo,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '无',
+ editable: true,
+ })
+ }
+ })
+}
+
+
+
+
-
+
二维码扫描增加
-
+
RFID扫描增加
diff --git a/src/api/reader.ts b/src/api/reader.ts
index e495856..b05b634 100644
--- a/src/api/reader.ts
+++ b/src/api/reader.ts
@@ -1,6 +1,6 @@
// 读写器或扫码枪相关接口
import axios from 'axios'
-import request from './index'
+import request from './request'
const readerType: { [key: string]: string } = {
readerWriter: 'http://127.0.0.1:8083/business/readWriter/gunAndTId/readList', // 有线扫码枪和大读写器
// readerWriter: '/proxy/business/readWriter/tId/readList', // 读写器
@@ -11,9 +11,9 @@
}
// 设备台账标签绑定
-export function equipmentLabelBind(data: { sampleId: string; label: string }) {
+export function equipmentLabelBind(data: { equipmentId: string; label: string }) {
return request({
- url: '/equipment/label/bind',
+ url: '/business/dispatch/label/bind',
method: 'post',
data,
})
@@ -22,7 +22,7 @@
// 设备台账标签的设备列表
export function getReaderEquipmentList(data: Object) {
return request({
- url: '/equipment/label/readList',
+ url: '/business/dispatch/label/readList',
method: 'post',
data,
})
diff --git a/src/api/system/label.ts b/src/api/system/label.ts
index 1aac7dc..814b7fa 100644
--- a/src/api/system/label.ts
+++ b/src/api/system/label.ts
@@ -35,7 +35,6 @@
})
}
// 批量导入
-
export function batchImportLabel(data: object) {
return request({
url: '/system/rfid/importRfid',
@@ -43,3 +42,19 @@
data,
})
}
+// 扫描导入
+export function scanBatchImport(data: object) {
+ return request({
+ url: '/system/rfid/batchAdd',
+ method: 'post',
+ params: data,
+ responseType: 'blob',
+ // paramsSerializer: () => qs.stringify(params, { arrayFormat: 'repeat' }),
+ // paramsSerializer: (params) => {
+ // return qs.stringify(params, { indices: false })
+ // },
+ paramsSerializer: {
+ serialize: params => qs.stringify(params, { arrayFormat: 'repeat' }),
+ },
+ })
+}
diff --git a/src/components.d.ts b/src/components.d.ts
index c627659..ccbfda8 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -52,6 +52,7 @@
PcasCascader: typeof import('./components/PcasCascader/index.vue')['default']
PieChart: typeof import('./components/Echart/PieChart.vue')['default']
PromoterDrawer: typeof import('./components/drawer/promoterDrawer.vue')['default']
+ QRcodeDeviceDialog: typeof import('./components/QRcodeDeviceDialog/index.vue')['default']
QrDialog: typeof import('./components/QrDialog/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/src/components/QRcodeDeviceDialog/index.vue b/src/components/QRcodeDeviceDialog/index.vue
new file mode 100644
index 0000000..e053348
--- /dev/null
+++ b/src/components/QRcodeDeviceDialog/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/src/components/SearchArea/index.vue b/src/components/SearchArea/index.vue
index 55f8cf9..451ee49 100644
--- a/src/components/SearchArea/index.vue
+++ b/src/components/SearchArea/index.vue
@@ -80,6 +80,7 @@
+
搜索
diff --git a/src/components/scanEquipmentDialog/index.vue b/src/components/scanEquipmentDialog/index.vue
index fb13a4c..c097677 100644
--- a/src/components/scanEquipmentDialog/index.vue
+++ b/src/components/scanEquipmentDialog/index.vue
@@ -14,9 +14,14 @@
type: String,
default: '扫描收入',
},
+ isMuit: {
+ type: Boolean,
+ default: false,
+ },
})
const emits = defineEmits(['confirm'])
const dialogVisible = ref(false) // 弹窗显示
+const multipleTableRef = ref()
const scanStatus = ref('0')
const isBinding = ref(false) // 是否是标签绑定
const pageType = ref('') // 页面类型、表格list、需要提醒是否绑定,detail详情不提醒
@@ -24,7 +29,6 @@
// 扫描到的标签列表
const list = ref([])
-
// 获取数据
const mesureTypeMap = ref({}) as any
const managerStateMap = ref({}) as any
@@ -40,7 +44,11 @@
managerStateMap.value[item.value] = item.name
})
}
-
+const checkList = ref([]) // 多选选中
+// 多选
+const handleSelectionChange = (val: any) => {
+ checkList.value = val
+}
// 关闭弹窗
const closeDialog = () => {
dialogVisible.value = false
@@ -48,7 +56,7 @@
// 点击确定,保存选择的成员配置
const confirm = () => {
- if (isBinding.value && !singleChecked.value) { // 标签绑定
+ if (isBinding.value && (!singleChecked.value && !checkList.value.length)) { // 标签绑定
ElMessage.warning('请选中')
return false
}
@@ -69,11 +77,15 @@
// singleChecked.value = ''
// })
// }
- emits('confirm', singleChecked.value)
+ emits('confirm', props.isMuit ? checkList.value : singleChecked.value)
singleChecked.value = '' // 清除单选选中
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
else {
- emits('confirm', list.value)
+ emits('confirm', props.isMuit ? checkList.value : list.value)
+ checkList.value = []
+ multipleTableRef.value.clearSelection()
}
}
else {
@@ -155,13 +167,15 @@
扫描到 {{ list.length }} 个标签{{ list.length > 1 ? ',请选择需要绑定的标签' : '' }}
-
+
-
+
+
+
@@ -192,6 +206,9 @@
确 定
+
+ 确 定
+
关 闭
diff --git a/src/views/system/label/list.vue b/src/views/system/label/list.vue
index a7a12e5..88c1395 100644
--- a/src/views/system/label/list.vue
+++ b/src/views/system/label/list.vue
@@ -3,8 +3,11 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { ILabelItem, IUseStateList, IlistQuery, dictType } from './label'
import { getDictByCode } from '@/api/system/dict'
-import { batchImportLabel, delLabel, getLabelList, importLabel } from '@/api/system/label'
+import { batchImportLabel, delLabel, getLabelList, importLabel, scanBatchImport } from '@/api/system/label'
import { exportFile } from '@/utils/exportUtils'
+import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+// import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+
const { proxy } = getCurrentInstance() as any
const useStateList = ref([]) // 关联使用情况字典值
const listQuery = reactive({
@@ -80,7 +83,33 @@
listQuery.offset = 1
fetchData(true)
}
-
+// 扫描搜索
+const scanEquipmentRef = ref()
+const scanFlag = ref('seach')
+const scanSearch = () => {
+ scanFlag.value = 'seach'
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(true, 'detail')
+}
+// 扫描完成
+const scanOver = (value: any) => {
+ if (scanFlag.value === 'seach') {
+ console.log('单选选中rfid', value.rfid)
+ listQuery.rfid = value.rfid
+ fetchData(false)
+ scanEquipmentRef.value.closeDialog()
+ }
+ else if (scanFlag.value === 'batch') {
+ // 批量新增
+ console.log('多选选中', value.map((item: any) => item.rfid))
+ scanBatchImport(value.map((item: any) => item.rfid)).then((res) => {
+ if (res.code === 200) {
+ scanEquipmentRef.value.closeDialog()
+ fetchData(false)
+ }
+ })
+ }
+}
const onFileChange = (event: any) => {
// 原生上传
// console.log(event.target.files)
@@ -187,6 +216,12 @@
ElMessage.warning('请选择需要删除的数据')
}
}
+// 扫描录入
+const scanImport = () => {
+ scanFlag.value = 'batch'
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(true, 'detail')
+}
onMounted(() => {
fetchLabelUseDict()
fetchData(true)
@@ -195,6 +230,8 @@
+
+
@@ -217,13 +254,18 @@
/>
+
+
+ 扫描查询
+
+
-
+
diff --git a/src/views/tested/MeasurementPlan/task/components/tableList.vue b/src/views/tested/MeasurementPlan/task/components/tableList.vue
index fea4bc4..07413a1 100644
--- a/src/views/tested/MeasurementPlan/task/components/tableList.vue
+++ b/src/views/tested/MeasurementPlan/task/components/tableList.vue
@@ -8,6 +8,8 @@
import { uploadApi } from '@/api/system/notice'
import { useCheckList } from '@/utils/useCheckList'
import { getInfoDetail } from '@/api/eqpt/device/info'
+import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue'
+import QRcodeDeviceDialog from '@/components/QRcodeDeviceDialog/index.vue'
const $props = defineProps({
data: {
@@ -360,20 +362,85 @@
return color
}
})
+
+// --------------------------------------------标签绑定--------------------------------------------
+const scanEquipmentRef = ref()
+// 点击扫描收添加
+const scan = () => {
+ // 参数:是标签绑定
+ scanEquipmentRef.value.initDialog(false, 'detail')
+}
+// 扫描结束
+const scanOver = (value: any) => {
+ console.log('***************************')
+ console.log(value, 'value, 设备列表rfid')
+ scanEquipmentRef.value.closeDialog()
+ // 多选
+ value.forEach((item: any) => {
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '无',
+ measureContent: '',
+ sampleManufacturer: item.manufacturer,
+ sampleManufactureNo: item.manufactureNo,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '无',
+ editable: true,
+ })
+ }
+ })
+}
+// --------------------------------------------二维码扫描--------------------------------------------
+const qrcodeRef = ref()
+// 二维码扫描
+const qrcode = () => {
+ qrcodeRef.value.initDialog()
+}
+// 扫描完成
+const qrcodeOver = (value: any) => {
+ console.log('***************************')
+ console.log(value, 'value, 设备列表二维码')
+ // 多选
+ value.forEach((item: any) => {
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '无',
+ measureContent: '',
+ sampleManufacturer: item.manufacturer,
+ sampleManufactureNo: item.manufactureNo,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '无',
+ editable: true,
+ })
+ }
+ })
+}
+
+
+
+
-
+
二维码扫描增加
-
+
RFID扫描增加
diff --git a/src/views/tested/device/info/components/edit.vue b/src/views/tested/device/info/components/edit.vue
index e1e20be..66cfc36 100644
--- a/src/views/tested/device/info/components/edit.vue
+++ b/src/views/tested/device/info/components/edit.vue
@@ -767,10 +767,11 @@
const label = value.rfid
console.log(label)
scanEquipmentRef.value.closeDialog()
- equipmentLabelBind({ label, sampleId: ruleForm.value.equipmentId }).then((res) => {
+ equipmentLabelBind({ label, equipmentId: ruleForm.value.equipmentId }).then((res) => {
ElMessage.success('标签绑定成功')
scanEquipmentRef.value.closeDialog()
- initDialog()
+ // initDialog()
+ ruleForm.value.rfid = label
})
}
// -----------------------------------------------------------------------------------------------