This commit is contained in:
尖叫 2023-11-29 10:45:45 +08:00
parent f5ee804d71
commit 4d591cc3df
7 changed files with 988 additions and 1090 deletions

View File

@ -5,16 +5,12 @@
* @description KISS * @description KISS
* @date 2020-11-23 * @date 2020-11-23
* @version 1.0.0 * @version 1.0.0
* *
* _____LOG_____ * _____LOG_____
* *
*/ */
namespace app\modules\admin\controllers; namespace app\modules\admin\controllers;
use app\models\Box;
use app\models\cms\Notice;
use app\models\cms\RichText;
use app\models\Store;
use app\modules\admin\behaviors\LoginBehavior; use app\modules\admin\behaviors\LoginBehavior;
use app\modules\admin\models\wechat\WechatAppForm; use app\modules\admin\models\wechat\WechatAppForm;
use app\modules\admin\models\wechat\WechatOfficalAccountForm; use app\modules\admin\models\wechat\WechatOfficalAccountForm;
@ -32,7 +28,7 @@ use app\models\PickLinkForm;
class WechatController extends Controller class WechatController extends Controller
{ {
public function behaviors() public function behaviors()
{ {
@ -42,7 +38,7 @@ class WechatController extends Controller
], ],
]); ]);
} }
public function actionMp() public function actionMp()
{ {
$this->wechat_app = $this->wechat_app == null ? new WechatApp() : $this->wechat_app; $this->wechat_app = $this->wechat_app == null ? new WechatApp() : $this->wechat_app;
@ -55,10 +51,10 @@ class WechatController extends Controller
return $this->responseHandler($data); return $this->responseHandler($data);
} }
return $this->render('mp',[ return $this->render('mp',[
'model' => $this->wechat_app 'model' => $this->wechat_app
]); ]);
} }
public function actionMpTplMsg() public function actionMpTplMsg()
{ {
$form = new WechatAppTplMsgForm(); $form = new WechatAppTplMsgForm();
@ -72,9 +68,9 @@ class WechatController extends Controller
$list = $form->search(); $list = $form->search();
return $this->render('mp-tpl-msg',[ return $this->render('mp-tpl-msg',[
'list' => $list 'list' => $list
]); ]);
} }
public function actionMpSlide() public function actionMpSlide()
{ {
$form = new SlideListForm(); $form = new SlideListForm();
@ -84,7 +80,7 @@ class WechatController extends Controller
$data = $form->search(); $data = $form->search();
return $this->render('mp-slide', $data); return $this->render('mp-slide', $data);
} }
public function actionMpSlideEdit($id = 0) public function actionMpSlideEdit($id = 0)
{ {
$zone_id = Banner::ZONE_ID_WXAPP_INDEX; $zone_id = Banner::ZONE_ID_WXAPP_INDEX;
@ -114,28 +110,14 @@ class WechatController extends Controller
$data = $form->save(); $data = $form->save();
return $this->responseHandler($data); return $this->responseHandler($data);
} }
$store = Store::find()->select('id,name')->where(['is_delete' => 0])->asArray()->all();
$box = Box::find()->select('id,name,store_id')->where(['is_delete' => 0])->asArray()->all();
$notice = Notice::find()->alias('n')
->select('n.id,n.store_id,rt.title as name')
->leftJoin(['rt' => RichText::tableName()],'rt.id=n.rich_text_id')
->where([
'n.cx_mch_id' => $this->cx_mch_id,
'n.is_delete' => 0,
'n.is_index' => 1,
])->asArray()->all();
$return_url = \Yii::$app->request->referrer; $return_url = \Yii::$app->request->referrer;
return $this->render('mp-slide-edit', [ return $this->render('mp-slide-edit', [
'model' => $model, 'model' => $model,
'return_url' => $return_url, 'return_url' => $return_url,
'links' => (new PickLinkForm())->getPickLink(), 'links' => (new PickLinkForm())->getPickLink()
'store' => $store,
'box' => $box,
'notice' => $notice,
]); ]);
} }
public function actionMpSlideShow() public function actionMpSlideShow()
{ {
if(!\Yii::$app->request->isPost){ if(!\Yii::$app->request->isPost){
@ -149,7 +131,7 @@ class WechatController extends Controller
$data = $form->show(); $data = $form->show();
return $this->responseHandler($data); return $this->responseHandler($data);
} }
public function actionMpSlideHide() public function actionMpSlideHide()
{ {
if(!\Yii::$app->request->isPost){ if(!\Yii::$app->request->isPost){
@ -163,7 +145,7 @@ class WechatController extends Controller
$data = $form->hide(); $data = $form->hide();
return $this->responseHandler($data); return $this->responseHandler($data);
} }
public function actionMpSlideDel() public function actionMpSlideDel()
{ {
if(!\Yii::$app->request->isPost){ if(!\Yii::$app->request->isPost){
@ -177,5 +159,5 @@ class WechatController extends Controller
$data = $form->delete(); $data = $form->delete();
return $this->responseHandler($data); return $this->responseHandler($data);
} }
} }

View File

@ -5,9 +5,9 @@
* @description KISS * @description KISS
* @date 2020-11-23 * @date 2020-11-23
* @version 1.0.0 * @version 1.0.0
* *
* _____LOG_____ * _____LOG_____
* *
*/ */
namespace app\modules\admin\models; namespace app\modules\admin\models;
@ -15,10 +15,10 @@ use app\models\Banner;
use app\models\Model; use app\models\Model;
class SlideEditForm extends AdminModel class SlideEditForm extends AdminModel
{ {
public $model; public $model;
public $cx_mch_id; public $cx_mch_id;
public $user_id; public $user_id;
public $zone_id; public $zone_id;
@ -29,7 +29,7 @@ class SlideEditForm extends AdminModel
public $title; public $title;
public $page_url; public $page_url;
public $sort; public $sort;
public $media; public $media;
public $status; public $status;
public $video_url; public $video_url;
@ -47,7 +47,7 @@ class SlideEditForm extends AdminModel
[['video_url'], 'required', 'on' => 'video'], [['video_url'], 'required', 'on' => 'video'],
]; ];
} }
public function attributeLabels() { public function attributeLabels() {
return [ return [
'app_id' => '小程序AppId', 'app_id' => '小程序AppId',
@ -95,7 +95,7 @@ class SlideEditForm extends AdminModel
} }
if(!$this->model->save()){ if(!$this->model->save()){
return $this->getModelError($this->model); return $this->getModelError($this->model);
} }
return [ return [
'code' => 0, 'code' => 0,
'msg' => '保存成功' 'msg' => '保存成功'

View File

@ -5,9 +5,9 @@
* @description KISS * @description KISS
* @date 2020-11-24 * @date 2020-11-24
* @version 1.0.0 * @version 1.0.0
* *
* _____LOG_____ * _____LOG_____
* *
*/ */
use app\widgets\PickLinker; use app\widgets\PickLinker;
@ -22,214 +22,222 @@ $url_type_labels = Banner::urlTypeLabels();
$status_labels = Banner::statusLabels(); $status_labels = Banner::statusLabels();
$media_labels = Banner::mediaLabels(); $media_labels = Banner::mediaLabels();
?> ?>
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><?= $this->title ?></div> <div class="layui-card-header"><?= $this->title ?></div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md6"> <div class="layui-col-md6">
<div class="layui-form"> <div class="layui-form">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">标题</label> <label class="layui-form-label">标题</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input" value="<?= $model->title ?>"> <input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input" value="<?= $model->title ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="block-url">
</div> <div class="layui-form-item">
<div class="block-url"> <label class="layui-form-label">链接类型</label>
<div class="layui-form-item"> <div class="layui-input-block url-type">
<label class="layui-form-label">链接类型</label> <?php foreach ($url_type_labels as $key => $val):?>
<div class="layui-input-block url-type"> <input type="radio" name="url_type" value="<?=$key?>" title="<?=$val?>" <?= $model->url_type == $key ? 'checked=""' : ''?>>
<?php foreach ($url_type_labels as $key => $val):?> <?php endforeach;?>
<input type="radio" name="url_type" value="<?=$key?>" title="<?=$val?>" <?= $model->url_type == $key ? 'checked=""' : ''?>> </div>
<?php endforeach;?> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP_PAGE?>">
</div> <label class="layui-form-label">小程序页面链接</label>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP_PAGE?>"> <div class="layui-inline ">
<label class="layui-form-label">小程序页面链接</label> <input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 0 ? $model->page_url : '' ?>" >
<div class="layui-inline "> </div>
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 0 ? $model->page_url : '' ?>" > <div class="layui-inline ">
</div> <button class="layui-btn pick-link-btn">选择链接</button>
<div class="layui-inline "> </div>
<button class="layui-btn pick-link-btn">选择链接</button> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_LINK?>">
</div> <label class="layui-form-label">外部链接链接</label>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_LINK?>"> <div class="layui-input-inline">
<label class="layui-form-label">外部链接链接</label> <input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 1 ? $model->page_url : '' ?>">
<div class="layui-input-inline"> </div>
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 1 ? $model->page_url : '' ?>"> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP?>">
</div> <label class="layui-form-label">小程序AppID</label>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP?>"> <div class="layui-input-inline">
<label class="layui-form-label">小程序AppID</label> <input type="text" name="app_id" placeholder="" autocomplete="off" class="layui-input" value="<?= $model->app_id ?>">
<div class="layui-input-inline"> </div>
<input type="text" name="app_id" placeholder="" autocomplete="off" class="layui-input" value="<?= $model->app_id ?>"> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-item">
</div> <label class="layui-form-label">排序</label>
<div class="layui-form-item"> <div class="layui-input-inline">
<label class="layui-form-label">排序</label> <input type="number" name="sort" placeholder="请输入数字" autocomplete="off" class="layui-input" value="<?= $model->sort ? $model->sort : 100 ?>">
<div class="layui-input-inline"> </div>
<input type="number" name="sort" placeholder="请输入数字" autocomplete="off" class="layui-input" value="<?= $model->sort ? $model->sort : 100 ?>"> <div class="layui-form-mid layui-word-aux">升序,值越小排序越靠前</div>
</div> </div>
<div class="layui-form-mid layui-word-aux">升序,值越小排序越靠前</div>
</div>
</div> <div class="layui-form-item">
<?= PickFile::widget([ <label class="layui-form-label">媒体类型</label>
'accept' => 'images', <div class="layui-input-block media">
'id' => 'img_url_upload', <?php foreach ($media_labels as $key => $val):?>
'name' => 'img_url', <input type="radio" name="media" value="<?=$key?>" title="<?=$val?>" <?= $model->media == $key ? 'checked=""' : ''?>>
'label' => '图片', <?php endforeach;?>
'value' => $model->img_url, </div>
'tip' => '图片大小750×800', <div class="layui-form-mid layui-word-aux"></div>
'imageCompressEnable' => 1, </div>
'imageCompressBorder' => 750
])?>
<?= PickFile::widget([
'accept' => 'video',
'id' => 'video_url_upload',
'name' => 'video_url',
'label' => '视频',
'value' => $model->video_url,
'tip' => ''
])?>
<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>
<div class="layui-form-mid layui-word-aux"></div> <?= PickFile::widget([
</div> 'accept' => 'images',
<div class="layui-form-item"> 'id' => 'img_url_upload',
<div class="layui-input-block"> 'name' => 'img_url',
<div class="" > 'label' => '图片',
<input type="hidden" name="media" value="0"> 'value' => $model->img_url,
<button class="layui-btn" lay-submit="" lay-filter="layui-form-submit">保存</button> 'tip' => '图片大小750×330',
'imageCompressEnable' => 1,
'imageCompressBorder' => 750
])?>
<?= PickFile::widget([
'accept' => 'video',
'id' => 'video_url_upload',
'name' => 'video_url',
'label' => '视频',
'value' => $model->video_url,
'tip' => ''
])?>
<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>
<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>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <?= PickLinker::widget(["links" => $links, "link_input_class" => ".page-url", "link_select_btn" => '.pick-link-btn'])?>
<?= PickLinker::widget(["links" => $links, "store" => $store,"box" => $box,"notice" => $notice,"link_input_class" => ".page-url", "link_select_btn" => '.pick-link-btn'])?>
<script> <script>
<?php $this->beginBlock('js_script_wrap') ?> <?php $this->beginBlock('js_script_wrap') ?>
var vm = new Vue({ var vm = new Vue({
el:".block-url", el:".block-url",
data:{ data:{
url_type:<?=$model->url_type != null ? $model->url_type : 0?>, url_type:<?=$model->url_type != null ? $model->url_type : 0?>,
media:<?=$model->media != null ? $model->media : 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) layui.config({
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-edit", 'id' => $model->id ? $model->id : 0]) ?>'; base: '/statics/layuiadmin/' //静态资源所在路径
var returnUrl = "<?= $return_url ?>"; }).extend({
var data = obj.field; index: 'lib/index' //主入口模块
data._csrf = _csrf; }).use(['index', 'user', 'upload', 'layer'], function () {
$.ajax(url, { var $ = layui.$
type: "POST", , admin = layui.admin
dataType: "json", , upload = layui.upload
data: data, , layer = layui.layer
timeout: 10000, , form = layui.form;
success: function (res) {
if (res.code == 0) { form.render();
layer.msg(res.msg, { //提交
offset: '15px' var submitLock = false;
, icon: 1 form.on('submit(layui-form-submit)', function (obj) {
, time: 1000 if (submitLock) {
}, function () { return false;
if(returnUrl){ }
location.href = returnUrl; submitLock = true;
} else { //请求登入接口
location.reload(); //console.log(obj)
} var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-edit", 'id' => $model->id ? $model->id : 0]) ?>';
}); var returnUrl = "<?= $return_url ?>";
} else { var data = obj.field;
layer.msg(res.msg, { 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' offset: '15px'
, icon: 2 , icon: 2
, time: 1000 , time: 1000
}, function () { }, function () {
}); });
},
complete: function () {
submitLock = false;
} }
}, })
error: function (xhr, type, err) { });
layer.msg(xhr.responseText, {
offset: '15px' //链接类型切换
, icon: 2 $('.url-type').on("click",".layui-form-radio",function(){
, time: 1000 var url_type = $('.url-type input:radio:checked').val();
}, function () { vm.url_type = url_type;
});
},
complete: function () {
submitLock = false;
}
}) })
//媒体类型切换
$('.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();
}); });
//链接类型切换 <?php $this->endBlock(); ?>
$('.url-type').on("click",".layui-form-radio",function(){ </script>
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();
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?> <?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>

View File

@ -1,417 +1,417 @@
<?php <?php
/** /**
* @author Any * @author Any
* @description KISS * @description KISS
* @date 2020-11-24 * @date 2020-11-24
* @version 1.0.0 * @version 1.0.0
* *
* _____LOG_____ * _____LOG_____
* *
*/ */
use yii\widgets\LinkPager; use yii\widgets\LinkPager;
use app\models\Banner; use app\models\Banner;
$this->title = '轮播图'; $this->title = '轮播图';
$this->params['breadcrumbs'][] = $this->title; $this->params['breadcrumbs'][] = $this->title;
$status_labels = Banner::statusLabels(); $status_labels = Banner::statusLabels();
$status = \Yii::$app->request->get('status'); $status = \Yii::$app->request->get('status');
?> ?>
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"> <div class="layui-card-header">
<?= $this->title ?> <?= $this->title ?>
</div> </div>
<div class="layui-card-header layuiadmin-card-header-auto"> <div class="layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<a class=" layui-btn layui-btn-sm" href="<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide-edit"])?>">添加轮播图</a> <a class=" layui-btn layui-btn-sm" href="<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide-edit"])?>">添加轮播图</a>
</div> </div>
<div class="layui-inline layui-float-right layui-form"> <div class="layui-inline layui-float-right layui-form">
<div class="layui-inline layui-form-item"> <div class="layui-inline layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-select" lay-filter="batch-action"> <select class="layui-select" lay-filter="batch-action">
<option value="0">批量操作</option> <option value="0">批量操作</option>
<option value="hide">批量隐藏</option> <option value="hide">批量隐藏</option>
<option value="show">批量显示</option> <option value="show">批量显示</option>
<option value="del">批量删除</option> <option value="del">批量删除</option>
</select> </select>
</div> </div>
</div> </div>
</div> </div>
<div class="layui-inline layui-form-item"> <div class="layui-inline layui-form-item">
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-select" name="status"> <select class="layui-select" name="status">
<option value="" <?=$status === null ? 'selected' : ''?>>全部状态</option> <option value="" <?=$status === null ? 'selected' : ''?>>全部状态</option>
<?php foreach ($status_labels as $key => $val):?> <?php foreach ($status_labels as $key => $val):?>
<option value="<?=$key?>" <?=$status == $key && $status != null ? 'selected' : ''?>><?=$val?></option> <option value="<?=$key?>" <?=$status == $key && $status != null ? 'selected' : ''?>><?=$val?></option>
<?php endforeach;?> <?php endforeach;?>
</select> </select>
</div> </div>
</div> </div>
<div class="layui-inline layui-form-item"> <div class="layui-inline layui-form-item">
<label class="layui-form-label">关键词</label> <label class="layui-form-label">关键词</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="keywords" placeholder="搜索标题" autocomplete="off" class="layui-input" value="<?=\Yii::$app->request->get("keywords")?>"> <input type="text" name="keywords" placeholder="搜索标题" autocomplete="off" class="layui-input" value="<?=\Yii::$app->request->get("keywords")?>">
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="layui-form-search"> <button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="layui-form-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i> <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button> </button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="layui-card-body"> <div class="layui-card-body">
<table class="layui-table layui-form"> <table class="layui-table layui-form">
<thead> <thead>
<tr> <tr>
<th> <th>
<div class="layui-table-cell laytable-cell-checkbox"> <div class="layui-table-cell laytable-cell-checkbox">
<input type="checkbox" name="layuitable_checkbox" lay-skin="primary" > <input type="checkbox" name="layuitable_checkbox" lay-skin="primary" >
</div> </div>
</th> </th>
<th>ID</th> <th>ID</th>
<th>标题</th> <th>标题</th>
<th>内容</th> <th>内容</th>
<th>链接</th> <th>链接</th>
<th>排序</th> <th>排序</th>
<th>添加时间</th> <th>添加时间</th>
<th>状态</th> <th>状态</th>
<th>操作</th> <th>操作</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php foreach ($list as $index => $item):?> <?php foreach ($list as $index => $item):?>
<tr> <tr>
<td> <td>
<div class="layui-table-cell laytable-cell-checkbox"> <div class="layui-table-cell laytable-cell-checkbox">
<input type="checkbox" name="layuitable_checkbox" lay-skin="primary" value="<?=$item['id']?>"> <input type="checkbox" name="layuitable_checkbox" lay-skin="primary" value="<?=$item['id']?>">
</div> </div>
</td> </td>
<td><?=$item["id"]?></td> <td><?=$item["id"]?></td>
<td><?=$item["title"]?></td> <td><?=$item["title"]?></td>
<td> <td>
<?php if($item['media'] == Banner::MEDIA_IMG):?> <?php if($item['media'] == Banner::MEDIA_IMG):?>
<img src="<?=$item["img_url"]?>" style="width:168px;max-width: 168px;"> <img src="<?=$item["img_url"]?>" style="width:168px;max-width: 168px;">
<?php endif;?> <?php endif;?>
<?php if($item['media'] == Banner::MEDIA_VIDEO):?> <?php if($item['media'] == Banner::MEDIA_VIDEO):?>
<video src="<?=$item["video_url"]?>" style="width:168px;max-width: 168px;" controls=""></video> <video src="<?=$item["video_url"]?>" style="width:168px;max-width: 168px;" controls=""></video>
<?php endif;?> <?php endif;?>
</td> </td>
<td> <td>
<span class="layui-badge layui-bg-orange"><?=$item['url_type_cn']?></span> <span class="layui-badge layui-bg-orange"><?=$item['url_type_cn']?></span>
<?php if($item['url_type'] == Banner::URL_TYPE_MP):?> <?php if($item['url_type'] == Banner::URL_TYPE_MP):?>
<?=$item['app_id']?> <?=$item['app_id']?>
<?php else:?> <?php else:?>
<?=$item['page_url']?> <?=$item['page_url']?>
<?php endif;?> <?php endif;?>
</td> </td>
<td><?=$item["sort"]?></td> <td><?=$item["sort"]?></td>
<td><?=$item["created_at_cn"]?></td> <td><?=$item["created_at_cn"]?></td>
<td> <td>
<?php if($item['status'] == Banner::STATUS_HIDE):?> <?php if($item['status'] == Banner::STATUS_HIDE):?>
<span class="layui-badge layui-bg-gray"><?=$item["status_cn"]?></span> <span class="layui-badge layui-bg-gray"><?=$item["status_cn"]?></span>
<?php elseif($item['status'] == Banner::STATUS_SHOW):?> <?php elseif($item['status'] == Banner::STATUS_SHOW):?>
<span class="layui-badge layui-bg-blue"><?=$item["status_cn"]?></span> <span class="layui-badge layui-bg-blue"><?=$item["status_cn"]?></span>
<?php endif;?> <?php endif;?>
</td> </td>
<td> <td>
<?php if($item['status'] == Banner::STATUS_HIDE):?> <?php if($item['status'] == Banner::STATUS_HIDE):?>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-normal layui-btn-xs show-btn">显示</a> <a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-normal layui-btn-xs show-btn">显示</a>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-danger layui-btn-xs del-btn">删除</a> <a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-danger layui-btn-xs del-btn">删除</a>
<?php elseif($item['status'] == Banner::STATUS_SHOW):?> <?php elseif($item['status'] == Banner::STATUS_SHOW):?>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-warm layui-btn-xs hide-btn">隐藏</a> <a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-warm layui-btn-xs hide-btn">隐藏</a>
<?php endif;?> <?php endif;?>
<a href="<?=\Yii::$app->urlManager->createUrl(['admin/wechat/mp-slide-edit', 'id' => $item['id']])?>" class="layui-btn layui-btn-xs">编辑</a> <a href="<?=\Yii::$app->urlManager->createUrl(['admin/wechat/mp-slide-edit', 'id' => $item['id']])?>" class="layui-btn layui-btn-xs">编辑</a>
</td> </td>
</tr> </tr>
<?php endforeach;?> <?php endforeach;?>
</tbody> </tbody>
</table> </table>
<div class="layui-table-page layui-text-center"> <div class="layui-table-page layui-text-center">
<?php echo LinkPager::widget([ <?php echo LinkPager::widget([
'pagination' => $pagination, 'pagination' => $pagination,
'prevPageLabel' => '上一页', 'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页', 'nextPageLabel' => '下一页',
'firstPageLabel' => '首页', 'firstPageLabel' => '首页',
'lastPageLabel' => '尾页', 'lastPageLabel' => '尾页',
'maxButtonCount' => 5, 'maxButtonCount' => 5,
'options' => [ 'options' => [
'class' => 'layui-pagination layui-laypage', 'class' => 'layui-pagination layui-laypage',
], ],
'prevPageCssClass' => 'layui-laypage-prev', 'prevPageCssClass' => 'layui-laypage-prev',
'pageCssClass' => "layui-laypage-item", 'pageCssClass' => "layui-laypage-item",
'nextPageCssClass' => 'layui-laypage-first', 'nextPageCssClass' => 'layui-laypage-first',
'firstPageCssClass' => 'layui-laypage-last', 'firstPageCssClass' => 'layui-laypage-last',
'lastPageCssClass' => 'layui-laypage-last', 'lastPageCssClass' => 'layui-laypage-last',
'linkOptions' => [ 'linkOptions' => [
'class' => 'page-link', 'class' => 'page-link',
], ],
'disabledListItemSubTagOptions' => ['tag' => 'a', 'class' => 'layui-disabled'], 'disabledListItemSubTagOptions' => ['tag' => 'a', 'class' => 'layui-disabled'],
]) ])
?> ?>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
<?php $this->beginBlock('js_script_wrap') ?> <?php $this->beginBlock('js_script_wrap') ?>
layui.config({ layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径 base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({ }).extend({
index: 'lib/index' //主入口模块 index: 'lib/index' //主入口模块
}).use(['index', 'user'], function () { }).use(['index', 'user'], function () {
var $ = layui.$ var $ = layui.$
, form = layui.form , form = layui.form
, admin = layui.admin; , admin = layui.admin;
//pagination search //pagination search
$(".layui-pagination").append('<span class="layui-laypage-skip " style="margin-left:15px;">到第<input type="text" min="1" value="" class="layui-input" id="invalue">页<button type="button" class="layui-laypage-btn" id="skip">确定</button></span>'); $(".layui-pagination").append('<span class="layui-laypage-skip " style="margin-left:15px;">到第<input type="text" min="1" value="" class="layui-input" id="invalue">页<button type="button" class="layui-laypage-btn" id="skip">确定</button></span>');
$('#skip').click(function() { $('#skip').click(function() {
var a_elem = $('.layui-pagination .layui-laypage-item.active a'); var a_elem = $('.layui-pagination .layui-laypage-item.active a');
var href = a_elem.attr('href'); var href = a_elem.attr('href');
var cur_page = a_elem.attr('data-page'); var cur_page = a_elem.attr('data-page');
cur_page = cur_page * 1 + 1; cur_page = cur_page * 1 + 1;
var page = $('#invalue').val(); var page = $('#invalue').val();
var before_str = 'page=' + cur_page; var before_str = 'page=' + cur_page;
var after_str = 'page=' + page; var after_str = 'page=' + page;
var reg = new RegExp(before_str); var reg = new RegExp(before_str);
var href = href.replace(reg,after_str); var href = href.replace(reg,after_str);
location.href = href; location.href = href;
}); });
form.render(); form.render();
//search //search
form.on('submit(layui-form-search)', function (obj) { form.on('submit(layui-form-search)', function (obj) {
var url = '<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide"])?>'; var url = '<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide"])?>';
url += '?' + wrx.object_to_url_params(obj.field); url += '?' + wrx.object_to_url_params(obj.field);
location.href = url; location.href = url;
}); });
//全选操作 //全选操作
$('.layui-table .laytable-cell-checkbox').eq(0).on('click','.layui-form-checkbox',function(){ $('.layui-table .laytable-cell-checkbox').eq(0).on('click','.layui-form-checkbox',function(){
var checked = $('.layui-table .laytable-cell-checkbox').eq(0).find("input").prop("checked"); var checked = $('.layui-table .laytable-cell-checkbox').eq(0).find("input").prop("checked");
//console.log(checked) //console.log(checked)
if(checked){ if(checked){
//select all //select all
$('.layui-table .laytable-cell-checkbox').each(function(index){ $('.layui-table .laytable-cell-checkbox').each(function(index){
var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked"); var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked");
if(!checked){ if(!checked){
$('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click"); $('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click");
} }
}); });
} else { } else {
$('.layui-table .laytable-cell-checkbox').each(function(index){ $('.layui-table .laytable-cell-checkbox').each(function(index){
var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked"); var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked");
if(checked){ if(checked){
$('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click"); $('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click");
} }
}); });
} }
}) })
//显示 //显示
$(".layui-table").on("click",".show-btn",function(){ $(".layui-table").on("click",".show-btn",function(){
var id = $(this).attr("data-id"); var id = $(this).attr("data-id");
layer.confirm('你确定将此项显示吗?', { layer.confirm('你确定将此项显示吗?', {
btn: ['确定','取消'] btn: ['确定','取消']
}, function(){ }, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-show"])?>'; var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-show"])?>';
$.ajax(url,{ $.ajax(url,{
type:"POST", type:"POST",
dataType:"json", dataType:"json",
data:{ data:{
slide_id:id, slide_id:id,
_csrf:_csrf _csrf:_csrf
}, },
success:function(res){ success:function(res){
if(res.code == 0){ if(res.code == 0){
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 1 ,icon: 1
,time: 1000 ,time: 1000
}, function(){ }, function(){
location.reload(); location.reload();
}); });
} else { } else {
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}, },
error:function(xhr,type,err){ error:function(xhr,type,err){
layer.msg(xhr.responseText, { layer.msg(xhr.responseText, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}) })
}, function(){ }, function(){
}); });
}); });
//隐藏 //隐藏
$(".layui-table").on("click",".hide-btn",function(){ $(".layui-table").on("click",".hide-btn",function(){
var id = $(this).attr("data-id"); var id = $(this).attr("data-id");
layer.confirm('你确定将此项隐藏吗?', { layer.confirm('你确定将此项隐藏吗?', {
btn: ['确定','取消'] btn: ['确定','取消']
}, function(){ }, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-hide"])?>'; var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-hide"])?>';
$.ajax(url,{ $.ajax(url,{
type:"POST", type:"POST",
dataType:"json", dataType:"json",
data:{ data:{
slide_id:id, slide_id:id,
_csrf:_csrf _csrf:_csrf
}, },
success:function(res){ success:function(res){
if(res.code == 0){ if(res.code == 0){
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 1 ,icon: 1
,time: 1000 ,time: 1000
}, function(){ }, function(){
location.reload(); location.reload();
}); });
} else { } else {
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}, },
error:function(xhr,type,err){ error:function(xhr,type,err){
layer.msg(xhr.responseText, { layer.msg(xhr.responseText, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}) })
}, function(){ }, function(){
}); });
}); });
//删除 //删除
$(".layui-table").on("click",".del-btn",function(){ $(".layui-table").on("click",".del-btn",function(){
var id = $(this).attr("data-id"); var id = $(this).attr("data-id");
layer.confirm('你确定将此项删除吗?', { layer.confirm('你确定将此项删除吗?', {
btn: ['确定','取消'] btn: ['确定','取消']
}, function(){ }, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-del"])?>'; var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-del"])?>';
$.ajax(url,{ $.ajax(url,{
type:"POST", type:"POST",
dataType:"json", dataType:"json",
data:{ data:{
slide_id:id, slide_id:id,
_csrf:_csrf _csrf:_csrf
}, },
success:function(res){ success:function(res){
if(res.code == 0){ if(res.code == 0){
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 1 ,icon: 1
,time: 1000 ,time: 1000
}, function(){ }, function(){
location.reload(); location.reload();
}); });
} else { } else {
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}, },
error:function(xhr,type,err){ error:function(xhr,type,err){
layer.msg(xhr.responseText, { layer.msg(xhr.responseText, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}) })
}, function(){ }, function(){
}); });
}); });
form.on('select(batch-action)', function(data){ form.on('select(batch-action)', function(data){
console.log(data.value); //得到被选中的值 console.log(data.value); //得到被选中的值
var v = data.value; var v = data.value;
var ids = []; var ids = [];
$('.layui-table .laytable-cell-checkbox input:checkbox:checked').each(function(){ $('.layui-table .laytable-cell-checkbox input:checkbox:checked').each(function(){
var id = $(this).val(); var id = $(this).val();
ids.push(id) ids.push(id)
}); });
if(ids.length == 0){ if(ids.length == 0){
return layer.msg("未选中任何选项"); return layer.msg("未选中任何选项");
} }
var url = null; var url = null;
var tip = null; var tip = null;
if(v == 'show'){ if(v == 'show'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-show'])?>'; url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-show'])?>';
tip = '你确定显示此项吗?'; tip = '你确定显示此项吗?';
} }
if(v == 'hide'){ if(v == 'hide'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-hide'])?>'; url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-hide'])?>';
tip = '你确定隐藏此项吗?'; tip = '你确定隐藏此项吗?';
} }
if(v == 'del'){ if(v == 'del'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-del'])?>'; url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-del'])?>';
tip = '你确定删除此项吗?'; tip = '你确定删除此项吗?';
} }
//console.log(url,tip); //console.log(url,tip);
if(url == null){ if(url == null){
return ; return ;
} }
layer.confirm(tip, { layer.confirm(tip, {
btn: ['确定','取消'] btn: ['确定','取消']
}, function(){ }, function(){
$.ajax(url,{ $.ajax(url,{
type:"POST", type:"POST",
dataType:"json", dataType:"json",
data:{ data:{
slide_id:ids, slide_id:ids,
_csrf:_csrf _csrf:_csrf
}, },
success:function(res){ success:function(res){
if(res.code == 0){ if(res.code == 0){
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 1 ,icon: 1
,time: 1000 ,time: 1000
}, function(){ }, function(){
location.reload(); location.reload();
}); });
} else { } else {
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}, },
error:function(xhr,type,err){ error:function(xhr,type,err){
layer.msg(xhr.responseText, { layer.msg(xhr.responseText, {
offset: '15px' offset: '15px'
,icon: 2 ,icon: 2
,time: 1000 ,time: 1000
}, function(){ }, function(){
}); });
} }
}) })
}, function(){ }, function(){
}); });
}); });
}); });
<?php $this->endBlock(); ?> <?php $this->endBlock(); ?>
</script> </script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?> <?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>

View File

@ -1,107 +1,107 @@
<?php <?php
/** /**
* @author Any * @author Any
* @description KISS * @description KISS
* @date 2018-12-20 * @date 2018-12-20
* @version 1.0.0 * @version 1.0.0
*/ */
$this->title = '订阅消息'; $this->title = '订阅消息';
$this->params['breadcrumbs'][] = $this->title; $this->params['breadcrumbs'][] = $this->title;
?> ?>
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><?= $this->title ?></div> <div class="layui-card-header"><?= $this->title ?></div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md5"> <div class="layui-col-md5">
<div class="layui-form"> <div class="layui-form">
<?php foreach ($list as $index => $item): ?> <?php foreach ($list as $index => $item): ?>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><?= $item["label"] ?></label> <label class="layui-form-label"><?= $item["label"] ?></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="template_ids[<?= $item["key"] ?>]" lay-verify="required" placeholder="" value="<?= $item['value'] ?>" autocomplete="off" class="layui-input"> <input type="text" name="template_ids[<?= $item["key"] ?>]" lay-verify="required" placeholder="" value="<?= $item['value'] ?>" autocomplete="off" class="layui-input">
<div class="layui-form-mid layui-word-aux"><?= $item["tip"] ?></div> <div class="layui-form-mid layui-word-aux"><?= $item["tip"] ?></div>
</div> </div>
</div> </div>
<?php endforeach; ?> <?php endforeach; ?>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<div class="" > <div class="" >
<button class="layui-btn" lay-submit="" lay-filter="admin-setting-password">立即提交</button> <button class="layui-btn" lay-submit="" lay-filter="admin-setting-password">立即提交</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
<?php $this->beginBlock('js_script_wrap') ?> <?php $this->beginBlock('js_script_wrap') ?>
layui.config({ layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径 base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({ }).extend({
index: 'lib/index' //主入口模块 index: 'lib/index' //主入口模块
}).use(['index', 'user'], function () { }).use(['index', 'user'], function () {
var $ = layui.$ var $ = layui.$
, setter = layui.setter , setter = layui.setter
, admin = layui.admin , admin = layui.admin
, form = layui.form , form = layui.form
, router = layui.router() , router = layui.router()
, search = router.search; , search = router.search;
form.render(); form.render();
//提交 //提交
var submitLock = false; var submitLock = false;
form.on('submit(admin-setting-password)', function (obj) { form.on('submit(admin-setting-password)', function (obj) {
if (submitLock) { if (submitLock) {
return false; return false;
} }
submitLock = true; submitLock = true;
//请求登入接口 //请求登入接口
//console.log(obj) //console.log(obj)
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-tpl-msg"]) ?>'; var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-tpl-msg"]) ?>';
var returnUrl = ""; var returnUrl = "";
var data = obj.field; var data = obj.field;
data._csrf = _csrf; data._csrf = _csrf;
$.ajax(url, { $.ajax(url, {
type: "POST", type: "POST",
dataType: "json", dataType: "json",
data: data, data: data,
timeout: 10000, timeout: 10000,
success: function (res) { success: function (res) {
if (res.code == 0) { if (res.code == 0) {
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
, icon: 1 , icon: 1
, time: 1000 , time: 1000
}, function () { }, function () {
location.reload(); location.reload();
}); });
} else { } else {
layer.msg(res.msg, { layer.msg(res.msg, {
offset: '15px' offset: '15px'
, icon: 2 , icon: 2
, time: 1000 , time: 1000
}, function () { }, function () {
}); });
} }
}, },
error: function (xhr, type, err) { error: function (xhr, type, err) {
layer.msg(xhr.responseText, { layer.msg(xhr.responseText, {
offset: '15px' offset: '15px'
, icon: 2 , icon: 2
, time: 1000 , time: 1000
}, function () { }, function () {
}); });
}, },
complete: function () { complete: function () {
submitLock = false; submitLock = false;
} }
}) })
}); });
}); });
<?php $this->endBlock(); ?> <?php $this->endBlock(); ?>
</script> </script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?> <?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>

