llj
2026-01-27 46f36432517b2e6dbfd3626cb38761881ffae8bd
pages/ZLGL/QualityReportStep/QualityReportStepBill.vue
@@ -7,6 +7,7 @@
            <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">基本信息</view>
            <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">扫描信息</view>
            <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">制单信息</view>
            <view :class="mainTabSelected == 4 ? 'selected' : ''" @tap="mainTabSelected = 4">其他信息</view>
         </view>
         <!-- 主表内容 -->
         <view class="bill-main-contents">
@@ -92,19 +93,7 @@
                     <input type="number" v-model="hform.HCheckQty" :disabled="hasCheckQty" />
                  </view>
               </view>
               <view class="form-item">
                  <view class="left">生产班组</view>
                  <view class="right-select">
                     <zxz-uni-data-select
                        v-model="hform.HGroupID"
                        dataKey="班组名称"
                        dataValue="HItemID"
                        :filterable="true"
                        :localdata="HGroupList"
                        :clear="false"
                     ></zxz-uni-data-select>
                  </view>
               </view>
               <view class="form-item">
                  <view class="left">检验员</view>
                  <view class="right-select">
@@ -127,19 +116,7 @@
                  
               </view>
               
               <view class="form-item">
                  <view class="left">生产资源</view>
                  <view class="right-select">
                     <zxz-uni-data-select
                        v-model="hform.HSourceID"
                        dataKey="生产资源名称"
                        dataValue="HItemID"
                        :filterable="true"
                        :localdata="HSourceList"
                        :clear="false"
                     ></zxz-uni-data-select>
                  </view>
               </view>
               
               <view class="form-item">
                  <view class="left">备注</view>
@@ -225,6 +202,35 @@
                  <view class="left">作废日期</view>
                  <view class="right disabled">
                     <input type="text" :value="hform.HDeleteDate" disabled />
                  </view>
               </view>
            </view>
            <!-- 其他信息 -->
            <view class="bill-main-content" v-if="mainTabSelected == 4">
               <view class="form-item">
                  <view class="left">生产班组</view>
                  <view class="right-select">
                     <zxz-uni-data-select
                        v-model="hform.HGroupID"
                        dataKey="班组名称"
                        dataValue="HItemID"
                        :filterable="true"
                        :localdata="HGroupList"
                        :clear="false"
                     ></zxz-uni-data-select>
                  </view>
               </view>
               <view class="form-item">
                  <view class="left">生产资源</view>
                  <view class="right-select">
                     <zxz-uni-data-select
                        v-model="hform.HSourceID"
                        dataKey="生产资源名称"
                        dataValue="HItemID"
                        :filterable="true"
                        :localdata="HSourceList"
                        :clear="false"
                     ></zxz-uni-data-select>
                  </view>
               </view>
            </view>
@@ -349,6 +355,7 @@
               HCheckQty: 0,
               //源单信息
               HSourceBillQty: 0,
               HSourceBillNo:'',
               HSourceBillType: "3772",
               //流转卡信息
               HICMOBillNo: "",
