;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Centros de comércio popular em SP registram queda de até 60% nas vendas

Ambulantes vendem álcool em gel e máscaras contra o coronavírus na região da rua 25 de março - Rubens Cavallari/Folhapress
Ambulantes vendem álcool em gel e máscaras contra o coronavírus na região da rua 25 de março Imagem: Rubens Cavallari/Folhapress

Renée Pereira

18/03/2020 07h04

Os principais centros de comércio popular de São Paulo, conhecidos pelas grandes aglomerações, viram sua vendas despencarem até 60% nos últimos dias por causa do coronavírus.

Com medo da pandemia, a queda na movimentação de consumidores deixou as ruas da região irreconhecíveis, com lojas praticamente vazias e vendedores usando máscaras para evitar contaminação. Alguns clientes também usavam a proteção.

Na rua 25 de Março, principal centro popular de compra de São Paulo, as vendas entre a última quinta-feira (12) e ontem, caíram 60%, segundo a união dos lojistas da região (Univinco).

O diretor da associação, Marcelo Mouawad, diz que a movimentação dos consumidores tem ficado mais fraca a cada dia, e que nesta semana a situação se intensificou.

Segundo ele, o impacto econômico já está evidente e exigirá medidas firmes e consistentes por parte do governo para evitar uma quebradeira no setor. "Se não houver uma carência maior para pagar as contas (tributos), a situação vai ficar complicada", disse o executivo, que também é lojista na região.

Ele afirmou que, por enquanto, o setor não trabalha com a possibilidade de fechamento do comércio popular. "Estamos nos espelhando nos Estados Unidos, onde o número de casos é maior e ainda não adotaram essa medida."

Vendas no Bom Retiro caem até 40%

No Bom Retiro, importante centro popular de vestuário de São Paulo, as vendas da última sexta-feira (13) até sábado (14) caíram entre 25% e 30%. Esse movimento foi intensificado na segunda-feira (16) e ontem, quando o movimento ficou entre 30% e 40% abaixo do normal.

O vice-presidente da Câmara de Dirigentes Lojistas do Bom Retiro, Nelson Tranquez, afirma que uma das saídas tem sido intensificar as vendas online, pelos sites, redes sociais e WhatsApp.

"Já tem sido um canal importante para os empresários da região e deve crescer ainda mais nesse período de crise." Segundo ele, o comércio online já representa algo entre 20% e 25% das vendas da região.

Para Tranquez, a crise atual é complicada porque as empresas ainda não tinham conseguido se recuperar da recessão dos últimos anos. "Desde 2014, ano após ano, vivemos em situação delicada, com alguns respiros. Mas não nos recuperamos."

Nesse tempo todo, completa, as empresas enxugaram a estrutura, reduziram quadro de funcionários e cortaram custos, mas poucas têm capital de giro para aguentar um período longo de crise.

Em relação ao estoque das lojas, ele não acredita que faltarão produtos. Segundo o executivo, o setor havia acabado de lançar a coleção Outono/Inverno e a produção está em andamento. "O que pode ocorrer é que quem esperava produzir mais pode reavaliar o cenário."

Mouawad, da Univinco, também afirma que, por enquanto, não há problemas de abastecimento, apesar de boa parte das mercadorias serem importadas da China. Segundo ele, apenas alguns casos pontuais de lojas de celular estavam sofrendo com a falta de peças. No geral, o estoque dura dois meses. "Assim, o abastecimento estaria garantido até maio."

Pesquisa comprava queda

Um levantamento feito pelo Instituto de Economia Gastão Vidigal da Associação Comercial de São Paulo, divulgado ontem, reflete essa realidade dos centros de comércio popular.

Com menos pessoas circulando em ambientes públicos, como shoppings, as consultas para vendas a prazo e à vista tiveram queda de 16,3% só no último fim de semana comparado ao fim da semana anterior.

As informações são do jornal "O Estado de S. Paulo".

Veja mais economia de um jeito fácil de entender: @uoleconomia no Instagram.
Ouça os podcasts Mídia e Marketing, sobre propaganda e criação, e UOL Líderes, com CEOs de empresas.
Mais podcasts do UOL no Spotify, Apple Podcasts, Google Podcasts e outras plataformas