heshaofeng
2026-01-13 d741e7a7ad7de5045e5c6b6145d9da1783cadecd
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/extension/inbound/takeStockOrder.js
@@ -1,12 +1,14 @@
// è‡ªå®šä¹‰æ‰©å±•业务代码
import gridBody from "./extend/OrderStockTake.vue";
import gridHeader from "./extend/TakeStockSelect.vue";
import gridFooter from "./extend/StockTakeGroupPallet.vue";
let extension = {
  components: {
    // æŸ¥è¯¢ç•Œé¢æ‰©å±•组件:将自定义弹窗注册为 gridBody ç»„ä»¶
    gridHeader: '',
    gridHeader: gridHeader,
    gridBody: gridBody, // å¯¹åº”你的盘点弹窗组件
    gridFooter: '',
    gridFooter: gridFooter,
    // æ–°å»º/编辑弹出框扩展组件(此处不用,留空)
    modelHeader: '',
    modelBody: '',
@@ -16,21 +18,27 @@
  buttons: { view: [], box: [], detail: [] }, // æ‰©å±•按钮(如需额外添加可在此配置)
  methods: {
    onInit() {
      // æ‰¾åˆ° value ä¸º "OrderStockTake" çš„æŒ‰é’®ï¼ˆéœ€åœ¨æ¡†æž¶ä¸­æå‰é…ç½®è¯¥æŒ‰é’®ï¼‰
      let OrderStockTakeBtn = this.buttons.find(x => x.value === 'OrderStockTake');
      if (OrderStockTakeBtn) {
        // é‡å†™æŒ‰é’®ç‚¹å‡»äº‹ä»¶
        OrderStockTakeBtn.onClick = function () {
          // 1. èŽ·å–è¡¨æ ¼é€‰ä¸­è¡Œæ•°æ®
          let rows = this.$refs.table.getSelected();
          if (rows.length === 0) return this.$error("请选择一条盘点单据数据!");
          if (rows.length > 1) return this.$error("只能选择一条盘点单据数据!");
          this.$refs.gridBody.open();
        };
      }
      let OutOrderStockTakeBtn = this.buttons.find(x => x.value === 'OutOrderStockTake');
      if (OutOrderStockTakeBtn) {
        // é‡å†™æŒ‰é’®ç‚¹å‡»äº‹ä»¶
        OutOrderStockTakeBtn.onClick = function () {
          
          const selectedReceiptNo = rows[0].orderNo;
          if (!selectedReceiptNo) return this.$error("选中的单据缺少有效的单据号!");
          this.$refs.gridHeader.open();
        };
      }
      let StockTakeGroupPalletBtn = this.buttons.find(x => x.value === 'StockTakeGroupPallet');
      if (StockTakeGroupPalletBtn) {
        // é‡å†™æŒ‰é’®ç‚¹å‡»äº‹ä»¶
        StockTakeGroupPalletBtn.onClick = function () {
          // 3. è°ƒç”¨è‡ªå®šä¹‰å¼¹çª—çš„ open æ–¹æ³•,并传递单据号(核心:给弹窗传参)
          this.$refs.gridBody.open(selectedReceiptNo);
          this.$refs.gridFooter.open();
        };
      }