214 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			HTML
		
	
	
		
		
			
		
	
	
			214 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			HTML
		
	
	
|  | {layout name="layout2" /} | |||
|  | <style> | |||
|  |     .tips{ | |||
|  |         color: red; | |||
|  |     } | |||
|  | </style> | |||
|  | <div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;"> | |||
|  | 
 | |||
|  |     <input type="hidden" value="{$info.id}" name="id"> | |||
|  |     <input type="hidden" value="{$type}" name="type"> | |||
|  | 
 | |||
|  |     <!--通知场景--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">通知场景:</label> | |||
|  |         <div class="layui-input-inline" style="padding-top: 8px"> | |||
|  |             {$info.scene} | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--模板编号--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label"><span class="tips">*</span>模板编号:</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="template_sn" value="{$info.mnp_notice.template_sn | default =''}" autocomplete="off" class="layui-input"  lay-verify="required" lay-vertype="tips"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--模板名称--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label"><span class="tips">*</span>模板名称:</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="name" value="{$info.mnp_notice.name | default = ''}"  autocomplete="off" class="layui-input" lay-verify="required" lay-vertype="tips"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--模板id--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label"><span class="tips">*</span>模板ID:</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="template_id" value="{$info.mnp_notice.template_id | default =''}" autocomplete="off" class="layui-input"  lay-verify="required" lay-vertype="tips"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--场景变量--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">场景变量:</label> | |||
|  |         <div class="layui-input-block"> | |||
|  |             {foreach $info.variable as $item => $val} | |||
|  |             <button type="button"  class="layui-btn layui-btn-primary variable-btn" data-value="{$item}">{$val}</button> | |||
|  |             {/foreach} | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label"></label> | |||
|  |         <div class="layui-form-mid layui-word-aux">系统在当前场景预定义好的通知变量</div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--模板内容--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label"><span class="tips">*</span>模板内容:</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <button class="layui-btn layui-btn-sm layui-btn-normal addTpl" type="button">新增</button> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--模板--> | |||
|  |     <div class="template-body"> | |||
|  |         {notempty name ="$info.mnp_notice.tpl"} | |||
|  |             {foreach $info.mnp_notice.tpl as $k => $item} | |||
|  |                 <div class="layui-form-item template"> | |||
|  |                     <div class="layui-input-block"> | |||
|  |                         <label class="layui-form-label">字段名称:</label> | |||
|  |                         <div class="layui-input-inline"> | |||
|  |                             <input type="text" name="tpl_name[]" value="{$item.tpl_name}" autocomplete="off" class="layui-input"  lay-verify="required" lay-vertype="tips"> | |||
|  |                         </div> | |||
|  |                         <label class="layui-form-label">关键词:</label> | |||
|  |                         <div class="layui-input-inline"> | |||
|  |                             <input type="text" name="tpl_keyword[]" value="{$item.tpl_keyword}" autocomplete="off" class="layui-input" lay-verify="required" lay-vertype="tips"> | |||
|  |                         </div> | |||
|  |                         <label class="layui-form-label">字段内容:</label> | |||
|  |                         <div class="layui-input-inline"> | |||
|  |                             <input type="text" name="tpl_content[]" value="{$item.tpl_content}" autocomplete="off" class="layui-input" lay-verify="required" lay-vertype="tips"> | |||
|  |                         </div> | |||
|  |                         <button class="layui-btn layui-btn-sm layui-btn-danger delTpl" type="button">删除</button> | |||
|  |                     </div> | |||
|  |                 </div> | |||
|  |             {/foreach} | |||
|  |         {/notempty} | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--模板预览--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label"><span class="tips">*</span>模板预览:</label> | |||
|  |         <div class="layui-input-block"> | |||
|  |             <div class="layui-col-sm4"> | |||
|  |                 <textarea placeholder="请输入内容" name="content" id="content" class="layui-textarea"></textarea> | |||
|  |             </div> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <!--状态--> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">状态</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="radio" name="status" value="1" title="开启" {if ($info.mnp_notice.status ?? 0) == 1}checked{/if} /> | |||
|  |             <input type="radio" name="status" value="0" title="关闭" {if ($info.mnp_notice.status ?? 0) == 0}checked{/if}  /> | |||
|  |             <div class="layui-form-mid layui-word-aux">开启或关闭当前场景通知</div> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | 
 | |||
