chenhaozhe
2025-11-20 f8ddb1cdc0caafa8aa74a214fffa552aac1d04a7
src/views/scMould/warehouse/Sc_MouldProdBackBillEdit.vue
@@ -3,18 +3,18 @@
    <div style=" margin-bottom: 10px; border-bottom: 1px solid #f6f6f6;">
      <el-button type="primary" @click="handleAdd(OperationType = 1)" v-if="addBtnShow">新增</el-button>
      <el-button type="primary" @click="submitForm" :disabled="subDisabled">保 存</el-button>
      <el-button type="primary" @click="set_CheckBill(0, form)">审 核</el-button>
      <el-button type="primary" @click="set_CheckBill(1, form)">审 核</el-button>
      <el-button type="primary" @click="close">退 出</el-button>
      <!-- <el-button @click="cancel">取 消</el-button> -->
    </div>
    <div style="margin: 10px; font-size: 28px; font-weight: bold; text-align: center;">销售出库单</div>
    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
    <div style="margin: 10px; font-size: 28px; font-weight: bold; text-align: center;">器具领用出库单</div>
    <el-form ref="form" :model="form" :rules="rules" label-width="90px">
      <el-tabs v-model="activeName" type="card">
        <el-tab-pane label="基本信息" name="first">
          <el-row>
            <el-col :span="6">
              <el-form-item label="单据编号" prop="HBillNo">
                <el-input v-model="form.HBillNo" placeholder="请输入单据编号" />
              <el-form-item label="单据号" prop="HBillNo">
                <el-input v-model="form.HBillNo" placeholder="请输入单据号" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
