|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view class="content"> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <view class="bluetoothConnected"> | 
|---|
|  |  |  | <view class="bluetoothList" v-for="(item,index) in GET_CONNECTBLEDATA" :key="index" @tap="confirm_bluetooth(item)"> | 
|---|
|  |  |  | <view class="bluetoothList-name">名称:{{item.name}}</view> | 
|---|
|  |  |  | <view class="bluetoothList-mac">地址:{{item.mac}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <button type="default" @click="search_bluetooth">搜索蓝牙</button> | 
|---|
|  |  |  | <button @click="senBleLabel">打印</button> | 
|---|
|  |  |  | <view class="bluetoothItem" v-if="GET_INFODATA"> | 
|---|
|  |  |  | <view class="bluetoothList" v-for="(item,index) in GET_INFODATA" :key="index" @tap="confirm_bluetooth(item)"> | 
|---|
|  |  |  | <view class="bluetoothList-name">名称:{{item.name}}</view> | 
|---|
|  |  |  | <view class="bluetoothList-mac">地址:{{item.mac}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import printConnect from "@/common/print.js";  //引入打印机模板文件 | 
|---|
|  |  |  | let _this = null; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | mapGetters, | 
|---|
|  |  |  | mapActions | 
|---|
|  |  |  | } from 'vuex'; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | GET_INFODATA, | 
|---|
|  |  |  | GET_CONNECTBLEDATA | 
|---|
|  |  |  | } from "@/store/gettersType.js"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | SET_CONNECTBLEDATA | 
|---|
|  |  |  | } from '@/store/actionsType.js'; | 
|---|
|  |  |  | // #ifdef APP-PLUS | 
|---|
|  |  |  | const HanyinPlugin = uni.requireNativePlugin('Hanyin-Plugin'); //汉印 | 
|---|
|  |  |  | // #endif | 
|---|
|  |  |  | let print; | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | bArray: [], //用于搜索蓝牙去重用的 | 
|---|
|  |  |  | no_match_list: [], //没有配对的蓝牙列表 | 
|---|
|  |  |  | match_list: "", //已连接蓝牙打印机 | 
|---|
|  |  |  | val: "", | 
|---|
|  |  |  | dateTimer: "", | 
|---|
|  |  |  | valArr: [], | 
|---|
|  |  |  | print_data: '', | 
|---|
|  |  |  | mat: '', | 
|---|
|  |  |  | time: '', | 
|---|
|  |  |  | // 巴枪参数 | 
|---|
|  |  |  | // broadcase_actions: "com.android.receive_scan_action", | 
|---|
|  |  |  | // broadcast_flag: "data" | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | ...mapGetters([GET_INFODATA, GET_CONNECTBLEDATA]) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onShow() { | 
|---|
|  |  |  | uni.hideLoading(); | 
|---|
|  |  |  | //检查是否已连接蓝牙 | 
|---|
|  |  |  | // this.$check_bluetooth_connect(); | 
|---|
|  |  |  | console.log('onShow'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onHide() { | 
|---|
|  |  |  | console.log('onHide'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onUnload() { | 
|---|
|  |  |  | console.log('onUnload'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(options) { | 
|---|
|  |  |  | _this = this; | 
|---|
|  |  |  | this.$init_bluetooth(); | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | const eventChannel = this.getOpenerEventChannel(); | 
|---|
|  |  |  | eventChannel.on('data1', function(data1) { | 
|---|
|  |  |  | that.mat = data1.data | 
|---|
|  |  |  | that.time = data1.time | 
|---|
|  |  |  | console.log(data1); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | ...mapActions([SET_CONNECTBLEDATA]), | 
|---|
|  |  |  | senBleLabel() { | 
|---|
|  |  |  | // console.log(this.$Mock.order_data); | 
|---|
|  |  |  | if(!print) return; | 
|---|
|  |  |  | console.log(this.mat); | 
|---|
|  |  |  | this.print_data =  this.$Mock.order_data | 
|---|
|  |  |  | this.print_data.MATNR = this.mat.matnr | 
|---|
|  |  |  | this.print_data.MAKTX = this.mat.maktx | 
|---|
|  |  |  | this.print_data.MODI_TIME = this.time | 
|---|
|  |  |  | print.startPrint(this.print_data); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 连接打印机 | 
|---|
|  |  |  | confirm_bluetooth(item) { | 
|---|
|  |  |  | let { | 
|---|
|  |  |  | name, | 
|---|
|  |  |  | mac | 
|---|
|  |  |  | } = item; | 
|---|
|  |  |  | //判断蓝牙是否打开 | 
|---|
|  |  |  | this.$check_bluetooth_open().then(res => { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | //进行打印机连接 | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | print =new printConnect(item);  //打印机连接 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //搜索没匹配的蓝牙设备 | 
|---|
|  |  |  | search_bluetooth(address) { | 
|---|
|  |  |  | let _this = this; | 
|---|
|  |  |  | //检查蓝牙是否开启 | 
|---|
|  |  |  | this.$check_bluetooth_open().then(ores => { | 
|---|
|  |  |  | if (ores) { | 
|---|
|  |  |  | console.log(ores); | 
|---|
|  |  |  | //搜索蓝牙 | 
|---|
|  |  |  | _this.$search_bluetooth().then(bres => { | 
|---|
|  |  |  | console.log(bres); | 
|---|
|  |  |  | if (bres.code) { | 
|---|
|  |  |  | _this.$search_pipei().then(pres => { | 
|---|
|  |  |  | console.log(pres); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | .bluetoothItem { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bluetoothList { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | padding: 20rpx; | 
|---|
|  |  |  | border-bottom: 1rpx solid #BEBEBE; | 
|---|
|  |  |  | font-size: 18rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view class="content"> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <view class="bluetoothConnected"> | 
|---|
|  |  |  | <view class="bluetoothList" v-for="(item,index) in GET_CONNECTBLEDATA" :key="index" @tap="confirm_bluetooth(item)"> | 
|---|
|  |  |  | <view class="bluetoothList-name">名称:{{item.name}}</view> | 
|---|
|  |  |  | <view class="bluetoothList-mac">地址:{{item.mac}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <button type="default" @click="search_bluetooth">搜索蓝牙</button> | 
|---|
|  |  |  | <button @click="senBleLabel">打印</button> | 
|---|
|  |  |  | <view class="bluetoothItem" v-if="GET_INFODATA"> | 
|---|
|  |  |  | <view class="bluetoothList" v-for="(item,index) in GET_INFODATA" :key="index" @tap="confirm_bluetooth(item)"> | 
|---|
|  |  |  | <view class="bluetoothList-name">名称:{{item.name}}</view> | 
|---|
|  |  |  | <view class="bluetoothList-mac">地址:{{item.mac}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import printConnect from "@/common/print.js";  //引入打印机模板文件 | 
|---|
|  |  |  | let _this = null; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | mapGetters, | 
|---|
|  |  |  | mapActions | 
|---|
|  |  |  | } from 'vuex'; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | GET_INFODATA, | 
|---|
|  |  |  | GET_CONNECTBLEDATA | 
|---|
|  |  |  | } from "@/store/gettersType.js"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | SET_CONNECTBLEDATA | 
|---|
|  |  |  | } from '@/store/actionsType.js'; | 
|---|
|  |  |  | // #ifdef APP-PLUS | 
|---|
|  |  |  | const HanyinPlugin = uni.requireNativePlugin('Hanyin-Plugin'); //汉印 | 
|---|
|  |  |  | // #endif | 
|---|
|  |  |  | let print; | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | bArray: [], //用于搜索蓝牙去重用的 | 
|---|
|  |  |  | no_match_list: [], //没有配对的蓝牙列表 | 
|---|
|  |  |  | match_list: "", //已连接蓝牙打印机 | 
|---|
|  |  |  | val: "", | 
|---|
|  |  |  | dateTimer: "", | 
|---|
|  |  |  | valArr: [], | 
|---|
|  |  |  | print_data: '', | 
|---|
|  |  |  | mat: '', | 
|---|
|  |  |  | time: '', | 
|---|
|  |  |  | // 巴枪参数 | 
|---|
|  |  |  | // broadcase_actions: "com.android.receive_scan_action", | 
|---|
|  |  |  | // broadcast_flag: "data" | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | ...mapGetters([GET_INFODATA, GET_CONNECTBLEDATA]) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onShow() { | 
|---|
|  |  |  | uni.hideLoading(); | 
|---|
|  |  |  | //检查是否已连接蓝牙 | 
|---|
|  |  |  | // this.$check_bluetooth_connect(); | 
|---|
|  |  |  | console.log('onShow'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onHide() { | 
|---|
|  |  |  | console.log('onHide'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onUnload() { | 
|---|
|  |  |  | console.log('onUnload'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(options) { | 
|---|
|  |  |  | _this = this; | 
|---|
|  |  |  | this.$init_bluetooth(); | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | const eventChannel = this.getOpenerEventChannel(); | 
|---|
|  |  |  | eventChannel.on('data1', function(data1) { | 
|---|
|  |  |  | that.mat = data1.data | 
|---|
|  |  |  | that.time = data1.time | 
|---|
|  |  |  | console.log(data1); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | ...mapActions([SET_CONNECTBLEDATA]), | 
|---|
|  |  |  | senBleLabel() { | 
|---|
|  |  |  | // console.log(this.$Mock.order_data); | 
|---|
|  |  |  | if(!print) return; | 
|---|
|  |  |  | console.log(this.mat); | 
|---|
|  |  |  | this.print_data =  this.$Mock.order_data | 
|---|
|  |  |  | this.print_data.MATNR = this.mat.matnr | 
|---|
|  |  |  | this.print_data.MAKTX = this.mat.maktx | 
|---|
|  |  |  | this.print_data.MODI_TIME = this.time | 
|---|
|  |  |  | print.startPrint(this.print_data); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 连接打印机 | 
|---|
|  |  |  | confirm_bluetooth(item) { | 
|---|
|  |  |  | let { | 
|---|
|  |  |  | name, | 
|---|
|  |  |  | mac | 
|---|
|  |  |  | } = item; | 
|---|
|  |  |  | //判断蓝牙是否打开 | 
|---|
|  |  |  | this.$check_bluetooth_open().then(res => { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | //进行打印机连接 | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | print =new printConnect(item);  //打印机连接 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //搜索没匹配的蓝牙设备 | 
|---|
|  |  |  | search_bluetooth(address) { | 
|---|
|  |  |  | let _this = this; | 
|---|
|  |  |  | //检查蓝牙是否开启 | 
|---|
|  |  |  | this.$check_bluetooth_open().then(ores => { | 
|---|
|  |  |  | if (ores) { | 
|---|
|  |  |  | console.log(ores); | 
|---|
|  |  |  | //搜索蓝牙 | 
|---|
|  |  |  | _this.$search_bluetooth().then(bres => { | 
|---|
|  |  |  | console.log(bres); | 
|---|
|  |  |  | if (bres.code) { | 
|---|
|  |  |  | _this.$search_pipei().then(pres => { | 
|---|
|  |  |  | console.log(pres); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | .bluetoothItem { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bluetoothList { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | padding: 20rpx; | 
|---|
|  |  |  | border-bottom: 1rpx solid #BEBEBE; | 
|---|
|  |  |  | font-size: 18rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|