初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

View File

@@ -0,0 +1,290 @@
<div class="layui-collapse tips-wrap">
<div class="layui-colla-item">
<h2 class="layui-colla-title">操作提示</h2>
<ul class="layui-colla-content layui-show">
<li>易联云的打印机请购买k6、k4、w1系列的打印机</li>
</ul>
</div>
</div>
<div class="layui-form form-wrap">
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">打印机设置</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机名称:</label>
<div class="layui-input-block">
<input type="text" name="printer_name" lay-verify="required" autocomplete="off" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机类型:</label>
<div class="layui-input-block">
<input type="radio" name="printer_type" value="cloud" lay-verify="required" checked title="云打印机" lay-filter="printer_type">
<input type="radio" name="printer_type" value="local" lay-verify="required" title="本地打印机" lay-filter="printer_type">
<!-- <input type="radio" name="printer_type" value="network" lay-verify="required" title="网络打印机" lay-filter="printer_type">-->
</div>
</div>
<div class="printer-type cloud" style="display:block;">
<div class="layui-form-item express_company">
<label class="layui-form-label"><span class="required">*</span>打印机品牌:</label>
<div class="layui-input-block len-mid">
<select name="brand" lay-verify="cloudRequired" lay-filter="brand">
{foreach $brand as $k=>$v}
<option value="{$v.brand}">{$v.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机编号:</label>
<div class="layui-input-block">
<input type="text" name="printer_code" lay-verify="cloudRequired" autocomplete="off" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机秘钥:</label>
<div class="layui-input-block">
<input type="text" name="printer_key" lay-verify="cloudRequired" autocomplete="off" class="layui-input len-long">
</div>
</div>
<!-- 飞鹅打印机 -->
<div class="layui-form-item feie">
<label class="layui-form-label"><span class="required">*</span>USER</label>
<div class="layui-input-block">
<input type="text" name="user" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>飞鹅云后台注册用户名</p>
</div>
</div>
<div class="layui-form-item feie">
<label class="layui-form-label"><span class="required">*</span>UKEY</label>
<div class="layui-input-block">
<input type="text" name="ukey" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>飞鹅云后台登录生成的UKEY</p>
</div>
</div>
<!-- 易联云打印机 -->
<div class="layui-form-item yilianyun">
<label class="layui-form-label"><span class="required">*</span>应用id</label>
<div class="layui-input-block">
<input type="text" name="open_id" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>应用id易联云-开发者中心后台应用中心里获取)</p>
</div>
</div>
<div class="layui-form-item yilianyun">
<label class="layui-form-label"><span class="required">*</span>apiKey</label>
<div class="layui-input-block">
<input type="text" name="apikey" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>apiKey易联云-开发者中心后台应用中心里获取)</p>
</div>
</div>
</div>
<div class="printer-type local">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机端口:</label>
<div class="layui-input-block">
<input type="text" name="host" autocomplete="off" class="layui-input len-long" lay-verify="localRequired">
</div>
<div class="word-aux">
<p>打印机端口 (可以填写打印机端口号如LPT1 或 本地网络共享打印机:如\\192.168.1.100\POS_NAME)</p>
</div>
</div>
</div>
<div class="printer-type network">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机IP</label>
<div class="layui-input-block">
<input type="text" name="ip" autocomplete="off" class="layui-input len-long" lay-verify="networkRequired">
</div>
<div class="word-aux">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机端口:</label>
<div class="layui-input-block">
<input type="text" name="port" autocomplete="off" class="layui-input len-long" lay-verify="networkRequired">
</div>
<div class="word-aux">
</div>
</div>
</div>
<div class="printer-type network local">
<div class="layui-form-item">
<label class="layui-form-label">打印宽度:</label>
<div class="layui-input-block">
<input type="radio" name="print_width" value="58mm" checked title="58mm">
<input type="radio" name="print_width" value="80mm" title="80mm">
</div>
</div>
</div>
{if $is_exit_store == 1}
<div class="layui-form-item">
<label class="layui-form-label">关联门店:</label>
<div class="layui-input-block len-mid">
<select name="store_id" lay-verify="">
<option value="">请选择</option>
{foreach $store_list as $k=>$v}
<option value="{$v.store_id}">{$v.store_name}</option>
{/foreach}
</select>
</div>
</div>
{/if}
</div>
</div>
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">订单打印</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">支付打印:</label>
<div class="layui-input-block">
<input type="checkbox" name="order_pay_open" lay-filter="order_pay_open" value="1" lay-skin="switch" checked/>
</div>
</div>
<div class="layui-form-item express_company order_pay_item">
<label class="layui-form-label"><span class="required">*</span>打印模板:</label>
<div class="layui-input-block len-mid">
<select name="order_pay_template_id" lay-verify="required" >
<option value="">请选择</option>
{foreach $template_list as $k=>$v}
{if $v['type'] == 'goodsorder'}
<option value="{$v.template_id}">{$v.template_name}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item order_pay_item">
<label class="layui-form-label"><span class="required">*</span>打印联数:</label>
<div class="layui-input-block">
<input type="radio" name="order_pay_print_num" value="1" lay-verify="required" checked autocomplete="off" title="1" class="layui-input len-long">
<input type="radio" name="order_pay_print_num" value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
<input type="radio" name="order_pay_print_num" value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
<input type="radio" name="order_pay_print_num" value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item order_pay_item">
<label class="layui-form-label"><span class="required">*</span>订单类型:</label>
<div class="layui-input-block">
{foreach $order_type_list as $v}
<input class="order-pay-order-type" type="checkbox" value="{$v.type}" lay-verify="required" lay-skin="primary" title="{$v.name}" checked="">
{/foreach}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">收货打印:</label>
<div class="layui-input-block">
<input type="checkbox" name="take_delivery_open" lay-filter="take_delivery_open" value="1" lay-skin="switch" checked/>
</div>
</div>
<div class="layui-form-item express_company take_delivery_item">
<label class="layui-form-label"><span class="required">*</span>打印模板:</label>
<div class="layui-input-block len-mid">
<select name="take_delivery_template_id" lay-verify="required" >
<option value="">请选择</option>
{foreach $template_list as $k=>$v}
{if $v['type'] == 'goodsorder'}
<option value="{$v.template_id}">{$v.template_name}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item take_delivery_item">
<label class="layui-form-label"><span class="required">*</span>打印联数:</label>
<div class="layui-input-block">
<input type="radio" name="take_delivery_print_num" value="1" lay-verify="required" checked autocomplete="off" title="1" class="layui-input len-long">
<input type="radio" name="take_delivery_print_num" value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
<input type="radio" name="take_delivery_print_num" value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
<input type="radio" name="take_delivery_print_num" value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item take_delivery_item">
<label class="layui-form-label"><span class="required">*</span>订单类型:</label>
<div class="layui-input-block">
{foreach $order_type_list as $v}
<input class="take-delivery-order-type" type="checkbox" value="{$v.type}" lay-verify="required" lay-skin="primary" title="{$v.name}" checked="">
{/foreach}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手动打印:</label>
<div class="layui-input-block">
<input type="checkbox" name="manual_open" lay-filter="manual_open" value="1" lay-skin="switch" checked/>
</div>
</div>
<div class="layui-form-item express_company default_item">
<label class="layui-form-label"><span class="required">*</span>打印模板:</label>
<div class="layui-input-block len-mid">
<select name="template_id" lay-verify="required" >
<option value="">请选择</option>
{foreach $template_list as $k=>$v}
{if $v['type'] == 'goodsorder'}
<option value="{$v.template_id}">{$v.template_name}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item default_item">
<label class="layui-form-label"><span class="required">*</span>打印联数:</label>
<div class="layui-input-block">
<input type="radio" name="print_num" value="1" lay-verify="required" checked autocomplete="off" title="1" class="layui-input len-long">
<input type="radio" name="print_num" value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
<input type="radio" name="print_num" value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
<input type="radio" name="print_num" value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
</div>
</div>
</div>
</div>
{php}
$html = event('PrinterHtml');
foreach($html as $k => $v) echo $v;
{/php}
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="backPrinterList()">返回</button>
</div>
</div>
<script src="SHOP_ADDON_JS/printer.js"></script>

