1.新增订单手动退款 2.团购新增抖音团购核销
This commit is contained in:
parent
c155e8a805
commit
a282636266
|
|
@ -2,16 +2,16 @@
|
||||||
ENV = test
|
ENV = test
|
||||||
|
|
||||||
#测试ws
|
#测试ws
|
||||||
# VITE_API_WSS = 'wss://wxcashiertest.sxczgkj.cn/client'
|
VITE_API_WSS = 'wss://wxcashiertest.sxczgkj.cn/client'
|
||||||
|
|
||||||
# 正式ws
|
# 正式ws
|
||||||
VITE_API_WSS = 'wss://cashier.sxczgkj.cn/client'
|
# VITE_API_WSS = 'wss://cashier.sxczgkj.cn/client'
|
||||||
|
|
||||||
# 正式 php
|
# 正式 php
|
||||||
VITE_API_PHP_URL = 'http://czgdoumei.sxczgkj.com/index.php/api'
|
VITE_API_PHP_URL = 'http://czgdoumei.sxczgkj.com/index.php/api'
|
||||||
|
|
||||||
# 测试
|
# 测试
|
||||||
# VITE_API_URL = 'https://cashier-client.sxczgkj.cn/cashier-client'
|
VITE_API_URL = 'https://cashier-client.sxczgkj.cn/cashier-client'
|
||||||
|
|
||||||
# 正式
|
# 正式
|
||||||
VITE_API_URL = 'https://cashierclient.sxczgkj.cn/cashier-client'
|
# VITE_API_URL = 'https://cashierclient.sxczgkj.cn/cashier-client'
|
||||||
|
|
@ -1 +1,201 @@
|
||||||
"use strict";const o=require("path"),e=require("electron"),p=require("os");let i;e.app.whenReady().then(()=>{i=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?i.loadURL(process.env.VITE_DEV_SERVER_URL):i.loadFile(o.resolve(__dirname,"../dist/index.html")),e.app.on("activate",()=>{e.BrowserWindow.getAllWindows().length===0&&createWindow()}),e.ipcMain.on("quitHandler",(n,t)=>{i=null,e.app.exit()}),e.ipcMain.on("getPrintList",()=>{i.webContents.getPrintersAsync().then(n=>{i.webContents.send("printList",n)})}),e.ipcMain.on("getOSmacSync",()=>{let n="";p.networkInterfaces().WLAN?(n=p.networkInterfaces().WLAN[0].mac,console.log("wlan.mac===",n)):(n=p.networkInterfaces().以太网[0].mac,console.log("以太网.mac===",n)),i.webContents.send("getOSmacRes",n)});const r=new e.BrowserWindow({show:!1,width:464,height:1726,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?r.loadFile(o.join(__dirname,"../public/print.html")):r.loadFile(o.resolve(__dirname,"../dist/print.html")),e.ipcMain.on("printerInfoSync",(n,t)=>{r.webContents.send("getParams",t)}),e.ipcMain.on("printStart",(n,t)=>{console.log(t);let a=JSON.parse(t).deviceName;r.webContents.print({silent:!0,deviceName:a,pageSize:{width:58e3,height:216e3},scaleFactor:80,landscape:!1,margins:{marginType:"none",top:0,bottom:0,left:0,right:0},dpi:{horizontal:203,vertical:203}})});const s=new e.BrowserWindow({show:!1,width:464,height:1726,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?s.loadFile(o.join(__dirname,"../public/work_print.html")):s.loadFile(o.resolve(__dirname,"../dist/work_print.html")),e.ipcMain.on("printerWorkSync",(n,t)=>{s.webContents.send("getParams",t)}),e.ipcMain.on("printWorkStart",(n,t)=>{let a=JSON.parse(t).deviceName;s.webContents.print({silent:!0,deviceName:a,pageSize:{width:58e3,height:216e3},scaleFactor:80,landscape:!1,margins:{marginType:"none",top:0,bottom:0,left:0,right:0},dpi:{horizontal:203,vertical:203}})});const l=new e.BrowserWindow({show:!1,width:360,height:240,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?l.loadFile(o.join(__dirname,"../public/tag_print.html")):l.loadFile(o.resolve(__dirname,"../dist/tag_print.html")),e.ipcMain.on("printerTagSync",(n,t)=>{console.log(t),l.webContents.send("getParams",t)}),e.ipcMain.on("printTagStart",(n,t)=>{let a=JSON.parse(t).deviceName;l.webContents.print({silent:!0,deviceName:a,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",(n,t,c)=>{i&&(i.isMinimized()&&i.restore(),i.focus(),i.show())}):e.app.quit(),i.on("close",n=>{n.preventDefault(),i.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 printWin = new electron.BrowserWindow({
|
||||||
|
show: false,
|
||||||
|
width: 464,
|
||||||
|
height: 1726,
|
||||||
|
webPreferences: {
|
||||||
|
// 集成网页和 Node.js,也就是在渲染进程中,可以调用 Node.js 方法
|
||||||
|
nodeIntegration: true,
|
||||||
|
contextIsolation: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (process.env.VITE_DEV_SERVER_URL) {
|
||||||
|
printWin.loadFile(path.join(__dirname, "../public/print.html"));
|
||||||
|
} else {
|
||||||
|
printWin.loadFile(path.resolve(__dirname, "../dist/print.html"));
|
||||||
|
}
|
||||||
|
electron.ipcMain.on("printerInfoSync", (event, arg) => {
|
||||||
|
printWin.webContents.send("getParams", arg);
|
||||||
|
});
|
||||||
|
electron.ipcMain.on("printStart", (event, arg) => {
|
||||||
|
console.log(arg);
|
||||||
|
const _parmas = JSON.parse(arg);
|
||||||
|
let name = _parmas.deviceName;
|
||||||
|
printWin.webContents.print({
|
||||||
|
silent: true,
|
||||||
|
deviceName: name,
|
||||||
|
pageSize: {
|
||||||
|
width: 58e3,
|
||||||
|
height: 216e3
|
||||||
|
},
|
||||||
|
scaleFactor: 80,
|
||||||
|
landscape: false,
|
||||||
|
margins: {
|
||||||
|
marginType: "none",
|
||||||
|
top: 0,
|
||||||
|
bottom: 0,
|
||||||
|
left: 0,
|
||||||
|
right: 0
|
||||||
|
},
|
||||||
|
dpi: {
|
||||||
|
horizontal: 203,
|
||||||
|
vertical: 203
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
const workPrintWin = new electron.BrowserWindow({
|
||||||
|
show: false,
|
||||||
|
width: 464,
|
||||||
|
height: 1726,
|
||||||
|
webPreferences: {
|
||||||
|
nodeIntegration: true,
|
||||||
|
contextIsolation: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (process.env.VITE_DEV_SERVER_URL) {
|
||||||
|
workPrintWin.loadFile(path.join(__dirname, "../public/work_print.html"));
|
||||||
|
} else {
|
||||||
|
workPrintWin.loadFile(path.resolve(__dirname, "../dist/work_print.html"));
|
||||||
|
}
|
||||||
|
electron.ipcMain.on("printerWorkSync", (event, arg) => {
|
||||||
|
workPrintWin.webContents.send("getParams", arg);
|
||||||
|
});
|
||||||
|
electron.ipcMain.on("printWorkStart", (event, arg) => {
|
||||||
|
const _parmas = JSON.parse(arg);
|
||||||
|
let name = _parmas.deviceName;
|
||||||
|
workPrintWin.webContents.print({
|
||||||
|
silent: true,
|
||||||
|
deviceName: name,
|
||||||
|
pageSize: {
|
||||||
|
width: 58e3,
|
||||||
|
height: 216e3
|
||||||
|
},
|
||||||
|
scaleFactor: 80,
|
||||||
|
landscape: false,
|
||||||
|
margins: {
|
||||||
|
marginType: "none",
|
||||||
|
top: 0,
|
||||||
|
bottom: 0,
|
||||||
|
left: 0,
|
||||||
|
right: 0
|
||||||
|
},
|
||||||
|
dpi: {
|
||||||
|
horizontal: 203,
|
||||||
|
vertical: 203
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
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();
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "vite-electron",
|
"name": "vite-electron",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.4.6",
|
"version": "1.4.7",
|
||||||
"main": "dist-electron/main.js",
|
"main": "dist-electron/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "chcp 65001 && vite",
|
"dev": "chcp 65001 && vite",
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,10 @@ export function orderorderDetail(params) {
|
||||||
* @param {*} params
|
* @param {*} params
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function payreturnOrder(data, pwd) {
|
export function payreturnOrder(data, pwd, isOnline) {
|
||||||
return request({
|
return request({
|
||||||
method: "post",
|
method: "post",
|
||||||
url: `pay/returnOrder?pwd=${pwd}`,
|
url: `pay/returnOrder?pwd=${pwd}&isOnline=${isOnline}`,
|
||||||
data,
|
data,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -141,10 +141,10 @@ const deviceRoute = ref({
|
||||||
});
|
});
|
||||||
|
|
||||||
async function statusChange(e, item) {
|
async function statusChange(e, item) {
|
||||||
console.log(e, item);
|
|
||||||
try {
|
try {
|
||||||
await tbPrintMachinePost(item, "put");
|
await tbPrintMachinePost(item, "put");
|
||||||
tbPrintMachineGetAjax();
|
tbPrintMachineGetAjax();
|
||||||
|
printStore.init();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -157,14 +157,20 @@ async function groupOrdergroupScanHandle() {
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
groupDetailLoading.value = true
|
let encrypted_codes = douyin_table.value.getSelectionRows()
|
||||||
let encrypted_codes = douyin_table.value.getSelectionRows().map(item => item.encrypted_code)
|
if (encrypted_codes.length) {
|
||||||
console.log(encrypted_codes);
|
groupDetailLoading.value = true
|
||||||
const res = await douyincertificateprepare({
|
let arr = encrypted_codes.map(item => item.encrypted_code)
|
||||||
verify_token: groupDetail.value.verify_token,
|
console.log(encrypted_codes);
|
||||||
encrypted_codes: encrypted_codes.join(','),
|
const res = await douyincertificateprepare({
|
||||||
id: groupDetail.value.id
|
verify_token: groupDetail.value.verify_token,
|
||||||
})
|
encrypted_codes: arr.join(','),
|
||||||
|
id: groupDetail.value.id
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
ElMessage.error('请选择核销项目')
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -261,7 +267,7 @@ const inputChange = _.debounce(function (e) {
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
function show() {
|
function show() {
|
||||||
global.updateData(true)
|
global.updateData(false)
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
inputRef.value.focus();
|
inputRef.value.focus();
|
||||||
|
|
@ -269,7 +275,7 @@ function show() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function close() {
|
function close() {
|
||||||
global.updateData(false)
|
global.updateData(true)
|
||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,9 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<el-pagination @current-change="paginationChange" :current-page="tableData.page"
|
<el-pagination v-model:current-page="tableData.page" v-model:page-size="tableData.size"
|
||||||
:page-size="tableData.size" layout="total, prev, pager, next" :total="tableData.total" background>
|
layout="total, prev, pager, next" :total="tableData.total" background
|
||||||
|
@current-change="paginationChange" @size-change="paginationChange">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -231,16 +232,19 @@ function typeChange(e) {
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
tableData.status = ''
|
||||||
|
tableData.page = 1
|
||||||
|
tableData.list = []
|
||||||
|
groupOrderlistAjax()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 状态
|
// 状态
|
||||||
function statusFilter(t) {
|
function statusFilter(t) {
|
||||||
return statusList.find(item => item.value == t)?.label
|
return originStatus.find(item => item.value == t)?.label
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分页变化
|
// 分页变化
|
||||||
function paginationChange(e) {
|
function paginationChange(e) {
|
||||||
tableData.page = e
|
|
||||||
groupOrderlistAjax()
|
groupOrderlistAjax()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -307,7 +311,6 @@ async function groupOrderlistAjax() {
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
typeChange(tableData.type)
|
typeChange(tableData.type)
|
||||||
groupOrderlistAjax()
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,19 +12,23 @@
|
||||||
<el-text class="t">{{ masterId }}</el-text>
|
<el-text class="t">{{ masterId }}</el-text>
|
||||||
</div>
|
</div>
|
||||||
<div class="select_user" @click="fastCashierRef.show()" v-if="!memberInfo.telephone">
|
<div class="select_user" @click="fastCashierRef.show()" v-if="!memberInfo.telephone">
|
||||||
<el-icon class="icon">
|
<div class="left">
|
||||||
<WalletFilled />
|
<el-icon class="icon">
|
||||||
</el-icon>
|
<WalletFilled />
|
||||||
<el-text class="t">快捷收银</el-text>
|
</el-icon>
|
||||||
|
<el-text class="t">快捷收银</el-text>
|
||||||
|
</div>
|
||||||
<el-icon class="arrow">
|
<el-icon class="arrow">
|
||||||
<ArrowRight />
|
<ArrowRight />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="select_user" v-else @click="clearMember">
|
<div class="select_user" v-else @click="clearMember">
|
||||||
<el-icon class="icon">
|
<div class="left">
|
||||||
<UserFilled />
|
<el-icon class="icon">
|
||||||
</el-icon>
|
<UserFilled />
|
||||||
<el-text class="t">{{ memberInfo.telephone }}</el-text>
|
</el-icon>
|
||||||
|
<el-text class="t">{{ memberInfo.telephone }}</el-text>
|
||||||
|
</div>
|
||||||
<el-icon class="arrow">
|
<el-icon class="arrow">
|
||||||
<Close />
|
<Close />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
|
|
@ -418,7 +422,7 @@ onMounted(() => {
|
||||||
.menu {
|
.menu {
|
||||||
background-color: var(--el-color-warning);
|
background-color: var(--el-color-warning);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
width: 100px;
|
width: 60px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
@ -437,7 +441,7 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.number {
|
.number {
|
||||||
flex: 1;
|
width: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
@ -450,24 +454,31 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.select_user {
|
.select_user {
|
||||||
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
background-color: var(--el-color-info-light-8);
|
background-color: var(--el-color-info-light-8);
|
||||||
padding: 0 var(--el-font-size-base);
|
padding: 0 var(--el-font-size-base);
|
||||||
|
|
||||||
.icon {
|
.left {
|
||||||
color: var(--el-color-primary);
|
display: flex;
|
||||||
font-size: 18px;
|
align-items: center;
|
||||||
}
|
|
||||||
|
|
||||||
.t {
|
.icon {
|
||||||
font-size: var(--el-font-size-base);
|
color: var(--el-color-primary);
|
||||||
padding: 0 10px;
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t {
|
||||||
|
font-size: var(--el-font-size-base);
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.arrow {
|
.arrow {
|
||||||
color: #999;
|
color: #999;
|
||||||
font-size: 20px;
|
font-size: 16px;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 2px;
|
top: 2px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,10 @@
|
||||||
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
||||||
暂无数据
|
暂无数据
|
||||||
</div>
|
</div>
|
||||||
<el-pagination background v-if="ordereData.list.length" layout="prev, pager, next"
|
<el-pagination background v-if="ordereData.list.length" v-model:current-page="ordereData.page"
|
||||||
style="margin-top: 20px" :total="Number(ordereData.total)" @current-change="handleCurrentChange" />
|
v-model:page-size="ordereData.size" :page-sizes="[10, 30, 50, 100]" layout="prev, pager, next"
|
||||||
|
style="margin-top: 20px" :total="Number(ordereData.total)" @size-change="handleCurrentChange"
|
||||||
|
@current-change="handleCurrentChange" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="销售" name="closed">
|
<el-tab-pane label="销售" name="closed">
|
||||||
<add :loading="ordereData.loading" :ordereData="ordereData" @emititemboxshow="emititemboxshow"
|
<add :loading="ordereData.loading" :ordereData="ordereData" @emititemboxshow="emititemboxshow"
|
||||||
|
|
@ -25,8 +27,10 @@
|
||||||
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
||||||
暂无数据
|
暂无数据
|
||||||
</div>
|
</div>
|
||||||
<el-pagination v-if="ordereData.list.length" background layout="prev, pager, next"
|
<el-pagination background v-if="ordereData.list.length" v-model:current-page="ordereData.page"
|
||||||
style="margin-top: 20px" :total="Number(ordereData.total)" @current-change="handleCurrentChange" />
|
v-model:page-size="ordereData.size" :page-sizes="[10, 30, 50, 100]" layout="prev, pager, next"
|
||||||
|
style="margin-top: 20px" :total="Number(ordereData.total)" @size-change="handleCurrentChange"
|
||||||
|
@current-change="handleCurrentChange" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="退单" name="refund">
|
<el-tab-pane label="退单" name="refund">
|
||||||
<add :loading="ordereData.loading" :ordereData="ordereData" @emititemboxshow="emititemboxshow"
|
<add :loading="ordereData.loading" :ordereData="ordereData" @emititemboxshow="emititemboxshow"
|
||||||
|
|
@ -35,8 +39,10 @@
|
||||||
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
||||||
暂无数据
|
暂无数据
|
||||||
</div>
|
</div>
|
||||||
<el-pagination v-if="ordereData.list.length" background layout="prev, pager, next"
|
<el-pagination background v-if="ordereData.list.length" v-model:current-page="ordereData.page"
|
||||||
style="margin-top: 20px" :total="Number(ordereData.total)" @current-change="handleCurrentChange" />
|
v-model:page-size="ordereData.size" :page-sizes="[10, 30, 50, 100]" layout="prev, pager, next"
|
||||||
|
style="margin-top: 20px" :total="Number(ordereData.total)" @size-change="handleCurrentChange"
|
||||||
|
@current-change="handleCurrentChange" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="快捷收银" name="cash">
|
<el-tab-pane label="快捷收银" name="cash">
|
||||||
<cashTable />
|
<cashTable />
|
||||||
|
|
@ -251,9 +257,12 @@
|
||||||
¥{{ refundamount > 0 ? refundamount : "0.00" }}
|
¥{{ refundamount > 0 ? refundamount : "0.00" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="recharge_footer_itemright_botton_boxtow" style="margin-right: 10px;">
|
||||||
|
<el-button style="width: 100%; height: 100%" @click="payreturnOrderclick(false)">手动退款</el-button>
|
||||||
|
</div>
|
||||||
<div class="recharge_footer_itemright_botton_boxtow">
|
<div class="recharge_footer_itemright_botton_boxtow">
|
||||||
<el-button type="primary" style="width: 100%; height: 100%" :loading="buttonloading"
|
<el-button type="primary" style="width: 100%; height: 100%" :loading="buttonloading"
|
||||||
@click="payreturnOrderclick">
|
@click="payreturnOrderclick(true)">
|
||||||
<span v-if="!buttonloading">支付退回</span>
|
<span v-if="!buttonloading">支付退回</span>
|
||||||
<span v-else>支付退回...</span>
|
<span v-else>支付退回...</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -322,9 +331,12 @@ const buttonloading = ref(); //loading
|
||||||
function dateConfirm(time) {
|
function dateConfirm(time) {
|
||||||
ordereData.startTime = time[0]
|
ordereData.startTime = time[0]
|
||||||
ordereData.endTime = time[1]
|
ordereData.endTime = time[1]
|
||||||
|
ordereData.page = 1
|
||||||
asyncorderfindOrder();
|
asyncorderfindOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 是否线上退款
|
||||||
|
const isOnline = ref(true)
|
||||||
// 获取支付密码
|
// 获取支付密码
|
||||||
async function passwordSuccess(pwd) {
|
async function passwordSuccess(pwd) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -345,7 +357,7 @@ async function passwordSuccess(pwd) {
|
||||||
});
|
});
|
||||||
if (arr.length != 0) {
|
if (arr.length != 0) {
|
||||||
// await payreturnOrder(arr, md5(pwd));
|
// await payreturnOrder(arr, md5(pwd));
|
||||||
await payreturnOrder(arr, '');
|
await payreturnOrder(arr, '', isOnline.value);
|
||||||
changechecked.value = false;
|
changechecked.value = false;
|
||||||
recharge.value = false;
|
recharge.value = false;
|
||||||
itemboxshow.value = false;
|
itemboxshow.value = false;
|
||||||
|
|
@ -355,7 +367,7 @@ async function passwordSuccess(pwd) {
|
||||||
asyncorderfindOrder();
|
asyncorderfindOrder();
|
||||||
} else {
|
} else {
|
||||||
buttonloading.value = false;
|
buttonloading.value = false;
|
||||||
ElMessage.error("以没有退款项目!");
|
ElMessage.error("没有退款项目!");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
buttonloading.value = false;
|
buttonloading.value = false;
|
||||||
|
|
@ -363,7 +375,9 @@ async function passwordSuccess(pwd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const payreturnOrderclick = lodash.debounce(
|
const payreturnOrderclick = lodash.debounce(
|
||||||
async () => {
|
async (e) => {
|
||||||
|
console.log(e);
|
||||||
|
isOnline.value = e
|
||||||
//搜索手机号
|
//搜索手机号
|
||||||
if (refundamount.value == 0) {
|
if (refundamount.value == 0) {
|
||||||
buttonloading.value = false;
|
buttonloading.value = false;
|
||||||
|
|
@ -866,19 +880,13 @@ onMounted(() => {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.recharge_footer_itemright_botton_boxoneabsolute {
|
.recharge_footer_itemright_botton_boxoneabsolute {
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
color: #c0c0c0;
|
color: #c0c0c0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recharge_footer_itemright_botton_boxonetext {
|
.recharge_footer_itemright_botton_boxonetext {
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
height: 60px;
|
|
||||||
line-height: 60px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, defineEmits } from 'vue'
|
import { ref } from 'vue'
|
||||||
|
|
||||||
const emit = defineEmits(['close'])
|
const emit = defineEmits(['close'])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue