浏览代码

add goods_plus

lionared 7 年之前
父节点
当前提交
d12ad083a1

+ 77 - 0
admin/control/goods_plus.php

@@ -16,5 +16,82 @@ class goods_plusControl extends SystemControl {
 
     public function indexOp()
     {
+        $lang	= Language::getLangContent();
+
+        $page	= new Page();
+        $page->setEachNum(10);
+        $page->setStyle('admin');
+
+        $plus_list = Model('goods_plus')->goodsPlusList();
+
+        Tpl::output('page',$page->show());
+        Tpl::output('plus_list', $plus_list);
+        Tpl::showpage('goods_plus.index');
+    }
+
+    public function addOp()
+    {
+        $lang	= Language::getLangContent();
+
+        if (chksubmit()) {
+            $obj_validate = new Validator();
+            $obj_validate->validateparam = array(
+                array("input" => $_POST['gp_name'], "require" => "true", "message" => '购车附加条款内容不能为空')
+            );
+            $error = $obj_validate->validate();
+            if ($error != ''){
+                showMessage($error);
+            }else {
+                //处理提交数据
+                $goods_plus = [];
+                $goods_plus['gp_name'] = trim($_POST['gp_name']);
+                $goods_plus['gp_type'] = intval($_POST['gp_type']);
+                $goods_plus['gp_sort'] = intval($_POST['gp_sort']);
+
+                $add_result = Model('goods_plus')->addGoodsPlus($goods_plus);
+                if($add_result) {
+                    $url = array(
+                        array(
+                            'url'=>'index.php?act=goods_plus&op=add',
+                            'msg'=> '继续添加购车附加条款'
+                        ),
+                        array(
+                            'url'=>'index.php?act=goods_plus&op=index',
+                            'msg'=> '返回购车附加条款管理首页'
+                        )
+                    );
+                    $this->log('添加购车附加条款'.'['.$_POST['gp_name'].']',1);
+                    showMessage($lang['nc_common_save_succ'], $url);
+                }else {
+                    $this->log('添加购车附加条款'.'['.$_POST['gp_name'].']',0);
+                    showMessage($lang['nc_common_save_fail']);
+                }
+            }
+        }
+
+        Tpl::showpage('goods_plus.add');
+    }
+
+    public function ajax_editOp()
+    {
+        $where = [
+            'gp_id' => intval($_GET['gp_id'])
+        ];
+        $update = [
+            'gp_name' => trim($_GET['gp_name']),
+            //'gp_type' => intval($_GET['gp_type']),
+            'gp_sort' => intval($_GET['gp_sort']),
+        ];
+        $result = Model('goods_plus')->editGoodsPlus($update, $where);
+        echo json_encode(['done'=>$result]);exit();
+    }
+
+    public function ajax_deleteOp()
+    {
+        $where = [
+            'gp_id' => intval($_GET['gp_id'])
+        ];
+        $result = Model('goods_plus')->delGoodsPlus($where);
+        echo json_encode(['done'=>$result]);exit();
     }
 }

+ 102 - 0
admin/templates/default/goods_plus.add.php

