wangyi
2026-01-19 7fb0a8f0ab16c149484bf043754cd10cfa94de2f
src/views/warehouse/transfer/Kf_MoveStockRequestBillEdit.vue
@@ -137,8 +137,8 @@
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="调入组织" prop="HSTOCKINORGID">
                <el-select v-model="form.HSTOCKINORGID" placeholder="请选择调入组织">
              <el-form-item label="调入组织" prop="HSTOCKINORGID" >
                <el-select v-model="form.HSTOCKINORGID" placeholder="请选择调入组织" :disabled="OperationType == 3" @change="StockInOrgChangeHandler">
                  <el-option
                    v-for="(item, index) in organizationList"
                    :key="index"
@@ -151,7 +151,7 @@
            </el-col>
            <el-col :span="6">
              <el-form-item label="调出组织" prop="HSTOCKOUTORGID">
                <el-select v-model="form.HSTOCKOUTORGID" placeholder="请选择调入组织">
                <el-select v-model="form.HSTOCKOUTORGID" placeholder="请选择调出组织" :disabled="OperationType == 3" @change="StockOutOrgChangeHandler">
                  <el-option
                    v-for="(item, index) in organizationList"
                    :key="index"
@@ -300,7 +300,6 @@
              >下移</el-button
            >
          </div>
          <!-- TODO 明细列表添加辅助属性选择 -->
          <el-table
            :data="editData"
            style="width: 100%"
@@ -337,6 +336,16 @@
            <el-table-column align="center" label="计量单位" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.计量单位 }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="辅助属性" width="120">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.辅助属性"
                  placeholder="请输入"
                  @keyup.native.f7="openDataDialog(7, scope.row)"
                  @dblclick.native="openDataDialog(7, scope.row)"
                />
              </template>
            </el-table-column>
            <el-table-column align="center" label="换算率" width="120">
@@ -476,6 +485,12 @@
        :openPage="HModName"
        v-if="materialShow"
      />
      <GyProperty
        @deptEmitDb="dbEmitData"
        @deptEmit="emitData"
        :openPage="HModName"
        v-if="propertyShow"
      />
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="deptClickSub">确 定</el-button>
        <el-button @click="deptClose">取 消</el-button>
