{%extends file="common/widget/layoutlte/layout_lte.tpl"%}
{%block name="main-lte"%}
{%extends file="common/widget/table/table.tpl"%}
{%block name="main"%}
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="row row-lg">
<div class="col-sm-12" id="search">
<div class="col-md-2" style="padding-left: 0px">
<div class="input-group">
<span class="input-group-addon">ID</span>
<input type="number" class="form-control" min="0" name="id">
</div>
</div>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','运营名称')%}</span>
<input type="text" class="form-control" name="name">
</div>
</div>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','卡片类型')%}</span>
<select name="cardCode" class="form-control">
<option value="">全部</option>
{%foreach $card_type as $k => $v%}
<option value={%$k%}>{%$v%}</option>
{%/foreach%}
</select>
</div>
</div>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','运营位类型')%}</span>
<select name="type" class="form-control">
<option value="">全部</option>
{%foreach $operation_type as $k => $v%}
<option value={%$k%}>{%$v%}</option>
{%/foreach%}
</select>
</div>
</div>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','跳转类型')%}</span>
<select name="actionType" class="form-control actionType">
<option value="">全部</option>
{%foreach $action_type as $k=>$v%}
<option value="{%$k%}">{%$v%}</option>
{%/foreach%}
<option value="100">软件商店首页</option>
<option value="101">游戏中心首页</option>
<option value="102">APP详情页</option>
<option value="103">软件商店活动页</option>
<option value="104">游戏中心活动页</option>
<option value="44">SDK商城商品详情页</option>
<option value="45">SDK商城指定页面</option>
</select>
</div>
</div>
<div class="input-group-btn">
<button class="btn btn-primary" id="searchButton">
<i class="fa fa-search"></i>{%Yii::t('utility','搜索')%}
</button>
</div>
{%widget name="theme:widget/toolbar/add.tpl"%}
{%widget name="theme:widget/toolbar/edit.tpl"%}
{%widget name="theme:widget/toolbar/copy.tpl"%}
{%widget name="theme:widget/toolbar/delete.tpl"%}
<div id="toolbar">
</div>
<table id="table-flash" data-mobile-responsive="true" data-toggle="table"></table>
</div>
</div>
</div>
</div>
{%/block%}
{%/block%}
{%block name="modal"%}
<div class="modal inmodal" id="addModal" role="dialog" aria-hidden="true">
<div class="modal-dialog" style="width: 750px;">
<div class="modal-content animated bounceInRight">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">×</span><span class="sr-only">{%Yii::t('theme','关闭')%}</span>
</button>
<h4 class="modal-title">{%Yii::t('theme','新增')%}</h4>
</div>
<form class="form-horizontal m-t" id="add_form">
<div class="modal-body">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','卡片类型')%}</span>
<select name="cardCode" id="cardCode" class="form-control">
{%foreach $card_type as $k => $v%}
<option value={%$k%}>{%$v%}</option>
{%/foreach%}
</select>
</div>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','运营位类型')%}</span>
<select name="type" id="operate_type" class="form-control">
</select>
</div>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','运营名称')%}</span>
<input type="text" class="form-control" name="name" placeholder="后台展示使用">
</div>
</div>
<div class="form-group" id="title">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','名称1(主标题)')%}</span>
<input type="text" class="form-control" name="title" placeholder="限制15个字以内">
</div>
</div>
<div class="form-group" id="subTitle">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','名称2(副标题)')%}</span>
<input type="text" class="form-control" name="subTitle" placeholder="限制15个字以内">
</div>
</div>
<div class="form-group" id="desc_box">
<div class="input-group">
<span class="input-group-addon" id="desc_span">{%Yii::t('theme', '描述')%}</span>
<textarea name="desc" id="desc" class="form-control" placeholder="限制20个字以内"></textarea>
</div>
</div>
<div class="form-group" id="operate_activity_photo_print_tip">
<span style="font-weight: bold;">
图片说明:同款手机壳缩略图,由当前资源的“手机壳实物图”+默认机型图(A5)拼接生成
</span>
</div>
<div id="flash-media"> </div>
<div class="form-group" id="ticket_symbol">
<div class="input-group">
<span class="input-group-addon" style="border-right: 1px solid #E5E6E7;">{%Yii::t('theme','支持自动提取内容')%}</span>
{%foreach $ticketSymbol as $k => $v%}
<label class="dragItem non-point" data-text="{%$k%}" draggable="true">{%$v%}</label>
{%/foreach%}
</div>
<span style="color: red;">说明:自动提取内容仅支持标题、描述、收起文案</span>
</div>
<div class="form-group" id="symbol_title">
<div class="input-group">
<span class="input-group-addon symbol_title">{%Yii::t('theme','标题')%}</span>
<input type="text" class="form-control" name="symbol_title" placeholder="8个汉字、16个字符">
</div>
</div>
<div class="form-group" id="symbol_desc">
<div class="input-group">
<span class="input-group-addon symbol_desc">{%Yii::t('theme', '描述')%}</span>
<textarea name="symbol_desc" class="form-control" placeholder="12个汉字,24个字符"></textarea>
</div>
</div>
<div class="form-group" id="fold_text">
<div class="input-group">
<span class="input-group-addon fold_text">{%Yii::t('theme','收起文案-领取前')%}</span>
<input type="text" class="form-control" name="fold_text" placeholder="17个汉字,34个字符">
</div>
</div>
<div class="form-group" id="button_text">
<div class="input-group">
<span class="input-group-addon button_text">{%Yii::t('theme','按钮文案-领取前')%}</span>
<input type="text" class="form-control" name="button_text" placeholder="3个汉字,6个字符">
</div>
</div>
<div class="form-group" id="post_fold_text">
<div class="input-group">
<span class="input-group-addon post_fold_text">{%Yii::t('theme','收起文案-领取后')%}</span>
<input type="text" class="form-control" name="post_fold_text" placeholder="17个汉字,34个字符">
</div>
</div>
<div class="form-group" id="post_button_text">
<div class="input-group">
<span class="input-group-addon post_button_text">{%Yii::t('theme','按钮文案-领取后')%}</span>
<input type="text" class="form-control" name="post_button_text" placeholder="3个汉字,6个字符">
</div>
</div>
<div class="form-group" id="voucher_id">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','可币券配置ID')%}</span>
<select name="voucher_id" id="configVou" class="form-control"></select>
</div>
</div>
<div class="form-group" id="video">
<div class="input-group">
<span class="input-group-addon type-name">选择视频</span>
<input type="text" class="form-control list-txt no-null" readonly="" required="" name="video_name" value="">
<input type="text" class="form-control list-content content-property hidden" data-type="MEDIA" name="video_id" value="">
<input type="text" class="form-control video-url hidden" value="" name="video_url">
<input type="text" class="form-control video-thumbnail hidden" name="video_thumbnail" value="">
<input type="text" class="form-control hidden" name="resolution" value="">
<span class="input-group-btn">
<button type="button" class="btn btn-info" onclick="listPage(this,'MEDIA')">选择</button>
</span>
</div>
</div>
<div class="form-group" id="vip_banner_template">
<div class="input-group">
<span class="input-group-addon type-name">会员横条配置</span>
<div>
<button id="show_vip_banner" type="button" class="btn btn-primary" style="background: #00b7ee;border-color: #00b7ee;height: 35.76px;">展开配置
</button>
<span class="input-group-addon" id="filePicker1" style="display: inline-block;border: 0;padding: 0;">{%Yii::t('theme','选择文件')%}</span>
<a type="button" href="/static/theme/page/operate/resource-detail/template/vip_banner_config.xls">模板下载</a>
<input type="text" class="form-control" id="save_path" name="save_path" data-h5-errorid="save_path_error" readonly/>
</div>
</div>
</div>
<div class="form-group" id="vip_banner_template_default">
<div class="input-group">
<span class="input-group-addon type-name">会员横条兜底</span>
<div>
<button id="show_vip_banner_default" type="button" class="btn btn-primary" style="background: #00b7ee;border-color: #00b7ee;height: 35.76px;">展开配置
</button>
<span class="input-group-addon" id="filePicker2" style="display: inline-block;border: 0;padding: 0;">{%Yii::t('theme','选择文件')%}</span>
<a type="button" href="/static/theme/page/operate/resource-detail/template/vip_banner_config.xls">模板下载</a>
<input type="text" class="form-control" id="save_path_default" name="save_path_default" data-h5-errorid="save_path_error" readonly/>
</div>
</div>
</div>
<div class="form-group" id="buttonTxt">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','按钮文案')%}</span>
<input type="text" class="form-control" name="buttonTxt" value="查看" placeholder="限制4个字以内">
</div>
</div>
<div class="form-group jump-content" id="jump_type">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','跳转类型')%}</span>
<select name="actionType" class="form-control actionType">
</select>
</div>
<div class="input-group" id="jump-content">
<span class="input-group-addon">{%Yii::t('theme','跳转内容')%}</span>
<input type="text" class="form-control jump-content hidden con-id" name="action_content">
<input type="text" class="form-control jump-txt con-txt" name="action_content_text" readonly>
<input type="text" class="form-control jump-content hidden pkg_name" name="pkg_name">
<span class="input-group-btn"><button type="button" class="btn btn-info" id="jumpPageBtn" onclick="jumpPage(this)">选择</button></span>
</div>
<div class="input-group" id="jump-game">
<span class="input-group-addon">{%Yii::t('theme','跳转内容')%}</span>
<div class="input-group">
<input type="text" class="form-control " placeholder="{%Yii::t('theme','请输入应用ID,选择预约游戏App')%}"
id="app_name" name="app_name">
<div class="input-group-btn">
<button type="button" class="btn btn-white dropdown-toggle"
data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="app">
</ul>
</div>
</div>
</div>
</div>
<div class="form-group" id="content">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','内容')%}</span>
<input type="text" class="form-control" name="content" placeholder="请输入跳转链接">
</div>
</div>
<div class="form-group hidden" id="new-app">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','新游预约信息')%}</span>
<input type="text" class="form-control" name="book_info" placeholder="游戏名称:王者荣耀 预约期 XXXXX (仅作展示)">
</div>
</div>
<div id="sku_desc" style="color: red"> </div>
<div class="form-group default-jump-content" style="display: none;">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('theme','打底跳转')%}</span>
<select name="action_type1" class="form-control actionType">
{%foreach $action_type as $k=>$v%}
{%if $k!=24%}
<option value="{%$k%}">{%$v%}</option>
{%/if%}
{%/foreach%}
<option value="100">软件商店首页</option>
<option value="101">游戏中心首页</option>
<option value="102">APP详情页</option>
<option value="103">软件商店活动页</option>
<option value="104">游戏中心活动页</option>
</select>
</div>
<div class="input-group" id="jump-content1">
<span class="input-group-addon">{%Yii::t('theme','打底内容')%}</span>
<input type="text" class="form-control jump-content hidden con-id" name="action_content1">
<input type="text" class="form-control jump-txt con-txt" name="action_content1_text" readonly>
<span class="input-group-btn"><button type="button" class="btn btn-info" id="jumpPageBtn" onclick="jumpPage(this)">选择</button></span>
</div>
<div class="input-group" id="content1" style="display: none;">
<span class="input-group-addon">{%Yii::t('theme','打底内容')%}</span>
<input type="text" class="form-control" name="content1" placeholder="请输入跳转链接">
</div>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">{%Yii::t('utility','操作原因')%}</span>
<textarea id="operation_reason" name="operation_reason" class="form-control" data-h5-errorid="operation_error" required></textarea>
</div>
</div>
<input type="text" hidden="true" name="oper" id="oper" class="oper" value="add">
<input type="text" hidden="true" name="id" id="id">
</div>
<div class="modal-footer">
<button class="btn btn-white" data-dismiss="modal">{%Yii::t('utility','关闭')%}</button>
<input type="submit" class="btn btn-primary" value="{%Yii::t('utility','提交')%}">
</div>
</form>
</div>
</div>
</div>
<div class="modal inmodal fade" id="choose" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span
class="sr-only">Close</span></button>
<h4 class="modal-title">选择内容</h4>
</div>
<input class="hidden" type="text" id="contentID">
<iframe id="chooseCon" frameborder=0 width=100% height=500 marginheight=0 marginwidth=0 scrolling=yes></iframe>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="useCon()">使用选中的内容</button>
</div>
</div>
</div>
</div>
<div class="modal inmodal fade" id="list" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span
class="sr-only">Close</span></button>
<h4 class="modal-title">选择内容</h4>
</div>
<input class="hidden" type="text" id="listID">
<iframe id="listCon" frameborder=0 width=100% height=500 marginheight=0 marginwidth=0 scrolling=yes></iframe>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="useListCon()">使用选中的内容</button>
</div>
</div>
</div>
</div>
<div id="vip_banner_modal" style="display:none;">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#vip_banner_form_no_gift_tab" role="tab" data-toggle="tab">不赠送单条</a></li>
<li role="presentation"><a href="#vip_banner_form_have_gift_tab" role="tab" data-toggle="tab">有赠送单条</a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="vip_banner_form_no_gift_tab">
<form class="form-horizontal m-t" id="vip_banner_form" method="post">
<table class="table">
<thead>
<tr>
<th style="border-right: none;">支持自动提取内容</th>
<th style="border-right: none;border-top: none;text-align: left;" colspan="5">
{%foreach $vipSymbol as $k => $v%}
<label class="dragItem non-point" data-text="{%$k%}">{%$v%}</label>
{%/foreach%}
<span>(说明:支持提取会员后台配置的优惠字段和会员身份天数通配符,拖拽至下方配置文案内)</span>
</th>
</tr>
<tr>
<th>
<div>会员资源类型</div>
</th>
<th>
<div>会员身份状态</div>
</th>
<th>
<div>主文案({%$lengthLimit['mainText'] / 2%}个汉字,{%$lengthLimit['mainText']%}个字符)</div>
</th>
<th>
<div>副文案({%$lengthLimit['subText'] / 2%}个汉字,{%$lengthLimit['subText']%}个字符)</div>
</th>
<th>
<div>按钮({%$lengthLimit['buttonText'] / 2%}个汉字,{%$lengthLimit['buttonText']%}个字符)</div>
</th>
<th>
<div>收起文案({%$lengthLimit['putAwayText'] / 2%}个汉字,{%$lengthLimit['putAwayText']%}个字符)</div>
</th>
</tr>
</thead>
<tbody>
{%foreach $templateList as $k => $item%}
{%foreach $item['vipInfo'] as $sk => $sitem%}
<tr>
{%if $sk == 0%}
<td rowspan="{%count($item['vipInfo'])%}" label="{%$item['res_pay_type']%}">{%$item['res_pay_type_name']%}</td>
{%/if%}
<td label="{%$sitem['vip_status']%}">{%$sitem['vip_status_name']%}</td>
<td><input type="text" name="mainText[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="subText[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="buttonText[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="putAwayText[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
</tr>
{%/foreach%}
{%/foreach%}
</tbody>
</table>
</form>
</div>
<div role="tabpanel" class="tab-pane" id="vip_banner_form_have_gift_tab">
<form class="form-horizontal m-t" id="vip_banner_form_have_gift" method="post">
<table class="table">
<thead>
<tr>
<th style="border-right: none;">支持自动提取内容</th>
<th style="border-right: none;border-top: none;text-align: left;" colspan="5">
{%foreach $vipSymbol as $k => $v%}
<label class="dragItem non-point" data-text="{%$k%}">{%$v%}</label>
{%/foreach%}
<span>(说明:支持提取会员后台配置的优惠字段和会员身份天数通配符,拖拽至下方配置文案内)</span>
</th>
</tr>
<tr>
<th>
<div>会员资源类型</div>
</th>
<th>
<div>会员身份状态</div>
</th>
<th>
<div>主文案({%$lengthLimit['mainText'] / 2%}个汉字,{%$lengthLimit['mainText']%}个字符)</div>
</th>
<th>
<div>副文案({%$lengthLimit['subText'] / 2%}个汉字,{%$lengthLimit['subText']%}个字符)</div>
</th>
<th>
<div>按钮({%$lengthLimit['buttonText'] / 2%}个汉字,{%$lengthLimit['buttonText']%}个字符)</div>
</th>
<th>
<div>收起文案({%$lengthLimit['putAwayText'] / 2%}个汉字,{%$lengthLimit['putAwayText']%}个字符)</div>
</th>
</tr>
</thead>
<tbody>
{%foreach $templateList as $k => $item%}
{%foreach $item['vipInfo'] as $sk => $sitem%}
<tr>
{%if $sk == 0%}
<td rowspan="{%count($item['vipInfo'])%}" label="{%$item['res_pay_type']%}">{%$item['res_pay_type_name']%}</td>
{%/if%}
<td label="{%$sitem['vip_status']%}">{%$sitem['vip_status_name']%}</td>
<td><input type="text" name="mainText1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="subText1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="buttonText1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="putAwayText1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
</tr>
{%/foreach%}
{%/foreach%}
</tbody>
</table>
</form>
</div>
</div>
</div>
<div id="vip_banner_modal_default" style="display:none;">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#vip_banner_form_default_no_gift_tab" role="tab" data-toggle="tab">不赠送单条</a></li>
<li role="presentation"><a href="#vip_banner_form_default_have_gift_tab" role="tab" data-toggle="tab">有赠送单条</a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="vip_banner_form_default_no_gift_tab">
<form class="form-horizontal m-t" id="vip_banner_form_default" method="post">
<table class="table">
<thead>
<tr>
<th>
<div>会员资源类型</div>
</th>
<th>
<div>会员身份状态</div>
</th>
<th>
<div>主文案({%$lengthLimit['mainText'] / 2%}个汉字,{%$lengthLimit['mainText']%}个字符)</div>
</th>
<th>
<div>副文案({%$lengthLimit['subText'] / 2%}个汉字,{%$lengthLimit['subText']%}个字符)</div>
</th>
<th>
<div>按钮({%$lengthLimit['buttonText'] / 2%}个汉字,{%$lengthLimit['buttonText']%}个字符)</div>
</th>
<th>
<div>收起文案({%$lengthLimit['putAwayText'] / 2%}个汉字,{%$lengthLimit['putAwayText']%}个字符)</div>
</th>
</tr>
</thead>
<tbody>
{%foreach $templateList as $k => $item%}
{%foreach $item['vipInfo'] as $sk => $sitem%}
<tr>
{%if $sk == 0%}
<td rowspan="{%count($item['vipInfo'])%}" label="{%$item['res_pay_type']%}">{%$item['res_pay_type_name']%}</td>
{%/if%}
<td label="{%$sitem['vip_status']%}">{%$sitem['vip_status_name']%}</td>
<td><input type="text" name="mainText_default[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="subText_default[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="buttonText_default[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="putAwayText_default[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
</tr>
{%/foreach%}
{%/foreach%}
</tbody>
</table>
</form>
</div>
<div role="tabpanel" class="tab-pane" id="vip_banner_form_default_have_gift_tab">
<form class="form-horizontal m-t" id="vip_banner_form_default_have_gift" method="post">
<table class="table">
<thead>
<tr>
<th>
<div>会员资源类型</div>
</th>
<th>
<div>会员身份状态</div>
</th>
<th>
<div>主文案({%$lengthLimit['mainText'] / 2%}个汉字,{%$lengthLimit['mainText']%}个字符)</div>
</th>
<th>
<div>副文案({%$lengthLimit['subText'] / 2%}个汉字,{%$lengthLimit['subText']%}个字符)</div>
</th>
<th>
<div>按钮({%$lengthLimit['buttonText'] / 2%}个汉字,{%$lengthLimit['buttonText']%}个字符)</div>
</th>
<th>
<div>收起文案({%$lengthLimit['putAwayText'] / 2%}个汉字,{%$lengthLimit['putAwayText']%}个字符)</div>
</th>
</tr>
</thead>
<tbody>
{%foreach $templateList as $k => $item%}
{%foreach $item['vipInfo'] as $sk => $sitem%}
<tr>
{%if $sk == 0%}
<td rowspan="{%count($item['vipInfo'])%}" label="{%$item['res_pay_type']%}">{%$item['res_pay_type_name']%}</td>
{%/if%}
<td label="{%$sitem['vip_status']%}">{%$sitem['vip_status_name']%}</td>
<td><input type="text" name="mainText_default1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="subText_default1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="buttonText_default1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
<td><input type="text" name="putAwayText_default1[{%$item['res_pay_type']%}][{%$sitem['vip_status']%}]" class="form-control"></td>
</tr>
{%/foreach%}
{%/foreach%}
</tbody>
</table>
</form>
</div>
</div>
</div>
{%/block%}
{%block name="needjs"%}
{%require name="common:staticlib/js/plugins/layer/laydate/laydate.js"%}
{%require name="common:staticlib/js/plugins/validate/jquery.validate.min.js"%}
{%require name="common:staticlib/js/plugins/webuploader/webuploader.min.js"%}
{%require name="common:staticlib/js/uploader/multi-upload.js"%}
{%require name="common:staticlib/js/plugins/select2/select2.min.js"%}
{%require name="common:staticlib/js/utility.js"%}
{%require name="theme:page/operate/resource-detail/js/content.js"%}
{%require name="theme:page/operate/resource-detail/js/vip_banner_config.js"%}
<script>
var cardCode = {%json_encode($card_type)%};
var operationType = {%json_encode($operation_type)%};
var actionType = {%json_encode($action_type)%};
var picDomain = '{%$picDomain%}';
var cdoMedia = '{%$cdoMedia%}';
var card_type_operation_type_map = {%json_encode($card_type_operation_type_map)%};
var length_limit = {%json_encode($lengthLimit)%};
var mainTextLimit = length_limit["mainText"];
var subTextLimit = length_limit["subText"];
var buttonTextLimit = length_limit["buttonText"];
var putAwayTextLimit = length_limit["putAwayText"];
var vip_symbol = {%json_encode(array_keys($vipSymbol))%};
var ticket_symbol = {%json_encode(array_keys($ticketSymbol))%};
</script>
{%/block%}
{%block name="needcss"%}
{%require name="common:staticlib/css/plugins/webuploader/webuploader.css"%}
{%require name="common:staticlib/css/plugins/select2/select2.min.css"%}
<style>
select option:disabled{
color: #ccc;
}
.dropdown-menu th:nth-child(1) {
width: 80px;
}
.dropdown-menu th:nth-child(2) {
width: 240px;
}
.dropdown-menu th:nth-child(3) {
width: 240px;
}
.dropdown-menu td {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#vip_banner_form table td,#vip_banner_form table th,#vip_banner_form_default table td,#vip_banner_form_default table th,#vip_banner_form_have_gift table td,#vip_banner_form_have_gift table th,#vip_banner_form_default_have_gift table td,#vip_banner_form_default_have_gift table th {
border: 1px solid #e7eaec;
text-align: center;
}
#vip_banner_form .check_error,#vip_banner_form_default .check_error,#vip_banner_form_have_gift .check_error,#vip_banner_form_default_have_gift .check_error {
border: 1px solid red;
}
#vip_banner_form input.check_error.form-control:focus,#vip_banner_form_default input.check_error.form-control:focus,#vip_banner_form_have_gift input.check_error.form-control:focus,#vip_banner_form_default_have_gift input.check_error.form-control:focus {
border-color: red !important;;
}
.dragItem{
display: inline-block;
height: 30px;
line-height: 30px;
border: 1px solid #ddd;
padding: 0 8px;
border-radius: 5px;
font-weight: bold;
cursor: pointer;
margin-right: 5px;
margin-left: 5px;
}
.select2-container {
z-index: 2000;
display: block;
width:auto !important;
}
</style>
{%/block%}
var table = $('#table-flash');
table_config.url = location.pathname + '.json';
table_config.showColumns = true;
table_config.keyField = 'id';
table_config.queryParams = function(params) {
params.oper = "select";
if (!params.sort) {
params.sort = 'id';
params.order = 'desc'
}
var id = getQueryString('id');
id && ($('#search input[name="id"]').val(id));
$('#search').find('[name]').each(function() {
params[$(this).attr('name')] = $(this).val();
});
return params;
};
table_config.columns = [
{ field: 'choose', title: "选择", radio: true },
{ field: 'id', title: 'ID', sortable: true },
{ field: 'name', title: '运营名称' },
{ field: 'title', title: '名称1(主标题)' },
{ field: 'subTitle', title: '名称2(副标题)' },
{ field: 'cardCode', title: '卡片类型', formatter: function(value, row, inedx) {
return cardCode[value] ? cardCode[value] : "";
}},
{ field: 'type', title: '运营类型', formatter: function(value, row, inedx) {
return operationType[value] ? operationType[value] : "";
}},
{
field: 'picUrl',
title: '图片',
width: '5%',
formatter: function(value, row, inedx) {
var pic = '';
if (value) {
pic += '<span style="display:inline-block;width: 70px;margin-right: 3px;"><img src="' + (value.indexOf('http') !== -1 ? value : picDomain + value) + '" alt="图片" style="width:70px;max-height:80px;cursor: pointer;" οnclick="previewPic(this.src)" class="photo-lg"></span>';
}
return pic ? pic : "-";
}
},
{field: 'videoUrl', title: '视频', formatter: function(value, row, index) {
return value ? '<a target="_blank" href="' + cdoMedia + value + '">视频</a>' : '-';
}},
{
field: 'productPic',
title: '商品图片',
width: '5%',
formatter: function(value, row, inedx) {
var pic = '';
if (value) {
pic += '<span style="display:inline-block;width: 70px;margin-right: 3px;"><img src="' + (value.indexOf('http') !== -1 ? value : picDomain + value) + '" alt="图片" style="width:70px;max-height:80px;cursor: pointer;" οnclick="previewPic(this.src)" class="photo-lg"></span>';
}
return pic ? pic : "-";
}
},
{
field: 'bgPic',
title: '背景图片',
width: '5%',
formatter: function(value, row, inedx) {
var pic = '';
if (value) {
pic += '<span style="display:inline-block;width: 70px;margin-right: 3px;"><img src="' + (value.indexOf('http') !== -1 ? value : picDomain + value) + '" alt="图片" style="width:70px;max-height:80px;cursor: pointer;" οnclick="previewPic(this.src)" class="photo-lg"></span>';
}
return pic ? pic : "-";
}
},
{ field: 'buttonTxt', title: '按钮文案', formatter: function(value, row, index) {
return value ? value : '-';
} },
{ field: 'actionTypeText', title: '跳转类型' },
{ field: 'actionContentText', title: '跳转内容' },
{ field: 'desc', title: '描述', formatter: function(value, row, index) {
return value ? value : '-';
} },
{ field: 'create_time', title: '创建时间' },
{ field: 'create_operator', title: '创建者' },
{ field: 'update_time', title: '更新时间' },
{ field: 'update_operator', title: '更新者' },
];
var table_i18n = { en_US: {}, zh_CN: {} };
$.each(table_config.columns, function(i, o) {
if (language == 'en_US') {
table_i18n.en_US[o.field] = $.i18n.prop(o.field);
}
table_i18n.zh_CN[o.field] = o.title;
});
table_config.toolbar = 'toolbar';
ini_table_operation("table-flash", table_config.url, 'addModal', 'add_form', 'deleteButton', 'editButton', 'searchButton', false);
table.bootstrapTable(table_config);
var validate_config = {
rules: {
name: { required: true },
title: { required: true },
subTitle: { required: true },
desc: { required: true },
buttonTxt: { required: true },
content: { required: true },
action_content_text: { required: true },
app_name: { required: true },
operation_reason: { required: true }
},
messages: {
name: { required: $.i18n.prop('required') },
title: { required: $.i18n.prop('required') },
subTitle: { required: $.i18n.prop('required') },
desc: { required: $.i18n.prop('required') },
buttonTxt: { required: $.i18n.prop('required') },
content: { required: $.i18n.prop('required') },
action_content_text: { required: $.i18n.prop('required') },
app_name: { required: $.i18n.prop('required') },
operation_reason: { required: $.i18n.prop('required') }
},
submitHandler: function(form) {
event.preventDefault();
$('#submit').attr('disabled', true);
let flash_data = $('#add_form').serializeArray();
let cardCode = $('#add_form select#cardCode').val();
let operate_type = $('#add_form select#operate_type').val();
if (operate_type === "2" || operate_type === "3" || operate_type === "9" || operate_type === "10" || operate_type === "12") {
let flash_url = flashContent.getSplashUrlVal(0);
if (!flash_url) {
layer.msg('请上传图片');
return false;
}
flash_data.push({ name: 'picUrl', value: flash_url });
} else if (operate_type === "4") {
var productPic = flashContent.getSplashUrlVal(0);
var bgPic = flashContent.getSplashUrlVal(1);
if (!bgPic || !productPic) {
layer.msg('请上传图片');
return false;
}
flash_data.push({ name: 'bgPic', value: bgPic });
flash_data.push({ name: 'productPic', value: productPic });
var title = $("#add_form input[name=title]").val();
var subTitle = $("#add_form input[name=subTitle]").val();
var buttonTxt = $("#add_form input[name=buttonTxt]").val();
if (title.length > 15) {
layer.msg('主标题超出限制长度15');
return false;
}
if (subTitle.length > 15) {
layer.msg('副标题超出限制长度15');
return false;
}
if (buttonTxt.length > 4) {
layer.msg('按钮文案超出限制长度4');
return false;
}
}
if (operate_type === "4" && $("#desc").val().length > 20) {
layer.msg('描述超出限制长度20');
return false;
}
if ((operate_type === "5" || operate_type === "6") && !$("#add_form input[name=action_content]").val()) {
layer.msg('请选择预约游戏App');
return false;
}
if (operate_type === "7") {
if (cardCode === "1") {
var title = $("#add_form input[name=title]").val();
var subTitle = $("#add_form input[name=subTitle]").val();
var buttonTxt = $("#add_form input[name=buttonTxt]").val();
if (title.length > 15) {
layer.msg('主标题超出限制长度15');
return false;
}
if (subTitle.length > 15) {
layer.msg('副标题超出限制长度15');
return false;
}
if (buttonTxt.length > 4) {
layer.msg('按钮文案超出限制长度4');
return false;
}
} else if (cardCode === "3") {
var desc = $("#add_form textarea[name=desc]").val();
if (! $.trim(desc)) {
return layer.msg("请填写描述");
}
if (desc.length > 5) {
return layer.msg("描述超出限制长度5");
}
}
} else if (operate_type == 9) {
var check = checkVipBannerConfig();
if (! check) {
showVipBanner();
$('#vip_banner_modal a[href="#vip_banner_form_no_gift_tab"]').trigger('click');
return layer.msg("会员横条配置不赠送单条存在文案为空或长度超出限制");
}
var check = checkVipBannerConfig("default");
if (! check) {
showVipBanner(undefined, "default");
$('#vip_banner_modal_default a[href="#vip_banner_form_default_no_gift_tab"]').trigger('click');
return layer.msg("会员横条兜底配置不赠送单条存在文案为空或长度超出限制");
}
var check = checkVipBannerConfig1();
if (! check) {
showVipBanner();
$('#vip_banner_modal a[href="#vip_banner_form_have_gift_tab"]').trigger('click');
return layer.msg("会员横条配置有赠送单条存在文案为空或长度超出限制");
}
var check = checkVipBannerConfig1("default");
if (! check) {
showVipBanner(undefined, "default");
$('#vip_banner_modal_default a[href="#vip_banner_form_default_have_gift_tab"]').trigger('click');
return layer.msg("会员横条兜底配置有赠送单条存在文案为空或长度超出限制");
}
flash_data = flash_data.concat($('#vip_banner_form').serializeArray());
flash_data = flash_data.concat($('#vip_banner_form_default').serializeArray());
flash_data = flash_data.concat($('#vip_banner_form_have_gift').serializeArray());
flash_data = flash_data.concat($('#vip_banner_form_default_have_gift').serializeArray());
} else if (operate_type == 10) {
var symbol_title = $("#add_form input[name=symbol_title]");
var symbol_desc = $("#add_form textarea[name=symbol_desc]");
var fold_text = $("#add_form input[name=fold_text]");
var post_fold_text = $("#add_form input[name=post_fold_text]");
var button_text = $("#add_form input[name=button_text]");
var post_button_text = $("#add_form input[name=post_button_text]");
var voucher_id = $("#add_form select[name=voucher_id]");
if (! $.trim(symbol_title.val())) {
return layer.msg("标题不能为空");
}
if ( ! checkByteLength(symbol_title[0], mainTextLimit) ) {
return layer.msg("标题超出长度限制" + (mainTextLimit / 2) + "个汉字," + mainTextLimit + "个字符");
}
if (! $.trim(symbol_desc.val())) {
return layer.msg("描述不能为空");
}
if ( ! checkByteLength(symbol_desc[0], subTextLimit) ) {
return layer.msg("描述超出长度限制" + (subTextLimit / 2) + "个汉字," + subTextLimit + "个字符");
}
if (! $.trim(fold_text.val())) {
return layer.msg("收起文案-领取前不能为空");
}
if ( ! checkByteLength(fold_text[0], putAwayTextLimit) ) {
return layer.msg("收起文案-领取前超出长度限制" + (putAwayTextLimit / 2) + "个汉字," + putAwayTextLimit + "个字符");
}
if (! $.trim(post_fold_text.val())) {
return layer.msg("收起文案-领取后不能为空");
}
if ( ! checkByteLength(post_fold_text[0], putAwayTextLimit) ) {
return layer.msg("收起文案-领取后超出长度限制" + (putAwayTextLimit / 2) + "个汉字," + putAwayTextLimit + "个字符");
}
if (! $.trim(button_text.val())) {
return layer.msg("按钮文案-领取前不能为空");
}
if ( ! checkByteLength(button_text[0], buttonTextLimit) ) {
return layer.msg("按钮文案-领取前超出长度限制" + (buttonTextLimit / 2) + "个汉字," + buttonTextLimit + "个字符");
}
if (! $.trim(post_button_text.val())) {
return layer.msg("按钮文案-领取后不能为空");
}
if ( ! checkByteLength(post_button_text[0], buttonTextLimit) ) {
return layer.msg("按钮文案-领取后超出长度限制" + (buttonTextLimit / 2) + "个汉字," + buttonTextLimit + "个字符");
}
var config_vou = $('#configVou').select2('data');
if (! $.trim(voucher_id.val()) || config_vou.length == 0) {
return layer.msg("可币券配置ID不能为空");
}
flash_data.push({ name: 'voucher_text', value: config_vou[0]["text"] });
} else if (operate_type == 11) {
var picUrl = flashContent.getSplashUrlVal(0);
if (!picUrl) {
return layer.msg('请上传完成前图片');
}
flash_data.push({ name: 'picUrl', value: picUrl });
var symbol_title = $("#add_form input[name=symbol_title]");
var symbol_desc = $("#add_form textarea[name=symbol_desc]");
var fold_text = $("#add_form input[name=fold_text]");
var button_text = $("#add_form input[name=button_text]");
if (! $.trim(symbol_title.val())) {
return layer.msg("标题-完成前不能为空");
}
if ( ! checkByteLength(symbol_title[0], mainTextLimit) ) {
return layer.msg("标题-完成前超出长度限制" + (mainTextLimit / 2) + "个汉字," + mainTextLimit + "个字符");
}
if (! $.trim(symbol_desc.val())) {
return layer.msg("描述-完成前不能为空");
}
if ( ! checkByteLength(symbol_desc[0], subTextLimit) ) {
return layer.msg("描述-完成前超出长度限制" + (subTextLimit / 2) + "个汉字," + subTextLimit + "个字符");
}
if (! $.trim(fold_text.val())) {
return layer.msg("收起文案-完成前不能为空");
}
if ( ! checkByteLength(fold_text[0], putAwayTextLimit) ) {
return layer.msg("收起文案-完成前超出长度限制" + (putAwayTextLimit / 2) + "个汉字," + putAwayTextLimit + "个字符");
}
if (! $.trim(button_text.val())) {
return layer.msg("按钮文案-完成前不能为空");
}
if ( ! checkByteLength(button_text[0], buttonTextLimit) ) {
return layer.msg("按钮文案-完成前超出长度限制" + (buttonTextLimit / 2) + "个汉字," + buttonTextLimit + "个字符");
}
} else if (operate_type == 12) {
}
$.ajax({
type: "POST",
url: table_config.url,
data: flash_data,
success: function(msg) {
if (msg.errno === 0) {
layer.msg($.i18n.prop('operate_success'));
table.bootstrapTable('refresh');
$("#addModal").modal('hide');
} else {
layer.msg(msg.data.message);
}
$('#submit').attr('disabled', false);
},
error: function(error) {
$('#submit').attr('disabled', false);
layer.msg($.i18n.prop('net_error'));
}
});
return false;
},
debug: true,
};
var jq_validate = $('#add_form').validate(validate_config);
var flashContent = {};
flashContent.initMedia = function(tab_pixel = '461*820', tip_tr = ['图片(resl)']) {
var img_html = '';
var tip = '';
var tip_phone = '';
var file_size = 1024;
var ext = 'gif,jpg,jpeg,png,webp';
var mime = 'image/gif,image/png,image/jpeg';
tip_phone = '大小不超过1M';
tip = '选择图片';
var flashMedia = tab_pixel.split(",");
if (flashMedia) {
$.each(flashMedia, function(phone, resl) {
var data_pixel = resl.split('*');
data_pixel = data_pixel.join('#');
var tab_show = phone === 0 ? 'tab-not-show' : 'tab-show'
img_html += `
<div class="form-group ${tab_show}">
<div class="input-group">
<div class="upload-img-btn">
<div id="filePicker_${phone}">${tip}</div>
</div>
<input type="text" class="form-control flash-media-part" id="pic${phone}" data-pixel="${data_pixel}" readonly/>
<input type="hidden" class="form-control flash-media-part-md5" id="picMd5${phone}" data-pixel="${data_pixel}"/>
</div>
<img src="" height="80" class="preview_headpic_${phone} hidden" />
<div id="pic_list${phone}" class="uploader-list"></div>
</div>`;
});
}
$('#flash-media').html(img_html);
$.each(flashMedia, function(phone, resl) {
let phone_txt = phone.toString();
let resolution = resl.split('*');
$.each(resolution, function(i, val) {
resolution[i] = parseInt(val);
});
$('#filePicker_' + phone_txt).html(tip_tr[phone].replace('resl', resl));
$('#pic_list' + phone_txt).html('');
$('input#pic' + phone_txt).attr('placeholder', tip_phone.replace('phone', phone).replace('_X_', file_size));
let uploader = PORTAL.Upload({
picker: 'filePicker_' + phone_txt,
resultKeeper: 'pic' + phone_txt,
fsDomain: 'photo',
folder: '',
maxNum: 1,
maxSize: file_size,
fileSize: [
resolution
],
keepFileOriginName: false,
extensions: ext,
mimeTypes: mime
});
uploader.on('uploadSuccess', function(file, response) {
if (response.errno !== 0) {
showItemError(file.id, (response.data && response.data.message) || '上传失败(错误码:' + response.errno + ')');
return true;
}
let
$resultKeeper = $('#pic' + phone_txt),
uploadedVal = $.trim(response.data.uri_path);
$resultKeeper.val(uploadedVal).trigger('change').focus().blur();
$resultKeeper.siblings('.flash-media-part-md5').val(response.data.md5);
$('.preview_headpic_' + phone_txt).attr('src', response.data.url).removeClass('hidden');
});
});
};
flashContent.getSplashUrlVal = function(key) {
var arr = {};
var is_empty = true;
$('#add_form .flash-media-part').each(function(index, item) {
var _this = $(item);
var pixel = _this.data('pixel');
arr[index] = _this.val();
is_empty = (is_empty && !arr[key]);
});
return !is_empty ? arr[key] : false;
};
flashContent.getSplashUrlMd5Val = function(key) {
var arr = {};
var is_empty = true;
$('#add_form .flash-media-part-md5').each(function(index, item) {
var _this = $(item);
var pixel = _this.data('pixel');
arr[index] = _this.val();
is_empty = (is_empty && !arr[key]);
});
return !is_empty ? arr[key] : false;
};
$("#addModal").on("shown.bs.modal", function(e) {
var oper = $('#oper').val();
$("#filePicker1").children("div").eq(1).css({width:"100px", height:"35px"});
$("#filePicker2").children("div").eq(1).css({width:"100px", height:"35px"});
if (oper == "add") {
$('#addModal .modal-title').html('新增');
$('#add_form #cardCode').trigger("change");
} else if (oper == 'copy' || oper == "edit") {
var row_data = $.map(table.bootstrapTable('getSelections'), function(row) {
return row;
});
row_data = row_data[0];
$('#add_form #cardCode').val(row_data.cardCode).trigger("change");
$("#add_form #operate_type").val(row_data.contentType).trigger("change");
var type = $("#operate_type").val();
if ((type === "2" || type === "3" || type === "9" || type === "10" || type === "12") && row_data.picUrl) {
$("#pic0").val(row_data.picUrl);
$(".preview_headpic_0").attr("src", picDomain + row_data.picUrl);
$(".preview_headpic_0").removeClass("hidden");
}
if ( type === "3" ) {
$("#add_form input[name=video_name]").val(row_data.videoName);
$("#add_form input[name=video_id]").val(row_data.videoId);
$("#add_form input[name=video_url]").val(row_data.videoUrl);
$("#add_form input[name=video_thumbnail]").val(row_data.videoThumbnail);
} else if ( type === "4" ) {
$("#pic0").val(row_data.productPic);
$("#pic1").val(row_data.bgPic);
$(".preview_headpic_0").attr("src", picDomain + row_data.productPic);
$(".preview_headpic_1").attr("src", picDomain + row_data.bgPic);
$(".preview_headpic_0").removeClass("hidden");
$(".preview_headpic_1").removeClass("hidden");
} else if (type === "9") {
configWriteBack(row_data.textConfig);
configWriteBack(row_data.defaultTextConfig, "default");
if (row_data.textConfig1) {
configWriteBack1(row_data.textConfig1);
}
if (row_data.defaultTextConfig1) {
configWriteBack1(row_data.defaultTextConfig1, "default");
}
} else if (type === "10") {
$("#add_form input[name=symbol_title]").val(row_data.title);
$("#add_form textarea[name=symbol_desc]").val(row_data.desc);
$("#add_form input[name=fold_text]").val(row_data.foldText);
$("#add_form input[name=post_fold_text]").val(row_data.postFoldText);
$("#add_form input[name=button_text]").val(row_data.buttonText);
$("#add_form input[name=post_button_text]").val(row_data.postButtonText);
var option = "";
if (row_data.voucherId) {
option += `<option value="${row_data.voucherId}">${row_data.voucherText}</option>`;
}
$("#add_form #configVou").html(option);
$("#add_form #configVou").val(row_data.voucherId).trigger("change");
$("#add_form input[name=voucher_id]").val(row_data.voucherId);
} else if (type === "11") {
$("#pic0").val(row_data.picUrl);
$("#pic1").val(row_data.postPicUrl);
$(".preview_headpic_0").attr("src", picDomain + row_data.picUrl);
$(".preview_headpic_1").attr("src", picDomain + row_data.postPicUrl);
$(".preview_headpic_0").removeClass("hidden");
$(".preview_headpic_1").removeClass("hidden");
$("#add_form input[name=symbol_title]").val(row_data.title);
$("#add_form textarea[name=symbol_desc]").val(row_data.desc);
$("#add_form input[name=fold_text]").val(row_data.foldText);
$("#add_form input[name=button_text]").val(row_data.buttonText);
}
var cardCode = $('#add_form #cardCode').val();
if (cardCode === "3" && type === "7") {
$("#add_form textarea[name=desc]").val(row_data.title);
}
var ext = row_data["ext"] && JSON.parse(row_data["ext"]) ? JSON.parse(row_data["ext"])["content"] : [];
var ext1 = row_data["ext"] && JSON.parse(row_data["ext"]) ? JSON.parse(row_data["ext"])["content1"] : [];
$('#add_form select[name="actionType"]').val(row_data['actionType']);
var jump_type = $("#add_form select[name=actionType]").val();
$("#add_form select[name=actionType]").trigger("change");
if (jump_type === "103" || jump_type === "104" || jump_type === "44" || jump_type === "45") {
$('#add_form input[name="content"]').val(row_data["actionContent"]);
} else if (jump_type !== "100" && jump_type !== "101") {
$('#add_form input[name="action_content"]').val(ext["id"]);
$('#add_form input[name="action_content_text"]').val(ext["text"]);
$('#add_form input[name="app_name"]').val(row_data.app_name);
$('#add_form input[name="pkg_name"]').val(row_data.pkg_name);
}
if ( jump_type === "24" && row_data['actionType1'] ) {
$('#add_form select[name="action_type1"]').val(row_data['actionType1']);
$("#add_form select[name=action_type1]").trigger("change");
}
if (jump_type === "24" && (row_data['actionType1'] == "103" || row_data['actionType1'] == "104")) {
$('#add_form input[name="content1"]').val(row_data["actionContent1"]);
} else if (jump_type === "24" && (row_data['actionType1'] != "100" && row_data['actionType1'] != "101")) {
$('#add_form input[name="action_content1"]').val(ext1["id"]);
$('#add_form input[name="action_content1_text"]').val(ext1["text"]);
}
}
$("#add_form #content input[name=content]").trigger("keyup");
if (oper == "edit") {
$('#addModal .modal-title').html('编辑');
$('#id').val(row_data["id"]);
}
if (oper == 'copy') {
$('#addModal .modal-title').html('复制');
$('#oper').val('add');
}
});
$("#addModal").on("hidden.bs.modal", function() {
jq_validate.resetForm();
$('#add_form .error').removeClass('error');
$('#add_form')[0].reset();
$('.default-jump-content').css('display', 'none');
$('#vip_banner_form')[0].reset();
$("#vip_banner_form .check_error").removeClass("check_error");
$('#vip_banner_form_default')[0].reset();
$("#vip_banner_form_default .check_error").removeClass("check_error");
$('#vip_banner_form_have_gift')[0].reset();
$("#vip_banner_form_have_gift .check_error").removeClass("check_error");
$('#vip_banner_modal a[href="#vip_banner_form_no_gift_tab"]').trigger('click');
$('#vip_banner_form_default_have_gift')[0].reset();
$("#vip_banner_form_default_have_gift .check_error").removeClass("check_error");
$('#vip_banner_modal_default a[href="#vip_banner_form_default_no_gift_tab"]').trigger('click');
$('#configVou').html("").trigger('change');
});
var previewPic = function(url) {
layer.open({
type: 1,
title: '',
content: `<img src="${url}" height="800">`,
closeBtn: 0,
shadeClose: true,
offset: '100px',
area: ['auto', '800px'],
});
};
$('#add_form #operate_type').change(function(e) {
var cardCode = $('#add_form select[name="cardCode"]').val();
var type = $('#add_form select[name="type"]').val();
var option_str = "";
$('#desc_span').html('描述');
$("#add_form #jump_type").show();
if (type == 1) {
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").hide();
$("#add_form #video").hide();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="102">APP详情页</option>';
$("#desc").attr("placeholder", "");
} else if (type == 2) {
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").show();
$("#add_form #video").hide();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="1">主题详情</option>'
+ '<option value="2">主题专题</option>'
+ '<option value="3">字体详情</option>'
+ '<option value="4">字体专题</option>'
+ '<option value="5">壁纸详情</option>'
+ '<option value="6">壁纸专题</option>'
+ '<option value="7">链接</option>'
+ '<option value="8">混合专题</option>'
+ '<option value="9">主题榜单</option>'
+ '<option value="10">字体榜单</option>'
+ '<option value="12">链接专题</option>'
+ '<option value="15">铃声榜单</option>'
+ '<option value="18">单页面</option>'
+ '<option value="19">多页面</option>'
+ '<option value="23">壁纸榜单</option>'
+ '<option value="24">DeepLink</option>'
+ '<option value="27">视频铃声榜单</option>'
+ '<option value="32">动态壁纸榜单</option>'
+ '<option value="41">息屏详情</option>'
+ '<option value="42">息屏专题</option>'
+ '<option value="43">息屏榜单</option>'
+ '<option value="100">软件商店首页</option>'
+ '<option value="101">游戏中心首页</option>'
+ '<option value="102">APP详情页</option>'
+ '<option value="103">软件商店活动页</option>'
+ '<option value="104">游戏中心活动页</option>';
flashContent.initMedia("1080*300");
$("#desc").attr("placeholder", "");
} else if (type == 3) {
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").show();
$("#add_form #video").show();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="1">主题详情</option>'
+ '<option value="2">主题专题</option>'
+ '<option value="3">字体详情</option>'
+ '<option value="4">字体专题</option>'
+ '<option value="5">壁纸详情</option>'
+ '<option value="6">壁纸专题</option>'
+ '<option value="7">链接</option>'
+ '<option value="8">混合专题</option>'
+ '<option value="12">链接专题</option>'
+ '<option value="24">DeepLink</option>'
+ '<option value="41">息屏详情</option>'
+ '<option value="42">息屏专题</option>'
+ '<option value="100">软件商店首页</option>'
+ '<option value="101">游戏中心首页</option>'
+ '<option value="102">APP详情页</option>'
+ '<option value="103">软件商店活动页</option>'
+ '<option value="104">游戏中心活动页</option>';
flashContent.initMedia("1080*594");
$("#desc").attr("placeholder", "");
} else if (type == 4) {
$("#add_form #title").show();
$("#add_form #subTitle").show();
$("#add_form #flash-media").show();
$("#add_form #video").hide();
$("#add_form #buttonTxt").show();
$("#add_form #desc_box").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="11">本地跳转</option>'
+ '<option value="44">SDK商城商品详情页</option>'
+ '<option value="45">SDK商城指定页面</option>';
flashContent.initMedia("219*219,936*309", ['商品图片(resl)', '背景图片(resl)']);
$("#desc").attr("placeholder", "限制20个字以内");
} else if (type == 5 || type == 6) {
if (type == 6){
$('#desc_span').html('标题');
}
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").hide();
$("#add_form #video").hide();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="102">APP详情页</option>';
$("#desc").attr("placeholder", "");
} else if (type == 7) {
if (cardCode === "1") {
$("#add_form #title").show();
$("#add_form #subTitle").show();
$("#add_form #flash-media").hide();
$("#add_form #video").hide();
$("#add_form #buttonTxt").show();
$("#add_form #desc_box").hide();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="7">链接</option>'
+ '<option value="24">DeepLink</option>';
} else if (cardCode === "3") {
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").hide();
$("#add_form #video").hide();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").show();
option_str += '<option value="7">链接</option>'
+ '<option value="24">DeepLink</option>';
$("#desc").attr("placeholder", "限制5个字以内");
}
} else if (type == 9) {
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").show();
$("#add_form #video").hide();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").hide();
$("#add_form #vip_banner_template").show();
$("#add_form #vip_banner_template_default").show();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="7">链接</option>'
+ '<option value="24">DeepLink</option>'
+ '<option value="64">会员支付页</option>';
flashContent.initMedia("108*108");
} else if (type == 10) {
$("#add_form #flash-media").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").show();
$("#add_form span.symbol_title").html("标题");
$("#add_form span.symbol_desc").html("描述");
$("#add_form span.fold_text").html("收起文案-领取前");
$("#add_form span.button_text").html("按钮文案-领取前");
$("#add_form #symbol_title").show();
$("#add_form #symbol_desc").show();
$("#add_form #fold_text").show();
$("#add_form #post_fold_text").show();
$("#add_form #button_text").show();
$("#add_form #post_button_text").show();
$("#add_form #voucher_id").show();
$("#add_form #operate_activity_photo_print_tip").hide();
$("#add_form #jump_type").hide();
flashContent.initMedia("108*108");
} else if (type == 11) {
$("#add_form #flash-media").show();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form span.symbol_title").html("标题-完成前");
$("#add_form span.symbol_desc").html("描述-完成前");
$("#add_form span.fold_text").html("收起文案-完成前");
$("#add_form span.button_text").html("按钮文案-完成前");
$("#add_form #symbol_title").show();
$("#add_form #symbol_desc").show();
$("#add_form #fold_text").show();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").show();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
$("#add_form #jump_type").hide();
flashContent.initMedia("108*108", ['完成前图片(resl)']);
} else if (type == 12) {
$("#add_form #title").hide();
$("#add_form #subTitle").hide();
$("#add_form #flash-media").show();
$("#add_form #video").hide();
$("#add_form #buttonTxt").hide();
$("#add_form #desc_box").hide();
$("#add_form #vip_banner_template").hide();
$("#add_form #vip_banner_template_default").hide();
$("#add_form #ticket_symbol").hide();
$("#add_form #symbol_title").hide();
$("#add_form #symbol_desc").hide();
$("#add_form #fold_text").hide();
$("#add_form #post_fold_text").hide();
$("#add_form #button_text").hide();
$("#add_form #post_button_text").hide();
$("#add_form #voucher_id").hide();
$("#add_form #operate_activity_photo_print_tip").hide();
option_str += '<option value="1">主题详情</option>'
+ '<option value="2">主题专题</option>'
+ '<option value="3">字体详情</option>'
+ '<option value="4">字体专题</option>'
+ '<option value="5">壁纸详情</option>'
+ '<option value="6">壁纸专题</option>'
+ '<option value="7">链接</option>'
+ '<option value="8">混合专题</option>'
+ '<option value="9">主题榜单</option>'
+ '<option value="10">字体榜单</option>'
+ '<option value="11">本地跳转</option>'
+ '<option value="12">链接专题</option>'
+ '<option value="14">铃声专题</option>'
+ '<option value="15">铃声榜单</option>'
+ '<option value="16">快应用</option>'
+ '<option value="17">快游戏</option>'
+ '<option value="18">单页面</option>'
+ '<option value="19">多页面</option>'
+ '<option value="20">系统页面</option>'
+ '<option value="21">个性化推荐</option>'
+ '<option value="22">每日推荐</option>'
+ '<option value="23">壁纸榜单</option>'
+ '<option value="24">DeepLink</option>'
+ '<option value="25">视频铃声详情</option>'
+ '<option value="26">视频铃声专题</option>'
+ '<option value="27">视频铃声榜单</option>'
+ '<option value="28">自营铃声专题</option>'
+ '<option value="29">自营铃声榜单</option>'
+ '<option value="30">动态壁纸详情</option>'
+ '<option value="31">动态壁纸专题</option>'
+ '<option value="32">动态壁纸榜单</option>'
+ '<option value="33">订阅专题</option>'
+ '<option value="34">自营铃声详情</option>'
+ '<option value="35">混合榜单</option>'
+ '<option value="36">IP聚合页</option>'
+ '<option value="37">IP详情页</option>'
+ '<option value="38">编辑精选-专题聚合页</option>'
+ '<option value="39">编辑精选-专题详情页</option>'
+ '<option value="40">设计师主页(H5)</option>'
+ '<option value="41">息屏详情</option>'
+ '<option value="42">息屏专题</option>'
+ '<option value="43">息屏榜单</option>'
+ '<option value="44">SDK商城商品详情页</option>'
+ '<option value="45">SDK商城指定页面</option>'
+ '<option value="48">ART+详情页</option>'
+ '<option value="49">设计师主页</option>'
+ '<option value="50">编辑精选-专题聚合页(大卡片)</option>'
+ '<option value="51">IP分类页</option>'
+ '<option value="52">ART+列表页</option>'
+ '<option value="53">设计师聚合页</option>'
+ '<option value="54">名画馆</option>'
+ '<option value="55">游戏主页</option>'
+ '<option value="57">控制中心详情页</option>'
+ '<option value="58">控制中心专题</option>'
+ '<option value="59">控制中心榜单</option>'
+ '<option value="60">锁屏详情页</option>'
+ '<option value="61">锁屏专题</option>'
+ '<option value="62">锁屏榜单</option>'
+ '<option value="63">话题tag聚合页</option>'
;
flashContent.initMedia("240*240");
$("#desc").attr("placeholder", "限制5个字以内");
}
$("#add_form select[name=actionType]").html(option_str);
$("#add_form select[name=actionType]").trigger("change");
});
$('#add_form #cardCode').on("change", function() {
var cardCode = $(this).val();
setOperateTypeByCardCode(cardCode);
$('#add_form #operate_type').trigger("change");
});
$("#add_form select[name=actionType]").on("change", function() {
var jump_type = $(this).val();
var type = $('#add_form select[name="type"]').val();
if (jump_type == 100 || jump_type == 101) {
$("#add_form #jump-content").hide();
$("#add_form #jump-game").hide();
$("#add_form #content").hide();
} else if (jump_type == 103 || jump_type == 104 || jump_type == 44 || jump_type == 45) {
$("#add_form #jump-content").hide();
$("#add_form #jump-game").hide();
$("#add_form #content input[name=content]").attr("placeholder", jump_type == 44 ? "请输入SKU" : "请输入跳转链接,请务必保证链接的正确性")
$("#add_form #content").show();
} else {
$("#add_form #jump-content").show();
$("#add_form #jump-game").hide();
$("#add_form #content").hide();
if(type == 5 || type == 6){
$("#add_form #jump-content").hide();
$("#add_form #jump-game").show();
}
}
$('#add_form div.default-jump-content').css('display', 'none');
if (jump_type === '24') {
$('#add_form div.default-jump-content').css('display', 'block');
$('#add_form input[name="action_content_text"]').removeAttr('readonly');
$("#add_form select[name=action_type1]").trigger("change");
} else {
$('#add_form input[name="action_content_text"]').attr('readonly', true);
}
$("#jump-content .con-id").val("");
$("#jump-content .con-txt").val("");
$("#add_form input[name=pkg_name]").val("");
$("#add_form input[name=app_name]").val("");
$("#content input[name=content]").val("");
$("#sku_desc").html("");
});
$("#add_form select[name=action_type1]").on("change", function() {
var jump_type = $(this).val();
if (jump_type == 100 || jump_type == 101) {
$("#add_form #jump-content1").hide();
$("#add_form #content1").hide();
} else if (jump_type == 103 || jump_type == 104) {
$("#add_form #jump-content1").hide();
$("#add_form #content1 input[name=content1]").attr("placeholder", "请输入跳转链接,请务必保证链接的正确性")
$("#add_form #content1").show();
} else {
$("#add_form #jump-content1").show();
$("#add_form #content1").hide();
}
$("#jump-content1 .con-id").val("");
$("#jump-content1 .con-txt").val("");
$("#content1 input[name=content1]").val("");
});
var timer;
$("#add_form #content input[name=content]").on("keyup", function() {
var jump_type = $("#add_form select[name=actionType]").val();
if ("44" !== jump_type) {
return false;
}
var skuId = $(this).val();
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function() {
getSkuInfo(skuId);
}, 500);
});
function getSkuInfo(skuId) {
if (!$.trim(skuId)) {
$("#sku_desc").html("");
return false;
}
$.ajax({
"type": "GET",
"url": "/theme/operate/resource-detail/sku.json?skuId=" + skuId,
"cache": false,
"dataType": "json",
"success": function(ret) {
var skuId = $("#add_form #content input[name=content]").val();
if (!$.trim(skuId)) {
$("#sku_desc").html("");
return false;
}
if (0 === ret["errno"]) {
var data = ret["data"];
var info = [`<img src="${data['url']}" class="photo-lg" height="80">`, `商品名称:${data["name"]}`, `商品价格:${data['price']}`,
`市场价格:${data['marketPrice']}`, `商品库存:${data['stock']}`, "是否上架:" + (data['visible'] == 1 ? "是" : "否"),
"是否开售:" + (data['online'] == 1 ? "是" : "否")];
$("#sku_desc").html(info.join("<br />"));
}else {
$("#sku_desc").html("获取商品信息失败");
}
}
});
}
var jumpPage = function(self) {
var jumpType = $(self).parents('.form-group').find('select.actionType').val();
$('#choose').modal('show');
$(self).parents('.input-group').addClass('choice');
$('#contentID').val($(self).parents('.input-group').children('.jump-content').val());
document.getElementById("chooseCon").contentWindow.document.body.innerHTML = '';
var src = "";
var type = $("#operate_type").val();
if ( "102" === jumpType ) {
src = "/utility/api/api/jumpselect?channel_str=app&type=APP_DETAIL";
if(type == 5 || type == 6){
src = "/theme/operate/resource-detail/game-app";
}
} else {
src = '/utility/api/api/theme-jumpselect?type=' + jumpType;
}
$('#chooseCon').prop('src', src);
};
$('#choose').on("hidden.bs.modal", function(e) {
$('.choice').removeClass('choice');
if ($('#addModal').is(':visible')) {
$('body').addClass('modal-open');
}
});
var useCon = function() {
var myFrame = document.getElementById("chooseCon").contentWindow.document.body;
var $par = $(myFrame).find("input[type=radio]:checked").parents('tr');
var name = $par.children('td:eq(2)').text();
var id = $par.children('td:eq(1)').text();
var action_type = $("#add_form .actionType").val();
var type = $("#operate_type").val();
if (action_type === "102" && type != 5 && type != 6) {
id = $par.children('td:eq(4)').text();
}
if(type == 5 || type == 6){
var pkg_name = $par.children('td:eq(4)').text();
$('.choice').children('.pkg_name').val(pkg_name);
}
console.log(name + ',' + id);
$('.choice').children('.con-txt').val(name);
$('.choice').children('.con-id').val(id);
$('#choose').modal('hide');
};
function setVideoContent(video_url='',thumbnail='') {
$('input.video-url').val(video_url);
$('input.video-thumbnail').val(thumbnail);
console.log(video_url,thumbnail);
}
function listPage(self, key) {
$('#list').modal('show');
$(self).parents('.input-group').addClass('choice');
$('#listID').val($(self).parents('.input-group').children('.list-content').val());
document.getElementById("listCon").contentWindow.document.body.innerHTML = '';
$('#listCon').prop('src', '/theme/page/content/list?channel_str=oppo&oper=select&type=' + key);
}
function useListCon() {
var myFrame = document.getElementById("listCon").contentWindow.document.body;
var $par = $(myFrame).find("input[type=radio]:checked").parents('tr');
var name = $par.children('td:eq(2)').text();
var id = $par.children('td:eq(1)').text();
console.log(name + ',' + id);
$('.choice').children('.list-txt').val(name);
$('.choice').children('.list-content').val(id);
$('#list').modal('hide');
}
$('#list').on('shown.bs.modal', function() {
var iframe = document.getElementById("listCon");
if (iframe.attachEvent) {
iframe.attachEvent("onload", function() {
setTimeout(function() {
if ($('#listID').length != 0) {
var v = $('#listID').val();
var myFrame = document.getElementById("listCon").contentWindow.document.body;
$(myFrame).find('tr').each(function() {
var ID = $(this).children('td:eq(1)').text();
console.log(ID);
if (ID == v) {
$(this).find('input[type=radio]').prop('checked', 'true');
}
console.log(ID);
});
}
}, 3000);
});
} else {
iframe.onload = function() {
setTimeout(function() {
if ($('#listID').length != 0) {
var v = $('#listID').val();
var myFrame = document.getElementById("listCon").contentWindow.document.body;
$(myFrame).find('tr').each(function() {
var ID = $(this).children('td:eq(1)').text();
if (ID == v) {
$(this).find('input[type=radio]').prop('checked', 'true');
}
console.log(ID);
});
}
}, 3000);
};
}
});
$('#list').on('hide.bs.modal', function() {
$('.choice').removeClass('choice');
});
$("#btn_add").click(function() {
$('#add_form .oper').val('add');
});
$("#copyButton").click(function() {
var row_data = $.map(table.bootstrapTable('getSelections'), function(row) {
return row;
});
if (row_data[0]) {
var data = row_data[0];
var form_item = $("#add_form").find(':input');
form_item.each(function(n, item) {
if (item.type != "submit" && item.type != "button") {
if (data[item.name]) {
if (item.name != 'operation_reason') {
$(item).val(data[item.name]);
}
}
}
});
$('#add_form .oper').val('copy');
$("#addModal").modal("show");
} else {
layer.msg($.i18n.prop("select_item"));
}
});
$("#editButton").click(function() {
var row_data = $.map(table.bootstrapTable('getSelections'), function(row) {
return row;
});
if (row_data[0]) {
var data = row_data[0];
var form_item = $("#add_form").find(':input');
form_item.each(function(n, item) {
if (item.type != "submit" && item.type != "button") {
if (data[item.name]) {
if (item.name != 'operation_reason') {
$(item).val(data[item.name]);
}
}
}
});
$('#add_form .oper').val('edit');
$("#addModal").modal("show");
} else {
layer.msg($.i18n.prop("select_item"));
}
});
function checkStringLength(string, limit) {
let len = 0;
for (let i = 0; i < string.length; i++) {
if (string.charCodeAt(i) > 127 || string.charCodeAt(i) == 94) {
len += 1.5;
} else {
len++;
}
}
if (len > limit) {
return false;
}
return true;
}
$("#add_form").on('mouseover','.photo-lg',function(){
var _src = $(this).attr('src');
lastPicTipsIndex = layer.tips(
'<img class="designer-works-pic" src="'+_src+'" style="max-width:600px">',
this,
{maxWidth :'600px'}
);
})
.on('mouseout','.photo-lg',function(){
layer.close(lastPicTipsIndex);
});
$('#app_name').bsSuggest({
url: "/theme/operate/resource-detail/game-app.json",
getDataMethod: 'url',
effectiveFields: ['id', 'name', 'pkg_name'],
effectiveFieldsAlias: {id: "ID", name: "名称", pkg_name: "包名"},
showHeader: true,
allowNoKeyword: true,
multiWord: false,
showBtn: false,
idField: 'id',
keyField: 'name',
fnAdjustAjaxParam: function (keyword, opts) {
return {
method: 'get',
data: {
id: keyword
}
};
},
processData: function (json) {
$("#add_form input[name=action_content]").val("");
$("#add_form input[name=action_content_text]").val("");
$("#add_form input[name=pkg_name]").val("");
var i, len, data = {value: []};
if (!json || !json.data.rows || json.data.rows.length === 0) {
return false
}
len = json.data.rows.length;
for (i = 0; i < len; i++) {
data.value.push({
id: json.data.rows[i]['id'],
name: json.data.rows[i]['name'],
description: json.data.rows[i]['description'],
pkg_name: json.data.rows[i]['pkg_name'],
})
}
return data
}
}).on('onSetSelectValue', function (e, keyword, data) {
console.log(data);
$("#add_form input[name=action_content]").val(data.id);
$("#add_form input[name=action_content_text]").val(data.name);
$("#add_form input[name=pkg_name]").val(data.pkg_name);
});
function setOperateTypeByCardCode(cardCode) {
var operationTypeList = card_type_operation_type_map[cardCode];
var options = "";
$.each(operationTypeList, function(k, v) {
options += `<option value=${k}>${v}</option>`;
});
$("#add_form #operate_type").html(options);
}
$('#configVou').select2({
placeholder: "请选择",
language: "zh-CN",
allowClear:true,
ajax: {
url: '/theme/operate/common/ticket.json',
dataType: 'json',
delay: 250,
data: function (params) {
var query = {
keyword : params.term,
oper: 'select',
amount_fixed: 1,
pagesize : 10,
page : params.page || 1,
offset: ((params.page || 1) - 1) * 10,
limit: 10,
};
return query;
},
processResults: function (data, params) {
var data = data.data;
params.page = params.page || 1;
var rows = [];
for (var item of data.rows) {
rows.push({id: item.id, text: item.text + "(" + item.id + ")", effective_time: item.effective_time, expire_time: item.expire_time});
}
return {
results: rows,
pagination: {
more: (params.page * 10) < data.total
}
};
}
},
escapeMarkup: function (markup) { return markup; }
});
(function initDrag() {
var el_item = document.querySelectorAll('.dragItem');
var el_content = document.querySelector('textarea[name="content"]');
el_item.forEach(item => {
item.setAttribute('draggable',true);
item.addEventListener('dragstart',function (event) {
event.dataTransfer.setData("Text",event.target.dataset.text);
});
});
$("#add_form :input").on("drop", function(event) {
var operate_type = $("#add_form #operate_type").val();
if ("10" === operate_type && !["symbol_title", "symbol_desc", "fold_text", "post_fold_text"].includes($(this).attr("name"))) {
layer.msg("该文本框不支持自动提取内容");
event.preventDefault();
}
if ("11" === operate_type && !["post_title", "post_desc", "post_fold_text"].includes($(this).attr("name"))) {
layer.msg("该文本框不支持自动提取内容");
event.preventDefault();
}
});
})();
$(function() {
var upload1 = PORTAL.Upload({
picker: 'filePicker1',
resultKeeper: 'save_path',
fsDomain: 'cdoDomain',
maxNum: 1,
keepFileOriginName: false,
extensions: 'xlsx,xls',
});
upload1.on('uploadSuccess', function (file, response) {
$.ajax({
url: '/theme/operate/resource-detail/vip-banner-import.json',
data: {save_path: response.data.url, oper: "import", operation_reason: "会员横条导入文件"},
type: 'post',
success: function(data) {
var res = data.data;
if (data.errno != 0) {
layer.msg(res.message);
return;
}
showVipBanner(res.detail_config);
configWriteBack1(res.detail_config1);
},
error: function() {
layer.msg('操作失败!');
layer.closeAll('loading');
}
});
});
var upload2 = PORTAL.Upload({
picker: 'filePicker2',
resultKeeper: 'save_path_default',
fsDomain: 'cdoDomain',
maxNum: 1,
keepFileOriginName: false,
extensions: 'xlsx,xls',
});
upload2.on('uploadSuccess', function (file, response) {
$.ajax({
url: '/theme/operate/resource-detail/vip-banner-import.json',
data: {save_path: response.data.url, oper: "import", operation_reason: "会员横条导入文件"},
type: 'post',
success: function(data) {
var res = data.data;
if (data.errno != 0) {
layer.msg(res.message);
return;
}
showVipBanner(res.detail_config, "default");
configWriteBack1(res.detail_config1, "default");
},
error: function() {
layer.msg('操作失败!');
layer.closeAll('loading');
}
});
});
$("#vip_banner_form input[name^=mainText]").on("keyup", function() {
if (! checkByteLength(this, mainTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default input[name^=mainText]").on("keyup", function() {
if (! checkByteLength(this, mainTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, subTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, subTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form input[name^=buttonText]").on("keyup", function() {
if (! checkByteLength(this, buttonTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, buttonTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form input[name^=putAwayText]").on("keyup", function() {
if (! checkByteLength(this, putAwayTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, putAwayTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_have_gift input[name^=mainText]").on("keyup", function() {
if (! checkByteLength(this, mainTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default_have_gift input[name^=mainText]").on("keyup", function() {
if (! checkByteLength(this, mainTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_have_gift input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, subTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default_have_gift input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, subTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_have_gift input[name^=buttonText]").on("keyup", function() {
if (! checkByteLength(this, buttonTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default_have_gift input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, buttonTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_have_gift input[name^=putAwayText]").on("keyup", function() {
if (! checkByteLength(this, putAwayTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
$("#vip_banner_form_default_have_gift input[name^=subText]").on("keyup", function() {
if (! checkByteLength(this, putAwayTextLimit) || ! $.trim($(this).val())) {
$(this).addClass("check_error");
} else {
$(this).removeClass("check_error");
}
});
});
$("#show_vip_banner").on("click", function() {
showVipBanner();
});
$("#show_vip_banner_default").on("click", function() {
showVipBanner(undefined, "default");
});
function showVipBanner(data, vip_banner_modal) {
layer.open({
type: 1,
title: "default" === vip_banner_modal ? "会员横条兜底" : "会员横条配置",
content: "default" === vip_banner_modal ? $('#vip_banner_modal_default') : $('#vip_banner_modal'),
btn: ['收缩配置'],
closeBtn: 1,
area: ['1600px', '800px'],
offset: '20px',
success: function(index) {
if (data) {
configWriteBack(data, vip_banner_modal);
layer.msg("请确认导入的配置是否正确!");
}
},
yes: function (index, layero) {
layer.close(index);
},
cancel: function (index) {
}
});
}
function checkByteLength(self, limit, minLimit) {
var len = 0;
var val = $(self).val();
val = filterSymbol(val);
for (var i=0; i<val.length; i++) {
len += val.charCodeAt(i)>127 || val.charCodeAt(i) == 94 ? 2 : 1;
}
if (len > limit && undefined !== limit || len < minLimit && undefined !== minLimit) {
return false;
}
return true;
}
function filterSymbol(word) {
for (var item of vip_symbol) {
word = word.replaceAll(item, "");
}
for (var item of ticket_symbol) {
word = word.replaceAll(item, "");
}
return word;
}
function configWriteBack(detailConfig, vip_banner_modal) {
var detailConfig = JSON.parse(detailConfig) || [];
$.each(detailConfig, function(k, item) {
if ("default" === vip_banner_modal) {
var mainTextName = "mainText_default\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var mainTextValue = item["mainText"];
var subTextName = "subText_default\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var subTextValue = item["subText"];
var buttonTextName = "buttonText_default\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var buttonTextValue = item["buttonText"];
var putAwayTextName = "putAwayText_default\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var putAwayTextValue = item["putAwayText"];
$("#vip_banner_form_default input[name=" + mainTextName + "]").val(mainTextValue).trigger("keyup");
$("#vip_banner_form_default input[name=" + subTextName + "]").val(subTextValue).trigger("keyup");
$("#vip_banner_form_default input[name=" + buttonTextName + "]").val(buttonTextValue).trigger("keyup");
$("#vip_banner_form_default input[name=" + putAwayTextName + "]").val(putAwayTextValue).trigger("keyup");
} else {
var mainTextName = "mainText\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var mainTextValue = item["mainText"];
var subTextName = "subText\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var subTextValue = item["subText"];
var buttonTextName = "buttonText\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var buttonTextValue = item["buttonText"];
var putAwayTextName = "putAwayText\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var putAwayTextValue = item["putAwayText"];
$("#vip_banner_form input[name=" + mainTextName + "]").val(mainTextValue).trigger("keyup");
$("#vip_banner_form input[name=" + subTextName + "]").val(subTextValue).trigger("keyup");
$("#vip_banner_form input[name=" + buttonTextName + "]").val(buttonTextValue).trigger("keyup");
$("#vip_banner_form input[name=" + putAwayTextName + "]").val(putAwayTextValue).trigger("keyup");
}
});
}
function checkVipBannerConfig(vip_banner_modal) {
var modal = "default" === vip_banner_modal ? $('#vip_banner_form_default') : $('#vip_banner_form');
modal.find("input[name^=mainText]").each(function() {
var mainText = $(this).val();
if (! $.trim(mainText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, mainTextLimit) ) {
$(this).addClass("check_error");
}
});
modal.find("input[name^=subText]").each(function() {
var subText = $(this).val();
if (! $.trim(subText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, subTextLimit) ) {
$(this).addClass("check_error");
}
});
modal.find("input[name^=buttonText]").each(function() {
var buttonText = $(this).val();
if (! $.trim(buttonText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, buttonTextLimit) ) {
$(this).addClass("check_error");
}
});
modal.find("input[name^=putAwayText]").each(function() {
var putAwayText = $(this).val();
if (! $.trim(putAwayText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, putAwayTextLimit) ) {
$(this).addClass("check_error");
}
});
if (modal.find(".check_error").length > 0) {
return false;
}
return true;
}
function configWriteBack1(detailConfig, vip_banner_modal) {
var detailConfig = JSON.parse(detailConfig) || [];
$.each(detailConfig, function(k, item) {
if ("default" === vip_banner_modal) {
var mainTextName = "mainText_default1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var mainTextValue = item["mainText"];
var subTextName = "subText_default1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var subTextValue = item["subText"];
var buttonTextName = "buttonText_default1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var buttonTextValue = item["buttonText"];
var putAwayTextName = "putAwayText_default1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var putAwayTextValue = item["putAwayText"];
$("#vip_banner_form_default_have_gift input[name=" + mainTextName + "]").val(mainTextValue).trigger("keyup");
$("#vip_banner_form_default_have_gift input[name=" + subTextName + "]").val(subTextValue).trigger("keyup");
$("#vip_banner_form_default_have_gift input[name=" + buttonTextName + "]").val(buttonTextValue).trigger("keyup");
$("#vip_banner_form_default_have_gift input[name=" + putAwayTextName + "]").val(putAwayTextValue).trigger("keyup");
} else {
var mainTextName = "mainText1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var mainTextValue = item["mainText"];
var subTextName = "subText1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var subTextValue = item["subText"];
var buttonTextName = "buttonText1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var buttonTextValue = item["buttonText"];
var putAwayTextName = "putAwayText1\\[" + item["resPayType"] + "\\]\\[" + item["vipStatus"] + "\\]";
var putAwayTextValue = item["putAwayText"];
$("#vip_banner_form_have_gift input[name=" + mainTextName + "]").val(mainTextValue).trigger("keyup");
$("#vip_banner_form_have_gift input[name=" + subTextName + "]").val(subTextValue).trigger("keyup");
$("#vip_banner_form_have_gift input[name=" + buttonTextName + "]").val(buttonTextValue).trigger("keyup");
$("#vip_banner_form_have_gift input[name=" + putAwayTextName + "]").val(putAwayTextValue).trigger("keyup");
}
});
}
function checkVipBannerConfig1(vip_banner_modal) {
var modal = "default" === vip_banner_modal ? $('#vip_banner_form_default_have_gift') : $('#vip_banner_form_have_gift');
modal.find("input[name^=mainText]").each(function() {
var mainText = $(this).val();
if (! $.trim(mainText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, mainTextLimit) ) {
$(this).addClass("check_error");
}
});
modal.find("input[name^=subText]").each(function() {
var subText = $(this).val();
if (! $.trim(subText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, subTextLimit) ) {
$(this).addClass("check_error");
}
});
modal.find("input[name^=buttonText]").each(function() {
var buttonText = $(this).val();
if (! $.trim(buttonText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, buttonTextLimit) ) {
$(this).addClass("check_error");
}
});
modal.find("input[name^=putAwayText]").each(function() {
var putAwayText = $(this).val();
if (! $.trim(putAwayText)) {
$(this).addClass("check_error");
}
if ( ! checkByteLength(this, putAwayTextLimit) ) {
$(this).addClass("check_error");
}
});
if (modal.find(".check_error").length > 0) {
return false;
}
return true;
}
<?php
namespace theme\modules\operate\controllers;
use common\controllers\BasicController;
use common\extensions\Common;
use common\models\CommonModel;
use theme\exception\ThemeErrMap;
use theme\exception\ThemeException;
use theme\modules\operate\models\ResourceDetail;
use theme\modules\operate\models\ResourceDetailDelivery;
use Yii;
use PHPExcel;
use PHPExcel_IOFactory;
class ResourceDetailController extends BasicController
{
public function actionIndex($oper,$channel_id,$channel_str)
{
if ($this->_ext === 'json') {
$model = new ResourceDetailDelivery();
if ( in_array( $oper, ['add', 'edit'] ) ) {
$params = Common::params();
$model->load( $params, '' );
if ( ! $model->validate() ) {
throw new ThemeException( ThemeErrMap::ERROR_PARAMS, implode( '', $model->getFirstErrors() ) );
}
}
$this->doc = $model->$oper();
}else{
$this->doc['resource_type'] = ResourceDetailDelivery::$resourceType;
$this->doc['channel_id'] = $channel_id;
$this->doc['channel_str'] = $channel_str;
$this->doc['resource_limit'] = CommonModel::getDictStrByKey( ResourceDetailDelivery::DICT_RESOURCE_NUM_LIMIT );
$this->doc['card_type'] = ResourceDetail::$cardType;
}
}
public function actionOppo()
{
$this->runAction('index',['oper'=>$this->oper,'channel_id'=>2301,'channel_str'=>'oppo']);
}
public function actionContent( $oper, $channel_id ) {
$vipBannerConfig = new VipBannerConfig();
if ( $this->_ext == 'json' ) {
$model = new ResourceDetail();
if ( in_array( $oper, ['add', 'edit'] ) ) {
$params = Common::params();
$model->load( $params, '' );
if ( ! $model->validate() ) {
throw new ThemeException( ThemeErrMap::ERROR_PARAMS, implode( '', $model->getFirstErrors() ) );
}
}
$this->doc = $model->$oper();
} else {
$this->doc['card_type'] = ResourceDetail::$cardType;
$this->doc['operation_type'] = ResourceDetail::$operationType;
$this->doc['action_type'] = ResourceDetail::jumpType($channel_id);
$this->doc['picDomain'] = Yii::$app->params['photo']['url'];
$this->doc['cdoMedia'] = Yii::$app->params['cdoMedia']['url'];
$this->doc['card_type_operation_type_map'] = ResourceDetail::$cardTypeOperationTypeMap;
$this->doc['lengthLimit'] = VipBannerConfig::$lengthLimit;
$this->doc['templateList'] = VipBannerConfig::$templateList;
$this->doc['vipSymbol'] = VipBannerConfig::$vipSymbol;
$this->doc['ticketSymbol'] = VipBannerConfig::$ticketSymbol;
if (Yii::$app->request->get('operation','') == 'choose'){
$this->template = '/operate/resource-detail/choose-content.tpl';
}
}
}
public function actionOppoContent()
{
$this->runAction('content',['oper'=>$this->oper,'channel_id'=>2301]);
}
public function actionSku() {
if ( $this->_ext == 'json' ) {
ResourceDetail::getSkuById();
}
}
public function actionContentDetail()
{
$this->doc = ResourceDetailDelivery::getContentDetail();
}
public function actionMigration() {
ResourceDetailDelivery::migration();
}
public function actionGameApp()
{
if ($this->_ext == 'json') {
$model = new ResourceDetail();
$this->doc = $model->getGameApp();
}
}
public function actionGameCard()
{
if ($this->_ext == 'json') {
@$oper = $this->oper;
$model = new ResourceDetail();
$action = $oper . 'GameCard';
$this->doc = $model->$action();
} else {
$this->doc['picDomain'] = Yii::$app->params['photo']['url'];
}
}
public function actionExport()
{
if ($this->_ext == 'json') {
$user = Yii::$app->session['userInfo']['real_name'];
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator($user)
->setLastModifiedBy($user)
->setTitle('外显资源模板')
->setSubject('外显资源模板')
->setDescription('外显资源模板')
->setKeywords("excel")
->setCategory("theme file");
$objPHPExcel->getActiveSheet()->setTitle('外显资源');
$active_sheet = $objPHPExcel->setActiveSheetIndex(0);
$active_sheet
->setCellValue('A1', '资源ID')
->setCellValue('B1', '资源类型');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A2', 1000015)
->setCellValue('B2', '主题');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A3', 1111115)
->setCellValue('B3', '字体');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 1123215)
->setCellValue('B4', '壁纸');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=外显资源模板' . date("YmdHi") . '.xlsx');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}
}
public function actionBindGameHome()
{
if ($this->_ext == 'json') {
@$oper = $this->oper;
$model = new ResourceDetail();
$action = $oper . 'BindGame';
$this->doc = $model->$action();
}
}
public function actionGameMaterial()
{
if ($this->_ext == 'json') {
$model = new ResourceDetail();
$this->doc = $model->getGameMaterial();
}
}
public function actionVipBannerImport() {
if ( $this->_ext == 'json' ) {
$model = new VipBannerConfig();
$this->doc = $model->import();
}
}
}