201 lines
7.2 KiB
PHP
201 lines
7.2 KiB
PHP
<?php
|
||
|
||
/*
|
||
* 规格管理
|
||
*/
|
||
|
||
namespace app\admin\controller;
|
||
use think\facade\View;
|
||
use think\facade\Lang;
|
||
/**
|
||
* ============================================================================
|
||
* 联课教育商城系统
|
||
* ============================================================================
|
||
* 版权所有 2022 刻羽互动科技有限公司,并保留所有权利。
|
||
* 网站地址: http://www.o1h.cn
|
||
* ----------------------------------------------------------------------------
|
||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
|
||
* 不允许对程序代码以任何形式任何目的的再发布。
|
||
* ============================================================================
|
||
* 控制器
|
||
*/
|
||
class Spec extends AdminControl {
|
||
|
||
public function initialize() {
|
||
parent::initialize();
|
||
Lang::load(base_path() . 'admin/lang/'.config('lang.default_lang').'/spec.lang.php');
|
||
}
|
||
|
||
public function index() {
|
||
/**
|
||
* 查询条件
|
||
*/
|
||
$where = array();
|
||
|
||
$sp_name = trim(input('param.sp_name'));
|
||
if ($sp_name != '') {
|
||
$where[] = array('sp_name','like', '%' . $sp_name . '%');
|
||
}
|
||
$gc_name = trim(input('param.gc_name'));
|
||
if ($gc_name != '') {
|
||
$where[] = array('gc_name','like', '%' . $gc_name . '%');
|
||
}
|
||
|
||
$spec_model = model('spec');
|
||
$spec_list = $spec_model->getSpecList($where, 10);
|
||
View::assign('spec_list', $spec_list);
|
||
View::assign('show_page', $spec_model->page_info->render());
|
||
$this->setAdminCurItem('index');
|
||
return View::fetch();
|
||
}
|
||
|
||
public function spec_add() {
|
||
if (!(request()->isPost())) {
|
||
$spec = [
|
||
'gc_id' => 0,
|
||
];
|
||
View::assign('spec', $spec);
|
||
$gc_list = model('goodsclass')->getGoodsclassListByParentId(0);
|
||
View::assign('gc_list', $gc_list);
|
||
return View::fetch('spec_form');
|
||
} else {
|
||
$data = array(
|
||
'sp_name' => input('post.sp_name'),
|
||
'sp_sort' => input('post.sp_sort'),
|
||
'gc_id' => input('post.gc_id'),
|
||
'gc_name' => input('post.gc_name'),
|
||
);
|
||
|
||
$spec_validate = ds_validate('spec');
|
||
if (!$spec_validate->scene('spec_add')->check($data)) {
|
||
$this->error($spec_validate->getError());
|
||
}
|
||
//验证数据 END
|
||
$spec_model= model('spec');
|
||
$result=$spec_model->addSpec($data);
|
||
if ($result) {
|
||
dsLayerOpenSuccess(lang('ds_common_op_succ'));
|
||
} else {
|
||
$this->error(lang('error'));
|
||
}
|
||
}
|
||
}
|
||
|
||
public function spec_edit() {
|
||
//注:pathinfo地址参数不能通过get方法获取,查看“获取PARAM变量”
|
||
$sp_id = input('param.sp_id');
|
||
if (empty($sp_id)) {
|
||
$this->error(lang('param_error'));
|
||
}
|
||
if (!request()->isPost()) {
|
||
$spec_model= model('spec');
|
||
$spec=$spec_model->getSpecInfo($sp_id);
|
||
View::assign('spec', $spec);
|
||
$gc_list = model('goodsclass')->getGoodsclassListByParentId(0);
|
||
View::assign('gc_list', $gc_list);
|
||
$spec_model=model('spec');
|
||
$specvalue_list = $spec_model->getSpecvalueList(array('sp_id' => $sp_id));
|
||
View::assign('specvalue_list', $specvalue_list);
|
||
return View::fetch('spec_form');
|
||
} else {
|
||
$data = array(
|
||
'sp_name' => input('post.sp_name'),
|
||
'sp_sort' => input('post.sp_sort'),
|
||
'gc_id' => input('post.gc_id'),
|
||
'gc_name' => input('post.gc_name'),
|
||
);
|
||
//验证数据 BEGIN
|
||
$spec_validate = ds_validate('spec');
|
||
if (!$spec_validate->scene('spec_edit')->check($data)) {
|
||
$this->error($spec_validate->getError());
|
||
}
|
||
//验证数据 END
|
||
|
||
$spec_model=model('spec');
|
||
//更新规格值表
|
||
$spec_value = input('post.spec_value/a');
|
||
$spec_array = array();
|
||
// 要删除的规格值id
|
||
$del_array = array();
|
||
if (!empty(input('post.spec_del/a'))) {
|
||
$del_array = input('post.spec_del/a');
|
||
}
|
||
if (!empty($spec_value) && is_array($spec_value)) {
|
||
foreach ($spec_value as $key => $val) {
|
||
|
||
if (isset($val['form_submit']) && ((is_array($del_array) && !in_array(intval($key), $del_array)) || empty($del_array))) { // 规格值已修改
|
||
$update = array();
|
||
$update['spvalue_name'] = $val['name'];
|
||
$update['spvalue_sort'] = intval($val['sort']);
|
||
$spec_model->editSpecvalue($update,array('spvalue_id' => intval($key)));
|
||
|
||
$spec_array[] = $val['name'];
|
||
} else if (!isset($val['form_submit'])) {
|
||
|
||
$insert = array();
|
||
$insert['spvalue_name'] = $val['name'];
|
||
$insert['sp_id'] = $sp_id;
|
||
$insert['gc_id'] = input('post.gc_id');
|
||
$insert['spvalue_sort'] = intval($val['sort']);
|
||
$spec_model->addSpecvalue($insert);
|
||
|
||
$spec_array[] = $val['name'];
|
||
}
|
||
}
|
||
// 删除规格值
|
||
if ($del_array) {
|
||
foreach ($del_array as $key => $value) {
|
||
$spec_model->delSpecvalue(array('spvalue_id' => intval($value)));
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
$spec_model= model('spec');
|
||
$condition=array();
|
||
$condition[]=array('sp_id','=',$sp_id);
|
||
$result=$spec_model->editSpec($data, $condition);
|
||
if ($result>=0) {
|
||
dsLayerOpenSuccess(lang('ds_common_op_succ'));
|
||
} else {
|
||
$this->error(lang('ds_common_op_fail'));
|
||
}
|
||
}
|
||
}
|
||
|
||
public function spec_drop() {
|
||
//注:pathinfo地址参数不能通过get方法获取,查看“获取PARAM变量”
|
||
$sp_id = input('param.sp_id');
|
||
if (empty($sp_id)) {
|
||
$this->error(lang('param_error'));
|
||
}
|
||
$spec_model = model('spec');
|
||
$result=$spec_model->delSpec(array('sp_id' => $sp_id));
|
||
if ($result) {
|
||
ds_json_encode(10000, lang('ds_common_del_succ'));
|
||
} else {
|
||
ds_json_encode(10001, lang('ds_common_del_fail'));
|
||
}
|
||
}
|
||
/**
|
||
* 获取卖家栏目列表,针对控制器下的栏目
|
||
*/
|
||
protected function getAdminItemList() {
|
||
$menu_array = array(
|
||
array(
|
||
'name' => 'index',
|
||
'text' => '管理',
|
||
'url' => url('Spec/index')
|
||
),
|
||
array(
|
||
'name' => 'spec_add',
|
||
'text' => '新增规格',
|
||
'url' => "javascript:dsLayerOpen('".url('Spec/spec_add')."','新增规格')"
|
||
),
|
||
);
|
||
return $menu_array;
|
||
}
|
||
}
|
||
|
||
?>
|