java-mall-admin/src/views/store/base/cloudPrint/receiptDialog.vue
2024-11-14 14:55:08 +08:00

1468 lines
43 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<el-dialog
append-to-body
custom-class="center-dialog"
title="福家优鲜 线上超市"
top="0vh"
:visible.sync="isDialog"
width="400px"
@close="closeDialog"
class="receiptDialog-container"
>
<div class="block-container">
<!-- <div v-for="(item,index) of receiptConfig" :key="index" :class="[item.class,test(item.classText)]" :style="item.style" v-show=" item.show.length > 0 ? test2(item.show) : test3(item.handerChekcItems)">
{{ item.data != '' ? item.data : item.dataKey.length > 0 ? printData[item.dataKey[0]][item.dataKey[1]] : '' }}
<div v-if="item.children.length > 0 ">
<div :style="group.style" :class="[group.class,test(group.classText)]" v-for="(group,index2) of item.children" :key="index2" v-show="(group.show)">
{{ handerText(group) }}
</div>
</div>
</div> -->
<div
style="padding-bottom: 10px"
:class="[
'block-content',
'item-block',
classItem('header_info', 'template_size', 'template_bold'),
]"
v-show="showItem('header_info', 'template_status')"
>
{{ printData.header_info.template_name || '小票名称' }}
</div>
<div
style="padding-bottom: 10px"
:class="[
'block-content',
'item-block',
classItem('header_info', 'shop_name_size', 'shop_name_bold'),
]"
v-show="showItem('header_info', 'shop_name')"
>
商城名称
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('recharge_info', [
'recharge_money',
'send_money',
'customer_balance',
]) && [3].includes(form.resource)
"
>
<div
class="item-block-left"
v-show="showItem('header_info', 'write_off_name')"
>
核销员:张三
</div>
<div
class="item-block-left"
v-show="showItem('header_info', 'write_off_time')"
>
核销时间2023-12-12 14:20:20
</div>
<div
class="item-block-left"
v-show="showItem('header_info', 'order_no')"
>
订单编号ES20231026111444527685
</div>
<div
class="item-block-left"
v-show="showItem('header_info', 'write_off_type')"
>
核销类型:自提订单
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('header_info', [
'open_time',
'print_time',
'print_people',
]) && form.resource == 5
"
>
<div
class="item-block-left"
v-show="showItem('header_info', 'open_time')"
>
营业时间2023-02-17
</div>
<div
class="item-block-left"
v-show="showItem('header_info', 'print_time')"
>
打印时间2023-02-28 16:29:29
</div>
<div
class="item-block-left"
v-show="showItem('header_info', 'print_people')"
>
打印人:张三
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('stand_info', ['name', 'start_time', 'end_time']) &&
form.resource == 5
"
>
<div class="item-block-left" v-show="showItem('stand_info', 'name')">
收银员:李四
</div>
<div
class="item-block-left"
v-show="showItem('stand_info', 'start_time')"
>
开始2023-02-28 16:29:29
</div>
<div
class="item-block-left"
v-show="showItem('stand_info', 'end_time')"
>
结束2023-02-28 16:29:29
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('finish_info', [
'all',
'pay_order_count',
'sale_goods_count',
'card_price',
'recharge_money_price',
'refund_price',
'refund_order_count',
'refund_goods_count',
'real_money',
]) && form.resource == 5
"
>
<div class="item-block gift-block">
<div class="gift-boder"></div>
<div class="gift-num item-small-size bold">营业汇总</div>
<div class="gift-boder"></div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'all')"
>
<div class="item-balance-info-name">总交易额</div>
<div class="item-balance-info-num">31000</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'pay_order_count')"
>
<div class="item-balance-info-name">支付订单数</div>
<div class="item-balance-info-num">3600</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'sale_goods_count')"
>
<div class="item-balance-info-name">出售商品件数</div>
<div class="item-balance-info-num">5000</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'card_price')"
>
<div class="item-balance-info-name">会员卡交易额</div>
<div class="item-balance-info-num">3546</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'recharge_money_price')"
>
<div class="item-balance-info-name">余额充值金额</div>
<div class="item-balance-info-num">9555</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'refund_price')"
>
<div class="item-balance-info-name">退款金额</div>
<div class="item-balance-info-num">3000</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'refund_order_count')"
>
<div class="item-balance-info-name">退款订单数</div>
<div class="item-balance-info-num">30</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('finish_info', 'refund_goods_count')"
>
<div class="item-balance-info-name">退款件数</div>
<div class="item-balance-info-num">20</div>
</div>
<div
:class="[
'item-block',
'item-balance-info',
classItem('finish_info', 'real_money_size', 'real_money_blod'),
]"
v-show="showItem('finish_info', 'real_money')"
>
<div class="item-balance-info-name">实营收额</div>
<div class="item-balance-info-num">250000</div>
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('pay_type_info', [
'wechat',
'ali',
'cash',
'balance',
'other',
]) && form.resource == 5
"
>
<div class="item-block gift-block">
<div class="gift-boder"></div>
<div class="gift-num item-small-size bold">支付方式组成</div>
<div class="gift-boder"></div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('pay_type_info', 'wechat')"
>
<div class="item-balance-info-name">微信</div>
<div class="item-balance-info-num">31000</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('pay_type_info', 'ali')"
>
<div class="item-balance-info-name">支付宝</div>
<div class="item-balance-info-num">3600</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('pay_type_info', 'cash')"
>
<div class="item-balance-info-name">现金</div>
<div class="item-balance-info-num">5000</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('pay_type_info', 'balance')"
>
<div class="item-balance-info-name">余额</div>
<div class="item-balance-info-num">3546</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('pay_type_info', 'other')"
>
<div class="item-balance-info-name">其他线下方式</div>
<div class="item-balance-info-num">9555</div>
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('checkstand_writeoff', [
'self',
'virtual',
'timegoods',
'booking',
'giftpackage',
'coupon',
'hotel',
]) && form.resource == 5
"
>
<div class="item-block gift-block">
<div class="gift-boder"></div>
<div class="gift-num item-small-size bold">核销记录</div>
<div class="gift-boder"></div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'self')"
>
<div class="item-balance-info-name">自提订单</div>
<div class="item-balance-info-num">100单</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'virtual')"
>
<div class="item-balance-info-name">虚拟核销订单</div>
<div class="item-balance-info-num">200单</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'timegoods')"
>
<div class="item-balance-info-name">计次时卡券</div>
<div class="item-balance-info-num">5000</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'booking')"
>
<div class="item-balance-info-name">余额</div>
<div class="item-balance-info-num">35406</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'giftpackage')"
>
<div class="item-balance-info-name">预约到店</div>
<div class="item-balance-info-num">500次</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'coupon')"
>
<div class="item-balance-info-name">优惠券</div>
<div class="item-balance-info-num">30张</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('checkstand_writeoff', 'hotel')"
>
<div class="item-balance-info-name">酒店预订</div>
<div class="item-balance-info-num">5单</div>
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('header_info', [
'gen_num',
'order_sort',
'quick_buy',
'customer_mark',
'selfsend_time',
]) && [1, 2].includes(form.resource)
"
>
<div
:class="[
'item-block',
classItem('header_info', 'gen_num_size', 'gen_num_bold'),
]"
v-show="showItem('header_info', 'gen_num')"
>
#0001
</div>
<div
:class="[
'item-block',
classItem(
'header_info',
'order_sort_font_size',
'order_sort_font_bold'
),
]"
v-show="showItem('header_info', 'order_sort') && form.resource == 1"
>
{{ printData.header_info.order_sort_prefix || '序号' }}
</div>
<div
:class="[
'item-block',
classItem('header_info', 'quick_buy_size', 'quick_buy_bold'),
]"
v-show="showItem('header_info', 'quick_buy')"
>
快速购买渠道名称
</div>
<div
:class="[
'item-block-left',
classItem(
'header_info',
'customer_mark_size',
'customer_mark_bold'
),
]"
v-show="
showItem('header_info', 'customer_mark') && form.resource == 1
"
>
买家备注:多用一层包装袋,送到后请打电话,谢谢!!
</div>
<div
:class="[
'item-block-left',
classItem(
'header_info',
'selfsend_time_size',
'selfsend_time_bold'
),
]"
v-show="
showItem('header_info', 'selfsend_time') && form.resource == 1
"
>
配送时间10-25 14:00-14:30
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('order_info', [
'order_no',
'order_from',
'order_goods_type',
'order_pay_type',
'order_status',
'order_dispatch_name',
'order_create_time',
'order_pay_time',
'order_finish_time',
]) && [1, 2].includes(form.resource)
"
>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_no')"
>
订单编号ES20231026111444527685
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_from')"
>
订单来源:微信小程序
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_goods_type')"
>
商品类型:实体商品
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_pay_type')"
>
支付方式:微信支付
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_status')"
>
订单状态:已完成
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_dispatch_name')"
>
配送方式:同城配送
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_create_time')"
>
下单时间2023-12-12 14:20:20
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_pay_time')"
>
付款时间2023-12-12 14:20:20
</div>
<div
class="item-block-left"
v-show="showItem('order_info', 'order_finish_time')"
>
完成时间2023-12-12 14:20:20
</div>
<div
class="item-block-left"
v-show="
showItem('order_info', 'refund_create_time') && form.resource == 2
"
>
申请退款时间2023-12-12 14:20:20
</div>
<div
class="item-block-left"
v-show="
showItem('order_info', 'refund_finish_time') && form.resource == 2
"
>
退款完成时间2023-12-12 14:20:20
</div>
</div>
<div
style="padding-bottom: 10px"
class="block-content"
v-show="form.resource == 2"
>
<div
class="item-block refund-block bold"
v-show="showItem('make_info', 'gift_info')"
>
<div class="refund-xing">*********************</div>
<div class="refund-num item-small-size">退款商品</div>
<div class="refund-xing">*********************</div>
</div>
<div class="item-block item-flex bold">
<div class="item-flex-1">商品名称</div>
<div class="item-flex-2">退款数量</div>
<div class="item-flex-2" v-show="showItem('make_info', 'real_price')">
实退款
</div>
</div>
<div
:class="[
'item-block-left',
classItem('make_info', 'real_price_size', 'real_price_bold'),
]"
v-show="showItem('make_info', 'goods_name')"
style="padding: 0"
>
(退)可口可乐mini罐 经典碳酸饮料【新包装200ml*12罐】
</div>
<div class="item-flex">
<div class="item-flex-1"></div>
<div
class="item-flex-2"
:class="
classItem('make_info', 'real_price_size', 'real_price_bold')
"
>
[
<span style="padding: 0 5px">X 2</span>
]
</div>
<div
class="item-flex-2"
:class="
classItem('make_info', 'real_price_size', 'real_price_bold')
"
v-show="showItem('make_info', 'real_price')"
>
¥54.5
</div>
</div>
<div
:class="[
'item-block-left',
classItem('make_info', 'real_price_size', 'real_price_bold'),
]"
v-show="showItem('make_info', 'goods_name')"
>
(退)超薄液晶电视
</div>
<div class="item-flex">
<div class="item-flex-1"></div>
<div
class="item-flex-2"
:class="
classItem('make_info', 'real_price_size', 'real_price_bold')
"
>
1
</div>
<div
class="item-flex-2"
:class="
classItem('make_info', 'real_price_size', 'real_price_bold')
"
v-show="showItem('make_info', 'real_price')"
>
¥1999
</div>
</div>
</div>
<div
class="block-content item-small-size"
v-show="
handerChekcItem('refund', [
'type',
'apply_time',
'apply_money',
'apply_reason',
'apply_real',
'apply_detail',
]) && form.resource == 2
"
>
<div class="item-block-left" v-show="showItem('refund', 'type')">
退款方式:售后(仅退款)
</div>
<div class="item-block-left" v-show="showItem('refund', 'apply_time')">
申请售后时间2023-12-12 14:20:20
</div>
<div
class="item-block item-flex"
v-show="showItem('refund', 'apply_money')"
>
申请金额64.5
</div>
<div
class="item-block-left"
v-show="showItem('refund', 'apply_reason')"
>
申请原因:拍多了。
</div>
<div
:class="[
'item-block item-flex',
classItem('refund', 'apply_real_size', 'apply_real_bold'),
]"
v-show="showItem('refund', 'apply_real')"
>
<div class="item-flex-1">实退金额</div>
<div class="item-flex-2">64.5</div>
</div>
<div
class="item-block-left"
v-show="showItem('refund', 'apply_detail')"
>
微信退款金额50原路退还
</div>
<div
class="item-block-left"
v-show="showItem('refund', 'apply_detail')"
>
余额退款金额14.5
</div>
</div>
<div
style="padding-bottom: 10px"
class="block-content"
v-show="[1, 3].includes(form.resource)"
>
<div class="item-block item-flex">
<div class="item-flex-1">商品名称</div>
<div class="item-flex-2">数量</div>
<div
class="item-flex-2"
v-show="showItem('order_price', 'pay_price')"
>
金额
</div>
</div>
<div
:class="[
'item-block-left',
classItem('make_info', 'goods_name_size', 'goods_name_bold'),
]"
v-show="showItem('make_info', 'goods_name')"
style="padding: 0"
>
可口可乐mini罐 经典碳酸饮料【新包装200ml*12罐】
</div>
<div
class="item-small-size"
v-show="showItem('make_info', 'goods_code')"
>
123456789
</div>
<div
style="margin: 0"
class="item-block-left item-small-size"
v-show="showItem('make_info', 'product_sn')"
>
6970448170051
</div>
<div class="item-flex">
<div class="item-flex-1"></div>
<div
class="item-flex-2"
:class="classItem('make_info', 'num_size', 'num_bold')"
>
[
<span style="padding: 0 5px">X 2</span>
]
</div>
<div
class="item-flex-2"
:class="
classItem('order_price', 'pay_price_size', 'pay_price_bold')
"
v-show="showItem('order_price', 'pay_price')"
>
¥54.5
</div>
</div>
<div
:class="[
'item-block-left',
classItem('make_info', 'goods_name_size', 'goods_name_bold'),
]"
v-show="showItem('make_info', 'goods_name')"
>
超薄液晶电视
</div>
<div
class="item-small-size"
v-show="showItem('make_info', 'goods_code')"
>
123456789
</div>
<div
style="margin: 0"
class="item-block-left item-small-size"
v-show="showItem('make_info', 'product_sn')"
>
6970448170051
</div>
<div class="item-flex">
<div class="item-flex-1"></div>
<div
class="item-flex-2"
:class="classItem('make_info', 'num_size', 'num_bold')"
>
1
</div>
<div
class="item-flex-2"
:class="
classItem('order_price', 'pay_price_size', 'pay_price_bold')
"
v-show="showItem('order_price', 'pay_price')"
>
¥1999
</div>
</div>
<div v-show="showItem('make_info', 'attach')">
<div class="item-block-left item-small-size">(上门安装服务)</div>
<div class="item-flex">
<div class="item-flex-1"></div>
<div class="item-flex-2">1</div>
<div class="item-flex-2" v-show="showItem('make_info', 'price')">
¥0
</div>
</div>
<div class="item-block-left item-small-size">3年延保</div>
<div class="item-flex">
<div class="item-flex-1"></div>
<div class="item-flex-2">1</div>
<div class="item-flex-2" v-show="showItem('make_info', 'price')">
¥199.99
</div>
</div>
</div>
<div
class="item-block gift-block"
v-show="showItem('make_info', 'gift_info')"
>
<div class="gift-boder"></div>
<div class="gift-num item-small-size">赠品</div>
<div class="gift-boder"></div>
</div>
<div v-show="showItem('make_info', 'gift_info')">
<div
class="item-block-left item-small-size"
v-show="form.resource == 1"
>
余额50
</div>
<div
class="item-block-left item-small-size"
v-show="form.resource == 1"
>
积分50
</div>
<div class="item-block-left item-small-size">
商品冰红茶风味饮料x2五香瓜子【150g小包装】x1
</div>
<div
class="item-block-left item-small-size"
v-show="form.resource == 1"
>
优惠券元旦大促7折券x1
</div>
<div
class="item-block-left item-small-size"
v-show="form.resource == 1"
>
会员卡超级会员卡Plus【365天】
</div>
<div
class="item-block-left item-small-size"
v-show="form.resource == 1"
>
礼品卡超值复购大礼包x1
</div>
</div>
</div>
<div
class="block-content"
v-show="form.resource == 3 && printData.write_off_info"
>
<div class="item-block item-size bold">#001</div>
<div class="item-block-left item-small-size">
核销自提点:自提点名称
</div>
<div class="item-block-left item-small-size">
联系方式123456789123
</div>
<div class="item-block-left item-small-size">
地址北京市朝阳区朝阳路1号
</div>
<div class="item-block-left item-small-size">营业时间00:00~23:59</div>
<div class="item-block-left item-small-size">
自提时间10-20 14:00~14:30
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('order_price', [
'goods_count',
'price_detail',
'price_detail',
'price_detail',
'discount_detail',
'discount_detail',
]) && form.resource == 1
"
>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('order_price', 'goods_count')"
>
<div class="item-balance-info-name">商品件数</div>
<div class="item-balance-info-num">3</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('order_price', 'price_detail')"
>
<div class="item-balance-info-name">商品总额</div>
<div class="item-balance-info-num">800</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('order_price', 'price_detail')"
>
<div class="item-balance-info-name">押金</div>
<div class="item-balance-info-num">200</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('order_price', 'price_detail')"
>
<div class="item-balance-info-name">运费</div>
<div class="item-balance-info-num">10</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('order_price', 'discount_detail')"
>
<div class="item-balance-info-name">会员权益</div>
<div class="item-balance-info-num">3</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('order_price', 'discount_detail')"
>
<div class="item-balance-info-name">秒杀</div>
<div class="item-balance-info-num">-100</div>
</div>
<div
:class="[
'item-block-left',
classItem('order_price', 'pay_price_size', 'pay_price_bold'),
]"
v-show="showItem('order_price', 'pay_price')"
>
实付金额
</div>
<div
:class="[
'item-block',
classItem('make_info', 'real_price_size', 'real_price_bold'),
]"
style="text-align: right"
v-show="showItem('make_info', 'real_price')"
>
¥860.00
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('recharge_info', [
'recharge_money',
'send_money',
'customer_balance',
]) && form.resource == 4
"
>
<div
:class="[
'item-block',
'item-balance-info',
classItem(
'recharge_info',
'recharge_money_size',
'recharge_money_blod'
),
]"
v-show="showItem('recharge_info', 'recharge_money')"
>
<div class="item-balance-info-name">充值金额</div>
<div class="item-balance-info-num">¥100.00</div>
</div>
<div
:class="[
'item-block',
'item-balance-info',
classItem('recharge_info', 'send_money_size', 'send_money_blod'),
]"
v-show="showItem('recharge_info', 'send_money')"
>
<div class="item-balance-info-name">赠送金额</div>
<div class="item-balance-info-num">¥50.00</div>
</div>
<div
:class="[
'item-block',
'item-balance-info',
classItem(
'recharge_info',
'customer_balance_size',
'customer_balance_blod'
),
]"
v-show="showItem('recharge_info', 'customer_balance')"
>
<div class="item-balance-info-name">账户余额</div>
<div class="item-balance-info-num">¥250.00</div>
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('mark_info', ['form_data', 'saler_mark']) &&
form.resource == 1
"
>
<div
class="item-small-size"
v-show="showItem('mark_info', 'form_data')"
>
<div class="item-block-left">表单信息:信息内容</div>
<div class="item-block-left">表单信息:信息内容</div>
<div class="item-block-left">表单信息:信息内容</div>
</div>
<div
:class="[
'item-block-left',
classItem('mark_info', 'saler_mark_size', 'saler_mark_bold'),
]"
v-show="showItem('mark_info', 'saler_mark')"
>
商家备注:老客户再赠送一箱牛奶;玻璃瓶包装轻拿轻放
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('customer_info', [
'customer_name',
'customer_mobile',
'customer_realname',
'customer_balance',
'customer_credit',
'customer_remark',
]) && [1, 2, 3, 4].includes(form.resource)
"
>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('customer_info', 'customer_name')"
>
<div class="item-balance-info-name">会员名称</div>
<div class="item-balance-info-num">AAAAAAA</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('customer_info', 'customer_mobile')"
>
<div class="item-balance-info-name">会员手机号</div>
<div class="item-balance-info-num">
133{{
printData.customer_info.customer_mobile_des == 1
? '****'
: printData.customer_info.customer_mobile_des || '5555'
}}3333
</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('customer_info', 'customer_realname')"
>
<div class="item-balance-info-name">姓名</div>
<div class="item-balance-info-num">张三</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('customer_info', 'customer_balance')"
>
<div class="item-balance-info-name">余额</div>
<div class="item-balance-info-num">1200.5</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('customer_info', 'customer_credit')"
>
<div class="item-balance-info-name">积分</div>
<div class="item-balance-info-num">500</div>
</div>
<div
class="item-block item-balance-info item-small-size"
v-show="showItem('customer_info', 'customer_remark')"
>
<div class="item-balance-info-name">备注本店前100注册优质客户</div>
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('customer_info', [
'buyer_name',
'buyer_mobile',
'buyer_address',
]) && form.resource == 1
"
>
<div
:class="[
'item-block-left',
classItem('customer_info', 'buyer_name_size', 'buyer_name_blod'),
]"
v-show="showItem('customer_info', 'buyer_name')"
>
收货人:张三
</div>
<div
:class="[
'item-block-left',
classItem(
'customer_info',
'buyer_mobile_size',
'buyer_mobile_blod'
),
]"
v-show="showItem('customer_info', 'buyer_mobile')"
>
联系方式133{{
printData.customer_info.buyer_mobile_des == 1
? '****'
: printData.customer_info.buyer_mobile_des || '5555'
}}3333
</div>
<div
:class="[
'item-block-left',
classItem(
'customer_info',
'buyer_address_size',
'buyer_address_blod'
),
]"
v-show="showItem('customer_info', 'buyer_address')"
>
收货地址北京市朝阳区朝阳路朝阳人民小区1号楼1栋1101
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('customer_info', ['invoice', 'invoice_info']) &&
form.resource == 1
"
>
<div
class="item-block-left item-small-size"
v-show="showItem('customer_info', 'invoice')"
>
发票:需要开具
</div>
<div v-show="showItem('customer_info', 'invoice_info')">
<div class="item-block-left item-small-size">抬头类型:企业</div>
<div class="item-block-left item-small-size">
抬头信息:网络科技有限公司
</div>
<div class="item-block-left item-small-size">税号123456789</div>
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('pick_store', [
'store_name',
'store_address',
'store_contact',
'store_contact_name',
]) && form.resource == 1
"
>
<div
class="item-block-left item-small-size"
v-show="showItem('pick_store', 'store_name')"
>
自提门店:门店名称
</div>
<div
class="item-block-left item-small-size"
v-show="showItem('pick_store', 'store_address')"
>
门店地址北京市朝阳区朝阳路朝阳人民小区22号楼2栋2202
</div>
<div
class="item-block-left item-small-size"
v-show="showItem('pick_store', 'store_contact')"
>
联系人:李四
</div>
<div
class="item-block-left item-small-size"
v-show="showItem('pick_store', 'store_contact_name')"
>
联系方式13111111111
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('footer_info', [
'stand_name',
'cashier_name',
'shop_name',
'shop_phone',
'store_name',
'store_phone',
'shop_qrcode',
'print_time',
'print_footer',
]) && [1, 3, 4].includes(form.resource)
"
>
<div
class="item-block-left item-small-size"
v-show="
showItem('footer_info', 'stand_name') && [1].includes(form.resource)
"
>
收银员:名称
</div>
<div
class="item-block-left item-small-size"
v-show="
showItem('footer_info', 'cashier_name') &&
[1].includes(form.resource)
"
>
导购员:名称
</div>
<div
class="item-block item-small-size"
v-show="showItem('footer_info', 'shop_name')"
>
商城名称
</div>
<div
class="item-block item-small-size"
v-show="showItem('footer_info', 'shop_phone')"
>
010-12345678
</div>
<div
class="item-block item-small-size"
v-show="showItem('footer_info', 'store_name')"
>
门店名称
</div>
<div
class="item-block item-small-size"
v-show="showItem('footer_info', 'store_phone')"
>
010-12345678
</div>
<div class="item-block" v-show="showItem('footer_info', 'shop_qrcode')">
<img src="./../../../../assets/weChat.png" width="300" height="300" />
</div>
<div
:class="[
[1, 3, 4].includes(form.resource)
? 'item-block'
: 'item-block-left',
'item-small-size',
]"
v-show="showItem('footer_info', 'print_time')"
>
打印时间2023-12-12 12:12:20
</div>
<div
class="item-block item-small-size"
v-show="showItem('footer_info', 'print_footer')"
>
{{ printData.footer_info.print_footer_info }}
</div>
</div>
<div
class="block-content"
v-show="
handerChekcItem('footer_info', ['manage', 'print_time']) &&
form.resource == 2
"
>
<div
class="item-block-left item-small-size"
v-show="showItem('footer_info', 'manage') && form.resource == 2"
>
操作人:李四
</div>
<div
:class="[
form.resource == 1 ? 'item-block' : 'item-block-left',
'item-small-size',
]"
v-show="showItem('footer_info', 'print_time')"
>
打印时间2023-12-12 12:12:20
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import { config, printData } from './receiptConfig.js'
export default {
data() {
return {
isDialog: false,
receiptConfig: config,
printData: printData,
form: {
resource: 1,
tepName: '',
},
}
},
methods: {
showDialog() {
this.isDialog = true
},
closeDialog() {
this.isDialog = false
},
handleClass(str) {
var _str = str.replace(/\['|'\]$/g, '"').replace(/','/g, '","')
debugger
// return JSON.parse(_str);
},
handerText(group) {
if (group) {
if (group.data) {
return group.data
}
}
},
handerChekcItem(itemName, keyGroups) {
for (var key of keyGroups) {
if (this.printData[itemName][key] == 1) {
return true
}
}
},
// test(items){
// if(items.length <= 0 ) return;
// let arr = [];
// if(this.printData[items[0]][items[1]] == 1){
// arr.push('item-size');
// }else{
// arr.push('item-small-size')
// }
// if(this.printData[items[0]][items[2]] == 1){
// arr.push('bold');
// }
// return arr;
// },
// test2(items){
// if(items.length <= 0 ) return;
// return this.printData[items[0]][items[1]] !=0 ? true : false
// },
// test3(items){
// if(items.length <= 0 ) return;
// for(var key of items[1]){
// if(this.printData[items[0]][key] == 1){
// return true;
// }
// }
// },
classItem(blockName, itemSizeName, itemBoldName) {
let arr = []
if (this.printData[blockName][itemSizeName] == 1) {
arr.push('item-size')
} else {
arr.push('item-small-size')
}
if (this.printData[blockName][itemBoldName] == 1) {
arr.push('bold')
}
return arr
},
// classItem(blockName,itemName){
// let arr = [];
// Object.keys(this.printData[blockName]).some(key=>{
// console.log(key);
// if(key.includes(itemName) && key.includes('size')){
// if(this.printData[blockName][key] == 1){
// arr.push('item-size');
// }else{
// arr.push('item-small-size')
// }
// }
// if(key.includes(itemName) && key.includes('bold')){
// if(this.printData[blockName][key] == 1){
// arr.push('bold');
// }
// }
// })
// return arr;
// },
showItem(blockName, itemName) {
if (!this.printData == null) return
return this.printData[blockName][itemName] != 0 ? true : false
},
},
}
</script>
<style lang="scss">
.receiptDialog-container {
.el-dialog__header {
position: sticky;
top: 0;
background-color: white;
z-index: 1001;
}
.el-dialog {
height: 670px;
max-height: 670px;
overflow: hidden;
overflow-y: auto;
}
.el-dialog__title {
font-size: 16px !important;
}
.el-dialog__body {
padding: 10px !important;
color: #000;
}
.block-container {
padding: 10px;
border: 1px solid #ededed;
border-radius: 10px;
background: #f8f8f9;
}
.block-content {
border-bottom: 1px dashed #ccc;
color: #333333 !important;
}
.item-flex {
display: flex;
font-size: 16px;
.item-flex-1 {
flex: 2 1 0%;
text-align: left;
}
.item-flex-2 {
flex: 1;
text-align: right;
}
}
.item-balance-info {
display: flex;
justify-content: space-between;
}
.gift-block {
display: flex;
align-items: center;
.gift-num {
padding: 0 10px;
}
.gift-boder {
flex: 1;
border-bottom: 1px dashed #ccc;
}
}
.refund-block {
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: bold;
.refund-xing {
margin-top: 7px;
line-height: 1;
}
.refund-num {
padding: 0 10px;
}
}
.item-size {
font-size: 20px;
}
.item-small-size {
font-size: 16px;
}
.item-block {
margin: 10px 0;
text-align: center;
}
.item-block-left {
margin: 10px 0;
text-align: left;
}
.bold {
font-weight: 700;
}
}
</style>