@@ -461,12 +468,18 @@
         toScanCode() {
            MpaasScan.scanCode((res) => {
               if (res) {
                  this.getSourceBillInfo(HBarCode);
                  this.getSourceBillInfo(res);
               }
            });
         },
         async getGy_BadReasonList() {
            let sWhere = ` and HUSEORGID = '${uni.getStorageSync('OrganizationID')}' and ISNULL(审核人,'')  != '' order by 不良原因代码`
            let sWhere = ` and HUSEORGID = '${uni.getStorageSync('OrganizationID')}' and ISNULL(审核人,'')  != '' `
            if (this.serverUrl == 'http://122.228.39.234:7177/API/') {
                //海诚根据物料分组设置不良原因
               sWhere += " and 不良类型 like '%成品%' order by 不良原因代码"
            }else{
               sWhere += " order by 不良原因代码"
            }
            let res = await CommonUtils.doRequest2Async({
               url: "/Gy_BadReason/list",
               data: {
@@ -511,7 +524,8 @@
                  HBarCode: HBarCode,
                  HInterID: 0,
                  HEntryID: 0,
                  Mode: 1 //扫码模式
                  Mode: 1 ,//扫码模式
                  user:getUserInfo()["Czymc"]
               }
            })
         
@@ -522,12 +536,19 @@
               count
            } = res.data
            if (count == 1) {
               if(data[0]['HBack']==1){
                  CommonUtils.showTips({
                     title: '温馨提示',
                     message: data[0]['HBackRemark']
                  })
                  return;
               }
               this.hform.HMaterID = data[0]['HMaterID']
               this.hform.HMaterName = data[0]['产品名称']
               this.hform.HMaterNumber = data[0]['产品代码']
               //源单信息
               this.hform.HMainSourceBillNo = data[0]['HBillNo']
               this.hform.HSourceBillNo = data[0]['HBillNo']
               this.hform.HMainSourceBillNo = data[0]['单据号']
               this.hform.HSourceBillNo = data[0]['单据号']
               this.hform.HMainSourceInterID = data[0].HInterID
               this.hform.HMainSourceEntryID = data[0].HEntryID
               this.hform.HSourceBillQty = data[0].流转卡数量
@@ -571,7 +592,8 @@
                         HBarCode: "",
                         HInterID: e?.HInterID,
                         HEntryID: e?.HEntryID,
                         Mode: 2 //选单模式
                         Mode: 2 ,//选单模式
                     user:getUserInfo()["Czymc"]
                     }
                 })
         
