|
|
|
|
@ -9,6 +9,10 @@
|
|
|
|
|
@click="scanClick">{{ flag ? "停止扫描" : "开始扫描" }}</u-button>
|
|
|
|
|
|
|
|
|
|
<u-card title="资产列表" v-show="info.length > 0">
|
|
|
|
|
<view slot="head" style="display: flex;justify-content: space-between;align-items: center;">
|
|
|
|
|
<view style="flex: 1;">资产列表</view>
|
|
|
|
|
<u-button size="medium" type="primary" @click="clear">清空</u-button>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="card-body" slot="body">
|
|
|
|
|
<view v-for="(item,index) in info" :key="item.id"
|
|
|
|
|
style="display: flex;justify-content: space-between;padding: 10rpx 0;align-items: center;">
|
|
|
|
|
@ -108,7 +112,7 @@
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
let androidModule = uni.requireNativePlugin('uhfr')
|
|
|
|
|
let receiver;
|
|
|
|
|
let receiverQR;
|
|
|
|
|
let receiverQR;
|
|
|
|
|
let timerQR;
|
|
|
|
|
let main = plus.android.runtimeMainActivity();
|
|
|
|
|
let intent = plus.android.importClass('android.content.Intent');
|
|
|
|
|
@ -172,14 +176,28 @@
|
|
|
|
|
active_status: '',
|
|
|
|
|
files: '',
|
|
|
|
|
remark: ''
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
qrIdList:[],
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
qrIdList: [],
|
|
|
|
|
info: [],
|
|
|
|
|
logs: []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
clear() {
|
|
|
|
|
this.info = []
|
|
|
|
|
this.fund = {
|
|
|
|
|
id: 0,
|
|
|
|
|
name: '',
|
|
|
|
|
serial: '',
|
|
|
|
|
position: '',
|
|
|
|
|
worker_name: '',
|
|
|
|
|
active_status: '',
|
|
|
|
|
files: '',
|
|
|
|
|
remark: ''
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async getLogs() {
|
|
|
|
|
this.logs = await selectFromTable(`
|
|
|
|
|
select * from log where type = 1;
|
|
|
|
|
@ -204,7 +222,7 @@
|
|
|
|
|
this.fund.files = filePath[1]?.savedFilePath
|
|
|
|
|
}
|
|
|
|
|
await executeSql(`
|
|
|
|
|
update property set active_status = "${this.fund.active_status}",remark = "${this.fund.remark}",is_check = 1,${this.fund.files ? 'files = "' + this.fund.files + '"' : '' } where id = ${this.fund.id};
|
|
|
|
|
update property set active_status = "${this.fund.active_status}",remark = "${this.fund.remark}",is_check = 1${this.fund.files ? ',files = "' + this.fund.files + '"' : '' } where id = ${this.fund.id};
|
|
|
|
|
`)
|
|
|
|
|
uni.showToast({
|
|
|
|
|
icon: 'success',
|
|
|
|
|
@ -227,38 +245,38 @@
|
|
|
|
|
receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
|
|
|
|
|
onReceive: (context, intent) => {
|
|
|
|
|
plus.android.importClass(intent)
|
|
|
|
|
let action = intent.getAction()
|
|
|
|
|
switch (action){
|
|
|
|
|
case "com.rfid.SCAN":
|
|
|
|
|
let id = byteToString(intent.getExtra("data"))
|
|
|
|
|
this.qrIdList.push(id)
|
|
|
|
|
break;
|
|
|
|
|
case "android.rfid.FUN_KEY":
|
|
|
|
|
let keydown = intent.getBooleanExtra("keydown", false);
|
|
|
|
|
if (!keydown) {
|
|
|
|
|
this.scanClick()
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
let action = intent.getAction()
|
|
|
|
|
switch (action) {
|
|
|
|
|
case "com.rfid.SCAN":
|
|
|
|
|
let id = byteToString(intent.getExtra("data"))
|
|
|
|
|
this.qrIdList.push(id)
|
|
|
|
|
break;
|
|
|
|
|
case "android.rfid.FUN_KEY":
|
|
|
|
|
let keydown = intent.getBooleanExtra("keydown", false);
|
|
|
|
|
if (!keydown) {
|
|
|
|
|
this.scanClick()
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
let intentFilter = plus.android.importClass('android.content.IntentFilter')
|
|
|
|
|
let filter = new intentFilter()
|
|
|
|
|
filter.addAction("android.rfid.FUN_KEY")
|
|
|
|
|
filter.addAction("android.rfid.FUN_KEY")
|
|
|
|
|
filter.addAction("com.rfid.SCAN")
|
|
|
|
|
main.registerReceiver(receiver, filter)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
init() {
|
|
|
|
|
androidModule.initUhfrManage()
|
|
|
|
|
|
|
|
|
|
//二维码扫描初始化
|
|
|
|
|
let intentStart = new intent("com.rfid.SCAN_INIT")
|
|
|
|
|
main.sendBroadcast(intentStart)
|
|
|
|
|
let intentTime = new intent("com.rfid.SCAN_TIME")
|
|
|
|
|
intentTime.putExtra("time",1000)
|
|
|
|
|
let intentBroad = new intent("com.rfid.SET_SCAN_MODE")
|
|
|
|
|
intentBroad.putExtra("mode",0)
|
|
|
|
|
androidModule.initUhfrManage()
|
|
|
|
|
|
|
|
|
|
//二维码扫描初始化
|
|
|
|
|
let intentStart = new intent("com.rfid.SCAN_INIT")
|
|
|
|
|
main.sendBroadcast(intentStart)
|
|
|
|
|
let intentTime = new intent("com.rfid.SCAN_TIME")
|
|
|
|
|
intentTime.putExtra("time", 1000)
|
|
|
|
|
let intentBroad = new intent("com.rfid.SET_SCAN_MODE")
|
|
|
|
|
intentBroad.putExtra("mode", 0)
|
|
|
|
|
main.sendBroadcast(intentBroad)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
@ -266,13 +284,13 @@
|
|
|
|
|
if (!this.flag) {
|
|
|
|
|
this.flag = 1
|
|
|
|
|
|
|
|
|
|
//二维码扫描
|
|
|
|
|
this.qrIdList = []
|
|
|
|
|
let intentScan = new intent("com.rfid.SCAN_CMD")
|
|
|
|
|
timerQR = setInterval(() => {
|
|
|
|
|
main.sendBroadcast(intentScan)
|
|
|
|
|
},500)
|
|
|
|
|
|
|
|
|
|
//二维码扫描
|
|
|
|
|
this.qrIdList = []
|
|
|
|
|
let intentScan = new intent("com.rfid.SCAN_CMD")
|
|
|
|
|
timerQR = setInterval(() => {
|
|
|
|
|
main.sendBroadcast(intentScan)
|
|
|
|
|
}, 500)
|
|
|
|
|
|
|
|
|
|
//rfid扫描
|
|
|
|
|
androidModule.asyncStartReading()
|
|
|
|
|
|
|
|
|
|
@ -286,17 +304,17 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
this.flag = 0
|
|
|
|
|
|
|
|
|
|
clearInterval(timerQR)
|
|
|
|
|
|
|
|
|
|
this.flag = 0
|
|
|
|
|
|
|
|
|
|
clearInterval(timerQR)
|
|
|
|
|
|
|
|
|
|
//rfid标签盘点
|
|
|
|
|
androidModule.asyncStopReading()
|
|
|
|
|
|
|
|
|
|
androidModule.tagInventoryRealTime(async res => {
|
|
|
|
|
let dataList = JSON.parse(res)
|
|
|
|
|
const getSqlIn = () => {
|
|
|
|
|
return Array.from(new Set([...dataList,...this.qrIdList])).map(item => {
|
|
|
|
|
return Array.from(new Set([...dataList, ...this.qrIdList])).map(item => {
|
|
|
|
|
return `"${item.replace(/^1(0+)/g,"")}"`
|
|
|
|
|
}).toString()
|
|
|
|
|
}
|
|
|
|
|
@ -306,7 +324,7 @@
|
|
|
|
|
`)
|
|
|
|
|
androidModule.showToast(`扫描到:${propertys.length}件资产`)
|
|
|
|
|
this.info = propertys
|
|
|
|
|
if(this.info.length > 0)this.fund = this.info[0]
|
|
|
|
|
this.fund = propertys[0]
|
|
|
|
|
} catch (e) {
|
|
|
|
|
console.warn('sqlite-err', e);
|
|
|
|
|
androidModule.showToast(err)
|
|
|
|
|
@ -335,11 +353,11 @@
|
|
|
|
|
// #endif
|
|
|
|
|
},
|
|
|
|
|
onUnload() {
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
//关闭二维码扫描
|
|
|
|
|
let intentClose = new intent("com.rfid.CLOSE_SCAN")
|
|
|
|
|
main.sendBroadcast(intentClose)
|
|
|
|
|
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
//关闭二维码扫描
|
|
|
|
|
let intentClose = new intent("com.rfid.CLOSE_SCAN")
|
|
|
|
|
main.sendBroadcast(intentClose)
|
|
|
|
|
|
|
|
|
|
androidModule.stopTagInventory()
|
|
|
|
|
androidModule.close()
|
|
|
|
|
main.unregisterReceiver(receiver)
|
|
|
|
|
@ -353,7 +371,26 @@
|
|
|
|
|
console.warn('sqlite-err', e);
|
|
|
|
|
androidModule.showToast(err)
|
|
|
|
|
}
|
|
|
|
|
// #endif
|
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
|
|
uni.$on('uploadSuccess',() => {
|
|
|
|
|
this.clear()
|
|
|
|
|
})
|
|
|
|
|
uni.$on('assetsSync',async () => {
|
|
|
|
|
try{
|
|
|
|
|
await executeSql(`
|
|
|
|
|
DELETE from log;
|
|
|
|
|
`)
|
|
|
|
|
await executeSql(`
|
|
|
|
|
UPDATE sqlite_sequence SET seq = 0 where name = 'log';
|
|
|
|
|
`)
|
|
|
|
|
}catch(err){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
destroyed() {
|
|
|
|
|
uni.$off()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|