Plataforma de nueva generación

Implementación del widget de Notes

Los asociados de tienda utilizan el widget de Notes para capturar y ver detalles como, por ejemplo, el historial de pedidos o cualquier otra información adicional asociada a un perfil de cliente. Esta sección describe las API, los servicios y otros componentes que se utilizan para implementar el widget Notes en Sterling Store Engagement.

Supuestos y limitaciones

  • Las notas se ordenan en función de la fecha de creación.
  • Los filtros de Notes se restablecen al añadir nuevas notas o al cerrar el widget de Notes.
  • El widget de Notes da soporte a la paginación del lado del cliente.
  • De forma predeterminada, los filtros de Notes no están seleccionados.

Solución

El widget Notas está disponible en varias páginas de Sterling Store Engagement, como la página de resumen de la orden de transporte y las distintas páginas de inventario de recepción e inventario de búsqueda. El widget Notas también está disponible en las páginas de resumen del pedido, detalles del cliente y detalles del carro.

Puede marcar una nota como importante si desea marcar la nota como importante. También puede filtrar la lista de notas basándose en el usuario que la ha añadido, Sistema o Usuario, y el distintivo Importante.

Se llama a la API getNoteList para recuperar notas basadas en TableKey y TableName. Se utiliza la misma API para filtrar las notas en función de si se ha registrado por el usuario, el sistema generado o se ha establecido el distintivo Importante. Estas acciones se manejan dentro del propio componente de Notes.

En los casos en los que la captación de la lista de notas no utiliza la API genérica, los datos de la lista de notas se pueden pasar directamente al componente hijo. La lógica y la implementación de mashup de Add new note permanecerán tal como están. Como los parámetros de entrada y la API para añadir una nota son en su mayoría diferentes en función de la pantalla, se emitirán nuevos datos de notas al componente padre.

A continuación, añade una nota nueva y restablece el notesList en el componente modal de Notes hijo mediante cualquiera de los métodos siguientes:
  • Llamando al método AddNewNote en el componente modal de Notes.
  • Actualización directa de la propiedad noteList utilizando componentInstance.

De forma predeterminada, los filtros están disponibles. Sin embargo, puede configurar para ocultar los filtros pasando showFilters como false al componente de Notes

Detalles de componente

  • Si los parámetros de entrada o la API que se utiliza para captar las notas no son genéricos, el componente padre puede pasar directamente notesList. Si no, se debe pasar noteTableEntityobject con las propiedades entityTableKey y entityTableName, que el widget Notes utiliza para obtener las notas.
  • La página de detalles del cliente utiliza la API getParticipantNoteList. En este caso, debe pasar isParticipantNote como true y sólo se necesita la propiedad entityTableKey . Basándose en esto, el widget de Notes capta y filtra los datos.
  • En los casos en los que los datos de notesList se pasan desde el componente padre, al actualizar los filtros, los datos se emiten al componente padre. A continuación, el componente padre vuelve a captar los datos de notesList y se actualiza en el componente Nota hijo.
  • Para cambiar el título del widget de Notes desde Notas (recuento), debe pasar modalTitleKey, que es la clave de traducción, del componente padre. Count se puede utilizar como parámetro de traducción en el título.

Decoradores de entrada

Los decoradores de entrada que se utilizan en notes-modal son los siguientes:
  • notesList. Se utiliza si se utiliza una API distinta de la API getNoteList para captar la lista de notas.
  • showFilters. Se utiliza para visualizar los filtros, es decir, Sistema, Usuario e Importante. El valor predeterminado es true.
  • noteTableEntity. Se pasa cuando la entrada o la API utilizada para captar notas no es genérica.
  • isParticipantNote. Establézcalo en true si desea que el widget de Notes utilice la API de getParticipantNoteList en lugar de la API de getNoteList . El valor predeterminado es false.
  • modalTitleKey. Utilice esta clave de conversión para cambiar el título modal de Notas (recuento).
  • noNotesMessage. Opcional. Utilícelo si desea visualizar un mensaje exclusivo cuando el recuento de notas sea 0.

Emisores de salida

  • newNoteItem. Se utiliza para añadir una nota nueva.
  • noteFilterCriteria. Se utiliza si se utiliza una API distinta de la API getNoteList para captar la lista de notas.

Uso

Opción 1 (Genérica). Pase entityTableKey y entityTableName como parte del objeto noteTableEntity . El mashup de la API getNoteList se llama internamente dentro de este componente. Al aplicar filtros, la lista de notas se actualiza dentro del componente.

Opción 2. Pase isParticipantNote como true si desea utilizar la API getParticipantNoteList en lugar de la API getNoteList para captar y filtrar las notas. En este caso, sólo tiene que pasar entityTableKey como parte del objeto noteTableEntity . No tiene que pasar entityTableName.

Opción 3 (específica). La llamada getNotes se realiza desde el componente padre ya que la entrada de API o mashup es exclusiva. A continuación, se inicializa noteList al abrir el modal utilizando componentInstance. En este caso, cuando se aplican filtros, el emisor de noteFilterCriteria emite la consulta compleja, que puede utilizar el componente padre para volver a captar las notas y restablecer el notesList en el componente hijo. El método updateNotesCount se puede utilizar para actualizar notesCount desde el componente padre.

Implementación

Los mashups siguientes se utilizan para la implementación del widget de Notes:

Para obtener la lista de Notes
  • API- getNoteList o en el caso de la página Detalles de cliente , getParticipantNoteList.
  • Entrada- { 'Note': { 'TableKey': tableKey, TableName: tableName } }
Para añadir una nota nueva
  • Específico de API para el componente padre. Por ejemplo, changeOrder.
  • Entrada-Específico del componente padre. Por ejemplo, para la API changeOrder , la entrada puede ser la siguiente:
    { 'Order': { 
    'OrderHeaderKey': key, 
    'Notes'; {
    'Note': [
    'NoteText': text,
    'Priority': 0
    ]
    }
    }