@@ -0,0 +1,102 @@
+<?php defined('InShopNC') or exit('Access Invalid!');?>
+
+<div class="page">
+    <div class="fixed-bar">
+        <div class="item-title">
+            <h3><?php echo $lang['nc_spec_manage'];?></h3>
+            <ul class="tab-base">
+                <li><a href="index.php?act=goods_plus&op=index"><span><?php echo $lang['nc_manage'];?></span></a></li>
+                <li><a class="current" href="JavaScript:void(0);"><span>添加条款</span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form id="goods_plus_form" method="post" enctype="multipart/form-data">
+        <input type="hidden" value="ok" name="form_submit" />
+        <table class="table tb-type2">
+            <tbody>
+            <tr class="noborder">
+                <td class="required" colspan="2">
+                    <label class="validation" for="gp_name"><?php echo '条款内容'.$lang['nc_colon'];?></label>
+                </td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform"><input type="text" class="txt" name="gp_name" id="gp_name" /></td>
+                <td class="vatop tips">请填写购车附加条款的内容,如:是否店内上牌、是否需要本地户口等</td>
+            </tr>
+
+            <tr>
+                <td class="vatop rowform required" colspan="2">
+                    <label class="validation" for="gp_type">条款类型</label>
+                </td>
+            </tr>
+            <tr class="noborder">
+                <td>
+                    <select class="class-select" name="gp_type" id="gp_type">
+                        <option value="1">1</option>
+                        <option value="2">2</option>
+                    </select>
+                </td>
+                <td>条款类型说明</td>
+            </tr>
+            <tr>
+                <td class="required" colspan="2"><label class="validation" for="gp_sort"><?php echo $lang['nc_sort'].$lang['nc_colon'];?></label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform"><input type="text" class="txt" name="gp_sort" id="gp_sort" value="0" /></td>
+                <td class="vatop tips">请填写自然数。条款内容列表将会根据排序进行由小到大排列显示。</td>
+            </tr>
+            </tbody>
+            <tfoot>
+            <tr class="tfoot">
+                <td colspan="15"><a id="submitBtn" class="btn" href="JavaScript:void(0);"> <span><?php echo $lang['nc_submit'];?></span> </a></td>
+            </tr>
+            </tfoot>
+        </table>
+    </form>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/common_select.js" charset="utf-8"></script>
+<script type="text/javascript">
+    $(function(){
+        //表单验证
+        $('#spec_form').validate({
+            errorPlacement: function(error, element){
+                error.appendTo(element.parent().parent().prev().find('td:first'));
+            },
+
+            rules : {
+                gp_name: {
+                    required : true,
+                    maxlength: 255,
+                    minlength: 1
+                },
+                gp_type: {
+                    required : true
+                },
+                gp_sort: {
+                    required : true,
+                    digits	 : true
+                }
+            },
+            messages : {
+                gp_name : {
+                    required : '条款内容不能为空',
+                    maxlength: '条款内容不能超过255个字符',
+                    minlength: '条款内容至少要有一个字符'
+                },
+                gp_sort: {
+                    required : '排序不能为空',
+                    digits   : '排序格式必须为数字'
+                }
+            }
+        });
+
+        //按钮先执行验证再提交表单
+        $("#submitBtn").click(function(){
+            if($("#goods_plus_form").valid()){
+                $("#goods_plus_form").submit();
+            }
+        });
+    });
+
+</script>

+ 126 - 0
admin/templates/default/goods_plus.index.php

