This repository was archived by the owner on Feb 14, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathcontainer-list.js
50 lines (46 loc) · 1.91 KB
/
container-list.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { fetchFactory, URL, fixtures } from './utils'
var name = 'container-list'
export default fetchFactory({
url: URL[name],
fixture: fixtures[name],
parser: parseContainerList,
})
/**
* Свойство контейнера
* @param {string} number — номер контейнера
* @param {unixtime} date_in — дата поступления (прихода) контейнера
* @param {unixtime} date_out — дата убытия (расхода) контейнера
* @param {string} type — тип контейнера
* @param {number} size — размер контейнера
* @param {boolean} load — загрузка контейнера
* @param {string} transport — название транспорта, с которым прибыл (убыл) контейнер
* @param {string} kontr — наименование контрагента
* @param {string} konos — номер коносамента
* @param {string} sklad_in — склад поступления (прихода) контейнера
* @param {string} sklad_out — склад убытия (расхода) контейнера
*/
export class Container {
constructor(data) {
this.number = data.number
this.date_in = data.date_in * 1000
this.date_out = data.date_out * 1000
this.type = data.type.id
this.size = data.size.id
this.load = data.load.id ? 'true' : 'false'
this.transport = data.transport
this.kontr = data.kontr
this.konos = data.konos
this.sklad_in = data.sklad_in
this.sklad_out = data.sklad_out
}
}
/**
* @param {string} message — сообщение с сервера
* @param <array{ContainerInfo}> data - подробные свойства контейнера
*/
function parseContainerList({ data }) {
return {
message: data.message,
data: data.table.map( item => new Container(item) ),
}
}