|
@@ -414,7 +414,7 @@ class Sku
|
|
|
|
|
|
if (!$group_attr) {
|
|
|
|
|
|
- $prefix = '[总价设置]:';
|
|
|
+ $prefix = '[总价]:';
|
|
|
|
|
|
if (!$update && $col_num <= 1) {
|
|
|
$head = '';
|
|
@@ -454,56 +454,73 @@ class Sku
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- $prefix = '[组合价格设置]:';
|
|
|
+ $prefix = '[组合价格]:';
|
|
|
|
|
|
$group_attr = Dever::cartesian($group_attr);
|
|
|
|
|
|
+ if ($sku_value) {
|
|
|
+ foreach ($group_attr as $k => $v) {
|
|
|
+ $key = array();
|
|
|
+ foreach ($v['name'] as $k1 => $v1) {
|
|
|
+ $key[] = $v['info_id'][$k1] . '-' . $v['id'][$k1];
|
|
|
+ }
|
|
|
+ $key = implode('_', $key);
|
|
|
+ if (isset($sku[$key]) && !isset($sku_value[$sku[$key]['id']])) {
|
|
|
+ unset($group_attr[$k]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$show = false;
|
|
|
|
|
|
- foreach ($group_attr as $k => $v) {
|
|
|
- $body .= '<tr data-row="' .($k+1). '">';
|
|
|
+ if ($group_attr) {
|
|
|
+ foreach ($group_attr as $k => $v) {
|
|
|
+ $body .= '<tr data-row="' .($k+1). '">';
|
|
|
|
|
|
- if ($parent_goods) {
|
|
|
- $body .= '<td>'.$parent_goods['name'].'</td>';
|
|
|
- }
|
|
|
+ if ($parent_goods) {
|
|
|
+ $body .= '<td>'.$parent_goods['name'].'</td>';
|
|
|
+ }
|
|
|
|
|
|
- $key = $id = array();
|
|
|
- foreach ($v['name'] as $k1 => $v1) {
|
|
|
- $rows = 1;
|
|
|
- $body .= '<td width="50" rowspan="'.$rows.'">'.$v1.'</td>';
|
|
|
- $id[] = array
|
|
|
- (
|
|
|
- 'id' => $v['id'][$k1],
|
|
|
- 'attr_id' => $v['info_id'][$k1],
|
|
|
- );
|
|
|
- $key[] = $v['info_id'][$k1] . '-' . $v['id'][$k1];
|
|
|
- }
|
|
|
- $key = implode('_', $key);
|
|
|
+ $key = $id = array();
|
|
|
+ foreach ($v['name'] as $k1 => $v1) {
|
|
|
+ $rows = 1;
|
|
|
+ $body .= '<td width="50" rowspan="'.$rows.'">'.$v1.'</td>';
|
|
|
+ $id[] = array
|
|
|
+ (
|
|
|
+ 'id' => $v['id'][$k1],
|
|
|
+ 'attr_id' => $v['info_id'][$k1],
|
|
|
+ );
|
|
|
+ $key[] = $v['info_id'][$k1] . '-' . $v['id'][$k1];
|
|
|
+ }
|
|
|
+ $key = implode('_', $key);
|
|
|
|
|
|
- foreach ($set['col'] as $k1 => $v1) {
|
|
|
- if (!$update && strstr($v1, '^')) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- $value = $this->getValue($k1, $key, $sku_value, $sku);
|
|
|
-
|
|
|
- if ($update) {
|
|
|
- if (strstr($v1, '|')) {
|
|
|
- $v1 = str_replace('|', '', $v1);
|
|
|
- $body .= '<td width="30">'.$value.'</td>';
|
|
|
+ foreach ($set['col'] as $k1 => $v1) {
|
|
|
+ if (!$update && strstr($v1, '^')) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $value = $this->getValue($k1, $key, $sku_value, $sku);
|
|
|
+
|
|
|
+ if ($update) {
|
|
|
+ if (strstr($v1, '|')) {
|
|
|
+ $v1 = str_replace('|', '', $v1);
|
|
|
+ $body .= '<td width="30">'.$value.'</td>';
|
|
|
+ } else {
|
|
|
+ $body .= '<td width="30"><input type="text" class="layui-input" name="'.$k1.'['.$k.']" value="'.$value.'"/></td>';
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
- $body .= '<td width="30"><input type="text" class="layui-input" name="'.$k1.'['.$k.']" value="'.$value.'"/></td>';
|
|
|
+ $body .= '<td width="30">'.$value.'</td>';
|
|
|
}
|
|
|
-
|
|
|
- } else {
|
|
|
- $body .= '<td width="30">'.$value.'</td>';
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if ($update) {
|
|
|
- $body .= '<input type="hidden" name="key['.$k.']" value="'.$key.'"/><textarea style="display:none;" name="attr['.$k.']">'.json_encode($id).'</textarea>';
|
|
|
+ if ($update) {
|
|
|
+ $body .= '<input type="hidden" name="key['.$k.']" value="'.$key.'"/><textarea style="display:none;" name="attr['.$k.']">'.json_encode($id).'</textarea>';
|
|
|
+ }
|
|
|
+
|
|
|
+ $body .= '</tr>';
|
|
|
}
|
|
|
-
|
|
|
- $body .= '</tr>';
|
|
|
+ } else {
|
|
|
+ $prefix = $head = $body = '';
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -517,6 +534,15 @@ class Sku
|
|
|
$html = '<table class="layui-table">' . $html . '</table>';
|
|
|
}
|
|
|
|
|
|
+ if ($single_attr && $sku_value) {
|
|
|
+ foreach ($single_attr as $k => $v) {
|
|
|
+ $key = $v['info_id'] . '-' . $v['id'];
|
|
|
+ if (isset($sku[$key]) && !isset($sku_value[$sku[$key]['id']])) {
|
|
|
+ unset($single_attr[$k]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if ($single_attr) {
|
|
|
$html = $prefix . $html;
|
|
|
foreach ($single_attr as $k => $v) {
|
|
@@ -563,7 +589,21 @@ class Sku
|
|
|
$single_body .= '</tr>';
|
|
|
}
|
|
|
|
|
|
- $html = $html . '<br />[单选价格设置]:<table class="layui-table">' . $single_head . $single_body . '</table>';;
|
|
|
+ $html = $html . '[单选价格]:<table class="layui-table">' . $single_head . $single_body . '</table>';
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($input_attr && $sku_value) {
|
|
|
+ print_r($input_attr);die;
|
|
|
+ foreach ($input_attr as $k => $v) {
|
|
|
+ $key = array();
|
|
|
+ foreach ($v['option'] as $k1 => $v1) {
|
|
|
+ $key[] = $v1['price_key'];
|
|
|
+ }
|
|
|
+ $key = implode('_', $key);
|
|
|
+ if (isset($sku[$key]) && !isset($sku_value[$sku[$key]['id']])) {
|
|
|
+ unset($input_attr[$k]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if ($input_attr) {
|
|
@@ -623,7 +663,7 @@ class Sku
|
|
|
$input_body .= '</tr>';
|
|
|
}
|
|
|
|
|
|
- $html = $html . '<br />[计算价设置]:<table class="layui-table">' . $input_head . $input_body . '</table>';;
|
|
|
+ $html = $html . '[计算价]:<table class="layui-table">' . $input_head . $input_body . '</table>';
|
|
|
}
|
|
|
|
|
|
|