| 
					
				 | 
			
			
				@@ -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];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }
 
			 |