|
@@ -39,7 +39,7 @@ class Update extends Page
|
|
|
}
|
|
|
}
|
|
|
if (isset($v['spec_data'])) {
|
|
|
- $spec[$v['key']] = [$k, $v['spec_data'], $v['key'] . '_spec', $v['spec'], $v['spec_field']];
|
|
|
+ $spec[$v['key']] = [$k, $v['spec_data'], $v['key'] . '_spec', $v['spec'], $v['spec_field'], $v['spec_template']];
|
|
|
}
|
|
|
if (isset($v['show']) && is_string($v['show'])) {
|
|
|
$show[$v['key']] = [$k, $v['show']];
|
|
@@ -80,10 +80,10 @@ class Update extends Page
|
|
|
$this->setInfo($info, $data, $remote, $show, $source, $default, 1, $this->config['field']);
|
|
|
if ($spec) {
|
|
|
foreach ($spec as $k => $v) {
|
|
|
- $data['update'][$spec[$k][0]]['remote'] = Dever::url($spec[$k][1], ['value' => '', 'table' => $this->db->config['load'], 'id' => false]);
|
|
|
- $result = Dever::call($spec[$k][1], [$spec[$k][3], $spec[$k][4], $this->info['id']]);
|
|
|
+ $data['update'][$v[0]]['remote'] = Dever::url($v[1], ['value' => '', 'table' => $this->db->config['load'], 'id' => false]);
|
|
|
+ $result = Dever::call($v[1], [$v[3], $v[4], $this->info['id']]);
|
|
|
if ($result) {
|
|
|
- $data['field'][$spec[$k][2]] = $result;
|
|
|
+ $data['field'][$v[2]] = $result;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -655,7 +655,7 @@ class Update extends Page
|
|
|
$spec_field = $v[3];
|
|
|
$spec = $v[4];
|
|
|
$input = $v[5];
|
|
|
- $value = $spec_value = [];
|
|
|
+ $spec_value = [];
|
|
|
Dever::db($spec_table)->update([$spec_field => $rid], ['state' => 2]);
|
|
|
Dever::db($spec_value_table)->update([$spec_field => $rid], ['state' => 2]);
|
|
|
foreach ($spec as $k1 => &$v1) {
|
|
@@ -676,6 +676,7 @@ class Update extends Page
|
|
|
$spec_value_data[$spec_field] = $rid;
|
|
|
$spec_value_data['spec_id'] = $v1['id'];
|
|
|
$spec_value_data['value'] = $v2['value'] ?? $v2['name'];
|
|
|
+ $spec_value_data['pic'] = $v2['pic'] ?? '';
|
|
|
$spec_value_data['sort'] = $k2+1;
|
|
|
$spec_value_data['is_checked'] = $v2['checked'] == 'true' ? 1 : 2;
|
|
|
if (isset($v2['id']) && $v2['id']) {
|
|
@@ -691,6 +692,7 @@ class Update extends Page
|
|
|
Dever::db($spec_value_table)->delete([$spec_field => $rid, 'state' => 2]);
|
|
|
Dever::db($k)->update([$spec_field => $rid], ['state' => 2]);
|
|
|
foreach ($input as $k1 => $v1) {
|
|
|
+ $value = [];
|
|
|
if (isset($v1['id'])) {
|
|
|
$value['id'] = $v1['id'];
|
|
|
}
|
|
@@ -707,6 +709,9 @@ class Update extends Page
|
|
|
}
|
|
|
foreach ($update as $k2 => $v2) {
|
|
|
if (isset($v1[$k2])) {
|
|
|
+ if (is_array($v1[$k2])) {
|
|
|
+ $v1[$k2] = implode(',', $v1[$k2]);
|
|
|
+ }
|
|
|
$value[$k2] = $v1[$k2];
|
|
|
}
|
|
|
}
|