Home > Back-end >  How to cut a string from string and show last 3
How to cut a string from string and show last 3

Time:07-18

here I detail my problem, I am working on vue js. I make a list that brings me a list of objects, with the tasks (they are strings) and I need to cut those strings and in this case leave the last 3 from the tasks... I don't know how to do it, then I attach an image. And behind the code. What I need would be that of those tasks that render the last 3 so that the table does not break. Many thanks friends! I am looking forward to your response.

enter image description here

<tr
          v-for="item in presupuestos"
          :key="item.id"
          :style="item.id === presupuestoSeleccionado.id && TheStyle"
        >
          <td>{{ item.tipoPresupuestoString }}</td>
          <td>{{ item.numero }}</td>
          <td>{{ item.cliente.nombre }}</td>
          <td>{{ formatDate(item.fechaEntrega) }}</td>
          <td>{{ item.presupuestoComentarioString }}</td>
          <td>{{ item.tareas }}</td>
        </tr>

getList() {
  const tipoPresupuesto =
    this.tipoPresupuesto != null ? this.tipoPresupuesto : "";
  const clienteId = this.cliente != null ? this.cliente.id : "";
  const procesoId = this.proceso != null ? this.proceso : "";
  const tareaId = this.tareaFiltro != null ? this.tareaFiltro : "";

  Swal.fire({
    title: "Espere unos momentos ...",
    showConfirmButton: false,
  });
  this.presupuestoServices
    .getListSupervisar(tipoPresupuesto, clienteId, procesoId, tareaId)
    .then((data) => {
      Swal.close();
      this.presupuestos = data;
      console.log(data)
      this.$data.TheStyle.backgroundColor = "#c3bbbb"; //Para seleccionar los row de algun color
    })
    .catch((error) => {
      Swal.close();
      this.showError(error.response.data);
    });
},

CodePudding user response:

A list of objects, what I need is that if I leave the string of tasks very long, it breaks the table, or it looks aesthetically ugly, then I want to cut the strings and show the last 3 tasks, here in the image it shows me several tasks, I hope the information has served you. enter image description here

enter image description here

enter image description here

CodePudding user response:

[HttpGet("getListSupervisar")]
    public async Task<ActionResult<List<Presupuesto>>>GetListSupervisar([FromQuery] int? tipoPresupuesto, [FromQuery] int? clienteId, [FromQuery] int? procesoId, [FromQuery] int? tareaId)
    {
        string[] _include = { nameof(Presupuesto.Usuario), 
            nameof(Presupuesto.Cliente), 
            nameof(Presupuesto.PresupuestoDetalle)   "."   nameof(PresupuestoDetalle.PresupuestoDetalleProceso),
            nameof(Presupuesto.PresupuestoDetalle)   "."   nameof(PresupuestoDetalle.ArticuloBp),
            nameof(Presupuesto.PresupuestoDetalle)   "."   nameof(PresupuestoDetalle.ArticuloCamara),
            nameof(Presupuesto.PresupuestoTarea),
            nameof(Presupuesto.PresupuestoComentario)
        };
        var result = await _presupuestoServices.GetListAsync(a => a.Id > 0
                                                            && a.TipoPresupuesto!=null
                                                            && ((tipoPresupuesto == null && a.TipoPresupuesto != (int)Enumeraciones.PresupuestoTipo.Presupuesto) || a.TipoPresupuesto == tipoPresupuesto)
                                                            && (tareaId == null || a.PresupuestoTarea.Where(b => b.TareaId == tareaId).Count() > 0)
                                                            && (procesoId == null || a.PresupuestoDetalle.Where(b => b.PresupuestoDetalleProceso.Where(c => c.ProcesoId == procesoId && c.Cantidad < b.Cantidad).Count() > 0).Count() > 0)
                                                            && (clienteId == null || a.ClienteId == clienteId)
                                                            && a.PresupuestoDetalle.Count > 0
                                                            , _include);

        var list = new List<Presupuesto>();

        foreach (var presupuesto in result.ToList())
        {
            //presupuesto.PresupuestoDetalle = presupuesto.PresupuestoDetalle.Where(a => a.EsPrimerCristal == true).ToList();
            presupuesto.Procesos = ArmarProcesosFaltantes(presupuesto);
            presupuesto.PresupuestoComentarioString = presupuesto.PresupuestoComentario.Count>0 ? presupuesto.PresupuestoComentario.LastOrDefault().Comentario : "";

            if (presupuesto.ImporteEnvio>0) 
            {
                presupuesto.PresupuestoDetalle.Add(new PresupuestoDetalle() { Descripcion = "Envio", Cantidad = 1, Ancho = 1, Alto = 1,Presupuesto = presupuesto });
            }
            if (presupuesto.ImporteDescuento > 0) 
            {
                var descuentoPorcen = (presupuesto.DescuentoExtraPorcen   presupuesto.Cliente.Descuento)/100;
                presupuesto.PresupuestoDetalle.Add(new PresupuestoDetalle() { Descripcion = "Descuento", Cantidad = 1, Ancho = descuentoPorcen, Alto = descuentoPorcen, Presupuesto = presupuesto });
            }
            if (presupuesto.ImporteColocacion > 0)
            {
                presupuesto.PresupuestoDetalle.Add(new PresupuestoDetalle() { Descripcion = "Colocacion", Cantidad = 1, Ancho = 1, Alto = 1, Presupuesto = presupuesto });
            }

        }

        return result;
    }


   public string Tareas
    {
        get
        {
            var result = "";
            foreach (var item in PresupuestoTarea.OrderBy(a=>a.FechaAlta))
            {
                result = item.Descripcion   " "   result;
            }
            return result;
        }
    }
    [NotMapped]
  • Related