wangyi
2026-04-02 74feb99b1b4e2eb3706bbb503d07fb087ca39d4a
src/views/FbStepFoldOutBillList/fbStepFoldOutBillList.vue
@@ -8,7 +8,7 @@
               </el-select>
            </el-form-item>
            <el-form-item label="开始日期">
               <el-date-picker v-model="query.HBeginDate" type="date" placeholder="开始日期" style="width:160px" :disabled="timeCycleDisabled" value-formate="yyyy-mm-dd" format="yyyy-mm-dd"/>
               <el-date-picker v-model="query.HBeginDate" type="date" placeholder="开始日期" style="width:160px" :disabled="timeCycleDisabled" value-formate="yyyy-MM-dd" format="yyyy-MM-dd"/>
            </el-form-item>
            <el-form-item label="结束日期">
               <el-date-picker v-model="query.HEndDate" type="date" placeholder="结束日期" style="width:160px" :disabled="timeCycleDisabled" value-format="yyyy-MM-dd" format="yyyy-MM-dd"/>
@@ -163,6 +163,8 @@
         <el-row style="margin-bottom:8px">
            <el-col>
               <el-button size="mini" type="primary" @click="handleAdd">新增</el-button>
               <el-button size="mini"  @click="set_HTagCount">贴标签数</el-button>
               <el-button size="mini"  @click="set_PalletChange">托数变更</el-button>
               <el-button size="mini" @click="handleEdit">编辑</el-button>
               <el-button size="mini" type="danger" @click="set_DeleteBill">删除</el-button>
               <el-button size="mini" @click="set_CheckBill(1)">审核</el-button>
@@ -175,6 +177,7 @@
               <el-button size="mini" @click="get_PrintReport">打印</el-button>
               <el-button size="mini" @click="get_Refresh">刷新</el-button>
               <el-button size="mini" @click="get_BarCodeDetail">条码明细</el-button>
               <el-button type="primary" icon="el-icon-printer" size="mini" :disabled="single" @click="get_PackStockDetail">包装容器出入库明细</el-button>
            </el-col>
         </el-row>
@@ -210,7 +213,7 @@
         :visible.sync="barcodeDetailVisible"
         ref="barcodeDetail"
         />
      <PackStockDetail :visible.sync="packStockDetailShow" ref="packStockDetail"/>
      
   </div>