View File

@ -1,169 +1,159 @@
<?php <?php
/** /**
* @author Any * @author Any
* @description Do it yourself. * @description Do it yourself.
* @date 2018-6-21 23:20:52 * @date 2018-6-21 23:20:52
* @version 1.0.0 * @version 1.0.0
*/ */
$this->title = '微信配置'; $this->title = '微信配置';
$this->params['breadcrumbs'][] = $this->title; $this->params['breadcrumbs'][] = $this->title;
?> ?>
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><?= $this->title?></div> <div class="layui-card-header"><?= $this->title?></div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md5"> <div class="layui-col-md5">
<div class="layui-form"> <div class="layui-form">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">微信小程序名称</label> <label class="layui-form-label">微信小程序名称</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="name" lay-verify="required" placeholder="请输入微信小程序名称" autocomplete="off" class="layui-input" value="<?=$model->name?>"> <input type="text" name="name" lay-verify="required" placeholder="请输入微信小程序名称" autocomplete="off" class="layui-input" value="<?=$model->name?>">
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">微信小程序AppId</label> <label class="layui-form-label">微信小程序AppId</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="app_id" lay-verify="required" placeholder="请输入微信小程序AppId" autocomplete="off" class="layui-input" value="<?=$model->app_id?>"> <input type="text" name="app_id" lay-verify="required" placeholder="请输入微信小程序AppId" autocomplete="off" class="layui-input" value="<?=$model->app_id?>">
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">微信小程序AppSecret</label> <label class="layui-form-label">微信小程序AppSecret</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="app_secret" lay-verify="required" placeholder="请输入微信小程序AppSecret" autocomplete="off" class="layui-input" value="<?=$model->app_secret?>"> <input type="text" name="app_secret" lay-verify="required" placeholder="请输入微信小程序AppSecret" autocomplete="off" class="layui-input" value="<?=$model->app_secret?>">
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">微信支付商户号</label> <label class="layui-form-label">微信支付商户号</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="mch_id" lay-verify="required" placeholder="请输入微信支付商户号" autocomplete="off" class="layui-input" value="<?=$model->mch_id?>"> <input type="text" name="mch_id" lay-verify="required" placeholder="请输入微信支付商户号" autocomplete="off" class="layui-input" value="<?=$model->mch_id?>">
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">微信支付Apiv2密钥</label> <label class="layui-form-label">微信支付Api密钥</label>
<div class="layui-input-block"> <div class="layui-input-block">
<div class="input-hide"> <div class="input-hide">
<input type="text" name="key" lay-verify="required" placeholder="请输入微信支付Apiv2密钥" autocomplete="off" class="layui-input" value="<?=$model->key?>"> <input type="text" name="key" lay-verify="required" placeholder="请输入微信支付Api密钥" autocomplete="off" class="layui-input" value="<?=$model->key?>">
<div class="tip-block">已隐藏内容,点击查看或编辑</div> <div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div> </div>
</div> </div>
<div class="layui-form-mid layui-word-aux"></div> <div class="layui-form-mid layui-word-aux"></div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付Apiv3密钥</label> <label class="layui-form-label">微信支付apiclient_cert.pem</label>
<div class="layui-input-block"> <div class="layui-input-block">
<div class="input-hide"> <div class="input-hide">
<input type="text" name="key_three" lay-verify="required" placeholder="请输入微信支付Apiv3密钥" autocomplete="off" class="layui-input" value="<?=$model->key_three?>"> <textarea name="cert_pem" placeholder="" class="layui-textarea"><?= $model->cert_pem ?></textarea>
<div class="tip-block">已隐藏内容,点击查看或编辑</div> <div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div> </div>
</div> <div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_cert.pem文件将文件的全部内容复制进来</div>
<div class="layui-form-mid layui-word-aux"></div> </div>
</div> </div>
<div class="layui-form-item layui-form-text"> <div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付apiclient_cert.pem</label> <label class="layui-form-label">微信支付apiclient_key.pem</label>
<div class="layui-input-block"> <div class="layui-input-block">
<div class="input-hide"> <div class="input-hide">
<textarea name="cert_pem" placeholder="" class="layui-textarea"><?= $model->cert_pem ?></textarea> <textarea name="key_pem" placeholder="" class="layui-textarea"><?= $model->key_pem ?></textarea>
<div class="tip-block">已隐藏内容,点击查看或编辑</div> <div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div> </div>
<div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_cert.pem文件将文件的全部内容复制进来</div> <div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_key.pem文件将文件的全部内容复制进来</div>
</div> </div>
</div> </div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付apiclient_key.pem</label> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<div class="input-hide"> <div class="" >
<textarea name="key_pem" placeholder="" class="layui-textarea"><?= $model->key_pem ?></textarea> <button class="layui-btn" lay-submit="" lay-filter="admin-setting-wechat">立即提交</button>
<div class="tip-block">已隐藏内容,点击查看或编辑</div> </div>
</div> </div>
<div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_key.pem文件将文件的全部内容复制进来</div> </div>
</div> </div>
</div> </div>
</div>
<div class="layui-form-item"> </div>
<div class="layui-input-block"> </div>
<div class="" > </div>
<button class="layui-btn" lay-submit="" lay-filter="admin-setting-wechat">立即提交</button> <script>
</div> <?php $this->beginBlock('js_script_wrap') ?>
</div> layui.config({
</div> base: '/statics/layuiadmin/' //静态资源所在路径
</div> }).extend({
</div> index: 'lib/index' //主入口模块
</div> }).use(['index', 'user'], function(){
</div> var $ = layui.$
</div> ,setter = layui.setter
</div> ,admin = layui.admin
<script> ,form = layui.form
<?php $this->beginBlock('js_script_wrap') ?> ,router = layui.router()
layui.config({ ,search = router.search;
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({ form.render();
index: 'lib/index' //主入口模块 //提交
}).use(['index', 'user'], function(){ var submitLock = false;
var $ = layui.$ form.on('submit(admin-setting-wechat)', function(obj){
,setter = layui.setter if(submitLock){
,admin = layui.admin return false;
,form = layui.form }
,router = layui.router() submitLock = true;
,search = router.search; //请求登入接口
//console.log(obj)
form.render(); var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp"])?>';
//提交 var returnUrl = "<?=\Yii::$app->request->get('return_url')?>";
var submitLock = false; var data = obj.field;
form.on('submit(admin-setting-wechat)', function(obj){ data._csrf = _csrf;
if(submitLock){ $.ajax(url,{
return false; type:"POST",
} dataType:"json",
submitLock = true; data:data,
//请求登入接口 timeout:10000,
//console.log(obj) success:function(res){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp"])?>'; if(res.code == 0){
var returnUrl = "<?=\Yii::$app->request->get('return_url')?>"; layer.msg(res.msg, {
var data = obj.field; offset: '15px'
data._csrf = _csrf; ,icon: 1
$.ajax(url,{ ,time: 1000
type:"POST", }, function(){
dataType:"json", location.reload();
data:data, });
timeout:10000, } else {
success:function(res){ layer.msg(res.msg, {
if(res.code == 0){ offset: '15px'
layer.msg(res.msg, { ,icon: 2
offset: '15px' ,time: 1000
,icon: 1 }, function(){
,time: 1000 });
}, function(){ }
location.reload(); },
}); error:function(xhr,type,err){
} else {
layer.msg(res.msg, { },
offset: '15px' complete:function(){
,icon: 2 submitLock = false;
,time: 1000 }
}, function(){ })
}); });
} $('.input-hide .tip-block').each(function(index){
}, $('.input-hide .tip-block').eq(index).bind('click',function(){
error:function(xhr,type,err){ $('.input-hide .tip-block').eq(index).hide();
});
}, });
complete:function(){ });
submitLock = false; <?php $this->endBlock(); ?>
} </script>
}) <?php $this->registerJs($this->blocks['js_script_wrap'],\yii\web\View::POS_END); ?>
});
$('.input-hide .tip-block').each(function(index){
$('.input-hide .tip-block').eq(index).bind('click',function(){
$('.input-hide .tip-block').eq(index).hide();
});
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'],\yii\web\View::POS_END); ?>

View File

@ -9,181 +9,99 @@
?> ?>
<script id="pick_link_html" type="text/html"> <script id="pick_link_html" type="text/html">
<div class="pick-link-panel"> <div class="pick-link-panel">
<div class="pick-link-panel-body"> <div class="pick-link-panel-body">
<div class="input-row layui-mb-15 layui-row layui-clearfix"> <div class="input-row layui-mb-15 layui-row layui-clearfix">
<label class="layui-col-sm2">选择链接</label> <label class="layui-col-sm2">选择链接</label>
<div class="layui-col-sm10"> <div class="layui-col-sm10">
<select class="form-control pick-link-list"> <select class="form-control pick-link-list">
<?php foreach($links as $index => $item):?> <?php foreach($links as $index => $item):?>
<option value="<?=$index?>"><?=$item["name"]?></option> <option value="<?=$index?>"><?=$item["name"]?></option>
<?php endforeach;?> <?php endforeach;?>
</select> </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> </div>
<div class="pick-link-panel-footer layui-text-center layui-mt-15 layui-mb-15">
<div class="input-row layui-mb-15 layui-row layui-clearfix" id="store" style="display: none"> <a class="layui-btn layui-btn-sm cancel-btn " href="javascript:;">取消</a>
<label class="layui-col-sm2">选择门店</label> <a class="layui-btn layui-btn-sm confirm-btn" href="javascript:;">确定</a>
<div class="layui-col-sm10">
<select class="form-control" name="store">
<?php foreach($store as $index => $item):?>
<option value="<?=$item['id']?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</div>
</div> </div>
</div>
<div class="input-row layui-mb-15 layui-row layui-clearfix" id="box" style="display: none">
<label class="layui-col-sm2">选择包厢</label>
<div class="layui-col-sm10">
<select class="form-control" name="box">
<?php foreach($box as $index => $item):?>
<option value="<?=$item['id']?>" store_id="<?=$item['store_id']?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="input-row layui-mb-15 layui-row layui-clearfix" id="notice" style="display: none">
<label class="layui-col-sm2">选择布告</label>
<div class="layui-col-sm10">
<select class="form-control" name="notice">
<?php foreach($notice as $index => $item):?>
<option value="<?=$item['id']?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</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>
<script> <script>
<?php $this->beginBlock('js_script_wrap') ?> <?php $this->beginBlock('js_script_wrap') ?>
$(document).ready(function(){ $(document).ready(function(){
//选择链接 //选择链接
$(".layui-form").on("click","<?=$link_select_btn?>",function(){ $(".layui-form").on("click","<?=$link_select_btn?>",function(){
var content = $("#pick_link_html").html(); var content = $("#pick_link_html").html();
var links = '<?= json_encode($links)?>'; var links = '<?= json_encode($links)?>';
links = JSON.parse(links); links = JSON.parse(links);
layer.open({ layer.open({
type: 1, type: 1,
title:'选择链接', title:'选择链接',
offset:'50px', offset:'50px',
area: ['560px', '300px'], //宽高 area: ['560px', '300px'], //宽高
content: content, content: content,
success:function(layero, index){ success:function(layero, index){
//console.log(layero, index); //console.log(layero, index);
var url = null; var url = null;
var params = {}; var params = {};
var selected_index = 0; var selected_index = 0;
$('.pick-link-panel').on('change','.pick-link-list',function(){ $('.pick-link-panel').on('change','.pick-link-list',function(){
var index = $(this).val(); var index = $(this).val();
index = index * 1; index = index * 1;
selected_index = index;
if(index == 2 || index == 5){ var link = links[index];
$('#store').show(); //console.log(link)
$('#notice').hide(); url = link.link;
$('#box').hide(); if(link.params.length != 0){
}else if(index == 3){ var param_html_template = $('.pick-link-panel .input-row-param.layui-hide').html();
$('#box').show(); //remove
$('#store').hide(); $(".pick-link-panel .input-row-param").each(function(index){
$('#notice').hide(); if(index > 0){
}else if(index == 4){ $(".pick-link-panel .input-row-param").eq(index).remove();
$('#box').hide(); }
$('#store').hide(); });
$('#notice').show(); //add
}else{ var param_html = '';
$('#box').hide(); for(var i in link.params){
$('#store').hide(); 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']));
$('#notice').hide(); param_html += html;
} }
$('.pick-link-panel .input-row-param.layui-hide').after(param_html);
selected_index = index; }
var link = links[index]; });
url = link.link; $('.pick-link-panel').on('click','.confirm-btn',function(){
if(link.params.length != 0){ url = links[selected_index]['link'];
var param_html_template = $('.pick-link-panel .input-row-param.layui-hide').html(); var c = $(".pick-link-panel .input-row-param").length;
//remove
$(".pick-link-panel .input-row-param").each(function(index){ $(".pick-link-panel .input-row-param").each(function(index){
if(index > 0){ if(index > 0){
$(".pick-link-panel .input-row-param").eq(index).remove(); 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)
} }
}); });
//add var l = wrx.object_length(params);
var param_html = ''; url = l == 0 ? url : url + '?' + wrx.object_to_url_params(params);
for(var i in link.params){ $('<?=$link_input_class?>').val(url);
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'])); layer.close(index);
param_html += html; })
} $('.pick-link-panel').on('click','.cancel-btn',function(){
$('.pick-link-panel .input-row-param.layui-hide').after(param_html); layer.close(index);
} });
}); }
$('.pick-link-panel').on('click','.confirm-btn',function(){ });
url = links[selected_index]['link'];
var regPos = /^\d+$/; // 非负整数
if(selected_index == 2){
params['storeId'] = $("select[name='store'] option:selected").val();
if(!regPos.test(params['storeId'])){
layer.msg('请选择门店', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
}else if(selected_index == 3){
params['id'] = $("select[name='box'] option:selected").val();
params['storeId'] = $("select[name='box'] option:selected").attr('store_id');
if(!regPos.test(params['id'])){
layer.msg('请选择包厢', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
}else if(selected_index == 4){
params['id'] = $("select[name='notice'] option:selected").val();
if(!regPos.test(params['id'])){
layer.msg('请选择布告', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
}else if(selected_index == 5){
params['storeId'] = $("select[name='store'] option:selected").val();
if(!regPos.test(params['storeId'])){
layer.msg('请选择门店', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
params['is'] = true;
}
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(); ?>
<?php $this->endBlock(); ?>
</script> </script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?> <?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>