|
@@ -34,7 +34,7 @@ class Update extends Page
|
|
|
$show[$v['key']] = array($k, $v['show']);
|
|
|
}
|
|
|
if (isset($v['default']) && is_string($v['default']) && strstr($v['default'], '{')) {
|
|
|
- $default[$v['key']] = array($k, $v['default'], $v['key']);
|
|
|
+ $default[$v['key']] = array($k, $v['default']);
|
|
|
}
|
|
|
$data['field'][$v['key']] = $v['value'];
|
|
|
if ($v['type'] == 'sku') {
|
|
@@ -81,6 +81,14 @@ class Update extends Page
|
|
|
$this->setInfo($v, $data, $remote, $show, $source, $default, 2);
|
|
|
$option[$k] = $data['option'];
|
|
|
}
|
|
|
+ if (isset($data['reset'])) {
|
|
|
+ foreach ($data['reset'] as $k1 => $v1) {
|
|
|
+ if (isset($data['option'][$k1])) {
|
|
|
+ unset($data['option'][$k1]);
|
|
|
+ $data['field'][$k1] = $v1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
if ($remote) {
|
|
|
$info = array();
|
|
@@ -157,21 +165,29 @@ class Update extends Page
|
|
|
if ($default) {
|
|
|
foreach ($default as $k => $v) {
|
|
|
$data['update'][$v[0]]['value'] = $this->getShow($v[1], $info);
|
|
|
- $data['field'][$v[2]] = $this->getShow($v[1], $info);
|
|
|
+ $data['field'][$k] = $this->getShow($v[1], $info);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function setUpdate(&$info, &$data, $result)
|
|
|
+ private function setUpdate(&$info, &$data, $result, $remote = array())
|
|
|
{
|
|
|
foreach ($data['update'] as $k => $v) {
|
|
|
if (isset($result[$v['key']])) {
|
|
|
+ # 批量更新时,默认数据需要重置
|
|
|
+ if (!isset($data['reset'][$v['key']])) {
|
|
|
+ $data['reset'][$v['key']] = $data['field'][$v['key']];
|
|
|
+ }
|
|
|
if (isset($result[$v['key']]['option'])) {
|
|
|
$data['option'][$v['key']] = $result[$v['key']]['option'];
|
|
|
unset($result[$v['key']]['option']);
|
|
|
}
|
|
|
if (empty($data['field'][$v['key']]) && isset($result[$v['key']]['value'])) {
|
|
|
- $data['field'][$v['key']] = $result[$v['key']]['value'];
|
|
|
+ if (is_array($data['field'][$v['key']]) && !is_array($result[$v['key']]['value'])) {
|
|
|
+ $data['field'][$v['key']] = explode(',', $result[$v['key']]['value']);
|
|
|
+ } else {
|
|
|
+ $data['field'][$v['key']] = $result[$v['key']]['value'];
|
|
|
+ }
|
|
|
}
|
|
|
if (isset($result[$v['key']]['set']) && $info) {
|
|
|
$info = array_merge($info, $result[$v['key']]['set']);
|
|
@@ -445,6 +461,8 @@ class Update extends Page
|
|
|
foreach ($update as $k2 => $v2) {
|
|
|
if (isset($v1[$k2])) {
|
|
|
$this->doData($value, $k2, $v1[$k2]);
|
|
|
+ } else {
|
|
|
+ $value[$k2] = '';
|
|
|
}
|
|
|
}
|
|
|
if ($drag) {
|