dever 5 年之前
父节点
当前提交
1266be3edb
共有 3 个文件被更改,包括 177 次插入34 次删除
  1. 19 2
      database/info.php
  2. 112 0
      database/store.php
  3. 46 32
      lib/Info.php

+ 19 - 2
database/info.php

@@ -35,6 +35,13 @@ $type = array
 	11 => '其他',
 );
 
+$mode = array
+(
+	1 => '快递',
+	2 => '自提',
+	3 => '快递+自提',
+);
+
 $config = array
 (
 	# 表名
@@ -102,6 +109,17 @@ $config = array
 			'control'	=> 'type',
 		),
 
+		'mode'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '配送方式',
+			'default' 	=> '1',
+			'desc' 		=> '配送方式',
+			'match' 	=> 'is_numeric',
+			'update'	=> 'radio',
+			'option'	=> $mode,
+		),
+
 		'link'		=> array
 		(
 			'type' 		=> 'varchar-800',
@@ -173,7 +191,6 @@ $config = array
 			'match' 	=> 'is_numeric',
 			'update'	=> 'select',
 			'option'	=> $shop,
-			'show'		=> 'type=1',
 		),
 
 		'category'		=> array
@@ -483,7 +500,7 @@ $config = array
                 'id' => 'yes',
             ),
             'type' => 'one',
-            'col' => 'id,name,category,brand_id,shop_id,pic_cover,pic,sell_num+sell_add_num as sell_num,content',
+            'col' => 'id,name,category,brand_id,shop_id,pic_cover,pic,sell_num+sell_add_num as sell_num,content,type,price,s_price,link,code',
         ),
 	),
 );

+ 112 - 0
database/store.php

@@ -0,0 +1,112 @@
+<?php
+$type = array
+(
+    1 => '数值',
+    2 => '百分比',
+);
+return array
+(
+    # 表名
+    'name' => 'store',
+    # 显示给用户看的名称
+    'lang' => '货物自提点',
+    'order' => -1,
+
+    # 数据结构
+    'struct' => array
+    (
+        'id'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'ID',
+            'default'   => '',
+            'desc'      => '',
+            'match'     => 'is_numeric',
+            'search'    => 'order',
+            //'list'        => true,
+        ),
+
+        'name'      => array
+        (
+            'type'      => 'varchar-150',
+            'name'      => '自提点名称',
+            'default'   => '',
+            'desc'      => '自提点名称',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'      => true,
+            'edit'      => true,
+        ),
+
+        'category'      => array
+        (
+            'type'      => 'varchar-500',
+            'name'      => '分类',
+            'default'   => '',
+            'desc'      => '分类',
+            'match'     => 'is_string',
+            'search'    => 'linkage',
+            'update'    => 'linkage',
+            'option'    => Dever::url('api.get', 'category'),
+            'list'      => 'Dever::load("category/api.string", "{category}")',
+        ),
+
+        'area'      => array
+        (
+            'type'      => 'varchar-500',
+            'name'      => '地区',
+            'default'   => '',
+            'desc'      => '地区',
+            'match'     => 'is_string',
+            'search'    => 'linkage',
+            'update'    => 'linkage',
+            'option'    => Dever::url('api.get', 'area'),
+            'list'      => 'Dever::load("area/api.string", "{area}")',
+        ),
+
+        'address'      => array
+        (
+            'type'      => 'varchar-800',
+            'name'      => '地址',
+            'default'   => '',
+            'desc'      => '地址',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'      => true,
+        ),
+
+        'state'     => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '状态',
+            'default'   => '1',
+            'desc'      => '请选择状态',
+            'match'     => 'is_numeric',
+        ),
+        
+        'cdate'     => array
+        (
+            'type'      => 'int-11',
+            'name'      => '录入时间',
+            'match'     => array('is_numeric', DEVER_TIME),
+            'desc'      => '',
+            # 只有insert时才生效
+            'insert'    => true,
+            'list'      => 'date("Y-m-d H:i:s", {cdate})',
+        ),
+    ),
+
+    'manage' => array
+    (
+        //'delete' => false,
+        //'edit' => false,
+        //'insert' => false,
+    ),
+
+    'request' => array
+    (
+        
+    )
+);

