5066-vehicleSorted #1467

Merged
carlossa merged 23 commits from 5066-vehicleSorted into dev 2023-07-18 15:21:57 +00:00
7 changed files with 10 additions and 21 deletions
Showing only changes of commit 3423ce612c - Show all commits

View File

@ -1,3 +1,3 @@
INSERT INTO `salix`.`ACL` (`model`,`property`,`accessType`,`permission`,`principalId`)
VALUES
('Vehicle','getVehiclesSorted','WRITE','ALLOW','employee');
('Vehicle','sorted','WRITE','ALLOW','employee');

View File

@ -24,7 +24,7 @@ describe('Route basic Data path', () => {
const form = 'vn-route-basic-data form';
const values = {
worker: 'adminBossNick',
vehicle: '1111-IMK',
vehicle: '1111-IMK - Warehouse One',
created: nextMonth,
kmStart: 1,
kmEnd: 2,

View File

@ -174,7 +174,6 @@ export default class Autocomplete extends Field {
refreshDisplayed() {
let display = '';
let hasTemplate = this.$transclude && this.$transclude.isSlotFilled('tplItem');
if (this._selection && this.showField) {
if (this.multiple && Array.isArray(this._selection)) {
@ -182,19 +181,8 @@ export default class Autocomplete extends Field {
if (display.length > 0) display += ', ';
display += item[this.showField];
}
} else {
} else
display = this._selection[this.showField];
if (hasTemplate) {
let template = this.$transclude(() => {}, null, 'tplItem');
const element = template[0];
const description = element.querySelector('.text-secondary');
if (description) description.remove();
const displayElement = angular.element(element);
const displayText = displayElement.text();
display = this.$interpolate(displayText)(this._selection);
}
}
}
this.input.value = display;

View File

@ -1,5 +1,5 @@
module.exports = Self => {
Self.remoteMethod('getVehiclesSorted', {
Self.remoteMethod('sorted', {
description: 'Sort the vehicles by warehouse',
accessType: 'WRITE',
accepts: [{
@ -11,12 +11,12 @@ module.exports = Self => {
root: true
},
http: {
path: `/getVehiclesSorted`,
path: `/sorted`,
verb: `POST`
}
});
Self.getVehiclesSorted = async warehouseFk => {
Self.sorted = async warehouseFk => {
const vehicles = await Self.rawSql(`

el row number et tornat el numero, pero crec que simplement amb el order by es suficient

el row number et tornat el numero, pero crec que simplement amb el order by es suficient

En la consulta se ha utilizado "ROW_ORDER" para extraer el número de registro después de ordenar por warehouse. De esa forma en el autocomplete se le puede decir que ordene por ese campo ya que siempre el autocomplete pide que se ordene por un campo de la consulta

En la consulta se ha utilizado "ROW_ORDER" para extraer el número de registro después de ordenar por warehouse. De esa forma en el autocomplete se le puede decir que ordene por ese campo ya que siempre el autocomplete pide que se ordene por un campo de la consulta

Si ho lleves no funciona?

Si ho lleves no funciona?

He vist en Alex altra manera, ja que la meua ho fea dos vegades, ja esta ficat sense ROW_ORDER

He vist en Alex altra manera, ja que la meua ho fea dos vegades, ja esta ficat sense ROW_ORDER
SELECT ROW_NUMBER() OVER (ORDER BY v.warehouseFk = ? DESC, w.id, v.numberPlate) AS 'order',

crec que es pot fer amb les funcions de loopback, @alexm ?

crec que es pot fer amb les funcions de loopback, @alexm ?
Outdated
Review

Buenas, ja ho vaig mirar i no es podia, #1467 (comment)

Buenas, ja ho vaig mirar i no es podia, https://gitea.verdnatura.es/verdnatura/salix/pulls/1467#issuecomment-22736
v.id,

View File

@ -1,3 +1,3 @@
module.exports = Self => {
require('../methods/vehicle/getVehiclesSorted')(Self);
require('../methods/vehicle/sorted')(Self);
};

View File

@ -28,7 +28,8 @@
show-field="description"

desde back no has de pasar el concat, al autocomplete busca exemples en el que el autocomplete es genera ell el concat

desde back no has de pasar el concat, al autocomplete busca exemples en el que el autocomplete es genera ell el concat
order="order"
value-field="id"
label="Vehicle">
label="Vehicle"
vn-name="vehicle">
</vn-autocomplete>
</vn-horizontal>
<vn-horizontal>

View File

@ -12,7 +12,7 @@ class Controller extends Section {
this.$http.get(`UserConfigs/getUserConfig`)
Outdated
Review

En lugar de hacer la petición, utilizar el servicio vnConfig.

En lugar de hacer la petición, utilizar el servicio `vnConfig`.
.then(res => {
if (res && res.data) {
this.$http.post(`Vehicles/getVehiclesSorted`, {warehouseFk: res.data.warehouseFk})
this.$http.post(`Vehicles/sorted`, {warehouseFk: res.data.warehouseFk})
.then(res => {
if (res && res.data)
Outdated
Review

Para que se compruebe si res y res.data está definido?

Para que se compruebe si `res` y `res.data` está definido?

Se utiliza para comprobar que res.data lleva la información, ya que si no da error al buscarlo

Se utiliza para comprobar que res.data lleva la información, ya que si no da error al buscarlo
Outdated
Review

En que casos res no esta definido?

En que casos `res` no esta definido?

Lo estaba haciendo como una comprobación de que también tenia res, pero he pensado que directamente comprobando res.data ya serviria ya que es el que lleva la información

Lo estaba haciendo como una comprobación de que también tenia res, pero he pensado que directamente comprobando res.data ya serviria ya que es el que lleva la información

Porque si no habia res, res.data me daria error porque intenta hacer .data de undefined, pero como res esta definido, no hace falta la comprobación de si existe res

Porque si no habia res, res.data me daria error porque intenta hacer .data de undefined, pero como res esta definido, no hace falta la comprobación de si existe res
Outdated
Review

El if (res.data) no es necesario y no funcionará correctamente si no hay resultados.

El `if (res.data)` no es necesario y no funcionará correctamente si no hay resultados.
this.vehicles = res.data;