陈婷婷
2025-11-20 63ce1ab231a876242969f702305fc802105ca06e
src/views/basic/gyStockPlace/gyStockPlaceEdit.vue
@@ -12,17 +12,17 @@
          <el-row>
            <el-col :span="8">
              <el-form-item label="仓位代码" prop="HNumber">
                <el-input v-model="form.HNumber" placeholder="请输入仓库代码" />
                <el-input v-model="form.HNumber" placeholder="请输入仓位代码" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="仓位名称" prop="HName">
                <el-input v-model="form.HName" placeholder="请输入仓库名称" />
                <el-input v-model="form.HName" placeholder="请输入仓位名称" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="所属仓位" prop="HSPGroupName" class="form-inline">
                <el-input disabled v-model="form.HSPGroupName" placeholder="请选择仓位">
              <el-form-item label="所属仓库" prop="HSPGroupName" class="form-inline">
                <el-input disabled v-model="form.HSPGroupName" placeholder="请选择仓库">
                </el-input>
                <el-button icon="el-icon-search" @click="openDataDialog(1)"></el-button>
              </el-form-item>
@@ -48,12 +48,12 @@
            </el-col>
            <el-col :span="8">
              <el-form-item label="助记码" prop="HHelpCode">
                <el-input v-model="form.HAddress" placeholder="请输入助记码" />
                <el-input v-model="form.HHelpCode" placeholder="请输入助记码" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="备注" prop="HRemark">
                <el-input v-model="form.HPhone" placeholder="请输入备注" />
                <el-input v-model="form.HRemark" placeholder="请输入备注" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -73,17 +73,26 @@
        </el-tab-pane>
      </el-tabs>
    </el-form>
    <!-- 部门弹窗 -->
    <!-- 选择弹窗 -->
    <el-dialog
      :title="dialogTitle"
      :visible.sync="openData"
      width="1280px"
      append-to-body
    >
      <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" />
      <!-- <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" />
      <Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="warehouseShow" />
      <Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" />
      <GyWorkCenter @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="workCenterShow" />
      <GyWorkCenter @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="workCenterShow" /> -->
      <div style="height: 60vh" v-if="openData">
        <iframe
          :src="iframeUrl"
          frameborder="0"
          width="100%"
          height="100%"
          ref="iframeInstance"
        ></iframe>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="deptClickSub">确 定</el-button>
        <el-button @click="deptClose">取 消</el-button>
@@ -114,6 +123,9 @@
  },
  data() {
    return {
      dialogEnabledNum: -1,
      iframeInstance: null,
      iframeUrl: "",
      formShow: false,
      temp: undefined,
      formLoading: true,
@@ -187,9 +199,22 @@
    this.reset();
    this.fetchData();
  },
  mounted() {
    window.iframeWareHouseCallBack = (info) => {
      console.log(info);
      // 回调赋值
      this.form.HSPGroupName = info["仓库名称"];
      this.form.HSPGroupID = info["HSPGroupID"];
      // 关闭弹窗
      this.deptClose();
    };
  },
  activated() {
    this.reset();
    this.fetchData();
  },
  beforeDestroy() {
    delete window.iframeWareHouseCallBack;
  },
  methods: {
    fetchData() {
@@ -235,18 +260,21 @@
            if (result.code == 1) {
              // 说明验证成功了,
              var data = result.data[0];
              this.form = {
                ...{
                  HUSEORGID: data.HUSEORGID,
                  HItemID: data.HMainID,
                  HNumber: data.仓位代码,
                  HName: data.仓位名称,
                  HHelpCode: data.助记码,
                  HRemark: data.备注,
                  HSPGroupID: data.HSPGroupID,
                  HSPGroupName: data.所属仓位,
                  HStopflag: data.禁用标记 == "Y" ? true : false,
                  HStandard: data.默认仓位 == "Y" ? true : false,
                },
              };
              Object.assign(this.form, {
                HItemID: data.HMainID,
                HNumber: data.仓位代码,
                HName: data.仓位名称,
                HHelpCode: data.助记码,
                HRemark: data.备注,
                HSPGroupID: data.HSPGroupID,
                HSPGroupName: data.所属仓位,
                HStopflag: data.禁用标记 == "Y" ? true : false,
                HStandard: data.默认仓位 == "Y" ? true : false,
              });
              if (!data.HCheckEmp) {
                this.CheckBillDisabled = false;
              }
@@ -299,8 +327,19 @@
      this.deptform = deptRow;
    },
    deptClickSub() {
      this.dbEmitData(this.deptform, this.dialogTypeNum);
      this.deptform = {};
      // this.dbEmitData(this.deptform, this.dialogTypeNum);
      // this.deptform = {};
      // 从打开的iframe中获取选中数据
      let selectedRow = this.$refs.iframeInstance.contentWindow.selectedRow;
      console.log(selectedRow);
      if (this.dialogEnabledNum == 1) {
        // 修改选中仓库数据
        this.form.HSPGroupName = selectedRow["仓库名称"];
        this.form.HSPGroupID = selectedRow["HSPGroupID"];
      }
      selectedRow = null; // 手动置空,方便GC回收,防止泄露
      this.deptClose();
    },
    deptClose() {
      this.deptform = {};
@@ -461,12 +500,14 @@
    },
    //  打开数据列表弹窗
    openDataDialog(num, row) {
      this.dialogEnabledNum = num;
      if (row) {
        this.zbIndex = row.index - 1;
      }
      this.showReset();
      if (num == 1) {
        this.dialogTitle = "仓位列表";
        this.iframeUrl = "/iframe/GyWarehouse";
        this.dialogTitle = "仓库列表";
        this.warehouseShow = true;
        this.openData = true;
      }