+ 46 - 32
lib/Info.php

@@ -257,45 +257,58 @@ class Info
     # 获取基本信息
     public function info($info, $key = 'list_reorder', $is_sell = false)
     {
-        # 获取运费
-        $info['freight'] = $this->freight($info);
-
-        $attr = $this->setAttr($info['category'], $key);
-        $attr_data = $attr->one($info['id']);
-        $info['category_array'] = Dever::load('category/api')->string($info['category']);
-
-        $info['attr'] = $info['sell_attr'] = array();
-
-        if ($attr->config['attr']) {
-            foreach ($attr->config['attr'] as $k => $v) {
-                if (isset($v[$key]) && $v[$key] > 0) {
-                    if (isset($attr_data['attr_' . $v['id']])) {
-                        $v['value'] = $attr_data['attr_' . $v['id']];
-                    } else {
-                        continue;
-                        $v['value'] = '';
-                    }
+        if ($info['type'] == 1) {
+            # 获取运费
+            $info['freight'] = $this->freight($info);
+
+            $attr = $this->setAttr($info['category'], $key);
+            $attr_data = $attr->one($info['id']);
+            $info['category_array'] = Dever::load('category/api')->string($info['category']);
+
+            $info['attr'] = $info['sell_attr'] = array();
 
-                    $v['value_string'] = Dever::load('attr/api')->getValue($v);
-                    
-                    if ($v['ename'] == 'price') {
-                        $info['price'] = $v['value_string'];
-                    } else {
-                        $v['bg'] = 'background-image: url('.$v['icon'].')';
-                        $v['pic'] = '<img src="'.$v['icon'].'" width="18" />';
-                        if ($is_sell > 0) {
-                            if ($is_sell == $v['is_sell']) {
+            if ($attr->config['attr']) {
+                foreach ($attr->config['attr'] as $k => $v) {
+                    if (isset($v[$key]) && $v[$key] > 0) {
+                        if (isset($attr_data['attr_' . $v['id']])) {
+                            $v['value'] = $attr_data['attr_' . $v['id']];
+                        } else {
+                            continue;
+                            $v['value'] = '';
+                        }
+
+                        $v['value_string'] = Dever::load('attr/api')->getValue($v);
+                        
+                        if ($v['ename'] == 'price') {
+                            $info['price'] = $v['value_string'];
+                        } else {
+                            $v['bg'] = 'background-image: url('.$v['icon'].')';
+                            $v['pic'] = '<img src="'.$v['icon'].'" width="18" />';
+                            if ($is_sell > 0) {
+                                if ($is_sell == $v['is_sell']) {
+                                    $info['attr'][] = $v;
+                                }
+                                
+                            } else {
                                 $info['attr'][] = $v;
+                                # 设置sku
+                                $this->sku($v, $info);
                             }
-                            
-                        } else {
-                            $info['attr'][] = $v;
-                            # 设置sku
-                            $this->sku($v, $info);
                         }
                     }
                 }
             }
+        } else {
+            $price = $info['price'];
+            $s_price = $info['s_price'];
+            $info['price'] = array();
+            $info['price']['list'] = array();
+            $info['price']['min'] = array
+            (
+                'price' => $price,
+                's_price' => $s_price
+            );
+            $info['price']['max'] = array();
         }
        
         if (isset($info['cdate']) && $info['cdate']) {
@@ -354,6 +367,7 @@ class Info
 
             # 获取最便宜的价格
             $where['info_id'] = $info['id'];
+            $info['price'] = array();
             $info['price']['list'] = Dever::db('goods/info_sku')->getData($where);
             $info['price']['min'] = Dever::db('goods/info_sku')->getMinOne($where);
             $info['price']['max'] = Dever::db('goods/info_sku')->getMaxOne($where);