View File

@@ -0,0 +1,288 @@
<div class="layui-collapse tips-wrap">
<div class="layui-colla-item">
<h2 class="layui-colla-title">操作提示</h2>
<ul class="layui-colla-content layui-show">
<li>易联云的打印机请购买k6、k4、w1系列的打印机</li>
</ul>
</div>
</div>
<div class="layui-form form-wrap">
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">打印机设置</span>
</div>
<div class="layui-card-body">
<input type="hidden" value="{$printer_info['printer_id']}" name="printer_id">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机名称:</label>
<div class="layui-input-block">
<input type="text" name="printer_name" value="{$printer_info['printer_name']}" lay-verify="required" autocomplete="off" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机类型:</label>
<div class="layui-input-block">
<input type="radio" name="printer_type" value="cloud" lay-verify="required" {if $printer_info.printer_type eq 'cloud'} checked{/if} title="云打印机" lay-filter="printer_type">
<input type="radio" name="printer_type" value="local" lay-verify="required" {if $printer_info.printer_type eq 'local'} checked{/if} title="本地打印机" lay-filter="printer_type">
<input type="radio" name="printer_type" value="network" lay-verify="required" {if $printer_info.printer_type eq 'network'} checked{/if} title="网络打印机" lay-filter="printer_type">
</div>
</div>
<div class="printer-type cloud" {if $printer_info.printer_type eq 'cloud'}style="display:block;"{/if}>
<div class="layui-form-item express_company">
<label class="layui-form-label"><span class="required">*</span>打印机品牌:</label>
<div class="layui-input-block len-short">
<select name="brand" lay-verify="cloudRequired" lay-filter="brand">
{foreach $brand as $k=>$v}
<option value="{$v.brand}" {if $v.brand == $printer_info['brand']} selected {/if}>{$v.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机编号:</label>
<div class="layui-input-block">
<input type="text" name="printer_code" value="{$printer_info['printer_code']}" lay-verify="cloudRequired" autocomplete="off" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机秘钥:</label>
<div class="layui-input-block">
<input type="text" name="printer_key" value="{$printer_info['printer_key']}" lay-verify="cloudRequired" autocomplete="off" class="layui-input len-long">
</div>
</div>
<!-- 飞鹅打印机 -->
<div class="layui-form-item feie">
<label class="layui-form-label"><span class="required">*</span>USER</label>
<div class="layui-input-block">
<input type="text" name="user" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>飞鹅云后台注册用户名</p>
</div>
</div>
<div class="layui-form-item feie">
<label class="layui-form-label"><span class="required">*</span>UKEY</label>
<div class="layui-input-block">
<input type="text" name="ukey" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>飞鹅云后台登录生成的UKEY</p>
</div>
</div>
<!-- 易联云打印机 -->
<div class="layui-form-item yilianyun">
<label class="layui-form-label"><span class="required">*</span>应用id</label>
<div class="layui-input-block">
<input type="text" name="open_id" value="{$printer_info['open_id']}" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>应用id易联云-开发者中心后台应用中心里获取)</p>
</div>
</div>
<div class="layui-form-item yilianyun">
<label class="layui-form-label"><span class="required">*</span>apiKey</label>
<div class="layui-input-block">
<input type="text" name="apikey" value="{$printer_info['apikey']}" autocomplete="off" class="layui-input len-long">
</div>
<div class="word-aux">
<p>apiKey易联云-开发者中心后台应用中心里获取)</p>
</div>
</div>
</div>
<div class="printer-type local" {if $printer_info.printer_type eq 'local'}style="display:block;"{/if}>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机端口:</label>
<div class="layui-input-block">
<input type="text" value="{$printer_info['host']}" name="host" autocomplete="off" class="layui-input len-long" lay-verify="localRequired">
</div>
<div class="word-aux">
<p>打印机端口 (可以填写打印机端口号如LPT1 或 本地网络共享打印机:如\\192.168.1.100\POS_NAME)</p>
</div>
</div>
</div>
<div class="printer-type network" {if $printer_info.printer_type eq 'network'}style="display:block;"{/if}>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机IP</label>
<div class="layui-input-block">
<input type="text" value="{$printer_info['ip']}" name="ip" autocomplete="off" class="layui-input len-long" lay-verify="networkRequired">
</div>
<div class="word-aux">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>打印机端口:</label>
<div class="layui-input-block">
<input type="text" value="{$printer_info['port']}" name="port" autocomplete="off" class="layui-input len-long" lay-verify="networkRequired">
</div>
<div class="word-aux">
</div>
</div>
</div>
<div class="printer-type network local" {if $printer_info.printer_type eq 'network' || $printer_info.printer_type eq 'local'}style="display:block;"{/if}>
<div class="layui-form-item">
<label class="layui-form-label">打印宽度:</label>
<div class="layui-input-block">
<input type="radio" name="print_width" value="58mm" {if $printer_info.print_width eq '58mm'} checked{/if} title="58mm">
<input type="radio" name="print_width" value="80mm" {if $printer_info.print_width eq '80mm'} checked{/if} title="80mm">
</div>
</div>
</div>
{if $is_exit_store == 1}
<div class="layui-form-item">
<label class="layui-form-label">关联门店:</label>
<div class="layui-input-block len-short">
<select name="store_id" lay-verify="">
<option value="">请选择</option>
{foreach $store_list as $k=>$v}
<option value="{$v.store_id}" {if $v['store_id'] == $printer_info['store_id']} selected {/if}>{$v.store_name}</option>
{/foreach}
</select>
</div>
</div>
{/if}
</div>
</div>
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">订单打印</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">支付打印:</label>
<div class="layui-input-block">
<input type="checkbox" name="order_pay_open" lay-filter="order_pay_open" value="1" lay-skin="switch" {if $printer_info['order_pay_open']} checked {/if}/>
</div>
</div>
<div class="layui-form-item express_company order_pay_item">
<label class="layui-form-label"><span class="required">*</span>打印模板:</label>
<div class="layui-input-block len-mid">
<select name="order_pay_template_id" {if $printer_info['order_pay_open'] == 1}lay-verify="required"{/if}>
<option value="">请选择</option>
{foreach $template_list as $k=>$v}
{if $v['type'] == 'goodsorder'}
<option value="{$v.template_id}" {if $printer_info['order_pay_template_id'] == $v['template_id']} selected {/if}>{$v.template_name}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item order_pay_item {if $printer_info['order_pay_open'] == 0}layui-hide{/if}">
<label class="layui-form-label"><span class="required">*</span>打印联数:</label>
<div class="layui-input-block">
<input type="radio" name="order_pay_print_num" value="1" lay-verify="required" {if $printer_info['order_pay_print_num'] == 1} checked {/if} autocomplete="off" title="1" class="layui-input len-long">
<input type="radio" name="order_pay_print_num" value="2" lay-verify="required" {if $printer_info['order_pay_print_num'] == 2} checked {/if} autocomplete="off" title="2" class="layui-input len-long">
<input type="radio" name="order_pay_print_num" value="3" lay-verify="required" {if $printer_info['order_pay_print_num'] == 3} checked {/if} autocomplete="off" title="3" class="layui-input len-long">
<input type="radio" name="order_pay_print_num" value="4" lay-verify="required" {if $printer_info['order_pay_print_num'] == 4} checked {/if} autocomplete="off" title="4" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item order_pay_item {if $printer_info['order_pay_open'] == 0}layui-hide{/if}">
<label class="layui-form-label"><span class="required">*</span>订单类型:</label>
<div class="layui-input-block">
{foreach $order_type_list as $v}
<input class="order-pay-order-type" type="checkbox" value="{$v.type}" lay-verify="required" lay-skin="primary" title="{$v.name}" {if in_array($v.type,$printer_info.order_pay_order_type)} checked="" {/if}>
{/foreach}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">收货打印:</label>
<div class="layui-input-block">
<input type="checkbox" name="take_delivery_open" lay-filter="take_delivery_open" value="1" lay-skin="switch" {if $printer_info['take_delivery_open']} checked {/if}/>
</div>
</div>
<div class="layui-form-item express_company take_delivery_item">
<label class="layui-form-label"><span class="required">*</span>打印模板:</label>
<div class="layui-input-block len-mid">
<select name="take_delivery_template_id" {if $printer_info['take_delivery_open'] == 1}lay-verify="required"{/if}>
<option value="">请选择</option>
{foreach $template_list as $k=>$v}
{if $v['type'] == 'goodsorder'}
<option value="{$v.template_id}" {if $printer_info['take_delivery_template_id'] == $v['template_id']} selected {/if}>{$v.template_name}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item take_delivery_item {if $printer_info['take_delivery_open'] == 0}layui-hide{/if}">
<label class="layui-form-label"><span class="required">*</span>打印联数:</label>
<div class="layui-input-block">
<input type="radio" name="take_delivery_print_num" {if $printer_info['take_delivery_print_num'] == 1} checked {/if} value="1" lay-verify="required" autocomplete="off" title="1" class="layui-input len-long">
<input type="radio" name="take_delivery_print_num" {if $printer_info['take_delivery_print_num'] == 2} checked {/if} value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
<input type="radio" name="take_delivery_print_num" {if $printer_info['take_delivery_print_num'] == 3} checked {/if} value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
<input type="radio" name="take_delivery_print_num" {if $printer_info['take_delivery_print_num'] == 4} checked {/if} value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item take_delivery_item {if $printer_info['take_delivery_open'] == 0}layui-hide{/if}">
<label class="layui-form-label"><span class="required">*</span>订单类型:</label>
<div class="layui-input-block">
{foreach $order_type_list as $v}
<input class="take-delivery-order-type" type="checkbox" value="{$v.type}" lay-verify="required" lay-skin="primary" title="{$v.name}" {if in_array($v.type,$printer_info.take_delivery_order_type)} checked="" {/if}>
{/foreach}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手动打印:</label>
<div class="layui-input-block">
<input type="checkbox" name="manual_open" lay-filter="manual_open" value="1" lay-skin="switch" {if $printer_info['manual_open']} checked {/if}/>
</div>
</div>
<div class="layui-form-item express_company default_item">
<label class="layui-form-label"><span class="required">*</span>打印模板:</label>
<div class="layui-input-block len-mid">
<select name="template_id" {if $printer_info['manual_open'] == 1}lay-verify="required"{/if}>
<option value="">请选择</option>
{foreach $template_list as $k=>$v}
{if $v['type'] == 'goodsorder'}
<option value="{$v.template_id}" {if $printer_info['template_id'] == $v['template_id']} selected {/if}>{$v.template_name}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item default_item {if $printer_info['manual_open'] == 0}layui-hide{/if}">
<label class="layui-form-label"><span class="required">*</span>打印联数:</label>
<div class="layui-input-block">
<input type="radio" name="print_num" value="1" {if $printer_info['print_num'] == 1} checked {/if} lay-verify="required" autocomplete="off" title="1" class="layui-input len-long">
<input type="radio" name="print_num" value="2" {if $printer_info['print_num'] == 2} checked {/if} lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
<input type="radio" name="print_num" value="3" {if $printer_info['print_num'] == 3} checked {/if} lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
<input type="radio" name="print_num" value="4" {if $printer_info['print_num'] == 4} checked {/if} lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
</div>
</div>
</div>
</div>
{php}
$html = event('PrinterHtml');
foreach($html as $k => $v) echo $v;
{/php}
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="backPrinterList()">返回</button>
</div>
</div>
<script src="SHOP_ADDON_JS/printer.js"></script>

