cxgj/modules/admin/views/wechat/mp-slide-edit.php
2024-01-19 10:31:59 +08:00

404 lines
19 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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); ?>