use Yii;
use yii\helpers\Html;
use yii\web\Controller;
+use yii_app\records\ExportImportTable;
use yii_app\records\Prices;
use yii_app\records\Products1c;
use yii_app\records\Products1cOptions;
$data = Products1c::find()
->alias('p')
- ->select(['p.id', 'p.name', 'e.entity_id', 'p.view'])
- ->leftJoin('export_import_table e', "e.export_iD = p.id AND e.export_val = '1' AND e.entity = 'products'")
+ ->select(['p.id', 'p.name', 'alias.entity_id', 'p.view'])
+ ->leftJoin(['alias' => ExportImportTable::find()
+ ->select(['export_id', 'export_val', 'entity', 'entity_id' ])],
+ "alias.export_id::text = p.id AND alias.export_val = '1' AND alias.entity = 'products'")
->where(['p.tip' => 'products', 'p.parent_id' => $parent_id])
->orderBy(['p.name' => SORT_ASC])
->asArray()
->select(['product_id', 'color', 'name'])
->orderBy(['posit' => SORT_DESC])
->all();
-
+ $dataResponse = '';
$products_varieties = [];
foreach ($varietiesData as $variety) {
$products_varieties[$variety->product_id][$variety->color][] = $variety->name;
}
+ $dataResponse .= '<table class="table table-sm table-hover"><tbody>';
+ foreach ($data as $row) {
+
+ $dataResponse .= "<tr"; if(empty($row["entity_id"])) $dataResponse .= " class=\"bg-gray-500\""; $dataResponse .= "><td>".$row["name"]." ";
+
+
+ $row['name']=str_replace('"','',$row['name']);
+ $row['name']=str_replace("'",'',$row['name']);
+
+ if($row["view"]==0) {
+ $dataResponse .= "<span class=\"btn btn-sm btn-danger\">скрыто</span>";
+ }
+
+ $dataResponse .= '<div id="provider_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_product_provider(\''.$row['id'].'\'); " >+ поставщика '.($providers[$row['id']]??'').'</div>';
+
+ if(!empty($colorsProducts[$row["id"]])) {
+ $s=0;
+ foreach($colorsProducts[$row["id"]] as $color) {
+ $color=trim($color);
+ if(!empty($color)) {
+ $s++;
+ $dataResponse .= "<br><span class=\"btn btn-sm btn-info me-1 mt-1 mb-1\">$color</span>";
+
+ if(!empty($products_varieties[$row["id"]][$color])) {
+ $dataResponse .= "сорта ";
+ foreach($products_varieties[$row["id"]][$color] as $varieties => $nameV) {
+
+ $dataResponse .= ' <span class="btn btn-sm btn-warning me-2">'.$nameV.'</span> ';
+ }
+ }
+ }
+ }
+
+ if($s>0) {
+ $dataResponse .= "<a href=\"/products/productVarieties/?id=" . $row['id'] . "\" target=new class=\"btn btn-info btn-sm\">+ добавить сорта</a>";
+ }
+ }
+ $dataResponse .= " GUID ".$row["id"]."</td><td>";
+
+ if(!empty($prices[$row['id']]) and empty($row["entity_id"]))
+ $dataResponse .= '<div id="diver_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_add_product(\''.$row['id'].'\',\''.$parent_id.'\',\''.$row['name'].'\',\''.$prices[$row['id']].'\'); " >внести цена '.$prices[$row['id']].'</div>';
+ else {
+ $dataResponse .= '<div id="diver_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_add_product(\''.$row['id'].'\',\''.$parent_id.'\',\''.$row['name'].'\',\''.($prices[$row['id']]??'').'\'); " >внести цена '.($prices[$row['id']]??'').'</div>';
+ }
+
+ $dataResponse .= "</td><td>".$row["entity_id"]."";
+
+ if(!empty($row["entity_id"])) {
+ $dataResponse .= '<div id="diver_' . $row['id'] . '" class="btn btn-sm btn-danger" onclick="ajax_remove_product(\'' . $row['id'] . '\'); " >удалить продукт</div>
+ <div id="diver2_' . $row['id'] . '" class="btn btn-sm btn-danger" onclick="ajaxRemoveExport(\'' . $row['id'] . '\'); " >
+ удалить только связь</div>';
+ }
+
+ $dataResponse .= "</td></tr>";
+
+
+ if(!empty($row["entity_id"])) {
+
+ }
+
+ }
+ $dataResponse .= '</tbody></table>';
+
+
+ }
+
+ return $dataResponse;
/* return $this->renderPartial('ajax-products-in-group', [
'data' => $data,
'prices' => $prices,
'colorsProducts' => $colorsProducts,
'products_varieties' => $products_varieties,
]);*/
- }
+
}
// Возвращаем пустой ответ, если запрос не AJAX или parent_id пустой