chenhaozhe
2025-07-31 548af6a6faffe9ea0e0f8ed33b86835acf447a4e
修改商品条码打印
1个文件已修改
1279 ■■■■ 已修改文件
pages/tiaomadaying/tiaomadaying.vue 1279 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tiaomadaying/tiaomadaying.vue
@@ -1,680 +1,703 @@
<template>
    <view class="container">
        <view class="content">
            <view class="header">基本信息</view>
            <view class="items">
                <view class="item">
                    <view class="left">条码编号:</view>
                    <view class="right barcode">
                        <input :focus="HBarCodeFocus" name="HBarCode" v-model="lailiaoInfo.barCodeNo"
                            @focus="lailiaoInfo.barCodeNo = ''" @confirm="barCodeEntryHandler(lailiaoInfo.barCodeNo)"
                            placeholder="请扫描商品条码" />
                    </view>
                    <view>
                        <uni-icons type="scan"
                            style="background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;font-weight: 500;"
                            size="20" @click="toScanCode"></uni-icons>
                    </view>
                </view>
                <view class="item">
                    <view class="left">源单号:</view>
                    <view class="right">
                        <input name="HBillNo" disabled v-model="lailiaoInfo.HBillNo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">源单行号:</view>
                    <view class="right">
                        <input name="HBillLineNo" disabled v-model="lailiaoInfo.HBillLineNo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">物料编码:</view>
                    <view class="right">
                        <input name="HMaterNo" disabled v-model="lailiaoInfo.HMaterNumber" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">物料名称:</view>
                    <view class="right">
                        <input name="HMaterName" disabled v-model="lailiaoInfo.HMaterName" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">规格型号:</view>
                    <view class="right">
                        <input name="HMaterType" disabled v-model="lailiaoInfo.HMaterModel" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">批次:</view>
                    <view class="right">
                        <input name="HBatchNo" disabled v-model="lailiaoInfo.HBatchNo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">数量:</view>
                    <view class="right">
                        <input name="HQty" disabled v-model="lailiaoInfo.HQty" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">MTO号:</view>
                    <view class="right">
                        <input name="HMTONo" disabled v-model="lailiaoInfo.HMTONo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">供应商:</view>
                    <view class="right">
                        <input name="HSupName" disabled v-model="lailiaoInfo.HSupName" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">供应商简称:</view>
                    <view class="right">
                        <input name="HSupNameShort" disabled v-model="lailiaoInfo.HSupNameShort" />
                    </view>
                </view>
            </view>
        </view>
        <view class="operation-zone">
            <button class="btn-c" @click="GenereateBarCode">生成</button>
            <button class="btn-c" :disabled="buttonStatus.btn2 == false" @click="print">打印</button>
            <view></view>
            <button class="btn-c" @click="setClearLailiaoInfo">新增</button>
            <button class="btn-c" @click="exit">退出</button>
        </view>
        <labelPrinterComponentVue ref="labelPrinter" :printInfo="printInfo" :printMode="'cpcl'">
        </labelPrinterComponentVue>
    </view>
    <view class="container">
        <view class="content">
            <view class="header">基本信息</view>
            <view class="items">
                <view class="item">
                    <view class="left">条码编号:</view>
                    <view class="right barcode">
                        <input :focus="HBarCodeFocus" name="HBarCode" v-model="lailiaoInfo.barCodeNo"
                            @focus="lailiaoInfo.barCodeNo = ''" @confirm="barCodeEntryHandler(lailiaoInfo.barCodeNo)"
                            placeholder="请扫描商品条码" />
                    </view>
                    <view>
                        <uni-icons type="scan"
                            style="background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;font-weight: 500;"
                            size="20" @click="toScanCode"></uni-icons>
                    </view>
                </view>
                <view class="item">
                    <view class="left">源单号:</view>
                    <view class="right">
                        <input name="HBillNo" disabled v-model="lailiaoInfo.HBillNo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">源单行号:</view>
                    <view class="right">
                        <input name="HBillLineNo" disabled v-model="lailiaoInfo.HBillLineNo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">物料编码:</view>
                    <view class="right">
                        <input name="HMaterNo" disabled v-model="lailiaoInfo.HMaterNumber" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">物料名称:</view>
                    <view class="right">
                        <input name="HMaterName" disabled v-model="lailiaoInfo.HMaterName" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">规格型号:</view>
                    <view class="right">
                        <input name="HMaterType" disabled v-model="lailiaoInfo.HMaterModel" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">批次:</view>
                    <view class="right">
                        <input name="HBatchNo" disabled v-model="lailiaoInfo.HBatchNo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">数量:</view>
                    <view class="right">
                        <input name="HQty" disabled v-model="lailiaoInfo.HQty" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">MTO号:</view>
                    <view class="right">
                        <input name="HMTONo" disabled v-model="lailiaoInfo.HMTONo" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">供应商:</view>
                    <view class="right">
                        <input name="HSupName" disabled v-model="lailiaoInfo.HSupName" />
                    </view>
                </view>
                <view class="item">
                    <view class="left">供应商简称:</view>
                    <view class="right">
                        <input name="HSupNameShort" disabled v-model="lailiaoInfo.HSupNameShort" />
                    </view>
                </view>
            </view>
        </view>
        <view class="operation-zone">
            <button class="btn-c" :disabled="buttonStatus.btn1" @click="GenereateBarCode">生成</button>
            <button class="btn-c" :disabled="buttonStatus.btn2" @click="print">打印</button>
            <view></view>
            <button class="btn-c" @click="setClearLailiaoInfo">新增</button>
            <button class="btn-c" @click="exit">退出</button>
        </view>
        <labelPrinterComponentVue ref="labelPrinter" :printInfo="printInfo" :printMode="'cpcl'">
        </labelPrinterComponentVue>
    </view>