@@ -505,11 +520,20 @@
import Warehouse from "@/views/basic/gyWarehouse/gyWarehouse.vue";
import GySupplier from "@/views/basic/gy/gySupplier.vue";
import Material from "@/views/gyMaterial/GyMaterial.vue";
import GyProperty from "@/views/basic/gyProperty/gyPropertyList.vue";
import moment from "moment";
export default {
  name: "Kf_MoveStockRequestBillEdit",
  components: { Dept, Warehouse, RowSettings, GyEmployee, GySupplier, Material },
  components: {
    Dept,
    Warehouse,
    RowSettings,
    GyEmployee,
    GySupplier,
    Material,
    GyProperty,
  },
  props: {
    OperationType: { type: Number },
    linterid: { type: Number },
@@ -534,12 +558,13 @@
      gyEmployeeShow: false, //销售员数据组件
      gySupplierShow: false, //供应商数据组件
      materialShow: false, //物料数据组件
      propertyShow: false, // 辅助属性基础资料
      eHWHType: 1, //仓库弹窗区分标志
      empType: 1, //职员弹窗区分标志
      deptform: {}, //弹窗选中数据
      openData: false, //数据弹窗
      dialogTitle: "",
      organizationList: [], //组织列表
      organizationList: JSON.parse(sessionStorage.getItem('organizationList')), //组织列表
      subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用)
      // OperationType: this.$route.query.OperationType,//保存类型(新增1修改2)
      HInterID: 0,
@@ -603,21 +628,19 @@
    };
  },
  created() {
    this.fetchData();
    this.getdata();
    this.getdata()
  },
  methods: {
    fetchData() {
      axios
        .get(this.baseURL + "/Web/GetOrganizations", {})
        .then((response) => {
          if (response.data.count == 1) {
            this.organizationList = response.data.data; //组织列表
          }
        })
        .catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
    StockInOrgChangeHandler(e) {
      for(let i=0;i<this.editData.length;i++) {
        this.editData[i].HSTOCKORGINID = e
      }
    },
    StockOutOrgChangeHandler(e) {
      for(let i=0;i<this.editData.length;i++) {
        this.editData[i].HOtherOrgID = e
        this.editData[i].HSTOCKORGID = e
      }
    },
    getdata() {
      this.formShow = false;
@@ -659,7 +682,7 @@
    //弹窗赋值
    dbEmitData(deptRow, num) {
      // num=1部门 num=2仓库
      console.log(deptRow);
      console.log(deptRow, num);
      if (deptRow.HItemID || deptRow.hmainid) {
        if (num == 1) {
          this.form.HDeptName = deptRow.部门名称;
@@ -711,6 +734,12 @@
          this.form.HSupName = deptRow.供应商名称;
          this.form.HSupID = deptRow.HItemID;
          this.gySupplierShow = false;
          this.openData = false;
        } else if (num == "gyProperty") {
          this.editData[this.zbIndex].HAuxPropID = deptRow.HItemID;
          this.editData[this.zbIndex]["辅助属性"] = deptRow["辅助属性名称"];
          this.propertyShow = false;
          this.openData = false;
        }
      } else {
@@ -811,7 +840,7 @@
      console.log(this.form.HDeptID && this.form.HDeptID != 0);
      if (this.form.HDeptID && this.form.HDeptID != 0) {
        axios
          .get(this.baseURL + "/Gy_Department/list", {
          .get(this.$baseUrl + "/Gy_Department/list", {
            params: {
              sWhere: "and HItemID = '" + this.form.HDeptID + "'",
              user: sessionStorage["HUserName"],
@@ -836,10 +865,9 @@
      //新增获取单据号
      this.getHBillNo();
      let date = new Date();
      this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
      this.form.HSTOCKOUTORGID = sessionStorage["OrganizationID"];
      this.form.HSTOCKINORGID = sessionStorage["OrganizationID"];
      this.form.HSTOCKORGID = sessionStorage["OrganizationID"];
      this.$set(this.form, "HSTOCKOUTORGID", sessionStorage["OrganizationID"]);
      this.$set(this.form, "HSTOCKINORGID", sessionStorage["OrganizationID"]);
      this.$set(this.form, "HDate", moment(date).format("YYYY-MM-DD HH:mm:ss"));
      if (this.OperationType == 1) {
        this.handleAddSysZb();
      }
@@ -850,7 +878,7 @@
    },
    getHBillNo() {
      axios
        .get(this.baseURL + "/Web/GetMAXNum", {
        .get(this.$baseUrl + "/Web/GetMAXNum", {
          params: {
            HBillType: "1243",
          },
@@ -872,7 +900,7 @@
      console.log(this.linterid);
      //主表
      axios
        .get(this.baseURL + "/Kf_MoveStockRequestBill/cx", {
        .get(this.$baseUrl + "/Kf_MoveStockRequestBill/cx", {
          params: { HInterID: rowHmainid },
        })
        .then((response) => {
@@ -880,13 +908,10 @@
            var result = response.data;
            var data = response.data.data;
            console.log(result, data);
            if (this.copyType == 1) {
              this.getHBillNo();
              let date = new Date();
              this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
            } else {
              this.allVal = data[0];
              this.form = {
            this.allVal = data[0];
            this.form = {
              ...{
                HBillNo: data[0].单据号,
                HDate: data[0].日期,
                HDeptName: data[0].部门,
@@ -917,42 +942,53 @@
                HCloseDate: data[0].关闭日期,
                HUpDateDate: data[0].修改日期,
                HDeleteDate: data[0].作废日期,
                HSTOCKOUTORGID: sessionStorage["OrganizationID"],
                HSTOCKORGID: sessionStorage["OrganizationID"],
              };
              //子表
              var rowdata = [];
              for (let i = 0; i < data.length; i++) {
                rowdata.push({
                  HMaterID: data[i].HMaterID,
                  物料代码: data[i].物料代码,
                  物料名称: data[i].物料名称,
                  规格型号: data[i].规格型号,
                  HUnitID: data[i].HUnitID,
                  计量单位: data[i].计量单位,
                  HSecUnitRate: data[i].换算率,
                  HSecUnitID: data[i].HSecUnitID,
                  辅助计量单位: data[i].辅助计量单位,
                  HQtyMust: data[i].应收数量,
                  HQty: data[i].实收数量,
                  HRemark: data[i].表体备注,
                  HPrice: data[i].单价,
                  HMoney: data[i].金额,
                  HOutPrice: data[i].调出单价,
                  HOutMoney: data[i].调出金额,
                  HWHID: data[i].HWHID,
                  调入仓库: data[i].调入仓库,
                  HSCWHID: data[i].HSCWHID,
                  调出仓库: data[i].调出仓库,
                  HBASEUNITID: data[i].HBASEUNITID,
                  基本计量单位: data[i].基本计量单位,
                  HEXTAUXUNITID: data[i].HEXTAUXUNITID,
                  辅单位: data[i].辅单位,
                  HSTOCKORGID: sessionStorage["OrganizationID"],
                });
              }
              this.editData = rowdata;
                HSTOCKOUTORGID: data[0].HSTOCKOUTORGID.toString(),
                HSTOCKINORGID: data[0].HSTOCKINORGID.toString(),
              },
            };
            //子表
            var rowdata = [];
            for (let i = 0; i < data.length; i++) {
              rowdata.push({
                HMaterID: data[i].HMaterID,
                物料代码: data[i].物料代码,
                物料名称: data[i].物料名称,
                规格型号: data[i].规格型号,
                HUnitID: data[i].HUnitID,
                计量单位: data[i].计量单位,
                HSecUnitRate: data[i].换算率,
                HSecUnitID: data[i].HSecUnitID,
                辅助计量单位: data[i].辅助计量单位,
                HQtyMust: data[i].应收数量,
                HQty: data[i].实收数量,
                HRemark: data[i].表体备注,
                HPrice: data[i].单价,
                HMoney: data[i].金额,
                HOutPrice: data[i].调出单价,
                HOutMoney: data[i].调出金额,
                HWHID: data[i].HWHID,
                调入仓库: data[i].调入仓库,
                HSCWHID: data[i].HSCWHID,
                调出仓库: data[i].调出仓库,
                HBASEUNITID: data[i].HBASEUNITID,
                基本计量单位: data[i].基本计量单位,
                HEXTAUXUNITID: data[i].HEXTAUXUNITID,
                辅单位: data[i].辅单位,
                HSTOCKORGID: data[i]["HSTOCKORGID"],
                HOtherOrgID: data[i]["HSTOCKORGID"],
                HAuxPropID: data[i]["HAuxPropID"],
                辅助属性: data[i]["辅助属性"],
              });
            }
            this.editData = rowdata;
            // 渲染完后再参与是否复制的判断
            if (this.copyType == 1) {
              this.getHBillNo();
              let date = new Date();
              this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
            }
            this.formShow = true;
            this.formLoading = false;
          }
@@ -997,6 +1033,10 @@
          辅单位: "",
          HRemark: "",
          HSTOCKORGID: sessionStorage["OrganizationID"],
          HOtherOrgID: sessionStorage["OrganizationID"],
          HSTOCKORGINID: this.form.HSTOCKINORGID,
          HAuxPropID: 0,
          辅助属性: "",
        };
        if (index) {
          this.editData.splice(index, 0, obj);
@@ -1111,7 +1151,7 @@
              axios({
                method: "post",
                url:
                  this.baseURL + "/Kf_MoveStockRequestBill/Kf_MoveStockRequestBillEdit",
                  this.$baseUrl + "/Kf_MoveStockRequestBill/Kf_MoveStockRequestBillEdit",
                data: {
                  sMainSub: sMainSub,
                },
@@ -1140,6 +1180,7 @@
      this.gyEmployeeShow = false;
      this.gySupplierShow = false;
      this.materialShow = false;
      this.propertyShow = false;
    },
    //  打开数据列表弹窗
    openDataDialog(num, row) {
@@ -1176,6 +1217,10 @@
        this.dialogTitle = "供应商列表";
        this.gySupplierShow = true;
        this.openData = true;
      } else if (num == 7) {
        this.dialogTitle = "辅助属性列表";
        this.propertyShow = true;
        this.openData = true;
      }
    },
  },