heshaofeng
21 小时以前 673b5a596f611099eaacc310f6e7def0e022daca
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/extension/outbound/extend/EmptyTrayOutbound.vue
@@ -25,10 +25,33 @@
          </el-input-number>
        </el-form-item>
      </el-form>
      <!-- ===================== æ–°å¢žï¼šä¾›åº”商编码(实时搜索下拉) ===================== -->
      <el-form ref="form" :model="form" label-width="90px">
        <el-form-item label="供应商编码:">
          <el-select
            v-model="supplierCode"
            filterable
            remote
            reserve-keyword
            placeholder="请输入/选择供应商编码"
            :remote-method="remoteSearchSupplier"
            style="width: 100%"
          >
            <el-option
              v-for="item in supplierList"
              :key="item"
              :label="item"
              :value="item"
            />
          </el-select>
        </el-form-item>
      </el-form>
      <!-- ======================================================================== -->
    </template>
    <template #footer>
      <div>
        <!-- æ·»åŠ loading状态和disabled属性 -->
        <el-button 
          type="danger" 
          size="small" 
@@ -62,8 +85,11 @@
      show: false,
      locationTypes: [],
      locationType: "",
      // æ–°å¢žæäº¤çŠ¶æ€æ ‡è¯†
      isSubmitting: false
      isSubmitting: false,
      // ================= æ–°å¢ž =================
      supplierCode: '',       // ä¾›åº”商编码绑定
      supplierList: []        // ä¸‹æ‹‰åˆ—表
      // =======================================
    }
  },
  methods: {
@@ -72,17 +98,19 @@
      this.getData();
    },
    submit() {
      // 1. éªŒè¯å¿…填项
      if (!this.locationType) {
        this.$message.warning('请选择出库区域');
        return;
      }
      
      // 2. è®¾ç½®æäº¤çŠ¶æ€ä¸ºtrue,禁用按钮
      this.isSubmitting = true;
      
      this.$emit('parentCall', ($vue) => {
        this.http.post(`/api/Task/PalletOutboundTask?num=${this.num}&locationType=${this.locationType}`, {}, '数据处理中...')
        // ===================== æ”¹é€ æŽ¥å£ï¼šå¸¦ä¸Š supplierCode =====================
        this.http.post(
          `/api/Task/PalletOutboundTask?num=${this.num}&locationType=${this.locationType}&SupplierCode=${this.supplierCode || ''}`,
          {}, '数据处理中...')
        // ====================================================================
          .then((x) => {
            if (!x.status) {
              this.$message.error(x.message)
@@ -93,12 +121,10 @@
            }
          })
          .catch((error) => {
            // æ•获请求异常,提示用户
            this.$message.error('请求失败,请稍后重试');
            console.error('提交失败:', error);
          })
          .finally(() => {
            // 3. è¯·æ±‚完成(成功/失败)后重置提交状态
            this.isSubmitting = false;
          });
      })
@@ -109,6 +135,21 @@
          this.locationTypes = x.data;
        })
    },
    remoteSearchSupplier(keyword) {
      if (!keyword) {
        this.supplierList = [];
        return;
      }
      // è°ƒç”¨åŽç«¯å®žæ—¶æœç´¢æŽ¥å£
      this.http.get(`/api/Task/SearchSupplierCode?keyword=${keyword}`)
        .then(res => {
          if (res.status) {
            this.supplierList = res.data || [];
          }
        })
    }
  }
}
</script>