@@ -24,158 +24,80 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="源单类型" prop="BillType">
                <el-select v-model="form.BillType" placeholder="请选择">
                  <el-option label="销售订单" value="1401" />
                  <el-option label="发货通知单" value="1402" />
                </el-select>
              <el-form-item label="内部单据号" prop="HInnerBillNo">
                <el-input v-model="form.HInnerBillNo" placeholder="请输入内部单据号" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="源单号" prop="HMainSourceBillNo">
                <el-input v-model="form.HMainSourceBillNo" placeholder="请输入源单号" disabled>
                  <el-button slot="append" icon="el-icon-search"></el-button>
              <el-form-item label="器具仓库" prop="HWHName">
                <el-input v-model="form.HWHName" placeholder="请选择器具仓库" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(2,eHWHType=1)"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="销售员" prop="HEmpName">
                <el-input v-model="form.HEmpName" placeholder="请输入销售员" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(4)"></el-button>
              <el-form-item label="验收员" prop="HSecManagerName">
                <el-input v-model="form.HSecManagerName" placeholder="请选择验收员" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=1)"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="销售部门" prop="HDeptName">
                <el-input v-model="form.HDeptName" placeholder="请输入销售部门" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
              <el-form-item label="保管员" prop="HKeeperName">
                <el-input v-model="form.HKeeperName" placeholder="请选择保管员" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=2)"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="主管" prop="HManagerName">
                <el-input v-model="form.HManagerName" placeholder="请输入主管" disabled>
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="客户" prop="HSupName">
                <el-input v-model="form.HSupName" placeholder="请输入客户" disabled>
                  <el-button slot="append" icon="el-icon-search"></el-button>
              <el-form-item label="部门" prop="HDeptName">
                <el-input v-model="form.HDeptName" placeholder="请选择部门" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(1,deptType=1)"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="联系人" prop="HLinkMan">
                <el-input v-model="form.HLinkMan" placeholder="请输入联系人" disabled />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="联系电话" prop="HLinkPhone">
                <el-input v-model="form.HLinkPhone" placeholder="请输入联系电话" disabled />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="领料人" prop="HSecManagerName">
                <el-input v-model="form.HSecManagerName" placeholder="请输入领料人">
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="仓管" prop="HKeeperName">
                <el-input v-model="form.HKeeperName" placeholder="请输入仓管">
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-form-item label="备注" prop="HRemark">
            <el-input v-model="form.HRemark" placeholder="请输入备注" />
          </el-form-item>
          <el-row>
            <el-col :span="6">
              <el-form-item label="项目代码" prop="HProjectNumber">
                <el-input v-model="form.HProjectNumber" placeholder="请输入项目代码" disabled>
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="项目名称" prop="HProjectName">
                <el-input v-model="form.HProjectName" placeholder="请输入项目名称" disabled />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="班组" prop="HGroupName">
                <el-input v-model="form.HGroupName" placeholder="请输入班组" disabled>
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="出库仓库" prop="HWHName">
                <el-input v-model="form.HWHName" placeholder="请输入出库仓库">
                  <el-button slot="append" icon="el-icon-search"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </el-tab-pane>
        <el-tab-pane label="其他信息" name="second">
          <el-row>
            <el-col :span="6">
              <el-form-item label="组织" prop="HOrgID">
                <el-select v-model="form.HOrgID" placeholder="请选择组织" @change="organizationChange" :disabled="zzSelDis">
                  <el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
              <el-form-item label="往来类型" prop="HSupTypeID">
                <el-select v-model="form.HSupTypeID" placeholder="请选择往来类型">
                  <el-option v-for="(item, index) in hSupTypeList" :key="index" :label="item.name" :value="item.id">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="币别" prop="HCurName">
                <el-input v-model="form.HCurName" placeholder="请输入币别" disabled />
              <el-form-item label="往来单位" prop="HSupName">
                <el-input v-model="form.HSupName" placeholder="请选择往来单位" disabled>
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialogChoose()"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="汇率" prop="HExRate">
                <el-input v-model="form.HExRate" placeholder="请输入汇率" disabled />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="销售方式" prop="HSellSName">
                <el-input v-model="form.HSellSName" placeholder="请输入销售方式" disabled />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="单价类型" prop="HPriceType">
                <el-select v-model="form.HPriceType" placeholder="请选择单价类型" @change="organizationChange">
                  <el-option v-for="(item, index) in hPriceTypeList" :key="index" :label="item" :value="item">
                  </el-option>
              <el-form-item label="源单类型" prop="HSourceBillType">
                <el-select v-model="form.HSourceBillType" placeholder="请选择">
                  <el-option label="生产任务单" value="生产任务单" />
                  <el-option label="手工录入" value="手工录入" />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="客户余额" prop="HCusBalance">
                <el-input v-model="form.HCusBalance" placeholder="请输入客户余额" disabled />
              <el-form-item label="选单号" prop="XDH">
                <el-input v-model="form.XDH" placeholder="请输入选单号" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="信用额度" prop="HCreditRating_Now">
                <el-input v-model="form.HCreditRating_Now" placeholder="请输入信用额度" disabled />
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="摘要" prop="HExplanation">
                <el-input v-model="form.HExplanation" placeholder="请输入摘要" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="可用额度" prop="HAvailableBalance">
                <el-input v-model="form.HAvailableBalance" placeholder="请输入可用额度" disabled />
            <el-col :span="12">
              <el-form-item label="备注" prop="HRemark">
                <el-input v-model="form.HRemark" placeholder="请输入备注" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -246,113 +168,159 @@
          </el-row>
        </el-tab-pane>
      </el-tabs>
      <div style="margin-bottom: 10px;">
        <el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb()" size="mini">增加一行</el-button>
        <el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb(zbIndex, 1)"
          size="mini">插入一行</el-button>
        <el-button type="success" plain icon="el-icon-plus" @click="handleCopyZbRow" size="mini">复制一行</el-button>
        <el-button type="success" plain icon="el-icon-arrow-up" @click="handleMoveRowUp(zbSelForm)"
          size="mini">上移</el-button>
        <el-button type="success" plain icon="el-icon-arrow-down" @click="handleMoveRowDown(zbSelForm)"
          size="mini">下移</el-button>
      </div>
      <el-table :data="editData" style="width: 100%" height="300" width="100%" ref="zbTable"
        @selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column align="center" label="序号" type="index" width="80" />
        <el-table-column align="center" label="物料编码" width="120">
          <template slot-scope="scope">
            <el-input v-model="scope.row.物料代码" placeholder="请输入物料编码" @keyup.native.f7="openDataDialog(3, scope.row)"
              @dblclick.native="openDataDialog(3, scope.row)" />
          </template>
        </el-table-column>
        <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">
            <span>{{ scope.row.规格型号 }}</span>
          </template>
        </el-table-column>
        <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-number v-model="scope.row.HQty" :min="1" style="width: 90px;"
              controls-position="right"></el-input-number>
          </template>
        </el-table-column>
        <el-table-column align="center" label="单价" width="120">
          <template slot-scope="scope">
            <el-input-number v-model="scope.row.HPrice" :min="0" style="width: 90px;"
              controls-position="right"></el-input-number>
          </template>
        </el-table-column>
        <el-table-column align="center" label="含税单价" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HTaxPrice }}</span>
          </template>
        </el-table-column>
        <el-table-column align="center" label="税率" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HTaxRate }}</span>
          </template>
        </el-table-column>
        <el-table-column align="center" label="金额" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HPrice * scope.row.HQty }}</span>
          </template>
        </el-table-column>
        <el-table-column align="center" label="价税合计" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HTaxPrice * scope.row.HQty }}</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(2, scope.row)"
              @dblclick.native="openDataDialog(2, scope.row)" />
          </template>
        </el-table-column>
        <el-table-column align="center" label="备注" width="120">
          <template slot-scope="scope">
            <el-input v-model="scope.row.HRemark" placeholder="请输入备注" />
          </template>
        </el-table-column>
        <el-table-column align="center" label="采购数量" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HReqBuyQty }}</span>
          </template>
        </el-table-column>
        <el-table-column align="center" label="申请出库数量" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HReqOutQty }}</span>
          </template>
        </el-table-column>
        <el-table-column align="center" label="当前库存" width="120">
          <template slot-scope="scope">
            <span>{{ scope.row.HCurrentInventory }}</span>
          </template>
        </el-table-column>
        <el-table-column align="center" label="操作" width="55" fixed="right">
          <template slot-scope="scope">
            <el-button type="danger" icon="el-icon-delete" size="mini" circle
              @click="handleDeleteSysZb(scope.row)"></el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-tabs v-model="activeName1" type="border-card">
        <el-tab-pane label="明细信息" name="first">
          <div style="margin-bottom: 10px;">
            <el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb()" size="mini">增加一行</el-button>
            <el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb(zbIndex, 1)"
              size="mini">插入一行</el-button>
            <el-button type="success" plain icon="el-icon-plus" @click="handleCopyZbRow" size="mini">复制一行</el-button>
            <el-button type="success" plain icon="el-icon-arrow-up" @click="handleMoveRowUp(zbSelForm)"
              size="mini">上移</el-button>
            <el-button type="success" plain icon="el-icon-arrow-down" @click="handleMoveRowDown(zbSelForm)"
              size="mini">下移</el-button>
          </div>
          <el-table :data="editData" style="width: 100%" height="300" width="100%" ref="zbTable"
            @selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column align="center" label="序号" type="index" width="80" />
            <el-table-column align="center" label="器具代码" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HMaterCode" placeholder="请输入" @keyup.native.f7="openDataDialog(8, scope.row)"
                  @dblclick.native="openDataDialog(8, scope.row)" />
              </template>
            </el-table-column>
            <el-table-column align="center" label="器具名称" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HMaterName }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="规格型号" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HMaterSpec }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="计量单位代码" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HUnitCode }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="计量单位" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HUnitName }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="应发数量" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HQtyMust }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="实发数量" width="120">
              <template slot-scope="scope">
                <el-input-number v-model="scope.row.HQty" :min="1" style="width: 90px;"
                  controls-position="right"></el-input-number>
              </template>
            </el-table-column>
            <el-table-column align="center" label="发料仓库代码" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HWHCode" placeholder="请输入" @keyup.native.f7="openDataDialog(2, scope.row ,eHWHType=2)"
                  @dblclick.native="openDataDialog(2, scope.row ,eHWHType=2)" />
              </template>
            </el-table-column>
            <el-table-column align="center" label="发料仓库" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HWHName }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="仓位代码" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HSPCode" placeholder="请输入" @keyup.native.f7="openDataDialog(9, scope.row)"
                  @dblclick.native="openDataDialog(9, scope.row)" />
              </template>
            </el-table-column>
            <el-table-column align="center" label="仓位" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.HSPName }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="备注" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HRemark" placeholder="请输入备注" />
              </template>
            </el-table-column>
            <el-table-column align="center" label="操作" width="55" fixed="right">
              <template slot-scope="scope">
                <el-button type="danger" icon="el-icon-delete" size="mini" circle
                  @click="handleDeleteSysZb(scope.row)"></el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-tab-pane>
        <!-- <el-tab-pane label="汇总信息" name="second">
          <el-table :data="editData1" style="width: 100%" height="300" width="100%" ref="zbTable"
            @selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column align="center" label="序号" type="index" width="80" />
            <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">
                <span>{{ scope.row.物料名称 }}</span>
              </template>
            </el-table-column>
            <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">
                <span>{{ scope.row.单据号 }}</span>
              </template>
            </el-table-column>
            <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">
                <span>{{ scope.row.实发数量 }}</span>
              </template>
            </el-table-column>
            <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">
                <span>{{ scope.row.发料仓库 }}</span>
              </template>
            </el-table-column>
            <el-table-column align="center" label="备注" width="120">
              <template slot-scope="scope">
                <span>{{ scope.row.表体备注 }}</span>
              </template>
            </el-table-column>
          </el-table>
        </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" />
      <Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="warehouseShow" />
      <Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" />
      <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="deptShow" />
      <Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="warehouseShow" />
      <GyEmployee @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyEmployeeShow" />
      <GySupplier @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gySupplierShow" />
      <GyCustomer @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyCustomerShow" />
      <GyMould @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyMouldShow" />
      <GyStockPlace @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyStockPlaceShow" />
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="deptClickSub">确 定</el-button>
        <el-button @click="deptClose">取 消</el-button>
