404 lines
19 KiB
PHP
404 lines
19 KiB
PHP
<?php
|
||
|
||
/**
|
||
* @author Any
|
||
* @description KISS
|
||
* @date 2020-11-24
|
||
* @version 1.0.0
|
||
*
|
||
* _____LOG_____
|
||
*
|
||
*/
|
||
|
||
use app\widgets\PickLinker;
|
||
use app\models\Banner;
|
||
use app\widgets\PickFile;
|
||
use app\assets\UeditorAsset;
|
||
|
||
UeditorAsset::register($this);
|
||
$skip_k = [];
|
||
if(!$is){
|
||
$skip_k = [3,4,5,6,7,8,9];
|
||
$this->title = '编辑轮播图';
|
||
$this->params['breadcrumbs'][] = ['label' => '轮播图' , 'url' => [\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide"])]];
|
||
}else{
|
||
$this->title = '编辑配置';
|
||
$this->params['breadcrumbs'][] = ['label' => '配置' , 'url' => [\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide"])]];
|
||
if($id == 12){
|
||
$skip_k = [0,1,2,3,4,5,7,8,9];
|
||
}else{
|
||
$skip_k = [6];
|
||
}
|
||
}
|
||
$this->params['breadcrumbs'][] = $this->title;
|
||
$url_type_labels = Banner::urlTypeLabels();
|
||
foreach ($url_type_labels as $k=>$v){
|
||
if(in_array($k,$skip_k)){
|
||
unset($url_type_labels[$k]);
|
||
}
|
||
}
|
||
$status_labels = Banner::statusLabels();
|
||
$media_labels = Banner::mediaLabels();
|
||
$type = Banner::type();
|
||
?>
|
||
<div class="layui-fluid">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header"><?= $this->title ?></div>
|
||
<div class="layui-card-body">
|
||
<div class="layui-row">
|
||
<div class="layui-col-md6">
|
||
<div class="layui-form">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">标题</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input" <?=($is?"readonly":"")?> value="<?= $model->title ?>">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
<?= PickFile::widget([
|
||
'accept' => 'images',
|
||
'id' => 'img_url_upload',
|
||
'name' => 'img_url',
|
||
'label' => '主图',
|
||
'value' => $model->img_url,
|
||
'tip' => '图片大小750×330',
|
||
'imageCompressEnable' => 1,
|
||
'imageCompressBorder' => 750
|
||
])?>
|
||
<!--<div class="layui-form-item">
|
||
<label class="layui-form-label">类型</label>
|
||
<div class="layui-input-block type">
|
||
<?php /*foreach ($type as $key => $val):*/?>
|
||
<input type="radio" name="type" value="<?php /*=$key*/?>"
|
||
title="<?php /*=$val*/?>" <?php /*= $model->type == $key ? 'checked=""' : ''*/?>>
|
||
<?php /*endforeach;*/?>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>-->
|
||
|
||
<div class="block-url">
|
||
<?php if($id != 12):?>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">内容</label>
|
||
<div class="layui-input-block url-type">
|
||
<?php foreach ($url_type_labels as $key => $val):?>
|
||
<input type="radio" name="url_type" value="<?=$key?>" title="<?=$val?>" <?= $model->url_type == $key ? 'checked=""' : ''?>>
|
||
<?php endforeach;?>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP_PAGE?>">
|
||
<label class="layui-form-label">小程序页面链接</label>
|
||
<div class="layui-inline ">
|
||
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 0 ? $model->page_url : '' ?>" >
|
||
</div>
|
||
<!-- <div class="layui-inline ">-->
|
||
<!-- <button class="layui-btn pick-link-btn">选择链接</button>-->
|
||
<!-- </div>-->
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
<?php endif;?>
|
||
|
||
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_LINK?>">
|
||
<label class="layui-form-label">外部链接链接</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 1 ? $model->page_url : '' ?>">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP?>">
|
||
<label class="layui-form-label">小程序AppID</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="app_id" placeholder="" autocomplete="off" class="layui-input" value="<?= $model->app_id ?>">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
<div class="layui-form-item" v-if="url_type == 3">
|
||
|
||
|
||
</div>
|
||
<!--<div class="layui-form-item" v-if="url_type == 4">
|
||
<?php /*= PickFile::widget([
|
||
'accept' => 'images',
|
||
'id' => 'img_url_uploads2',
|
||
'name' => 'img_urls',
|
||
'label' => '附图',
|
||
'value' => $model->other_img_url,
|
||
'tip' => '图片大小750×330',
|
||
'imageCompressEnable' => 1,
|
||
'imageCompressBorder' => 750
|
||
])*/?>
|
||
</div>
|
||
<div class="layui-form-item" v-if="url_type == 5">
|
||
<?php /*= PickFile::widget([
|
||
'accept' => 'images',
|
||
'id' => 'img_url_uploads3',
|
||
'name' => 'img_urls',
|
||
'label' => '附图',
|
||
'value' => $model->other_img_url,
|
||
'tip' => '图片大小750×330',
|
||
'imageCompressEnable' => 1,
|
||
'imageCompressBorder' => 750
|
||
])*/?>
|
||
</div>-->
|
||
|
||
|
||
<?php if(!$is):?>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">排序</label>
|
||
<div class="layui-input-inline">
|
||
<input type="number" name="sort" placeholder="请输入数字" autocomplete="off" class="layui-input" value="<?= $model->sort ? $model->sort : 100 ?>">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">升序,值越小排序越靠前</div>
|
||
</div>
|
||
<?php endif;?>
|
||
|
||
|
||
<!--<div class="layui-form-item">
|
||
<label class="layui-form-label">媒体类型</label>
|
||
<div class="layui-input-block media">
|
||
<?php /*foreach ($media_labels as $key => $val):*/?>
|
||
<input type="radio" name="media" value="<?php /*=$key*/?>" title="<?php /*=$val*/?>" <?php /*= $model->media == $key ? 'checked=""' : ''*/?>>
|
||
<?php /*endforeach;*/?>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>-->
|
||
</div>
|
||
|
||
|
||
|
||
<?= PickFile::widget([
|
||
'accept' => 'video',
|
||
'id' => 'video_url_upload',
|
||
'name' => 'video_url',
|
||
'label' => '视频',
|
||
'value' => $model->video_url,
|
||
'tip' => ''
|
||
])?>
|
||
<?php if(!$is):?>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">状态</label>
|
||
<div class="layui-input-block url-type">
|
||
<input type="radio" name="status" value="0" title="隐藏" <?= $model->status == 0 ? 'checked=""' : ''?>>
|
||
<input type="radio" name="status" value="1" title="显示" <?= $model->status == 1 ? 'checked=""' : ''?>>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
<?php endif;?>
|
||
<?php if($is && $id != 12):?>
|
||
<?= PickFile::widget([
|
||
'accept' => 'images',
|
||
'id' => 'img_url_uploads11231',
|
||
'name' => 'other_img_url',
|
||
'label' => '附图',
|
||
'value' => $model->other_img_url,
|
||
// 'tip' => '图片大小750×330',
|
||
'imageCompressEnable' => 1,
|
||
'imageCompressBorder' => 750
|
||
])?>
|
||
<?php endif;?>
|
||
|
||
|
||
<?php if($id == 12):?>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">内容</label>
|
||
<div class="layui-input-inline">
|
||
<textarea id="editor" style="width: 600px" name="content" rows="30" ><?=$model->text?></textarea>
|
||
</div>
|
||
</div>
|
||
<?php endif;?>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<div class="" >
|
||
<button class="layui-btn" lay-submit="" lay-filter="layui-form-submit">保存</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?= PickLinker::widget(["links" => $links, "link_input_class" => ".page-url", "link_select_btn" => '.pick-link-btn'])?>
|
||
|
||
<script>
|
||
<?php $this->beginBlock('js_script_wrap') ?>
|
||
var vm = new Vue({
|
||
el:".block-url",
|
||
data:{
|
||
url_type:<?=$model->url_type != null ? $model->url_type : 0?>,
|
||
media:<?=$model->media != null ? $model->media : 0?>,
|
||
}
|
||
});
|
||
|
||
layui.config({
|
||
base: '/statics/layuiadmin/' //静态资源所在路径
|
||
}).extend({
|
||
index: 'lib/index' //主入口模块
|
||
}).use(['index', 'user', 'upload', 'layer'], function () {
|
||
var $ = layui.$
|
||
, admin = layui.admin
|
||
, upload = layui.upload
|
||
, layer = layui.layer
|
||
, form = layui.form;
|
||
|
||
form.render();
|
||
//提交
|
||
var submitLock = false;
|
||
form.on('submit(layui-form-submit)', function (obj) {
|
||
if (submitLock) {
|
||
return false;
|
||
}
|
||
submitLock = true;
|
||
//请求登入接口
|
||
//console.log(obj)
|
||
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-edit", 'id' => $model->id ? $model->id : 0]) ?>';
|
||
var returnUrl = "<?= $return_url ?>";
|
||
console.log(returnUrl)
|
||
var data = obj.field;
|
||
try{
|
||
data.text = UE.getEditor('editor').getContent();
|
||
}catch (e){
|
||
|
||
}
|
||
if('<?=$id?>' == 12){
|
||
data.url_type = 6
|
||
|
||
}
|
||
data._csrf = _csrf;
|
||
$.ajax(url, {
|
||
type: "POST",
|
||
dataType: "json",
|
||
data: data,
|
||
timeout: 10000,
|
||
success: function (res) {
|
||
if (res.code == 0) {
|
||
layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
}, function () {
|
||
if(returnUrl){
|
||
location.href = returnUrl;
|
||
} else {
|
||
location.reload();
|
||
}
|
||
});
|
||
} else {
|
||
layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
}, function () {
|
||
});
|
||
}
|
||
},
|
||
error: function (xhr, type, err) {
|
||
layer.msg(xhr.responseText, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
}, function () {
|
||
});
|
||
},
|
||
complete: function () {
|
||
submitLock = false;
|
||
}
|
||
})
|
||
});
|
||
|
||
//链接类型切换
|
||
$('.url-type').on("click",".layui-form-radio",function(){
|
||
var url_type = $('.url-type input:radio:checked').val();
|
||
vm.url_type = url_type;
|
||
})
|
||
//媒体类型切换
|
||
$('.media').on("click",".layui-form-radio",function(){
|
||
var media = $('.media input:radio:checked').val();
|
||
vm.media = media;
|
||
if(vm.media == 0){
|
||
$("#video_url_upload").hide();
|
||
$("#img_url_upload").show();
|
||
}
|
||
if(vm.media == 1){
|
||
$("#img_url_upload").hide();
|
||
$("#video_url_upload").show();
|
||
}
|
||
});
|
||
function init_page()
|
||
{
|
||
if(vm.media == 0){
|
||
$("#video_url_upload").hide();
|
||
$("#img_url_upload").show();
|
||
}
|
||
if(vm.media == 1){
|
||
$("#img_url_upload").hide();
|
||
$("#video_url_upload").show();
|
||
}
|
||
}
|
||
init_page();
|
||
});
|
||
|
||
var ue = UE.getEditor('editor', {
|
||
serverUrl: "<?= \Yii::$app->urlManager->createUrl(['file/upload']) ?>",
|
||
toolbars: [
|
||
[
|
||
'anchor', //锚点
|
||
'undo', //撤销
|
||
'redo', //重做
|
||
'bold', //加粗
|
||
'indent', //首行缩进
|
||
'italic', //斜体
|
||
'underline', //下划线
|
||
'strikethrough', //删除线
|
||
'subscript', //下标
|
||
'fontborder', //字符边框
|
||
'superscript', //上标
|
||
'formatmatch', //格式刷
|
||
'source', //源代码
|
||
'blockquote', //引用
|
||
'pasteplain', //纯文本粘贴模式
|
||
'selectall', //全选
|
||
'preview', //预览
|
||
'horizontal', //分隔线
|
||
'removeformat', //清除格式
|
||
'time', //时间
|
||
'date', //日期
|
||
'unlink', //取消链接
|
||
'cleardoc', //清空文档
|
||
'insertcode', //代码语言
|
||
'fontfamily', //字体
|
||
'fontsize', //字号
|
||
'paragraph', //段落格式
|
||
'simpleupload', //单图上传
|
||
'insertimage', //多图上传
|
||
'link', //超链接
|
||
'emotion', //表情
|
||
'spechars', //特殊字符
|
||
'help', //帮助
|
||
'justifyleft', //居左对齐
|
||
'justifyright', //居右对齐
|
||
'justifycenter', //居中对齐
|
||
'justifyjustify', //两端对齐
|
||
'forecolor', //字体颜色
|
||
'insertorderedlist', //有序列表
|
||
'insertunorderedlist', //无序列表
|
||
'fullscreen', //全屏
|
||
'rowspacingtop', //段前距
|
||
'rowspacingbottom', //段后距
|
||
'wordimage', //图片转存
|
||
'lineheight', //行间距
|
||
'customstyle', //自定义标题
|
||
'autotypeset', //自动排版
|
||
'drafts', // 从草稿箱加载
|
||
]
|
||
]
|
||
});
|
||
|
||
<?php $this->endBlock(); ?>
|
||
</script>
|
||
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>
|