odoo-addon-shopfloor-mobile 16.0.1.4.0__py3-none-any.whl → 18.0.1.0.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of odoo-addon-shopfloor-mobile might be problematic. Click here for more details.
- odoo/addons/shopfloor_mobile/README.rst +14 -10
- odoo/addons/shopfloor_mobile/__manifest__.py +2 -2
- odoo/addons/shopfloor_mobile/i18n/shopfloor_mobile.pot +1 -1
- odoo/addons/shopfloor_mobile/static/description/index.html +31 -25
- odoo/addons/shopfloor_mobile/static/wms/src/components/{batch_picking_detail.js → batch_picking_detail.esm.js} +0 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_location.js → detail_location.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_lot.js → detail_lot.esm.js} +2 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_operation.js → detail_operation.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_package.js → detail_package.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_product.js → detail_product.esm.js} +2 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_transfer.js → detail_transfer.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/forms/{form_edit_stock_picking.js → form_edit_stock_picking.esm.js} +0 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/{manual_select_color.js → manual_select_color.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/components/{misc.js → misc.esm.js} +1 -3
- odoo/addons/shopfloor_mobile/static/wms/src/components/{packaging-qty-picker.js → packaging-qty-picker.esm.js} +20 -18
- odoo/addons/shopfloor_mobile/static/wms/src/components/scenario_picking_detail/{mixins.js → mixins.esm.js} +2 -3
- odoo/addons/shopfloor_mobile/static/wms/src/components/scenario_picking_detail/{picking_select.js → picking_select.esm.js} +8 -5
- odoo/addons/shopfloor_mobile/static/wms/src/components/scenario_picking_detail/{picking_summary.js → picking_summary.esm.js} +11 -5
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.checkout.js → demo.checkout.esm.js} +4 -4
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.cluster_picking.js → demo.cluster_picking.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.delivery.js → demo.delivery.esm.js} +3 -3
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.location_content_transfer.js → demo.location_content_transfer.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.scan_anything.js → demo.scan_anything.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.single_pack_transfer.js → demo.single_pack_transfer.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/demo/{demo.zone_picking.js → demo.zone_picking.esm.js} +3 -3
- odoo/addons/shopfloor_mobile/static/wms/src/i18n/{add_translations_to_registry.js → add_translations_to_registry.esm.js} +1 -1
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{checkout.js → checkout.esm.js} +7 -6
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{checkout_states.js → checkout_states.esm.js} +3 -1
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{cluster_picking.js → cluster_picking.esm.js} +8 -7
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{delivery.js → delivery.esm.js} +10 -6
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{location_content_transfer.js → location_content_transfer.esm.js} +13 -7
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{single_pack_transfer.js → single_pack_transfer.esm.js} +2 -2
- odoo/addons/shopfloor_mobile/static/wms/src/scenario/{zone_picking.js → zone_picking.esm.js} +21 -24
- odoo/addons/shopfloor_mobile/static/wms/src/{wms_utils.js → wms_utils.esm.js} +29 -26
- odoo/addons/shopfloor_mobile/templates/assets.xml +30 -30
- {odoo_addon_shopfloor_mobile-16.0.1.4.0.dist-info → odoo_addon_shopfloor_mobile-18.0.1.0.0.3.dist-info}/METADATA +23 -18
- odoo_addon_shopfloor_mobile-18.0.1.0.0.3.dist-info/RECORD +59 -0
- {odoo_addon_shopfloor_mobile-16.0.1.4.0.dist-info → odoo_addon_shopfloor_mobile-18.0.1.0.0.3.dist-info}/WHEEL +1 -1
- odoo_addon_shopfloor_mobile-18.0.1.0.0.3.dist-info/top_level.txt +1 -0
- odoo_addon_shopfloor_mobile-16.0.1.4.0.dist-info/RECORD +0 -59
- odoo_addon_shopfloor_mobile-16.0.1.4.0.dist-info/top_level.txt +0 -1
- /odoo/addons/shopfloor_mobile/static/wms/src/components/{batch_picking_line_detail.js → batch_picking_line_detail.esm.js} +0 -0
- /odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_picking.js → detail_picking.esm.js} +0 -0
- /odoo/addons/shopfloor_mobile/static/wms/src/{screen.js → screen.esm.js} +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
.. image:: https://odoo-community.org/readme-banner-image
|
|
2
|
+
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
3
|
+
:alt: Odoo Community Association
|
|
4
|
+
|
|
1
5
|
================
|
|
2
6
|
Shopfloor mobile
|
|
3
7
|
================
|
|
@@ -7,23 +11,23 @@ Shopfloor mobile
|
|
|
7
11
|
!! This file is generated by oca-gen-addon-readme !!
|
|
8
12
|
!! changes will be overwritten. !!
|
|
9
13
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
-
!! source digest: sha256:
|
|
14
|
+
!! source digest: sha256:72c521eb98798688bdc15454ac31dcfc7a5d0ab70bff691f621d9b212c1ab6d1
|
|
11
15
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
16
|
|
|
13
17
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
14
18
|
:target: https://odoo-community.org/page/development-status
|
|
15
19
|
:alt: Beta
|
|
16
|
-
.. |badge2| image:: https://img.shields.io/badge/
|
|
20
|
+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
|
|
17
21
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
18
22
|
:alt: License: AGPL-3
|
|
19
|
-
.. |badge3| image:: https://img.shields.io/badge/github-OCA%
|
|
20
|
-
:target: https://github.com/OCA/
|
|
21
|
-
:alt: OCA/
|
|
23
|
+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--shopfloor-lightgray.png?logo=github
|
|
24
|
+
:target: https://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_mobile
|
|
25
|
+
:alt: OCA/stock-logistics-shopfloor
|
|
22
26
|
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
|
23
|
-
:target: https://translation.odoo-community.org/projects/
|
|
27
|
+
:target: https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_mobile
|
|
24
28
|
:alt: Translate me on Weblate
|
|
25
29
|
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
|
26
|
-
:target: https://runboat.odoo-community.org/builds?repo=OCA/
|
|
30
|
+
:target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-shopfloor&target_branch=18.0
|
|
27
31
|
:alt: Try me on Runboat
|
|
28
32
|
|
|
29
33
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|
@@ -147,10 +151,10 @@ First official version.
|
|
|
147
151
|
Bug Tracker
|
|
148
152
|
===========
|
|
149
153
|
|
|
150
|
-
Bugs are tracked on `GitHub Issues <https://github.com/OCA/
|
|
154
|
+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-shopfloor/issues>`_.
|
|
151
155
|
In case of trouble, please check there if your issue has already been reported.
|
|
152
156
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
153
|
-
`feedback <https://github.com/OCA/
|
|
157
|
+
`feedback <https://github.com/OCA/stock-logistics-shopfloor/issues/new?body=module:%20shopfloor_mobile%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
154
158
|
|
|
155
159
|
Do not contact contributors directly about support or help with technical issues.
|
|
156
160
|
|
|
@@ -210,6 +214,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|
|
|
210
214
|
|
|
211
215
|
|maintainer-simahawk|
|
|
212
216
|
|
|
213
|
-
This module is part of the `OCA/
|
|
217
|
+
This module is part of the `OCA/stock-logistics-shopfloor <https://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_mobile>`_ project on GitHub.
|
|
214
218
|
|
|
215
219
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
{
|
|
6
6
|
"name": "Shopfloor mobile",
|
|
7
7
|
"summary": "Mobile frontend for WMS Shopfloor app",
|
|
8
|
-
"version": "
|
|
8
|
+
"version": "18.0.1.0.0",
|
|
9
9
|
"depends": ["shopfloor", "shopfloor_mobile_base"],
|
|
10
10
|
"author": "Camptocamp, BCIM, Akretion, Odoo Community Association (OCA)",
|
|
11
11
|
"maintainers": ["simahawk"],
|
|
12
|
-
"website": "https://github.com/OCA/
|
|
12
|
+
"website": "https://github.com/OCA/stock-logistics-shopfloor",
|
|
13
13
|
"category": "Warehouse Management",
|
|
14
14
|
"license": "AGPL-3",
|
|
15
15
|
"installable": True,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
5
5
|
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
|
|
6
|
-
<title>
|
|
6
|
+
<title>README.rst</title>
|
|
7
7
|
<style type="text/css">
|
|
8
8
|
|
|
9
9
|
/*
|
|
@@ -360,16 +360,21 @@ ul.auto-toc {
|
|
|
360
360
|
</style>
|
|
361
361
|
</head>
|
|
362
362
|
<body>
|
|
363
|
-
<div class="document"
|
|
364
|
-
<h1 class="title">Shopfloor mobile</h1>
|
|
363
|
+
<div class="document">
|
|
365
364
|
|
|
365
|
+
|
|
366
|
+
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
|
|
367
|
+
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
|
|
368
|
+
</a>
|
|
369
|
+
<div class="section" id="shopfloor-mobile">
|
|
370
|
+
<h1>Shopfloor mobile</h1>
|
|
366
371
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
367
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
368
373
|
!! changes will be overwritten. !!
|
|
369
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
370
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:72c521eb98798688bdc15454ac31dcfc7a5d0ab70bff691f621d9b212c1ab6d1
|
|
371
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
372
|
-
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/
|
|
377
|
+
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_mobile"><img alt="OCA/stock-logistics-shopfloor" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--shopfloor-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_mobile"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-shopfloor&target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
373
378
|
<p>Frontend for Shopfloor app.</p>
|
|
374
379
|
<p>The work is organized in scenario.
|
|
375
380
|
A scenario represents a process in the warehouse (eg: receive, deliver).
|
|
@@ -377,7 +382,7 @@ The app allows to start each process through the main menu.</p>
|
|
|
377
382
|
<p>Each scenario is linked to a specific menu item which can be configured in the backend.
|
|
378
383
|
Each scenario drives you through the work to do.</p>
|
|
379
384
|
<div class="section" id="tech-details">
|
|
380
|
-
<
|
|
385
|
+
<h2>Tech details</h2>
|
|
381
386
|
<ul>
|
|
382
387
|
<li><p class="first">This frontend is built on top of <a class="reference external" href="vuejs.org">VueJS</a> and <a class="reference external" href="vuetifyjs.com/">VuetifyJS</a>
|
|
383
388
|
and relies on <cite>shopfloor</cite> module that exposes REST API in Odoo
|
|
@@ -404,18 +409,18 @@ Nothing to deal with Odoo demo data.</p>
|
|
|
404
409
|
</ul>
|
|
405
410
|
</div>
|
|
406
411
|
<div class="section" id="usage">
|
|
407
|
-
<
|
|
412
|
+
<h3><a class="toc-backref" href="#toc-entry-1">Usage</a></h3>
|
|
408
413
|
</div>
|
|
409
414
|
</div>
|
|
410
415
|
<div class="section" id="pre-requisites">
|
|
411
|
-
<
|
|
416
|
+
<h2>Pre-requisites</h2>
|
|
412
417
|
<ul class="simple">
|
|
413
418
|
<li>Your Odoo instance is accessible via mobile device</li>
|
|
414
419
|
<li>You have an API Key configured</li>
|
|
415
420
|
</ul>
|
|
416
421
|
</div>
|
|
417
422
|
<div class="section" id="start-the-app">
|
|
418
|
-
<
|
|
423
|
+
<h2>Start the app</h2>
|
|
419
424
|
<ul class="simple">
|
|
420
425
|
<li>Go to “Inventory -> Configuration -> Shopfloor -> Shopfloor App”</li>
|
|
421
426
|
<li>In the login screen fill in your API key</li>
|
|
@@ -423,7 +428,7 @@ Nothing to deal with Odoo demo data.</p>
|
|
|
423
428
|
</ul>
|
|
424
429
|
</div>
|
|
425
430
|
<div class="section" id="select-a-profile">
|
|
426
|
-
<
|
|
431
|
+
<h2>Select a profile</h2>
|
|
427
432
|
<p>Several profiles can be configured in the backend,
|
|
428
433
|
you must choose one before starting.</p>
|
|
429
434
|
<ul class="simple">
|
|
@@ -433,17 +438,17 @@ you must choose one before starting.</p>
|
|
|
433
438
|
<p>This will load all available menu items for the selected profile.</p>
|
|
434
439
|
</div>
|
|
435
440
|
<div class="section" id="change-language">
|
|
436
|
-
<
|
|
441
|
+
<h2>Change language</h2>
|
|
437
442
|
<ul class="simple">
|
|
438
443
|
<li>Go to “Settings -> Language”</li>
|
|
439
444
|
<li>Select a language</li>
|
|
440
445
|
</ul>
|
|
441
446
|
</div>
|
|
442
447
|
<div class="section" id="customization">
|
|
443
|
-
<
|
|
448
|
+
<h2>Customization</h2>
|
|
444
449
|
<p>Please refer to <cite>shopfloor_mobile_custom_example</cite>.</p>
|
|
445
450
|
<div class="section" id="known-issues-roadmap">
|
|
446
|
-
<
|
|
451
|
+
<h3>Known issues / Roadmap</h3>
|
|
447
452
|
<ul>
|
|
448
453
|
<li><p class="first">Split module by scenario</p>
|
|
449
454
|
</li>
|
|
@@ -483,26 +488,26 @@ This part is also related to “Refactor states definition”.</p>
|
|
|
483
488
|
</ul>
|
|
484
489
|
</div>
|
|
485
490
|
<div class="section" id="changelog">
|
|
486
|
-
<
|
|
491
|
+
<h3>Changelog</h3>
|
|
487
492
|
</div>
|
|
488
493
|
</div>
|
|
489
494
|
<div class="section" id="section-1">
|
|
490
|
-
<
|
|
495
|
+
<h2>13.0.1.0.0</h2>
|
|
491
496
|
<p>First official version.</p>
|
|
492
497
|
<div class="section" id="bug-tracker">
|
|
493
|
-
<
|
|
494
|
-
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/
|
|
498
|
+
<h3>Bug Tracker</h3>
|
|
499
|
+
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/stock-logistics-shopfloor/issues">GitHub Issues</a>.
|
|
495
500
|
In case of trouble, please check there if your issue has already been reported.
|
|
496
501
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
497
|
-
<a class="reference external" href="https://github.com/OCA/
|
|
502
|
+
<a class="reference external" href="https://github.com/OCA/stock-logistics-shopfloor/issues/new?body=module:%20shopfloor_mobile%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
|
498
503
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
499
504
|
</div>
|
|
500
505
|
<div class="section" id="credits">
|
|
501
|
-
<
|
|
506
|
+
<h3>Credits</h3>
|
|
502
507
|
</div>
|
|
503
508
|
</div>
|
|
504
509
|
<div class="section" id="authors">
|
|
505
|
-
<
|
|
510
|
+
<h2>Authors</h2>
|
|
506
511
|
<ul class="simple">
|
|
507
512
|
<li>Camptocamp</li>
|
|
508
513
|
<li>BCIM</li>
|
|
@@ -510,7 +515,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
510
515
|
</ul>
|
|
511
516
|
</div>
|
|
512
517
|
<div class="section" id="contributors">
|
|
513
|
-
<
|
|
518
|
+
<h2>Contributors</h2>
|
|
514
519
|
<ul class="simple">
|
|
515
520
|
<li>Simone Orsi <<a class="reference external" href="mailto:simahawk@gmail.com">simahawk@gmail.com</a>></li>
|
|
516
521
|
<li>Thierry Ducrest <<a class="reference external" href="mailto:thierry.ducrest@camptocamp.com">thierry.ducrest@camptocamp.com</a>></li>
|
|
@@ -521,14 +526,14 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
521
526
|
</ul>
|
|
522
527
|
</div>
|
|
523
528
|
<div class="section" id="design">
|
|
524
|
-
<
|
|
529
|
+
<h2>Design</h2>
|
|
525
530
|
<ul class="simple">
|
|
526
531
|
<li>Joël Grand-Guillaume <<a class="reference external" href="mailto:joel.grandguillaume@camptocamp.com">joel.grandguillaume@camptocamp.com</a>></li>
|
|
527
532
|
<li>Jacques-Etienne Baudoux <<a class="reference external" href="mailto:je@bcim.be">je@bcim.be</a>></li>
|
|
528
533
|
</ul>
|
|
529
534
|
</div>
|
|
530
535
|
<div class="section" id="other-credits">
|
|
531
|
-
<
|
|
536
|
+
<h2>Other credits</h2>
|
|
532
537
|
<p><strong>Financial support</strong></p>
|
|
533
538
|
<ul class="simple">
|
|
534
539
|
<li>Cosanum</li>
|
|
@@ -537,7 +542,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
537
542
|
</ul>
|
|
538
543
|
</div>
|
|
539
544
|
<div class="section" id="maintainers">
|
|
540
|
-
<
|
|
545
|
+
<h2>Maintainers</h2>
|
|
541
546
|
<p>This module is maintained by the OCA.</p>
|
|
542
547
|
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
543
548
|
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
@@ -547,9 +552,10 @@ mission is to support the collaborative development of Odoo features and
|
|
|
547
552
|
promote its widespread use.</p>
|
|
548
553
|
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
|
|
549
554
|
<p><a class="reference external image-reference" href="https://github.com/simahawk"><img alt="simahawk" src="https://github.com/simahawk.png?size=40px" /></a></p>
|
|
550
|
-
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/
|
|
555
|
+
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_mobile">OCA/stock-logistics-shopfloor</a> project on GitHub.</p>
|
|
551
556
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
|
552
557
|
</div>
|
|
553
558
|
</div>
|
|
559
|
+
</div>
|
|
554
560
|
</body>
|
|
555
561
|
</html>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
8
|
|
|
9
9
|
Vue.component("detail-location", {
|
|
10
10
|
mixins: [ItemDetailMixin],
|
odoo/addons/shopfloor_mobile/static/wms/src/components/detail/{detail_lot.js → detail_lot.esm.js}
RENAMED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
8
|
|
|
9
9
|
// TODO: this should be probably merged or combined w/ detail-product
|
|
10
10
|
Vue.component("detail-lot", {
|
|
@@ -44,6 +44,7 @@ Vue.component("detail-lot", {
|
|
|
44
44
|
{path: "product_name", label: "Name"},
|
|
45
45
|
];
|
|
46
46
|
},
|
|
47
|
+
/* eslint-disable no-unused-vars */
|
|
47
48
|
render_packaging(record, field) {
|
|
48
49
|
return [record.name, "(" + record.code + ")", "= " + record.qty].join(" ");
|
|
49
50
|
},
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
8
|
|
|
9
9
|
// TODO: this should probably trashed in favour of detail-transfer
|
|
10
10
|
// ATM is used only by single pack transfer to display package level info.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
8
|
|
|
9
9
|
Vue.component("detail-package", {
|
|
10
10
|
mixins: [ItemDetailMixin],
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
8
|
|
|
9
9
|
// TODO: refactor according to new data from backend and maybe merge w/ `detail-lot`
|
|
10
10
|
Vue.component("detail-product", {
|
|
@@ -36,6 +36,7 @@ Vue.component("detail-product", {
|
|
|
36
36
|
{path: "product_name", label: "Name"},
|
|
37
37
|
];
|
|
38
38
|
},
|
|
39
|
+
/* eslint-disable no-unused-vars */
|
|
39
40
|
render_packaging(record, field) {
|
|
40
41
|
return [record.name, "(" + record.code + ")", "= " + record.qty].join(" ");
|
|
41
42
|
},
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
8
|
|
|
9
9
|
Vue.component("detail-transfer", {
|
|
10
10
|
mixins: [ItemDetailMixin],
|
|
@@ -8,7 +8,7 @@ const Base = Vue.options.components["manual-select"];
|
|
|
8
8
|
const Custom = Base.extend({
|
|
9
9
|
methods: {
|
|
10
10
|
selected_color_klass(rec, modifier) {
|
|
11
|
-
let color;
|
|
11
|
+
let color = "";
|
|
12
12
|
if (rec && rec.qty_done && rec.quantity) {
|
|
13
13
|
if (rec.qty_done < rec.quantity)
|
|
14
14
|
color = this.utils.colors.color_for("item_selected_partial");
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/wms/src/components/detail/detail_mixin.js";
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
10
8
|
|
|
11
9
|
// TODO: could be merged w/ userConfirmation
|
|
12
10
|
Vue.component("last-operation", {
|
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
export var PackagingQtyPickerMixin = {
|
|
10
10
|
props: {
|
|
11
|
-
|
|
11
|
+
// Options are replaced by props
|
|
12
|
+
options: Object,
|
|
12
13
|
mode: String,
|
|
13
14
|
qtyInit: Number,
|
|
14
15
|
uom: {type: Object, required: true},
|
|
15
16
|
availablePackaging: Array,
|
|
16
|
-
|
|
17
|
+
// "code" or "name"
|
|
18
|
+
pkgNameKey: String,
|
|
17
19
|
},
|
|
18
20
|
data: function () {
|
|
19
21
|
return {
|
|
@@ -56,8 +58,8 @@ export var PackagingQtyPickerMixin = {
|
|
|
56
58
|
packaging_by_id: function (id) {
|
|
57
59
|
// Special case for UOM ids as they can clash w/ pkg ids
|
|
58
60
|
// we prefix it w/ "uom-"
|
|
59
|
-
|
|
60
|
-
return _.find(this.sorted_packaging, ["id",
|
|
61
|
+
const _id = id.startsWith("uom-") ? id : parseInt(id, 10);
|
|
62
|
+
return _.find(this.sorted_packaging, ["id", _id]);
|
|
61
63
|
},
|
|
62
64
|
/**
|
|
63
65
|
*
|
|
@@ -89,10 +91,9 @@ export var PackagingQtyPickerMixin = {
|
|
|
89
91
|
const res = {};
|
|
90
92
|
// Const min_unit = _.last(pkg_by_qty);
|
|
91
93
|
pkg_by_qty.forEach(function (pkg) {
|
|
92
|
-
|
|
93
|
-
[
|
|
94
|
-
|
|
95
|
-
if (!qty) return;
|
|
94
|
+
const [_qty_per_pkg, _qty] = self._qty_by_pkg(pkg.qty, qty);
|
|
95
|
+
res[pkg.id] = _qty_per_pkg;
|
|
96
|
+
if (!_qty) return;
|
|
96
97
|
});
|
|
97
98
|
return res;
|
|
98
99
|
},
|
|
@@ -140,7 +141,7 @@ export var PackagingQtyPickerMixin = {
|
|
|
140
141
|
* Include the uom
|
|
141
142
|
*/
|
|
142
143
|
sorted_packaging: function () {
|
|
143
|
-
|
|
144
|
+
const packagings = _.reverse(
|
|
144
145
|
_.sortBy(
|
|
145
146
|
_.filter(this.availablePackaging, _.property("qty")),
|
|
146
147
|
_.property("qty")
|
|
@@ -158,10 +159,10 @@ export var PackagingQtyPickerMixin = {
|
|
|
158
159
|
*/
|
|
159
160
|
contained_packaging: function () {
|
|
160
161
|
const self = this;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
remaining,
|
|
164
|
-
elected_next_pkg;
|
|
162
|
+
const res = {};
|
|
163
|
+
let qty_per_pkg = [],
|
|
164
|
+
remaining = 0,
|
|
165
|
+
elected_next_pkg = {};
|
|
165
166
|
const packaging = this.sorted_packaging;
|
|
166
167
|
_.forEach(packaging, function (pkg, i) {
|
|
167
168
|
const next_pkgs = packaging.slice(i + 1);
|
|
@@ -192,14 +193,15 @@ export var PackagingQtyPicker = Vue.component("packaging-qty-picker", {
|
|
|
192
193
|
},
|
|
193
194
|
data: function () {
|
|
194
195
|
return {
|
|
195
|
-
|
|
196
|
+
// Expand panel by default
|
|
197
|
+
panel: 0,
|
|
196
198
|
};
|
|
197
199
|
},
|
|
198
200
|
watch: {
|
|
199
201
|
qty_by_pkg: {
|
|
200
202
|
deep: true,
|
|
201
203
|
handler: function () {
|
|
202
|
-
//
|
|
204
|
+
// Prevent watched qty to update again qty_by_pkg
|
|
203
205
|
this.qty_by_pkg_manual = true;
|
|
204
206
|
this.compute_qty();
|
|
205
207
|
this.qty_by_pkg_manual = false;
|
|
@@ -215,7 +217,7 @@ export var PackagingQtyPicker = Vue.component("packaging-qty-picker", {
|
|
|
215
217
|
},
|
|
216
218
|
computed: {
|
|
217
219
|
qty_color: function () {
|
|
218
|
-
if (this.qty
|
|
220
|
+
if (this.qty === this.qtyTodo) {
|
|
219
221
|
if (this.readonly) return "";
|
|
220
222
|
return "background-color: rgb(143, 191, 68)";
|
|
221
223
|
}
|
|
@@ -305,10 +307,10 @@ export var PackagingQtyPickerDisplay = Vue.component("packaging-qty-picker-displ
|
|
|
305
307
|
},
|
|
306
308
|
computed: {
|
|
307
309
|
visible_packaging: function () {
|
|
308
|
-
|
|
310
|
+
const packagings = _.filter(this.sorted_packaging, this.display_pkg);
|
|
309
311
|
// Do not display if only uom packaging
|
|
310
312
|
if (
|
|
311
|
-
packagings.length
|
|
313
|
+
packagings.length === 1 &&
|
|
312
314
|
packagings[0].id.toString().startsWith("uom-")
|
|
313
315
|
)
|
|
314
316
|
return [];
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* @author Simone Orsi <simahawk@gmail.com>
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import {PickingDetailMixin} from "../detail/detail_picking.js";
|
|
6
|
+
|
|
7
|
+
import {PickingDetailMixin} from "../detail/detail_picking.esm.js";
|
|
9
8
|
|
|
10
9
|
// Maybe worth to move it to its own file
|
|
11
10
|
export var ListActionsConsumerMixin = {
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
* @author Simone Orsi <simahawk@gmail.com>
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import {PickingDetailSelectMixin} from "./mixins.js";
|
|
9
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/wms/src/components/detail/detail_mixin.js";
|
|
6
|
+
|
|
7
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
8
|
+
import {PickingDetailSelectMixin} from "./mixins.esm.js";
|
|
10
9
|
|
|
11
10
|
Vue.component("detail-picking-select", {
|
|
12
11
|
mixins: [PickingDetailSelectMixin],
|
|
@@ -16,12 +15,15 @@ Vue.component("detail-picking-select", {
|
|
|
16
15
|
return {
|
|
17
16
|
action_qty_edit: {
|
|
18
17
|
comp_name: "edit-action",
|
|
18
|
+
/* eslint-disable no-unused-vars */
|
|
19
19
|
get_record: function (rec, action) {
|
|
20
20
|
return rec;
|
|
21
21
|
},
|
|
22
|
+
/* eslint-disable no-unused-vars */
|
|
22
23
|
get_options: function (rec, action) {
|
|
23
24
|
return {click_event: "qty_edit"};
|
|
24
25
|
},
|
|
26
|
+
/* eslint-disable no-unused-vars */
|
|
25
27
|
enabled: function (rec, action) {
|
|
26
28
|
return true;
|
|
27
29
|
},
|
|
@@ -43,7 +45,7 @@ Vue.component("picking-select-line-content", {
|
|
|
43
45
|
// Display detail fields on demand if the package contains only 1 line
|
|
44
46
|
if (
|
|
45
47
|
this.options.show_oneline_package_content &&
|
|
46
|
-
record.package_dest.move_line_count
|
|
48
|
+
record.package_dest.move_line_count === 1
|
|
47
49
|
) {
|
|
48
50
|
fields = [
|
|
49
51
|
{path: "product.display_name", label: "Product"},
|
|
@@ -69,6 +71,7 @@ Vue.component("picking-select-line-content", {
|
|
|
69
71
|
opts.loud_title = true;
|
|
70
72
|
return opts;
|
|
71
73
|
},
|
|
74
|
+
/* eslint-disable no-unused-vars */
|
|
72
75
|
get_wrapper_klass(record) {
|
|
73
76
|
return "";
|
|
74
77
|
},
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
/* eslint-disable
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/wms/src/components/detail/detail_mixin.js";
|
|
7
|
+
/* eslint-disable sort-imports */
|
|
8
|
+
import {PickingDetailListMixin} from "./mixins.esm.js";
|
|
9
|
+
import {ItemDetailMixin} from "/shopfloor_mobile_base/static/src/components/detail/detail_mixin.esm.js";
|
|
11
10
|
|
|
12
11
|
Vue.component("picking-summary", {
|
|
13
12
|
mixins: [PickingDetailListMixin],
|
|
@@ -38,6 +37,7 @@ Vue.component("picking-summary", {
|
|
|
38
37
|
return {
|
|
39
38
|
action_change_pkg: {
|
|
40
39
|
comp_name: "edit-action",
|
|
40
|
+
/* eslint-disable no-unused-vars */
|
|
41
41
|
get_record: function (rec, action) {
|
|
42
42
|
/**
|
|
43
43
|
* Here we can get records grouped.
|
|
@@ -54,9 +54,11 @@ Vue.component("picking-summary", {
|
|
|
54
54
|
}
|
|
55
55
|
return rec;
|
|
56
56
|
},
|
|
57
|
+
/* eslint-disable no-unused-vars */
|
|
57
58
|
get_options: function (rec, action) {
|
|
58
59
|
return {click_event: "pkg_change_type"};
|
|
59
60
|
},
|
|
61
|
+
/* eslint-disable no-unused-vars */
|
|
60
62
|
enabled: function (rec, action) {
|
|
61
63
|
// Exclude for non-packaged records.
|
|
62
64
|
// NOTE: `pack` is available only if records are grouped.
|
|
@@ -66,11 +68,13 @@ Vue.component("picking-summary", {
|
|
|
66
68
|
},
|
|
67
69
|
action_cancel_line: {
|
|
68
70
|
comp_name: "cancel-move-line-action",
|
|
71
|
+
/* eslint-disable no-unused-vars */
|
|
69
72
|
get_options: function (rec, action) {
|
|
70
73
|
return {
|
|
71
74
|
package_cancel_key: self.$props.action_cancel_package_key,
|
|
72
75
|
};
|
|
73
76
|
},
|
|
77
|
+
/* eslint-disable no-unused-vars */
|
|
74
78
|
get_record: function (rec, action) {
|
|
75
79
|
if (rec.records) {
|
|
76
80
|
// Lines grouped, get real line
|
|
@@ -78,6 +82,7 @@ Vue.component("picking-summary", {
|
|
|
78
82
|
}
|
|
79
83
|
return rec;
|
|
80
84
|
},
|
|
85
|
+
/* eslint-disable no-unused-vars */
|
|
81
86
|
enabled: function (rec, action) {
|
|
82
87
|
return true;
|
|
83
88
|
},
|
|
@@ -102,9 +107,10 @@ Vue.component("picking-summary-content", {
|
|
|
102
107
|
},
|
|
103
108
|
watch: {
|
|
104
109
|
panel: {
|
|
110
|
+
/* eslint-disable no-unused-vars */
|
|
105
111
|
handler: function (newVal, oldVal) {
|
|
106
112
|
// The panel is opened
|
|
107
|
-
$(this.$parent.$el).toggleClass("inner-panel-expanded", newVal
|
|
113
|
+
$(this.$parent.$el).toggleClass("inner-panel-expanded", newVal === 0);
|
|
108
114
|
},
|
|
109
115
|
},
|
|
110
116
|
},
|