@@ -0,0 +1,126 @@
+<?php defined('InShopNC') or exit('Access Invalid!');?>
+
+<div class="page">
+  <div class="fixed-bar">
+    <div class="item-title">
+        <h3>附加条款管理</h3>
+        <ul class="tab-base">
+            <li><a class="current" href="JavaScript:void(0);"><span><?php echo $lang['nc_manage'];?></span></a></li>
+            <li><a href="index.php?act=goods_plus&op=add"><span>添加条款</span></a></li>
+        </ul>
+    </div>
+  </div>
+    <div class="fixed-empty"></div>
+    <table id="prompt" class="table tb-type2">
+        <tbody>
+        <tr class="space odd">
+            <th colspan="12" class="nobg"> <div class="title">
+                    <h5><?php echo $lang['nc_prompts'];?></h5>
+                    <span class="arrow"></span> </div>
+            </th>
+        </tr>
+        <tr class="odd">
+            <td><ul>
+                    <li>如何添加附加条款</li>
+                    <li>...</li>
+            </ul></td>
+        </tr>
+        </tbody>
+    </table>
+    <form id="form_goods_plus" method="get">
+        <input type="hidden" name="act" value="goods_plus" />
+        <input type="hidden" name="op" value="delete" />
+        <table class="table tb-type2">
+            <thead>
+            <tr class="thead">
+                <th></th>
+                <th><?php echo $lang['nc_sort'];?></th>
+                <th>附加条款内容</th>
+                <th class="align-center"><?php echo $lang['nc_handle'];?></th>
+            </tr>
+            </thead>
+            <tbody>
+            <?php if ( !empty($output['plus_list']) && is_array($output['plus_list']) ) {?>
+                <?php foreach ($output['plus_list'] as $val) {?>
+                    <tr class="hover edit">
+                        <td class="w48">
+                            <input type="checkbox" name="del_id[]" value="<?php echo $val['gp_id'];?>" class="checkitem" />
+                            <img fieldid="<?php echo $val['gp_id'];?>" status="close" nc_type="flex" src="<?php echo ADMIN_TEMPLATES_URL;?>/images/tv-item.gif">
+
+                        </td>
+                        <td class="w48 sort"><span class="editable" maxvalue="255" title="<?php echo $lang['nc_editable'];?>" datatype="pint" fieldid="<?php echo $val['gp_id'];?>" ajax_branch="sort" fieldname="gp_sort" nc_type="inline_edit"><?php echo $val['gp_sort'];?></span></td>
+                        <td class=""><span class="editable" fieldname="gp_name" nc_type="inline_edit"><?php echo $val['gp_name'];?></span></td>
+                        <td class="w96 align-center">
+                            <a href="javascript:void(0)" onclick="ajax_edit('<?php echo $val['gp_id'];?>')"><?php echo $lang['nc_edit'];?></a> | <a href="javascript:void(0)" onclick="ajax_delete('<?php echo $val['gp_id'];?>')"><?php echo $lang['nc_del'];?></a>
+                        </td>
+                    </tr>
+                <?php }?>
+            <?php }else{ ?>
+                <tr class="no_data">
+                    <td colspan="10"><?php echo $lang['nc_no_record'];?></td>
+                </tr>
+            <?php }?>
+            </tbody>
+            <?php if(!empty($output['plus_list']) && is_array($output['plus_list'])){ ?>
+                <tfoot>
+                <tr>
+                    <td><input type="checkbox" class="checkall" id="checkallBottom" /></td>
+                    <td id="dataFuncs" colspan="16"><label for="checkallBottom"><?php echo $lang['nc_select_all'];?></label>
+                        <a class="btn" onclick="submit_form('del');" href="JavaScript:void(0);"> <span><?php echo $lang['nc_del'];?></span> </a>
+                        <div class="pagination"> <?php echo $output['page'];?> </div></td>
+                <tr>
+                </tfoot>
+            <?php }?>
+        </table>
+    </form>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquery.edit.js" charset="utf-8"></script>
+<script type="text/javascript">
+function ajax_edit($gp_id) {
+    var _url = 'index.php?act=goods_plus&op=ajax_edit&gp_id=' + $gp_id;
+    var parent = $(event.target).parents('tr');
+    var gp_name = parent.find("span[fieldname='gp_name']").text();
+    var gp_sort = parent.find("span[fieldname='gp_sort']").text();
+    $.getJSON(_url, {gp_name: gp_name, gp_sort: gp_sort}, function($data) {
+        if($data.done) {
+            window.location.reload();
+        } else {
+            alert("修改失败");
+            return false;
+        }
+    });
+}
+function ajax_delete($gp_id) {
+    if(confirm("确定要删除该条款内容吗?")) {
+        var _url = 'index.php?act=goods_plus&op=ajax_delete&gp_id=' + $gp_id;
+        $.getJSON(_url, {}, function($data) {
+            if($data.done) {
+                window.location.reload();
+            } else {
+                alert("修改失败");
+                return false;
+            }
+        });
+    } else {
+        return false;
+    }
+}
+function submit_form(type){
+    var id='';
+    $('input[type=checkbox]:checked').each(function(){
+        if(!isNaN($(this).val())){
+            id += $(this).val();
+        }
+    });
+    if(id == ''){
+        alert('请选择一个或多个附加条款');
+        return false;
+    }
+    if(type=='del'){
+        if(!confirm('<?php echo $lang['nc_ensure_del'];?>')){
+            return false;
+        }
+    }
+    $('#form_goods_plus').submit();
+}
+</script>

