{
}
})
- typeList.value.forEach((item) => {
- item.checked = selectCodeList.value.some((selected) => selected.maCode === item.maCode)
- })
+ const combinedList = [...selectCodeList.value, ...typeList.value]
+
+ // 根据 maCode 去重,保留最前面的项
+ const seen = new Set()
+ const uniqueList = []
+ for (const item of combinedList) {
+ if (!seen.has(item.maCode)) {
+ seen.add(item.maCode)
+ uniqueList.push(item)
+ }
+ }
+
+ // 更新 typeList
+ typeList.value = uniqueList
console.log('🚀 ~ getCodeList ~ typeList.value:', typeList.value)
} catch (error) {
@@ -377,10 +395,13 @@ const getCodeList = async () => {
// 选择型号
const changeType = (e) => {
- selectCodeList.value = []
- console.log('🚀 ~ changeType ~ e:', e)
- selectTypeId.value = e.typeId
- console.log('🚀 ~ changeType ~ :', selectTypeId.value)
+ if (selectTypeId.value != e.typeId) {
+ selectCodeList.value = []
+ console.log('🚀 ~ changeType ~ e:', e)
+ typeName.value = e.materialName
+ selectTypeId.value = e.typeId
+ console.log('🚀 ~ changeType ~ :', selectTypeId.value)
+ }
getCodeList()
}
@@ -396,7 +417,7 @@ const handleItemChecked = (item) => {
console.log('🚀 ~ handleItemChecked ~ item:', item)
item.checked = !item.checked
if (item.checked) {
- selectCodeList.value.push(item)
+ selectCodeList.value.unshift(item)
} else {
selectCodeList.value = selectCodeList.value.filter((el) => el.maCode !== item.maCode)
}
@@ -481,6 +502,8 @@ const getMaInfo = () => {
const qrCode = ref('') //图片展示
// 二维码扫码
const scanStart = async () => {
+ qrCode.value = '201909-00100'
+ getMaInfoScan()
qrCode.value = ''
if (scanQrCodeRef.value) {
scanQrCodeRef.value.scanQrCode()
@@ -528,16 +551,57 @@ const getMaInfoScan = () => {
}
console.log('xxxxxxxxxxxxxxxx', res)
if (res.code == 200) {
+ if (selectTypeId.value && selectTypeId.value != Number(res.data[0].typeId)) {
+ // 请添加同一类型的设备
+ uni.showModal({
+ title: '提示',
+ content: '请添加同一类型的设备',
+ showCancel: false,
+ confirmText: '关闭',
+ })
+ return
+ }
console.log(res)
console.log(res.data[0])
- maCode.value = res.data[0].maCode
- console.log('333333333333', maCode.value)
- console.log('codeList:', JSON.stringify(codeList.value))
+ // maCode.value = res.data[0].maCode
typeName.value = res.data[0].typeName
materialName.value = res.data[0].typeModelName
- maStatusName.value = res.data[0].maStatusName
- maId.value = res.data[0].maId
- typeId.value = res.data[0].typeId
+ // maStatusName.value = res.data[0].maStatusName
+ // maId.value = res.data[0].maId
+ selectTypeId.value = Number(res.data[0].typeId)
+ console.log('🚀 ~ getMaInfoScan ~ selectTypeId.value:', selectTypeId.value)
+
+ if (typeList.value.some((item) => item.maId == Number(res.data[0].maId))) {
+ // 设置当前选项为选中
+ typeList.value.forEach((item) => {
+ if (item.maId == res.data[0].maId) {
+ item.checked = true
+ }
+ })
+ if (!selectCodeList.value.some((item) => item.maId === res.data[0].maId)) {
+ selectCodeList.value.unshift({
+ ...res.data[0],
+ checked: true,
+ })
+ uni.showToast({ title: '添加成功', icon: 'none' })
+ } else {
+ uni.showToast({ title: '当前设备已添加', icon: 'none' })
+ }
+ } else {
+ typeList.value.unshift({
+ ...res.data[0],
+ checked: true,
+ })
+ if (!selectCodeList.value.some((item) => item.maId === res.data[0].maId)) {
+ selectCodeList.value.unshift({
+ ...res.data[0],
+ checked: true,
+ })
+ }
+ uni.showToast({ title: '添加成功', icon: 'none' })
+ }
+
+ isAllChecked()
flag.value = true
} else {
uni.showModal({
@@ -545,11 +609,6 @@ const getMaInfoScan = () => {
content: res.msg,
showCancel: false, // 不显示取消按钮
confirmText: '关闭',
- success: (res) => {
- // if (res.confirm) {
- // console.log('用户点击关闭')
- // }
- },
})
}
},
@@ -664,7 +723,9 @@ const submitCode = () => {
imgList.value = []
selectCodeList.value = []
// getMaCodeList()
- getCodeList()
+ if (selectTypeId.value) {
+ getCodeList()
+ }
// uni.navigateBack({
// delta: 1 // 返回到已存在的页面
// });
@@ -888,7 +949,7 @@ onLoad((options) => {
background-color: #f7f8fa;
display: flex;
flex-direction: column;
- min-height: 100vh; // 关键,撑满整个视口高度
+ height: 100vh; // 关键,撑满整个视口高度
// 卡片样式
.card {