{"version":3,"sources":["webpack:///./src/views/BarcodeLinkScan.vue?ad66","webpack:///./src/views/keyenceHT/LinkScan.vue","webpack:///./src/views/keyenceHT/LinkScan.vue?386d","webpack:///./src/views/keyenceHT/LinkScan.vue?97d5","webpack:///./src/views/keyenceHT/PairScan.vue?1004","webpack:///./src/views/keyenceHT/PairScan.vue","webpack:///./src/views/keyenceHT/PairScan.vue?979b","webpack:///./src/views/keyenceHT/PairScan.vue?85f2","webpack:///./src/views/BulkRecycle.vue","webpack:///./src/views/BulkRecycle.vue?348b","webpack:///./src/views/BulkRecycle.vue?7fb5","webpack:///./src/views/Scan.vue","webpack:///./src/components/svg/IconInfo.vue","webpack:///./src/components/svg/IconInfo.vue?bc6e","webpack:///./src/components/svg/IconInfo.vue?5ce8","webpack:///./src/views/Scan.vue?aea6","webpack:///./src/views/Scan.vue?32db","webpack:///./src/views/PairScan.vue?9183","webpack:///./src/views/keyenceHT/LinkScan.vue?6c42","webpack:///./src/views/BulkRecycle.vue?161b","webpack:///./src/views/PairScan.vue","webpack:///./src/views/PairScan.vue?fcd1","webpack:///./src/views/PairScan.vue?34d6","webpack:///./src/views/BarcodeUnpairScan.vue","webpack:///./src/views/BarcodeUnpairScan.vue?d93d","webpack:///./src/views/BarcodeUnpairScan.vue?9b38","webpack:///./src/views/Scan.vue?e208","webpack:///./src/views/BarcodeLinkScan.vue","webpack:///./src/views/BarcodeLinkScan.vue?9829","webpack:///./src/views/BarcodeLinkScan.vue?b33c","webpack:///./src/views/BarcodeUnpairScan.vue?2c21"],"names":["class","$t","id","type","startScan","onCheckScannedBarcode","scannedBarcodes","length","estimateLinkedCount","scannerConfigName","shouldBulkMode","circle","disabled","forward","loading","lock-scroll","center","dialogVisible","width","top","show-close","destroy-on-close","title","checkScannedBarcode","footer","onCloseDialog","barcodes","prevScannedText","scannedBarcodeId","this","getBarcodeInfo","$route","params","barcodeId","count","projectCode","project","Scanner","clearReadCallback","setReadCallback","window","keyenceHandyTerminalScanResultCallback","result","mDecodeResult","scannedText","mStringData","trim","handleScannedText","startRead","message","plainText","prevBarcodeId","shouldTreatAsQrCode","externalId","undefined","scannedBarcode","find","barcode","validateBarcodeForLinking","barcodeLinkingRequest","targetBarcodeIds","isDryRun","LINK_TO","isAlreadyAdded","push","currentPlainText","hasOwnProperty","pop","openErrorToast","modelObject","errorVariableTemplate","errorHandler","JSON","stringify","barcodeType","barcodeName","fTP1","currentTrackPointName","tTP2","nextSelectTrackingPointName","$store","dispatch","state","details","barcodeTypes","currentProjectId","scannedBCProjectId","projectId","isActivated","bcTypeInfo","barcodeTypeInfo","allowToBeLinked","$router","name","operation","trackPoints","currentTrackPointKey","components","IconScanQR","ScannerConfig","BarcodeLabelList","render","__scopeId","estimateChildCount","isReadyToScan","children","extParams","validateBarcodeForPairing","doPairingBarcode","parentBarcodeId","bc","hasParent","isBarcodeInChildrenList","isAllowForcePairing","barcodeTypeItem","allowToBePaired","isDeactivated","isReadyToAddTrackData","reservedParentIds","includes","pairBarcodeRequest","childrenBarcodeIds","$confirm","confirmButtonText","confirmButtonClass","cancelButtonText","then","payload","forcePairing","catch","err","finally","commit","allowForcePairing","style","isScanditReaderProject","isMultipleScan","isShowMultipleScan","valueCode","handleCompleteScan","isLoadingHandleGotScanBarcode","setBarcodeSymbologies","symbologies","$event","scannedBarcodeList","submit","messageThrow","to","from","next","onLeaveGuard","barcodeRecyclableTrackPoints","error","isCurrentRecycleableTrackpoint","childrenCount","isRecycleChildren","resultScanned","isAllowRecycle","data","barcodeIds","listBarcodeIds","map","handleGotScanBarcode","MultipleBarcodeScanMixin","ScanArea","BarcodeSymbologiesSelection","ScannedValueInput","BulkScanSwitchButton","iconName","height","fill-rule","clip-rule","d","fill","color","SvgBase","props","String","default","codeReader","video","listBlob","temp","handleScanResult","text","reset","symbology","isUserAutheticated","initScanditReader","initZxingReader","replace","isRestrictedPage","meta","restricted","isAuth","redirectHome","processScannedText","document","getElementById","navigator","mediaDevices","getUserMedia","facingMode","aspectRatio","ideal","frameRate","max","stream","srcObject","streamSetting","getVideoTracks","getSettings","pictureWidth","pictureHeight","e","tempCanvas","querySelector","videoWidth","videoHeight","context","getContext","drawImage","Promise","resolve","toBlob","blob","console","handleMultipleScan","handleSingleScan","isHandleMultipleScan","snapshot","item","closeOnClickModal","showCancelButton","processValueCode","handleSaveScannedInfo","valCode","regexBarcodeId","urlParts","split","detectedText","match","query","getters","BarcodeReaderMixin","IconInfo","BaseInput","isUnpairAll","unpairChildrenIds","emits","linkType","label","BE_LINKED"],"mappings":"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","file":"js/scan.d6ba8849.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BarcodeLinkScan.vue?vue&type=style&index=0&id=72493f40&lang=scss&scoped=true\"","\n\n\n\n\n","\nimport BarcodeLabelList from '@/components/BarcodeLabelList.vue'\nimport ScannerConfig from '@/components/keyenceHT/ScannerConfig.vue'\nimport IconScanQR from '@/components/svg/IconScanQR.vue'\nimport { FETCH_BARCODE, SAVE_SCANNED_BARCODES } from '@/store/actions'\nimport { getBarcode, getEstimateBarcodeLinked, linkingBarcodes } from '@/utils/api'\nimport { ELinkType } from '@/utils/enums'\nimport errorHandler from '@/utils/errorHandler'\nimport {\n getBarcodeIdFromQrCode,\n getProjectCode,\n isQrCode,\n openMessage,\n shouldHandleAsNewBarcode,\n} from '@/utils/helpers'\nimport { KeyenceModule, ScanResult } from '@/utils/keyenceHT/keyenceModules'\nimport { isEmpty } from 'smartbarcode-web-core/src/utils/typeChecker'\nimport { IAPIErrorCode, IBarcode, IBarcodeDefinitionType, TError } from 'smartbarcode-web-core/src/utils/types/index'\nimport { Options, Vue } from 'vue-class-component'\n\n@Options({\n components: {\n IconScanQR,\n ScannerConfig: ScannerConfig,\n BarcodeLabelList,\n },\n name: 'BarcodeLinkScan',\n})\nexport default class LinkScan extends Vue {\n prevScannedText = ''\n scannedBarcodeId = ''\n scannedBarcodes: IBarcode[] = []\n loading = false\n dialogVisible = false\n checkScannedBarcode = false\n estimateLinkedCount = 0\n\n async created() {\n this.loading = true\n await this.getBarcodeInfo()\n const { count } = await getEstimateBarcodeLinked(this.$route.params.barcodeId)\n this.estimateLinkedCount = count\n this.loading = false\n }\n\n async mounted() {\n const projectCode = getProjectCode(this.$route?.params?.project)\n\n if (KeyenceModule && KeyenceModule.Scanner) {\n KeyenceModule.Scanner.clearReadCallback()\n KeyenceModule.Scanner.setReadCallback('keyenceHandyTerminalScanResultCallback')\n }\n\n window.keyenceHandyTerminalScanResultCallback = async (result: ScanResult) => {\n if (result.mDecodeResult !== 'SUCCESS') {\n return\n }\n const scannedText = result.mStringData.trim()\n await this.handleScannedText(scannedText, projectCode)\n this.prevScannedText = scannedText\n }\n }\n\n async startScan() {\n KeyenceModule.Scanner.startRead()\n }\n\n get prevBarcodeId(): string {\n return this.$store.state.barcode?.barcode?.id\n }\n\n openErrorToast(message: string) {\n openMessage(message, 'error', 0)\n }\n\n async handleScannedText(plainText: string, projectCode: string) {\n if (!shouldHandleAsNewBarcode(plainText, this.prevScannedText, this.prevBarcodeId)) {\n return\n }\n const shouldTreatAsQrCode = isQrCode(plainText)\n const barcodeId = shouldTreatAsQrCode ? getBarcodeIdFromQrCode(plainText) : `projectCode=${projectCode}`\n const externalId = shouldTreatAsQrCode ? undefined : plainText\n if (!barcodeId) {\n return\n }\n\n try {\n const scannedBarcode: IBarcode = await getBarcode(barcodeId, externalId)\n if (this.scannedBarcodes.find((barcode) => barcode.id === scannedBarcode?.id)) {\n return\n }\n\n await this.validateBarcodeForLinking(scannedBarcode)\n\n const barcodeLinkingRequest = {\n barcodeId: this.barcode.id,\n targetBarcodeIds: [scannedBarcode.id],\n isDryRun: true,\n }\n await linkingBarcodes(ELinkType.LINK_TO, barcodeLinkingRequest)\n\n this.scannedBarcodeId = scannedBarcode.id\n const isAlreadyAdded =\n this.barcode?.id === scannedBarcode.id ||\n this.scannedBarcodes.find((barcode) => barcode.id === scannedBarcode.id)\n if (!isAlreadyAdded) {\n this.scannedBarcodes.push(scannedBarcode)\n }\n\n openMessage(this.$t('barcode detected'), 'success')\n } catch (error) {\n this.currentPlainText = ''\n if (error === 'cancel') {\n return\n }\n\n if (typeof error === 'object' && error?.hasOwnProperty('id')) {\n const message = this.$t(`errors.${(error as IAPIErrorCode)?.id?.pop()}`)\n this.openErrorToast(message)\n return\n }\n if (typeof error === 'string') {\n const modelObject = this.errorVariableTemplate()\n errorHandler(error as TError, modelObject)\n return\n }\n if (!isEmpty(error)) {\n const message = JSON.stringify(error)\n this.openErrorToast(message)\n }\n }\n }\n\n get barcodeName(): string {\n return this.barcodeType?.name || ''\n }\n\n get currentTrackPointName() {\n return this.project?.trackPoints[this.currentTrackPointKey]?.name\n }\n\n errorVariableTemplate() {\n return {\n barcodeType: this.barcodeName,\n fTP1: this.currentTrackPointName,\n tTP2: this.nextSelectTrackingPointName,\n }\n }\n\n async getBarcodeInfo() {\n if (this.$route.params?.barcodeId && this.$route.params?.project) {\n await this.$store.dispatch(FETCH_BARCODE, { id: this.$route.params?.barcodeId })\n }\n }\n\n get barcode() {\n return this.$store.state.barcode.barcode\n }\n\n onCheckScannedBarcode() {\n this.checkScannedBarcode = true\n this.dialogVisible = true\n }\n\n onCloseDialog() {\n this.dialogVisible = false\n this.checkScannedBarcode = false\n }\n\n barcodeTypeInfo(barcodeType: string): Record {\n return this.$store.state.project?.details?.barcodeTypes[barcodeType]\n }\n\n async validateBarcodeForLinking(barcode: IBarcode) {\n if (!barcode) {\n throw this.$t('barcode does not exist')\n }\n\n if (this.barcode.id === barcode.id) {\n throw this.$t('barcode_linking_by_itself_error')\n }\n\n const currentProjectId = this.$store.state.project.details.id\n const scannedBCProjectId = barcode.projectId\n if (currentProjectId !== scannedBCProjectId) {\n throw this.$t('scanned_barcode_not_same_project')\n }\n\n if (!barcode.isActivated) {\n throw this.$t('barcode not activated')\n }\n\n const bcTypeInfo = this.barcodeTypeInfo(barcode.barcodeType)\n if (!bcTypeInfo.allowToBeLinked) {\n throw this.$t('barcode_linking_not_allow')\n }\n }\n\n forward() {\n this.$store.dispatch(SAVE_SCANNED_BARCODES, this.scannedBarcodes)\n this.$router.push({\n name: 'scanned-barcode-list',\n params: {\n title: this.$t('linking.link_to_read_result'),\n operation: ELinkType.LINK_TO,\n },\n })\n }\n\n unmounted() {\n if (KeyenceModule && KeyenceModule.Scanner) {\n KeyenceModule.Scanner.clearReadCallback()\n }\n }\n}\n","import { render } from \"./LinkScan.vue?vue&type=template&id=0e266cb9&scoped=true\"\nimport script from \"./LinkScan.vue?vue&type=script&lang=ts\"\nexport * from \"./LinkScan.vue?vue&type=script&lang=ts\"\n\nimport \"./LinkScan.vue?vue&type=style&index=0&id=0e266cb9&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-0e266cb9\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PairScan.vue?vue&type=style&index=0&id=2ac6dd99&lang=scss&scoped=true\"","\n\n\n\n\n","\nimport { Options, Vue } from 'vue-class-component'\nimport BarcodeLabelList from '@/components/BarcodeLabelList.vue'\nimport { SAVE_SCANNED_BARCODES, PAIRING, CLEAR_ERROR } from '@/store/actions'\nimport { IAPIErrorCode, IBarcode, IBarcodeDefinitionType, TError } from 'smartbarcode-web-core/src/utils/types/index'\nimport { getBarcode, getChildren, getEstimateBarcodeChildren, pairBarcode } from '@/utils/api'\nimport errorHandler from '@/utils/errorHandler'\nimport { KeyenceModule, ScanResult } from '@/utils/keyenceHT/keyenceModules'\nimport {\n getBarcodeIdFromQrCode,\n getProjectCode,\n isQrCode,\n openMessage,\n shouldHandleAsNewBarcode,\n} from '@/utils/helpers'\nimport { isEmpty } from 'smartbarcode-web-core/src/utils/typeChecker'\nimport IconScanQR from '@/components/svg/IconScanQR.vue'\nimport ScannerConfig from '@/components/keyenceHT/ScannerConfig.vue'\n@Options({\n components: {\n IconScanQR,\n ScannerConfig: ScannerConfig,\n BarcodeLabelList,\n },\n name: 'Pairscan',\n})\nexport default class PairScan extends Vue {\n prevScannedText = ''\n scannedBarcodeId = ''\n scannedBarcodes: IBarcode[] = []\n barcodes = [] as IBarcode[]\n loading = false\n dialogVisible = false\n checkScannedBarcode = false\n children = [] as IBarcode[]\n estimateChildCount = 0\n extParams = {} as Record\n isReadyToScan = true\n\n async created() {\n try {\n this.loading = true\n this.children = await getChildren(this.$route.params.barcodeId)\n const { count } = await getEstimateBarcodeChildren(this.$route.params.barcodeId)\n this.estimateChildCount = count\n } catch (error) {\n errorHandler(error as TError)\n } finally {\n this.loading = false\n }\n }\n\n async mounted() {\n const projectCode = getProjectCode(this.$route?.params?.project)\n\n if (KeyenceModule && KeyenceModule.Scanner) {\n KeyenceModule.Scanner.clearReadCallback()\n KeyenceModule.Scanner.setReadCallback('keyenceHandyTerminalScanResultCallback')\n }\n\n window.keyenceHandyTerminalScanResultCallback = async (result: ScanResult) => {\n if (result.mDecodeResult !== 'SUCCESS') {\n return\n }\n const scannedText = result.mStringData.trim()\n await this.handleScannedText(scannedText, projectCode)\n this.prevScannedText = scannedText\n }\n }\n\n async startScan() {\n KeyenceModule.Scanner.startRead()\n }\n\n get currentBarcodeId(): string {\n return this.$store.state.barcode?.barcode?.id\n }\n\n openErrorToast(message: string) {\n openMessage(message, 'error', 0)\n }\n\n get barcodeName(): string {\n return this.barcodeType?.name || ''\n }\n\n get currentTrackPointName() {\n return this.project?.trackPoints[this.currentTrackPointKey]?.name\n }\n\n errorVariableTemplate() {\n return {\n barcodeType: this.barcodeName,\n fTP1: this.currentTrackPointName,\n tTP2: this.nextSelectTrackingPointName,\n }\n }\n\n async handleScannedText(plainText: string, projectCode: string) {\n if (!shouldHandleAsNewBarcode(plainText, this.prevScannedText, this.prevBarcodeId)) {\n return\n }\n const shouldTreatAsQrCode = isQrCode(plainText)\n const barcodeId = shouldTreatAsQrCode ? getBarcodeIdFromQrCode(plainText) : `projectCode=${projectCode}`\n const externalId = shouldTreatAsQrCode ? undefined : plainText\n if (!barcodeId) {\n return\n }\n\n try {\n const scannedBarcode: IBarcode = await getBarcode(barcodeId, externalId)\n if (this.scannedBarcodes.find((barcode) => barcode.id === scannedBarcode?.id)) {\n return\n }\n\n this.validateBarcodeForPairing(scannedBarcode)\n await this.doPairingBarcode(scannedBarcode.id, this.parentBarcodeId)\n\n this.scannedBarcodeId = scannedBarcode.id\n const isAlreadyAdded =\n this.barcode?.id === scannedBarcode.id ||\n this.scannedBarcodes.find((barcode) => barcode.id === scannedBarcode.id)\n if (!isAlreadyAdded) {\n this.scannedBarcodes.push(scannedBarcode)\n }\n\n openMessage(this.$t('barcode detected'), 'success')\n } catch (error) {\n this.currentPlainText = ''\n if (error === 'cancel') {\n return\n }\n\n if (typeof error === 'object' && error?.hasOwnProperty('id')) {\n const message = this.$t(`errors.${(error as IAPIErrorCode)?.id?.pop()}`)\n this.openErrorToast(message)\n return\n }\n if (typeof error === 'string') {\n const modelObject = this.errorVariableTemplate()\n errorHandler(error as TError, modelObject)\n return\n }\n if (!isEmpty(error)) {\n const message = JSON.stringify(error)\n this.openErrorToast(message)\n }\n }\n }\n\n onCheckScannedBarcode() {\n this.checkScannedBarcode = true\n this.dialogVisible = true\n }\n\n onCloseDialog() {\n this.dialogVisible = false\n this.checkScannedBarcode = false\n }\n\n barcodeTypeInfo(barcodeType: string): Record {\n return this.$store.state.project?.details?.barcodeTypes[barcodeType]\n }\n\n get isAllowForcePairing() {\n return this.$store.state.project?.details?.allowForcePairing || false\n }\n\n isBarcodeInChildrenList(barcode: IBarcode): boolean {\n return !!this.children.find((bc) => bc.id === barcode.id)\n }\n\n validateBarcodeForPairing(scannedBarcode: IBarcode) {\n const currentProjectId = this.$store.state.project.details.id\n const scannedBCProjectId = scannedBarcode.projectId\n if (currentProjectId !== scannedBCProjectId) {\n throw this.$t('scanned_barcode_not_same_project')\n }\n\n const { barcodeType, hasParent } = scannedBarcode\n\n if (this.parentBarcodeId === scannedBarcode?.id) {\n throw this.$t('barcode_pairing_by_itself_error')\n }\n\n if (!barcodeType) {\n throw this.$t('barcode not activated')\n }\n\n if (this.isBarcodeInChildrenList(scannedBarcode)) {\n throw this.$t('scanned_barcode_in_children_list')\n }\n\n if (hasParent && !this.isAllowForcePairing) {\n throw this.$t('barcode_already_paired')\n }\n\n const barcodeTypeItem = this.barcodeTypeInfo(barcodeType)\n if (!barcodeTypeItem?.allowToBePaired || scannedBarcode.isDeactivated || !scannedBarcode.isReadyToAddTrackData) {\n throw this.$t('barcode_can_not_be_paired')\n }\n if (\n scannedBarcode?.reservedParentIds?.length > 0 &&\n !scannedBarcode?.reservedParentIds?.includes(this.parentBarcodeId)\n ) {\n throw this.$t('errors.3046')\n }\n }\n\n async doPairingBarcode(barcodeId: string, parentBarcodeId: string) {\n const pairBarcodeRequest = {\n parentBarcodeId: parentBarcodeId,\n childrenBarcodeIds: [barcodeId],\n isDryRun: true,\n }\n try {\n await pairBarcode(pairBarcodeRequest)\n } catch (error) {\n if (error === '3044' && this.isAllowForcePairing) {\n await this.$confirm('', this.$t('confirm_overwrite_parent'), {\n confirmButtonText: this.$t('ok'),\n confirmButtonClass: 'danger',\n cancelButtonText: this.$t('cancel'),\n })\n .then(async () => {\n const payload = {\n ...pairBarcodeRequest,\n forcePairing: true,\n }\n await pairBarcode(payload)\n this.extParams = {\n ...this.extParams,\n forcePairing: true,\n }\n })\n .catch((err: unknown) => {\n throw err\n })\n .finally(() => this.$store.commit(CLEAR_ERROR))\n return\n }\n throw error\n }\n }\n\n get parentBarcodeId() {\n return this.$store.state.barcode?.barcode?.id || ''\n }\n\n forward() {\n this.$store.dispatch(SAVE_SCANNED_BARCODES, this.scannedBarcodes)\n this.$router.push({\n name: 'scanned-barcode-list',\n params: {\n title: this.$t('pairing_read_result'),\n operation: PAIRING,\n extParams: JSON.stringify(this.extParams),\n },\n })\n }\n\n unmounted() {\n if (KeyenceModule && KeyenceModule.Scanner) {\n KeyenceModule.Scanner.clearReadCallback()\n }\n }\n}\n","import { render } from \"./PairScan.vue?vue&type=template&id=2ac6dd99&scoped=true\"\nimport script from \"./PairScan.vue?vue&type=script&lang=ts\"\nexport * from \"./PairScan.vue?vue&type=script&lang=ts\"\n\nimport \"./PairScan.vue?vue&type=style&index=0&id=2ac6dd99&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-2ac6dd99\"\n\nexport default script","\n\n\n\n\n","\nimport BarcodeLabelList from '@/components/BarcodeLabelList.vue'\nimport BarcodeSymbologiesSelection from '@/components/BarcodeSymbologiesSelection.vue'\nimport BulkScanSwitchButton from '@/components/common/BulkScanSwitchButton.vue'\nimport ScannedValueInput from '@/components/common/ScannedValueInput.vue'\nimport MultipleBarcodeScanMixin from '@/components/mixins/MultipleBarcodeScanMixin.vue'\nimport ScanArea from '@/components/svg/ScanArea.vue'\nimport { RECYCLE_MULTIPLE_BARCODE, SAVE_SCANNED_BARCODES } from '@/store/actions'\nimport { recycleMultipleBarcode } from '@/utils/api'\nimport { IBarcode, IBarcodeDefinitionType, IProject } from 'smartbarcode-web-core/src/utils/types/index'\nimport { Options, mixins } from 'vue-class-component'\nimport { NavigationGuardNext, RouteLocationNormalized } from 'vue-router'\n@Options({\n components: {\n ScanArea,\n BarcodeLabelList,\n BarcodeSymbologiesSelection,\n ScannedValueInput,\n BulkScanSwitchButton,\n },\n name: 'BulkRecycle',\n})\nexport default class BulkRecycle extends mixins(MultipleBarcodeScanMixin) {\n loading = false\n dialogVisible = false\n checkScannedBarcode = false\n extParams = {} as Record\n isReadyToScan = true\n messageThrow = ''\n\n async beforeRouteLeave(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n await this.onLeaveGuard(to, from, next)\n }\n\n onCheckScannedBarcode() {\n this.checkScannedBarcode = true\n this.dialogVisible = true\n }\n\n onCloseDialog() {\n this.dialogVisible = false\n this.checkScannedBarcode = false\n }\n\n barcodeTypeInfo(barcodeType: string): IBarcodeDefinitionType {\n return this.$store.state.project?.details?.barcodeTypes[barcodeType]\n }\n\n get barcode(): IBarcode {\n return this.$store.state.barcode?.barcode\n }\n\n get currentTrackPointKey() {\n return this.barcode?.currentTrackPointKey\n }\n\n isCurrentRecycleableTrackpoint(barcode: IBarcode): boolean {\n return (this.barcodeTypeInfo(barcode.barcodeType)?.barcodeRecyclableTrackPoints ?? []).includes(\n this.currentTrackPointKey\n )\n }\n\n isAllowRecycle(barcode: IBarcode): { message: string } {\n const error = { message: '' }\n if (!this.isCurrentRecycleableTrackpoint(barcode)) {\n error.message = 'cant_recycle_at_this_trackpoint'\n }\n\n if (this.childrenCount > 0) {\n if (!this.project.isRecycleChildren || this.hasParent(barcode)) {\n error.message = 'errors.3025'\n }\n }\n\n if (this.parentBarcodeId === barcode?.id) {\n error.message = 'barcode_pairing_by_itself_error'\n }\n\n if (!barcode?.barcodeType) {\n error.message = 'barcode not activated'\n }\n return error\n }\n\n get project(): IProject {\n return this.$store.state.project.details\n }\n\n hasParent(barcode: IBarcode): boolean {\n return barcode?.hasParent\n }\n\n get childrenCount() {\n return this.barcode?.childrenCount || 0\n }\n\n async validateBarcode(resultScanned: IBarcode) {\n const error = this.isAllowRecycle(resultScanned)\n if (error.message) {\n throw this.$t(error.message)\n }\n const data = {\n barcodeIds: [resultScanned?.id],\n isDryRun: true,\n }\n try {\n await recycleMultipleBarcode(data)\n } catch (error) {}\n }\n\n get parentBarcodeId() {\n return this.$store.state.barcode?.barcode?.id || ''\n }\n\n forward() {\n if (!this.barcodes || this.barcodes.length === 0) {\n return\n }\n const listBarcodeIds = [this.$route.params.barcodeId, ...this.barcodes.map((barcode: IBarcode) => barcode.id)]\n this.$store.dispatch(SAVE_SCANNED_BARCODES, this.barcodes)\n this.$router.push({\n name: 'scanned-barcode-list',\n params: {\n title: this.$t('recycle_read_result'),\n operation: RECYCLE_MULTIPLE_BARCODE,\n extParams: JSON.stringify(listBarcodeIds),\n },\n })\n }\n\n async handleCompleteScan() {\n if (!this.isMultipleScan || this.valueCode.trim() === '') {\n return\n }\n\n this.handleGotScanBarcode(this.valueCode)\n }\n}\n","import { render } from \"./BulkRecycle.vue?vue&type=template&id=514d1d54&scoped=true\"\nimport script from \"./BulkRecycle.vue?vue&type=script&lang=ts\"\nexport * from \"./BulkRecycle.vue?vue&type=script&lang=ts\"\n\nimport \"./BulkRecycle.vue?vue&type=style&index=0&id=514d1d54&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-514d1d54\"\n\nexport default script","\n\n\n\n\n","\n\n\n","\nimport { Vue, Options } from 'vue-class-component'\nimport SvgBase from './SvgBase.vue'\n\n@Options({\n components: {\n SvgBase,\n },\n props: {\n color: {\n type: String,\n default: 'currentColor',\n },\n },\n})\nexport default class IconLocation extends Vue {}\n","import { render } from \"./IconInfo.vue?vue&type=template&id=01a77868\"\nimport script from \"./IconInfo.vue?vue&type=script&lang=ts\"\nexport * from \"./IconInfo.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\nimport BarcodeSymbologiesSelection from '@/components/BarcodeSymbologiesSelection.vue'\nimport BaseInput from '@/components/BaseInput.vue'\nimport BulkScanSwitchButton from '@/components/common/BulkScanSwitchButton.vue'\nimport ScannedValueInput from '@/components/common/ScannedValueInput.vue'\nimport BarcodeReaderMixin from '@/components/mixins/BarcodeReaderMixin.vue'\nimport IconInfo from '@/components/svg/IconInfo.vue'\nimport ScanArea from '@/components/svg/ScanArea.vue'\nimport { UPDATE_SCANNED_RESULT } from '@/store/actions'\nimport { QRCODE_BARCODE_TYPE_REGEX } from '@/utils/constants'\nimport errorHandler from '@/utils/errorHandler'\nimport { promptVideoPermission } from '@/utils/helpers'\nimport { BrowserMultiFormatReader, Result } from '@zxing/library'\nimport { Barcode, BarcodeCapture } from 'scandit-web-datacapture-barcode'\nimport { TError } from 'smartbarcode-web-core/src/utils/types/index'\nimport { Options, mixins } from 'vue-class-component'\nimport { Watch } from 'vue-property-decorator'\n@Options({\n components: {\n IconInfo,\n ScanArea,\n BarcodeSymbologiesSelection,\n BaseInput,\n BulkScanSwitchButton,\n ScannedValueInput,\n },\n name: 'ScanView',\n})\nexport default class ScanView extends mixins(BarcodeReaderMixin) {\n _barcodeDataCapture: BarcodeCapture | undefined\n codeReader = new BrowserMultiFormatReader()\n isReadyToScan = false\n video: HTMLVideoElement | null = null\n listBlob: Blob[] = [];\n\n async defaultScanReader(result: Result, codeReader: BrowserMultiFormatReader) {\n this.isReadyToScan = true\n this.codeReader = codeReader\n if (!result) return\n\n const temp: { [key: string]: unknown } = { ...result }\n await this.handleScanResult((temp.text as string) || '')\n if (!this.isMultipleScan) {\n codeReader.reset()\n }\n }\n\n async scanditDataResult(symbology: Barcode) {\n this.isReadyToScan = true\n if (!symbology) return\n\n await this.handleScanResult(symbology.data || '')\n }\n\n get isAuth() {\n return this.$store.getters.isAuth\n }\n\n async mounted() {\n try {\n this.isUserAutheticated()\n this.isReadyToScan = false\n if (this.isScanditReaderProject) {\n await this.initScanditReader()\n } else {\n await promptVideoPermission()\n await this.initZxingReader()\n }\n } catch (error) {\n errorHandler(error as TError)\n } finally {\n this.isReadyToScan = true\n }\n }\n\n resetScannedValue() {\n this.listBlob = []\n this.valueCode = ''\n this.$store.dispatch(UPDATE_SCANNED_RESULT, this.listBlob)\n }\n\n redirectHome() {\n this.$router.replace({\n name: 'home',\n params: {\n project: this.$route.params.project,\n },\n })\n }\n\n isUserAutheticated() {\n const isRestrictedPage = this.$route.meta.restricted\n if (!this.isAuth && isRestrictedPage) {\n this.redirectHome()\n }\n }\n\n async handleCompleteScan() {\n if (!this.isMultipleScan || this.valueCode.trim() === '') {\n return\n }\n this.processScannedText(this.valueCode)\n }\n\n async setupVideo() {\n if (!this.video) {\n this.video = document.getElementById('video') as HTMLVideoElement\n }\n\n await navigator.mediaDevices\n .getUserMedia({\n video: {\n facingMode: 'environment',\n aspectRatio: 1,\n width: { ideal: 1000 },\n height: { ideal: 1000 },\n frameRate: { ideal: 30, max: 60 },\n },\n })\n .then((stream) => {\n // Setup the video stream\n if (this.video) {\n this.video.srcObject = stream\n const streamSetting = stream.getVideoTracks()[0].getSettings()\n // actual width & height of the camera video\n this.pictureWidth = streamSetting.width || this.pictureWidth\n this.pictureHeight = streamSetting.height || this.pictureHeight\n }\n })\n .catch((e) => {\n errorHandler(e.name === 'NotAllowedError' ? 'camera_access_not_allow' : e)\n })\n }\n\n async snapshot() {\n try {\n const tempCanvas = document.querySelector('#captureCanvas') as HTMLCanvasElement\n const video = document.querySelector('video')\n if (!video || !tempCanvas) return\n const originalWidth = tempCanvas.width\n const originalHeight = tempCanvas.height\n tempCanvas.width = video.videoWidth\n tempCanvas.height = video.videoHeight\n const context = tempCanvas.getContext('2d')\n if (!context) return\n context.drawImage(video, 0, 0, video.videoWidth, video.videoHeight)\n const blob = await new Promise(resolve => tempCanvas.toBlob(resolve))\n return blob\n } catch (error) {\n console.error('Error during snapshot:', error)\n }\n }\n\n handleSaveScannedInfo(blob: Blob) {\n this.listBlob.push(blob)\n this.$store.dispatch(UPDATE_SCANNED_RESULT, this.listBlob)\n }\n\n async handleScanResult(plainText: string) {\n this.isMultipleScan ? await this.handleMultipleScan(plainText) : await this.handleSingleScan(plainText)\n }\n\n async handleMultipleScan(plainText: string) {\n if (this.isHandleMultipleScan) {\n return\n }\n const blob = await this.snapshot()\n this.isHandleMultipleScan = true\n this.$confirm(this.$t('confirm_scanned_value', { item: plainText }), this.$t('info'), {\n confirmButtonText: this.$t('confirm'),\n confirmButtonClass: 'danger',\n cancelButtonText: this.$t('cancel'),\n closeOnClickModal: true,\n showCancelButton: true,\n })\n .then(() => {\n this.valueCode = this.processValueCode(plainText)\n this.handleSaveScannedInfo(blob as Blob)\n })\n .finally(() => { this.isHandleMultipleScan = false })\n }\n\n async handleSingleScan(plainText: string) {\n const blob = await this.snapshot()\n this.handleSaveScannedInfo(blob as Blob)\n this.valueCode = plainText\n this.processScannedText(plainText)\n }\n\n processScannedText(text: string) {\n const valCode = text.trim()\n const regexBarcodeId = QRCODE_BARCODE_TYPE_REGEX\n const urlParts = valCode.split('/')\n const detectedText = valCode || ''\n if (valCode.match(regexBarcodeId)) {\n const barcodeId = urlParts.pop()\n urlParts.pop()\n const projectId = urlParts.pop()\n this.$router.push({\n name: 'detail',\n params: { barcodeId, project: projectId },\n })\n } else {\n const projectCode = this.$route?.params?.project.split('@')\n if (projectCode.length > 1) projectCode.pop()\n this.$router.push({\n name: 'detail',\n params: { barcodeId: `projectCode=${projectCode[0]}` },\n query: { externalId: detectedText },\n })\n }\n }\n}\n","import { render } from \"./Scan.vue?vue&type=template&id=4eb39610&scoped=true\"\nimport script from \"./Scan.vue?vue&type=script&lang=ts\"\nexport * from \"./Scan.vue?vue&type=script&lang=ts\"\n\nimport \"./Scan.vue?vue&type=style&index=0&id=4eb39610&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4eb39610\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PairScan.vue?vue&type=style&index=0&id=729f9a84&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LinkScan.vue?vue&type=style&index=0&id=0e266cb9&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BulkRecycle.vue?vue&type=style&index=0&id=514d1d54&lang=scss&scoped=true\"","\n\n\n\n\n","\nimport { Options, mixins } from 'vue-class-component'\nimport ScanArea from '@/components/svg/ScanArea.vue'\nimport BarcodeLabelList from '@/components/BarcodeLabelList.vue'\nimport { SAVE_SCANNED_BARCODES, PAIRING, CLEAR_ERROR } from '@/store/actions'\nimport MultipleBarcodeScanMixin from '@/components/mixins/MultipleBarcodeScanMixin.vue'\nimport { IBarcode, IBarcodeDefinitionType, TError } from 'smartbarcode-web-core/src/utils/types/index'\nimport { getChildren, getEstimateBarcodeChildren, pairBarcode } from '@/utils/api'\nimport errorHandler from '@/utils/errorHandler'\nimport BarcodeSymbologiesSelection from '@/components/BarcodeSymbologiesSelection.vue'\nimport { RouteLocationNormalized, NavigationGuardNext } from 'vue-router'\nimport ScannedValueInput from '@/components/common/ScannedValueInput.vue'\nimport BulkScanSwitchButton from '@/components/common/BulkScanSwitchButton.vue'\n@Options({\n components: {\n ScanArea,\n BarcodeLabelList,\n BarcodeSymbologiesSelection,\n ScannedValueInput,\n BulkScanSwitchButton,\n },\n name: 'Pairscan',\n})\nexport default class PairScan extends mixins(MultipleBarcodeScanMixin) {\n loading = false\n dialogVisible = false\n checkScannedBarcode = false\n children = [] as IBarcode[]\n estimateChildCount = 0\n extParams = {} as Record\n isReadyToScan = true\n\n async created() {\n try {\n this.loading = true\n this.children = await getChildren(this.$route.params.barcodeId)\n const { count } = await getEstimateBarcodeChildren(this.$route.params.barcodeId)\n this.estimateChildCount = count\n } catch (error) {\n errorHandler(error as TError)\n } finally {\n this.loading = false\n }\n }\n\n async beforeRouteLeave(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n await this.onLeaveGuard(to, from, next)\n }\n\n onCheckScannedBarcode() {\n this.checkScannedBarcode = true\n this.dialogVisible = true\n }\n\n onCloseDialog() {\n this.dialogVisible = false\n this.checkScannedBarcode = false\n }\n\n barcodeTypeInfo(barcodeType: string): Record {\n return this.$store.state.project?.details?.barcodeTypes[barcodeType]\n }\n\n get isAllowForcePairing() {\n return this.$store.state.project?.details?.allowForcePairing || false\n }\n\n isBarcodeInChildrenList(barcode: IBarcode): boolean {\n return !!this.children.find((bc) => bc.id === barcode.id)\n }\n\n async validateBarcode(resultScanned: IBarcode) {\n const currentProjectId = this.$store.state.project.details.id\n const scannedBCProjectId = resultScanned.projectId\n if (currentProjectId !== scannedBCProjectId) {\n throw this.$t('scanned_barcode_not_same_project')\n }\n\n const { barcodeType, hasParent } = resultScanned\n\n if (this.parentBarcodeId === resultScanned?.id) throw this.$t('barcode_pairing_by_itself_error')\n\n if (!barcodeType) {\n throw this.$t('barcode not activated')\n }\n\n if (this.isBarcodeInChildrenList(resultScanned)) {\n throw this.$t('scanned_barcode_in_children_list')\n }\n\n if (hasParent && !this.isAllowForcePairing) {\n throw this.$t('barcode_already_paired')\n }\n\n const barcodeTypeItem = this.barcodeTypeInfo(barcodeType)\n if (!barcodeTypeItem?.allowToBePaired || resultScanned.isDeactivated || !resultScanned.isReadyToAddTrackData) {\n throw this.$t('barcode_can_not_be_paired')\n }\n\n if (\n resultScanned?.reservedParentIds?.length > 0 &&\n !resultScanned?.reservedParentIds?.includes(this.parentBarcodeId)\n ) {\n throw this.$t('errors.3046')\n }\n\n const data = {\n parentBarcodeId: this.parentBarcodeId,\n childrenBarcodeIds: [resultScanned?.id],\n isDryRun: true,\n }\n try {\n await pairBarcode(data)\n } catch (error) {\n if (error === '3044' && this.isAllowForcePairing) {\n await this.$confirm('', this.$t('confirm_overwrite_parent'), {\n confirmButtonText: this.$t('ok'),\n confirmButtonClass: 'danger',\n cancelButtonText: this.$t('cancel'),\n })\n .then(async () => {\n const payload = {\n ...data,\n forcePairing: true,\n }\n await pairBarcode(payload)\n this.extParams = {\n ...this.extParams,\n forcePairing: true,\n }\n })\n .catch((err: unknown) => {\n throw err\n })\n .finally(() => this.$store.commit(CLEAR_ERROR))\n return\n }\n throw error\n }\n }\n\n get parentBarcodeId() {\n return this.$store.state.barcode?.barcode?.id || ''\n }\n\n forward() {\n this.$store.dispatch(SAVE_SCANNED_BARCODES, this.barcodes)\n this.$router.push({\n name: 'scanned-barcode-list',\n params: {\n title: this.$t('pairing_read_result'),\n operation: PAIRING,\n extParams: JSON.stringify(this.extParams),\n },\n })\n }\n\n async handleCompleteScan() {\n if (!this.isMultipleScan || this.valueCode.trim() === '') {\n return\n }\n\n this.handleGotScanBarcode(this.valueCode)\n }\n}\n","import { render } from \"./PairScan.vue?vue&type=template&id=729f9a84&scoped=true\"\nimport script from \"./PairScan.vue?vue&type=script&lang=ts\"\nexport * from \"./PairScan.vue?vue&type=script&lang=ts\"\n\nimport \"./PairScan.vue?vue&type=style&index=0&id=729f9a84&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-729f9a84\"\n\nexport default script","\n\n\n","\nimport BarcodeLabelList from '@/components/BarcodeLabelList.vue'\nimport BarcodeSymbologiesSelection from '@/components/BarcodeSymbologiesSelection.vue'\nimport BulkScanSwitchButton from '@/components/common/BulkScanSwitchButton.vue'\nimport ScannedValueInput from '@/components/common/ScannedValueInput.vue'\nimport MultipleBarcodeScanMixin from '@/components/mixins/MultipleBarcodeScanMixin.vue'\nimport ScanArea from '@/components/svg/ScanArea.vue'\nimport { FETCH_BARCODE, SAVE_SCANNED_BARCODES, UNPAIRING } from '@/store/actions'\nimport { unpairBarcode } from '@/utils/api'\nimport { IBarcode, IBarcodeDefinitionType } from 'smartbarcode-web-core/src/utils/types'\nimport { Options } from 'vue-class-component'\nimport { Mixins } from 'vue-property-decorator'\nimport { RouteLocationNormalized, NavigationGuardNext } from 'vue-router'\n@Options({\n components: {\n ScanArea,\n BarcodeLabelList,\n BarcodeSymbologiesSelection,\n ScannedValueInput,\n BulkScanSwitchButton,\n },\n emits: [],\n name: 'BarcodeUnpairScan',\n})\nexport default class BarcodeUnpairScan extends Mixins(MultipleBarcodeScanMixin) {\n loading = false\n dialogVisible = false\n isReadyToScan = true\n\n async created() {\n this.loading = true\n await this.getBarcodeInfo()\n this.loading = false\n }\n\n async beforeRouteLeave(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n await this.onLeaveGuard(to, from, next)\n }\n\n async getBarcodeInfo() {\n if (this.$route.params?.barcodeId && this.$route.params?.project) {\n await this.$store.dispatch(FETCH_BARCODE, { id: this.$route.params?.barcodeId })\n }\n }\n\n get barcode() {\n return this.$store.state.barcode.barcode\n }\n\n onCheckScannedBarcode() {\n this.checkScannedBarcode = true\n this.dialogVisible = true\n }\n\n onCloseDialog() {\n this.dialogVisible = false\n this.checkScannedBarcode = false\n }\n\n barcodeTypeInfo(barcodeType: string): Record {\n return this.$store.state.project?.details?.barcodeTypes[barcodeType]\n }\n\n async validateBarcode(resultScanned: IBarcode) {\n if (this.barcode.id === resultScanned.id) throw this.$t('barcode_unpairing_by_itself_error')\n\n const currentProjectId = this.$store.state.project.details.id\n const scannedBCProjectId = resultScanned.projectId\n if (currentProjectId !== scannedBCProjectId) throw this.$t('scanned_barcode_not_same_project')\n\n if (!resultScanned.isActivated) throw this.$t('barcode not activated')\n\n await unpairBarcode({\n parentBarcodeId: this.barcode.id,\n isUnpairAll: false,\n unpairChildrenIds: [resultScanned?.id],\n isDryRun: true,\n })\n }\n\n forward() {\n this.$store.dispatch(SAVE_SCANNED_BARCODES, this.barcodes)\n this.$router.push({\n name: 'scanned-barcode-list',\n params: {\n title: this.$t('unpairing_read_result'),\n operation: UNPAIRING,\n },\n })\n }\n\n async handleCompleteScan() {\n if (!this.isMultipleScan || this.valueCode.trim() === '') {\n return\n }\n\n this.handleGotScanBarcode(this.valueCode)\n }\n}\n","import { render } from \"./BarcodeUnpairScan.vue?vue&type=template&id=76df1f4e&scoped=true\"\nimport script from \"./BarcodeUnpairScan.vue?vue&type=script&lang=ts\"\nexport * from \"./BarcodeUnpairScan.vue?vue&type=script&lang=ts\"\n\nimport \"./BarcodeUnpairScan.vue?vue&type=style&index=0&id=76df1f4e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-76df1f4e\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Scan.vue?vue&type=style&index=0&id=4eb39610&lang=scss&scoped=true\"","\n\n\n\n\n","\nimport BarcodeLabelList from '@/components/BarcodeLabelList.vue'\nimport BarcodeSymbologiesSelection from '@/components/BarcodeSymbologiesSelection.vue'\nimport BulkScanSwitchButton from '@/components/common/BulkScanSwitchButton.vue'\nimport ScannedValueInput from '@/components/common/ScannedValueInput.vue'\nimport MultipleBarcodeScanMixin from '@/components/mixins/MultipleBarcodeScanMixin.vue'\nimport ScanArea from '@/components/svg/ScanArea.vue'\nimport { BE_LINKED, FETCH_BARCODE, LINK_TO, SAVE_SCANNED_BARCODES } from '@/store/actions'\nimport { getEstimateBarcodeLinked, linkingBarcodes } from '@/utils/api'\nimport { ELinkType } from '@/utils/enums'\nimport { IBarcode, IBarcodeDefinitionType } from 'smartbarcode-web-core/src/utils/types/index'\nimport { mixins, Options } from 'vue-class-component'\nimport { Watch } from 'vue-property-decorator'\nimport { RouteLocationNormalized, NavigationGuardNext } from 'vue-router'\n\ntype TLinkType = {\n type: ELinkType\n label: string\n operation: typeof LINK_TO | typeof BE_LINKED\n}\n\n@Options({\n components: {\n ScanArea,\n BarcodeLabelList,\n BarcodeSymbologiesSelection,\n BulkScanSwitchButton,\n ScannedValueInput,\n },\n name: 'BarcodeLinkScan',\n})\nexport default class BarcodeLinkScan extends mixins(MultipleBarcodeScanMixin) {\n loading = false\n dialogVisible = false\n checkScannedBarcode = false\n children = [] as IBarcode[]\n estimateLinkedCount = 0\n isReadyToScan = true\n\n async created() {\n this.loading = true\n await this.getBarcodeInfo()\n const { count } = await getEstimateBarcodeLinked(this.$route.params.barcodeId)\n this.estimateLinkedCount = count\n this.loading = false\n }\n\n async beforeRouteLeave(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n await this.onLeaveGuard(to, from, next)\n }\n\n async getBarcodeInfo() {\n if (this.$route.params?.barcodeId && this.$route.params?.project) {\n await this.$store.dispatch(FETCH_BARCODE, { id: this.$route.params?.barcodeId })\n }\n }\n\n get barcode() {\n return this.$store.state.barcode.barcode\n }\n\n onCheckScannedBarcode() {\n this.checkScannedBarcode = true\n this.dialogVisible = true\n }\n\n onCloseDialog() {\n this.dialogVisible = false\n this.checkScannedBarcode = false\n }\n\n barcodeTypeInfo(barcodeType: string): Record {\n return this.$store.state.project?.details?.barcodeTypes[barcodeType]\n }\n\n async validateBarcode(resultScanned: IBarcode) {\n if (this.barcode.id === resultScanned.id) throw this.$t('barcode_linking_by_itself_error')\n\n const currentProjectId = this.$store.state.project.details.id\n const scannedBCProjectId = resultScanned.projectId\n if (currentProjectId !== scannedBCProjectId) throw this.$t('scanned_barcode_not_same_project')\n\n if (!resultScanned.isActivated) throw this.$t('barcode not activated')\n\n const bcTypeInfo = this.barcodeTypeInfo(resultScanned.barcodeType)\n if (!bcTypeInfo.allowToBeLinked) throw this.$t('barcode_linking_not_allow')\n\n const data = {\n barcodeId: this.barcode?.id,\n targetBarcodeIds: [resultScanned?.id],\n isDryRun: true,\n }\n\n await linkingBarcodes(this.linkType.type, data)\n }\n\n get linkType(): TLinkType {\n return this.$route.name === `${ELinkType.LINK_TO}-scan`\n ? { type: ELinkType.LINK_TO, label: this.$t('linking.link_to_read_result'), operation: LINK_TO }\n : { type: ELinkType.BE_LINKED, label: this.$t('linking.be_linked_read_result'), operation: BE_LINKED }\n }\n\n forward() {\n this.$store.dispatch(SAVE_SCANNED_BARCODES, this.barcodes)\n this.$router.push({\n name: 'scanned-barcode-list',\n params: {\n title: this.linkType.label,\n operation: this.linkType.operation,\n },\n })\n }\n\n async handleCompleteScan() {\n if (!this.isMultipleScan || this.valueCode.trim() === '') {\n return\n }\n\n this.handleGotScanBarcode(this.valueCode)\n }\n}\n","import { render } from \"./BarcodeLinkScan.vue?vue&type=template&id=72493f40&scoped=true\"\nimport script from \"./BarcodeLinkScan.vue?vue&type=script&lang=ts\"\nexport * from \"./BarcodeLinkScan.vue?vue&type=script&lang=ts\"\n\nimport \"./BarcodeLinkScan.vue?vue&type=style&index=0&id=72493f40&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-72493f40\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BarcodeUnpairScan.vue?vue&type=style&index=0&id=76df1f4e&lang=scss&scoped=true\""],"sourceRoot":""}