小票打印机
This commit is contained in:
parent
cdfa2ec3da
commit
85d1909fd7
|
|
@ -1,7 +1,7 @@
|
||||||
var port = 18080;
|
var port = 18080;
|
||||||
var connectionMode = "ws:";
|
var connectionMode = "ws:";
|
||||||
var wsPrint = null;
|
var wsPrint = null;
|
||||||
let wsGetPrinterList = null;
|
var wsGetPrinterList = null;
|
||||||
var CHUNK_SIZE = 1024 * 64;
|
var CHUNK_SIZE = 1024 * 64;
|
||||||
|
|
||||||
const WebSocketPrint = function (serverURL, strPrinterName, request, callback) {
|
const WebSocketPrint = function (serverURL, strPrinterName, request, callback) {
|
||||||
|
|
@ -187,6 +187,7 @@ export {
|
||||||
requestPrint,
|
requestPrint,
|
||||||
getPrinterList,
|
getPrinterList,
|
||||||
wsPrint,
|
wsPrint,
|
||||||
|
wsGetPrinterList,
|
||||||
WebSocketPrint,
|
WebSocketPrint,
|
||||||
WebSocketGetPrinterList
|
WebSocketGetPrinterList
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,14 +117,16 @@
|
||||||
</el-cascader>
|
</el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="小票打印机" prop="deptIdList">-->
|
<!-- <el-form-item label="小票打印机" prop="deptIdList">-->
|
||||||
<!-- <el-select v-model="printerName" clearable collapse-tags style="width: 220px">-->
|
<!-- <el-input v-model="printerName" placeholder="请输入订单号" maxlength="20" clearable-->
|
||||||
<!-- <el-option-->
|
<!-- style="width: 220px"/>-->
|
||||||
<!-- v-for="item in printList"-->
|
<!--<!– <el-select v-model="printerName" placeholder="请选择小票打印机" clearable collapse-tags style="width: 220px">–>-->
|
||||||
<!-- :key="item.value"-->
|
<!--<!– <el-option–>-->
|
||||||
<!-- :label="item.name"-->
|
<!--<!– v-for="item in printList"–>-->
|
||||||
<!-- :value="item.value"-->
|
<!--<!– :key="item.value"–>-->
|
||||||
<!-- />-->
|
<!--<!– :label="item.name"–>-->
|
||||||
<!-- </el-select>-->
|
<!--<!– :value="item.value">–>-->
|
||||||
|
<!--<!– </el-option>–>-->
|
||||||
|
<!--<!– </el-select>–>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -537,16 +539,16 @@
|
||||||
|
|
||||||
<!-- 提醒对话框 -->
|
<!-- 提醒对话框 -->
|
||||||
<el-dialog :title="handleType+'提醒'" :visible.sync="openRemind" width="40%" append-to-body>
|
<el-dialog :title="handleType+'提醒'" :visible.sync="openRemind" width="40%" append-to-body>
|
||||||
<div>
|
<!-- <div>-->
|
||||||
<el-select v-model="printerName" clearable collapse-tags style="width: 220px">
|
<!-- <el-select v-model="printerName" clearable collapse-tags style="width: 220px">-->
|
||||||
<el-option
|
<!-- <el-option-->
|
||||||
v-for="item in printList"
|
<!-- v-for="item in printList"-->
|
||||||
:key="item.value"
|
<!-- :key="item.value"-->
|
||||||
:label="item.name"
|
<!-- :label="item.name"-->
|
||||||
:value="item.value"
|
<!-- :value="item.value"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-select>
|
<!-- </el-select>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="remind-question">请问是否对以下可{{ handleType }}订单进行{{ handleType }}操作?</div>
|
<div class="remind-question">请问是否对以下可{{ handleType }}订单进行{{ handleType }}操作?</div>
|
||||||
<div class="remind-title">可{{ handleType }}订单 {{ ableList.length }} 笔</div>
|
<div class="remind-title">可{{ handleType }}订单 {{ ableList.length }} 笔</div>
|
||||||
<div v-for="(item,index) in ableList" :key="item.orderId">{{ (index + 1) }}.
|
<div v-for="(item,index) in ableList" :key="item.orderId">{{ (index + 1) }}.
|
||||||
|
|
@ -694,38 +696,46 @@ export default {
|
||||||
created() {
|
created() {
|
||||||
// this.printerName = ''
|
// this.printerName = ''
|
||||||
// this.printList = []
|
// this.printList = []
|
||||||
this.PosPrinter = new WebSDK.EscPosCommand()
|
|
||||||
this.refreshPrinterList()
|
|
||||||
this.getAreaTreeData()
|
this.getAreaTreeData()
|
||||||
this.getDeptTree()
|
this.getDeptTree()
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.PosPrinter = new WebSDK.EscPosCommand()
|
||||||
|
this.refreshPrinterList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
refreshPrinterList() {
|
refreshPrinterList() {
|
||||||
setPort(18080)
|
setPort(18080)
|
||||||
const category = { 'category': 1 }
|
getPrinterList({ 'category': 1 },(printer) =>{
|
||||||
getPrinterList(category, this.updatePrinterList)
|
this.updatePrinterList(printer)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
updatePrinterList(printers) {
|
updatePrinterList(printers) {
|
||||||
// this.printList = printers
|
console.log("Printers from getPrinterList:", printers)
|
||||||
// console.log(this.printList)
|
if (!Array.isArray(printers)) {
|
||||||
// if (!Array.isArray(printers)) {
|
console.error('Expected an array of printers, but got:', typeof printers)
|
||||||
// console.error('Expected an array of printers, but got:', typeof printers)
|
return
|
||||||
// return
|
|
||||||
// }
|
|
||||||
// console.log('Available printers:', this.printList)
|
|
||||||
this.printList = printers.map(item => ({
|
|
||||||
name: item.logicalName,
|
|
||||||
value: item.logicalName
|
|
||||||
}))
|
|
||||||
console.log('Available printers:', this.printList)
|
|
||||||
if (this.printList.length > 0) {
|
|
||||||
this.printerName = this.printList[0].name
|
|
||||||
}
|
}
|
||||||
|
this.printList = Array.isArray(printers)
|
||||||
|
? printers.map((item, index) => ({
|
||||||
|
name: item.logicalName,
|
||||||
|
value: index,
|
||||||
|
}))
|
||||||
|
: []
|
||||||
|
console.log('Available printers:', this.printList)
|
||||||
|
console.log('Available printers size:', this.printList.length)
|
||||||
|
if (this.printList.length > 0) {
|
||||||
|
console.log('Setting default printer to:', this.printList[0].value)
|
||||||
|
this.printerName = this.printList[0].value
|
||||||
|
}
|
||||||
|
console.log('this.printerName:', this.printerName)
|
||||||
|
console.log('this.printList:', this.printList)
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// 强制更新视图
|
||||||
|
this.$forceUpdate()
|
||||||
|
})
|
||||||
},
|
},
|
||||||
//区域树
|
//区域树
|
||||||
getAreaTreeData() {
|
getAreaTreeData() {
|
||||||
|
|
@ -1046,14 +1056,14 @@ export default {
|
||||||
this.$modal.msgSuccess('批量核销完成')
|
this.$modal.msgSuccess('批量核销完成')
|
||||||
}
|
}
|
||||||
if (this.handleType == '打印小票') {
|
if (this.handleType == '打印小票') {
|
||||||
if (this.printList.length === 0) {
|
// if (this.printList.length === 0) {
|
||||||
this.$modal.msgWarning('请先开启小票打印机服务!')
|
// this.$modal.msgWarning('请先开启小票打印机服务,获取打印机列表,可尝试强制刷新浏览器!')
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
if (this.printerName === '') {
|
// if (this.printerName === '') {
|
||||||
this.$modal.msgWarning('请先选择小票打印机!')
|
// this.$modal.msgWarning('请先选择小票打印机!')
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
const _titles = ['菜品名称', '数量', '单价', '总价']
|
const _titles = ['菜品名称', '数量', '单价', '总价']
|
||||||
const _columnWidths = [20, 10, 10, 8]
|
const _columnWidths = [20, 10, 10, 8]
|
||||||
console.log(this.ableList)
|
console.log(this.ableList)
|
||||||
|
|
@ -1082,7 +1092,8 @@ export default {
|
||||||
}) // 合计: 277 -> Total: 277; 应收: 277 -> Amount Due: 277; 水流单号: 1234567891011 -> Flow Number: 1234567891011; 谢谢光临!欢迎下次光临! -> Thank you for your visit! Welcome again next time!
|
}) // 合计: 277 -> Total: 277; 应收: 277 -> Amount Due: 277; 水流单号: 1234567891011 -> Flow Number: 1234567891011; 谢谢光临!欢迎下次光临! -> Thank you for your visit! Welcome again next time!
|
||||||
.printAndFeed(2)
|
.printAndFeed(2)
|
||||||
.feedAndCut(50)
|
.feedAndCut(50)
|
||||||
this.prepareAndPrint(this.printerName)
|
//TODO 当前打印机名称是写死的,后续需要改成动态选择 目前动态页面赋值有问题
|
||||||
|
this.prepareAndPrint('Printer1')
|
||||||
})
|
})
|
||||||
|
|
||||||
this.$modal.msgSuccess('打印小票完成')
|
this.$modal.msgSuccess('打印小票完成')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue