254 lines
11 KiB
PHP
254 lines
11 KiB
PHP
<?php
|
||
|
||
/**
|
||
* @author Any
|
||
* @description KISS
|
||
* @date 2021年10月5日
|
||
* @version 1.0.0
|
||
*
|
||
* _____LOG_____
|
||
*
|
||
*/
|
||
|
||
use app\widgets\PickFile;
|
||
use app\widgets\GoodsSku;
|
||
use app\assets\UeditorAsset;
|
||
|
||
UeditorAsset::register($this);
|
||
$this->title = $model->isNewRecord ? '添加商品' : '编辑商品';
|
||
$this->params['breadcrumbs'][] = ['label' => '商品', 'url' => [\Yii::$app->urlManager->createUrl(["admin/mall/goods/index"])]];
|
||
$this->params['breadcrumbs'][] = $this->title;
|
||
?>
|
||
<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-md12">
|
||
<div class="layui-form">
|
||
|
||
|
||
<div class="layui-form-item input-static">
|
||
<label class="layui-form-label required">商品名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="plugin_sign" value="<?= $model->plugin_sign ? $model->plugin_sign : 'ball_arm' ?>"
|
||
title="检测球杆"
|
||
lay-filter="static" <?= $model->plugin_sign == 'ball_arm' ? 'checked' : '' ?>>
|
||
<input type="radio" name="plugin_sign" value="<?= $model->plugin_sign ? $model->plugin_sign : 'hit_ball' ?>"
|
||
title="击球检测"
|
||
lay-filter="static" <?= $model->plugin_sign == 'hit_ball' ? 'checked' : '' ?>>
|
||
<input type="radio" name="plugin_sign"
|
||
value="<?= $model->plugin_sign ? $model->plugin_sign : 'member' ?>"
|
||
title="购买会员"
|
||
lay-filter="static" <?= $model->plugin_sign == 'member' ? 'checked' : '' ?>>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
|
||
<?= PickFile::widget([
|
||
'accept' => 'images',
|
||
'id' => 'cover_pic',
|
||
'name' => 'cover_pic',
|
||
'label' => '封面',
|
||
'value' => $model->goodsHub ? $model->goodsHub->cover_pic : '',
|
||
'tip' => '图片大小750×750',
|
||
'required' => true,
|
||
'imageCompressEnable' => 1,
|
||
'imageCompressBorder' => 750,
|
||
]) ?>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">售价</label>
|
||
<div class="layui-input-inline">
|
||
<input type="number" name="price" placeholder="请输入售价" autocomplete="off"
|
||
class="layui-input" value="<?= $model->price ?>" lay-verify="required">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">库存</label>
|
||
<div class="layui-input-inline">
|
||
<input type="number" name="goods_stock" placeholder="请输入库存" autocomplete="off"
|
||
class="layui-input" value="<?= $model->goods_stock ?>" lay-verify="required">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
<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>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">内容</label>
|
||
<div class="layui-input-block">
|
||
<textarea id="editor" style="width: 100%"
|
||
name="content"
|
||
rows="30"><?= $model->goodsHub ? $model->goodsHub->detail : "" ?></textarea>
|
||
</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>
|
||
<script>
|
||
<?php $this->beginBlock('js_script_wrap') ?>
|
||
layui.config({
|
||
base: '/statics/layuiadmin/' //静态资源所在路径
|
||
}).extend({
|
||
index: 'lib/index' //主入口模块
|
||
}).use(['index', 'user'], function () {
|
||
var $ = layui.$
|
||
, setter = layui.setter
|
||
, admin = layui.admin
|
||
, form = layui.form
|
||
, router = layui.router()
|
||
, search = router.search;
|
||
|
||
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/mall/goods/edit", 'id' => $model->id ? $model->id : 0]) ?>';
|
||
var returnUrl = "<?= $return_url ?>";
|
||
var data = obj.field;
|
||
data.detail = UE.getEditor('editor').getContent();
|
||
|
||
if (data.use_attr == 1) {
|
||
for (var i in data.attr) {
|
||
if (!data.attr[i]['price'] || data.attr[i]['price'] * 1 < 0) {
|
||
submitLock = false;
|
||
return layer.msg('价格不能为空或小于0');
|
||
}
|
||
if (!data.attr[i]['stock'] || data.attr[i]['stock'] * 1 < 0) {
|
||
submitLock = false;
|
||
return layer.msg('库存不能为空或小于0');
|
||
}
|
||
}
|
||
}
|
||
|
||
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;
|
||
}
|
||
})
|
||
});
|
||
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); ?>
|
||
|
||
|
||
|