</template>
<script>
    import labelPrinterComponentVue from '../../components/labelPrinterComponent/labelPrinterComponent.vue';
    import {
        CBar,
        CBox,
        CForm,
        CImage,
        CLine,
        CCodeRotation,
        CCodeType,
        CPage,
        CText,
        CFont,
        CBold,
        CRotation,
        CInverse,
        CMag,
        CQRCode,
        CCorrectLevel,
        CSN,
        CStatus,
        CPCL,
    } from "@psdk/cpcl";
    import {
        CommonUtils
    } from '../../utils/common';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    export default {
        data() {
            return {
                HBarCodeFocus: false,
    import labelPrinterComponentVue from '../../components/labelPrinterComponent/labelPrinterComponent.vue';
    import {
        CBar,
        CBox,
        CForm,
        CImage,
        CLine,
        CCodeRotation,
        CCodeType,
        CPage,
        CText,
        CFont,
        CBold,
        CRotation,
        CInverse,
        CMag,
        CQRCode,
        CCorrectLevel,
        CSN,
        CStatus,
        CPCL,
    } from "@psdk/cpcl";
    import {
        CommonUtils
    } from '../../utils/common';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    export default {
        data() {
            return {
                HBarCodeFocus: false,
                printInfo: "",
                userInfo: getUserInfo(),
                buttonStatus: {
                    btn1: true,
                    btn2: false
                },
                barCodeMeta: '',
                generatedBarCode: '',
                lailiaoInfo: {
                    HMainID: '',
                    HSubID: '',
                    HOrderBillNo: '',
                    HMaterID: '',
                    barCodeNo: '',
                    HBillNo: '',
                    HBillLineNo: '',
                    HMaterNumber: '',
                    HMaterName: '',
                    HMaterModel: '',
                    HBatchNo: '',
                    HQty: '',
                    HMTONo: '',
                    HSupName: '',
                    HSupNameShort: '',
                    HMinQty: '',
                    HBQty: '',
                    HSupID: '',
                    HUnitID: '',
                }
            };
        },
        components: {
            labelPrinterComponentVue
        },
        onLoad() {
            this.HBarCodeFocus = true
        },
        methods: {
            async refreshBarcodeState() {
                this.HBarCodeFocus = false
                await this.$nextTick(() => {
                    this.HBarCodeFocus = true
                    this.lailiaoInfo.barCodeNo = ""
                })
            },
            async print() {
                if (this.$printer.isConnected() === false) {
                    this.$refs.labelPrinter.openPopup()
                } else {
                    // this.printInfo = async () => {
                    //     let cpcl = await this.$printer.cpcl().clear()
                    //         .page(new CPage({
                    //             width: 608,
                    //             height: 400
                    //         }))
                    //         .qrcode(new CQRCode({
                    //             x: 500,
                    //             y: 30,
                    //             width: 3,
                    //             content: this.generatedBarCode,
                    //             codeRotation: CCodeRotation.ROTATION_0,
                    //             level: CCorrectLevel.L
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 30,
                    //             content: "供应商: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 80,
                    //             content: "供应商料号: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 130,
                    //             content: "物料编码: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 180,
                    //             content: "物料分组: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 300,
                    //             y: 180,
                    //             content: "规格型号: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 230,
                    //             content: "数量: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 300,
                    //             y: 230,
                    //             content: "日期: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 280,
                    //             content: "检验员: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 300,
                    //             y: 280,
                    //             content: "计划跟踪号: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 330,
                    //             content: "检验结果: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .box(new CBox({
                    //             topLeftX: 260,
                    //             topLeftY: 320,
                    //             bottomRightX: 280,
                    //             bottomRightY: 340,
                    //             lineWidth: 4,
                    //         }))
                    //         .text(new CText({
                    //             x: 290,
                    //             y: 320,
                    //             content: "合格",
                    //             font: CFont.TSS24
                    //         }))
                    //         .box(new CBox({
                    //             topLeftX: 360,
                    //             topLeftY: 320,
                    //             bottomRightX: 380,
                    //             bottomRightY: 340,
                    //             lineWidth: 4,
                    //         }))
                    //         .text(new CText({
                    //             x: 390,
                    //             y: 320,
                    //             content: "不合格",
                    //             font: CFont.TSS24
                    //         }))
                    //         .box(new CBox({
                    //             topLeftX: 480,
                    //             topLeftY: 320,
                    //             bottomRightX: 500,
                    //             bottomRightY: 340,
                    //             lineWidth: 4,
                    //         }))
                    //         .text(new CText({
                    //             x: 510,
                    //             y: 320,
                    //             content: "特采",
                    //             font: CFont.TSS24
                    //         }))
                    //         .form(new CForm())
                    //         .print();
                    //     console.log(cpcl.command().string())
                    //     return cpcl.command().binary()
                    // }
                    // await this.$nextTick(() => {
                    //     this.$refs.labelPrinter.execPrint()
                    // })
                    // T 24 0 300 280 计划跟踪号: ${this.lailiaoInfo.HMTONo || ''}
                    this.printInfo = `! 0 200 200 400 1
                printInfo: "",
                userInfo: getUserInfo(),
                buttonStatus: {
                    btn1: true,
                    btn2: true
                },
                barCodeMeta: '',
                generatedBarCode: '',
                lailiaoInfo: {
                    HMainID: '',
                    HSubID: '',
                    HOrderBillNo: '',
                    HMaterID: '',
                    barCodeNo: '',
                    HBillNo: '',
                    HBillLineNo: '',
                    HMaterNumber: '',
                    HMaterName: '',
                    HMaterModel: '',
                    HBatchNo: '',
                    HQty: '',
                    HMTONo: '',
                    HSupName: '',
                    HSupNameShort: '',
                    HMinQty: '',
                    HBQty: '',
                    HSupID: '',
                    HUnitID: '',
                }
            };
        },
        components: {
            labelPrinterComponentVue
        },
        onLoad() {
            this.HBarCodeFocus = true
        },
        methods: {
            async refreshBarcodeState() {
                this.HBarCodeFocus = false
                await this.$nextTick(() => {
                    this.HBarCodeFocus = true
                    this.lailiaoInfo.barCodeNo = ""
                })
            },
            async print() {
                if (this.$printer.isConnected() === false) {
                    this.$refs.labelPrinter.openPopup()
                } else {
                    // this.printInfo = async () => {
                    //     let cpcl = await this.$printer.cpcl().clear()
                    //         .page(new CPage({
                    //             width: 608,
                    //             height: 400
                    //         }))
                    //         .qrcode(new CQRCode({
                    //             x: 500,
                    //             y: 30,
                    //             width: 3,
                    //             content: this.generatedBarCode,
                    //             codeRotation: CCodeRotation.ROTATION_0,
                    //             level: CCorrectLevel.L
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 30,
                    //             content: "供应商: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 80,
                    //             content: "供应商料号: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 130,
                    //             content: "物料编码: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 180,
                    //             content: "物料分组: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 300,
                    //             y: 180,
                    //             content: "规格型号: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 230,
                    //             content: "数量: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 300,
                    //             y: 230,
                    //             content: "日期: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 280,
                    //             content: "检验员: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 300,
                    //             y: 280,
                    //             content: "计划跟踪号: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .text(new CText({
                    //             x: 30,
                    //             y: 330,
                    //             content: "检验结果: ",
                    //             font: CFont.TSS24
                    //         }))
                    //         .box(new CBox({
                    //             topLeftX: 260,
                    //             topLeftY: 320,
                    //             bottomRightX: 280,
                    //             bottomRightY: 340,
                    //             lineWidth: 4,
                    //         }))
                    //         .text(new CText({
                    //             x: 290,
                    //             y: 320,
                    //             content: "合格",
                    //             font: CFont.TSS24
                    //         }))
                    //         .box(new CBox({
                    //             topLeftX: 360,
                    //             topLeftY: 320,
                    //             bottomRightX: 380,
                    //             bottomRightY: 340,
                    //             lineWidth: 4,
                    //         }))
                    //         .text(new CText({
                    //             x: 390,
                    //             y: 320,
                    //             content: "不合格",
                    //             font: CFont.TSS24
                    //         }))
                    //         .box(new CBox({
                    //             topLeftX: 480,
                    //             topLeftY: 320,
                    //             bottomRightX: 500,
                    //             bottomRightY: 340,
                    //             lineWidth: 4,
                    //         }))
                    //         .text(new CText({
                    //             x: 510,
                    //             y: 320,
                    //             content: "特采",
                    //             font: CFont.TSS24
                    //         }))
                    //         .form(new CForm())
                    //         .print();
                    //     console.log(cpcl.command().string())
                    //     return cpcl.command().binary()
                    // }
                    // await this.$nextTick(() => {
                    //     this.$refs.labelPrinter.execPrint()
                    // })
                    // T 24 0 300 280 计划跟踪号: ${this.lailiaoInfo.HMTONo || ''}
                    this.printInfo = `! 0 200 200 400 1
PAGE-WIDTH 608
SETQRVER 3
B QR 470 30 M 4 U 5
B QR 480 30 M 4 U 4
LA,${this.lailiaoInfo.barCodeNo}
ENDQR
T 24 0 10 30 供应商: ${this.lailiaoInfo.HSupName}
T 55 0 10 55 (Supplier)
T 24 0 10 80 供应商料号:  ${this.lailiaoInfo.HMaterNumber}
T 55 0 10 105 (Supplier Sku No.)
T 24 0 10 130 物料名称: ${this.lailiaoInfo.HMaterName}
T 55 0 5 155 (Material Code)
T 24 0 300 130 款号:
T 55 0 300 155 (eng)
T 24 0 5 180 分组: ${this.lailiaoInfo.HBatchNo}
T 55 0 5 205 (Group)
T 24 0 300 180 规格: ${this.lailiaoInfo.HMaterModel}
T 55 0 300 205 (SKU NO.)
T 24 0 10 70 供应商料号:  ${this.lailiaoInfo.HMaterNumber}
T 55 0 10 95 (Supplier Sku No.)
T 24 0 10 110 物料名称: ${this.lailiaoInfo.HMaterName}
T 55 0 10 135 (Material Code)
T 24 0 10 150 款号:
T 55 0 10 175 (eng)
T 24 0 300 150 款号:
T 55 0 300 175 (eng)
T 24 0 10 190 分组: ${this.lailiaoInfo.HBatchNo}
T 55 0 10 215 (Group)
T 24 0 300 190 规格: ${this.lailiaoInfo.HMaterModel}
T 55 0 300 215 (SKU NO.)
T 24 0 10 230 数量:  ${this.lailiaoInfo.HQty} (${this.lailiaoInfo.HPcsName})
T 55 0 5 255 (Quantity)
T 55 0 10 255 (Quantity)
T 24 0 300 230 日期: ${this.lailiaoInfo.HDate}
T 55 0 300 255 (Date) 
T 24 0 5 280 检验员:
T 55 0 5 305 (QC)
T 24 0 300 280 采购单号: ${this.lailiaoInfo.HBillNo || ''}
T 55 0 300 305 (Purchase Order No.)
T 24 0 5 330 检验结果:
T 55 0 5 355 (Inspection status)
BOX 240 330 260 350 4
T 24 0 270 330 合格
T 55 0 250 355 (Pass)
BOX 340 330 360 350 4
T 24 0 370 330 不合格
T 55 0 370 355 (Fail)
BOX 460 330 480 350 4
T 24 0 490 330 特采
T 55 0 440 355 (Spec. accepted)
T 24 0 10 270 检验员:
T 55 0 10 295 (QC)
T 24 0 300 270 采购单号: ${this.lailiaoInfo.HBillNo || ''}
T 55 0 300 295 (Purchase Order No.)
T 24 0 10 310 检验结果:
T 55 0 10 335 (Inspection status)
BOX 240 310 260 330 4
T 24 0 270 310 合格
T 55 0 250 335 (Pass)
BOX 340 310 360 330 4
T 24 0 370 310 不合格
T 55 0 370 335 (Fail)
BOX 460 310 480 330 4
T 24 0 490 310 特采
T 55 0 440 335 (Spec. accepted)
FORM
PRINT`
                    await this.$nextTick(() => {
                        this.$refs.labelPrinter.execPrint()
                    })
                }
            },
            setLailiaoInfo(data, row) {
                if (row > data.length) {
                    CommonUtils.playSound(0)
                    return uni.showToast({
                        icon: 'none',
                        title: '查询的单据号不存在...'
                    })
                    await this.$nextTick(() => {
                        this.$refs.labelPrinter.execPrint()
                    })
                }
            },
            setLailiaoInfo(data, row) {
                if (row > data.length) {
                    CommonUtils.playSound(0)
                    return uni.showToast({
                        icon: 'none',
                        title: '查询的单据号不存在...'
                    })
                }
                let d = data[row - 1]
                this.lailiaoInfo = Object.assign(this.lailiaoInfo, {
                    HMaterNumber: d['物料编码'],
                    HMaterName: d['物料名称'],
                    HMaterModel: d['规格型号'],
                    HBatchNo: d['批号'],
                    HQty: d['数量'],
                    HMinQty: d['数量'],
                    HBQty: d['数量'],
                    HSupID: d['HSupID'],
                    HSupName: d['供应商'],
                    HUnitID: d['HUnitID'],
                    HSupNameShort: d['供应商'],
                    HMTONo: d['订单跟踪号'],
                    HMainID: d['linterid'],
                    HSubID: d['HEntryID'],
                    HMaterID: d['HMaterID'],
                })
                CommonUtils.playSound(1)
                this.buttonStatus.btn2 = true
            },
            setClearLailiaoInfo() {
                this.lailiaoInfo = {
                    HMainID: '',
                    HSubID: '',
                    HOrderBillNo: '',
                    HMaterID: '',
                    barCodeNo: '',
                    HBillNo: '',
                    HBillLineNo: '',
                    HMaterNumber: '',
                    HMaterName: '',
                    HMaterModel: '',
                    HBatchNo: '',
                    HQty: '',
                    HMTONo: '',
                    HSupName: '',
                    HSupNameShort: '',
                    HMinQty: '',
                    HBQty: '',
                }
                }
                let d = data[row - 1]
                this.lailiaoInfo = Object.assign(this.lailiaoInfo, {
                    HMaterNumber: d['物料编码'],
                    HMaterName: d['物料名称'],
                    HMaterModel: d['规格型号'],
                    HBatchNo: d['批号'],
                    HQty: d['数量'],
                    HMinQty: d['数量'],
                    HBQty: d['数量'],
                    HSupID: d['HSupID'],
                    HSupName: d['供应商'],
                    HUnitID: d['HUnitID'],
                    HSupNameShort: d['供应商'],
                    HMTONo: d['订单跟踪号'],
                    HMainID: d['linterid'],
                    HSubID: d['HEntryID'],
                    HMaterID: d['HMaterID'],
                })
                CommonUtils.playSound(1)
                this.buttonStatus.btn2 = true
            },
            setClearLailiaoInfo() {
                this.lailiaoInfo = {
                    HMainID: '',
                    HSubID: '',
                    HOrderBillNo: '',
                    HMaterID: '',
                    barCodeNo: '',
                    HBillNo: '',
                    HBillLineNo: '',
                    HMaterNumber: '',
                    HMaterName: '',
                    HMaterModel: '',
                    HBatchNo: '',
                    HQty: '',
                    HMTONo: '',
                    HSupName: '',
                    HSupNameShort: '',
                    HMinQty: '',
                    HBQty: '',
                }
                this.buttonStatus = {
                    btn1: true,
                    btn2: false
                }
            },
            barCodeEntryHandler(barCode) {
                if (CommonUtils.isEmpty(barCode) === false) {
                    console.log('条码内容:' + barCode);
                    this.lailiaoInfo.barCodeNo = barCode;
                    if (barCode.includes("@") === false) {
                        this.buttonStatus.btn2 = false
                        CommonUtils.playSound(0)
                        this.refreshBarcodeState()
                        return uni.showToast({
                            icon: 'none',
                            title: '条码格式错误,请重新扫描...'
                        })
                    }
                    let barCodeInfo = barCode.split("@")
                    let [PurchaseBillNo, Row] = barCodeInfo
                    this.lailiaoInfo.HBillNo = PurchaseBillNo,
                        this.lailiaoInfo.HBillLineNo = Row
                    console.log({
                        sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                        user: this.userInfo.Czymc,
                    })
                    CommonUtils.doRequest(
                        "/Cg_POOrderBill/list", {
                            sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                            user: this.userInfo.Czymc,
                        },
                        (res) => {
                            console.log('采购订单: ', res)
                            let {
                                data,
                                count
                            } = res.data
                            if (count > 0) {
                this.buttonStatus = {
                    btn1: true,
                    btn2: false
                }
            },
            barCodeEntryHandler(barCode) {
                if (CommonUtils.isEmpty(barCode) === false) {
                    console.log('条码内容:' + barCode);
                    this.lailiaoInfo.barCodeNo = barCode;
                    if (barCode.includes("@") === false) {
                        this.buttonStatus.btn2 = false
                        CommonUtils.playSound(0)
                        this.refreshBarcodeState()
                        return uni.showToast({
                            icon: 'none',
                            title: '条码格式错误,请重新扫描...'
                        })
                    }
                    let barCodeInfo = barCode.split("@")
                    let [PurchaseBillNo, Row] = barCodeInfo
                    this.lailiaoInfo.HBillNo = PurchaseBillNo,
                        this.lailiaoInfo.HBillLineNo = Row
                    console.log({
                        sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                        user: this.userInfo.Czymc,
                    })
                    CommonUtils.doRequest(
                        "/Cg_POOrderBill/list", {
                            sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                            user: this.userInfo.Czymc,
                        },
                        (res) => {
                            console.log('采购订单: ', res)
                            let {
                                data,
                                count,
                                Message
                            } = res.data
                            if (count > 0) {
                                this.setLailiaoInfo(data, Row)
                                this.setLailiaoInfo(data, Row)
                                // uni.showToast({
                                //     icon: 'none',
                                //     title: Message
                                // })
                                this.buttonStatus.btn1 = false
                            } else {
                                CommonUtils.playSound(0)
                                this.refreshBarcodeState()
                            }
                        },
                        (error) => {
                            CommonUtils.playSound(0)
                            this.refreshBarcodeState()
                            this.buttonStatus.btn2 = false
                        }
                    )
                            } else {
                                CommonUtils.playSound(0)
                                this.refreshBarcodeState()
                                // uni.showToast({
                                //     icon: 'none',
                                //     title: Message
                                // })
                                this.buttonStatus.btn1 = true
                                this.buttonStatus.btn2 = true
                            }
                        },
                        (error) => {
                            CommonUtils.playSound(0)
                            this.refreshBarcodeState()
                            this.buttonStatus.btn1 = true
                            this.buttonStatus.btn2 = true
                        }
                    )
                }
            },
            toScanCode() {
                var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
                mpaasScanModule.mpaasScan({
                    'hideAlbum': true,
                    'timeoutInterval':'10', //超时时间
                    'timeoutText':'未识别到二维码' //超时提醒
                },(ret) => {
                    console.log(ret.resp_result)
                    if (CommonUtils.isEmpty(ret.resp_result) === false) {
                        console.log('条码内容:' + ret.resp_result);
                        this.lailiaoInfo.barCodeNo = ret.resp_result;
                        if (ret.resp_result.includes("@") === false) {
                            return uni.showToast({
                                icon: 'none',
                                title: '条码格式错误,请重新扫描...'
                            })
                        }
                        let barCodeInfo = ret.resp_result.split("@")
                        let [PurchaseBillNo, Row] = barCodeInfo
                        this.lailiaoInfo.HBillNo = PurchaseBillNo,
                            this.lailiaoInfo.HBillLineNo = Row
                        console.log({
                            sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                            user: this.userInfo.Czymc,
                        })
                        CommonUtils.doRequest(
                            "/Cg_POOrderBill/list", {
                                sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                                user: this.userInfo.Czymc,
                            },
                            (res) => {
                                console.log('采购订单: ', res)
                                let {
                                    data,
                                    count
                                } = res.data
                                if (count > 0) {
                                    this.setLailiaoInfo(data, Row)
                                }
                            },
                            (error) => {
                            }
                        )
                    }
                })
            },
            GenereateBarCode() {
                let HBarCodeNoStr =
                    `${this.lailiaoInfo.HBillNo}@${this.lailiaoInfo.HBillLineNo}@${this.lailiaoInfo.HMaterNumber}@${this.lailiaoInfo.HMTONo}@${this.lailiaoInfo.HQty}@${this.lailiaoInfo.HSupID}`
                let sMain = []
                sMain[0] = this.lailiaoInfo
                let sMainStr = JSON.stringify(sMain);
                //获取选择的组织
                let HOrgType = uni.getStorageSync('Organization');
                //获取选择的工厂代码
                let CampanyName = "xxx";
                //获取选择的源单类型
                let HSourceBillType = "来料通知单";
                //获取选择的条码类型
                let HSelectBarCodeType = "唯一条码";
                //获取当前登录人员
                let UserName = uni.getStorageSync('HUserName');
                let sMainSub = sMainStr + ';' + HOrgType + ';' + HSourceBillType + ';' + HSelectBarCodeType + ';' +
                    CampanyName + ';' + UserName + ';' + HBarCodeNoStr;
                }
            },
            toScanCode() {
                var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
                mpaasScanModule.mpaasScan({
                    'hideAlbum': true,
                    'timeoutInterval': '10', //超时时间
                    'timeoutText': '未识别到二维码' //超时提醒
                }, (ret) => {
                    console.log(ret.resp_result)
                    if (CommonUtils.isEmpty(ret.resp_result) === false) {
                        console.log('条码内容:' + ret.resp_result);
                        this.lailiaoInfo.barCodeNo = ret.resp_result;
                        if (ret.resp_result.includes("@") === false) {
                            return uni.showToast({
                                icon: 'none',
                                title: '条码格式错误,请重新扫描...'
                            })
                        }
                        // let barCodeInfo = ret.resp_result.split("@")
                        // let [PurchaseBillNo, Row] = barCodeInfo
                        // this.lailiaoInfo.HBillNo = PurchaseBillNo,
                        //     this.lailiaoInfo.HBillLineNo = Row
                        // console.log({
                        //     sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                        //     user: this.userInfo.Czymc,
                        // })
                        // CommonUtils.doRequest(
                        //     "/Cg_POOrderBill/list", {
                        //         sWhere: ` and 单据号 = '${PurchaseBillNo}'`,
                        //         user: this.userInfo.Czymc,
                        //     },
                        //     (res) => {
                        //         console.log('采购订单: ', res)
                        //         let {
                        //             data,
                        //             count
                        //         } = res.data
                        //         if (count > 0) {
                        //             this.setLailiaoInfo(data, Row)
                        //         }
                        //     },
                        //     (error) => {
                CommonUtils.doRequest(
                    "/Sc_BarCode/SaveBarCode_NoGenerate", {
                        msg: sMainSub,
                        CampanyName: CampanyName
                    },
                    (res) => {
                        console.log(res)
                        let {
                            data,
                            count,
                            Message
                        } = res.data
                        if (count > 0) {
                            this.buttonStatus = {
                                btn1: false,
                                btn2: true
                            }
                            this.generatedBarCode = data[0]['条码编号']
                            console.log(this.generatedBarCode)
                            uni.showToast({
                                icon: 'none',
                                title: Message
                            })
                        } else {
                            uni.showToast({
                                icon: 'none',
                                title: Message
                            })
                        }
                    },
                    (err) => {
                        //     }
                        // )
                        this.barCodeEntryHandler(ret.resp_result)
                    }
                    },
                    "POST"
                )
            },
            exit() {
                uni.navigateBack()
            }
        }
    }
                })
            },
            GenereateBarCode() {
                let HBarCodeNoStr =
                    `${this.lailiaoInfo.HBillNo}@${this.lailiaoInfo.HBillLineNo}@${this.lailiaoInfo.HMaterNumber || ''}@${this.lailiaoInfo.HMTONo || ''}@${this.lailiaoInfo.HQty || ''}@${this.lailiaoInfo.HSupID || ''}`
                let sMain = []
                sMain[0] = this.lailiaoInfo
                let sMainStr = JSON.stringify(sMain);
                //获取选择的组织
                let HOrgType = uni.getStorageSync('Organization');
                //获取选择的工厂代码
                let CampanyName = "xxx";
                //获取选择的源单类型
                let HSourceBillType = "采购订单";
                //获取选择的条码类型
                let HSelectBarCodeType = "品种条码";
                //获取当前登录人员
                let UserName = uni.getStorageSync('HUserName');
                let sMainSub = sMainStr + ';' + HOrgType + ';' + HSourceBillType + ';' + HSelectBarCodeType + ';' +
                    CampanyName + ';' + UserName + ';' + HBarCodeNoStr;
                CommonUtils.doRequest(
                    "/Sc_BarCode/SaveBarCode_NoGenerate", {
                        msg: sMainSub,
                        CampanyName: CampanyName
                    },
                    (res) => {
                        console.log(res)
                        let {
                            data,
                            count,
                            Message
                        } = res.data
                        if (count > 0) {
                            this.buttonStatus = {
                                btn1: true,
                                btn2: false
                            }
                            // this.generatedBarCode = data[0]['条码编号']/
                            // console.log(this.generatedBarCode)
                            uni.showToast({
                                icon: 'none',
                                title: Message
                            })
                            this.buttonStatus = {
                                btn1: true,
                                btn2: false
                            }
                        } else {
                            uni.showToast({
                                icon: 'none',
                                title: Message
                            })
                        }
                    },
                    (err) => {
                        uni.showToast({
                            icon: 'none',
                            title: err
                        })
                    },
                    "POST"
                )
            },
            exit() {
                uni.navigateBack()
            }
        }
    }
</script>
<style lang="scss" scoped>
    * {
        box-sizing: border-box;
    }
    * {
        box-sizing: border-box;
    }
    input {
        padding: 8rpx 20rpx;
        font-size: 30rpx;
        line-height: 30rpx;
    }
    input {
        padding: 8rpx 20rpx;
        font-size: 30rpx;
        line-height: 30rpx;
    }
    .uni-input-input[disabled] {
        background-color: #e4e4e4;
    }
    .uni-input-input[disabled] {
        background-color: #e4e4e4;
    }
    .container {
        display: flex;
        flex-direction: column;
        height: 100vh;
        padding: 20rpx 0;
    .container {
        display: flex;
        flex-direction: column;
        height: 100vh;
        padding: 20rpx 0;
        .content {
            flex: 1;
            background-image: url('/static/svgs/folder_bg.svg');
            background-size: cover;
            padding: 20rpx;
        .content {
            flex: 1;
            background-image: url('/static/svgs/folder_bg.svg');
            background-size: cover;
            padding: 20rpx;
            .header {
                font-size: 30rpx;
            }
            .header {
                font-size: 30rpx;
            }
            .items {
                display: flex;
                flex-direction: column;
                gap: 10rpx;
                padding: 40rpx 0rpx;
            .items {
                display: flex;
                flex-direction: column;
                gap: 10rpx;
                padding: 40rpx 0rpx;
                .item {
                    display: flex;
                    flex-direction: row;
                    padding: 0 10rpx;
                    gap: 20rpx;
                    font-size: 30rpx;
                    // height: 1.5rem;
                    // justify-content: center;
                    align-items: center;
                .item {
                    display: flex;
                    flex-direction: row;
                    padding: 0 10rpx;
                    gap: 20rpx;
                    font-size: 30rpx;
                    // height: 1.5rem;
                    // justify-content: center;
                    align-items: center;
                    .left {
                        text-align: left;
                        width: 6rem;
                    }
                    .left {
                        text-align: left;
                        width: 6rem;
                    }
                    .right {
                        flex: 1;
                        height: 100%;
                        padding: 6rpx 0;
                        border-radius: 22rpx;
                        border: 1px solid #e4e4e4;
                        background-color: #e4e4e4;
                    .right {
                        flex: 1;
                        height: 100%;
                        padding: 6rpx 0;
                        border-radius: 22rpx;
                        border: 1px solid #e4e4e4;
                        background-color: #e4e4e4;
                        >input {
                            height: auto;
                        }
                        >input {
                            height: auto;
                        }
                    }
                    }
                    .barcode {
                        background-color: #fff !important;
                    }
                    .barcode {
                        background-color: #fff !important;
                    }
                }
            }
        }
                }
            }
        }
        .operation-zone {
            height: 3rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 30rpx;
            padding: 20rpx;
        .operation-zone {
            height: 3rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 30rpx;
            padding: 20rpx;
            >view {
                flex: 1;
            }
            >view {
                flex: 1;
            }
            >button {
                width: 4rem;
                padding: 0;
                font-size: 25rpx;
                border-radius: 50rpx;
                line-height: 66rpx;
                font-size: 28rpx;
            }
            >button {
                width: 4rem;
                padding: 0;
                font-size: 25rpx;
                border-radius: 50rpx;
                line-height: 66rpx;
                font-size: 28rpx;
            }
            >button[disabled] {
                background-color: #acacac;
                color: #fff;
            }
            >button[disabled] {
                background-color: #acacac;
                color: #fff;
            }
            .btn-a {
                background-color: #acacac;
                color: #fff;
            }
            .btn-a {
                background-color: #acacac;
                color: #fff;
            }
            .btn-b {
                background-color: #41a863;
                color: #fff;
            }
            .btn-b {
                background-color: #41a863;
                color: #fff;
            }
            .btn-c {
                background-color: #3a78ff;
                color: #fff;
            }
        }
    }
            .btn-c {
                background-color: #3a78ff;
                color: #fff;
            }
        }
    }
</style>