wtt
2025-08-08 eb9777587528f5dafd56fc397f7be3258c98de6e
pages/caigoudingdan/generate.vue
@@ -98,6 +98,7 @@
   export default {
      data() {
         return {
            billNo: '',
            lineNo: 0,
            printInfo: "",
            userInfo: getUserInfo(),
@@ -108,23 +109,33 @@
            hmaterid: '',
            codeGenComplete: false,
            baseInfo: {
               HBillNo: '',
               HMainID: '',
               HSupName: '',
               HSubID: '',
               HOrderBillNo: '',
               HMaterID: '',
               // barCodeNo: '',
               HBillNo: '',
               HBillLineNo: '',
               HMaterNumber: '',
               HMaterName: '',
               HMaterModel: '',
               HQty: '',
               HMTONo: '',
               HQty: '',
               HMinQty: '',
               HBQty: '',
               HSupID: '',
               HPcsName: '',
               HBatchNo: '',
               HQty: 0,
               HMTONo: '',
               HSupName: '',
               HSupNameShort: '',
               HMinQty: 0,
               HBQty: 0,
               HSupID: '',
               HUnitID: '',
               HDate: '',
               HSourceBillNo: '',
               HMaker: getUserInfo()["Czymc"],
               HSupNumber: '',
               HStyleNo: '',
               HGroup: '',
               HCustomNo: '',
            },
            sWhere: '',
            listData: [],
@@ -135,10 +146,9 @@
         labelPrinterComponentVue
      },
      onLoad(e) {
         console.log("页面传递参数: ",e)
         console.log("页面传递参数: ", e)
         this.OperationType = e.OperationType
         this.linterid = e.linterid
         this.hmaterid = e.hmaterid
         this.billNo = e.billNo
         this.lineNo = e.lineNo
         this.getData()
      },
@@ -146,8 +156,8 @@
         getData() {
            CommonUtils.doRequest(
               "/Cg_POOrderBill/list", {
                  sWhere: ` and hmainid = ${this.linterid} and HMaterID  = ${this.hmaterid}`,
                  user: this.userInfo.Czymc
                  sWhere: ` and 单据号 = '${this.billNo}' and 行号 = ${this.lineNo}`,
                  user: this.userInfo.Czymc,
               },
               (res) => {
                  console.log('采购订单: ', res)
@@ -156,22 +166,32 @@
                     count
                  } = res.data
                  if (count > 0) {
                     this.baseInfo = {
                        HMainID: data[0]['hmainid'],
                        HSubID: data[0]['HEntryID'],
                        HBillNo: data[0]['单据号'],
                        HMaterID: data[0]['HMaterID'],
                        HMaterNumber: data[0]['物料代码'],
                        HMaterName: data[0]['物料名称'],
                        HMaterModel: data[0]['规格型号'],
                        HQty: data[0]['数量'],
                        HMTONo: data[0]['计划跟踪号'],
                        HSupID: data[0]['HSupID'],
                        HBatchNo: data[0]['批号'],
                        HSupName: data[0]['供应商'],
                        HBatchNo: data[0]['批号'],
                        HDate: data[0]['日期'],
                     }
                     let d = data[0]
                     this.baseInfo = Object.assign(this.baseInfo, {
                        HMaterNumber: d['物料编码'],
                        HMaterName: d['物料名称'],
                        HMaterModel: d['规格型号'],
                        // HBatchNo: d['批号'],
                        HQty: d['数量'],
                        HMinQty: d['数量'],
                        HBQty: d['数量'],
                        HSupID: d['HSupID'],
                        HSupNumber: d['供应商代码'],
                        HSupName: d['供应商'],
                        HUnitID: d['HUnitID'],
                        HPcsName: d['计量单位'],
                        HSupNameShort: d['供应商'],
                        HMTONo: d['计划跟踪号'],
                        HMainID: d['hmainid'],
                        HSubID: d['HEntryID'],
                        HMaterID: d['HMaterID'],
                        HDate: d['日期'],
                        HStyleNo: d['款号'],
                        HGroup: d['分组'],
                        HCustomNo: d['客户编号']
                     })
                     console.log(this.baseInfo)
                     // CommonUtils.playSound(1)
                     this.listData = data
                  } else {
                     uni.showToast({
@@ -204,6 +224,9 @@
            if (this.$printer.isConnected() === false) {
               this.$refs.labelPrinter.openPopup()
            } else {
               let HBarCodeNoStr =
               `${this.baseInfo.HBillNo}@${this.baseInfo.HBillLineNo}@${this.baseInfo.HMaterNumber || ''}@${this.baseInfo.HMTONo || ''}@${this.baseInfo.HQty || 0}@${this.baseInfo.HSupNumber  || ''}`
               let pcsInfo = this.baseInfo.HPcsName ? '(' + this.baseInfo.HPcsName + ')' : ''
               let printContent = []
               let printInfoBuffer = []
               let count = 0
@@ -211,38 +234,42 @@
                  printContent.push(`! 0 200 200 400 1
PAGE-WIDTH 608
SETQRVER 3
B QR 500 30 M 2 U 3
LA,${listOne['条码编号']}
B QR 475 15 Q 0 U 3
LA,${HBarCodeNoStr}
ENDQR
T 24 0 10 30 供应商: ${this.baseInfo.HSupName}
T 24 0 10 55 (eng)
T 24 0 10 80 供应商料号:  ${this.baseInfo.HMaterNumber}
T 24 0 10 105 (eng)
T 24 0 10 130 物料名称: ${this.baseInfo.HMaterName}
T 24 0 5 155 (eng)
T 24 0 5 180 分组: ${this.baseInfo.HBatchNo}
T 24 0 5 205 (eng)
T 24 0 300 180 规格: ${this.baseInfo.HMaterModel}
T 24 0 300 205 (eng)
T 24 0 10 230 数量:  ${this.baseInfo.HQty} (${this.baseInfo.HPcsName})
T 24 0 5 255 (eng)
T 24 0 300 230 日期: ${this.baseInfo.HDate}
T 24 0 300 255 (eng)
T 24 0 5 280 检验员:
T 24 0 5 305 (eng)
T 24 0 300 280 采购单号: ${this.baseInfo.HBillNo || ''}
T 24 0 300 305 (eng)
T 24 0 5 330 检验结果:
T 24 0 5 355 (eng)
BOX 260 330 280 350 4
T 24 0 290 330 合格
T 24 0 290 355 (eng)
BOX 360 330 380 350 4
T 24 0 390 330 不合格
T 24 0 390 355 (eng)
BOX 480 330 500 350 4
T 24 0 510 330 特采
T 24 0 510 355 (eng)
T 24 0 0 30 供应商: ${this.baseInfo.HSupName}
T 55 0 0 55 (Supplier)
T 24 0 0 75 供应商料号:  ${this.baseInfo.HMaterNumber}
T 55 0 0 100 (Supplier Sku No.)
T 24 0 0 120 物料名称: ${this.baseInfo.HMaterName}
T 55 0 0 145 (Material Code)
T 24 0 0 165 款号: ${this.baseInfo.HStyleNo}
T 55 0 0 190 (Style No.)
T 24 0 300 165 客户编号: ${this.baseInfo.HCustomNo}
T 55 0 300 190 (Consumer No.)
T 24 0 0 210 分组: ${this.baseInfo.HGroup || ''}
T 55 0 0 235 (Group)
T 24 0 300 210 规格: ${this.baseInfo.HMaterModel}
T 55 0 300 235 (SKU NO.)
T 24 0 0 255 数量:  ${ parseFloat(this.baseInfo.HQty || 0).toFixed(0) } ${pcsInfo}
T 55 0 0 280 (Quantity)
T 24 0 300 255 日期: ${this.baseInfo.HDate || ''}
T 55 0 300 280 (Date)
T 24 0 0 300 检验员:
T 55 0 0 325 (QC)
T 24 0 300 300 采购单号: ${this.baseInfo.HBillNo || ''}
T 55 0 300 325 (Purchase Order No.)
T 24 0 0 345 检验结果:
T 55 0 0 370 (Inspection status)
BOX 240 345 260 365 4
T 24 0 270 345 合格
T 55 0 250 370 (Pass)
BOX 340 345 360 365 4
T 24 0 370 345 不合格
T 55 0 370 370 (Fail)
BOX 460 345 480 365 4
T 24 0 490 345 特采
T 55 0 440 370 (Spec. accepted)
FORM
PRINT`)
                  count++;
@@ -263,6 +290,8 @@
            }
         },
         getList() {
            let HBarCodeNoStr =
                `${this.baseInfo.HBillNo}@${this.baseInfo.HBillLineNo}@${this.baseInfo.HMaterNumber || ''}@${this.baseInfo.HMTONo || ''}@${this.baseInfo.HQty || 0}@${this.baseInfo.HSupNumber  || ''}`
            var sMain = []
            sMain[0] = this.baseInfo
            var sMainStr = JSON.stringify(sMain);
@@ -276,35 +305,55 @@
            var HSelectBarCodeType = "品种条码";
            //获取当前登录人员
            var UserName = uni.getStorageSync('HUserName');
            var sMainSub = sMainStr + ';' + HOrgType + ';' + HSourceBillType + ';' + HSelectBarCodeType + ';' +
               CampanyName + ';' + UserName;
            uni.request({
               url: this.serverUrl + '/Sc_BarCode/Sub_SaveBill',
               method: 'POST',
               data: {
                  msg: sMainSub,
                  CampanyName: CampanyName
               },
               success: (res) => {
                  if (res.data.count == 1) {
                     this.listData = res.data.data
            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.generatedBarCode = data[0]['条码编号']/
                        // console.log(this.generatedBarCode)
                        uni.showToast({
                            icon: 'none',
                            title: Message
                        })
                     this.codeGenComplete = true
                  } else {
                     this.codeGenComplete = false
                     uni.showToast({
                        title: res.data.Message,
                        icon: 'none'
                     })
                  }
               },
               fail: (res) => {
                  console.log(res);
                  uni.showToast({
                     title: '接口请求失败',
                     icon: 'none'
                  })
               },
            });
                        this.buttonStatus = {
                            btn1: true,
                            btn2: false
                        }
                    } else {
                        this.buttonStatus = {
                            btn1: false,
                            btn2: false
                        }
                        uni.showToast({
                            icon: 'none',
                            title: Message
                        })
                    }
                },
                (err) => {
                    this.buttonStatus = {
                        btn1: false,
                        btn2: false
                    }
                    uni.showToast({
                        icon: 'none',
                        title: err
                    })
                },
                "POST"
            )
         }
      }
   }