作者 何书鹏
1 个管道 的构建 通过 耗费 1 秒

商品多规格提交

... ... @@ -516,7 +516,7 @@ class User extends Api
{
$post = $this->request->post();
$model = UserSize::detail($this->user['id'], $post['user_size_id']);
$this->success(json_encode($model->edit($post)));
$this->success($model->edit($post));
if(empty($model)){
$this->error(__('尺寸信息不存在'));
}
... ...
... ... @@ -79,13 +79,13 @@ class UserSize extends Model
empty($data['isdefault']) && $data['isdefault'] = '0';
// 该地址设为默认,其他地址就设为非默认
if($data['isdefault'] == '1'){
return 1;
$this->where('user_id',$this['user_id'])->update(['isdefault'=>'0']);
}
// 对象转json字符串
if(!empty($data['body_info']) && is_array($data['body_info'])){
$data['body_info'] = json_encode($data['body_info']);
}
return $data;
return $this->allowField(true)->save($data);
}
... ...
... ... @@ -70,6 +70,27 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/goods.spec']
var specMany = new GoodsSpec({
container: '.goods-spec-many'
});
Form.api.bindevent($("form[role=form]"), function(data, ret){
//如果我们需要在提交表单成功后做跳转,可以在此使用location.href="链接";进行跳转
Toastr.success("成功");
}, function(data, ret){
Toastr.error("失败");
}, function(success, error){
//bindevent的第三个参数为提交前的回调
//如果我们需要在表单提交前做一些数据处理,则可以在此方法处理
//注意如果我们需要阻止表单,可以在此使用return false;即可
//如果我们处理完成需要再次提交表单则可以使用submit提交,如下
//Form.api.submit(this, success, error);
var specType = $('select[name="row[spec_type]"]').val();
if (specType === '2') {
var isEmpty = specMany.isEmptySkuList();
isEmpty === true && Toastr.error('商品规格不能为空');
$('input[name="row[spec_many]"]').val(JSON.stringify(specMany.getData()));
return !isEmpty;
}
return true;
});
},
edit: function () {
Controller.api.bindevent();
... ... @@ -80,6 +101,27 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/goods.spec']
var specMany = new GoodsSpec({
container: '.goods-spec-many'
}, Config.specData);
Form.api.bindevent($("form[role=form]"), function(data, ret){
//如果我们需要在提交表单成功后做跳转,可以在此使用location.href="链接";进行跳转
Toastr.success("成功");
}, function(data, ret){
Toastr.error("失败");
}, function(success, error){
//bindevent的第三个参数为提交前的回调
//如果我们需要在表单提交前做一些数据处理,则可以在此方法处理
//注意如果我们需要阻止表单,可以在此使用return false;即可
//如果我们处理完成需要再次提交表单则可以使用submit提交,如下
//Form.api.submit(this, success, error);
var specType = $('select[name="row[spec_type]"]').val();
if (specType === '2') {
var isEmpty = specMany.isEmptySkuList();
isEmpty === true && Toastr.error('商品规格不能为空');
$('input[name="row[spec_many]"]').val(JSON.stringify(specMany.getData()));
return !isEmpty;
}
return true;
});
},
style: function () {
Form.api.bindevent($("form[role=form]"));
... ... @@ -201,27 +243,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/goods.spec']
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"), function(data, ret){
//如果我们需要在提交表单成功后做跳转,可以在此使用location.href="链接";进行跳转
Toastr.success("成功");
}, function(data, ret){
Toastr.error("失败");
}, function(success, error){
//bindevent的第三个参数为提交前的回调
//如果我们需要在表单提交前做一些数据处理,则可以在此方法处理
//注意如果我们需要阻止表单,可以在此使用return false;即可
//如果我们处理完成需要再次提交表单则可以使用submit提交,如下
//Form.api.submit(this, success, error);
var specType = $('select[name="row[spec_type]"]').val();
if (specType === '2') {
var isEmpty = specMany.isEmptySkuList();
isEmpty === true && Toastr.error('商品规格不能为空');
$('input[name="row[spec_many]"]').val(JSON.stringify(specMany.getData()));
return !isEmpty;
}
return true;
});
// 切换单/多规格
$('select[name="row[spec_type]"]').change(function (e) {
var $goodsSpecMany = $('.goods-spec-many')
... ...