diff --git a/dist-electron/main.js b/dist-electron/main.js index 05cae54..eda7f33 100644 --- a/dist-electron/main.js +++ b/dist-electron/main.js @@ -1 +1,115 @@ -"use strict";const s=require("path"),e=require("electron"),a=require("os");let n;e.app.whenReady().then(()=>{n=new e.BrowserWindow({title:"银收客",width:1024,height:768,fullscreenable:!0,fullscreen:!process.env.VITE_DEV_SERVER_URL,simpleFullscreen:!0,frame:!!process.env.VITE_DEV_SERVER_URL,webPreferences:{nodeIntegration:!0,contextIsolation:!1}}),process.env.VITE_DEV_SERVER_URL?n.loadURL(process.env.VITE_DEV_SERVER_URL):n.loadFile(s.resolve(__dirname,"../dist/index.html")),e.app.on("activate",()=>{e.BrowserWindow.getAllWindows().length===0&&createWindow()}),e.ipcMain.on("quitHandler",(t,o)=>{n=null,e.app.exit()}),e.ipcMain.on("getPrintList",()=>{n.webContents.getPrintersAsync().then(t=>{n.webContents.send("printList",t)})}),e.ipcMain.on("getOSmacSync",()=>{let t="";a.networkInterfaces().WLAN?(t=a.networkInterfaces().WLAN[0].mac,console.log("wlan.mac===",t)):(t=a.networkInterfaces().以太网[0].mac,console.log("以太网.mac===",t)),n.webContents.send("getOSmacRes",t)});const i=new e.BrowserWindow({show:!1,width:360,height:240,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?i.loadFile(s.join(__dirname,"../public/tag_print.html")):i.loadFile(s.resolve(__dirname,"../dist/tag_print.html")),e.ipcMain.on("printerTagSync",(t,o)=>{console.log(o),i.webContents.send("getParams",o)}),e.ipcMain.on("printTagStart",(t,o)=>{let l=JSON.parse(o).deviceName;i.webContents.print({silent:!0,deviceName:l,pageSize:{width:45e3,height:3e4},scaleFactor:80,landscape:!1,margins:{marginType:"none",top:0,bottom:0,left:0,right:0},dpi:{horizontal:203,vertical:203}})}),e.app.requestSingleInstanceLock()?e.app.on("second-instance",(t,o,r)=>{n&&(n.isMinimized()&&n.restore(),n.focus(),n.show())}):e.app.quit(),n.on("close",t=>{t.preventDefault(),n.webContents.send("showCloseDialog")})});e.app.on("window-all-closed",()=>{process.platform!=="darwin"&&e.app.quit()}); +"use strict"; +const path = require("path"); +const electron = require("electron"); +const os = require("os"); +let win; +electron.app.whenReady().then(() => { + win = new electron.BrowserWindow({ + title: "银收客", + width: 1024, + height: 768, + fullscreenable: true, + fullscreen: process.env.VITE_DEV_SERVER_URL ? false : true, + simpleFullscreen: true, + frame: process.env.VITE_DEV_SERVER_URL ? true : false, + webPreferences: { + // 集成网页和 Node.js,也就是在渲染进程中,可以调用 Node.js 方法 + nodeIntegration: true, + contextIsolation: false + } + }); + if (process.env.VITE_DEV_SERVER_URL) { + win.loadURL(process.env.VITE_DEV_SERVER_URL); + } else { + win.loadFile(path.resolve(__dirname, "../dist/index.html")); + } + electron.app.on("activate", () => { + if (electron.BrowserWindow.getAllWindows().length === 0) { + createWindow(); + } + }); + electron.ipcMain.on("quitHandler", (_, msg) => { + win = null; + electron.app.exit(); + }); + electron.ipcMain.on("getPrintList", () => { + win.webContents.getPrintersAsync().then((res) => { + win.webContents.send("printList", res); + }); + }); + electron.ipcMain.on("getOSmacSync", () => { + let mac = ""; + if (os.networkInterfaces().WLAN) { + mac = os.networkInterfaces().WLAN[0].mac; + console.log("wlan.mac===", mac); + } else { + mac = os.networkInterfaces()["以太网"][0].mac; + console.log("以太网.mac===", mac); + } + win.webContents.send("getOSmacRes", mac); + }); + const tagPrintWin = new electron.BrowserWindow({ + show: false, + width: 360, + height: 240, + webPreferences: { + nodeIntegration: true, + contextIsolation: false + } + }); + if (process.env.VITE_DEV_SERVER_URL) { + tagPrintWin.loadFile(path.join(__dirname, "../public/tag_print.html")); + } else { + tagPrintWin.loadFile(path.resolve(__dirname, "../dist/tag_print.html")); + } + electron.ipcMain.on("printerTagSync", (event, arg) => { + console.log(arg); + tagPrintWin.webContents.send("getParams", arg); + }); + electron.ipcMain.on("printTagStart", (event, arg) => { + const _parmas = JSON.parse(arg); + let name = _parmas.deviceName; + tagPrintWin.webContents.print({ + silent: true, + deviceName: name, + pageSize: { + width: 45e3, + height: 3e4 + }, + scaleFactor: 80, + landscape: false, + margins: { + marginType: "none", + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + dpi: { + horizontal: 203, + vertical: 203 + } + }); + }); + const gotTheLock = electron.app.requestSingleInstanceLock(); + if (!gotTheLock) { + electron.app.quit(); + } else { + electron.app.on("second-instance", (event, commandLine, workingDirectory) => { + if (win) { + if (win.isMinimized()) + win.restore(); + win.focus(); + win.show(); + } + }); + } + win.on("close", (e) => { + e.preventDefault(); + win.webContents.send("showCloseDialog"); + }); +}); +electron.app.on("window-all-closed", () => { + if (process.platform !== "darwin") + electron.app.quit(); +}); diff --git a/package.json b/package.json index 83243c3..9cbf44e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vite-electron", "private": true, - "version": "1.4.14", + "version": "1.4.15", "main": "dist-electron/main.js", "scripts": { "dev": "chcp 65001 && vite", diff --git a/src/components/leftMenu.vue b/src/components/leftMenu.vue index 02775bf..24e9bad 100644 --- a/src/components/leftMenu.vue +++ b/src/components/leftMenu.vue @@ -105,7 +105,7 @@ function openCall() { // 手动重新连接ws function connectWsHandle() { - if (socketStore.online) return + // if (socketStore.online) return location.reload() } diff --git a/src/components/payCard/payCard.vue b/src/components/payCard/payCard.vue index f95a5fa..f87c8a3 100644 --- a/src/components/payCard/payCard.vue +++ b/src/components/payCard/payCard.vue @@ -58,6 +58,9 @@ import { clearNoNum } from '@/utils' import scanModal from '@/components/payCard/scanModal.vue' import { ElMessage } from "element-plus"; +import { useGlobal } from '@/store/global.js' + +const global = useGlobal() const store = useUser() @@ -73,10 +76,6 @@ const props = defineProps({ orderId: { type: [String, Number], default: '' - }, - member: { - type: Object, - default: {} } }) @@ -112,7 +111,7 @@ function payTypeChange(index, item) { if (item.payType == 'scanCode') { scanModalRef.value.show() } - if (payList.value[payActive.value].payType == 'deposit' && !props.member.id) { + if (payList.value[payActive.value].payType == 'deposit' && !global.orderMemberInfo.id) { scanModalRef.value.show() } } @@ -133,10 +132,10 @@ async function confirmOrder() { // } else { // } - if (props.member.id) { + if (global.orderMemberInfo.id) { await accountPay({ orderId: props.orderId, - memberId: props.member.id, + memberId: global.orderMemberInfo.id, memberAccount: '' }) } else { diff --git a/src/store/global.js b/src/store/global.js index 0a1d726..4ffbbfc 100644 --- a/src/store/global.js +++ b/src/store/global.js @@ -5,11 +5,21 @@ export const useGlobal = defineStore({ state: () => ({ // 是否监听叫号 isCallNumber: true, + orderMemberInfo: {}, + tableInfo: {}, }), actions: { // 更新状态 updateData(state) { this.isCallNumber = state; }, + // 设置订单会员信息 + setOrderMember(obj) { + this.orderMemberInfo = obj; + }, + // 设置订单台桌信息 + setOrderTable(obj) { + this.tableInfo = obj; + }, }, }); diff --git a/src/views/home/components/settleAccount.vue b/src/views/home/components/settleAccount.vue index ff02f0e..de9316d 100644 --- a/src/views/home/components/settleAccount.vue +++ b/src/views/home/components/settleAccount.vue @@ -12,7 +12,9 @@
{{ props.masterId }} - 会员:{{ memberInfo.telephone }} + + 会员:{{ global.orderMemberInfo.telephone }} +
服务员:{{ store.userInfo.loginAccount || "暂无" }} @@ -59,7 +61,7 @@
- +
@@ -78,8 +80,10 @@ import useStorage from '@/utils/useStorage' import { ipcRenderer } from "electron"; import { formatDecimal } from '@/utils/index.js' import receiptPrint from "@/components/lodop/receiptPrint.js"; - +import { useGlobal } from '@/store/global.js' import { usePrint } from '@/store/print.js' + +const global = useGlobal() const printStore = usePrint() const store = useUser(); @@ -215,37 +219,21 @@ async function printOrderLable() { // 订单已支付 function paySuccess() { - useStorage.del('memberInfo') dialogVisible.value = false; + global.setOrderMember({}) + global.setOrderTable({}) printOrderLable() + emit("paySuccess"); } function show() { dialogVisible.value = true; - getLocalMemberInfo() } defineExpose({ show, }); - - -const memberInfo = ref('') - -// 从本地获取会员信息 -function getLocalMemberInfo() { - let localMemberInfo = useStorage.get('memberInfo') - if (localMemberInfo && localMemberInfo.telephone) { - memberInfo.value = localMemberInfo - } else { - memberInfo.value = '' - } -} - -onMounted(() => { - getLocalMemberInfo() -});