@@ -366,16 +334,19 @@
<script>
import axios from 'axios'
import Dept from '@/views/component/dept'
import Warehouse from '@/views/component/warehouse'
import Material from '@/views/component/material'
import RowSettings from '@/views/component/rowSettings'
import GyEmployee from '@/views/basic/gyEmployee/gyEmployee.vue'
import Dept from '@/views/basic/gy/gyDepartment'
import Warehouse from '@/views/basic/gyWarehouse/gyWarehouse.vue'
import GySupplier from '@/views/basic/gy/gySupplier.vue'
import GyCustomer from '@/views/GyCustomer'
import GyMould from '@/views/scMould/basicModeling/Gy_MouldFileList.vue'
import GyStockPlace from '@/views/basic/gyStockPlace/gyStockPlace.vue'
import moment from 'moment';
export default {
  name: 'SellOutBillEdit',
  components: { Dept, Warehouse, Material, RowSettings, GyEmployee },
  components: { Dept, Warehouse, RowSettings, GyEmployee,GySupplier,GyCustomer,GyMould,GyStockPlace },
  props: {
    OperationType: { type: Number, },
    linterid: { type: Number, },
@@ -392,27 +363,35 @@
      zzSelDis: false,
      rowHideShow: false,
      openRowHide: false,
      hPriceTypeList: ['成本价', '结算价'],
      hSupTypeList: [{name:'供应商',id:1,},{name:'客户',id:2},{name:'车间部门',id:3}],
      addBtnShow: false,
      zbIndex: null,
      zbSelForm: {},//子表选中数据
      dialogTypeNum: null,//部门弹窗1,仓库弹窗2
      deptShow: false,//部门数据组件
      warehouseShow: false,//仓库数据组件
      materialShow: false,//物料数据组件
      gyEmployeeShow: false,//销售员数据组件
      gySupplierShow: false,//供应商数据组件
      gyCustomerShow: false,//客户数据组件
      gyMouldShow: false,//器具数据组件
      gyStockPlaceShow: false,//仓位数据组件
      eHWHType:1,//仓库弹窗区分标志
      empType:1,//职员弹窗区分标志
      deptType:1,//部门弹窗区分标志
      deptform: {},//弹窗选中数据
      openData: false,//数据弹窗
      dialogTitle: '',
      organizationList: [],//组织列表
      subDisabled: false,//编辑页面保存按钮是否禁用(true禁用,false可用)
      // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3)
      HInterID: null,
      HInterID: 0,
      baseURL: process.env.VUE_APP_BASE_API,
      checkedSysZb: [],
      editData: [],//销售出库单子表
      editData: [],//子表
      editData1: [],//汇总子表
      editBtData: [],//子表表头
      activeName: 'first',
      activeName1:'first',
      // 弹出层标题
      title: "",
      // 是否显示弹出层
@@ -452,14 +431,20 @@
      form: {},
      // 表单校验
      rules: {
        HSupName: [
          { required: true, message: "客户不能为空", trigger: "blur" }
        ],
        HDate: [
          { required: true, message: "日期不能为空", trigger: "blur" }
        ],
        HExRate: [
          { required: true, message: "汇率不能为空", trigger: "blur" }
        HWHName: [
          { required: true, message: "器具仓库不能为空", trigger: "blur" }
        ],
        HSecManagerName: [
          { required: true, message: "验收员不能为空", trigger: "blur" }
        ],
        HKeeperName: [
          { required: true, message: "保管员不能为空", trigger: "blur" }
        ],
        HDeptName: [
          { required: true, message: "部门不能为空", trigger: "blur" }
        ]
      }
    };
@@ -467,9 +452,6 @@
  created() {
    this.fetchData()
    this.getdata()
  },
  beforeDestroy() {
    this.$destroy()
  },
  methods: {
    fetchData() {
@@ -486,118 +468,7 @@
      console.log(this.copyType, this.OperationType)
      this.formShow = false
      this.formLoading = true
      if (this.OperationType == 4) {
        this.zzSelDis = true
        this.handleAdd()
        var data = this.getUrlVars_JSON();
        var dataArray = [];
        for (var i = 0; i < data.length; i++) {
          // this.getPushSourceBillInit(data[i].hmainid, data[i].hsubid);
          axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', {
            params: {
              "HInterID": data[i].hmainid
              , "HSubID": data[i].hsubid
            },
          }).then(response => {
            let result = response.data
            if (result.code == 1) { // 说明验证成功了,
              this.temp = result.data[0];
            } else {
              this.temp = result.data;
            }
            if (this.temp) {
              dataArray.push(this.temp);
              this.form.HDeptID = dataArray[0].HDeptID
              this.form.HDeptName = dataArray[0].部门
              this.form.HEmpID = dataArray[0].HEmpID
              this.form.HEmpName = dataArray[0].业务员
              this.form.HManagerID = dataArray[0].HManagerID
              this.form.HManagerName = dataArray[0].主管
              this.form.HMainSourceInterID = "0"
              this.form.HMainSourceEntryID = "0"
              this.form.HMainSourceBillNo = ""
              this.form.HMainSourceBillType = dataArray[0].HBillType
              this.form.HSupID = dataArray[0].HCusID
              this.form.HSupName = dataArray[0].客户
              this.form.HLinkMan = dataArray[0].联系人
              this.form.HLinkPhone = dataArray[0].联系电话
              this.form.HSellSID = dataArray[0].HSellSID
              this.form.HSellSName = dataArray[0].销售方式
              this.form.HCurID = dataArray[0].HCurID
              this.form.HCurName = dataArray[0].币别
              this.form.HExRate = dataArray[0].汇率
              for (var i = 0; i < dataArray.length; i++) {
                this.editData.push(
                  {
                    "HMaterID": dataArray[i].HMaterID
                    , "物料代码": dataArray[i].物料代码
                    , "物料名称": dataArray[i].物料名称
                    , "规格型号": dataArray[i].规格型号
                    , "HUnitID": dataArray[i].HUnitID
                    , "计量单位": dataArray[i].计量单位
                    , "HQtyMust": dataArray[i].数量.toFixed(6)
                    , "HQty": dataArray[i].数量.toFixed(6)
                    , "HPieceQty": "0"
                    , "HPrice": dataArray[i].单价.toFixed(4)
                    , "HTaxPrice": dataArray[i].实际含税单价.toFixed(4)
                    , "HTaxRate": dataArray[i].税率
                    , "HMoney": dataArray[i].金额.toFixed(2)
                    , "HTaxMoney": dataArray[i].价税合计.toFixed(2)
                    , "HWHID": dataArray[i].HWHID
                    , "发货仓库": dataArray[i].HWHName
                    , "HRemark": ""
                    , "HQty_Full": "0"
                    , "HQty_Empty": "0"
                    , "HQty_Back": "0"
                    , "HCostPrice": "0"
                    , "HCostMoney": "0"
                    , "HSalePrice": "0"
                    , "HSeOrderInterID": dataArray[i].hmainid
                    , "HSeOrderEntryID": dataArray[i].hsubid
                    , "HSeOrderBillNo": dataArray[i].单据号
                    , "HSourceInterID": dataArray[i].hmainid
                    , "HSourceEntryID": dataArray[i].hsubid
                    , "HSourceBillNo": dataArray[i].单据号
                    , "HSourceBillType": dataArray[i].HBillType
                    , "HRelationQty": "0"
                    , "HRelationMoney": "0"
                    , 'HSPID': "0"
                    , 'HSPName': ""
                    , 'HSPGroupID': "0"
                    , "HSPGroupName": ""
                    , 'HSCWHID': "0"
                    , 'HSCWHName': ""
                    , 'HSCSPID': "0"
                    , 'HSCSPName': ""
                    , 'HBatchNo': ""
                    , 'HPOOrderInterID': "0"
                    , 'HPOOrderEntryID': "0"
                    , 'HPOOrderBillNo': ""
                    , 'HPropertyID': "0"
                    , 'HPropertyName': ""
                    , 'HSecUnitID': "0"
                    , 'HSecUnitName': ""
                    , 'HSecUnitRate': "0"
                    , 'HEngineNum': ""
                    , 'HUnderPanNum': ""
                    , 'HLeaveFactCard': ""
                    , 'HReqBuyQty': "0"
                    , 'HReqOutQty': "0"
                    , 'HCurrentInventory': "0"
                  }
                );
              }
            }
            this.$nextTick(() => {
              this.formShow = true
              this.formLoading = false
            })
          }).catch(error => {
            this.$modal.msgError("接口请求失败!");
          });
        }
      } else if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
      if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
        this.handleAdd()
      } else if (this.OperationType == 3 || this.copyType == 1) {
        this.handleUpdate()
@@ -611,70 +482,81 @@
      datajson = JSON.parse(decodeURI(arr));
      return datajson;
    },
    //根据主内码与子内码获取源单销售订单数据
    getPushSourceBillInit(HSourceInterID, HSourceEntryID) {
      axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', {
        params: {
          "HInterID": HSourceInterID
          , "HSubID": HSourceEntryID
        },
      }).then(response => {
        let result = response.data
        if (result.code == 1) { // 说明验证成功了,
          this.temp = result.data[0];
        } else {
          this.temp = result.data;
        }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
    },
    handleRowHide() {
      this.rowHideShow = true
      this.openRowHide = true
    },
    rowSetClose(val) {
      this.rowHideShow = false
      this.openRowHide = val
      this.$destroy()
    },
    organizationChange(val) {
      // let options=undefined
      //  this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
    },
    //部门弹窗赋值
    //弹窗赋值
    dbEmitData(deptRow, num) {
      // num=1部门 num=2出库仓库
      // num=1部门 num=2仓库
      console.log(deptRow)
      if (deptRow.HItemID) {
      if (deptRow.HItemID || deptRow.hmainid) {
        if (num == 1) {
          this.form.HDeptName = deptRow.部门名称
          this.form.HDeptID = deptRow.HItemID
          this.form.HManagerName = deptRow.负责人
          if(this.deptType == 1){
            this.form.HDeptName = deptRow.部门名称
            this.form.HDeptID = deptRow.HItemID
          }else{
            this.form.HSupName = deptRow.部门名称
            this.form.HSupID = deptRow.HItemID
          }
          this.deptShow = false
          this.openData = false
        } else if (num == 2) {
          this.editData[this.zbIndex].HWHID = deptRow.HItemID;
          this.editData[this.zbIndex].发货仓库 = deptRow.仓库名称;
          if(this.eHWHType == 1){
            this.form.HWHName = deptRow.仓库名称
            this.form.HWHID = deptRow.HItemID
            this.form.HWHNumber = deptRow.仓库代码
          }else{
            this.editData[this.zbIndex].HWHID = deptRow.HItemID
            this.editData[this.zbIndex].HWHCode = deptRow.仓库代码
            this.editData[this.zbIndex].HWHName = deptRow.仓库名称
          }
          this.warehouseShow = false
          this.openData = false
        } else if (num == 3) {
          this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
          this.editData[this.zbIndex].物料代码 = deptRow.物料代码;
          this.editData[this.zbIndex].物料名称 = deptRow.物料名称;
          this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
          this.editData[this.zbIndex].规格型号 = deptRow.规格型号
          this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称
          this.editData[this.zbIndex].HTaxPrice = deptRow.含税成本价
          this.editData[this.zbIndex].HTaxRate = deptRow.默认税率
          this.materialShow = false
          this.openData = false
        } else if (num == 4) {
          this.form.HEmpName = deptRow.职员名称
          this.form.HEmpID = deptRow.HItemID
          if(this.empType == 1){
            this.form.HSecManagerName = deptRow.职员名称
            this.form.HSecManagerID = deptRow.HItemID
          }else{
            this.form.HKeeperName = deptRow.职员名称
            this.form.HKeeperID = deptRow.HItemID
          }
          this.gyEmployeeShow = false
          this.openData = false
        } else if (num == 6) {
          this.form.HSupName = deptRow.供应商名称
          this.form.HSupID = deptRow.HItemID
          this.gySupplierShow = false
          this.openData = false
        } else if (num == 7) {
          this.form.HSupName = deptRow.客户名称
          this.form.HSupID = deptRow.HItemID
          this.gyCustomerShow = false
          this.openData = false
        } else if (num == 8){
          this.editData[this.zbIndex].HMaterID = deptRow.hmainid
          this.editData[this.zbIndex].HMaterCode = deptRow.模具编号
          this.editData[this.zbIndex].HMaterName = deptRow.模具名称
          this.editData[this.zbIndex].HMaterSpec = deptRow.模具型号
          this.editData[this.zbIndex].HUnitID = deptRow.HUnitID
          this.editData[this.zbIndex].HUnitCode = deptRow.计量单位代码
          this.editData[this.zbIndex].HUnitName = deptRow.计量单位
          this.gyMouldShow = false
          this.openData = false
        } else if (num == 9){
          this.editData[this.zbIndex].HSPID = deptRow.HMainID
          this.editData[this.zbIndex].HSPCode = deptRow.仓位代码
          this.editData[this.zbIndex].HSPName = deptRow.仓位名称
          this.gyStockPlaceShow = false
          this.openData = false
        }
      } else {
@@ -695,63 +577,31 @@
      this.openData = false
    },
    //销售出库单新增编辑表单初始化
    //表单初始化
    reset() {
      this.form = {
        BillType: '1402',
        // BillType: '1402',
        HBillNo: '',
        HInterID: '',
        HBillSubType: '1205',
        HInterID: 0,
        HDate: new Date(),
        HMainSourceInterID: 0,
        HMainSourceEntryID: 0,
        HMainSourceBillType: '',
        HMainSourceBillNo: '',
        HEmpName: '',
        HEmpID: 0,
        HInnerBillNo:'',
        HWHName:'',
        HWHNumber:'',
        HWHID:0,
        HSecManagerName:'',
        HSecManagerID:0,
        HKeeperName:'',
        HKeeperID:0,
        HDeptName: '',
        HDeptID: 0,
        HManagerName: '',
        HManagerID: 0,
        HSupName: sessionStorage["HSupName"],
        HSupID: sessionStorage["HSupID"],
        HLinkMan: '',
        HLinkPhone: '',
        HSecManagerName: '',
        HSecManagerID: 0,
        HKeeperName: '',
        HKeeperID: 0,
        HRemark: '',
        HProjectNumber: '',
        HProjectID: 0,
        HProjectName: '',
        HGroupName: '',
        HGroupID: 0,
        HWHName: '',
        HWHID: 0,
        HConveyCompName: '',
        HConveyCompID: 0,
        HConveyTypeName: '',
        HConveyTypeID: 0,
        HConveyMoney: '0',
        HCarriage: '0',
        HSTOCKORGID: sessionStorage["OrganizationID"] - 0,//组织id
        HOWNERID: sessionStorage["OrganizationID"] - 0,
        HSCWHName: '',
        HSCWHID: 0,
        HCheckStatusMan: '',
        HExplanation: '',
        HInnerBillNo: '',
        HCurName: '人民币',
        HCurID: 1,
        HExRate: '1',
        HSellSName: '',
        HSellSID: 0,
        HCusBalance: '0',
        HCreditRating_Now: '0',
        HAvailableBalance: '0',
        HPriceType: '成本价',
        HOrgID: sessionStorage["OrganizationID"] - 0,
        HSupTypeID: 1,
        HSupName:'',
        HSupID:0,
        HSourceBillType:'',
        XDH:'',
        HExplanation:'',
        HRemark:'',
        HMaker: '',
        HUpDater: '',
        HChecker: '',
@@ -764,21 +614,35 @@
        HDeleteDate: '',
      }
      this.editData = []
      this.editData1 = []
      this.editBtData = []
      this.ids = []
      this.subDisabled = false
      this.addBtnShow = false
      // this.$refs.tableData.clearSelection()
      this.activeName = 'first'
      this.activeName1 = 'first'
      this.resetForm("form");
    },
    //退出
    close() {
      this.reset()
      console.log(this.$route.path)
      if (!this.OperationType && !this.copyType) {
        const obj = { path: "/sell/sellOut/sellOutBillEdit", name: "SellOutBillEdit" };
        this.$tab.closePage(obj);
        console.log(this.$route.path)
        const obj = { fullPath: this.$route.path, path: this.$route.path, name: this.$route.name, };
        this.$tab.closePage(obj).then(res => {
          const latestView = res.visitedViews.slice(-1)[0]
          if (latestView) {
            this.$router.push(latestView.fullPath)
          } else {
            if (obj.name === 'Dashboard') {
              this.$router.replace({ path: '/redirect' + obj.fullPath })
            } else {
              this.$router.push('/')
            }
          }
        });
      } else {
        this.formShow = false
        this.$emit('editClose', false)
@@ -794,8 +658,6 @@
        this.form.HDeptName = dataForm.HDeptName
        this.form.HEmpID = dataForm.HEmpID
        this.form.HEmpName = dataForm.HEmpName
        this.form.HManagerID = dataForm.HManagerID
        this.form.HManagerName = dataForm.HManagerName
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
@@ -816,44 +678,16 @@
      })
    },
    getHBillNo() {
      axios.get(this.baseURL + "/WEBSController/GetMaxBillNoAndID_Json", {
      axios.get(this.baseURL + "/Web/GetMAXNum", {
        params: {
          HBillType: '1205'
          HBillType: '3803'
        }
      }).then(response => {
        this.form.HMaker = sessionStorage["HUserName"]
        this.form.HBillNo = response.data.data[0].HBillNo
        this.form.HInterID = response.data.data[0].HInterID
        this.form.HInterID = 0
        // this.copyType = 0
        // this.getCzyglByUser()
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
    },
    //获取销售出库单对应的条码明细
    getBarCodeNoteBySellOutBill(rowHmainid) {
      axios.get(this.baseURL + '/Kf_SellOutBill/BarCodeNote', {
        params: { "HInterID": rowHmainid }
      }).then(response => {
        if (response.data.count == 1) {
          if (response.data.data[2].length > 0) {
            this.$modal.msgError("当前单据由扫码生成,不可以编辑!");
            this.subDisabled = true
          }
        } else { }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
    },
    //#region 根据客户获取客户余额
    getCustomerBalance(HCusID) {
      axios.get(this.baseURL + '/Xs_CusRatingChangeBill/getCustomerBalance', {
        params: { "HCusID": HCusID, 'CurUserName': sessionStorage["HUserName"] }
      }).then(response => {
        var data = response.data.data[0];
        this.form.HCusBalance = data.HCusBalance
        this.form.HCreditRating_Now = data.HCreditRating_Now
        this.form.HAvailableBalance = data.HAvailableBalance
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
@@ -863,173 +697,75 @@
      this.reset()
      let rowHmainid = this.linterid
      console.log(this.linterid)
      axios.get(this.baseURL + "/Kf_SellOutBill/cx", {
        params: { 'HInterID': rowHmainid }
      //主表
      axios.get(this.baseURL + "/Sc_MouldProdBackBill/Sc_MouldProdBackBillListCheckDetai", {
        params: { 'HID': rowHmainid }
      }).then(response => {
        if (response.data.count == 1) {
          var result = response.data
          var data = response.data.data[0]
          this.form.BillType = data.HSourceBillType
        if (response.data.code == 1) {
          var data = response.data.data.h_v_Sc_MouldProdBackBill_Edit[0]
          console.log(data)
          if (this.copyType == 1) {
            this.getHBillNo()
            let date = new Date()
            this.form.HDate = moment(date).format('YYYY-MM-DDTHH:mm:ss')
          } else {
            this.form.HBillNo = data.单据号
            this.form.HInterID = data.hmainid
            this.form.HDate = data.日期
            this.form.HMaker = data.制单人
            this.form.HUpDater = data.修改人
            this.form.HChecker = data.审核人
            this.form.HMakeDate = data.制单日期
            this.form.HUpDateDate = data.修改日期
            this.form.HCheckDate = data.审核日期
            this.form.HCloseMan = data.关闭人
            this.form.HDeleteMan = data.作废人
            this.form.HCloseDate = data.关闭日期
            this.form.HDeleteDate = data.作废日期
          }
          this.form.HBillSubType = data.HBillSubType
          this.form.HMainSourceInterID = data.HMainSourceInterID
          this.form.HMainSourceEntryID = data.HMainSourceEntryID
          this.form.HMainSourceBillType = data.HMainSourceBillType
          this.form.HMainSourceBillNo = data.HMainSourceBillNo
          this.form.HEmpName = data.业务员
          this.form.HEmpID = data.HEmpID
          this.form.HDeptName = data.部门
          this.form.HDeptID = data.HDeptID
          this.form.HManagerName = data.主管
          this.form.HManagerID = data.HManagerID
          this.form.HSupName = data.客户
          this.form.HSupID = data.HSupID
          this.form.HLinkMan = data.联系人
          this.form.HLinkPhone = data.联系电话
          this.form.HSecManagerName = data.发货人
          this.form.HSecManagerID = data.HSecManagerID
          this.form.HKeeperName = data.保管员
          this.form.HKeeperID = data.HKeeperID
          this.form.HRemark = data.表头备注
          this.form.HProjectNumber = data.项目编码
          this.form.HProjectID = data.HProjectID
          this.form.HProjectName = data.项目名称
          this.form.HGroupName = data.班组
          this.form.HGroupID = data.HGroupID
          this.form.HWHName = data.主表仓库
          this.form.HWHID = data.HWHID_Main
          this.form.HConveyCompName = data.运输公司
          this.form.HConveyCompID = data.HConveyCompID
          this.form.HConveyTypeName = data.运输方式
          this.form.HConveyTypeID = data.HConveyTypeID
          this.form.HConveyMoney = data.HConveyMoney
          this.form.HCarriage = data.运费
          this.form.HSTOCKORGID = data.HSTOCKORGID
          this.form.HOWNERID = data.HOWNERID
          this.form.HSCWHName = data.主表调出仓库
          this.form.HSCWHID = data.HSCWHID
          this.form.HCheckStatusMan = data.核销人
          this.form.HExplanation = data.摘要
          this.form.HInnerBillNo = data.内部单据号
          this.form.HCurName = data.币别
          this.form.HCurID = data.HCurID
          this.form.HExRate = data.汇率
          this.form.HSellSName = data.销售方式
          this.form.HSellSID = data.HSellSID
          //  this.form.HCusBalance=data
          //  this.form.HCreditRating_Now=HConveyMoney
          //  this.form.HAvailableBalance=data
          this.form.HPriceType = data.单价类型
          this.form.HOrgID = data.HOrgID
          this.getCustomerByCusID(response.data.data[0].HSupID)//根据客户获取联系人,联系人电话
          this.getBarCodeNoteBySellOutBill(rowHmainid)//获取销售出库单对应的条码明细是否可编辑
          for (var i = 0; i < result.data.length; i++) {
            this.editData.push(
              {
                "HMaterID": result.data[i].HMaterID
                , "物料代码": result.data[i].物料代码
                , "物料名称": result.data[i].物料名称
                , "规格型号": result.data[i].规格型号
                , "HUnitID": result.data[i].HUnitID
                , "计量单位": result.data[i].计量单位
                , "HQtyMust": result.data[i].应发数量.toFixed(6)
                , "HQty": result.data[i].数量.toFixed(6)
                , "HPieceQty": result.data[i].件数.toFixed(0)
                , "HPrice": result.data[i].单价.toFixed(4)
                , "HTaxPrice": result.data[i].含税单价.toFixed(4)
                , "HTaxRate": result.data[i].税率
                , "HMoney": (result.data[i].数量 * result.data[i].单价).toFixed(2)
                , "HTaxMoney": (result.data[i].数量 * result.data[i].含税单价, 2).toFixed(2)
                , "HWHID": result.data[i].hwhid
                , "发货仓库": result.data[i].发货仓库
                , "HRemark": result.data[i].表体备注
                , "HQty_Full": result.data[i].满车重量
                , "HQty_Empty": result.data[i].空车重量
                , "HQty_Back": result.data[i].回车重量
                , "HCostPrice": result.data[i].成本单价
                , "HCostMoney": result.data[i].成本金额
                , "HSalePrice": result.data[i].销售单价
                , "HSeOrderInterID": result.data[i].HSeOrderInterID
                , "HSeOrderEntryID": result.data[i].HSeOrderEntryID
                , "HSeOrderBillNo": result.data[i].销售订单号
                , "HSourceInterID": result.data[i].HSourceInterID
                , "HSourceEntryID": result.data[i].HSourceEntryID
                , "HSourceBillNo": result.data[i].源单单号
                , "HSourceBillType": result.data[i].HSourceBillType
                , "HRelationQty": result.data[i].关联数量
                , "HRelationMoney": result.data[i].关联金额
                , 'HSPID': result.data[i].HSPID
                , 'HSPName': result.data[i].仓位
                , 'HSPGroupID': result.data[i].HSPGroupID
                , "HSPGroupName": result.data[i].仓位组
                , 'HSCWHID': result.data[i].HSCWHID
                , 'HSCWHName': result.data[i].调出仓库
                , 'HSCSPID': result.data[i].HSCSPID
                , 'HSCSPName': result.data[i].调出仓位
                , 'HBatchNo': result.data[i].批次
                , 'HPOOrderInterID': result.data[i].采购订单内码
                , 'HPOOrderEntryID': result.data[i].采购订单子内码
                , 'HPOOrderBillNo': result.data[i].采购订单号
                , 'HPropertyID': result.data[i].HPropertyID
                , 'HPropertyName': result.data[i].辅助属性
                , 'HSecUnitID': result.data[i].HSecUnitID
                , 'HSecUnitName': result.data[i].辅助计量单位
                , 'HSecUnitRate': result.data[i].换算率
                , 'HEngineNum': result.data[i].发动机号
                , 'HUnderPanNum': result.data[i].地盘号
                , 'HLeaveFactCard': result.data[i].出厂证
                , 'HReqBuyQty': result.data[i].申请采购数量
                , 'HReqOutQty': result.data[i].申请出库数量
                , 'HCurrentInventory': result.data[i].当前库存
              }
            );
          }
          if (data.状态 != '创建' && this.copyType != 1) {
            this.$modal.msgError("此条数据不是创建状态,不能修改");
            this.subDisabled = true
            this.form = {
                  "HBillNo": data.单据号
                , "HDate": data.日期
                , "HInnerBillNo": data.内部单据号
                , "HWHID": data.HWHID                    //仓库ID
                , "HWHName": data.仓库                   //仓库名称
                , "HSecManagerID": data.hsecmanagerid    //验收员ID
                , "HSecManagerName": data.领料人         //验收员名称
                , "HKeeperID": data.hkeeperid            //保管员ID
                , "HKeeperName": data.发料人            //保管员名称
                , "HDeptID": data.HDeptID                 //部门ID
                , "HDeptName": data.部门                //部门名称
                , "HSourceBillType": ""                   //源单类型
                , "XDH": ""                               //选单号
                , "HExplanation": data.摘要              //摘要
                , "HRemark": data.表头备注                    //备注
                , "HSupTypeID": data.往来类型                             //选单号
                , "HSupName": data.往来单位
                , "HSupID": data.HSupID
                , "HMaker": data.制单人
                , "HMakeDate": data.制单日期 == null ? "" : data.制单日期
                , "HChecker": data.审核人
                , "HCheckDate": data.审核日期 == null ? "" : data.审核日期
                , "HUpDater": data.修改人
                , "HUpDateDate": data.修改日期 == null ? "" : data.修改日期
                , "HCloseMan": data.关闭人
                , "HCloseDate": data.关闭日期 == null ? "" : data.关闭日期
                , "HDeleteMan": data.作废人
                , "HDeleteDate": data.作废日期 == null ? "" : data.作废日期
            }
          }
          this.formShow = true
          this.formLoading = false
        }
      }).catch(error => {
        console.log(error)
        this.$modal.msgError("接口请求失败!");
      });
    },
    //根据客户带出联系人、联系电话
    getCustomerByCusID(HCusID) {
      axios.get(this.baseURL + "/Xs_SeOrderBill/getCustomerByCusID", {
        params: {
          HCusID: HCusID
        }
      //子表
      axios.get(this.baseURL + "/Sc_MouldProdBackBill/Sc_MouldProdBackBillListProjectDetai", {
        params: { 'sqlWhere': "and hmainid=" + rowHmainid }
      }).then(response => {
        this.form.联系人 = response.data.data[0].HLinkMan
        this.form.联系电话 = response.data.data[0].HLinkPhone
        // this.form = response.data.data[0]
        if (response.data.count == 1) {
          var data = response.data
          console.log(data)
          this.editData = data.list[0]
          this.editData1 = data.list[1]
          this.formShow = true
          this.formLoading = false
        }
      }).catch(error => {
        console.log(error)
        this.$modal.msgError("接口请求失败!");
      });
    },
    /** 销售出库子表明细序号 */
    /** 子表明细序号 */
    rowSysZbIndex({ row, rowIndex }) {
      row.index = rowIndex + 1;
    },
@@ -1039,61 +775,29 @@
        this.$modal.msgError("请选择一行数据编辑!");
      } else {
        let obj = {
          HMaterID: 0,
          物料代码: '',
          物料名称: '',
          规格型号: '',
          HUnitID: 0,
          计量单位: '',
          HQtyMust: 1,
          HQty: 1,
          HPieceQty: 0,
          HPrice: 0,
          HTaxPrice: 0,
          HTaxRate: 0,
          HMoney: 0,
          HTaxMoney: 0,
          HWHID: 0,
          发货仓库: '',
          HRemark: '',
          HQty_Full: 0,
          HQty_Empty: 0,
          HQty_Back: 0,
          HCostPrice: 0,
          HCostMoney: 0,
          HSalePrice: 0,
          HSeOrderInterID: 741,
          HSeOrderEntryID: 18,
          HSeOrderBillNo: 'XSFH00000747',
          HSourceInterID: 741,
          HSourceEntryID: 18,
          HSourceBillNo: 'XSFH00000747',
          HSourceBillType: 1402,
          HRelationQty: 0,
          HRelationMoney: 0,
          HSPID: 0,
          HSPName: '',
          HSPGroupID: 0,
          HSPGroupName: '',
          HSCWHID: 0,
          HSCWHName: '',
          HSCSPID: 0,
          HSCSPName: '',
          HBatchNo: '',
          HPOOrderInterID: 0,
          HPOOrderEntryID: 0,
          HPOOrderBillNo: '',
          HPropertyID: 0,
          HPropertyName: '',
          HSecUnitID: 0,
          HSecUnitName: '',
          HSecUnitRate: 0,
          HEngineNum: '',
          HUnderPanNum: '',
          HLeaveFactCard: '',
          HReqBuyQty: 0,
          HReqOutQty: 0,
          HCurrentInventory: 0,
          HBatchNo: "",
          HDesignLife: 0,
          HLeaveLife: 0,
          HMaterCode:"",
          HMaterID:0,
          HMaterName:"",
          HMaterSpec:"",
          HMoney:0,
          HPrice:0,
          HQty:0,
          HQtyMust:0,
          HSPCode:"",
          HSPID:0,
          HSPName:"",
          HStockOrgID:sessionStorage["OrganizationID"] - 0,//组织id
          HUnitCode:"",
          HUnitID:0,
          HUnitName:"",
          HUseLife:0,
          HWHCode:"",
          HWHID:0,
          HWHName:"",
          HRemark:"",
        }
        if (index) {
          this.editData.splice(index, 0, obj);
@@ -1161,42 +865,38 @@
        this.$refs.zbTable.toggleRowSelection(del_row, false) //设置这一行取消选中
      }
    },
    //获取最大单据号_任务类(Type为0时只获取不新增流水号,为1时新增且获取流水号)
    get_MAXNum_Task(Type) {
      var sql = `exec h_p_Xt_GetMaxBillNo_SubType '1205','${this.form.HDate}',0,0,0,'${Type}','${this.form.HDeptID}'`;
      axios({
        method: 'get',
        url: this.baseURL + "/CommonModel/searchMethod",
        params: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": "" },
      }).then(response => {
        if (response.data.count == 1) {
          this.form.HBillNo = response.data.data[0].HBillNo;
        } else {
          this.$modal.msgError(response.data.code + response.data.Message);
        }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
    },
    // 编辑提交保存
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          let fhck = false
          this.editData.map((item, index) => {
            if (!item.发货仓库) {
          if(this.editData.length == 0){
              fhck = true
              this.$modal.msgError("第" + (index + 1) + "行:发货仓库未选择!");
              this.$modal.msgError("没有物料明细记录!");
          }
          this.editData.map((item, index) => {
            if (!item.HMaterID) {
              fhck = true
              this.$modal.msgError("第" + (index + 1) + "行:器具未选择!");
            }else if(!item.HWHID){
              fhck = true
              this.$modal.msgError("第" + (index + 1) + "行:仓库未选择!");
            }else if(item.HQty == 0){
              fhck = true
              this.$modal.msgError("第" + (index + 1) + "行:产品入库记录未扫码(实发数量为0)");
            }
          })
          this.$nextTick(() => {
            if (!fhck) {
              if(this.OperationType == 3){
                this.form.HInterID = this.linterid
              }
              var sMainStr = JSON.stringify(this.form);
              var sSubStr = JSON.stringify(this.editData);
              var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"] + ';' + this.OperationType;
              var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"];
              axios({
                method: 'post',
                url: this.baseURL + "/Kf_SellOutBill/SaveSellOutBillList",
                url: this.baseURL + "/Sc_MouldProdBackBill/SaveGetMouldProdBackBillList",
                data: {
                  'msg': sMainSub
                },
@@ -1204,12 +904,14 @@
                if (response.data.count == 1) {
                  this.subDisabled = true//设置保存按钮不可用
                  this.$modal.msgSuccess(response.data.Message);
                  this.get_MAXNum_Task(1);//设置流水号增加
                  if (response.data.Verify == "Y") //自动审核
                  {
                    this.set_CheckBill(0, this.form); //审核
                  }
                  // if (response.data.Verify == "Y") //自动审核
                  // {
                  //   this.set_CheckBill(1, this.form); //审核
                  // }
                  this.addBtnShow = true
                  this.close()
                } else {
                  this.$modal.msgError(response.data.code + response.data.Message);
                }
              }).catch(error => {
                this.$modal.msgError("接口请求失败!");
@@ -1223,8 +925,8 @@
    set_CheckBill(num, form) {
      var InterID = form.hmainid || form.HInterID
      //逻辑审核方法
      axios.get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", {
        params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
      axios.get(this.baseURL + "/Sc_MouldProdBackBill/AuditMouldProdBackBill", {
        params: { "HInterID": InterID, "flag": num, "user": sessionStorage["HUserName"] }
      }).then(response => {
        let result = response.data
        if (result.code == 1) {
@@ -1240,8 +942,11 @@
    showReset() {
      this.deptShow = false
      this.warehouseShow = false
      this.materialShow = false
      this.gyEmployeeShow = false
      this.gySupplierShow = false
      this.gyCustomerShow = false
      this.gyMouldShow = false
      this.gyStockPlaceShow = false
    },
    //  打开数据列表弹窗
    openDataDialog(num, row) {
@@ -1255,19 +960,46 @@
        this.deptShow = true
        this.openData = true
      } else if (num == 2) {
        this.dialogTitle = '出库仓库列表'
        this.dialogTitle = '仓库列表'
        this.warehouseShow = true
        this.openData = true
      } else if (num == 3) {
        this.dialogTitle = '物料列表'
        this.materialShow = true
        this.openData = true
      } else if (num == 4) {
        this.dialogTitle = '销售员列表'
        if(this.empType == 1){
          this.dialogTitle = '验收员列表'
        }else{
          this.dialogTitle = '保管员列表'
        }
        this.gyEmployeeShow = true
        this.openData = true
      }
      } else if (num == 6) {
        this.dialogTitle = '供应商列表'
        this.gySupplierShow = true
        this.openData = true
      }  else if (num == 7) {
        this.dialogTitle = '客户列表'
        this.gyCustomerShow = true
        this.openData = true
      }  else if (num == 8) {
        this.dialogTitle = '器具列表'
        this.gyMouldShow = true
        this.openData = true
      }  else if (num == 9) {
        this.dialogTitle = '仓位列表'
        this.gyStockPlaceShow = true
        this.openData = true
      }
    },
    //根据往来类型判断往来单位
    openDataDialogChoose(){
      if(this.form.HSupTypeID == 1){
        this.openDataDialog(6)
      }else if(this.form.HSupTypeID == 2){
        this.openDataDialog(7)
      }else if(this.form.HSupTypeID == 3){
        this.deptType = 2
        this.openDataDialog(1)
      }
    }
  }
};
</script>