@@ -581,13 +603,21 @@
                     count
                 } = res.data
                 if (count == 1) {
                  //如果源单数量超出提示
                  if(data[0]['HBack']==1){
                     CommonUtils.showTips({
                        title: '温馨提示',
                        message: data[0]['HBackRemark']
                     })
                     return;
                  }
                     console.log('获取源单:', data)
                     this.hform.HMaterID = data[0]['HMaterID']
                     this.hform.HMaterName = data[0]['产品名称']
                     this.hform.HMaterNumber = data[0]['产品代码']
                     //源单信息
                     this.hform.HMainSourceBillNo = data[0]['HBillNo']
                     this.hform.HSourceBillNo = data[0]['HBillNo']
                     this.hform.HSourceBillNo = data[0]['单据号']
                     this.hform.HMainSourceInterID = data[0].HInterID
                     this.hform.HMainSourceEntryID = data[0].HEntryID
                     this.hform.HSourceBillQty = data[0].流转卡数量
@@ -707,7 +737,7 @@
               let res = await CommonUtils.doRequest2Async({
                  url: "/Gy_Employee/list",
                  data: {
                     sWhere: ` and 组织名称 = '${uni.getStorageSync("Organization")}' and 禁用标记 = ''and 审核人 !='' order by 部门代码`,
                     sWhere: ` and 禁用标记 = '' `,
                     user: getUserInfo()["Czymc"],
                     Organization: uni.getStorageSync("Organization"),
                  },
@@ -742,7 +772,7 @@
               let res = await CommonUtils.doRequest2Async({
                  url: "/Gy_Source/list",
                  data: {
                     sWhere: `and 禁用标记 != 'Y' and ISNULL(审核人,'')  != '' and 组织 = '${uni.getStorageSync("Organization")}'`,
                     sWhere: `and 禁用标记 != 'Y' and 组织 = '${uni.getStorageSync("Organization")}'`,
                     user: getUserInfo()["Czymc"],
                  },
               });
@@ -774,7 +804,7 @@
               let res = await CommonUtils.doRequest2Async({
                  url: "/Gy_Group/list",
                  data: {
                     sWhere: `and 禁用标记 != 'Y' and ISNULL(审核人,'')  != '' and 组织 = '${uni.getStorageSync("Organization")}'`,
                     sWhere: `and 禁用标记 != 'Y' and 组织 = '${uni.getStorageSync("Organization")}'`,
                     user: getUserInfo()["Czymc"],
                  },
               });
@@ -860,6 +890,9 @@
                  ,HMakeDate:this.hform.HMakeDate
                  ,HReportType:1
                  ,HSourceBillType:this.hform.HSourceBillType
                  ,HSourceBillNo:this.hform.HSourceBillNo
                  ,HSourceInterID:this.hform.HMainSourceInterID
                  ,HSourceEntryID:this.hform.HMainSourceEntryID
                  ,HBadReasonHQty:1
                  ,HQty:this.hform.HCheckQty
               }
@@ -891,8 +924,9 @@
                  if(!item.num){
                     this.$set(item, 'num', 1);
                  }else{
                     this.$set(item, 'num', item.num++);
                     this.$set(item, 'num', item.num+1);
                  }
                  console.log(item.num)
                  //this.$set(item, 'num', newValue);
                  this.getHisReportList();
                  this.hasCheckQty=true;
@@ -942,6 +976,13 @@
            // if (!this.checkSubmitValidate()) {
            //    return;
            // }
            if(this.HisReportList.length<=0){
               CommonUtils.showTips({
                  title: "温馨提示",
                  message: `请输入检验信息`,
               });
               return
            }
            try {
               console.log('this.$refs: ', this.$refs);
@@ -1004,181 +1045,40 @@
         goBack() {
            uni.navigateBack();
         },
         async RoadBillMain() {
            try {
               let res = await CommonUtils.doRequest2Async({
                  url: "/QC_ProcessCheckBill/QC_ProcessCheckBill_Edit",
                  data: {
                     sWhere: ` and hmainid=${this.hform.HInterID}`,
                     user: getUserInfo()["Czymc"],
                  },
               });
               let {
                  data,
                  count,
                  Message
               } = res.data;
               if (count == 1) {
                  console.log("RoadBillMain: : ", data);
                  Object.assign(this.hform, {
                     HInterID: data[0].hmainid,
                     HBillNo: data[0].单据号,
                     HDate: dayjs(data[0].日期).format("YYYY-MM-DD"),
                     HSourceID: data[0].HSourceID,
                     HSourceName: data[0].生产资源名称,
                     HICMOBillNo: data[0].任务单号,
                     HICMOQty: data[0].任务单数量,
                     HICMOInterID: data[0].HICMOInterID,
                     HICMOEntryID: data[0].HICMOEntryID || 1,
                     HMaterID: data[0].HMaterID,
                     HMaterName: data[0].物料名称,
                     HMaterNumber: data[0].物料代码,
                     HProcID: data[0].HProcID,
                     HProcName: data[0].HProcName,
                     HProcExchQty: data[0].HProcExchQty || 0,
                     HProcExchBillNo: data[0].HProcExchBillNo,
                     HProcExchInterID: data[0].HProcExchInterID,
                     HProcExchEntryID: data[0].HProcExchEntryID || 0,
                     HFirstCheckEmp: data[0].HFirstCheckEmp,
                     HFirstCheckEmpName: data[0].质检员名称,
                     HQCSchemeID: data[0].检验方案ID,
                     HQCSchemeName: data[0].检验方案名称,
                     HRemark: data[0].表头备注,
                     HMaker: data[0].制单人,
                     HMakeDate: data[0].制单日期,
                     HChecker: data[0].审核人,
                     HCheckDate: data[0].审核日期,
                     HCloseMan: data[0].关闭人,
                     HCloseDate: data[0].关闭日期,
                     HUpDateDate: data[0].修改日期,
                     HDeleteDate: data[0].作废日期,
                     HSampleSchemeID: data[0].HSampleSchemeID,
                     HSampleSchemeName: data[0].抽样方案名称,
                     HSampleQty: data[0].样本量,
                     HSampleQty2: data[0].样本量,
                     HSampleDamageQty: data[0].样本破坏数,
                     HSamplingType: data[0].抽样类型,
                     HAcceptQty: data[0].允许数,
                     HInspectionLevel: data[0].检验水平,
                     HRejectQty: data[0].拒绝数,
                     HStrictness: data[0].严格度,
                     HSampleUnRightQty: data[0].样本不合格数 || 0,
                     HSampleUnRightQty2: data[0].样本不合格数,
                     HAQL: data[0].AQL,
                     HUnitID: data[0].HUnitID,
                     HUnit: data[0].单位,
                     HInspectValB: data[0].检测值基础资料,
                     HInspectVal: data[0].检测值,
                     HTargetValB: data[0].目标值基础资料,
                     HTargetVal: data[0].目标值,
                     HUpLimit: data[0].上限值,
                     HDownLimit: data[0].下限值,
                     HUpOffSet: data[0].上偏差,
                     HDownOffSet: data[0].下偏差,
                     HEntryID: data[0].hsubid,
                     HQCCheckItemName: data[0].检验项目名称,
                     HQCCheckItemID: data[0].HQCCheckItemID,
                     HShiftsID: data[0].HShiftsID,
                     HShiftsName: data[0].班次名称,
                     HErrTreatment: data[0].异常临时处理方案,
                     HBatchNo: data[0].批号,
                     HCheckerResult: data[0].判定结论 == "合格" ? true : false,
                     HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
                     HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
                     HAnalysisMethod: function() {
                        if (data[0].HAnalysisMethod == 1) {
                           return '定性检验'
                        } else if (data[0].HAnalysisMethod == 2) {
                           return '定量检验'
                        } else {
                           return '其他检验'
                        }
                     }(),
                  });
                  for (let i = 0; i < data.length; i++) {
                     this.addCheckItem({
                        HQCCheckItemID: data[i].HQCCheckItemID,
                        HQCCheckItemNumber: data[i].检验项目代码,
                        HQCCheckItemName: data[i].检验项目名称,
                        HInspectInstruMentID: data[i].HInspectInstruMentID,
                        HInspectInstruMentNumber: data[i].检验仪器代码,
                        HInspectInstruMentName: data[i].检验仪器名称,
                        HQCStd: data[i].检验标准,
                        HUnit: data[i].单位名称,
                        HQCNote: data[i].检验记录,
                        HResult: data[i].结论 == "合格" ? 1 : 0,
                        HMax: data[i].最大值,
                        HMin: data[i].最小值,
                        HAvg: data[i].平均值,
                        HRemark: data[i].表体备注,
                        HAnalysisMethod: data[i].分析方法 == "定性分析" ?
                           1 : data[i].分析方法 == "定量分析" ?
                           2 : 3,
                        HKeyInspect: data[i].重点检查 == "否" ? false : true,
                        HSampleSchemeID: data[i].HSampleSchemeID,
                        HUnitID: data[i].HUnitID,
                        HInspectVal: data[i].检测值,
                        HTargetVal: data[i].目标值,
                        HUpLimit: data[i].上限值,
                        HDownLimit: data[i].下限值,
                        HUpOffSet: data[i].上偏差,
                        HDownOffSet: data[i].下偏差,
                        HSampleDamageQty: data[i].样本破坏数,
                        HSampleSchemeName: data[i].抽样方案名称,
                        HSampleQty: data[i].样本量,
                        HSampleDamageQty: data[i].样本破坏数,
                        HAcceptQty: data[i].允许数,
                        HInspectionLevel: 0,
                        HRejectQty: data[i].拒绝数,
                        HStrictness: 0,
                        HSampleUnRightQty: data[i].样本不合格数,
                        HAQL: data[i].AQL,
                        HSamplingType: 0,
                        HSamplingType: data[i].抽样类型,
                        HStrictness: data[i].严格度,
                        HInspectResultToSee: data[i].检验结果
                     });
                  }
                  this.hasSourceBill = true
               } else {
                  CommonUtils.showTips({
                     title: "温馨提示",
                     message: `加载单据失败: ${Message}`,
                  });
               }
            } catch (err) {
               CommonUtils.showTips({
                  title: "温馨提示",
                  message: `加载单据失败: ${err}`,
               });
         // 设置为自动
         setAuto() {
            if (uni.getSystemInfoSync().platform === 'android' ||
                 uni.getSystemInfoSync().platform === 'ios') {
               plus.screen.unlockOrientation();
            }
         },
         // 设置为竖屏
         setPortrait() {
           if (uni.getSystemInfoSync().platform === 'android' ||
              uni.getSystemInfoSync().platform === 'ios') {
            plus.screen.lockOrientation('portrait');
           }
         },
      },
      async onLoad(e) {
         this.setAuto();
         this.operationType = e.operationType || 1;
         this.hform.HInterID = e.linterid || 0;
         if (this.operationType == 1) {
            await this.getMaxBillNo();
         } else if (this.operationType == 2) {
         } else if (this.operationType == 3) {
            await this.RoadBillMain();
         }
         }
         this.getGy_BadReasonList();
         await this.InitHSource();
         await this.InitHEmp();
         await this.InitHGroup();
         await this.loadCache();
      },
      onUnload(){
         this.setPortrait();
      }
   };
</script>