108 lines
4.8 KiB
PHP
108 lines
4.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Any
|
|
* @description KISS
|
|
* @date 2019-2-15
|
|
* @version 1.0.0
|
|
*/
|
|
|
|
?>
|
|
<script id="pick_link_html" type="text/html">
|
|
<div class="pick-link-panel">
|
|
<div class="pick-link-panel-body">
|
|
<div class="input-row layui-mb-15 layui-row layui-clearfix">
|
|
<label class="layui-col-sm2">选择链接</label>
|
|
<div class="layui-col-sm10">
|
|
<select class="form-control pick-link-list">
|
|
<?php foreach($links as $index => $item):?>
|
|
<option value="<?=$index?>"><?=$item["name"]?></option>
|
|
<?php endforeach;?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="input-row-param layui-mb-15 layui-hide layui-row">
|
|
<label class="layui-col-sm2">{}</label>
|
|
<div class="layui-col-sm10">
|
|
<input class="form-control param-input" data-key="{}">
|
|
<p class="tip">{}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pick-link-panel-footer layui-text-center layui-mt-15 layui-mb-15">
|
|
<a class="layui-btn layui-btn-sm cancel-btn " href="javascript:;">取消</a>
|
|
<a class="layui-btn layui-btn-sm confirm-btn" href="javascript:;">确定</a>
|
|
</div>
|
|
</div>
|
|
</script>
|
|
<script>
|
|
<?php $this->beginBlock('js_script_wrap') ?>
|
|
$(document).ready(function(){
|
|
//选择链接
|
|
$(".layui-form").on("click","<?=$link_select_btn?>",function(){
|
|
var content = $("#pick_link_html").html();
|
|
var links = '<?= json_encode($links)?>';
|
|
links = JSON.parse(links);
|
|
layer.open({
|
|
type: 1,
|
|
title:'选择链接',
|
|
offset:'50px',
|
|
area: ['560px', '300px'], //宽高
|
|
content: content,
|
|
success:function(layero, index){
|
|
//console.log(layero, index);
|
|
var url = null;
|
|
var params = {};
|
|
var selected_index = 0;
|
|
$('.pick-link-panel').on('change','.pick-link-list',function(){
|
|
var index = $(this).val();
|
|
index = index * 1;
|
|
selected_index = index;
|
|
var link = links[index];
|
|
//console.log(link)
|
|
url = link.link;
|
|
if(link.params.length != 0){
|
|
var param_html_template = $('.pick-link-panel .input-row-param.layui-hide').html();
|
|
//remove
|
|
$(".pick-link-panel .input-row-param").each(function(index){
|
|
if(index > 0){
|
|
$(".pick-link-panel .input-row-param").eq(index).remove();
|
|
}
|
|
});
|
|
//add
|
|
var param_html = '';
|
|
for(var i in link.params){
|
|
var html = '<div class="input-row-param layui-mb-15 layui-row">{}</div>'.format(param_html_template.format(link.params[i]['key'],link.params[i]['key'],link.params[i]['desc']));
|
|
param_html += html;
|
|
}
|
|
$('.pick-link-panel .input-row-param.layui-hide').after(param_html);
|
|
}
|
|
});
|
|
$('.pick-link-panel').on('click','.confirm-btn',function(){
|
|
url = links[selected_index]['link'];
|
|
var c = $(".pick-link-panel .input-row-param").length;
|
|
$(".pick-link-panel .input-row-param").each(function(index){
|
|
if(index > 0){
|
|
var key = $(".pick-link-panel .input-row-param").eq(index).find('.param-input').attr('data-key');
|
|
var value = $(".pick-link-panel .input-row-param").eq(index).find('.param-input').val();
|
|
params[key] = value;
|
|
//console.log(params)
|
|
}
|
|
});
|
|
var l = wrx.object_length(params);
|
|
url = l == 0 ? url : url + '?' + wrx.object_to_url_params(params);
|
|
$('<?=$link_input_class?>').val(url);
|
|
layer.close(index);
|
|
})
|
|
$('.pick-link-panel').on('click','.cancel-btn',function(){
|
|
layer.close(index);
|
|
});
|
|
}
|
|
});
|
|
});
|
|
})
|
|
|
|
<?php $this->endBlock(); ?>
|
|
</script>
|
|
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>
|