|  |     <div class="layui-form-item layui-hide"> | |||
|  |         <input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认"> | |||
|  |     </div> | |||
|  | </div> | |||
|  | <script> | |||
|  |     layui.config({ | |||
|  |         version:"{$front_version}", | |||
|  |         base: '/static/plug/' | |||
|  |     }).extend({ | |||
|  |         base: '/static/plug/layui-admin/dist/layuiadmin/' | |||
|  |     }).use(['form'], function() { | |||
|  |         var $ = layui.$ | |||
|  |             ,form = layui.form; | |||
|  | 
 | |||
|  |         //场景变量复制 | |||
|  |         $(document).on('click', '.variable-btn', function () { | |||
|  |             var copyText = $(this).data('value'); | |||
|  |             let aux = document.createElement("input"); | |||
|  |             aux.setAttribute("value", '{'+copyText+'}'); | |||
|  |             document.body.appendChild(aux); | |||
|  |             aux.select(); | |||
|  |             document.execCommand("copy"); | |||
|  |             document.body.removeChild(aux); | |||
|  |             layer.msg('已复制场景变量'); | |||
|  |         }); | |||
|  | 
 | |||
|  | 
 | |||
|  |         // 添加模板 | |||
|  |         $(document).on('click','.addTpl',function() { | |||
|  |             var tpl = '<div class="layui-form-item template">' + | |||
|  |                 '            <div class="layui-input-block">' + | |||
|  |                 '                <label class="layui-form-label">字段名称:</label>' + | |||
|  |                 '                <div class="layui-input-inline">' + | |||
|  |                 '                    <input type="text" name="tpl_name[]" autocomplete="off" class="layui-input" value="" lay-verify="required" lay-vertype="tips">' + | |||
|  |                 '                </div>' + | |||
|  |                 '                <label class="layui-form-label">关键词:</label>' + | |||
|  |                 '                <div class="layui-input-inline">' + | |||
|  |                 '                    <input type="text" name="tpl_keyword[]" autocomplete="off" class="layui-input" value="" lay-verify="required" lay-vertype="tips">' + | |||
|  |                 '                </div>' + | |||
|  |                 '                <label class="layui-form-label">字段内容:</label>' + | |||
|  |                 '                <div class="layui-input-inline">' + | |||
|  |                 '                    <input type="text" name="tpl_content[]" autocomplete="off" class="layui-input" value="" lay-verify="required" lay-vertype="tips">' + | |||
|  |                 '                </div>' + | |||
|  |                 '                <button class="layui-btn layui-btn-sm layui-btn-danger delTpl" type="button">删除</button>' + | |||
|  |                 '            </div>' + | |||
|  |                 '        </div>'; | |||
|  |             $('.template-body').append(tpl); | |||
|  |         }); | |||
|  | 
 | |||
|  | 
 | |||
|  |         refreshContent(); | |||
|  | 
 | |||
|  |         //监听字段名称 | |||
|  |         $(document).on("input  propertychange","input[name='tpl_name[]']",function() { | |||
|  |             refreshContent(); | |||
|  |         }); | |||
|  | 
 | |||
|  |         //监听关键词 | |||
|  |         $(document).on("input  propertychange","input[name='tpl_keyword[]']",function() { | |||
|  |             refreshContent(); | |||
|  |         }); | |||
|  | 
 | |||
|  | 
 | |||
|  |         // 删除模板 | |||
|  |         $(document).on('click','.delTpl',function() { | |||
|  |             var len = $("div.template-body > div.template").length; | |||
|  |             if (len == 1) { | |||
|  |                 layer.msg('最少保留一个模板内容'); | |||
|  |                 return; | |||
|  |             } else { | |||
|  |                 $(this).parents('.template').remove(); | |||
|  |                 refreshContent(); | |||
|  |             } | |||
|  |         }); | |||
|  | 
 | |||
|  |         //渲染模板预览 | |||
|  |         function refreshContent() { | |||
|  |             var map = []; | |||
|  |             $(".template").each(function() { | |||
|  |                 var index = $(this).index(); | |||
|  |                 var key_value = $(this).children().find("input[name='tpl_keyword[]']").val(); | |||
|  |                 var name_value = $(this).children().find("input[name='tpl_name[]']").val(); | |||
|  |                 map[index] = {name:name_value, key:key_value}; | |||
|  |             }); | |||
|  | 
 | |||
|  |             if (map.length > 0) { | |||
|  |                 var content = ''; | |||
|  |                 for (var i=0; i < map.length; i++) { | |||
|  |                     var key = '{{'+map[i].key+'.DATA}}'; | |||
|  |                     var name = map[i].name; | |||
|  |                     if (map[i].key === undefined || map[i].key === '') { | |||
|  |                         key = ''; | |||
|  |                     } | |||
|  |                     if (map[i].name === undefined || map[i].name === '') { | |||
|  |                         name = ''; | |||
|  |                     } | |||
|  |                     content += name + ':' + key + "\n"; | |||
|  |                 } | |||
|  |                 $('#content').text(content); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |     }) | |||
|  | </script> |