Compare commits
1 Commits
6a20930a7d
...
prod
| Author | SHA1 | Date | |
|---|---|---|---|
| 209be704e1 |
@@ -7,8 +7,8 @@ VITE_APP_BASE_API=/dev-api
|
||||
# 接口地址
|
||||
|
||||
# VITE_APP_API_URL=https://tapi.cashier.sxczgkj.cn/ # 测试
|
||||
# VITE_APP_API_URL=https://cashier.sxczgkj.com/ # 正式
|
||||
VITE_APP_API_URL=http://192.168.1.42/ # 本地
|
||||
VITE_APP_API_URL=https://cashier.sxczgkj.com/ # 正式
|
||||
# VITE_APP_API_URL=http://192.168.1.42/ # 本地
|
||||
VITE_APP_API_PHP_URL=http://192.168.1.42:8000 #php抖音美团测试环境
|
||||
VITE_APP_API_PHP_IMPORT_URL=http://192.168.1.42:8789 #本地php批量导入
|
||||
# VITE_APP_API_PHP_IMPORT_URL=https://diftcs.sxczgkj.com #本地线上php批量导入
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
<el-table-column prop="shopName" align="center" label="商户名称" />
|
||||
<el-table-column prop="staffName" align="center" label="职员名称" />
|
||||
<el-table-column prop="orderCount" align="center" label="订单数量" />
|
||||
<el-table-column prop="orderTurnover" align="center" label="应交金额" />
|
||||
<el-table-column prop="balance" align="center" label="余额支付" />
|
||||
<el-table-column prop="handAmount" align="center" label="应交金额" />
|
||||
<el-table-column prop="quickInAmount" align="center" label="快捷收款金额" />
|
||||
<el-table-column prop="refundAmount" align="center" label="退款金额" />
|
||||
<el-table-column prop="turnover" align="center" label="总收入" />
|
||||
<el-table-column prop="handAmount" align="center" label="总收入" />
|
||||
<el-table-column prop="loginTime" align="center" label="开始时间" />
|
||||
<el-table-column prop="handoverTime" align="center" label="交班时间" />
|
||||
<el-table-column label="操作" align="center">
|
||||
|
||||
@@ -2,6 +2,7 @@ import printerApi, { type addRequest } from "@/api/account/printer";
|
||||
import { options } from './config'
|
||||
|
||||
import type { IModalConfig } from "@/components/CURD/types";
|
||||
import { c } from "vite/dist/node/moduleRunnerTransport.d-CXw_Ws6P";
|
||||
|
||||
const modalConfig: IModalConfig<addRequest> = {
|
||||
pageName: "sys:user",
|
||||
@@ -15,9 +16,13 @@ const modalConfig: IModalConfig<addRequest> = {
|
||||
},
|
||||
formAction: function (data) {
|
||||
let obj = { ...data }
|
||||
console.log("打印类型", data);
|
||||
obj.printType = data.printType.join(',')
|
||||
obj.categoryIds = JSON.stringify(data.categoryIdsArr)
|
||||
obj.categoryList = JSON.stringify(data.categoryIdsArr)
|
||||
if (data.classifyPrint == 0) {
|
||||
obj.categoryIds = ''
|
||||
}
|
||||
// obj.categoryIds = '[' + data.categoryIdsArr.join(',') + ']'
|
||||
return printerApi.add(obj);
|
||||
},
|
||||
|
||||
@@ -20,6 +20,9 @@ const modalConfig: IModalConfig<editRequest> = {
|
||||
obj.categoryIds = JSON.stringify(data.categoryIdsArr)
|
||||
obj.categoryList = JSON.stringify(data.categoryIdsArr)
|
||||
}
|
||||
if (data.classifyPrint == 0) {
|
||||
obj.categoryIds = ''
|
||||
}
|
||||
return printerApi.edit(obj);
|
||||
},
|
||||
beforeSubmit(data) {
|
||||
|
||||
@@ -2,23 +2,35 @@
|
||||
<div class="app-container">
|
||||
<!-- 列表 -->
|
||||
<!-- 搜索 -->
|
||||
<page-search ref="searchRef" :search-config="searchConfig" @query-click="handleQueryClick"
|
||||
@reset-click="handleResetClick" />
|
||||
<page-search
|
||||
ref="searchRef"
|
||||
:search-config="searchConfig"
|
||||
@query-click="handleQueryClick"
|
||||
@reset-click="handleResetClick"
|
||||
/>
|
||||
|
||||
<!-- 列表 -->
|
||||
<page-content ref="contentRef" :content-config="contentConfig" @add-click="handleAddClick"
|
||||
@edit-click="handleEditClick" @export-click="handleExportClick" @search-click="handleSearchClick"
|
||||
@toolbar-click="handleToolbarClick" @operat-click="handleOperatClick" @filter-change="handleFilterChange">
|
||||
<page-content
|
||||
ref="contentRef"
|
||||
:content-config="contentConfig"
|
||||
@add-click="handleAddClick"
|
||||
@edit-click="handleEditClick"
|
||||
@export-click="handleExportClick"
|
||||
@search-click="handleSearchClick"
|
||||
@toolbar-click="handleToolbarClick"
|
||||
@operat-click="handleOperatClick"
|
||||
@filter-change="handleFilterChange"
|
||||
>
|
||||
<template #status="scope">
|
||||
<el-tag :type="scope.row[scope.prop] == 1 ? 'success' : 'info'">
|
||||
{{ scope.row[scope.prop] == 1 ? "启用" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
<template #contentType="scope">
|
||||
{{ scope.row.contentType == 'yxyPrinter' ? "云想印" : "飞鹅" }}
|
||||
{{ scope.row.contentType == "yxyPrinter" ? "云想印" : "飞鹅" }}
|
||||
</template>
|
||||
<template #subType="scope">
|
||||
{{ scope.row.subType == 'label' ? "标签" : "小票" }}
|
||||
{{ scope.row.subType == "label" ? "标签" : "小票" }}
|
||||
</template>
|
||||
<template #caozuo="scope">
|
||||
{{ scope }}
|
||||
@@ -28,8 +40,12 @@
|
||||
</template>
|
||||
<template #operate="scope">
|
||||
<div v-if="scope.row.connectionType != 'USB'">
|
||||
<el-button @click="handleEditClick(scope.row)" icon="Edit" type="primary" link>编辑</el-button>
|
||||
<el-button @click="handdeleteevent(scope.row)" icon="Delete" type="danger" link>删除</el-button>
|
||||
<el-button @click="handleEditClick(scope.row)" icon="Edit" type="primary" link>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button @click="handdeleteevent(scope.row)" icon="Delete" type="danger" link>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
<!-- <template #mobile="scope">
|
||||
@@ -55,7 +71,11 @@
|
||||
</page-modal>
|
||||
|
||||
<!-- 编辑 -->
|
||||
<page-modal ref="editModalRef" :modal-config="editModalConfig" @submit-click="handleSubmitClick">
|
||||
<page-modal
|
||||
ref="editModalRef"
|
||||
:modal-config="editModalConfig"
|
||||
@submit-click="handleSubmitClick"
|
||||
>
|
||||
<template #gender="scope">
|
||||
<Dict v-model="scope.formData[scope.prop]" code="gender" v-bind="scope.attrs" />
|
||||
</template>
|
||||
@@ -98,11 +118,11 @@ const {
|
||||
onMounted(() => {
|
||||
getPrinterType();
|
||||
});
|
||||
let PrinterTypeList = ref([])
|
||||
let PrinterTypeList = ref([]);
|
||||
// 获取商品分类
|
||||
async function getPrinterType() {
|
||||
let res = await UserAPI.getPrinterType();
|
||||
PrinterTypeList.value = res.records
|
||||
PrinterTypeList.value = res.records;
|
||||
}
|
||||
function handdeleteevent(item) {
|
||||
ElMessageBox.confirm("确认删除?", "警告", {
|
||||
@@ -114,7 +134,6 @@ function handdeleteevent(item) {
|
||||
ElMessage.success("删除成功");
|
||||
handleQueryClick();
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
// 新增
|
||||
@@ -127,11 +146,15 @@ async function handleEditClick(row: IObject) {
|
||||
editModalRef.value?.setModalVisible();
|
||||
// 根据id获取数据进行填充
|
||||
let data = await UserAPI.get(row.id);
|
||||
data.printType = data.printType.split(',');
|
||||
data.printType = data.printType.split(",");
|
||||
|
||||
if (data.categoryIds) {
|
||||
data.categoryIdsArr = JSON.parse(data.categoryIds)
|
||||
data.categoryIdsArr = JSON.parse(data.categoryIds);
|
||||
} else {
|
||||
data.categoryIdsArr = [];
|
||||
}
|
||||
console.log(data.categoryIdsArr);
|
||||
console.log(data);
|
||||
|
||||
data.classifyPrint = data.classifyPrint * 1;
|
||||
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
<div class="item_wrap">
|
||||
<div class="title">您好,欢迎登录</div>
|
||||
<div class="item_list">
|
||||
<div class="item" v-for="(item, index) in quickStore.quickMenus.splice(0, 6)" :key="item.id"
|
||||
@click="menuClick(item.menuId)">
|
||||
<div class="item" v-for="(item, index) in quickStore.quickMenus" :key="item.id" @click="menuClick(item.menuId)">
|
||||
<img class="icon" :src="icons[index + 1]" alt="">
|
||||
{{ returnMenuName(item.menuId) }}
|
||||
</div>
|
||||
|
||||
@@ -93,8 +93,13 @@
|
||||
<div>
|
||||
实收金额:
|
||||
<span style="color: red">¥{{ detail.payAmount }}</span>
|
||||
<el-button v-if="detail.status != 'unpaid' && detail.refundAmount < detail.payAmount" size="small"
|
||||
type="danger" class="u-m-l-10" @click="tuikuan()">
|
||||
<el-button
|
||||
v-if="detail.status != 'unpaid' && detail.refundAmount < detail.payAmount"
|
||||
size="small"
|
||||
type="danger"
|
||||
class="u-m-l-10"
|
||||
@click="tuikuan()"
|
||||
>
|
||||
<span>退款</span>
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -125,22 +130,35 @@
|
||||
<div style="margin-bottom: 16px; font-size: 16px">商品信息</div>
|
||||
<template v-for="(item, index) in detail.detailMap" :key="index">
|
||||
<h4>第{{ index }}次下单</h4>
|
||||
<el-table :data="item" :ref="'refTable' + index" @select-all="tableSelectAll($event, index)">
|
||||
<el-table
|
||||
:data="item"
|
||||
:ref="'refTable' + index"
|
||||
@select-all="tableSelectAll($event, index)"
|
||||
>
|
||||
<!-- <el-table-column type="selection" width="55" /> -->
|
||||
<el-table-column label="数量" type="selection">
|
||||
<template v-slot="scope">
|
||||
<div v-if="detail.status == 'unpaid'">
|
||||
<el-checkbox v-if="scope.row.num - scope.row.returnNum > 0" v-model="scope.row.checked" />
|
||||
<el-checkbox
|
||||
v-if="scope.row.num - scope.row.returnNum > 0"
|
||||
v-model="scope.row.checked"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-checkbox v-if="scope.row.num - scope.row.refundNum > 0" v-model="scope.row.checked" />
|
||||
<el-checkbox
|
||||
v-if="scope.row.num - scope.row.refundNum > 0"
|
||||
v-model="scope.row.checked"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品" width="150">
|
||||
<template v-slot="scope">
|
||||
<div class="shop_info">
|
||||
<el-image :src="scope.row.productImg" style="width: 40px; height: 40px"></el-image>
|
||||
<el-image
|
||||
:src="scope.row.productImg"
|
||||
style="width: 40px; height: 40px"
|
||||
></el-image>
|
||||
<div class="info">
|
||||
<span :class="[scope.row.isVip == 1 ? 'colorStyle' : '']">
|
||||
{{ scope.row.productName }}
|
||||
@@ -173,17 +191,32 @@
|
||||
<el-table-column label="实付">
|
||||
<template v-slot="scope">¥{{ scope.row.payAmount }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-if="detail.status == 'unpaid'" label="可退菜数量" align="center" width="130px">
|
||||
<el-table-column
|
||||
v-if="detail.status == 'unpaid'"
|
||||
label="可退菜数量"
|
||||
align="center"
|
||||
width="130px"
|
||||
>
|
||||
<template v-slot="scope">
|
||||
<el-input-number v-if="scope.row.checked" :min="0" style="width: 100px" v-model="scope.row.selNumber"
|
||||
:max="scope.row.num - scope.row.returnNum"></el-input-number>
|
||||
<el-input-number
|
||||
v-if="scope.row.checked"
|
||||
:min="0"
|
||||
style="width: 100px"
|
||||
v-model="scope.row.selNumber"
|
||||
:max="scope.row.num - scope.row.returnNum"
|
||||
></el-input-number>
|
||||
<span class="" v-else>{{ scope.row.num - scope.row.returnNum }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-else label="可退款数量" align="center" width="130px">
|
||||
<template v-slot="scope">
|
||||
<el-input-number v-if="scope.row.checked" :min="0" style="width: 100px" v-model="scope.row.selNumber"
|
||||
:max="scope.row.num - scope.row.refundNum - scope.row.returnNum"></el-input-number>
|
||||
<el-input-number
|
||||
v-if="scope.row.checked"
|
||||
:min="0"
|
||||
style="width: 100px"
|
||||
v-model="scope.row.selNumber"
|
||||
:max="scope.row.num - scope.row.refundNum - scope.row.returnNum"
|
||||
></el-input-number>
|
||||
<span class="" v-else>
|
||||
{{ scope.row.num - scope.row.refundNum - scope.row.returnNum }}
|
||||
</span>
|
||||
@@ -198,13 +231,23 @@
|
||||
<el-table-column label="操作" fixed="right">
|
||||
<template v-slot="scope">
|
||||
<template v-if="detail.status != 'unpaid'">
|
||||
<el-button v-if="canTuikuan(scope.row)" link size="small" @click="tuikuan(scope.row)">
|
||||
<el-button
|
||||
v-if="canTuikuan(scope.row)"
|
||||
link
|
||||
size="small"
|
||||
@click="tuikuan(scope.row)"
|
||||
>
|
||||
<span>退款</span>
|
||||
</el-button>
|
||||
<span class="color-999" v-if="scope.row.status == 'refund'">已退款</span>
|
||||
</template>
|
||||
<template v-if="detail.status == 'unpaid'">
|
||||
<el-button v-if="canTuicai(scope.row)" link size="small" @click="tuicai(scope.row)">
|
||||
<el-button
|
||||
v-if="canTuicai(scope.row)"
|
||||
link
|
||||
size="small"
|
||||
@click="tuicai(scope.row)"
|
||||
>
|
||||
<span>退菜</span>
|
||||
</el-button>
|
||||
<span class="color-999" v-else>已退菜</span>
|
||||
@@ -214,25 +257,41 @@
|
||||
</el-table>
|
||||
</template>
|
||||
<!-- 退款 -->
|
||||
<div class="u-p-20 u-flex u-row-right" v-if="
|
||||
detail.status !== 'refund' &&
|
||||
detail.status !== 'unpaid' &&
|
||||
detail.status !== 'cancelled'
|
||||
">
|
||||
<el-checkbox v-model="allSelected" @change="allSelectedChange" label="全选"></el-checkbox>
|
||||
<div
|
||||
class="u-p-20 u-flex u-row-right"
|
||||
v-if="
|
||||
detail.status !== 'refund' &&
|
||||
detail.status !== 'unpaid' &&
|
||||
detail.status !== 'cancelled'
|
||||
"
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="allSelected"
|
||||
@change="allSelectedChange"
|
||||
label="全选"
|
||||
></el-checkbox>
|
||||
<el-button type="danger" class="u-m-l-20" @click.stop="tuikuan('all')">退款</el-button>
|
||||
</div>
|
||||
<!-- 退菜 -->
|
||||
<div class="u-p-20 u-flex u-row-right" v-if="detail.status == 'unpaid'">
|
||||
<el-checkbox v-model="allSelected" @change="allSelectedChange" label="全选"></el-checkbox>
|
||||
<el-checkbox
|
||||
v-model="allSelected"
|
||||
@change="allSelectedChange"
|
||||
label="全选"
|
||||
></el-checkbox>
|
||||
<el-button type="danger" class="u-m-l-20" @click.stop="tuicai('all')">退菜</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<!-- 退款 -->
|
||||
<return-money :modal="false" ref="refReturnMoney" :max="selGoods.num" :goods="selGoods"
|
||||
@confirm="refReturnMoneyConfirm"></return-money>
|
||||
<return-money
|
||||
:modal="false"
|
||||
ref="refReturnMoney"
|
||||
:max="selGoods.num"
|
||||
:goods="selGoods"
|
||||
@confirm="refReturnMoneyConfirm"
|
||||
></return-money>
|
||||
<!-- 退菜 -->
|
||||
<order-return-cart ref="refReturnCart" @confirm="refReturnCartConfirm"></order-return-cart>
|
||||
</div>
|
||||
@@ -407,12 +466,6 @@ export default {
|
||||
},
|
||||
tuikuan(item) {
|
||||
if (!item) {
|
||||
let arrs = []
|
||||
for (let i in this.detail.detailMap) {
|
||||
this.detail.detailMap[i].map((v) => {
|
||||
arrs.push(v);
|
||||
});
|
||||
}
|
||||
this.$refs.refReturnMoney.open([], this.detail);
|
||||
return;
|
||||
}
|
||||
@@ -431,10 +484,6 @@ export default {
|
||||
if (arr.length == 0) {
|
||||
return ElMessage.error("请选择要退款的商品和数量");
|
||||
}
|
||||
|
||||
console.log('tuikuan===', arr);
|
||||
return
|
||||
|
||||
this.$refs.refReturnMoney.open(arr, this.detail);
|
||||
},
|
||||
tuicai(item) {
|
||||
@@ -453,7 +502,7 @@ export default {
|
||||
if (arr.length == 0) {
|
||||
return ElMessage.error("请选择要退菜的商品和数量");
|
||||
}
|
||||
console.log('tuicai===', arr);
|
||||
console.log(arr);
|
||||
this.$refs.refReturnCart.open(arr, this.detail);
|
||||
},
|
||||
|
||||
|
||||
@@ -8,18 +8,13 @@
|
||||
// adminIn 管理员充值
|
||||
// adminOut管理员消费
|
||||
export const $bizCode = {
|
||||
cashIn: "会员充值",
|
||||
cashback: "消费返现",
|
||||
cashback_refund: "消费返现扣减",
|
||||
freeIn: "霸王餐充值",
|
||||
awardIn: "充值奖励",
|
||||
cashIn: "现金充值",
|
||||
wechatIn: "微信小程序充值",
|
||||
alipayIn: "支付宝小程序充值",
|
||||
orderPay: "订单支付奖励",
|
||||
orderRefund: "订单退款",
|
||||
awardIn: "充值奖励",
|
||||
rechargeRefund: "充值退款",
|
||||
rechargeCashRefund: "会员现金退款",
|
||||
adminIn: "管理员手动增减余额",
|
||||
adminOut: "管理员退款充值",
|
||||
rechargeRedemption: "充值兑换码"
|
||||
orderPay: "订单消费",
|
||||
orderRefund: "订单退款",
|
||||
adminIn: "管理员充值",
|
||||
adminOut: "管理员消费",
|
||||
}
|
||||
Reference in New Issue
Block a user