View File

@@ -0,0 +1,201 @@
<!-- 搜索框 -->
<div class="single-filter-box">
<button class="layui-btn" onclick="add()">添加打印机</button>
</div>
<table id="printer_list" lay-filter="printer_list"></table>
<!-- 操作 -->
<script type="text/html" id="operation">
<div class="table-btn">
<a class="layui-btn" lay-event="edit">编辑</a>
<a class="layui-btn" lay-event="del">删除</a>
<a class="layui-btn" lay-event="print">测试打印</a>
{{# if(d.brand == 'yilianyun'){ }}
<a class="layui-btn" lay-event="refresh_token">授权</a>
{{# } }}
</div>
</script>
<script>
var table,form,repeat_flag = false; //防重复标识
layui.use(['form'], function() {
form = layui.form;
form.render();
table = new Table({
elem: '#printer_list',
url: ns.url("printer://shop/printer/lists"),
cols: [
[{
'field':'printer_name',
title: '打印机名称',
unresize: 'false'
},{
'field':'printer_name',
title: '打印机类型',
unresize: 'false',
templet: function(data) {
if(data.printer_type == 'local'){
return '本地打印机';
} else {
return '云打印机';
}
}
}, {
field: 'brand',
title: '打印机品牌',
unresize: 'false',
templet: function(data) {
if(data.brand == '365'){
return '365';
} else if(data.brand == 'yilianyun'){
return '易联云';
} else if (data.brand == 'feie') {
return '飞鹅';
}
}
}, {
field: 'is_default',
title: '一次打印',
unresize: 'false',
templet: function(data) {
return data.print_num + '张';
}
}, {
title: '添加时间',
unresize: 'false',
templet: function(data) {
return ns.time_to_date(data.create_time);
}
}, {
title: '操作',
toolbar: '#operation',
unresize: 'false',
align:'right'
}]
]
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data;
switch (obj.event) {
case 'edit': //编辑
location.hash = ns.hash("printer://shop/printer/edit", {"printer_id": data.printer_id});
break;
case 'del': //删除
deletePrinter(data.printer_id);
break;
case 'print': //测试打印
testPrint(data.printer_id);
break;
case 'refresh_token': //测试打印
refreshToken(data.printer_id);
break;
}
});
function refreshToken(printer_id){
layer.confirm('若易联云打印机在 "测试打印" 时提示 "access_token过期或错误",请重新授权,是否重新授权', function(index) {
if (repeat_flag) return;
repeat_flag = true;
layer.close(index);
$.ajax({
url: ns.url("printer://shop/printer/refreshtoken"),
data: {
printer_id: printer_id
},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload({
page: {
curr: 1
},
});
}
}
});
}, function() {
layer.close();
repeat_flag = false;
});
}
/**
* 删除
*/
function deletePrinter(printer_id) {
layer.confirm('确定要删除该打印机吗?', function(index) {
if (repeat_flag) return;
repeat_flag = true;
layer.close(index);
$.ajax({
url: ns.url("printer://shop/printer/delete"),
data: {
printer_id: printer_id
},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload({
page: {
curr: 1
},
});
}
}
});
}, function() {
layer.close();
repeat_flag = false;
});
}
});
/**
* 测试打印
*/
function testPrint(printer_id)
{
layer.confirm('确定测试打印吗?', function(index) {
if (repeat_flag) return;
repeat_flag = true;
layer.close(index);
$.ajax({
url: ns.url("printer://shop/printer/testPrint"),
data: {
printer_id: printer_id
},
dataType: 'JSON',
type: 'POST',
success: function(res) {
repeat_flag = false;
layer.msg(res.message);
}
});
}, function() {
layer.close();
repeat_flag = false;
});
}
function add() {
location.hash = ns.hash("printer://shop/printer/add");
}
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,226 @@
layui.use(['form',], function () {
var form = layui.form,
repeat_flag = false;
form.render();
form.on('radio(printer_type)', function (e) {
$('.printer-type').hide()
$('.printer-type.' + e.value).show()
})
form.on('select(brand)', function (data) {
var value = data.value;
if (value == '365') {
$('.feie').hide();
$('.yilianyun').hide();
$("input[name='user']").attr("lay-verify", "");
$("input[name='ukey']").attr("lay-verify", "");
$("input[name='open_id']").attr("lay-verify", "");
$("input[name='apikey']").attr("lay-verify", "");
}
if (value == 'feie') {
$('.feie').show();
$('.yilianyun').hide();
$("input[name='user']").attr("lay-verify", "cloudRequired");
$("input[name='ukey']").attr("lay-verify", "cloudRequired");
$("input[name='open_id']").attr("lay-verify", "");
$("input[name='apikey']").attr("lay-verify", "");
}
if (value == 'yilianyun') {
$('.yilianyun').show();
$('.feie').hide();
$("input[name='open_id']").attr("lay-verify", "cloudRequired");
$("input[name='apikey']").attr("lay-verify", "cloudRequired");
$("input[name='user']").attr("lay-verify", "");
$("input[name='ukey']").attr("lay-verify", "");
}
});
form.on('switch(recharge_open)', function (data) {
if (data.elem.checked) {
$(".layui-form-item.recharge_item").removeClass('layui-hide');
$('.recharge-content').removeClass('layui-hide');
$('.recharge-content [name="recharge_template_id"]').attr('lay-verify', 'required');
} else {
$(".layui-form-item.recharge_item").addClass('layui-hide');
$('.recharge-content').addClass('layui-hide');
$('.recharge-content [name="recharge_template_id"]').attr('lay-verify', '');
}
});
form.on('switch(order_pay_open)', function (data) {
if (data.elem.checked) {
$('.order_pay_item').removeClass('layui-hide');
$('.order_pay_item [name="order_pay_template_id"]').attr('lay-verify', 'required');
} else {
$('.order_pay_item').addClass('layui-hide');
$('.order_pay_item [name="order_pay_template_id"]').attr('lay-verify', '');
}
});
form.on('switch(change_shifts_open)', function (data) {
if (data.elem.checked) {
$('.change_shifts-content').removeClass('layui-hide');
$('.change_shifts-box [name="change_shifts_template_id"]').attr('lay-verify', 'required');
} else {
$('.change_shifts-content').addClass('layui-hide');
$('.change_shifts-box [name="change_shifts_template_id"]').attr('lay-verify', '');
}
});
form.on('switch(take_delivery_open)', function (data) {
if (data.elem.checked) {
$('.take_delivery_item').removeClass('layui-hide');
$('.take_delivery_item [name="take_delivery_template_id"]').attr('lay-verify', 'required');
} else {
$('.take_delivery_item').addClass('layui-hide');
$('.take_delivery_item [name="take_delivery_template_id"]').attr('lay-verify', '');
}
});
form.on('switch(manual_open)', function (data) {
if (data.elem.checked) {
$('.default_item').removeClass('layui-hide');
$('.default_item [name="template_id"]').attr('lay-verify', 'required');
} else {
$('.default_item').addClass('layui-hide');
$('.default_item [name="template_id"]').attr('lay-verify', '');
}
});
var printer_type = $('input[name="printer_type"]:checked').val()
$(`input[name="printer_type"][value="${printer_type}"]`).next('.layui-unselect.layui-form-radio').click()
var brand = $('select[name="brand"] option:checked').val()
$("select[name='brand']").siblings("div.layui-form-select").find("dl dd[lay-value='" + brand + "']").click();
form.verify({
time: function (value) {
var now_time = (new Date()).getTime();
var start_time = (new Date($("#start_time").val())).getTime();
var end_time = (new Date(value)).getTime();
if (now_time > end_time) {
return '结束时间不能小于当前时间!'
}
if (start_time > end_time) {
return '结束时间不能小于开始时间!';
}
},
flnum: function (value) {
var arrMen = value.split(".");
var val = 0;
if (arrMen.length == 2) {
val = arrMen[1];
}
if (val.length > 2) {
return '保留小数点后两位!'
}
},
int: function (value) {
if (value <= 1 || value % 1 != 0) {
return '请输入大于1的正整数'
}
},
cloudRequired: function (value, ele) {
if ($('[name="printer_type"]:checked').val() == 'cloud' && !/[\S]+/.test(value)) {
var label = $(ele).parents('.layui-form-item').find('.layui-form-label').text().replace('', '').replace('*', '')
return label + '不能为空'
}
},
localRequired: function (value, ele) {
if ($('[name="printer_type"]:checked').val() == 'local' && !/[\S]+/.test(value)) {
var label = $(ele).parents('.layui-form-item').find('.layui-form-label').text().replace('', '').replace('*', '')
return label + '不能为空'
}
},
networkRequired: function (value, ele) {
if ($('[name="printer_type"]:checked').val() == 'newwork' && !/[\S]+/.test(value)) {
var label = $(ele).parents('.layui-form-item').find('.layui-form-label').text().replace('', '').replace('*', '')
return label + '不能为空'
}
}
});
form.on('submit(save)', function (data) {
var field = data.field;
if (field.brand == 'feie') {
field.open_id = field.user;
field.apikey = field.ukey;
}
var order_pay_order_type_arr = [];
if (field.order_pay_open) {
$(".order-pay-order-type").each(function () {
if ($(this).is(":checked")) {
order_pay_order_type_arr.push($(this).val());
}
});
if (order_pay_order_type_arr == "") {
layer.msg('请选择支付打印的订单类型');
return false;
}
}
field.order_pay_order_type = order_pay_order_type_arr.toString();
var take_delivery_order_type_arr = [];
if (field.order_pay_open) {
$(".order-pay-order-type").each(function () {
if ($(this).is(":checked")) {
take_delivery_order_type_arr.push($(this).val());
}
});
if (take_delivery_order_type_arr == "") {
layer.msg('请选择收货打印的订单类型');
return false;
}
}
field.take_delivery_order_type = take_delivery_order_type_arr.toString();
if (repeat_flag) return;
repeat_flag = true;
$.ajax({
type: 'POST',
dataType: 'JSON',
url: field.printer_id ? ns.url("printer://shop/printer/edit") : ns.url("printer://shop/printer/add"),
data: field,
async: false,
success: function (res) {
repeat_flag = false;
if (res.code == 0) {
layer.confirm(field.printer_id ? '编辑成功' : '添加成功', {
title: '操作提示',
btn: ['返回列表', field.printer_id ? '继续编辑' : '继续添加'],
closeBtn: 0,
yes: function (index, layero) {
location.hash = ns.hash("printer://shop/printer/lists");
layer.close(index);
},
btn2: function (index, layero) {
listenerHash(); // 刷新页面
layer.close(index);
}
});
} else {
layer.msg(res.message);
}
}
})
});
});
function backPrinterList() {
location.hash = ns.hash("printer://shop/printer/lists");
}