</template>
@@ -220,23 +223,24 @@
//import FbStepFoldinBillEdit from './fbStepFoldinBillEdit'
import FbStepFoldinBillEdit from '@/views/FbStepFoldOutBillList/fbStepFoldOutBillListEdit'
import BarCodeDetail from '@/views/component/BarCodeDetail'
import dayjs from 'dayjs';
import PackStockDetail from '@/views/component/PackStockDetail'
export default {
   name: 'FbStepFoldinBillList',
      components: {
         FbStepFoldinBillEdit,
         BarCodeDetail
         BarCodeDetail,PackStockDetail
         
      },
   data() {
      return {
         rowForm: {},
         editDialogVisible:false,
         operationType:'1',
         currentId : '',
            barcodeDetailVisible: false,// 条码明细弹窗显示控制
         packStockDetailShow:false,
         query: {
            HInitTimeCycle: 29,
            HBeginDate: '',
@@ -283,7 +287,7 @@
         selectedRows: [],
         currentFilterName: '',
         activeCollapse: [],
         baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/",
         baseURL: process.env.VUE_APP_BASE_API,
      };
   },
   created() {
@@ -322,6 +326,7 @@
         const yyyy = d.getFullYear();
         const mm = String(d.getMonth() + 1).padStart(2, '0');
         const dd = String(d.getDate()).padStart(2, '0');
         return `${yyyy}-${mm}-${dd}`;
      },
      onTimeCycleChange() {
@@ -392,8 +397,8 @@
         if (q.ColName2 && q.Comparator2 && q.Comparator2 !== '0' && q.ColContent2) 
            sWhereParts.push(buildComparator(q.ColName2, q.Comparator2, q.ColContent2));
         
         if (q.HBeginDate) sWhereParts.push(` and CONVERT(varchar(100),日期, 23) >= '${q.HBeginDate}'`);
         if (q.HEndDate) sWhereParts.push(` and CONVERT(varchar(100),日期, 23) <= '${q.HEndDate}'`);
         if (q.HBeginDate) sWhereParts.push(` and CONVERT(varchar(100),日期, 23) >= '${dayjs(q.HBeginDate).format("YYYY-MM-DD")}'`);
         if (q.HEndDate) sWhereParts.push(` and CONVERT(varchar(100),日期, 23) <= '${dayjs(q.HEndDate).format("YYYY-MM-DD")}'`);
         if (q.HBillNo) sWhereParts.push(` and 单据号 like '%${q.HBillNo}%'`);
         if (q.HDeptID) sWhereParts.push(` and 部门 like '%${q.HDeptID}%'`);
         if (q.MaterialCode) sWhereParts.push(` and 物料代码 like '%${q.MaterialCode}%'`);
@@ -432,7 +437,7 @@
            const userName = sessionStorage['HUserName'] || sessionStorage['Czybm'] || 'admin';
            const orgName = sessionStorage['OrganizationName'] || sessionStorage['Organization'] || '浙江智云迈思';
            const url = `${this.baseURL}/Kf_StepFoldOutBill/GetStepFoldOutBillList`;
            const url = `${this.$baseUrl}/Kf_StepFoldOutBill/GetStepFoldOutBillList`;
            const params = { 
               sWhere: sWhere || '', 
               user: userName, 
@@ -499,7 +504,7 @@
      },
      async get_DefaultModule() {
         try {
            const url = `${this.baseURL}/Xt_FastICScheme/Chooselist`;
            const url = `${this.$baseUrl}/Xt_FastICScheme/Chooselist`;
            const params = { 
               user: sessionStorage['Czybm'] || sessionStorage['HUserName'] || '', 
               HModuleName: '分步式调出单维护', 
@@ -519,6 +524,96 @@
            console.warn('获取默认过滤方案失败', err);
            this.onSearch();
         }
      },
         set_HTagCount() {
      if (!this.rowForm || !this.rowForm.hmainid) {
        this.$modal.msgError('请先选择一条记录!')
        return
      }
      const rowData = this.rowForm // 使用 rowForm 而不是 rowList
      const currentPallet = rowData.贴标签数 || 0
      // 将"请输入新托数"作为输入框的placeholder
      this.$prompt(`当前贴标签数:${currentPallet}`, {
        confirmButtonText: '保存',
        cancelButtonText: '取消',
        inputValue: currentPallet,
        inputType: 'number',
        inputValidator: (value) => {
          if (!value) return '请输入贴标签数!'
          const num = parseInt(value)
          if (isNaN(num)) return '请输入有效的数字!'
          if (num.toString() !== value) return '贴标签数不能为小数!'
          if (num <0) return '贴标签数必须大于0!'
          return true
        }
      }).then(({ value }) => {
        const newPallet = parseInt(value)
        return axios.post(this.$baseUrl + '/Kf_POStockInBill/UpdateHTagCount', {
          hmainid: rowData.hmainid,
          newPallet: newPallet,
          operator: sessionStorage["HUserName"]
        })
      }).then(response => {
        if (response.data && response.data.count == 1) {
          this.$modal.msgSuccess('贴标签数变更成功!')
          this.onSearch()
        this.rowForm = null
        } else {
          this.$modal.msgError('错误:' + (response.data.Message || '保存失败'))
        }
      }).catch(error => {
        if (error !== 'cancel') {
          this.$modal.msgError('操作失败:' + error.message)
        }
      })
    },
      set_PalletChange() {
      if (!this.rowForm || !this.rowForm.hmainid) {
         this.$modal.msgError('请先选择一条记录!')
         return
      }
      const rowData = this.rowForm // 使用 rowForm 而不是 rowList
      const currentPallet = rowData.托数 || 0
      // 将"请输入新托数"作为输入框的placeholder
      this.$prompt(`当前托数:${currentPallet}`, {
         confirmButtonText: '保存',
         cancelButtonText: '取消',
         inputValue: currentPallet,
         inputType: 'number',
         inputValidator: (value) => {
         if (!value) return '请输入托数!'
         const num = parseInt(value)
         if (isNaN(num)) return '请输入有效的数字!'
         if (num.toString() !== value) return '托数不能为小数!'
         if (num <0) return '托数必须大于0!'
         return true
         }
      }).then(({ value }) => {
         const newPallet = parseInt(value)
         return axios.post(this.$baseUrl + '/Kf_POStockInBill/UpdatePallet', {
         hmainid: rowData.hmainid,
         newPallet: newPallet,
         operator: sessionStorage["HUserName"]
         })
      }).then(response => {
         if (response.data && response.data.count == 1) {
         this.$modal.msgSuccess('托数变更成功!')
         this.onSearch()
         this.rowForm = null
         } else {
         this.$modal.msgError('错误:' + (response.data.Message || '保存失败'))
         }
      }).catch(error => {
         if (error !== 'cancel') {
         this.$modal.msgError('操作失败:' + error.message)
         }
      })
      },
      set_AddNew() {
         window.open('./Fb_StepFoldinBillEdit.html?OperationType=1&linterid=&HSouceBillType=0&closeType=1', '_blank');
@@ -544,7 +639,7 @@
         
         try {
            await this.$confirm('确认要删除吗,删除后不能恢复', '删除确认');
            const url = `${this.baseURL}/Fb_StepFoldInBill/DeltetFb_StepFoldInBill`;
            const url = `${this.$baseUrl}/Fb_StepFoldInBill/DeltetFb_StepFoldInBill`;
            const params = { HInterID: (row.hmainid || row.HInterID) };
            const resp = await axios.get(url, { params });
            
@@ -573,7 +668,7 @@
         try {
            await this.$confirm(`确认要${actionName}此单据吗?`, `${actionName}确认`);
            
            const url = `${this.baseURL}/Kf_StepFoldOutBill/AuditKf_StepFoldOutBill`;
            const url = `${this.$baseUrl}/Kf_StepFoldOutBill/AuditKf_StepFoldOutBill`;
            const params = { 
               HInterID: (row.hmainid || row.HInterID), 
               Type: type, 
@@ -606,7 +701,7 @@
         try {
            await this.$confirm(`确认要${actionName}此单据吗?`, `${actionName}确认`);
            
            const url = `${this.baseURL}/Kf_StepFoldOutBill/CloseKf_StepFoldOutBill`;
            const url = `${this.$baseUrl}/Kf_StepFoldOutBill/CloseKf_StepFoldOutBill`;
            const params = { 
               HInterID: (row.hmainid || row.HInterID), 
               Type: type, 
@@ -639,7 +734,7 @@
         try {
            await this.$confirm(`确认要${actionName}此单据吗?`, `${actionName}确认`);
            
            const url = `${this.baseURL}/Kf_StepFoldOutBill/CancellKf_StepFoldOutBill`;
            const url = `${this.$baseUrl}/Kf_StepFoldOutBill/CancellKf_StepFoldOutBill`;
            const params = { 
               HInterID: (row.hmainid || row.HInterID), 
               Type: type, 
@@ -668,6 +763,10 @@
      },
      onSelectionChange(selection) {
         this.selectedRows = selection;
         this.ids = selection.map(item => item.hmainid)
         console.log('选择的行:', selection,"选择的ids:",this.ids);
         if (selection.length > 0)
         this.rowForm = selection[0]
      },
      onBillNoClick(row) {
         const table = this.$refs.mainTable;
@@ -689,11 +788,24 @@
         this.$message.warning('请选择一行数据查看条码明细!')
         return
      }
      this.barcodeDetailVisible = true
      this.$nextTick(() => {
         this.$refs.barcodeDetail.open(this.selectedRows[0])
      })
      },
       //#region 包装容器出入库明细
          get_PackStockDetail() {
      // if (this.selectedRow.length !== 1) {
      //   this.$message.warning('请选择一行数据查看条码明细!')
      //   return
      // }
         this.packStockDetailShow = true
         this.$nextTick(() => {
            this.$refs.packStockDetail.open(this.rowForm)
         })
      },
    //#endregion
      get_ViewReport() {
         if (this.selectedRows.length !== 1) { 
            this.$message.warning('请选择一行数据打印!');