{"version":3,"sources":["webpack:///./src/views/keyenceHT/PairScan.vue?621f","webpack:///./src/views/BulkRecycle.vue?a3fe","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","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/BarcodeUnpairScan.vue?efcf","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/Scan.vue?e0a9","webpack:///./src/views/keyenceHT/LinkScan.vue?6c42","webpack:///./src/views/BarcodeLinkScan.vue?7e12","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/BarcodeLinkScan.vue","webpack:///./src/views/BarcodeLinkScan.vue?9829","webpack:///./src/views/BarcodeLinkScan.vue?b33c","webpack:///./src/views/PairScan.vue?1e51"],"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","playsinline","autoplay","style","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","rawValue","vidOff","symbology","isUserAutheticated","barcodeReaderType","SCANDIT","BARCODE_DETECTION","initScanditReader","initBarcodeReaderPolyFill","initZxingReader","replace","isRestrictedPage","meta","restricted","isAuth","redirectHome","processScannedText","document","getElementById","navigator","mediaDevices","getUserMedia","facingMode","aspectRatio","ideal","frameRate","max","stream","activeStreams","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","isGenerateBarcode","getters","BarcodeReaderMixin","IconInfo","BaseInput","listScannedResult","listScannedId","isUnpairAll","unpairChildrenIds","emits","linkType","label","BE_LINKED"],"mappings":"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","file":"js/scan.2c80b8f3.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!./PairScan.vue?vue&type=style&index=0&id=5ada5650&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=4419f199&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","\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=5ada5650&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=5ada5650&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-5ada5650\"\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=4419f199&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=4419f199&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4419f199\"\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=0d4f6280&lang=scss&scoped=true\"","\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 { EBCRType } from 'smartbarcode-web-core/src/utils/enums/mobileEnums'\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 barcodeDetectorPolyFillScanReader(result: DetectedBarcode[]) {\n this.isReadyToScan = true\n if (result.length < 1) return\n await this.handleScanResult((result[0].rawValue as string) || '')\n if (!this.isMultipleScan) {\n this.vidOff()\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 switch (this.barcodeReaderType as EBCRType) {\n case EBCRType.SCANDIT:\n await this.initScanditReader()\n break\n case EBCRType.BARCODE_DETECTION:\n await this.initBarcodeReaderPolyFill()\n break\n default:\n await promptVideoPermission()\n await this.initZxingReader()\n break\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 this.activeStreams.push(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(() => {\n this.isHandleMultipleScan = false\n })\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, isGenerateBarcode: 1 },\n })\n }\n }\n}\n","import { render } from \"./Scan.vue?vue&type=template&id=2e41ccee&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=2e41ccee&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-2e41ccee\"\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=2e41ccee&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!./BarcodeLinkScan.vue?vue&type=style&index=0&id=00466cc9&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, listScannedResult?: 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 listScannedId = [resultScanned?.id, ...(listScannedResult || []).map((result) => result?.id)]\n\n const data = {\n parentBarcodeId: this.parentBarcodeId,\n childrenBarcodeIds: listScannedId,\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=76270d77&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=76270d77&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-76270d77\"\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=0d4f6280&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=0d4f6280&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-0d4f6280\"\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 { 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, listScannedResult?: 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 listScannedId = [resultScanned?.id, ...(listScannedResult || []).map((result) => result?.id)]\n\n const data = {\n barcodeId: this.barcode?.id,\n targetBarcodeIds: listScannedId,\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=00466cc9&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=00466cc9&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-00466cc9\"\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=76270d77&lang=scss&scoped=true\""],"sourceRoot":""}