View File

@@ -0,0 +1,559 @@
<style>
.printer-box{display: flex;}
.printer-box > .layui-form{flex: 1;}
.printer-box .preview{width: 310px;margin: 0 20px;}
.printer-box .preview .layui-card-body{margin: 20px;padding: 0 10px;border: 1px solid #ededed;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;}
.printer-box .preview .layui-card-body div{font-size: 12px;color: #333;}
.printer-box .preview .layui-card-body div ~ div{border-top: 1px dashed #ededed ;}
.printer-box .preview .receipt-name{text-align: center;line-height: 40px;}
.printer-box .preview .shopping-name{line-height: 40px;font-size: 16px !important;text-align: center;}
.printer-box .preview .order-info, .printer-box .preview .goods-info, .printer-box .preview .price-info, .printer-box .preview .buyer-info, .printer-box .preview .shopping-info{padding: 8px 0;}
.printer-box .preview .order-info span{display: block;line-height: 2.5;}
.printer-box .preview .goods-info table{width: 100%;}
.printer-box .preview .goods-info table tr{line-height: 2.5;}
.printer-box .preview .goods-info table th{font-weight: normal;}
.printer-box .preview .price-info p{display: flex;line-height: 2.5;justify-content: space-between;}
.printer-box .preview .buyer-info span, .printer-box .preview .shopping-info span{display: block;line-height: 2;}
.printer-box .preview .buyer-message,.printer-box .preview .merchant-message{padding: 10px 0;line-height: 1.5;}
.preview .button-info{height: 40px;line-height: 40px;text-align: center}
.preview .shopping-code{text-align: center;}
.preview .shopping-code img{width: 100px;height: 100px;margin: 10px 0;}
.commodity-type-box{
display: flex;
}
.commodity-type-item{
margin-right: 15px;
padding: 0px 20px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
border: 1px solid #e5e5e5;
cursor: pointer;
}
.goods_code_show td{line-height: 1;padding-bottom: 5px}
</style>
<div class="printer-box">
<div class="layui-form form-wrap">
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">模板信息</span>
</div>
<div class="layui-card-body">
{if empty($info)}
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>模板类型:</label>
<div class="layui-input-block commodity-type-box">
{foreach $template_type as $k => $v}
<div class="commodity-type-item {if $type == $k} border-color{/if}" onclick="location.hash = ns.hash('printer://shop/template/add', {'type' : '{$v['type']}'})">
<span class="{if $type == $k} text-color{/if}">{$v['type_name']}</span>
</div>
{/foreach}
</div>
</div>
<input type="hidden" name="type_name" value="{$template_type[$type]['type_name']}">
<input type="hidden" name="type" value="{$type}">
{/if}
<div class="layui-form-item">
<label class="layui-form-label"><span class="required"></span>模板名称:</label>
<div class="layui-input-block">
<input type="text" name="template_name" lay-verify="required" {if !empty($info)} value="{$info['template_name']}" {/if} autocomplete="off" class="layui-input len-long">
</div>
</div>
{if !empty($info)}
<div class="layui-form-item">
<label class="layui-form-label"><span class="required"></span>模板类型:</label>
<div class="layui-input-block">{$info['type_name']}</div>
</div>
{/if}
</div>
</div>
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">打印信息</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">小票名称:</label>
<div class="layui-input-block">
<input type="text" name="title" {if !empty($info)} value="{$info['title']}"{else/} value="小票名称" {/if} lay-verify="required" autocomplete="off" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商城名称:</label>
<div class="layui-input-block">
<input type="radio" lay-filter="shop_name" name="head" value="1" title="显示" {if (!empty($info) && $info['head'] == 1) || empty($info) } checked {/if} autocomplete="off" class="layui-input len-long">
<input type="radio" lay-filter="shop_name" name="head" value="0" title="不显示" {if !empty($info) && !$info['head']} checked {/if} autocomplete="off" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商品信息:</label>
<div class="layui-input-block">
<input type="checkbox" name="goods_price_show" value="1" lay-skin="primary" title="商品金额" {if (!empty($info) && $info['goods_price_show'] == 1) || empty($info) } checked {/if} lay-filter="goods_price_show">
<input type="checkbox" name="goods_code_show" value="1" lay-skin="primary" title="商品编码" {if !empty($info) && $info['goods_code_show'] == 1 } checked {/if} lay-filter="goods_code_show">
</div>
</div>
<div class="layui-form-item goods_price_type ">
<label class="layui-form-label">商品金额:</label>
<div class="layui-input-block">
<input type="radio" lay-filter="goods_price_type" name="goods_price_type" value="price" title="售价" {if (!empty($info) && $info['goods_price_type'] == 'price') || empty($info) } checked {/if} autocomplete="off" class="layui-input len-long">
<input type="radio" lay-filter="goods_price_type" name="goods_price_type" value="order_price" title="实付价" {if !empty($info) && $info['goods_price_type'] == 'order_price'} checked {/if} autocomplete="off" class="layui-input len-long">
</div>
</div>
{if addon_is_exit('form')}
<div class="layui-form-item">
<label class="layui-form-label">表单信息:</label>
<div class="layui-input-block">
<input type="checkbox" name="form_show" value="1" lay-skin="primary" title="表单" {if (!empty($info) && $info['form_show']) || empty($info) } checked {/if} lay-filter="form_show">
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">备注信息:</label>
<div class="layui-input-block">
<input type="checkbox" name="buy_notes" value="1" lay-skin="primary" title="买家留言" {if (!empty($info) && $info['buy_notes']) || empty($info) } checked {/if} lay-filter="buyer_message">
<input type="checkbox" name="seller_notes" value="1" lay-skin="primary" title="卖家留言" {if (!empty($info) && $info['seller_notes']) } checked {/if} lay-filter="merchant_message">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">买家信息:</label>
<div class="layui-input-block">
<input type="checkbox" name="buy_name" value="1" lay-filter="buyer_name" lay-skin="primary" title="姓名" {if (!empty($info) && $info['buy_name']) || empty($info) } checked {/if}>
<input type="checkbox" name="buy_mobile" value="1" lay-filter="buyer_phone" lay-skin="primary" title="联系方式" {if (!empty($info) && $info['buy_mobile']) || empty($info) } checked {/if}>
<input type="checkbox" name="buy_address" value="1" lay-filter="buyer_address" lay-skin="primary" title="地址" {if (!empty($info) && $info['buy_address']) || empty($info) } checked {/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商城信息:</label>
<div class="layui-input-block">
<input type="checkbox" name="shop_mobile" value="1" lay-filter="shopping_phone" lay-skin="primary" title="联系方式" {if (!empty($info) && $info['shop_mobile'])} checked {/if}>
<input type="checkbox" name="shop_address" value="1" lay-filter="shopping_addres" lay-skin="primary" title="地址" {if (!empty($info) && $info['shop_address'])} checked {/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商城二维码:</label>
<div class="layui-input-block">
<input type="checkbox" name="shop_qrcode" value="1" lay-filter="shop_qrcode" lay-skin="primary" title="商城二维码" {if (!empty($info) && $info['shop_qrcode']) || empty($info) } checked {/if}>
</div>
</div>
<div class="layui-form-item qrcode_url">
<label class="layui-form-label"><span class="required">*</span>商城二维码链接:</label>
<div class="layui-input-block">
<input type="text" name="qrcode_url" lay-verify="required" autocomplete="off" class="layui-input len-long" {if (!empty($info) && $info['qrcode_url'])} value="{$info['qrcode_url']}" {/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">底部信息:</label>
<div class="layui-input-block">
<input type="text" name="bottom" {if (!empty($info) && $info['bottom'])} value="{$info['bottom']}"{else /} value="谢谢惠顾,欢迎下次光临" {/if} lay-verify="required" placeholder="" autocomplete="off" class="layui-input len-long">
</div>
</div>
</div>
</div>
{if !empty($info)}
<input type="hidden" name="template_id" value="{$info['template_id']}">
{/if}
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="backPrinterTemplateList()">返回</button>
</div>
</div>
<div class="preview">
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">预览图</span>
</div>
<div class="layui-card-body">
<div class="receipt-name">小票名称</div>
<div class="shopping-name">商城名称</div>
<div class="order-info">
<span>订单时间2023年2月11日 11:16:44</span>
<span>订单编号ME20180702231831547866</span>
<span>支付方式:微信支付</span>
<span>配送时间:立即送达(自提提货、本地配送展示)</span>
</div>
<div class="goods-info">
<table>
<tr>
<th align="left">商品名称</th>
<th align="center">数量</th>
<th align="right" class="goods_price_show">金额</th>
</tr>
<tr>
<td>男子运动外套</td>
<td align="center">2</td>
<td align="right" class="goods_price_show">¥388.00</td>
</tr>
<tr class="goods_code_show layui-hide">
<td colspan="3">[G00000001]</td>
</tr>
<tr>
<td>白色跑步鞋</td>
<td align="center">2</td>
<td align="right" class="goods_price_show">¥1689.00</td>
</tr>
<tr class="goods_code_show layui-hide">
<td colspan="3">[G00000002]</td>
</tr>
<tr>
<td>运费</td>
<td colspan="2" align="right">¥0.00</td>
</tr>
</table>
</div>
<div class="price-info">
<p>
<span>订单原价</span>
<span>¥2010</span>
</p>
<p>
<span>优惠金额</span>
<span>¥2010</span>
</p>
<p>
<span>实付金额</span>
<span>¥2010</span>
</p>
</div>
<div class="buyer-message">买家留言:物流很快</div>
<div class="merchant-message layui-hide">卖家留言:欢迎下次购买</div>
{if addon_is_exit('form')}
<div class="form_show">标题:内容</div>
{/if}
<div class="buyer-info">
<span class="name">niushop</span>
<span class="phone">15135669878</span>
<span class="addres">山西省 太原市 小店区 创业街</span>
</div>
<div class="shopping-info layui-hide">
<span class="phone layui-hide">4008867993 </span>
<span class="addres layui-hide">山西省 太原市 小店区 创业街 世纪中心4单元1025</span>
</div>
<div class="shopping-code">
<img src="SHOP_IMG/shopping_code.png" alt="">
</div>
<div class="button-info">谢谢惠顾,欢迎下次光临</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['form'], function() {
var form = layui.form,
repeat_flag = false;
form.render();
/**
* 表单验证
*/
form.verify({
time: function(value) {
var now_time = (new Date()).getTime();
var start_time = (new Date($("#start_time").val())).getTime();
var end_time = (new Date(value)).getTime();
if (now_time > end_time) {
return '结束时间不能小于当前时间!'
}
if (start_time > end_time) {
return '结束时间不能小于开始时间!';
}
},
flnum: function(value) {
var arrMen = value.split(".");
var val = 0;
if (arrMen.length == 2) {
val = arrMen[1];
}
if (val.length > 2) {
return '保留小数点后两位!'
}
},
int: function(value) {
if (value <= 1 || value % 1 != 0) {
return '请输入大于1的正整数'
}
}
});
form.on('checkbox(shop_qrcode)', function(data){
var value = data.elem.checked;
if(value == true){
$(".preview .shopping-code").removeClass("layui-hide");
$(".qrcode_url").removeClass('layui-hide');
$("input[name='qrcode_url']").attr("lay-verify", "required");
}else{
$(".preview .shopping-code").addClass("layui-hide");
$(".qrcode_url").addClass('layui-hide');
$("input[name='qrcode_url']").attr("lay-verify", "");
}
});
/**
* 表单提交
*/
form.on('submit(save)', function(data){
var field = data.field;
if(repeat_flag) return;
repeat_flag = true;
let url = ns.url("printer://shop/template/add");
if(parseInt(field.template_id) > 0 ) url = ns.url("printer://shop/template/edit");
$.ajax({
type: 'POST',
dataType: 'JSON',
url: url,
data: field,
async: false,
success: function(res){
repeat_flag = false;
if (res.code == 0) {
layer.confirm('操作成功', {
title:'操作提示',
btn: ['返回列表', '{$info ? "继续编辑" : "继续添加"}'],
closeBtn: 0,
yes: function(index, layero){
location.hash = ns.hash("printer://shop/template/lists");
layer.close(index);
},
btn2: function(index, layero) {
listenerHash(); // 刷新页面
layer.close(index);
}
});
}else{
layer.msg(res.message);
}
}
})
});
// 小票打印
$("input[name='title']").bind("input propertychange",function(event){
$(".preview .receipt-name").text($("input[name='title']").val());
});
//商城名称
form.on('radio(shop_name)', function(data){
if (parseInt(data.value)) $(".shopping-name").removeClass("layui-hide");
else $(".shopping-name").addClass("layui-hide");
});
//商品价格
form.on('checkbox(goods_price_show)', function(data){
if (data.elem.checked) {
$(".goods_price_show").removeClass("layui-hide");
$('.goods_price_type').removeClass("layui-hide");
}else {
$('.goods_price_type').addClass("layui-hide");
$(".goods_price_show").addClass("layui-hide");
}
});
//商品编码
form.on('checkbox(goods_code_show)', function(data){
if (data.elem.checked) $(".goods_code_show").removeClass("layui-hide");
else $(".goods_code_show").addClass("layui-hide");
});
//表单
form.on('checkbox(form_show)', function(data){
if (data.elem.checked) $(".form_show").removeClass("layui-hide");
else $(".form_show").addClass("layui-hide");
});
//买家留言
form.on('checkbox(buyer_message)', function(data){
if(data.elem.checked)
$(".buyer-message").removeClass("layui-hide");
else
$(".buyer-message").addClass("layui-hide");
});
//卖家留言
form.on('checkbox(merchant_message)', function(data){
if(data.elem.checked)
$(".merchant-message").removeClass("layui-hide");
else
$(".merchant-message").addClass("layui-hide");
});
var buyerName = true,buyerPhone=true,buyerAddres=true;
//买家姓名
form.on('checkbox(buyer_name)', function(data){
buyerName = data.elem.checked;
if(data.elem.checked)
$(".buyer-info .name").removeClass("layui-hide");
else
$(".buyer-info .name").addClass("layui-hide");
buyerFn();
});
//买家手机号
form.on('checkbox(buyer_phone)', function(data){
buyerPhone = data.elem.checked;
if(data.elem.checked)
$(".buyer-info .phone").removeClass("layui-hide");
else
$(".buyer-info .phone").addClass("layui-hide");
buyerFn();
});
//买家地址
form.on('checkbox(buyer_address)', function(data){
buyerAddres= data.elem.checked;
if(data.elem.checked)
$(".buyer-info .addres").removeClass("layui-hide");
else
$(".buyer-info .addres").addClass("layui-hide");
buyerFn();
});
function buyerFn() {
if (!buyerName && !buyerPhone && !buyerAddres)
$(".buyer-info").addClass("layui-hide");
else
$(".buyer-info").removeClass("layui-hide");
}
var shoppingPhone=false,shoppingAddress=false;
//商家手机号
form.on('checkbox(shopping_phone)', function(data){
shoppingPhone = data.elem.checked;
if(data.elem.checked)
$(".shopping-info .phone").removeClass("layui-hide");
else
$(".shopping-info .phone").addClass("layui-hide");
shoppingFn();
});
//商家地址
form.on('checkbox(shopping_addres)', function(data){
shoppingAddress= data.elem.checked;
if(data.elem.checked)
$(".shopping-info .addres").removeClass("layui-hide");
else
$(".shopping-info .addres").addClass("layui-hide");
shoppingFn();
});
function shoppingFn() {
if (!shoppingPhone && !shoppingAddress)
$(".shopping-info").addClass("layui-hide");
else
$(".shopping-info").removeClass("layui-hide");
}
// 底部信息
$("input[name='bottom']").bind("input propertychange",function(event){
$(".preview .button-info").text($("input[name='bottom']").val());
});
});
function backPrinterTemplateList() {
location.hash = ns.hash("printer://shop/template/lists");
}
</script>
{if !empty($info)}
<script>
var shop_qrcode = {$info['shop_qrcode']};
if(shop_qrcode){
$(".preview .shopping-code").removeClass("layui-hide");
$(".qrcode_url").removeClass('layui-hide');
$("input[name='qrcode_url']").attr("lay-verify", "required");
}else{
$(".preview .shopping-code").addClass("layui-hide");
$(".qrcode_url").addClass('layui-hide');
$("input[name='qrcode_url']").attr("lay-verify", "");
}
var head = {$info['head']};
if (head) {
$(".shopping-name").removeClass("layui-hide");
}else {
$(".shopping-name").addClass("layui-hide");
}
var goods_price_show = {$info['goods_price_show']};
if (goods_price_show) {
$(".goods_price_show").removeClass("layui-hide");
$('.goods_price_type').removeClass("layui-hide");
}else {
$('.goods_price_type').addClass("layui-hide");
$(".goods_price_show").addClass("layui-hide");
}
var goods_code_show = {$info['goods_code_show']};
if (goods_code_show) $(".goods_code_show").removeClass("layui-hide");
else $(".goods_code_show").addClass("layui-hide");
var form_show = {$info['form_show']};
if (form_show) $(".form_show").removeClass("layui-hide");
else $(".form_show").addClass("layui-hide");
var buy_notes = {$info['buy_notes']};
if(buy_notes) $(".buyer-message").removeClass("layui-hide");
else $(".buyer-message").addClass("layui-hide");
var seller_notes = {$info['seller_notes']};
if(seller_notes) $(".merchant-message").removeClass("layui-hide");
else $(".merchant-message").addClass("layui-hide");
buyerName = {$info['buy_name']},buyerPhone={$info['buy_mobile']},buyerAddres={$info['buy_address']};
if(buyerName) $(".buyer-info .name").removeClass("layui-hide");
else $(".buyer-info .name").addClass("layui-hide");
if(buyerPhone) $(".buyer-info .phone").removeClass("layui-hide");
else $(".buyer-info .phone").addClass("layui-hide");
if(buyerAddres) $(".buyer-info .addres").removeClass("layui-hide");
else $(".buyer-info .addres").addClass("layui-hide");
if (!buyerName && !buyerPhone && !buyerAddres) $(".buyer-info").addClass("layui-hide");
else $(".buyer-info").removeClass("layui-hide");
shoppingPhone= {$info['shop_mobile']},shoppingAddress= {$info['shop_address']};
//商家手机号
if(shoppingPhone)$(".shopping-info .phone").removeClass("layui-hide");
else $(".shopping-info .phone").addClass("layui-hide");
//商家地址
if(shoppingAddress) $(".shopping-info .addres").removeClass("layui-hide");
else $(".shopping-info .addres").addClass("layui-hide");
if (!shoppingPhone && !shoppingAddress) $(".shopping-info").addClass("layui-hide");
else $(".shopping-info").removeClass("layui-hide");
</script>
{/if}

View File

@@ -0,0 +1,106 @@
<!-- 搜索框 -->
<div class="single-filter-box">
<button class="layui-btn" onclick="add()">添加打印模板</button>
</div>
<table id="template_list" lay-filter="template_list"></table>
<!-- 操作 -->
<script type="text/html" id="operation">
<div class="table-btn">
<a class="layui-btn" lay-event="edit">编辑</a>
<a class="layui-btn" lay-event="del">删除</a>
</div>
</script>
<script>
layui.use(['form'], function() {
var table,
form = layui.form,
repeat_flag = false; //防重复标识
form.render();
table = new Table({
elem: '#template_list',
url: ns.url("printer://shop/template/lists"),
cols: [
[{
'field':'template_name',
title: '模板名称',
unresize: 'false'
}, {
title: '模板类型',
unresize: 'false',
templet: function(data) {
return data.type_name;
}
}, {
title: '添加时间',
unresize: 'false',
templet: function(data) {
return ns.time_to_date(data.create_time);
}
}, {
title: '操作',
toolbar: '#operation',
unresize: 'false',
align:'right'
}]
]
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data;
switch (obj.event) {
case 'edit': //编辑
location.hash = ns.hash("printer://shop/template/edit", {"template_id": data.template_id});
break;
case 'del': //删除
deleteTemplate(data.template_id);
break;
}
});
/**
* 删除
*/
function deleteTemplate(template_id) {
layer.confirm('确定要删除该模板吗?', function(index) {
if (repeat_flag) return;
repeat_flag = true;
layer.close(index);
$.ajax({
url: ns.url("printer://shop/template/delete"),
data: {
template_id: template_id
},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload({
page: {
curr: 1
},
});
}
}
});
}, function() {
layer.close();
repeat_flag = false;
});
}
});
function add() {
location.hash = ns.hash("printer://shop/template/add");
}
</script>