+ 35 - 0
data/model/goods_plus.model.php

@@ -0,0 +1,35 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: lionared
+ * Date: 2018/3/2
+ * Time: 下午5:06
+ */
+defined('InShopNC') or exit('Access Invalid!');
+
+class goods_plusModel extends Model
+{
+    public function __construct() {
+        parent::__construct('goods_plus');
+    }
+
+    public function goodsPlusList(array $cond=[])
+    {
+        return $this->table('goods_plus')->where($cond)->select();
+    }
+
+    public function addGoodsPlus(array $insert)
+    {
+        return $this->table('goods_plus')->insert($insert);
+    }
+
+    public function editGoodsPlus(array $update, array $where)
+    {
+        return $this->table('goods_plus')->where($where)->update($update);
+    }
+
+    public function delGoodsPlus(array $where)
+    {
+        return $this->table('goods_plus')->where($where)->delete();
+    }
+}

+ 4 - 4
data/model/spec.model.php

@@ -89,7 +89,7 @@ class specModel extends Model
      * @param array $insert 添加数据
      * @return boolean
      */
-    public function addSpecValue($insert) {
+    public function addSpecValue(array $insert) {
         $insert = $this->deal_spec_values($insert);
 
         if($this->spec_value_exist($insert)) {
@@ -286,7 +286,7 @@ class specModel extends Model
 		return $condition_str;
 	}
 
-    private function deal_spec_values($input)
+    private function deal_spec_values(array $input)
     {
         //&& isset($input['store_id']) && isset($input['sp_value_name'])
         if(isset($input['sp_id']))
@@ -313,7 +313,7 @@ class specModel extends Model
         return $input;
     }
 
-    private function spec_value_exist($where)
+    private function spec_value_exist(array $where)
     {
         $result = $this->table('spec_value')->where($where)->find();
         if(!empty($result)) {
@@ -345,6 +345,6 @@ class specModel extends Model
             $num = 1;
         }
         $num *= 12;
-        return $num. "期";
+        return $num;
     }
 }

+ 11 - 1
shop/control/store_goods_add.php

@@ -128,6 +128,10 @@ class store_goods_addControl extends BaseSellerControl
         Tpl::output('attr_list', $attr_list);
         Tpl::output('brand_list', $brand_list);
 
+        //附加条款
+        $goods_plus_list = Model('goods_plus')->goodsPlusList();
+        Tpl::output('gp_list', $goods_plus_list);
+
         // 实例化店铺商品分类模型
         $store_goods_class = Model('store_goods_class')->getClassTree(array('store_id' => $_SESSION ['store_id'], 'stc_state' => '1'));
         Tpl::output('store_goods_class', $store_goods_class);
@@ -198,7 +202,13 @@ class store_goods_addControl extends BaseSellerControl
             $common_array['goods_attr']         = serialize($_POST['attr']);
             $common_array['goods_body']         = $_POST['g_body'];
             $common_array['car_id']             = intval($_POST['car_id']);         //车型id
-            $common_array['insurance_fee']      = floatval($_POST['insurance_fee']);//保险费用
+            $common_array['deposit']            = floatval($_POST['deposit']);     //订金
+            $common_array['goods_plus']         = serialize($_POST['goods_plus']);  //附加条款
+            $common_array['purchase_tax']       = intval($_POST['purchase_tax']);   //是否赠送购置税
+            $common_array['auto_insurance']     = intval($_POST['auto_insurance']); //是否赠送保险
+            $common_array['plate_number']       = intval($_POST['plate_number']);     //是否赠送车牌
+            $common_array['plate_number_region']= serialize($_POST['plate_number_region']); //赠送车牌所属省份数组
+
             // 序列化保存手机端商品描述数据
             if ($_POST['m_body'] != '') {
                 $_POST['m_body'] = str_replace('&quot;', '"', $_POST['m_body']);