436 lines
23 KiB
PHP
436 lines
23 KiB
PHP
<?php
|
||
/**
|
||
* @author wrx <it2bt.com>
|
||
* @description Do it yourself.
|
||
* @date 2018-6-21 23:20:52
|
||
* @version 1.0.0
|
||
*/
|
||
|
||
use app\widgets\PickImage;
|
||
use app\assets\UeditorAsset;
|
||
|
||
UeditorAsset::register($this);
|
||
$this->title = $goods_hub->isNewRecord ? '新建商品' : '编辑商品';
|
||
$this->params['breadcrumbs'][] = $this->title;
|
||
?>
|
||
<style>
|
||
.required {
|
||
color: red;
|
||
}
|
||
|
||
</style>
|
||
<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-form">
|
||
|
||
|
||
<div class="layui-col-md6">
|
||
<div class="grid-demo grid-demo-bg1">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">禁售旅行社</label>
|
||
<div class="layui-input-inline">
|
||
<div id="demo4" class="xm-select-size xm-select-demo" style="width: 200px"></div>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">商品名称<span class="required">*</span></label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="name" value="<?= $goods_hub->name ?>" lay-verify="required"
|
||
autocomplete="off" placeholder="请输入商品名称" class="layui-input" style="width: 90%">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">售价<span class="required">*</span></label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="price" value="<?= $goods->price ?>"
|
||
lay-verify="required" autocomplete="off" placeholder="请输入售价" class="layui-input">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">只做展示用途</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">导游售价<span class="required">*</span></label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="guide_price" value="<?= $goods->guide_price ?>"
|
||
lay-verify="required" autocomplete="off" placeholder="请输入导游售价" class="layui-input">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">只做展示用途</div>
|
||
</div>
|
||
|
||
|
||
<!-- <div class="layui-form-item">-->
|
||
<!-- <label class="layui-form-label">虚拟库存<span class="required">*</span></label>-->
|
||
<!-- <div class="layui-input-inline">-->
|
||
<!-- <input type="text" name="goods_stock" value="--><?//= $goods->goods_stock ?><!--"-->
|
||
<!-- lay-verify="required"-->
|
||
<!-- onchange="if(this.value <= 0){alert('只能输入整数');this.value='';}"-->
|
||
<!-- autocomplete="off" placeholder="请输入库存" class="layui-input">-->
|
||
<!-- </div>-->
|
||
<!-- </div>-->
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">重量(克)<span class="required">*</span></label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="weight" value="<?= $attr->weight ?>"
|
||
lay-verify="required"
|
||
onchange="if(/\D/.test(this.value)){alert('只能输入整数');this.value='';}"
|
||
autocomplete="off" placeholder="请输入重量" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">排序<span class="required">*</span></label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="sort" value="<?= $goods->sort ?>"
|
||
lay-verify="required"
|
||
onchange="if(/\D/.test(this.value)){alert('只能输入整数');this.value='';}"
|
||
autocomplete="off" placeholder="请输入排序" class="layui-input">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">升序,值越小排序越靠前</div>
|
||
</div>
|
||
|
||
|
||
|
||
<?= PickImage::widget([
|
||
'accept' => 'images',
|
||
'id' => 'cover_pic',
|
||
'name' => 'cover_pic',
|
||
'label' => '商品封面',
|
||
'value' => $goods_hub->cover_pic,
|
||
'tip' => '图片大小100px×100px',
|
||
'mode' => 'one',
|
||
]) ?>
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md6">
|
||
<div class="grid-demo">
|
||
|
||
<div id="def" style="display: none">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">运费规则</label>
|
||
<div class="layui-input-block">
|
||
<select name="freight_id" lay-filter="ruls">
|
||
<option value=""></option>
|
||
<?php foreach ($postage_ruls as $index => $item) : ?>
|
||
<option value="<?= $item['id'] ?>" <?= $goods->freight_id == $item['id'] ? 'selected' : '' ?>><?= $item['name'] ?></option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">包邮规则</label>
|
||
<div class="layui-input-block">
|
||
<select name="delivery_id" lay-filter="ruls">
|
||
<option value=""></option>
|
||
<?php foreach ($delivery_ruls as $index => $item) : ?>
|
||
<option value="<?= $item['id'] ?>" <?= $goods->delivery_id == $item['id'] ? 'selected' : '' ?>><?= $item['name'] ?></option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">状态<span class="required">*</span></label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="status" value="0"
|
||
title="下架" <?= $goods->status == 0 ? 'checked' : $goods->isNewRecord == 1 ? 'checked' : '' ?>>
|
||
<input type="radio" name="status" value="1"
|
||
title="上架" <?= $goods->status == 1 ? 'checked' : '' ?>>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">分类<span class="required">*</span></label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="plugin_sign" value="0"
|
||
title="试吃" <?= $goods->plugin_sign == 0 ? 'checked' : $goods->isNewRecord == 1 ? 'checked' : '' ?> lay-filter="plugin_sign">
|
||
<input type="radio" name="plugin_sign" value="1"
|
||
title="配货" <?= $goods->plugin_sign == 1 ? 'checked' : '' ?> lay-filter="plugin_sign">
|
||
<input type="radio" name="plugin_sign" value="2"
|
||
title="耳麦" <?= $goods->plugin_sign == 2 ? 'checked' : '' ?> lay-filter="plugin_sign">
|
||
<input type="radio" name="plugin_sign" value="3"
|
||
title="快递" <?= $goods->plugin_sign == 3 ? 'checked' : '' ?> lay-filter="plugin_sign">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">规格</label>
|
||
<div class="layui-input-block">
|
||
<input type="checkbox" name="goods_attr[first]" value="1" lay-filter="goods_attr" lay-skin="primary" title="盒">
|
||
<input type="checkbox" name="goods_attr[second]" value="2" lay-filter="goods_attr" lay-skin="primary" title="套">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-col-md6" id="goods_attr_first_html" style="display:none;">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">
|
||
单位:盒<span class="required">*</span>
|
||
</div>
|
||
<div class="layui-card-body">
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">售价(元)</label>
|
||
<div class="layui-input-inline">
|
||
<input type="number" name="goods_attr_first[price]" value="<?= $attr[0]['price'] ?? null ?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_first">
|
||
</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="goods_attr_first[guide_price]" value="<?= $attr[0]['tourist'] ?? null ?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_first">
|
||
</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="goods_attr_first[stock]" value="<?= $attr[0]['stock'] ?? null ?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_first">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">管家婆SKU</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="goods_attr_first[serial_no]" value="<?= $attr[0]['serial_no'] ?? ''?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_first">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-col-md6" id="goods_attr_second_html" style="display:none;">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">
|
||
单位:套<span class="required">*</span>
|
||
</div>
|
||
<div class="layui-card-body">
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">售价(元)</label>
|
||
<div class="layui-input-inline">
|
||
<input type="number" name="goods_attr_second[price]" value="<?= $attr[1]['price'] ?? null ?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_second">
|
||
</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="goods_attr_second[guide_price]" value="<?= $attr[1]['tourist'] ?? null ?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_second">
|
||
</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="goods_attr_second[stock]" value="<?= $attr[1]['stock'] ?? null ?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_second">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">管家婆SKU</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="goods_attr_second[serial_no]" value="<?= $attr[1]['serial_no'] ?? ''?>" autocomplete="off" placeholder="请输入" class="layui-input goods_attr_second">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux"></div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<div class="">
|
||
<input type="hidden" name="id" value="<?= $goods_hub->id ?>">
|
||
<input type="hidden" name="type" value="0">
|
||
<input type="hidden" name="use_attr" value="off">
|
||
<button class="layui-btn" id="layui-form-submit" lay-submit=""
|
||
lay-filter="layui-form-submit">保存
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
<?php $this->beginBlock('js_script_wrap') ?>
|
||
layui.config({
|
||
base: '/statics/layuiadmin/' //静态资源所在路径
|
||
}).extend({
|
||
index: 'lib/index', //主入口模块
|
||
laySku: 'laySku',
|
||
xmSelect:'lib/extend/xm-select',
|
||
}).use(['index', 'user', 'upload', 'laySku','xmSelect'], function () {
|
||
var $ = layui.$
|
||
, setter = layui.setter
|
||
, admin = layui.admin
|
||
, upload = layui.upload
|
||
, form = layui.form
|
||
, router = layui.router()
|
||
, layer = layui.layer
|
||
, laySku = layui.laySku
|
||
, search = router.search;
|
||
|
||
|
||
var xmSelect = layui.xmSelect;
|
||
var demo4 = xmSelect.render({
|
||
el: '#demo4',
|
||
size: 'small',
|
||
model: { label: { type: 'text' } },
|
||
tree: {
|
||
show: true,
|
||
strict: false,
|
||
expandedKeys: [ -1 ],
|
||
repeat: true,
|
||
},
|
||
height: 'auto'
|
||
})
|
||
|
||
var agency = '<?= $agency ?>'
|
||
var goods_agency = '<?= $goods->prohibit_agency ?>'
|
||
setTimeout(function() {
|
||
demo4.update({
|
||
data: JSON.parse(agency)
|
||
});
|
||
if(!isNewRecord){
|
||
demo4.setValue(JSON.parse(goods_agency));
|
||
}
|
||
}, 300);
|
||
|
||
var isNewRecord = '<?= $goods_hub->isNewRecord ?>';
|
||
if(!isNewRecord){
|
||
var plugin_sign = '<?= $goods->plugin_sign ?>';
|
||
if(plugin_sign === '3'){
|
||
$('#def').show()
|
||
}
|
||
}
|
||
|
||
form.on('checkbox(goods_attr)', function(data){
|
||
var value = data.value;
|
||
var checked = data.elem.checked;
|
||
if(value == '1'){
|
||
if(checked == true){
|
||
//lay-verify="required" id="goods_attr_first_price"
|
||
$('#goods_attr_first_html').show()
|
||
$('.goods_attr_first').attr('lay-verify','required')
|
||
}else{
|
||
$('#goods_attr_first_html').hide()
|
||
$('.goods_attr_first').removeAttr('lay-verify')
|
||
}
|
||
}
|
||
if(value == '2'){
|
||
if(checked == true){
|
||
$('#goods_attr_second_html').show()
|
||
$('.goods_attr_second').attr('lay-verify','required')
|
||
}else{
|
||
$('#goods_attr_second_html').hide()
|
||
$('.goods_attr_second').removeAttr('lay-verify')
|
||
}
|
||
}
|
||
});
|
||
|
||
|
||
|
||
form.on("radio(plugin_sign)", function (data) {
|
||
var plugin_sign = data.value;
|
||
if(plugin_sign === '3'){
|
||
$('#def').show()
|
||
}else{
|
||
$('#def').hide()
|
||
}
|
||
|
||
})
|
||
|
||
form.render();
|
||
//提交
|
||
var submitLock = false;
|
||
form.on('submit(layui-form-submit)', function (obj) {
|
||
|
||
if (submitLock) {
|
||
return false;
|
||
}
|
||
submitLock = true;
|
||
//请求登入接口
|
||
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/goods/edit", 'id' => $goods_hub->id ? $goods_hub->id : 0]) ?>';
|
||
var data = obj.field;
|
||
data._csrf = _csrf;
|
||
data.prohibit_agency = JSON.stringify(demo4.getValue());
|
||
console.log(data);
|
||
$.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 () {
|
||
location.reload();
|
||
});
|
||
} else {
|
||
layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
}, function () {
|
||
submitLock = false;
|
||
});
|
||
}
|
||
},
|
||
error: function (xhr, type, err) {
|
||
layer.msg(xhr.responseText, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
}, function () {
|
||
});
|
||
},
|
||
complete: function () {
|
||
submitLock = false;
|
||
}
|
||
})
|
||
});
|
||
|
||
|
||
|
||
|
||
|
||
});
|
||
<?php $this->endBlock(); ?>
|
||
</script>
|
||
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>
|