forked from nathalie/pedi2
Merge branch 'master' into adminUI
This commit is contained in:
commit
b76f114ab0
|
@ -8,6 +8,7 @@ use League\Csv\CannotInsertRecord;
|
|||
use League\Csv\Writer;
|
||||
use App\Producto;
|
||||
use DB;
|
||||
use League\Csv\Reader;
|
||||
|
||||
class GrupoDeCompra extends Model
|
||||
{
|
||||
|
@ -34,25 +35,61 @@ class GrupoDeCompra extends Model
|
|||
$mpdf->Output();
|
||||
}
|
||||
|
||||
//Asume que los productos están gruadados en orden de fila
|
||||
private function obtenerTemplateDeFilasVacias(){
|
||||
$productosFilaID = Producto::productosFilaID();
|
||||
$productosIDNombre = Producto::productosIDNombre();
|
||||
$num_fila = 1;
|
||||
$template = [];
|
||||
foreach ($productosFilaID as $fila => $id) {
|
||||
for ($i = $num_fila; $i < $fila; $i++) {
|
||||
$template[$i] = ["", "0"];
|
||||
}
|
||||
$template[$fila] = [$productosIDNombre[$id], "0"];
|
||||
$num_fila = $fila+1;
|
||||
}
|
||||
$template[$this->obtenerFilaDeBonoTransporte()] = ["Bonos de transporte", 0];
|
||||
return $template;
|
||||
}
|
||||
|
||||
private function obtenerFilaDeBonoTransporte() {
|
||||
$csv = Reader::createFromPath(resource_path('csv/productos.csv'), 'r');
|
||||
$csv->setDelimiter("|");
|
||||
$csv->setEnclosure("'");
|
||||
$registros = $csv->getRecords();
|
||||
|
||||
foreach($registros as $key => $registro)
|
||||
if ($registro[0] == 'T') return $key+1;
|
||||
|
||||
throw new Exception('No hay bono de transporte');
|
||||
}
|
||||
|
||||
private function totalPedidoSinBDT() {
|
||||
$total = 0;
|
||||
foreach ($this->subpedidos as $subpedido) {
|
||||
$total += $subpedido->totalSinBDT();
|
||||
}
|
||||
return $total;
|
||||
}
|
||||
|
||||
private function calcularCantidadBDT() {
|
||||
return ceil($this->totalPedidoSinBDT() / 500);
|
||||
}
|
||||
|
||||
public function exportarPedidoEnCSV(){
|
||||
$productos = Producto::pluck('id','fila')->all();
|
||||
$ultima_fila = end(array_keys($productos));
|
||||
$productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id',$this->id)->get()->keyBy('producto_id');
|
||||
|
||||
$records = [];
|
||||
for ($i=1; $i <= $ultima_fila; $i++) {
|
||||
if ($productos[$i]) {
|
||||
if ($productos_en_pedido[$productos[$i]]){
|
||||
$producto_en_pedido = $productos_en_pedido[$productos[$i]];
|
||||
$records[] = [$producto_en_pedido->producto_nombre,$producto_en_pedido->cantidad_pedida];
|
||||
} else {
|
||||
$records[] = ['producto no pedido',0];
|
||||
}
|
||||
} else {
|
||||
$records[] = ['',''];
|
||||
}
|
||||
//si no hay pedidos aprobados, salir
|
||||
if ($productos_en_pedido->count() == 0) { \Log::debug("El grupo de compra ". $this->nombre . " no tiene pedidos aprobados."); return; }
|
||||
$records = $this->obtenerTemplateDeFilasVacias();
|
||||
$productos_id_fila = Producto::productosIdFila();
|
||||
foreach ($productos_en_pedido as $id => $producto_pedido){
|
||||
$fila = $productos_id_fila[$id];
|
||||
$records[$fila][1] = $producto_pedido->cantidad_pedida;
|
||||
}
|
||||
|
||||
$records[$this->obtenerFilaDeBonoTransporte()][1] = $this->calcularCantidadBDT();
|
||||
|
||||
try {
|
||||
$writer = Writer::createFromPath(resource_path('csv/exports/'.$this->nombre.'.csv'), 'w');
|
||||
$writer->insertAll($records);
|
||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers;
|
|||
|
||||
use App\GrupoDeCompra;
|
||||
use Illuminate\Http\Request;
|
||||
use Response;
|
||||
|
||||
class AdminController extends Controller
|
||||
{
|
||||
|
@ -19,4 +20,10 @@ class AdminController extends Controller
|
|||
public function exportarPlanillasAPdf(GrupoDeCompra $gdc) {
|
||||
return $gdc->exportarPlanillasAPdf();
|
||||
}
|
||||
|
||||
public function exportarPedidoACSV(GrupoDeCompra $gdc) {
|
||||
$gdc->exportarPedidoEnCSV();
|
||||
$file = resource_path('csv/exports/'.$gdc->nombre.'.csv');
|
||||
return response()->download($file);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ use Illuminate\Support\Facades\DB;
|
|||
|
||||
class PedidoController extends Controller
|
||||
{
|
||||
public function generarTablas()
|
||||
public static function generarTablas()
|
||||
{
|
||||
//GENERAR TABLA DE PEDIDOS APROBADOS
|
||||
DB::unprepared("DROP VIEW if exists pedidos_aprobados;
|
||||
|
|
|
@ -56,6 +56,7 @@ class Kernel extends HttpKernel
|
|||
*/
|
||||
protected $routeMiddleware = [
|
||||
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||
'admin' => \App\Http\Middleware\Admin::class,
|
||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Auth;
|
||||
|
||||
class Admin
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$user = Auth::user();
|
||||
if ($user->is_admin) {
|
||||
return $next($request);
|
||||
} else {
|
||||
return response('Necesitás ser admin para hacer esto', 403);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@ class SubpedidoResource extends JsonResource
|
|||
return [
|
||||
'id' => $this->id,
|
||||
'nombre' => $this->nombre,
|
||||
'subtotal_productos' => number_format($this->getSubtotalProductos(),0),
|
||||
'subtotal_productos' => number_format($this->totalSinBDT(),0),
|
||||
'subtotal_bonos' => number_format($this->getSubtotalBonos(),0),
|
||||
'bonos_de_transporte' => $this->cantidadBDT(),
|
||||
'subtotal_bonos_de_transporte' => number_format($this->getSubtotalBDT(),0),
|
||||
|
|
|
@ -33,4 +33,16 @@ class Producto extends Model
|
|||
return $request->has('paginar') && intval($request->input('paginar')) ? intval($request->input('paginar')) : self::$paginarPorDefecto;
|
||||
}
|
||||
|
||||
public static function productosIDFila() {
|
||||
return Producto::pluck('fila', 'id',)->all();
|
||||
}
|
||||
|
||||
public static function productosFilaID() {
|
||||
return Producto::pluck('id', 'fila',)->all();
|
||||
}
|
||||
|
||||
public static function productosIDNombre() {
|
||||
return Producto::pluck('nombre', 'id',)->all();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class Subpedido extends Model
|
|||
}
|
||||
|
||||
//Subtotal de dinero de productos del pedido, sin bonos ni transporte
|
||||
public function getSubtotalProductos()
|
||||
public function totalSinBDT()
|
||||
{
|
||||
return $this->productosSinBonos()->sum('total');
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ class Subpedido extends Model
|
|||
//Cantidad de bonos de transporte
|
||||
public function cantidadBDT()
|
||||
{
|
||||
return ceil($this->getSubtotalProductos() / 500);
|
||||
return ceil($this->totalSinBDT() / 500);
|
||||
}
|
||||
|
||||
//Subtotal de dinero de bonos de transporte
|
||||
|
@ -66,7 +66,7 @@ class Subpedido extends Model
|
|||
|
||||
public function getTotal()
|
||||
{
|
||||
return $this->getSubtotalProductos() + $this->getSubtotalBDT() + $this->getSubtotalBonos();
|
||||
return $this->totalSinBDT() + $this->getSubtotalBDT() + $this->getSubtotalBonos();
|
||||
}
|
||||
|
||||
//Actualiza el pedido, agregando o quitando del subpedido según sea necesario. Debe ser llamado desde el controlador de subpedidos, luego de validar que los parámetros $producto y $cantidad son correctos. También calcula el subtotal por producto.
|
||||
|
|
|
@ -13,7 +13,6 @@ class DatabaseSeeder extends Seeder
|
|||
public function run()
|
||||
{
|
||||
$this->call(GrupoDeCompraSeeder::class);
|
||||
//$this->call(ProductoSeeder::class);
|
||||
$this->call(ImportarProductoSeeder::class);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,8 +25,8 @@ class ImportarProductoSeeder extends Seeder
|
|||
$toInsert = [];
|
||||
$categoria = '';
|
||||
foreach($registros as $i => $registro){
|
||||
//las que no tienen tipo
|
||||
if ($i <= $iHeader || !Arr::has($registro,$this::FILA_HEADER)){
|
||||
//filas que están arriba del header
|
||||
if ($i <= $iHeader){
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,9 @@ class ImportarProductoSeeder extends Seeder
|
|||
break;
|
||||
}
|
||||
|
||||
//no tienen
|
||||
//filas que no tienen tipo
|
||||
if (!Arr::has($registro,$this::FILA_HEADER)|| trim($registro[$this::FILA_HEADER]) == ''){
|
||||
var_dump("no hay tipo");
|
||||
var_dump($registro[$this::FILA_HEADER]);
|
||||
var_dump("no hay tipo en la fila " . $i);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "pedi2",
|
||||
"name": "www",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
@ -7,6 +7,7 @@
|
|||
"dependencies": {
|
||||
"animate.css": "^4.1.1",
|
||||
"bulma": "^0.9.4",
|
||||
"bulma-switch": "^2.0.4",
|
||||
"bulma-toast": "^2.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -3006,6 +3007,11 @@
|
|||
"resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.4.tgz",
|
||||
"integrity": "sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ=="
|
||||
},
|
||||
"node_modules/bulma-switch": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/bulma-switch/-/bulma-switch-2.0.4.tgz",
|
||||
"integrity": "sha512-kMu4H0Pr0VjvfsnT6viRDCgptUq0Rvy7y7PX6q+IHg1xUynsjszPjhAdal5ysAlCG5HNO+5YXxeiu92qYGQolw=="
|
||||
},
|
||||
"node_modules/bulma-toast": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/bulma-toast/-/bulma-toast-2.4.1.tgz",
|
||||
|
@ -15942,6 +15948,11 @@
|
|||
"resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.4.tgz",
|
||||
"integrity": "sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ=="
|
||||
},
|
||||
"bulma-switch": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/bulma-switch/-/bulma-switch-2.0.4.tgz",
|
||||
"integrity": "sha512-kMu4H0Pr0VjvfsnT6viRDCgptUq0Rvy7y7PX6q+IHg1xUynsjszPjhAdal5ysAlCG5HNO+5YXxeiu92qYGQolw=="
|
||||
},
|
||||
"bulma-toast": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/bulma-toast/-/bulma-toast-2.4.1.tgz",
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"dependencies": {
|
||||
"animate.css": "^4.1.1",
|
||||
"bulma": "^0.9.4",
|
||||
"bulma-switch": "^2.0.4",
|
||||
"bulma-toast": "^2.4.1"
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2203,11 +2203,21 @@ __webpack_require__.r(__webpack_exports__);
|
|||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
name: 'Login',
|
||||
data: function data() {
|
||||
return {
|
||||
visible: false,
|
||||
gdc: null
|
||||
gdc: null,
|
||||
passwordVisible: false,
|
||||
passwordType: "password"
|
||||
};
|
||||
},
|
||||
mounted: function mounted() {
|
||||
|
@ -2217,6 +2227,12 @@ __webpack_require__.r(__webpack_exports__);
|
|||
_this.gdc = gdc;
|
||||
_this.visible = true;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
togglePassword: function togglePassword() {
|
||||
if (this.passwordVisible) this.passwordType = "password";else this.passwordType = "text";
|
||||
this.passwordVisible = !this.passwordVisible;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -2248,12 +2264,21 @@ __webpack_require__.r(__webpack_exports__);
|
|||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
name: "LoginAdmin.vue",
|
||||
name: "LoginAdmin",
|
||||
data: function data() {
|
||||
return {
|
||||
visible: false,
|
||||
gdc: null
|
||||
gdc: null,
|
||||
passwordVisible: false,
|
||||
passwordType: "password"
|
||||
};
|
||||
},
|
||||
mounted: function mounted() {
|
||||
|
@ -2263,6 +2288,12 @@ __webpack_require__.r(__webpack_exports__);
|
|||
_this.gdc = gdc;
|
||||
_this.visible = true;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
togglePassword: function togglePassword() {
|
||||
if (this.passwordVisible) this.passwordType = "password";else this.passwordType = "text";
|
||||
this.passwordVisible = !this.passwordVisible;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -2756,8 +2787,6 @@ __webpack_require__.r(__webpack_exports__);
|
|||
var _this = this;
|
||||
|
||||
Event.$on('sync-aprobacion', function (unSubpedido) {
|
||||
console.log(unSubpedido);
|
||||
|
||||
if (_this.pedido.id === unSubpedido.id) {
|
||||
_this.pedido = unSubpedido;
|
||||
}
|
||||
|
@ -2783,8 +2812,6 @@ __webpack_require__.r(__webpack_exports__);
|
|||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
name: "BotonAdminSubpedidoRow",
|
||||
props: {
|
||||
|
@ -2797,7 +2824,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
},
|
||||
computed: {
|
||||
mensaje: function mensaje() {
|
||||
return this.pedido.aprobado ? "Desaprobar" : "Aprobar";
|
||||
return this.pedido.aprobado ? "Aprobado" : "No aprobado";
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -2974,6 +3001,14 @@ __webpack_require__.r(__webpack_exports__);
|
|||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
name: "SubpedidosGdc",
|
||||
|
@ -2982,7 +3017,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
},
|
||||
data: function data() {
|
||||
return {
|
||||
gdc: null,
|
||||
gdc: 0,
|
||||
subpedidos: []
|
||||
};
|
||||
},
|
||||
|
@ -4506,8 +4541,9 @@ var render = function () {
|
|||
[_vm._v("Seleccionar")]
|
||||
),
|
||||
_vm._v(" "),
|
||||
_vm._l(_vm.gdcs, function (gdc) {
|
||||
_vm._l(_vm.gdcs, function (gdc, index) {
|
||||
return _c("option", {
|
||||
key: index,
|
||||
attrs: { name: gdc.nombre + (_vm.isAdmin ? "_admin" : "") },
|
||||
domProps: {
|
||||
textContent: _vm._s(
|
||||
|
@ -4836,34 +4872,56 @@ var render = function () {
|
|||
],
|
||||
staticClass: "block",
|
||||
},
|
||||
[_vm._m(0), _vm._v(" "), _vm._m(1)]
|
||||
[
|
||||
_c("div", { staticClass: "field" }, [
|
||||
_c("label", { staticClass: "label" }, [
|
||||
_vm._v("Contraseña del barrio"),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("div", { staticClass: "field has-addons" }, [
|
||||
_c("div", { staticClass: "control" }, [
|
||||
_c("input", {
|
||||
staticClass: "input",
|
||||
attrs: {
|
||||
required: "",
|
||||
type: this.passwordType,
|
||||
name: "password",
|
||||
placeholder: "Contraseña del barrio",
|
||||
},
|
||||
}),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("div", { staticClass: "control" }, [
|
||||
_c(
|
||||
"a",
|
||||
{
|
||||
staticClass: "button is-info",
|
||||
on: { click: _vm.togglePassword },
|
||||
},
|
||||
[
|
||||
_vm._v(
|
||||
"\n\t\t\t\t\t" +
|
||||
_vm._s(
|
||||
(_vm.passwordVisible ? "Ocultar" : "Mostrar") +
|
||||
" contraseña"
|
||||
) +
|
||||
" \n\t\t\t\t"
|
||||
),
|
||||
]
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("p", { staticClass: "help" }, [
|
||||
_vm._v("Si no la sabés, consultá a tus compañerxs."),
|
||||
]),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_vm._m(0),
|
||||
]
|
||||
)
|
||||
}
|
||||
var staticRenderFns = [
|
||||
function () {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
var _c = _vm._self._c || _h
|
||||
return _c("div", { staticClass: "field" }, [
|
||||
_c("label", { staticClass: "label" }, [_vm._v("Contraseña del barrio")]),
|
||||
_vm._v(" "),
|
||||
_c("p", { staticClass: "control" }, [
|
||||
_c("input", {
|
||||
staticClass: "input",
|
||||
attrs: {
|
||||
required: "",
|
||||
type: "password",
|
||||
name: "password",
|
||||
placeholder: "Contraseña del barrio",
|
||||
},
|
||||
}),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("p", { staticClass: "help" }, [
|
||||
_vm._v("Si no la sabés, consultá a tus compañerxs."),
|
||||
]),
|
||||
])
|
||||
},
|
||||
function () {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
|
@ -4912,36 +4970,56 @@ var render = function () {
|
|||
],
|
||||
staticClass: "block",
|
||||
},
|
||||
[_vm._m(0), _vm._v(" "), _vm._m(1)]
|
||||
[
|
||||
_c("div", { staticClass: "field" }, [
|
||||
_c("label", { staticClass: "label has-text-white" }, [
|
||||
_vm._v("Contraseña de administración del barrio"),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("div", { staticClass: "field has-addons" }, [
|
||||
_c("div", { staticClass: "control" }, [
|
||||
_c("input", {
|
||||
staticClass: "input",
|
||||
attrs: {
|
||||
required: "",
|
||||
type: this.passwordType,
|
||||
name: "password",
|
||||
placeholder: "Contraseña de admin del barrio",
|
||||
},
|
||||
}),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("div", { staticClass: "control" }, [
|
||||
_c(
|
||||
"a",
|
||||
{
|
||||
staticClass: "button is-warning",
|
||||
on: { click: _vm.togglePassword },
|
||||
},
|
||||
[
|
||||
_vm._v(
|
||||
"\n\t\t\t\t\t\t" +
|
||||
_vm._s(
|
||||
(_vm.passwordVisible ? "Ocultar" : "Mostrar") +
|
||||
" contraseña"
|
||||
) +
|
||||
" \n\t\t\t\t\t"
|
||||
),
|
||||
]
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("p", { staticClass: "help has-text-white" }, [
|
||||
_vm._v("Si no la sabés, consultá a la comisión informática."),
|
||||
]),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_vm._m(0),
|
||||
]
|
||||
)
|
||||
}
|
||||
var staticRenderFns = [
|
||||
function () {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
var _c = _vm._self._c || _h
|
||||
return _c("div", { staticClass: "field" }, [
|
||||
_c("label", { staticClass: "label has-text-white" }, [
|
||||
_vm._v("Contraseña de administración del barrio"),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("p", { staticClass: "control" }, [
|
||||
_c("input", {
|
||||
staticClass: "input",
|
||||
attrs: {
|
||||
required: "",
|
||||
type: "password",
|
||||
name: "password",
|
||||
placeholder: "Contraseña de admin del barrio",
|
||||
},
|
||||
}),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("p", { staticClass: "help has-text-white" }, [
|
||||
_vm._v("Si no la sabés, consultá a la comisión informática."),
|
||||
]),
|
||||
])
|
||||
},
|
||||
function () {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
|
@ -5647,8 +5725,9 @@ var render = function () {
|
|||
[_vm._v("Seleccionar")]
|
||||
),
|
||||
_vm._v(" "),
|
||||
_vm._l(_vm.regiones, function (region) {
|
||||
_vm._l(_vm.regiones, function (region, index) {
|
||||
return _c("option", {
|
||||
key: index,
|
||||
attrs: { name: region },
|
||||
domProps: { textContent: _vm._s(region) },
|
||||
})
|
||||
|
@ -5721,24 +5800,24 @@ var render = function () {
|
|||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
var _c = _vm._self._c || _h
|
||||
return _c(
|
||||
"button",
|
||||
{
|
||||
staticClass: "button",
|
||||
class: _vm.pedido.aprobado ? "is-danger" : "is-success",
|
||||
on: { click: _vm.toggleAprobacion },
|
||||
},
|
||||
[
|
||||
_c("span", { staticClass: "icon is-small" }, [
|
||||
_c("i", {
|
||||
staticClass: "fas",
|
||||
class: _vm.pedido.aprobado ? "fa-times" : "fa-check",
|
||||
}),
|
||||
return _c("div", { staticClass: "field" }, [
|
||||
_c("input", {
|
||||
staticClass: "switch is-rounded is-success",
|
||||
attrs: {
|
||||
id: "switch" + this.pedido.id,
|
||||
type: "checkbox",
|
||||
name: "switchRoundedSuccess",
|
||||
},
|
||||
domProps: { checked: _vm.pedido.aprobado },
|
||||
on: { change: _vm.toggleAprobacion },
|
||||
}),
|
||||
_vm._v(" "),
|
||||
_c("label", { attrs: { for: "switch" + this.pedido.id } }, [
|
||||
_c("span", { staticClass: "is-hidden-mobile" }, [
|
||||
_vm._v(_vm._s(_vm.mensaje)),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("span", [_vm._v(_vm._s(_vm.mensaje))]),
|
||||
]
|
||||
)
|
||||
]),
|
||||
])
|
||||
}
|
||||
var staticRenderFns = []
|
||||
render._withStripped = true
|
||||
|
@ -5847,6 +5926,7 @@ var render = function () {
|
|||
return _c(
|
||||
"div",
|
||||
{
|
||||
key: index,
|
||||
staticClass: "columns is-mobile",
|
||||
class: { "has-background-grey-lighter": index % 2 },
|
||||
},
|
||||
|
@ -5908,10 +5988,10 @@ render._withStripped = true
|
|||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true&":
|
||||
/*!****************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true& ***!
|
||||
\****************************************************************************************************************************************************************************************************************************/
|
||||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&":
|
||||
/*!****************************************************************************************************************************************************************************************************************!*\
|
||||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d& ***!
|
||||
\****************************************************************************************************************************************************************************************************************/
|
||||
/*! exports provided: render, staticRenderFns */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
|
@ -5940,6 +6020,21 @@ var render = function () {
|
|||
},
|
||||
[
|
||||
_c("div", { staticClass: "buttons is-right" }, [
|
||||
_c(
|
||||
"a",
|
||||
{
|
||||
staticClass: "button is-success",
|
||||
attrs: { href: "/admin/exportar-pedido-a-csv/" + _vm.gdc },
|
||||
},
|
||||
[
|
||||
_c("span", [
|
||||
_vm._v("\n Exportar pedido barrial\n "),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_vm._m(0),
|
||||
]
|
||||
),
|
||||
_vm._v(" "),
|
||||
_c(
|
||||
"a",
|
||||
{
|
||||
|
@ -5951,7 +6046,7 @@ var render = function () {
|
|||
_vm._v("\n Imprimir Planillas\n "),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_vm._m(0),
|
||||
_vm._m(1),
|
||||
]
|
||||
),
|
||||
]),
|
||||
|
@ -5970,7 +6065,7 @@ var render = function () {
|
|||
staticClass: "table is-fullwidth is-striped is-bordered",
|
||||
},
|
||||
[
|
||||
_vm._m(1),
|
||||
_vm._m(2),
|
||||
_vm._v(" "),
|
||||
_c("tfoot", [
|
||||
_c("tr", [
|
||||
|
@ -6018,6 +6113,14 @@ var render = function () {
|
|||
)
|
||||
}
|
||||
var staticRenderFns = [
|
||||
function () {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
var _c = _vm._self._c || _h
|
||||
return _c("span", { staticClass: "icon is-small" }, [
|
||||
_c("i", { staticClass: "fas fa-download" }),
|
||||
])
|
||||
},
|
||||
function () {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
|
@ -6040,7 +6143,7 @@ var staticRenderFns = [
|
|||
]),
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("th", [
|
||||
_c("th", { staticClass: "is-1" }, [
|
||||
_c("abbr", { attrs: { title: "Aprobacion" } }, [
|
||||
_vm._v("Aprobación"),
|
||||
]),
|
||||
|
@ -19482,7 +19585,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _SubpedidosGdc_vue_vue_type_template_id_652b385d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true& */ "./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true&");
|
||||
/* harmony import */ var _SubpedidosGdc_vue_vue_type_template_id_652b385d___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SubpedidosGdc.vue?vue&type=template&id=652b385d& */ "./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&");
|
||||
/* harmony import */ var _SubpedidosGdc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SubpedidosGdc.vue?vue&type=script&lang=js& */ "./resources/js/components/SubpedidosGdc.vue?vue&type=script&lang=js&");
|
||||
/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
|
||||
|
||||
|
@ -19494,11 +19597,11 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
|
||||
_SubpedidosGdc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
|
||||
_SubpedidosGdc_vue_vue_type_template_id_652b385d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
|
||||
_SubpedidosGdc_vue_vue_type_template_id_652b385d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
|
||||
_SubpedidosGdc_vue_vue_type_template_id_652b385d___WEBPACK_IMPORTED_MODULE_0__["render"],
|
||||
_SubpedidosGdc_vue_vue_type_template_id_652b385d___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
|
||||
false,
|
||||
null,
|
||||
"652b385d",
|
||||
null,
|
||||
null
|
||||
|
||||
)
|
||||
|
@ -19524,19 +19627,19 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true&":
|
||||
/*!**********************************************************************************************!*\
|
||||
!*** ./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true& ***!
|
||||
\**********************************************************************************************/
|
||||
/***/ "./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&":
|
||||
/*!**********************************************************************************!*\
|
||||
!*** ./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d& ***!
|
||||
\**********************************************************************************/
|
||||
/*! exports provided: render, staticRenderFns */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidosGdc_vue_vue_type_template_id_652b385d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&scoped=true&");
|
||||
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidosGdc_vue_vue_type_template_id_652b385d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
|
||||
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidosGdc_vue_vue_type_template_id_652b385d___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./SubpedidosGdc.vue?vue&type=template&id=652b385d& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidosGdc.vue?vue&type=template&id=652b385d&");
|
||||
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidosGdc_vue_vue_type_template_id_652b385d___WEBPACK_IMPORTED_MODULE_0__["render"]; });
|
||||
|
||||
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidosGdc_vue_vue_type_template_id_652b385d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
|
||||
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidosGdc_vue_vue_type_template_id_652b385d___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
|
||||
|
||||
|
||||
|
||||
|
@ -19560,8 +19663,8 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
__webpack_require__(/*! /home/ale/MPS/App/pedi2/resources/js/app.js */"./resources/js/app.js");
|
||||
module.exports = __webpack_require__(/*! /home/ale/MPS/App/pedi2/resources/sass/app.scss */"./resources/sass/app.scss");
|
||||
__webpack_require__(/*! /var/www/resources/js/app.js */"./resources/js/app.js");
|
||||
module.exports = __webpack_require__(/*! /var/www/resources/sass/app.scss */"./resources/sass/app.scss");
|
||||
|
||||
|
||||
/***/ })
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
barrio|region|referente|telefono|correo
|
||||
ENTREVERO|SUR|||
|
||||
TRES CRUCES|SUR|||
|
||||
PRUEBA|SIN REGION|||
|
|
|
@ -1,4 +1,4 @@
|
|||
CANASTA 81 - Setiembre 2022|||||REFERENCIAS:
|
||||
CANASTA 83 - Noviembre 2022|||||REFERENCIAS:
|
||||
S-G (SIN GLUTEN)
|
||||
S-S (SIN SAL AGREGADA)
|
||||
S-A (SIN AZUCAR AGREGADA)
|
||||
|
@ -13,91 +13,87 @@ P|Yerba Yusa tradicional 1kg|121.8||||||||||||0|0
|
|||
P|Yerba Yusa tradicional 500grs|65||||||||||||0|0
|
||||
P|Yerba Sara tradicional 1kg (Sin TACC)|135.64||||||||||||0|0
|
||||
P|Yerba Sara suave 1kg (Sin TACC)|137.86||||||||||||0|0
|
||||
P|*Harina Santa Unión 000 1kg|38||||||||||||0|0
|
||||
P|*Harina Santa Unión 0000 1kg|43.4||||||||||||0|0
|
||||
P|*Harina Santa Unión 000 1kg|37.7||||||||||||0|0
|
||||
P|*Harina Santa Unión 0000 1kg|43.6||||||||||||0|0
|
||||
P|*Harina de trigo integral Pasaná 1 kg|65.0||||||||||||0|0
|
||||
P|*Harina de arroz Pasaná 1 kg (Puede contener gluten)|65.0||||||||||||0|0
|
||||
P|*Harina de Garbanzos Pasaná 1 kg (Puede contener gluten)|140.0||||||||||||0|0
|
||||
P|*Mezcla para faina Pasaná 1 kg (Puede contener gluten)|150.0||||||||||||0|0
|
||||
P|*Fécula de Mandioca Pasaná 1 kg (Puede contener gluten)|90.0||||||||||||0|0
|
||||
P|Tres Harinas 500grs.|89.0||||||||||||0|0
|
||||
P|*Harina Santa Unión 000 Bolsa 25kg|813||||||||||||0|0
|
||||
P|*Polenta Santa Unión 450gr|19.4||||||||||||0|0
|
||||
P|*Mezcla de Fainá Santa Unión 5kg|475||||||||||||0|0
|
||||
P|Tres Harinas 500grs (Sin TAAC)|89||||||||||||0|0
|
||||
P|*Harina Santa Unión 000 Bolsa 25kg|816.72||||||||||||0|0
|
||||
P|*Polenta Santa Unión 450gr|19.51||||||||||||0|0
|
||||
P|*Mezcla de Fainá Santa Unión 5kg|477.25||||||||||||0|0
|
||||
P|*Fideos Caorsi Tirabuzón 1kg|68||||||||||||0|0
|
||||
P|*Fideos Caorsi Tallarín 1kg|76||||||||||||0|0
|
||||
P|*Fideos Caorsi Moñita 1kg|76||||||||||||0|0
|
||||
P|*Fideos Caorsi para sopa 1kg|68||||||||||||0|0
|
||||
P|*Fideos Caorsi para sopa 5kg|333||||||||||||0|0
|
||||
P|*Fideos Caorsi Tirabuzón 5kg|333||||||||||||0|0
|
||||
P|Arroz Blue Patna 1kg|42.5||||||||||||0|0
|
||||
P|Arroz Shiva 1kg|28.5||||||||||||0|0
|
||||
P|Arroz Blue Patna 1kg|42.23||||||||||||0|0
|
||||
P|Arroz Shiva 1kg|25.65||||||||||||0|0
|
||||
P|*Arroz integral 1kg|55||||||||||||0|0
|
||||
P|*Arroz integral 3kg|155||||||||||||0|0
|
||||
P|Aceite Condesa de Soja 900 cc.|93.4||||||||||||0|0
|
||||
P|Aceite Uruguay de Girasol 900 cc.|113.8||||||||||||0|0
|
||||
P|Aceite Optimo canola 900 cc.|100.2||||||||||||0|0
|
||||
P|Aceite Condesa de Soja 900 cc.|93.3||||||||||||0|0
|
||||
P|Aceite Uruguay de Girasol 900 cc.|115.2||||||||||||0|0
|
||||
P|Aceite Optimo canola 900 cc.|102||||||||||||0|0
|
||||
P|*Aceite de oliva 500 ml.|210||||||||||||0|0
|
||||
P|Vinagre Uruguay 900ml|80.8||||||||||||0|0
|
||||
P|Vinagre Uruguay 900ml|81.7||||||||||||0|0
|
||||
P|Aceite de Oliva Cuatro Piedras 3 lt|1190||||||||||||0|0
|
||||
P|*Salsa de soja La Posta 250 ml.|100||||||||||||0|0
|
||||
P|*Aceitunas verdes sin carozo en frasco La Posta 500 gr.|195||||||||||||0|0
|
||||
P|*Aceitunas negras sin carozo en frasco frasco La Posta 500 gr.|195||||||||||||0|0
|
||||
P|Lata atún Golden Fish desmenuzado al aceite 170g|36||||||||||||0|0
|
||||
P|Lata de arvejas Campero 300g|18||||||||||||0|0
|
||||
P|Lata de choclo Cosecha 300g|23||||||||||||0|0
|
||||
P|Lata de jardinera Cosecha|25.5||||||||||||0|0
|
||||
P|Lata de porotos negros Cosecha|35||||||||||||0|0
|
||||
P|Lata de porotos de frutilla Cosecha|35||||||||||||0|0
|
||||
P|Lata de duraznos en almíbar Campero|65||||||||||||0|0
|
||||
P|Mayonesa Uruguay 500g|83.7||||||||||||0|0
|
||||
P|Azúcar Azucarlito 25kg|1200||||||||||||0|0
|
||||
P|Azúcar Bella Unión 1kg|45.5||||||||||||0|0
|
||||
P|Lata atún Golden Fish desmenuzado al aceite 170g|38.55||||||||||||0|0
|
||||
P|Lata de arvejas Campero 300g|19||||||||||||0|0
|
||||
P|Lata de choclo Cosecha 300g|27.14||||||||||||0|0
|
||||
P|Lata de jardinera Cosecha|30.94||||||||||||0|0
|
||||
P|Lata de porotos negros Cosecha|34.75||||||||||||0|0
|
||||
P|Lata de porotos de frutilla Cosecha|34.75||||||||||||0|0
|
||||
P|Lata de duraznos en almíbar Campero|72||||||||||||0|0
|
||||
P|Mayonesa Uruguay 500g|85.7||||||||||||0|0
|
||||
P|Azúcar Bella Unión 1kg|44.3||||||||||||0|0
|
||||
P|Azúcar rubia Mascabo 500g|95||||||||||||0|0
|
||||
P|Azúcar impalpable Hornex 200 gr|35||||||||||||0|0
|
||||
P|Azúcar impalpable Hornex 1kg|115||||||||||||0|0
|
||||
P|Almidón de maíz Hornex 1Kg|72||||||||||||0|0
|
||||
P|Polvo de Hornear Hornex 1 kg|134||||||||||||0|0
|
||||
P|Polvo de Hornear Hornex 100 g + 20 g|34.5||||||||||||0|0
|
||||
P|Azúcar impalpable Hornex 200 gr|37||||||||||||0|0
|
||||
P|Azúcar impalpable Hornex 1kg|121||||||||||||0|0
|
||||
P|Almidón de maíz Hornex 1Kg|76||||||||||||0|0
|
||||
P|Polvo de Hornear Hornex 1 kg|141||||||||||||0|0
|
||||
P|Polvo de Hornear Hornex 100 g + 20 g|36.5||||||||||||0|0
|
||||
P|*Esencia de vainilla La Posta 100ml|90.0||||||||||||0|0
|
||||
P|*Bicarbonato de sodio La Posta 250 gr|50||||||||||||0|0
|
||||
P|Grasa Uruguay 400grs|59.2||||||||||||0|0
|
||||
P|Levadura seca Hornex 125g|115.5||||||||||||0|0
|
||||
P|Grasa Uruguay 400grs|62||||||||||||0|0
|
||||
P|Levadura seca Hornex 125g|118||||||||||||0|0
|
||||
P|Café Sorocabana glaseado p/máquina 500 grs|356.51||||||||||||0|0
|
||||
P|Café Sorocabana natural p/máquina 500 grs|483.64||||||||||||0|0
|
||||
P|Café soluble Saint bollón 170 gr|203||||||||||||0|0
|
||||
P|Té Negro en hebras 90gr hornimans|32||||||||||||0|0
|
||||
P|Galletas de arroz SIN SAL Natural Rice 120 gr.|35.0||||||||||||0|0
|
||||
P|Galletas de arroz comunes Natural Rice 120 gr|35.0||||||||||||0|0
|
||||
P|Café soluble Saint bollón 170 gr|192.7||||||||||||0|0
|
||||
P|Té Negro en hebras 90gr hornimans|35.85||||||||||||0|0
|
||||
P|Galletas de arroz SIN SAL Natural Rice 120 gr.|36.0||||||||||||0|0
|
||||
P|Galletas de arroz comunes Natural Rice 120 gr|36.0||||||||||||0|0
|
||||
P|Leche en polvo entera 200 gr|100.0||||||||||||0|0
|
||||
P|Leche en polvo entera 1kg|382.22||||||||||||0|0
|
||||
P|* Coco rallado 200gr|60||||||||||||0|0
|
||||
P|* Coco rallado 200gr|65||||||||||||0|0
|
||||
P|* Coco rallado 1kg|255.0||||||||||||0|0
|
||||
P|Cocoa Hornex 200gr|47.0||||||||||||0|0
|
||||
P|Postre de chocolate Hornex 8 porciones|35.7||||||||||||0|0
|
||||
P|Postre LIGHT de vainilla Hornex 8 porciones (aprobado por ADU)|57.0||||||||||||0|0
|
||||
P|Flan de vainilla Hornex 8 porciones|35.7||||||||||||0|0
|
||||
P|Gelatina de frutilla Hornex 8 porciones|39.7||||||||||||0|0
|
||||
P|Cocoa Hornex 200gr|49.5||||||||||||0|0
|
||||
P|Postre de chocolate Hornex 8 porciones|41.5||||||||||||0|0
|
||||
P|Postre LIGHT de vainilla Hornex 8 porciones (aprobado por ADU)|66.0||||||||||||0|0
|
||||
P|Flan de vainilla Hornex 8 porciones|41.5||||||||||||0|0
|
||||
P|Gelatina de frutilla Hornex 8 porciones|41.5||||||||||||0|0
|
||||
P|Bizcochuelo de vainilla SIN GLUTEN 500gr Hornex|158||||||||||||0|0
|
||||
P|Pizza SIN GLUTEN 320gr Hornex|150||||||||||||0|0
|
||||
P|Pulpa de Tomate De Ley 1lt (S-G)|52.0||||||||||||0|0
|
||||
P|Pure de papa instantaneo De Ley 125g|19.0||||||||||||0|0
|
||||
P|Pure de papa instantaneo De Ley 125g|25.2||||||||||||0|0
|
||||
P|*Sal fina sin fluor Polenteados 500g|28||||||||||||0|0
|
||||
P|*Sal gruesa sin fluor Polenteados 500g|28.0||||||||||||0|0
|
||||
P|*Salsa de tomate casera (puro tomate) 1 lt - (S-G) - azucar agregada: 1g/L - sal agregada: 0,25g/L|75.0||||||||||||0|0
|
||||
P |*Salsa de tomate casera (puro tomate) 1 lt - (S-G) - azucar agregada: 1g/L - sal agregada: 0,25g/L|75.0||||||||||||0|0
|
||||
P|*Barras de cereales (maní, sésamo, lino, girasol, avena, copos de arroz, copos de máiz, azúcar rubia y miel) - Pack x2|75.0||||||||||||0|0
|
||||
P|*Barras de cereales bañadas en chocolate (maní, sésamo, lino, girasol, avena, copos de arroz, copos de máiz, azúcar rubia y miel) - Pack x2|85.0||||||||||||0|0
|
||||
P|*Granola artesanal 500 gr Ing: copos ,avena,miel, vainilla,coco rallado, chia,girasol,sésamo, lino,maní, almendras, castañas de caju, nueces, chips de chocolate.|235.0||||||||||||0|0
|
||||
P|*Granola simple (avena+ girasol+ pasaUva) 1kg|170.0||||||||||||0|0
|
||||
P|*Granola simple (avena+ girasol+ pasaUva) 1kg|175.0||||||||||||0|0
|
||||
P|*Copos de maíz azucarados 500g|92.0||||||||||||0|0
|
||||
P|*Copos de maíz naturales 500g|92.0||||||||||||0|0
|
||||
P|*Crema untable de maní 250gr|92.0||||||||||||0|0
|
||||
P|*Budin Panitep con cobertura de chocolate con almendras, maní, nueces y pasas 250grs - (S-S)|180.0||||||||||||0|0
|
||||
P|*Budin Panitep con cobertura de almíbar y coco con almendras, maní, nueces y pasas 250grs - (S-S)|160.0||||||||||||0|0
|
||||
P|*Budin Panitep de naranja 250grs - (S-S)|160.0||||||||||||0|0
|
||||
P|Alfajor de chocolate negro 80 g (S-G) |44.0||||||||||||0|0
|
||||
P|Galletitas dulces de Naranja y avena 150 g (S-G, S-A, S-P-A) |108.0||||||||||||0|0
|
||||
P|Crackers saladas de sésamo, girasol y chía 180 g (S-G) |108.0||||||||||||0|0
|
||||
P|Alfajor de coco 80 g (S-G) |44.0||||||||||||0|0
|
||||
P|Galletitas dulces sabor cacao, nueces, avena y sésamo 150 g (S-G, S-A)|108.0||||||||||||0|0
|
||||
P|Crackers saladas de remolacha y chía 180 g (S-G)|108.0||||||||||||0|0
|
||||
P|*Lino 1/4 kg|30.0||||||||||||0|0
|
||||
P|*Chía 1/4 kg|65.0||||||||||||0|0
|
||||
P|*Girasol 1/2 kg|85.0||||||||||||0|0
|
||||
|
@ -108,32 +104,29 @@ P|*Cacao en polvo 250 grs (S-A)|100.0||||||||||||0|0
|
|||
P|*Almendra pelada (sin tostar) Polenteados 100g|80.0||||||||||||0|0
|
||||
P|*Pasas de Uva Polenteados 250 gr|69.0||||||||||||0|0
|
||||
P|*Nueces Polenteados 100g|81.0||||||||||||0|0
|
||||
P|*Castañas tostadas SIN sal 100grs|73.0||||||||||||0|0
|
||||
P|*Semillas de zapallo 100g|60.0||||||||||||0|0
|
||||
P|*Castañas tostadas SIN sal 100grs|75.0||||||||||||0|0
|
||||
P|*Avena laminada instantánea Polenteados 500g|49.0||||||||||||0|0
|
||||
P|*Pan de molde Gory Lacteado 550g|59.0||||||||||||0|0
|
||||
P|*Pan de molde Integral Doña Erika 550g|59.0||||||||||||0|0
|
||||
P|*Galleta Malteada La Socialista 350g|59.0||||||||||||0|0
|
||||
P|*Galleta Malteada c/semillas (sésamo, chia, lino) La Socialista 380gr|78.0||||||||||||0|0
|
||||
P|*Galleta Cara Sucia La Socialista 350g|67.0||||||||||||0|0
|
||||
P|*Grisines La Socialista 350g|71.0||||||||||||0|0
|
||||
P|*Mezcla para panqueques La Socialista 2 x 250g|56.0||||||||||||0|0
|
||||
P|*Mezcla para salsa blanca La Socialista 2 x 50g|46.0||||||||||||0|0
|
||||
P|*Galleta Malteada La Socialista 350g|69.0||||||||||||0|0
|
||||
P|*Galleta Malteada c/semillas (sésamo, chia, lino) La Socialista 380gr|88.0||||||||||||0|0
|
||||
P|*Galleta Cara Sucia La Socialista 350g|77.0||||||||||||0|0
|
||||
P|*Grisines La Socialista 350g|81.0||||||||||||0|0
|
||||
P|*Maní pelado frito y salado Polenteados 500g|93.0||||||||||||0|0
|
||||
P|*Maní pelado sin sal Polenteados 500g|93||||||||||||0|0
|
||||
P|*Garbanzo Polenteados 1kg|95||||||||||||0|0
|
||||
P|* Maiz para pop 500grs NUEVO!|54.0||||||||||||0|0
|
||||
P|*Lentejas Polenteados 1kg|96||||||||||||0|0
|
||||
P|*Maní pelado sin sal Polenteados 500g|93.0||||||||||||0|0
|
||||
P|*Garbanzo Polenteados 1kg|95.0||||||||||||0|0
|
||||
P|* Maiz para pop 500grs|54.0||||||||||||0|0
|
||||
P|*Lentejas Polenteados 1kg|96.0||||||||||||0|0
|
||||
P|*Porotos negros Polenteados 1kg|102.0||||||||||||0|0
|
||||
P|*Porotos de manteca Polenteados 1kg|115||||||||||||0|0
|
||||
P|*Proteína de SOJA texturizada 1kg|135.0||||||||||||0|0
|
||||
P|*Porotos de manteca Polenteados 1kg|115.0||||||||||||0|0
|
||||
P|*Proteína de SOJA texturizada 1kg|135||||||||||||0|0
|
||||
CONDIMENTOS, PERECEDEROS Y BEBIDAS||||||||||||||0|0
|
||||
P|*Tallarines frescos de yema Pastas Colon 1kg|165.0||||||||||||0|0
|
||||
P|*Tallarines frescos de espinaca Pastas Colon 1kg|175.0||||||||||||0|0
|
||||
P|*Tallarines frescos de morrón Pastas Colon 1kg|180.0||||||||||||0|0
|
||||
P|*Salsa pomarola 300gr ex trabajadores de La Spezia|90.0||||||||||||0|0
|
||||
P|*Tallarines frescos de yema Pastas Colon 1kg|175||||||||||||0|0
|
||||
P|*Tallarines frescos de espinaca Pastas Colon 1kg|185||||||||||||0|0
|
||||
P|*Tallarines frescos de morrón Pastas Colon 1kg|190.0||||||||||||0|0
|
||||
P|*Salsa pomarola 300gr ex trabajadores de La Spezia|90||||||||||||0|0
|
||||
P|*Fetuccine integral de zanahoria, apto veganos 1kg|190.0||||||||||||0|0
|
||||
P|*Romanitos rellenos jamón y queso ex trabajadores de La Spezia 1kg|510.0||||||||||||0|0
|
||||
P|*Romanitos rellenos jamón y queso ex trabajadores de La Spezia 1kg|510||||||||||||0|0
|
||||
P|*Romanitos vegetarianos ex trabajadores de La Spezia 1kg|510.0||||||||||||0|0
|
||||
P|*Sorrentinos jamón y queso 1Kg ex trabajadores de La Spezia|470.0||||||||||||0|0
|
||||
P|*Sorrentinos Ricota y Nuez 1kg ex Trabajadores de La Spezia|470.0||||||||||||0|0
|
||||
|
@ -144,9 +137,9 @@ P|*Milanesas de carne empanadas 1kg|375.0||||||||||||0|0
|
|||
P|*Milanesas de pollo empanadas 1kg|365.0||||||||||||0|0
|
||||
P|*Empanada de pollo x 6|250.0||||||||||||0|0
|
||||
P|*Empanada de carne x 6|250.0||||||||||||0|0
|
||||
P|*Milanesas de seitan x6|330.0||||||||||||0|0
|
||||
P|*Hamburguesas parrilleras de soja no transgénica, sal, harina de avena y adobo sin picante x6 - (S-A)|300.0||||||||||||0|0
|
||||
P|*Jamón vegano (gluten de trigo, salsa de tomate, sabor ahumado, sal) horma 250 g - (S-A)|200.0||||||||||||0|0
|
||||
P|*Milanesas de seitan x6|350.0||||||||||||0|0
|
||||
P|*Hamburguesas parrilleras de soja no transgénica, sal, harina de avena y adobo sin picante x6 - (S-A)|320.0||||||||||||0|0
|
||||
P|*Jamón vegano (gluten de trigo, salsa de tomate, sabor ahumado, sal) horma 250 g - (S-A)|215.0||||||||||||0|0
|
||||
P|*Hummus 200cc|140.0||||||||||||0|0
|
||||
P|*Pate de zanahoria 200cc|140.0||||||||||||0|0
|
||||
P|*Pan rallado 1kg|65.0||||||||||||0|0
|
||||
|
@ -164,10 +157,10 @@ P|*Orégano 250g|105.0||||||||||||0|0
|
|||
P|*Nuez moscada entera 2 unidades|23.0||||||||||||0|0
|
||||
P|*Canela en rama 10g|23.0||||||||||||0|0
|
||||
P|*Cúrcuma 20g|23.0||||||||||||0|0
|
||||
P|*Pack "Sabores exoticos" - Paprika, Espinaca en polvo, Fenogreco en polvo.|59.0||||||||||||0|0
|
||||
P|*Pack "Pa´l Mate" - Marcela, Cedrón, Malva.|110.0||||||||||||0|0
|
||||
P|*Pack "Medicina de invierno" Salvia, Tilo, Guaco.|110.0||||||||||||0|0
|
||||
P|*Pack "Té de las 5hs-Light" - Manzanilla, Lemon Grass, Petalos de Rosa.|110.0||||||||||||0|0
|
||||
P|*Pack "Sabores exoticos" - Paprika, Espinaca en polvo, Mostaza en polvo.|62.0||||||||||||0|0
|
||||
P|*Pack "Mate Uruguayo" - Marcela, Cedrón, Boldo.|115.0||||||||||||0|0
|
||||
P|*Pack "Delicias del campo" Té rojo, Manzanilla, Pétalos de rosa.|115.0||||||||||||0|0
|
||||
P|*Pack "Té de las 5hs-Light" - Té verde, Lemon Grass, Hojas de Stevia.|115.0||||||||||||0|0
|
||||
P|Vino Santero Marselán 1 lt.|220.0||||||||||||0|0
|
||||
P|Vino Tannat-Cabernet Paso del Roble 1 lt.|98.0||||||||||||0|0
|
||||
P|Vino Rosado dulce Paso del Roble 1 lt.|98.0||||||||||||0|0
|
||||
|
@ -177,12 +170,12 @@ P|*Cerveza artesanal Punto Rojo Red Ipa 500cc|100.0||||||||||||0|0
|
|||
P|*Cerveza artesanal APA Guillotina 1L|190.0||||||||||||0|0
|
||||
P|Fernet artesanal 780 ml|380.0||||||||||||0|0
|
||||
P|Jugo en polvo "Juguito" sabores surtidos|8.0||||||||||||0|0
|
||||
P|Jugo Big C 200ml sabores surtidos|15.0||||||||||||0|0
|
||||
P|*Refresco U Naranja 2lt|83.0||||||||||||0|0
|
||||
P|*Refresco U Mandarina 2lt|83.0||||||||||||0|0
|
||||
P|*Refresco U Pomelo 2lt|83.0||||||||||||0|0
|
||||
P|*Refresco U Limonada 2lt|83.0||||||||||||0|0
|
||||
P|*Agua 6 lts|84.0||||||||||||0|0
|
||||
P|Jugo Big C 200ml sabores surtidos|15.5||||||||||||0|0
|
||||
P|*Refresco U Naranja 2lt|84.0||||||||||||0|0
|
||||
P|*Refresco U Mandarina 2lt|84.0||||||||||||0|0
|
||||
P|*Refresco U Pomelo 2lt|84.0||||||||||||0|0
|
||||
P|*Refresco U Limonada 2lt|84.0||||||||||||0|0
|
||||
P|*Agua 6 lts|85.0||||||||||||0|0
|
||||
P|*Queso Muzzarella 1/2 kg Unidad Cooperaria|150.0||||||||||||0|0
|
||||
P|*Queso Magro s/sal 1/2 kg Unidad Cooperaria|167.0||||||||||||0|0
|
||||
P|*Queso Magro c/sal 1/2 kg Uniddad Cooperaria|167.0||||||||||||0|0
|
||||
|
@ -197,8 +190,8 @@ P|*Queso saborizado con orégano 500grs (envasado al vacío)|276.0||||||||||||0|
|
|||
P|*Queso semiduro 500grs (envasado al vacío) Productores Ismael Cortinas|215.0||||||||||||0|0
|
||||
P|*Queso cuartirolo horma 1kg envasado al vacío|297.0||||||||||||0|0
|
||||
P|*Queso rallado 200grs|132.0||||||||||||0|0
|
||||
P|*Dulce de Leche 1 Kg Unidad Cooperaria|230.0||||||||||||0|0
|
||||
P|*Dulce de leche de coco 360 gr|300.0||||||||||||0|0
|
||||
P|*Dulce de Leche 1 Kg Unidad Cooperaria|250.0||||||||||||0|0
|
||||
P|*Dulce de leche de coco 360 gr|330.0||||||||||||0|0
|
||||
P|*Morrones en vinagre 330 gr|180.0||||||||||||0|0
|
||||
P|*Berenjenas en vinagre 330 gr|180.0||||||||||||0|0
|
||||
P|*Mermelada de morrones 250 gr|180.0||||||||||||0|0
|
||||
|
@ -212,32 +205,30 @@ P|*Mermelada de arándanos, 450 grs.|155.0||||||||||||0|0
|
|||
P|*Dulce de membrillo, 900grs|114.0||||||||||||0|0
|
||||
P|*Dulce de batata con chocolate 1kg|128.0||||||||||||0|0
|
||||
P|*Dulce de zapallo 1kg|119.0||||||||||||0|0
|
||||
P|*Dulce de higo 1kg|128||||||||||||0|0
|
||||
P|*Miel artesanal 1 kg|230||||||||||||0|0
|
||||
P|*Dulce de higo 1kg|128.0||||||||||||0|0
|
||||
P|*Miel artesanal 1 kg|230.0||||||||||||0|0
|
||||
P|*Canasta de frutas y verduras "34 Sur Productos Orgánicos"|630.0||||||||||||0|0
|
||||
P|Pack de Ajos x 170 gr, 17u aprox |100||||||||||||0|0
|
||||
ARTÍCULOS PERSONALES Y DE LIMPIEZA||||||||||||||0|0
|
||||
P|Preservativos Prime ultrafinos x3|80.0||||||||||||0|0
|
||||
P|Tabaco Cerrito|108.0||||||||||||0|0
|
||||
P|Hojilla JOB x30|24.0||||||||||||0|0
|
||||
P|Shampoo Suave 930ml|150.0||||||||||||0|0
|
||||
P|Acondicionador Suave 930ml|150.0||||||||||||0|0
|
||||
P|Jabón de tocador IO, 80gs|15.0||||||||||||0|0
|
||||
P|Cepillo dental Introdento (medio)|31.2||||||||||||0|0
|
||||
P|Pasta Dental Introdento menta 102 grs.|38.6||||||||||||0|0
|
||||
P|Preservativos Prime ultrafinos x3|85.7||||||||||||0|0
|
||||
P|Tabaco Cerrito|107.7||||||||||||0|0
|
||||
P|Hojilla JOB x30|24.34||||||||||||0|0
|
||||
P|Shampoo Plusbelle 930ml|156.5||||||||||||0|0
|
||||
P|Acondicionador Plusbelle 930ml|156.5||||||||||||0|0
|
||||
P|Jabón de tocador IO, 80gs|13.7||||||||||||0|0
|
||||
P|Cepillo dental Introdento (medio)|32.79||||||||||||0|0
|
||||
P|Pasta Dental Introdento menta 102 grs.|40.5||||||||||||0|0
|
||||
P|*Pack x3 jabones glicerina vegetal Natura|330.0||||||||||||0|0
|
||||
P|*Desodorante ecológico apto veganos Natura|165.0||||||||||||0|0
|
||||
P|*Pasta Dental Libre de Flúor Natura|170.0||||||||||||0|0
|
||||
P|*Shampoo artesanal pelo graso 250 ml Natura|235.0||||||||||||0|0
|
||||
P|* Repelente 125 ml Natura|215.0||||||||||||0|0
|
||||
P|*Shampoo artesanal pelo seco 250 ml Natura|230.0||||||||||||0|0
|
||||
P|*Shampoo sólido cabello seco y normal 50 gr Natura|340.0||||||||||||0|0
|
||||
P|*Barrita quita manchas 75 gr Natura NUEVO!|100.0||||||||||||0|0
|
||||
P|*Shampoo sólido cabello graso 50gr|355.0||||||||||||0|0
|
||||
P|*Acondicionador sólido 50gr Natura|350.0||||||||||||0|0
|
||||
P|*Cepillo dental de bambú 97% biodegradable (niños y adultos)|165.0||||||||||||0|0
|
||||
P|*Barrita quita manchas 75 gr Natura|100.0||||||||||||0|0
|
||||
P|*Talco pédico 200gr|205.0||||||||||||0|0
|
||||
P|*Ungüento descongestivo y expectorante (tomillo, eucalipto y mentol) 30 cc|330.0||||||||||||0|0
|
||||
P|*Bálsamo labial Herencias de aquelarre (protege y repara)|200.0||||||||||||0|0
|
||||
P|*Jabón en polvo Bonsai 800g|72.0||||||||||||0|0
|
||||
P|*Jabón en polvo Bonsai 800g|70.0||||||||||||0|0
|
||||
P|*Jabón en polvo Bonsai 5kg|380.0||||||||||||0|0
|
||||
P|*Suavizante Bonsai 1lt|70.0||||||||||||0|0
|
||||
P|*Jabon liquido para lavarropas 900 cc Bonsai|80.0||||||||||||0|0
|
||||
|
@ -252,9 +243,9 @@ P|*Hipoclorito El Resistente 1800cc|72.0||||||||||||0|0
|
|||
P|*Limpiador perfumado El Resistente (perfumol) 1800cc|72.0||||||||||||0|0
|
||||
P|*Detergente El Resistente 500ml|48.0||||||||||||0|0
|
||||
P|*KIT El Resistente (Hip./Perf./Det.)|176.0||||||||||||0|0
|
||||
P|Jabon en barra Primor x1|25.0||||||||||||0|0
|
||||
P|Rejilla de cocina 40 x 27.5 Tacuabé (ex Paylana) cm|27.0||||||||||||0|0
|
||||
P|Trapo de piso 53 x 53 Tacuabé (ex Paylana)|36.0||||||||||||0|0
|
||||
P|Jabon en barra Primor x1|29.4||||||||||||0|0
|
||||
P|Rejilla de cocina 40 x 27.5 Tacuabé (ex Paylana) cm|29.0||||||||||||0|0
|
||||
P|Trapo de piso 53 x 53 Tacuabé (ex Paylana)|37.0||||||||||||0|0
|
||||
P|Esponja de cocina|26.0||||||||||||0|0
|
||||
P|Esponja de acero inoxidable|29.0||||||||||||0|0
|
||||
P|Repasador de algodón 43 x 65 cm|53.0||||||||||||0|0
|
||||
|
@ -271,20 +262,20 @@ P|*Vela de citronela 1 mecha|122.2||||||||||||0|0
|
|||
P|Pañales Babysec ULTRA XXG 24 unidades|327.0||||||||||||0|0
|
||||
P|Pañales Babysec ULTRA XG 24 unidades|327.0||||||||||||0|0
|
||||
P|Pañales Babysec ULTRA G 30 unidades|327.0||||||||||||0|0
|
||||
P|Pañales Babysec ULTRA M 36 unidades|327||||||||||||0|0
|
||||
P|Pañales Babysec ULTRA M 36 unidades|327.0||||||||||||0|0
|
||||
P|Pañales Babysec ULTRA P 36 unidades|327.0||||||||||||0|0
|
||||
P|Toallita de bebé BabySec ultra 50un|72.0||||||||||||0|0
|
||||
P|Papel Higienico: Higienol Texturado x4|42.0||||||||||||0|0
|
||||
P|Papel de Cocina Sussex extra x 2 -120 paños-|62.0||||||||||||0|0
|
||||
TEXTIL||||||||||||||0|0
|
||||
P|*Calza licra de algodon talle S|900.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle M|900.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle L|900.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle M|900||||||||||||0|0
|
||||
P|*Calza licra de algodon talle L|900||||||||||||0|0
|
||||
P|*Calza licra de algodon talle XL|900.0||||||||||||0|0
|
||||
P|*Conjunto primera muda 100% algodón color blanco liso (pack de pelele, bata y gorrito en bolsa de lienzo)|600.0||||||||||||0|0
|
||||
P|*Conjunto primera muda 100% algodón rayado azul, naranja, verde, amarillo, blanco (pack de pelele, bata y gorrito en bolsa de lienzo)|600.0||||||||||||0|0
|
||||
P|*Conjunto primera muda 100% algodón color rayado rojo, verde pálido, rosa pálido, blanco (pack de pelele, bata y gorrito en bolsa de lienzo)|600.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle 0|350.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle 0|350||||||||||||0|0
|
||||
P|*Calza licra de algodon talle 2|350.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle 4|350.0||||||||||||0|0
|
||||
P|*Calza licra de algodon talle 6|450.0||||||||||||0|0
|
||||
|
@ -312,17 +303,18 @@ P|*Pantalón deportivo - Talle 12|350.0||||||||||||0|0
|
|||
P|*Pantalón deportivo - Talle 14|350.0||||||||||||0|0
|
||||
P|*Pantalón deportivo - Talle 16|350.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle S. |650.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle M. |650.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle L. |650.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle XL.|650.0||||||||||||0|0
|
||||
P|*Túnica niñe con cinto en espalda y tajo detrás- talles 6 a 16|600.0||||||||||||0|0
|
||||
P|*Túnica niñe con martingala, festón y pinzas talles 6 a 16|600.0||||||||||||0|0
|
||||
P|*Pintor verde - talles 2 a 8|320.0||||||||||||0|0
|
||||
P|*Pintor azul - talles 2 a 8|320.0||||||||||||0|0
|
||||
P|*Pintor rojo - talles 2 a 8|320.0||||||||||||0|0
|
||||
P|*Pintor amarillo - talles 2 a 8|320.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle M.|650.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle L.|650.0||||||||||||0|0
|
||||
P|*Bikers licra de algodón - Talle XL. |650.0||||||||||||0|0
|
||||
P|* Bolsa estampada con logo MPS. Acción Solidaria. NUEVO!|155.0||||||||||||0|0
|
||||
P|*Túnica niñe con cinto en espalda y tajo detrás- talles 6 a 16|650.0||||||||||||0|0
|
||||
P|*Túnica niñe con martingala, festón y pinzas talles 6 a 16|650.0||||||||||||0|0
|
||||
P|*Pintor verde - talles 2 a 8|350.0||||||||||||0|0
|
||||
P|*Pintor azul - talles 2 a 8|350.0||||||||||||0|0
|
||||
P|*Pintor rojo - talles 2 a 8|350.0||||||||||||0|0
|
||||
P|*Pintor amarillo - talles 2 a 8|350.0||||||||||||0|0
|
||||
P|*Túnicas adulto - talles 1 a 5|1200.0||||||||||||0|0
|
||||
P|*Moña escolar satinada|50.0||||||||||||0|0
|
||||
P|*Moña escolar satinada|70.0||||||||||||0|0
|
||||
P|*Juego de sábanas de algodón 1 plaza|1100.0||||||||||||0|0
|
||||
P|*Juego de sábanas de algodón 2 plazas (para sommier)|1300.0||||||||||||0|0
|
||||
P|*Sábana sola sin elástico, 2 plazas (para sommier)|750.0||||||||||||0|0
|
||||
|
@ -331,45 +323,42 @@ P|*Juego de toallón y toalla de algodón|700.0||||||||||||0|0
|
|||
P|*Toallón|550.0||||||||||||0|0
|
||||
P|*Toalla de mano|300.0||||||||||||0|0
|
||||
P|*Turbante toalla|400.0||||||||||||0|0
|
||||
P|*Cuellitos polares forrados en angorina, diseños surtidos|350||||||||||||0|0
|
||||
P|*Tapaboca de tela|50.0||||||||||||0|0
|
||||
P|*Delantal corto Colectiva en la Olla |450.0||||||||||||0|0
|
||||
P|*Delantal largo Colectiva en la Olla |600.0||||||||||||0|0
|
||||
P|*Delantal corto Colectiva en la Olla|450.0||||||||||||0|0
|
||||
P|*Delantal largo Colectiva en la Olla|600.0||||||||||||0|0
|
||||
ARTÍCULOS DE MADRES Y FAMILIARES||||||||||||||0|0
|
||||
P|Pañuelo Madres y Familiares de Detenidos Desaparecidos|50.0||||||||||||0|0
|
||||
P|Balconera Madres y Familiares de Detenidos Desaparecidos|100||||||||||||0|0
|
||||
P|Pack 5: 1 pin redondo + 1 libro "La Sal de la Tierra"|100.0||||||||||||0|0
|
||||
P|Pack 5: 1 pin redondo + 1 libro La Sal de la Tierra|100.0||||||||||||0|0
|
||||
P|Pack 6: 1 gorro blanco + 1 pin redondo + pegotines y marcalibros|200.0||||||||||||0|0
|
||||
P|Pack 7: 1 gorro blanco + 1 libro "La Sal de la Tierra" + pegotines y marcalibros|200.0||||||||||||0|0
|
||||
P|Pack 8: 1 gorro blanco + 1 lapicera + pegotines y marcalibros|200||||||||||||0|0
|
||||
P|pacl 7: 1 gorro blanco + 1 libro la sal de la tierra + pegotines y marcalibros|200||||||||||||0|0
|
||||
P|pack 8: 1 gorro blanco + 1 lapicera + pegotines y marcalibros|200.0||||||||||||0|0
|
||||
LIBROS||||||||||||||0|0
|
||||
P|Libro "Raspando la Olla" NUEVO!|250.0||||||||||||0|0
|
||||
P|Libro "Raspando la Olla" |250.0||||||||||||0|0
|
||||
TRANSPORTE, BONOS Y FINANCIAMIENTO SORORO||||||||||||||0|0
|
||||
T|Por cada $ 500 de consumo, abonar $ 15 para transporte y gastos operativos, ej:$520 son $30|15.0|0|0|0|0|0|0|0|0|0|0|0|0|0
|
||||
B|Campaña solidaria MPS - apoyo a ollas y merenderos|20.0||||||||||||0|0
|
||||
F|Financiamiento sororo para copa menstrual|20.0||||||||||||0|0
|
||||
PRODUCTOS DE GESTIÓN MENSTRUAL||||||||||||||0|0
|
||||
¿Cuántas copas quieren y pueden comprar en el grupo?||||||||||||||0|0
|
||||
P|Copa menstrual de silicona, ecológica|750.0||||||||||||0|0
|
||||
¿Cuántas copas quieren adquirir a través del financiamiento sororo?||||||||||||||0|0
|
||||
P|Copa menstrual de silicona, ecológica|0||||||||||||0|0
|
||||
P|Vaso esterilizador para copa menstrual|330.0||||||||||||0|0
|
||||
P|*Toallita de tela Nocturna "Chúlin"|168.0||||||||||||0|0
|
||||
P|Copa menstrual de silicona, ecológica|750||||||||||||0|0
|
||||
¿Cuántas copas quieren adquirir a través del financiamiento sororo?||0||||||||||||0|0
|
||||
P|Copa menstrual de silicona, ecológica|0.0||||||||||||0|0
|
||||
P|*Toallita de tela Nocturna "Chúlin"|168||||||||||||0|0
|
||||
P|*Toallita de tela para Colaless "Chúlin"|133.0||||||||||||0|0
|
||||
P|*Toallitas de tela para Bombacha "Chúlin"|147.0||||||||||||0|0
|
||||
P|*Protector Diario de tela "Chúlin"|112.0||||||||||||0|0
|
||||
P|*Pack 1: 2 protectores diarios + 2 toallitas para bombacha "Chúlin"|462||||||||||||0|0
|
||||
P|*Pack 2: 3 protectores diarios "Chúlin"|301||||||||||||0|0
|
||||
P|*Pack 2: 3 protectores diarios "Chúlin"|301.0||||||||||||0|0
|
||||
P|Ladysoft Clasicas 8un|21.0||||||||||||0|0
|
||||
TOTAL|||0|0|0|0|0|0|0|0|0|0|0||0
|
||||
|TOTAL||0|0|0|0|0|0|0|0|0|0|0||0
|
||||
|||||||||||||||
|
||||
|||||||||||||||
|
||||
|||||||||||||||
|
||||
|Si compras ropa deportiva, túnicas, pintores, copas menstruales y/o remeras de Madres y Familiares recorda indicar talles y/o colores en cada caso||||||||||||||
|
||||
|||||||||||||||
|
||||
|||||||||||||||
|
||||
|||||||||||||||
|
||||
|PRODUCTOS PARA SELECCIONAR TALLES y/o COLORES|nombre|nombre|nombre|nombre||||||||||
|
||||
|||||||||||||||
|
||||
|||nombre|nombre|nombre||||||||||
|
||||
|*Calza licra de algodon talle S||||||||||||||
|
||||
|*Calza licra de algodon talle M||||||||||||||
|
||||
|*Calza licra de algodon talle L||||||||||||||
|
||||
|
@ -402,8 +391,8 @@ TOTAL|||0|0|0|0|0|0|0|0|0|0|0||0
|
|||
|*Pantalón deportivo - Talle 14||||||||||||||
|
||||
|*Pantalón deportivo - Talle 16||||||||||||||
|
||||
|*Bikers licra de algodón - Talle S. ||||||||||||||
|
||||
|*Bikers licra de algodón - Talle M. ||||||||||||||
|
||||
|*Bikers licra de algodón - Talle L. ||||||||||||||
|
||||
|*Bikers licra de algodón - Talle M.||||||||||||||
|
||||
|*Bikers licra de algodón - Talle L.||||||||||||||
|
||||
|*Bikers licra de algodón - Talle XL. ||||||||||||||
|
||||
|*Túnica niñe con cinto en espalda y tajo detrás- talles 6 a 16||||||||||||||
|
||||
|*Túnica niñe con martingala, festón y pinzas talles 6 a 16||||||||||||||
|
||||
|
|
Can't render this file because it has a wrong number of fields in line 86.
|
|
@ -6,7 +6,7 @@
|
|||
<div class="select">
|
||||
<select @change="onGDCSelected" v-model="gdc" name="name">
|
||||
<option :disabled="isDefaultDisabled==1" value=null>Seleccionar</option>
|
||||
<option v-for="gdc in gdcs" v-text="gdc.nombre + (isAdmin ? '_admin' : '')"
|
||||
<option v-for="(gdc, index) in gdcs" :key="index" v-text="gdc.nombre + (isAdmin ? '_admin' : '')"
|
||||
:name="gdc.nombre + (isAdmin ? '_admin' : '')">
|
||||
</option>
|
||||
</select>
|
||||
|
|
|
@ -2,9 +2,16 @@
|
|||
<div v-show="visible" class="block">
|
||||
<div class="field">
|
||||
<label class="label">Contraseña del barrio</label>
|
||||
<p class="control">
|
||||
<input required class="input" type="password" name="password" placeholder="Contraseña del barrio">
|
||||
</p>
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
<input required class="input" :type="this.passwordType" name="password" placeholder="Contraseña del barrio">
|
||||
</div>
|
||||
<div class="control">
|
||||
<a class="button is-info" @click="togglePassword">
|
||||
{{ (passwordVisible ? 'Ocultar' : 'Mostrar') + ' contraseña'}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<p class="help">Si no la sabés, consultá a tus compañerxs.</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
|
@ -17,10 +24,13 @@
|
|||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Login',
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
gdc: null
|
||||
gdc: null,
|
||||
passwordVisible: false,
|
||||
passwordType: "password",
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -28,6 +38,13 @@
|
|||
this.gdc = gdc;
|
||||
this.visible = true;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
togglePassword() {
|
||||
if (this.passwordVisible) this.passwordType = "password";
|
||||
else this.passwordType = "text"
|
||||
this.passwordVisible = !this.passwordVisible
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -2,9 +2,16 @@
|
|||
<div v-show="visible" class="block">
|
||||
<div class="field">
|
||||
<label class="label has-text-white">Contraseña de administración del barrio</label>
|
||||
<p class="control">
|
||||
<input required class="input" type="password" name="password" placeholder="Contraseña de admin del barrio">
|
||||
</p>
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
<input required class="input" :type="this.passwordType" name="password" placeholder="Contraseña de admin del barrio">
|
||||
</div>
|
||||
<div class="control">
|
||||
<a class="button is-warning" @click="togglePassword">
|
||||
{{ (passwordVisible ? 'Ocultar' : 'Mostrar') + ' contraseña'}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<p class="help has-text-white">Si no la sabés, consultá a la comisión informática.</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
|
@ -17,11 +24,13 @@
|
|||
|
||||
<script>
|
||||
export default {
|
||||
name: "LoginAdmin.vue",
|
||||
name: "LoginAdmin",
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
gdc: null
|
||||
gdc: null,
|
||||
passwordVisible: false,
|
||||
passwordType: "password",
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -29,7 +38,14 @@
|
|||
this.gdc = gdc;
|
||||
this.visible = true;
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
togglePassword() {
|
||||
if (this.passwordVisible) this.passwordType = "password";
|
||||
else this.passwordType = "text"
|
||||
this.passwordVisible = !this.passwordVisible
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div class="select">
|
||||
<select @change="onRegionSelected" v-model="region">
|
||||
<option :disabled="isDefaultDisabled===1" value=null>Seleccionar</option>
|
||||
<option v-for="region in regiones" v-text="region" :name="region"></option>
|
||||
<option v-for="(region, index) in regiones" :key="index" v-text="region" :name="region"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -21,7 +21,6 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
Event.$on('sync-aprobacion', (unSubpedido) => {
|
||||
console.log(unSubpedido);
|
||||
if (this.pedido.id === unSubpedido.id) {
|
||||
this.pedido = unSubpedido
|
||||
}
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<template>
|
||||
<button class="button" :class="pedido.aprobado ? 'is-danger' : 'is-success'" @click="toggleAprobacion">
|
||||
<span class="icon is-small">
|
||||
<i class="fas" :class="pedido.aprobado ? 'fa-times' : 'fa-check'"></i>
|
||||
</span>
|
||||
<span>{{ mensaje }}</span>
|
||||
</button>
|
||||
<div class="field">
|
||||
<input :id="'switch'+this.pedido.id" type="checkbox" name="switchRoundedSuccess" class="switch is-rounded is-success" :checked="pedido.aprobado" @change="toggleAprobacion">
|
||||
<label :for="'switch'+this.pedido.id"><span class="is-hidden-mobile">{{ mensaje }}</span></label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
@ -18,7 +16,7 @@ export default {
|
|||
},
|
||||
computed: {
|
||||
mensaje: function () {
|
||||
return this.pedido.aprobado ? "Desaprobar" : "Aprobar"
|
||||
return this.pedido.aprobado ? "Aprobado" : "No aprobado"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div v-if="subpedidosExistentes.length" class="block">
|
||||
<label class="label">Si ya comenzaste a hacer tu pedido este mes, elegilo en esta lista:</label>
|
||||
<p class="help">Podés seguir escribiendo en el campo de arriba para refinar la búsqueda.</p>
|
||||
<div class="columns is-mobile" v-for="(subpedidoExistente, index) in subpedidosExistentes" :class="{'has-background-grey-lighter': index % 2}">
|
||||
<div class="columns is-mobile" v-for="(subpedidoExistente, index) in subpedidosExistentes" :class="{'has-background-grey-lighter': index % 2}" :key="index">
|
||||
<div class="column is-half-mobile is-two-thirds-desktop is-two-thirds-tablet">
|
||||
<p style="padding-top: calc(.5em - 1px); margin-bottom: .5rem" v-text="subpedidoExistente.nombre"></p>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,15 @@
|
|||
<template>
|
||||
<div class="container is-max-widescreen is-max-desktop animate__animated" :class="animation" v-show="!init">
|
||||
<div class="buttons is-right">
|
||||
<a class="button is-info" :href="'/admin/exportar-planillas-a-pdf/'+gdc">
|
||||
<a class="button is-success" :href="hayAprobados ? '/admin/exportar-pedido-a-csv/'+gdc : '#'" :disabled="!hayAprobados">
|
||||
<span>
|
||||
Exportar pedido barrial
|
||||
</span>
|
||||
<span class="icon is-small">
|
||||
<i class="fas fa-download"></i>
|
||||
</span>
|
||||
</a>
|
||||
<a class="button is-info" :href="hayAprobados ? '/admin/exportar-planillas-a-pdf/'+gdc : '#'" :disabled="!hayAprobados">
|
||||
<span>
|
||||
Imprimir Planillas
|
||||
</span>
|
||||
|
@ -15,7 +23,7 @@
|
|||
<tr>
|
||||
<th>Núcleo</th>
|
||||
<th><abbr title="Total a Pagar">Total $</abbr></th>
|
||||
<th><abbr title="Aprobacion">Aprobación</abbr></th>
|
||||
<th class="is-1"><abbr title="Aprobacion">Aprobación</abbr></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
|
@ -44,10 +52,15 @@ export default {
|
|||
components: {SubpedidoRow},
|
||||
data() {
|
||||
return {
|
||||
gdc: null,
|
||||
gdc: 0,
|
||||
subpedidos: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
hayAprobados: function() {
|
||||
return this.subpedidos.filter(sp => sp.aprobado).length > 0
|
||||
}
|
||||
},
|
||||
beforeCreate() {
|
||||
axios.get("/admin/obtener_sesion").then(response => {
|
||||
this.gdc = response.data.gdc;
|
||||
|
@ -81,6 +94,6 @@ export default {
|
|||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
// Variables
|
||||
@import 'variables';
|
||||
|
||||
@import 'bulma';
|
||||
@import '~bulma-switch';
|
||||
|
||||
main.has-top-padding {
|
||||
padding-top: 4.5rem !important;
|
||||
}
|
||||
|
@ -34,3 +37,27 @@ main.chisma-abierta {
|
|||
max-height: 100% !important;
|
||||
}
|
||||
|
||||
/*
|
||||
Author: Aseem Lalfakawma <alalfakawma.github.io>
|
||||
This SCSS mixin will allow sizing of table columns in Bulma CSS Framework.
|
||||
The Bulma framework does not support this yet, this small code snippet fixes this.
|
||||
|
||||
USAGE:
|
||||
* Should be applied on TH element, it controls all the columns under it *
|
||||
The class should be "is-#",
|
||||
is-1 will give the first widthamount, is-2 will give the second.
|
||||
Eg. The code below shows the widthAmounts as (1, 2.5, 3, 4 , 5, 6, 7)
|
||||
When typing <th class="is-2">, the width will be 2.5em, as the second value in widthAmounts array is 2.5
|
||||
*/
|
||||
|
||||
$widthAmounts: (15); // Just add the numbers here, you can use points too.
|
||||
$widthUnit: "em"; // Add the unit here (rem|em|px|%)
|
||||
|
||||
@each $width in $widthAmounts {
|
||||
$i: index($widthAmounts, $width);
|
||||
@media only screen and (min-width: 768px) {
|
||||
.table thead th.is-#{$i} {
|
||||
width: #{$width}#{$widthUnit} !important;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -21,10 +21,10 @@
|
|||
Contraseña incorrecta, intentalo nuevamente.
|
||||
</div>
|
||||
@enderror
|
||||
<region-select admin="true"></region-select>
|
||||
<region-select v-bind:admin="true"></region-select>
|
||||
<form method="post" action="login">
|
||||
@csrf
|
||||
<barrio-select admin="true"></barrio-select>
|
||||
<barrio-select v-bind:admin="true"></barrio-select>
|
||||
<login-admin></login-admin>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
<!-- Fonts -->
|
||||
<script src="https://kit.fontawesome.com/9235d1c676.js" crossorigin="anonymous"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css">
|
||||
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
|
||||
@yield('stylesheets')
|
||||
|
||||
|
|
|
@ -25,8 +25,6 @@ Route::get('/productos', 'ProductoController@index')->name('productos.index');
|
|||
|
||||
Route::get('/admin', 'AdminController@show')->name('admin_login.show');
|
||||
|
||||
Route::get('/admin/pedidos', 'AdminController@index')->name('admin_login.index');
|
||||
|
||||
Route::get('/admin/obtener_sesion', function() {
|
||||
$sesion = [
|
||||
'gdc' => session("admin_gdc")
|
||||
|
@ -34,10 +32,12 @@ Route::get('/admin/obtener_sesion', function() {
|
|||
return $sesion;
|
||||
})->name('admin_obtener_sesion');
|
||||
|
||||
Route::get('/admin/exportar-planillas-a-pdf/{gdc}', 'AdminController@exportarPlanillasAPdf');
|
||||
|
||||
Route::middleware(['auth', 'admin'])->group( function () {
|
||||
//Route::get('/admin/exportar-planillas-a-pdf/{gdc}', 'AdminController@exportarPlanillasAPdf');
|
||||
Route::get('/admin/pedidos', 'AdminController@index')->name('admin_login.index');
|
||||
|
||||
Route::get('/admin/exportar-planillas-a-pdf/{gdc}', 'AdminController@exportarPlanillasAPdf');
|
||||
|
||||
Route::get('/admin/exportar-pedido-a-csv/{gdc}', 'AdminController@exportarPedidoACSV');
|
||||
});
|
||||
|
||||
Route::middleware('auth')->group( function() {
|
||||
|
|
Loading…
Reference in New Issue