@barcoding/widget-piecework-in 0.0.1
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.
- package/README.md +24 -0
- package/barcoding-widget-piecework-in.d.ts +5 -0
- package/esm2020/barcoding-widget-piecework-in.mjs +5 -0
- package/esm2020/lib/config/config.component.mjs +33 -0
- package/esm2020/lib/piece-work-in-form/piece-work-in-form.component.mjs +98 -0
- package/esm2020/lib/widget-piecework-in.component.mjs +367 -0
- package/esm2020/lib/widget-piecework-in.module.mjs +99 -0
- package/esm2020/public-api.mjs +6 -0
- package/fesm2015/barcoding-widget-piecework-in.mjs +577 -0
- package/fesm2015/barcoding-widget-piecework-in.mjs.map +1 -0
- package/fesm2020/barcoding-widget-piecework-in.mjs +576 -0
- package/fesm2020/barcoding-widget-piecework-in.mjs.map +1 -0
- package/lib/config/config.component.d.ts +14 -0
- package/lib/piece-work-in-form/piece-work-in-form.component.d.ts +24 -0
- package/lib/widget-piecework-in.component.d.ts +71 -0
- package/lib/widget-piecework-in.module.d.ts +24 -0
- package/package.json +34 -0
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barcoding-widget-piecework-in.mjs","sources":["../../src/lib/piece-work-in-form/piece-work-in-form.component.ts","../../src/lib/piece-work-in-form/piece-work-in-form.component.html","../../src/lib/config/config.component.ts","../../src/lib/config/modal.html","../../src/lib/widget-piecework-in.component.ts","../../src/lib/widget-piecework-in.component.html","../../src/lib/widget-piecework-in.module.ts","../../src/public-api.ts","../../src/barcoding-widget-piecework-in.ts"],"sourcesContent":["import { Component, Inject, OnInit, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { FocusService } from '@barcoding/frontend-core';\nimport {\n FaultCategoryControllerService,\n FaultControllerService,\n FaultsCategoryWithRelations,\n FaultWithRelations,\n PieceWorkLineWithRelations,\n SessionWithRelations,\n User,\n UserControllerService,\n UserWithRelations,\n} from '@barcoding/sdk';\nimport { Store } from '@ngxs/store';\nimport { AuthState } from '@barcoding/auth-core';\nimport { PieceWorkLineControllerService } from '@barcoding/sdk';\n\n@Component({\n selector: 'piece-work-in-form',\n styles: [\n `\n kendo-textbox-container {\n width: 100%;\n }\n\n .h_t {\n font: normal normal normal 10px/40px IBM Plex Sans;\n letter-spacing: 0px;\n color: #666666;\n opacity: 1;\n }\n\n .v_t {\n font: normal normal normal 18px/40px IBM Plex Sans;\n letter-spacing: 0px;\n color: #666666;\n opacity: 1;\n }\n\n .spacer {\n display: flex;\n flex-grow: 1;\n }\n `,\n ],\n templateUrl: 'piece-work-in-form.component.html',\n})\nexport class PieceWorkInForm implements OnInit, OnDestroy {\n line: PieceWorkLineWithRelations;\n public finish = false;\n public qty_in = 0;\n constructor(\n private focusService: FocusService,\n private pieceWorkLineApi: PieceWorkLineControllerService,\n public dialogRef: MatDialogRef<PieceWorkInForm>,\n private store: Store,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.line = Object.assign({}, data.line);\n this.qty_in = this.line.out - this.line.in;\n }\n\n ngOnInit() {\n this.focusService.unFocus();\n }\n\n ngOnDestroy() {\n this.focusService.setFocus();\n }\n cancel() {\n this.dialogRef.close();\n }\n\n save(qty_in, finish) {\n this.pieceWorkLineApi\n .find({\n filter: JSON.stringify({\n where: { piecework_id: this.line.piecework_id },\n }),\n })\n .subscribe(lines => {\n let isFinished = false;\n const totalLines = lines.length;\n let totalFinishedLines = 0;\n\n lines.forEach(line => {\n if (line.piecework_line_status_id === 2) {\n totalFinishedLines++;\n }\n });\n if (qty_in === this.line.out) {\n totalFinishedLines++;\n }\n if (totalFinishedLines === totalLines) {\n isFinished = true;\n }\n\n this.dialogRef.close({\n qty_in,\n finish,\n isFinished,\n });\n });\n }\n}\n","<div fxLayout=\"column\" style=\"width: 100%\" fxLayoutAlign=\" none\">\n <h4>Piece Work</h4>\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div fxLayout=\"column\" fxLayoutAlign=\"space-between none\">\n <span class=\"h_t\">Assembly Name</span>\n <span class=\"v_t\">{{ line.part?.part_number }}</span>\n </div>\n\n <div class=\"spacer\"></div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"space-between none\">\n <span class=\"h_t\">Mode</span>\n <span class=\"v_t\">{{ line.mode?.controller }}</span>\n </div>\n\n <div class=\"spacer\"></div>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"space-between none\">\n <span class=\"h_t\">Allocated Time</span>\n <span class=\"v_t\">--</span>\n </div>\n </div>\n <form class=\"k-form\" autocomplete=\"off\" #pieceWork=\"ngForm\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start start\" fxLayoutGap=\"20px\">\n <kendo-floatinglabel fxFlex=\"80%\" text=\"Qty\">\n <kendo-numerictextbox\n [format]=\"'n0'\"\n style=\"width: 100%\"\n [min]=\"1\"\n required\n [(ngModel)]=\"qty_in\"\n [name]=\"'in'\"\n [max]=\"line.out\"\n type=\"number\"></kendo-numerictextbox>\n </kendo-floatinglabel>\n <mat-checkbox fxFlexAlign=\"center\" name=\"finish\" [(ngModel)]=\"finish\">\n Finish\n </mat-checkbox>\n </div>\n </form>\n</div>\n<div\n style=\"margin-top: 25px\"\n fxLayoutGap=\"10px\"\n fxLayout=\"row\"\n fxLayoutAlign=\"end none\">\n <button (click)=\"cancel()\" mat-raised-button color=\"danger\">Cancel</button>\n <button\n (click)=\"save(qty_in, finish)\"\n [disabled]=\"!pieceWork.valid\"\n mat-raised-button\n class=\"save_button\"\n color=\"primary\">\n Save\n </button>\n</div>\n","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport {\n ExternalDashboardControllerService,\n ExternalDashboardWithRelations,\n} from '@barcoding/sdk';\n@Component({\n selector: 'assignmentFormDialog',\n templateUrl: 'modal.html',\n styleUrls: ['./style.css'],\n})\nexport class PieceworkInConfigModal implements OnInit {\n public config: any = {};\n constructor(\n public dialogRef: MatDialogRef<PieceworkInConfigModal>,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.config = Object.assign({}, data.currentConfig);\n }\n\n ngOnInit() {}\n\n save(config) {\n this.dialogRef.close(config);\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","<form class=\"k-form\" autocomplete=\"off\" #configForm=\"ngForm\">\n <div fxLayout=\"column\" fxLayoutAlign=\"space-between none\">\n <div fxLayout=\"column\" fxLayoutAlign=\" stretch\">\n <fieldset>\n <legend>Main</legend>\n <label fxFlex class=\"k-form-field\">\n <span>Current User</span>\n <kendo-switch\n name=\"current_user\"\n [(ngModel)]=\"config.current_user\"\n [onLabel]=\"'Yes'\"\n [offLabel]=\"'No'\"\n ></kendo-switch>\n </label>\n </fieldset>\n </div>\n\n <div\n fxLayoutGap=\"20px\"\n style=\"margin-top: 10px\"\n fxLayout=\"row\"\n fxLayoutAlign=\"space-around end\"\n >\n <button fxFlex (click)=\"onNoClick()\" mat-raised-button>Cancel</button>\n <button\n fxFlex\n [disabled]=\"!configForm.form.valid\"\n (click)=\"save(config)\"\n color=\"primary\"\n mat-raised-button\n >\n Save\n </button>\n </div>\n </div>\n</form>\n","import {\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n Pipe,\n PipeTransform,\n} from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Select, Store } from '@ngxs/store';\nimport {\n ConfigInterfaceDashboard,\n WidgetInterface,\n WidgetParams,\n} from '@barcoding/gridster-core';\nimport {\n ModeAccessViewWithRelations,\n ModeControllerService,\n ModeWithRelations,\n ModuleWithRelations,\n PieceWorkLineControllerService,\n PieceWorkLineStatusControllerControllerService,\n PieceWorkLineStatusWithRelations,\n PieceWorkLineWithRelations,\n PieceworkTransactionStatusControllerService,\n PieceworkTransactionStatusWithRelations,\n PieceWorkWithRelations,\n UserControllerService,\n UserWithRelations,\n WidgetConfigWithRelations,\n} from '@barcoding/sdk';\nimport { PieceWorkFrontState } from '@barcoding/module-piecework';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport {\n ResetStorePieceWork,\n FindPieceWorkEmployee,\n} from '@barcoding/module-piecework';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthState } from '@barcoding/auth-core';\nimport { PieceWorkInForm } from './piece-work-in-form/piece-work-in-form.component';\nimport {\n ChangeStatePieceWork,\n isMode,\n ModeState,\n PieceWorkState,\n PieceWorkCollect,\n} from '@barcoding/frontend-core';\nimport { ModuleState } from '@barcoding/core';\nimport { PieceworkInConfigModal } from './config/config.component';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { DataStateChangeEvent } from '@progress/kendo-angular-grid';\nimport { PageEvent } from '@angular/material/paginator';\n\nexport interface PieceWorkInFilters {\n pw_id?: number;\n document?: string;\n user?: UserWithRelations;\n mode?: ModeWithRelations;\n status?: PieceWorkLineStatusWithRelations;\n}\n\n@Component({\n selector: 'widget-piece-work-in',\n styleUrls: ['./widget-piecework-in.component.scss'],\n templateUrl: './widget-piecework-in.component.html',\n})\nexport class WidgetPieceworkInComponent\n extends ConfigInterfaceDashboard\n implements OnInit, OnDestroy, WidgetInterface\n{\n public configChanged$: Subject<any> = new Subject<any>();\n public myConfigSubscription: Subscription;\n public isAdmin = false;\n public item: WidgetConfigWithRelations;\n public params: WidgetParams;\n public filters: any = {\n logic: 'and',\n filters: [\n {\n field: 'piecework_line_status_id',\n value: 1,\n },\n ],\n };\n displayedColumns = [\n 'pw_line',\n 'employee',\n 'document',\n 'assembly',\n 'mode',\n 'unit_price',\n 'percentage',\n 'qty',\n 'in',\n 'finish',\n 'total',\n 'status',\n ]; // column display value\n dataSource: MatTableDataSource<any>;\n @Select(PieceWorkState.pieceworks) pieceworks$: Observable<\n PieceWorkLineWithRelations[]\n >;\n @Select(PieceWorkState.total) total$: Observable<number>;\n\n public pieceworkSubscription: Subscription;\n public employee = null;\n public status = 1;\n public object;\n public barcodes: Array<string> = [];\n public users: UserWithRelations[] = [];\n public objectSubscription: Subscription;\n public statuses: PieceWorkLineStatusWithRelations[] = [];\n public currentUserConfig;\n public state: Observable<any>;\n public stateSubscription: Subscription;\n @Select(PieceWorkState.state) state$: Observable<DataStateChangeEvent>;\n public modes: ModeWithRelations[] = [];\n public defaultItemMode: any = { id: null, controller: 'Show all...' };\n public defaultItemStatus: any = { id: null, name: 'Show all...' };\n\n constructor(\n public modeApi: ModeControllerService,\n private userApi: UserControllerService,\n public store: Store,\n private cdr: ChangeDetectorRef,\n public dialog: MatDialog,\n private statusesApi: PieceWorkLineStatusControllerControllerService,\n private pieceWorkLineApi: PieceWorkLineControllerService\n ) {\n super(dialog, PieceworkInConfigModal, store, '60%');\n }\n\n getValue(field: string, isMultiLine: boolean = false) {\n if (!this.filters) {\n return null;\n }\n\n if (!this.filters.filters) {\n return null;\n }\n const data: any = this.filters.filters.find(\n (value: FilterDescriptor) => value.field === field\n );\n\n if (isMultiLine) {\n if (data && data.value && data.value.length) {\n return data.value.join('\\n');\n }\n }\n\n return data ? data.value : '';\n }\n ngOnInit() {\n this.modeApi\n .find({ filter: JSON.stringify({ where: { is_piecework: true } }) })\n .subscribe(_ => {\n this.modes = _;\n });\n\n this.statusesApi.find().subscribe(_ => {\n this.statuses = _;\n });\n const currentUser = this.store.selectSnapshot<UserWithRelations>(\n AuthState.user\n );\n // example of default filter on start\n // this.filters.filters.push({\n // operator: 'eq',\n // field: 'piecework_id',\n // value: 200,\n // });\n // this.store.dispatch(\n // new ChangeStatePieceWork({\n // skip: 0,\n // sort: [{ field: 'id', dir: 'desc' }],\n // take: 10,\n // filter: this.filters,\n // })\n // );\n this.stateSubscription = this.state$.subscribe(_ => {\n if (_.filter) {\n this.filters = _.filter;\n }\n });\n\n const mode = this.store.selectSnapshot<ModeAccessViewWithRelations | {}>(\n ModeState.mode\n );\n\n const currentModule = this.store.selectSnapshot<ModuleWithRelations>(\n ModuleState.module\n );\n\n if (currentModule) {\n const isAdmin = currentUser.groups.find(\n value => value.module_group_id === currentModule.admin_group_id\n );\n if (isAdmin) {\n this.isAdmin = true;\n }\n }\n\n if (mode && isMode(mode)) {\n const isAdminMode = currentUser.groups.find(\n value => value.module_group_id === mode.admin_group_id\n );\n const isModeratorMode = currentUser.groups.find(\n value => value.module_group_id === mode.moderator_group_id\n );\n console.log(isAdminMode, isModeratorMode);\n if (isModeratorMode || isAdminMode) {\n this.isAdmin = true;\n }\n }\n\n const currentUserConfig =\n this.item.config && this.item.config.current_user ? true : false;\n if (currentUserConfig) {\n this.isAdmin = false;\n }\n\n console.log(`isAdmin: ${this.isAdmin}`);\n\n if (!this.isAdmin) {\n const currentUser = this.store.selectSnapshot<UserWithRelations>(\n AuthState.user\n );\n\n this.users.push(currentUser);\n\n const filters: any = {\n logic: 'and',\n filters: [\n {\n field: 'piecework_line_status_id',\n value: 1,\n },\n {\n field: 'user_id',\n value: currentUser.id,\n },\n ],\n };\n this.store.dispatch(\n new ChangeStatePieceWork({\n skip: 0,\n sort: [{ field: 'id', dir: 'desc' }],\n take: 10,\n filter: filters,\n })\n );\n }\n\n if (this.isAdmin) {\n this.displayedColumns = [\n 'pw_line',\n 'employee',\n 'document',\n 'mode',\n 'percentage',\n 'qty',\n 'finish',\n 'total',\n 'status',\n 'actions',\n ]; // column display value\n }\n\n /**\n * example set filter outside\n */\n // setTimeout(() => {\n // const filters: CompositeFilterDescriptor = {\n // logic: 'and',\n // filters: [\n // {\n // operator: 'eq',\n // field: 'piecework_id',\n // value: 202,\n // },\n // ],\n // };\n // this.store.dispatch(\n // new ChangeStatePieceWork({\n // skip: 0,\n // sort: [{ field: 'id', dir: 'desc' }],\n // take: 10,\n // filter: filters,\n // })\n // );\n // }, 8000);\n\n this.pieceworkSubscription = this.pieceworks$.subscribe(_ => {\n const data = _.map(value => {\n return {\n ...value,\n formIn: value.out - value.in,\n };\n });\n this.dataSource = new MatTableDataSource(data);\n });\n }\n\n getMax(row: PieceWorkLineWithRelations) {\n return row.out - row.in;\n }\n\n registerIn(row: PieceWorkLineWithRelations, qty_in: number, finish) {\n console.log(row, qty_in);\n this.pieceWorkLineApi\n .find({\n filter: JSON.stringify({\n where: { piecework_id: row.piecework_id },\n }),\n })\n .subscribe(lines => {\n let isFinished = false;\n const totalLines = lines.length;\n let totalFinishedLines = 0;\n\n lines.forEach(line => {\n if (line.piecework_line_status_id === 2) {\n totalFinishedLines++;\n }\n });\n if (qty_in === row.out) {\n totalFinishedLines++;\n }\n if (totalFinishedLines === totalLines) {\n isFinished = true;\n }\n\n const user_id = this.store.selectSnapshot<UserWithRelations>(\n AuthState.user\n ).id;\n const finishObject = finish ? qty_in : 0;\n this.store.dispatch(\n new PieceWorkCollect(\n row.piecework_id,\n qty_in,\n row.id,\n user_id,\n finishObject,\n isFinished\n )\n );\n });\n }\n\n buildBarcodeList(value: string) {\n this.barcodes = value\n .split('\\n')\n .filter(value => value != null && value.length > 0)\n .map(value => value.trim());\n console.log(this.barcodes);\n }\n\n valueChange(field, event) {\n console.log(`valueChange: ${field}, ${event}`);\n\n if (!this.filters.filters) {\n this.filters.filters = [];\n }\n\n const filterExists = this.filters.filters.findIndex(\n (value: FilterDescriptor) => value.field === field\n );\n\n if (filterExists >= 0) {\n this.filters.filters[filterExists].value = event;\n } else {\n this.filters.filters.push({\n operator: 'eq',\n field,\n value: event,\n });\n }\n\n this.store.dispatch(\n new ChangeStatePieceWork({\n skip: 0,\n sort: [{ field: 'id', dir: 'desc' }],\n take: 10,\n filter: this.filters,\n })\n );\n }\n\n filterChange(event) {\n if (event) {\n this.userApi\n .find({\n filter: JSON.stringify({\n limit: 5,\n where: { full_name: { like: `%${event}%` } },\n }),\n })\n .subscribe(_ => {\n this.users = _;\n });\n }\n }\n\n ngOnDestroy() {\n if (this.pieceworkSubscription) {\n this.pieceworkSubscription.unsubscribe();\n }\n if (this.myConfigSubscription) {\n this.myConfigSubscription.unsubscribe();\n }\n if (this.objectSubscription) {\n this.objectSubscription.unsubscribe();\n }\n\n if (this.stateSubscription) {\n this.stateSubscription.unsubscribe();\n }\n this.store.dispatch(new ResetStorePieceWork());\n super.destroy();\n }\n\n openInForm(row: PieceWorkLineWithRelations) {\n const dialogRef = this.dialog.open(PieceWorkInForm, {\n width: '40%',\n data: { line: row },\n });\n dialogRef.afterClosed().subscribe(data => {\n if (data) {\n const user_id = this.store.selectSnapshot<UserWithRelations>(\n AuthState.user\n ).id;\n const finish = data.finish ? data.qty_in : 0;\n this.store.dispatch(\n new PieceWorkCollect(\n row.piecework_id,\n data.qty_in,\n row.id,\n user_id,\n finish,\n data.isFinished\n )\n );\n }\n });\n }\n\n changePage(event: PageEvent) {\n const take = event.pageSize;\n const skip = event.pageIndex > 0 ? event.pageIndex * event.pageSize : 0;\n\n this.store.dispatch(\n new ChangeStatePieceWork({\n skip,\n sort: [{ field: 'id', dir: 'desc' }],\n take,\n filter: this.filters,\n })\n );\n }\n\n formatCurrency(value, currency) {\n const region = currency.region;\n const symbol = currency.symbol;\n\n return value\n ? value.toLocaleString(region, { style: 'currency', currency: symbol })\n : 0;\n }\n}\n@Pipe({ name: 'formatTime' })\nexport class FormatTime implements PipeTransform {\n convertTime(input, separator) {\n const pad = input => {\n return input < 10 ? '0' + input : input;\n };\n return [\n pad(Math.floor(input / 3600)),\n pad(Math.floor((input % 3600) / 60)),\n pad(Math.floor(input % 60)),\n ].join(typeof separator !== 'undefined' ? separator : ':');\n }\n\n transform(value: any): any {\n return value ? this.convertTime(value, ':') : '00:00:00';\n }\n}\n","<div fxLayout=\"column\" fxLayoutGap=\"20px\">\n <label fxFlex class=\"k-form-field\">\n <form class=\"k-form\" id=\"piecework_in_form\">\n <div fxLayout=\"row\" fxLayoutGap=\"8px\" fxLayoutAlign=\"start center\">\n <label fxFlex class=\"k-form-field\">\n <span>Barcode</span>\n <kendo-textarea\n placeholder=\"Scan barcodes here\"\n [resizable]=\"'vertical'\"\n [rows]=\"3\"\n [value]=\"getValue('barcodes', true)\"\n (valueChange)=\"buildBarcodeList($event)\"\n flow=\"vertical\"\n >\n </kendo-textarea>\n </label>\n <button\n fxFlex=\"50px\"\n (click)=\"valueChange('barcodes', barcodes)\"\n matTooltip=\"Filter\"\n [matTooltipPosition]=\"'above'\"\n mat-icon-button\n color=\"primary\"\n aria-label=\"Example icon button with a heart icon\"\n >\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"8px\" fxLayoutAlign=\"start center\">\n <label fxFlex=\"25%\" class=\"k-form-field\">\n <span>PW ID</span>\n <input\n style=\"width: 100%\"\n kendoTextBox\n [value]=\"getValue('piecework_id')\"\n (input)=\"valueChange('piecework_id', $event.target.value)\"\n name=\"piecework_id\"\n type=\"text\"\n />\n </label>\n\n <!-- <label fxFlex=\"20%\" class=\"k-form-field\">\n <span>Barcode</span>\n <kendo-textarea\n [style.marginBottom.px]=\"10\"\n placeholder=\"Event name\"\n resizable=\"auto\"\n flow=\"horizontal\"\n >\n </kendo-textarea>\n\n <!-- <input\n style=\"width: 100%\"\n kendoTextBox\n [value]=\"getValue('barcode')\"\n (input)=\"valueChange('barcode', $event.target.value)\"\n name=\"barcode\"\n type=\"text\"\n /> -->\n\n <label fxFlex=\"25%\" class=\"k-form-field\">\n <span>Employee</span>\n <kendo-combobox\n style=\"width: 100%\"\n name=\"user_id\"\n [value]=\"getValue('user_id')\"\n [filterable]=\"true\"\n (filterChange)=\"filterChange($event)\"\n (valueChange)=\"valueChange('user_id', $event)\"\n [data]=\"users\"\n [textField]=\"'full_name'\"\n [disabled]=\"!isAdmin\"\n [valueField]=\"'id'\"\n [valuePrimitive]=\"true\"\n >\n </kendo-combobox>\n </label>\n\n <label fxFlex=\"25%\" class=\"k-form-field\">\n <span>Mode</span>\n <kendo-dropdownlist\n [defaultItem]=\"defaultItemMode\"\n [data]=\"modes\"\n [value]=\"getValue('mode_id')\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"valueChange('mode_id', $event)\"\n [textField]=\"'controller'\"\n [valueField]=\"'id'\"\n name=\"true\"\n >\n </kendo-dropdownlist>\n </label>\n\n <label fxFlex=\"25%\" class=\"k-form-field\">\n <span>Status</span>\n <kendo-dropdownlist\n [defaultItem]=\"defaultItemStatus\"\n [data]=\"statuses\"\n [value]=\"getValue('piecework_line_status_id')\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"valueChange('piecework_line_status_id', $event)\"\n [textField]=\"'name'\"\n [valueField]=\"'id'\"\n name=\"true\"\n >\n </kendo-dropdownlist>\n </label>\n </div>\n </form>\n </label>\n\n <mat-table #table [dataSource]=\"dataSource\">\n <ng-container cdkColumnDef=\"pw_line\">\n <mat-header-cell *cdkHeaderCellDef>PW</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ row.piecework?.id }}/{{ row.piecework_order_line }}</span>\n </mat-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"employee\">\n <mat-header-cell *cdkHeaderCellDef>Employee</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ row?.piecework?.prepared_for?.full_name }}</span>\n </mat-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"document\">\n <mat-header-cell *cdkHeaderCellDef>Document</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ row.document?.barcode }}</span>\n </mat-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"assembly\">\n <mat-header-cell *cdkHeaderCellDef>Assembly</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ row.part?.part_number }}</span>\n </mat-cell>\n </ng-container>\n <!-- <ng-container cdkColumnDef=\"qty_max\">\n <mat-header-cell *cdkHeaderCellDef>Qty</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ getMaxQtyLeftForRow(row)}}</span>\n </mat-cell>\n </ng-container> -->\n <ng-container cdkColumnDef=\"mode\">\n <mat-header-cell *cdkHeaderCellDef>Mode</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ row.mode?.controller }}</span>\n </mat-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"unit_price\">\n <mat-header-cell *cdkHeaderCellDef>Unit Price</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n {{ formatCurrency(row.unit_price, row.currency) }}\n </mat-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"percentage\">\n <mat-header-cell *cdkHeaderCellDef>Job %</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n {{ row.work_percentage | percent }}\n </mat-cell>\n </ng-container>\n\n <ng-container cdkColumnDef=\"qty\">\n <mat-header-cell *cdkHeaderCellDef>Out / In</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n {{ row.out }} / {{ !row.in ? 0 : row.in }}\n </mat-cell>\n </ng-container>\n\n <ng-container cdkColumnDef=\"in\">\n <mat-header-cell *cdkHeaderCellDef>Qty In</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n {{ !row.in ? 0 : row.in }}\n </mat-cell>\n </ng-container>\n\n <ng-container cdkColumnDef=\"finish\">\n <mat-header-cell *cdkHeaderCellDef>Qty Finish</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n {{ row.finish }}\n </mat-cell>\n </ng-container>\n\n <ng-container cdkColumnDef=\"status\">\n <mat-header-cell *cdkHeaderCellDef>Status</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n {{ row.line_status?.name }}\n </mat-cell>\n </ng-container>\n\n <ng-container cdkColumnDef=\"total\">\n <mat-header-cell *cdkHeaderCellDef>Total</mat-header-cell>\n <mat-cell *cdkCellDef=\"let row\">\n <span>{{ formatCurrency(row.value, row.currency) }}</span>\n </mat-cell>\n </ng-container>\n\n <ng-container cdkColumnDef=\"actions\">\n <mat-header-cell [ngClass]=\"'actionColumn'\" *cdkHeaderCellDef\n >Actions</mat-header-cell\n >\n <mat-cell [ngClass]=\"'actionColumn'\" *cdkCellDef=\"let row\">\n <ng-container *ngIf=\"row.piecework_line_status_id == 1\">\n <div fxLayout=\"row\" fxLayoutGap=\"8px\" fxLayoutAlign=\"start center\">\n <kendo-numerictextbox\n [format]=\"'n0'\"\n style=\"width: 100%\"\n [min]=\"1\"\n [(ngModel)]=\"row.formIn\"\n [name]=\"'in_' + row.id\"\n [max]=\"getMax(row)\"\n type=\"number\"\n ></kendo-numerictextbox>\n <mat-checkbox\n matTooltip=\"Finish\"\n [matTooltipPosition]=\"'above'\"\n fxFlexAlign=\"center\"\n [name]=\"'finish_' + row.id\"\n [(ngModel)]=\"row.formFinish\"\n >\n </mat-checkbox>\n <button\n [disabled]=\"row.in == row.out || row.formIn > row.out - row.in\"\n matTooltip=\"Save\"\n (click)=\"registerIn(row, row.formIn, row.formFinish)\"\n [matTooltipPosition]=\"'above'\"\n mat-icon-button\n color=\"warn\"\n aria-label=\"Example icon button with a heart icon\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.piecework_line_status_id == 2\">\n <span>Line finished</span>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *cdkHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *cdkRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n <mat-paginator\n #paginator\n [length]=\"total$ | async\"\n [pageIndex]=\"0\"\n (page)=\"changePage($event)\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n >\n </mat-paginator>\n</div>\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTableModule } from '@angular/material/table';\nimport { PieceWorkFrontState } from '@barcoding/module-piecework';\nimport { NgxsModule } from '@ngxs/store';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { InputsModule, SwitchModule } from '@progress/kendo-angular-inputs';\nimport { DynamicComponentLoaderModule } from '@barcoding/gridster-core';\nimport { PieceWorkState } from '@barcoding/frontend-core';\nimport { PieceworkInConfigModal } from './config/config.component';\nimport { PieceWorkInForm } from './piece-work-in-form/piece-work-in-form.component';\nimport {\n FormatTime,\n WidgetPieceworkInComponent,\n} from './widget-piecework-in.component';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [\n WidgetPieceworkInComponent,\n FormatTime,\n PieceWorkInForm,\n PieceworkInConfigModal,\n ],\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatDialogModule,\n CdkTableModule,\n MatTableModule,\n MatButtonModule,\n MatCheckboxModule,\n MatPaginatorModule,\n MatIconModule,\n FormsModule,\n InputsModule,\n MatTooltipModule,\n DropDownsModule,\n InputsModule,\n FormsModule,\n SwitchModule,\n NgxsModule.forFeature([PieceWorkFrontState, PieceWorkState]),\n DynamicComponentLoaderModule.forChild(WidgetPieceworkInComponent),\n ],\n exports: [WidgetPieceworkInComponent],\n})\nexport class WidgetPieceworkInModule {}\n","/*\n * Public API Surface of widget-piecework-in\n */\n\nexport * from './lib/widget-piecework-in.component';\nexport * from './lib/widget-piecework-in.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { OnInit } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class PieceworkInConfigModal implements OnInit {
|
|
5
|
+
dialogRef: MatDialogRef<PieceworkInConfigModal>;
|
|
6
|
+
data: any;
|
|
7
|
+
config: any;
|
|
8
|
+
constructor(dialogRef: MatDialogRef<PieceworkInConfigModal>, data: any);
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
save(config: any): void;
|
|
11
|
+
onNoClick(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PieceworkInConfigModal, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PieceworkInConfigModal, "assignmentFormDialog", never, {}, {}, never, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { FocusService } from '@barcoding/frontend-core';
|
|
4
|
+
import { PieceWorkLineWithRelations } from '@barcoding/sdk';
|
|
5
|
+
import { Store } from '@ngxs/store';
|
|
6
|
+
import { PieceWorkLineControllerService } from '@barcoding/sdk';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class PieceWorkInForm implements OnInit, OnDestroy {
|
|
9
|
+
private focusService;
|
|
10
|
+
private pieceWorkLineApi;
|
|
11
|
+
dialogRef: MatDialogRef<PieceWorkInForm>;
|
|
12
|
+
private store;
|
|
13
|
+
data: any;
|
|
14
|
+
line: PieceWorkLineWithRelations;
|
|
15
|
+
finish: boolean;
|
|
16
|
+
qty_in: number;
|
|
17
|
+
constructor(focusService: FocusService, pieceWorkLineApi: PieceWorkLineControllerService, dialogRef: MatDialogRef<PieceWorkInForm>, store: Store, data: any);
|
|
18
|
+
ngOnInit(): void;
|
|
19
|
+
ngOnDestroy(): void;
|
|
20
|
+
cancel(): void;
|
|
21
|
+
save(qty_in: any, finish: any): void;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PieceWorkInForm, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PieceWorkInForm, "piece-work-in-form", never, {}, {}, never, never>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnDestroy, OnInit, PipeTransform } from '@angular/core';
|
|
2
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
3
|
+
import { Store } from '@ngxs/store';
|
|
4
|
+
import { ConfigInterfaceDashboard, WidgetInterface, WidgetParams } from '@barcoding/gridster-core';
|
|
5
|
+
import { ModeControllerService, ModeWithRelations, PieceWorkLineControllerService, PieceWorkLineStatusControllerControllerService, PieceWorkLineStatusWithRelations, PieceWorkLineWithRelations, UserControllerService, UserWithRelations, WidgetConfigWithRelations } from '@barcoding/sdk';
|
|
6
|
+
import { Observable, Subject, Subscription } from 'rxjs';
|
|
7
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
8
|
+
import { DataStateChangeEvent } from '@progress/kendo-angular-grid';
|
|
9
|
+
import { PageEvent } from '@angular/material/paginator';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export interface PieceWorkInFilters {
|
|
12
|
+
pw_id?: number;
|
|
13
|
+
document?: string;
|
|
14
|
+
user?: UserWithRelations;
|
|
15
|
+
mode?: ModeWithRelations;
|
|
16
|
+
status?: PieceWorkLineStatusWithRelations;
|
|
17
|
+
}
|
|
18
|
+
export declare class WidgetPieceworkInComponent extends ConfigInterfaceDashboard implements OnInit, OnDestroy, WidgetInterface {
|
|
19
|
+
modeApi: ModeControllerService;
|
|
20
|
+
private userApi;
|
|
21
|
+
store: Store;
|
|
22
|
+
private cdr;
|
|
23
|
+
dialog: MatDialog;
|
|
24
|
+
private statusesApi;
|
|
25
|
+
private pieceWorkLineApi;
|
|
26
|
+
configChanged$: Subject<any>;
|
|
27
|
+
myConfigSubscription: Subscription;
|
|
28
|
+
isAdmin: boolean;
|
|
29
|
+
item: WidgetConfigWithRelations;
|
|
30
|
+
params: WidgetParams;
|
|
31
|
+
filters: any;
|
|
32
|
+
displayedColumns: string[];
|
|
33
|
+
dataSource: MatTableDataSource<any>;
|
|
34
|
+
pieceworks$: Observable<PieceWorkLineWithRelations[]>;
|
|
35
|
+
total$: Observable<number>;
|
|
36
|
+
pieceworkSubscription: Subscription;
|
|
37
|
+
employee: any;
|
|
38
|
+
status: number;
|
|
39
|
+
object: any;
|
|
40
|
+
barcodes: Array<string>;
|
|
41
|
+
users: UserWithRelations[];
|
|
42
|
+
objectSubscription: Subscription;
|
|
43
|
+
statuses: PieceWorkLineStatusWithRelations[];
|
|
44
|
+
currentUserConfig: any;
|
|
45
|
+
state: Observable<any>;
|
|
46
|
+
stateSubscription: Subscription;
|
|
47
|
+
state$: Observable<DataStateChangeEvent>;
|
|
48
|
+
modes: ModeWithRelations[];
|
|
49
|
+
defaultItemMode: any;
|
|
50
|
+
defaultItemStatus: any;
|
|
51
|
+
constructor(modeApi: ModeControllerService, userApi: UserControllerService, store: Store, cdr: ChangeDetectorRef, dialog: MatDialog, statusesApi: PieceWorkLineStatusControllerControllerService, pieceWorkLineApi: PieceWorkLineControllerService);
|
|
52
|
+
getValue(field: string, isMultiLine?: boolean): any;
|
|
53
|
+
ngOnInit(): void;
|
|
54
|
+
getMax(row: PieceWorkLineWithRelations): number;
|
|
55
|
+
registerIn(row: PieceWorkLineWithRelations, qty_in: number, finish: any): void;
|
|
56
|
+
buildBarcodeList(value: string): void;
|
|
57
|
+
valueChange(field: any, event: any): void;
|
|
58
|
+
filterChange(event: any): void;
|
|
59
|
+
ngOnDestroy(): void;
|
|
60
|
+
openInForm(row: PieceWorkLineWithRelations): void;
|
|
61
|
+
changePage(event: PageEvent): void;
|
|
62
|
+
formatCurrency(value: any, currency: any): any;
|
|
63
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetPieceworkInComponent, never>;
|
|
64
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetPieceworkInComponent, "widget-piece-work-in", never, {}, {}, never, never>;
|
|
65
|
+
}
|
|
66
|
+
export declare class FormatTime implements PipeTransform {
|
|
67
|
+
convertTime(input: any, separator: any): string;
|
|
68
|
+
transform(value: any): any;
|
|
69
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormatTime, never>;
|
|
70
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FormatTime, "formatTime">;
|
|
71
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./widget-piecework-in.component";
|
|
3
|
+
import * as i2 from "./piece-work-in-form/piece-work-in-form.component";
|
|
4
|
+
import * as i3 from "./config/config.component";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "@angular/flex-layout";
|
|
7
|
+
import * as i6 from "@angular/material/dialog";
|
|
8
|
+
import * as i7 from "@angular/cdk/table";
|
|
9
|
+
import * as i8 from "@angular/material/table";
|
|
10
|
+
import * as i9 from "@angular/material/button";
|
|
11
|
+
import * as i10 from "@angular/material/checkbox";
|
|
12
|
+
import * as i11 from "@angular/material/paginator";
|
|
13
|
+
import * as i12 from "@angular/material/icon";
|
|
14
|
+
import * as i13 from "@angular/forms";
|
|
15
|
+
import * as i14 from "@progress/kendo-angular-inputs";
|
|
16
|
+
import * as i15 from "@angular/material/tooltip";
|
|
17
|
+
import * as i16 from "@progress/kendo-angular-dropdowns";
|
|
18
|
+
import * as i17 from "@ngxs/store";
|
|
19
|
+
import * as i18 from "@barcoding/gridster-core";
|
|
20
|
+
export declare class WidgetPieceworkInModule {
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetPieceworkInModule, never>;
|
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<WidgetPieceworkInModule, [typeof i1.WidgetPieceworkInComponent, typeof i1.FormatTime, typeof i2.PieceWorkInForm, typeof i3.PieceworkInConfigModal], [typeof i4.CommonModule, typeof i5.FlexLayoutModule, typeof i6.MatDialogModule, typeof i7.CdkTableModule, typeof i8.MatTableModule, typeof i9.MatButtonModule, typeof i10.MatCheckboxModule, typeof i11.MatPaginatorModule, typeof i12.MatIconModule, typeof i13.FormsModule, typeof i14.InputsModule, typeof i15.MatTooltipModule, typeof i16.DropDownsModule, typeof i14.InputsModule, typeof i13.FormsModule, typeof i14.SwitchModule, typeof i17.ɵbc, typeof i18.DynamicComponentLoaderModule], [typeof i1.WidgetPieceworkInComponent]>;
|
|
23
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<WidgetPieceworkInModule>;
|
|
24
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@barcoding/widget-piecework-in",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^12.1.2",
|
|
6
|
+
"@angular/core": "^12.1.2"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.2.0",
|
|
10
|
+
"@barcoding/sdk": "latest",
|
|
11
|
+
"@barcoding/core": "latest",
|
|
12
|
+
"@barcoding/backend-core": "latest"
|
|
13
|
+
},
|
|
14
|
+
"module": "fesm2015/barcoding-widget-piecework-in.mjs",
|
|
15
|
+
"es2020": "fesm2020/barcoding-widget-piecework-in.mjs",
|
|
16
|
+
"esm2020": "esm2020/barcoding-widget-piecework-in.mjs",
|
|
17
|
+
"fesm2020": "fesm2020/barcoding-widget-piecework-in.mjs",
|
|
18
|
+
"fesm2015": "fesm2015/barcoding-widget-piecework-in.mjs",
|
|
19
|
+
"typings": "barcoding-widget-piecework-in.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
"./package.json": {
|
|
22
|
+
"default": "./package.json"
|
|
23
|
+
},
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./barcoding-widget-piecework-in.d.ts",
|
|
26
|
+
"esm2020": "./esm2020/barcoding-widget-piecework-in.mjs",
|
|
27
|
+
"es2020": "./fesm2020/barcoding-widget-piecework-in.mjs",
|
|
28
|
+
"es2015": "./fesm2015/barcoding-widget-piecework-in.mjs",
|
|
29
|
+
"node": "./fesm2015/barcoding-widget-piecework-in.mjs",
|
|
30
|
+
"default": "./fesm2020/barcoding-widget-piecework-in.mjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"sideEffects": false
|
|
34
|
+
}
|
package/public-api.d.ts
ADDED