<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      v-show="showSearch"
      label-width="88px"
    >
      <el-form-item label="业务编号" prop="fBillno">
        <el-input
          v-model="queryParams.fBillno"
          placeholder="请输入业务编号"
          style="width: 80%"
          clearable
          size="small"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="制单人" prop="createBy">
        <el-select
          v-model="queryParams.createBy"
          filterable
          remote
          clearable
          style="width: 80%"
          :remote-method="userRemoteMethod"
          placeholder="请选择制单人"
        >
          <el-option
            v-for="(dict, index) in userOptions"
            :key="index.userName"
            :label="dict.nickName"
            :value="dict.userName"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="入库日期" prop="timeInterval">
        <el-date-picker
          v-model="queryParams.timeInterval"
          type="daterange"
          value-format="yyyy-MM-dd"
          clearable
          style="width: 60%"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          @keyup.enter.native="handleQuery"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item label="贸易方式" prop="fTrademodeid">
        <el-select
          v-model="queryParams.fTrademodeid"
          placeholder="请选择贸易方式"
          clearable
          style="width: 80%"
          @keyup.enter.native="handleQuery"
        >
          <el-option
            v-for="(dict, index) in fTrademodeidOptions"
            :key="index.dictValue"
            :label="dict.dictLabel"
            :value="dict.dictValue"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="货权方" prop="fCorpid">
        <el-select
          v-model="queryParams.fCorpid"
          filterable
          remote
          clearable
          style="width: 80%"
          @keyup.enter.native="handleQuery"
          :remote-method="corpsRemoteMethod"
          placeholder="请输入模糊查找"
        >
          <el-option
            v-for="(dict, index) in fMblnoOptions"
            :key="index.fId"
            :label="dict.fName"
            :value="dict.fId"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="提单号" prop="fMblno">
        <el-input
          v-model="queryParams.fMblno"
          placeholder="请输入提单号"
          clearable
          style="width: 80%"
          size="small"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="经营单位" prop="fSbu">
        <el-select
          v-model="queryParams.fSbu"
          filterable
          remote
          clearable
          :remote-method="fSbuRemoteMethod"
          @keyup.enter.native="handleQuery"
          style="width: 80%"
          placeholder="请选择经营单位"
        >
          <el-option
            v-for="(dict, index) in fMblnoOptions"
            :key="index.fId"
            :label="dict.fName"
            :value="dict.fId"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="货物名称" prop="fGoodsid">
        <el-select
          v-model="queryParams.fGoodsid"
          filterable
          remote
          clearable
          style="width: 80%"
          :remote-method="goodsRemoteMethod"
          @keyup.enter.native="handleQuery"
          placeholder="请选择货物名称"
        >
          <el-option
            v-for="(dict, index) in goodsOptions"
            :key="index.fId"
            :label="dict.fName"
            :value="dict.fId"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="仓库" prop="fWarehouseid">
        <el-select
          v-model="queryParams.fWarehouseid"
          filterable
          :disabled="browseStatus"
          remote
          clearable
          style="width: 80%"
          :remote-method="warehouseRemoteMethod"
          @keyup.enter.native="handleQuery"
          placeholder="请输入"
        >
          <el-option
            v-for="(dict, index) in warehouseOptions"
            :key="index.fId"
            :label="dict.fName"
            :value="dict.fId"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="唛头" prop="fMarks">
        <el-input
          v-model="queryParams.fMarks"
          placeholder="请输入唛头"
          clearable
          style="width: 80%"
          size="small"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item>
        <el-button
          type="cyan"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索
        </el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置
        </el-button>
      </el-form-item>
    </el-form>

    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd(false)"
          v-hasPermi="['warehouseBusiness:warehousebills:add']"
          >新增
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['warehouseBusiness:warehousebills:edit']"
          >修改
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['warehouseBusiness:warehousebills:remove']"
          >删除
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['warehouseBusiness:warehousebills:export']"
          >导出
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          :disabled="multiple"
          v-hasPermi="['warehouseBusiness:warehousebills:export']"
          >导入
        </el-button>
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>

    <el-table
      v-loading="loading"
      :data="warehousebillsList"
      @selection-change="handleSelectionChange"
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column type="index" label="行号" align="center" />
      <el-table-column
        :show-overflow-tooltip="true"
        label="货权方"
        align="center"
        prop="fCorpid"
      />
      <el-table-column label="提单号" align="center" prop="fMblno" />
      <el-table-column label="唛头" align="ceter" prop="fMarks" />
      <el-table-column
        label="入库日期"
        align="center"
        prop="fBsdate"
        width="180"
        ><template slot-scope="scope">
          <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <!-- <el-table-column
        label="贸易方式"
        align="center"
        prop="fTrademodeid"
        :formatter="fTrademodeidFormat"
      /> -->
      <el-table-column label="仓库" align="center" prop="fWarehouseid" />
      <el-table-column label="入库件数" align="center" prop="fQty" />
      <!--      <el-table-column label="入库毛重" align="center" prop="fGrossweight"/>-->
      <!-- <el-table-column label="货转客户名称" align="center" prop="fTocorpid" /> -->
      <el-table-column label="入库毛重" align="center" prop="fGrossweight" />
      <el-table-column label="入库净重" align="center" prop="fNetweight" />
      <el-table-column
        width="100"
        label="入库状态"
        align="center"
        prop="fItemsStatus"
      >
        <template slot-scope="scope">
          <span v-if="scope.row.fItemsStatus === 1">未入账</span>
          <span v-if="scope.row.fItemsStatus === 2">部分入账</span>
          <span v-if="scope.row.fItemsStatus === 6">全部入账</span>
        </template>
      </el-table-column>
      <el-table-column
        width="100"
        label="费用状态"
        align="center"
        prop="fBillstatus"
      >
        <template slot-scope="scope">
          <span v-if="scope.row.fBillstatus === 1">录入</span>
          <span v-if="scope.row.fBillstatus === 2">录入</span>
          <span v-if="scope.row.fBillstatus === 3">驳回</span>
          <span v-if="scope.row.fBillstatus === 4">请核</span>
          <span v-if="scope.row.fBillstatus === 5">审核中</span>
          <span v-if="scope.row.fBillstatus === 6">全部入账</span>
        </template>
      </el-table-column>
      <el-table-column
        label="操作"
        align="center"
        class-name="small-padding fixed-width"
        width="180"
      >
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row, true)"
            v-hasPermi="['warehouseBusiness:warehousebills:edit']"
            >查看
          </el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            v-if="
              scope.row.fBillstatus === 1 ||
              scope.row.fBillstatus === 2 ||
              scope.row.fBillstatus === 3
            "
            @click="handleUpdate(scope.row, false)"
            v-hasPermi="['warehouseBusiness:warehousebills:edit']"
            >修改
          </el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            v-if="
              scope.row.fBillstatus !== '6' && scope.row.fItemsStatus === '1'
            "
            @click="handleDelete(scope.row)"
            v-hasPermi="['warehouseBusiness:warehousebills:remove']"
            >删除
          </el-button>
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- 新增或修改仓库主(出入库)对话框 -->
    <el-dialog
      :visible.sync="open"
      :close-on-click-modal="false"
      width="80%"
      append-to-body
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="8">
            <el-form-item label="货权方" prop="fCorpid">
              <el-select
                v-model="form.fCorpid"
                filterable
                remote
                @change="changefCorpid(form)"
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
                :remote-method="corpsRemoteMethod"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="(dict, index) in fMblnoOptions"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="结算方式" prop="fStltypeid">
              <el-select
                v-model="form.fStltypeid"
                placeholder="请选择结算方式"
                clearable
                :disabled="browseStatus"
                style="width: 80%"
              >
                <el-option
                  v-for="(dict, index) in fStltypeOptions"
                  :key="index.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="提单号" prop="fMblno">
              <el-input
                v-model="form.fMblno"
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
                placeholder="手工输入"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="业务日期" prop="fBsdate">
              <el-date-picker
                v-model="form.fBsdate"
                style="width: 80%"
                type="date"
                :disabled="browseStatus || formBrowseStatus"
                @change="changefBsdate"
                value-format="timestamp"
                placeholder="业务日期"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="仓管员" prop="fStorekeeper">
              <el-select
                v-model="form.fStorekeeper"
                filterable
                remote
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
                :remote-method="userRemoteMethod"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="(dict, index) in userOptions"
                  :key="index.userName"
                  :label="dict.nickName"
                  :value="dict.userName"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="仓库" prop="fWarehouseid">
              <el-select
                v-model="form.fWarehouseid"
                filterable
                :disabled="browseStatus || formBrowseStatus"
                remote
                @change="changefWarehouseid(form)"
                style="width: 80%"
                :remote-method="warehouseRemoteMethod"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="(dict, index) in warehouseOptions"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>

        <el-row>
          <el-col :span="8">
            <el-form-item label="计划件数" prop="fPlanqty">
             <el-input
                v-model="form.fPlanqty"
                style="width: 80%"
                laceholder="计划件数"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计划净重" prop="fPlannetweight">
              <el-input
                v-model="form.fPlannetweight"
                style="width: 80%"
                laceholder="计划毛重"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计划毛重" prop="fPlangrossweight">
              <el-input
                v-model="form.fPlangrossweight"
                style="width: 80%"
                laceholder="计划毛重"
              />
            </el-form-item>
          </el-col>
        </el-row>

        <el-row>
          <el-col :span="8">
            <el-form-item label="存货编号" prop="fBscorpno">
              <el-input
                disabled
                v-model="form.fBscorpno"
                style="width: 80%"
                laceholder="存货编号"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="质押银行" prop="fBankcorpid">
              <el-select
                v-model="queryParams.fBankcorpid"
                filterable
                remote
                clearable
                style="width: 80%"
                :disabled="browseStatus"
                @keyup.enter.native="handleQuery"
                :remote-method="corpsRemoteMethodd"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="(dict, index) in Pledgebank"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计费单位" prop="fFeetunit">
              <el-select
                v-model="form.fFeetunit"
                placeholder="请选择计费单位"
                clearable
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
              >
                <el-option
                  v-for="(dict, index) in fFeetunitOptions"
                  :key="index.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="唛头" prop="fMarks">
              <el-input
                v-model="form.fMarks"
                style="width: 80%"
                :disabled="browseStatus || formBrowseStatus"
                placeholder="唛头"
              />
            </el-form-item>
          </el-col>
          <el-col :span="15">
            <el-form-item label="备注" prop="remark">
              <el-input
                style="width: 100%"
                v-model="form.remark"
                type="textarea"
                :disabled="browseStatus || formBrowseStatus"
                placeholder="请输入内容"
              />
            </el-form-item>
          </el-col>
        </el-row>

        <div v-if="detailsHidden">
          <el-row style="margin-top: 30px">
            <el-col :span="8">
              <el-form-item label="仓库联系人" prop="fContacts">
                <el-input
                  v-model="form.fContacts"
                  style="width: 80%"
                  :disabled="browseStatus || formBrowseStatus"
                  placeholder="仓库联系人"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="仓库电话" prop="fTel">
                <el-input
                  v-model="form.fTel"
                  :disabled="browseStatus || formBrowseStatus"
                  style="width: 80%"
                  placeholder="请输仓库入电话"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="船名航次" prop="fVslvoy">
                <el-input
                  v-model="form.fVslvoy"
                  style="width: 80%"
                  :disabled="browseStatus || formBrowseStatus"
                  placeholder="船名航次"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="到港日期" prop="fEta">
                <el-date-picker
                  v-model="form.fEta"
                  style="width: 80%"
                  type="date"
                  :disabled="browseStatus || formBrowseStatus"
                  value-format="timestamp"
                  placeholder="到港日期"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="报关单号" prop="fCustomno">
                <el-input
                  v-model="form.fCustomno"
                  style="width: 80%"
                  :disabled="browseStatus || formBrowseStatus"
                  laceholder="报关单号"
                />
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item label="经营单位" prop="fSbu">
                <el-select
                  v-model="form.fSbu"
                  filterable
                  remote
                  :disabled="browseStatus || formBrowseStatus"
                  :remote-method="fSbuRemoteMethod"
                  style="width: 80%"
                  placeholder="请选择经营单位"
                >
                  <el-option
                    v-for="(dict, index) in fMblnoOptions"
                    :key="index.fId"
                    :label="dict.fName"
                    :value="dict.fId"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="单据编号" prop="fBillno">
                <el-input
                  v-model="form.fBillno"
                  disabled
                  style="width: 80%"
                  placeholder="单据编号"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="贸易方式" prop="fTrademodeid">
                <el-select
                  v-model="form.fTrademodeid"
                  placeholder="请选择贸易方式"
                  :disabled="browseStatus || formBrowseStatus"
                  clearable
                  style="width: 80%"
                >
                  <el-option
                    v-for="(dict, index) in fTrademodeidOptions"
                    :key="index.dictValue"
                    :label="dict.dictLabel"
                    :value="dict.dictValue"
                  />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="制单人" prop="createBy">
                <el-input
                  disabled
                  v-model="form.createBy"
                  style="width: 80%"
                  placeholder="制单人"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="制单部门" prop="fDeptid">
                <el-select
                  v-model="form.fDeptid"
                  filterable
                  disabled
                  style="width: 80%"
                  remote
                >
                  <el-option
                    v-for="(dict, index) in deptOptions"
                    :key="index.deptId"
                    :label="dict.deptName"
                    :value="dict.deptId"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item disabled label="制单日期" prop="fbilldate">
                <el-date-picker
                  v-model="form.createTime"
                  size="large"
                  type="date"
                  disabled
                  style="width: 80%"
                  value-format="timestamp"
                  placeholder="制单日期"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
             <el-col :span="8">
            <el-form-item label="质押" prop="fIfpledge">
              <el-select
                v-model="form.fIfpledge"
                placeholder="请选择是否过磅"
                clearable
                :disabled="browseStatus"
                style="width: 80%"
              >
                <el-option
                  v-for="(dict, index) in fIfpledgeOptions"
                  :key="index.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          </el-row>
          <el-row>
             <el-col :span="8">
            <el-form-item label="质押银行" prop="fBankcorpid">
              <el-select
                v-model="queryParams.fBankcorpid"
                filterable
                remote
                clearable
                style="width: 80%"
                :disabled="browseStatus"
                @keyup.enter.native="handleQuery"
                :remote-method="corpsRemoteMethodd"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="(dict, index) in Pledgebank"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
            <el-col :span="8">
            <el-form-item label="过磅" prop="fIfweigh">
              <el-select
                v-model="form.fIfweigh"
                placeholder="请选择是否过磅"
                clearable
                :disabled="browseStatus"
                style="width: 80%"
              >
                <el-option
                  v-for="(dict, index) in fIfweighOptions"
                  :key="index.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
            </el-row>
        </div>
      </el-form>

      <div
        class="dialogTableTitle flex a-center jlr"
        style="
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin: 10px 0;
        "
      >
        <div>
          <el-button
            type="primary"
            :disabled="browseStatus"
            @click.prevent="addRelevant(10)"
            >新行
          </el-button>
          <el-button
            :disabled="dataListSelection.length <= 0"
            @click.prevent="creditClick"
            >入库确认
          </el-button>
          <el-button
            :disabled="dataWithdrawList.length <= 0"
            @click.prevent="withdrawClick"
            >撤回入库</el-button
          >
          <el-button
            :disabled="browseStatus"
            type="primary"
            @click="submitForm(2)"
            >保 存</el-button
          >
        </div>
        <div>
          <el-button
            @click="
              detailsHidden ? (detailsHidden = false) : (detailsHidden = true)
            "
            >{{ detailsHidden ? "隐藏" : "展开" }}</el-button
          >
          <el-button type="success" prop="打印" @click="showEditDialog_ss"
            >收货单
          </el-button>
          <el-button type="warning" prop="打印" @click="showEditDialog_s"
            >入库单
          </el-button>
          <el-button @click="discharge">卸货 </el-button>
          <el-button type="info" prop="打印" @click="showEditDialog_sss"
            >作业单
          </el-button>
          <el-button
            :disabled="browseStatus"
            type="primary"
            @click="submitForm(2)"
            >保 存</el-button
          >
          <el-button
            :disabled="browseStatus"
            style="background-color: #008000; color: #fff"
            @click="submitForm(6)"
            >请核</el-button
          >
        </div>
        <div style="font-size: 18px">入库明细</div>
      </div>
      <el-table
        :data="dataList"
        ref="tableList"
        tooltip-effect="dark"
        border
        stripe
        :summary-method="getSummaries"
        @selection-change="Selectinventory"
        show-summary
      >
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column label="序号" type="index" width="80">
        </el-table-column>
        <el-table-column
          prop="fBsdate"
          header-align="center"
          align="center"
          width="150px"
          label="入库日期"
        >
          <template slot-scope="scope">
            <el-date-picker
              v-model="scope.row.fBsdate"
              style="width: 138px"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              type="date"
              value-format="timestamp"
              placeholder="入库日期"
            >
            </el-date-picker>
          </template>
        </el-table-column>
        <el-table-column
          prop="fGoodsid"
          header-align="center"
          align="center"
          width="140px"
          label="品名"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fGoodsid"
              filterable
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              remote
              :remote-method="goodsRemoteMethod"
              placeholder="请选择品名"
            >
              <el-option
                v-for="(dict, index) in goodsOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fWarehouselocid"
          header-align="center"
          width="140px"
          align="center"
          label="*库区"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fWarehouselocid"
              filterable
              remote
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              :remote-method="kqhouseRemoteMethod"
              placeholder="请选择库区"
            >
              <el-option
                v-for="(dict, index) in kqhouseOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fMarks"
          header-align="center"
          align="center"
          width="140px"
          label="唛头"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fMarks"
              placeholder="唛头"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fcntrtype"
          header-align="center"
          align="center"
          width="140px"
          label="箱型"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fCntrtype"
              placeholder="箱型"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fCntqty"
          header-align="center"
          align="center"
          width="140px"
          label="箱量"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$4")'
              v-model="scope.row.fCntqty"
              placeholder="箱量"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <!-- <el-table-column
          prop="fPlangrossweight"
          header-align="center"
          align="center"
          width="150px"
          label="计划毛重"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fPlangrossweight"
              placeholder="计划毛重"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column> -->
        <!-- <el-table-column
          prop="fPlannetweight"
          header-align="center"
          align="center"
          width="150px"
          label="计划净重"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fPlannetweight"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              placeholder="计划净重"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fPlanvolumn"
          header-align="center"
          width="150px"
          align="center"
          label="计划尺码"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fPlanvolumn"
              placeholder="尺码"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fPlanqty"
          header-align="center"
          width="150px"
          align="center"
          label="计划件数"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fPlanqty"
              placeholder="件数"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column> -->
        <el-table-column
          prop="fGrossweight"
          header-align="center"
          width="150px"
          align="center"
          label="*入库毛重"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fGrossweight"
              placeholder="入库毛重"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fNetweight"
          header-align="center"
          width="150px"
          align="center"
          label="*入库净重"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fNetweight"
              placeholder="入库净重"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fQty"
          header-align="center"
          width="150px"
          align="center"
          label="*入库件数"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fQty"
              placeholder="入库件数"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fPackagespecs"
          header-align="center"
          width="150px"
          align="center"
          label="*包装规格"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fPackagespecs"
              placeholder="包装规格"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="fTruckno"
          header-align="center"
          width="130px"
          align="center"
          label="*车号"
        >
          <template slot-scope="scope">
            <el-input
              oninput="value=value.replace(/[^\d.]/g,'')"
              v-model="scope.row.fTruckno"
              placeholder="*车号"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="fDriverName"
          header-align="center"
          width="130px"
          align="center"
          label="*司机名"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fDriverName"
              placeholder="司机名"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="fDriverTel"
          header-align="center"
          width="130px"
          align="center"
          label="*司机电话"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fDriverTel"
              placeholder="司机电话"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="fDriverIdCa"
          header-align="center"
          width="130px"
          align="center"
          label="*司机身份证"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fDriverIdCa"
              placeholder="司机身份证"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="fSerialNumber"
          header-align="center"
          width="160px"
          align="center"
          label="流水号"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fSerialNumber"
              placeholder="流水号"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="fCntrno"
          header-align="center"
          width="130px"
          align="center"
          label="箱号"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fCntrno"
              placeholder="箱号"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fGoodsval"
          header-align="center"
          width="130px"
          align="center"
          label="货值"
        >
          <template slot-scope="scope">
            <el-input
              oninput="value=value.replace(/[^\d.]/g,'')"
              v-model="scope.row.fGoodsval"
              placeholder="货值"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>

        <el-table-column
          prop="remark"
          header-align="center"
          width="130px"
          align="center"
          label="备注"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.remark"
              placeholder="备注"
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fBillstatus"
          header-align="center"
          width="150px"
          align="center"
          label="状态"
        >
          <template slot-scope="scope">
            <span v-if="scope.row.fBillstatus === 40">已入账</span>
            <span v-if="scope.row.fBillstatus === 20">待入库</span>
            <span v-if="scope.row.fBillstatus === 30">已卸货</span>
            <span v-if="scope.row.fBillstatus === 10">未入账</span>
            <!-- <span v-if="scope.row.fBillstatus === '30'">待入库</span> -->

            <!-- <span v-else>未入账</span> -->
            <!-- <el-input
              v-model="scope.row.fBillstatus"
              placeholder="状态"
              :disabled="browseStatus"
              show-word-limit
            /> -->
          </template>
        </el-table-column>
        <el-table-column
          header-align="center"
          align="center"
          label="操作"
          width="130PX"
        >
          <template slot-scope="scope">
            <el-button
              :disabled="
                browseStatus ||
                scope.row.fBillstatus === 20 ||
                scope.row.fBillstatus === 30 ||
                scope.row.fBillstatus === 40
              "
              @click.native.prevent="deleteRow(scope.$index, dataList)"
              size="small"
              >移除</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <div
        class="dialogTableTitle flex a-center jlr"
        style="
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin: 10px 0;
        "
      >
        <div>
          <el-button
            type="primary"
            :disabled="browseStatus"
            @click.prevent="addRelevt()"
            >新行
          </el-button>
        </div>
        <div style="font-size: 18px">附件明细</div>
      </div>
      <el-table
        :data="relevantAttachments"
        ref="table"
        tooltip-effect="dark"
        border
        stripe
        style="width: 100%"
        height="150"
      >
        <el-table-column label="序号" type="index" width="80">
        </el-table-column>
        <el-table-column
          prop="fName"
          header-align="center"
          align="center"
          width="250px"
          label="附件名称"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fName"
              :disabled="browseStatus"
              placeholder="附件名称"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="createBy"
          header-align="center"
          align="center"
          width="250px"
          label="上传人"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.createBy"
              disabled
              placeholder="上传人"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="createTime"
          header-align="center"
          align="center"
          label="上传时间"
        >
          <template slot-scope="scope">
            <el-date-picker
              v-model="scope.row.createTime"
              type="date"
              disabled
              placeholder="上传时间"
              format="yyyy-MM-dd HH:mm"
              value-format="timestamp"
            ></el-date-picker>
          </template>
        </el-table-column>
        <el-table-column
          prop="fUrl"
          header-align="center"
          align="center"
          width="300px"
          label="上传附件"
        >
          <template slot-scope="scope">
            <uploadFile
              :disabled="browseStatus"
              @input="showFile"
              v-model="scope.row.fUrl"
            />
          </template>
        </el-table-column>
        <el-table-column
          header-align="center"
          align="center"
          label="操作"
          width="130PX"
        >
          <template slot-scope="scope">
            <el-button
              @click.native.prevent="
                deleteRow(scope.$index, relevantAttachments)
              "
              :disabled="browseStatus"
              size="small"
              >移除
            </el-button>
          </template>
        </el-table-column>
      </el-table>
      <div
        class="dialogTableTitle flex a-center jlr"
        style="
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin: 10px 0;
        "
      >
        <div>
          <el-button
            type="primary"
            :disabled="browseStatus"
            @click.prevent="addCollection()"
            >新行
          </el-button>
          <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
          >删除
        </el-button> -->
          <el-button type="primary" @click="submitForm(2)">保 存</el-button>
          <!-- <el-button @click.prevent="addAgreement()" type="warning">仓储费协议</el-button> -->
          <el-button @click.prevent="addAgreement()" type="danger"
            >作业费协议</el-button
          >
        </div>
        <div style="font-size: 18px">收款信息</div>
      </div>
      <el-table
        :data="warehouseDrList"
        ref="table"
        tooltip-effect="dark"
        border
        stripe
        show-summary
        @selection-change="Collectionoptions"
        :summary-method="warehouseDrSummaries"
      >
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column label="序号" type="index" width="80">
        </el-table-column>
        <el-table-column
          prop="fCorpid"
          header-align="center"
          align="center"
          width="180px"
          label="客户名称"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fCorpid"
              filterable
              remote
              :disabled="browseStatus"
              :remote-method="corpsRemoteMethod"
              placeholder="客户名称"
            >
              <el-option
                v-for="(dict, index) in KHblnoOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fFeeid"
          header-align="center"
          align="center"
          width="180px"
          label="费用名称"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fFeeid"
              filterable
              remote
              :disabled="browseStatus"
              :remote-method="fWRemoteMethod"
              placeholder="费用名称"
            >
              <el-option
                v-for="(dict, index) in fWbuOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fFeeUnitid"
          header-align="center"
          align="center"
          width="180px"
          label="计价单位"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fFeeUnitid"
              placeholder="请选择计价单位"
              @change="changeFeeUnit(scope.row)"
              clearable
              :disabled="browseStatus"
            >
              <el-option
                v-for="(dict, index) in jFeetunitOptions"
                :key="index.dictValue"
                :label="dict.dictLabel"
                :value="dict.dictValue"
              />
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fQty"
          header-align="center"
          align="center"
          width="130px"
          label="数量"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fQty"
              placeholder="数量"
              :disabled="browseStatus"
              @change="changeContractAmt(scope.row)"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fUnitprice"
          header-align="center"
          align="center"
          width="130px"
          label="单价"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fUnitprice"
              placeholder="单价"
              :disabled="browseStatus"
              @change="changeContractAmt(scope.row)"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fAmount"
          header-align="center"
          align="center"
          width="130px"
          label="金额"
        >
          <template slot-scope="scope">
            <el-input
              disabled
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fAmount"
              placeholder="金额"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fCurrency"
          header-align="center"
          align="center"
          width="130px"
          label="币别"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fCurrency"
              :disabled="browseStatus"
              placeholder="币别"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fExrate"
          header-align="center"
          align="center"
          width="130px"
          label="汇率"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fExrate"
              :disabled="browseStatus"
              placeholder="汇率"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fTaxrate"
          header-align="center"
          align="center"
          width="130px"
          label="税率"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fTaxrate"
              :disabled="browseStatus"
              placeholder="税率"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="remarks"
          header-align="center"
          align="center"
          width="150px"
          label="备注"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.Remarks"
              :disabled="browseStatus"
              placeholder="备注"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          header-align="center"
          align="center"
          label="操作"
          width="200px"
        >
          <template slot-scope="scope">
            <!-- <el-button size="small">审核费用</el-button> -->
            <el-button
              @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"
              size="small"
              >移除</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <div
        class="dialogTableTitle flex a-center jlr"
        style="
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin: 10px 0;
        "
      >
        <div>
          <el-button
            type="primary"
            :disabled="browseStatus"
            @click.prevent="addpayment()"
            >新行
          </el-button>
          <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseCrList)"
          >删除
        </el-button> -->
          <el-button type="primary" @click="submitForm(2)">保 存</el-button>
          <!-- <el-button type="warning">仓储费协议</el-button> -->
          <el-button type="danger" @click.prevent="addAgreements()"
            >作业费协议</el-button
          >
        </div>
        <div style="font-size: 18px">付款信息</div>
      </div>
      <el-table
        :data="warehouseCrList"
        ref="table"
        tooltip-effect="dark"
        border
        stripe
        show-summary
        @selection-change="Paymentoptions"
        :summary-method="warehouseDrSummaries"
      >
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column label="序号" type="index" width="80">
        </el-table-column>
        <el-table-column
          prop="fCorpid"
          header-align="center"
          align="center"
          width="180px"
          label="客户名称"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fCorpid"
              filterable
              remote
              :disabled="browseStatus"
              :remote-method="corpsRemoteMethod"
              placeholder="客户名称"
            >
              <el-option
                v-for="(dict, index) in KHblnoOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fFeeid"
          header-align="center"
          align="center"
          width="180px"
          label="费用名称"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fFeeid"
              filterable
              :disabled="browseStatus"
              remote
              :remote-method="fWRemoteMethod"
              placeholder="费用名称"
            >
              <el-option
                v-for="(dict, index) in fWbuOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fFeeUnitid"
          header-align="center"
          align="center"
          width="180px"
          label="计价单位"
        >
          <template slot-scope="scope">
            <el-select
              v-model="scope.row.fFeeUnitid"
              filterable
              remote
              @change="changeFeeUnit(scope.row)"
              :disabled="browseStatus"
              :remote-method="corpsRemoteMethod"
              placeholder="计价单位"
            >
              <el-option
                v-for="(dict, index) in jFeetunitOptions"
                :key="index.dictValue"
                :label="dict.dictLabel"
                :value="dict.dictValue"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column
          prop="fQty"
          header-align="center"
          align="center"
          width="150px"
          label="数量"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fQty"
              :disabled="browseStatus"
              @change="changeContractAmt(scope.row)"
              placeholder="数量"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fUnitprice"
          header-align="center"
          align="center"
          width="150px"
          label="单价"
        >
          <template slot-scope="scope">
            <el-input
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fUnitprice"
              :disabled="browseStatus"
              @change="changeContractAmt(scope.row)"
              placeholder="单价"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fAmount"
          header-align="center"
          align="center"
          width="150px"
          label="金额"
        >
          <template slot-scope="scope">
            <el-input
              disabled
              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
              v-model="scope.row.fAmount"
              placeholder="金额"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fCurrency"
          header-align="center"
          align="center"
          width="150px"
          label="币别"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fCurrency"
              :disabled="browseStatus"
              placeholder="币别"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fExrate"
          header-align="center"
          align="center"
          width="150px"
          label="汇率"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fExrate"
              :disabled="browseStatus"
              placeholder="汇率"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="fTaxrate"
          header-align="center"
          align="center"
          width="150px"
          label="税率"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.fTaxrate"
              :disabled="browseStatus"
              placeholder="税率"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          prop="remarks"
          header-align="center"
          align="center"
          width="150px"
          label="备注"
        >
          <template slot-scope="scope">
            <el-input
              v-model="scope.row.remarks"
              :disabled="browseStatus"
              placeholder="备注"
              show-word-limit
            />
          </template>
        </el-table-column>
        <el-table-column
          header-align="center"
          align="center"
          width="200px"
          label="操作"
        >
          <template slot-scope="scope">
            <!-- <el-button size="small">审核费用</el-button> -->
            <el-button
              @click.native.prevent="deleteRow(scope.$index, warehouseCrList)"
              size="small"
              >移除</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <div slot="footer" class="dialog-footer">
        <el-button type="success" prop="打印" @click="showEditDialog_ss"
          >收货单
        </el-button>
        <el-button type="warning" prop="打印" @click="showEditDialog_s"
          >入库单
        </el-button>
        <el-button @click="discharge">卸货 </el-button>
        <el-button type="info" prop="打印" @click="showEditDialog_sss"
          >作业单
        </el-button>
        <el-button
          :disabled="browseStatus"
          type="primary"
          @click="submitForm(2)"
          >保 存</el-button
        >
        <el-button
          :disabled="browseStatus"
          style="background-color: #008000; color: #fff"
          @click="submitForm(6)"
          >请核</el-button
        >
        <el-button @click="cancel">取 消</el-button>
      </div>
      <!-- 入库新行计划重量导入 -->
      <el-dialog
        title="计划费用导入"
        :modal="false"
        style="height:500px;"
        height="50%"
        :visible.sync="weightList"
        @close="closeDialog"
        width="70%"
      >
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="8">
            <el-form-item label="计划件数" prop="fPlanqty">
             <el-input
                v-model="form.fPlanqty"
                style="width: 80%"
                laceholder="计划件数"
                @input="changeList(form)"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计划净重" prop="fPlannetweight">
             <el-input
                v-model="form.fPlannetweight"
                style="width: 80%"
                disabled
                laceholder="计划毛重"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计划毛重" prop="fPlangrossweight">
             <el-input
                v-model="form.fPlangrossweight"
                style="width: 80%"
                disabled
                laceholder="计划毛重"
              />
            </el-form-item>
          </el-col>
        </el-row>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="costList">导入</el-button>
          <el-button @click="weightList = false">取 消</el-button>
        </div>
      </el-dialog>
      <!-- 选择作业费协议数据 -->
      <el-dialog
        title="作业费协议"
        :modal="false"
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="warehousingagreement"
        width="70%"
      >
        <el-table
          :data="tasklegList"
          ref="table"
          tooltip-effect="dark"
          width="100%"
          border
          stripe
          @selection-change="whgenlegSelectionChange"
        >
          <el-table-column type="selection" width="55"> </el-table-column>
          <el-table-column label="行号" type="index" width="80">
          </el-table-column>
          <el-table-column
            prop="fCorpname"
            header-align="center"
            align="center"
            label="客户名称"
          >
          </el-table-column>
          <el-table-column
            prop="fName"
            header-align="center"
            align="center"
            label="费用名称"
          >
          </el-table-column>
          <el-table-column
            prop="fFeeUnitid"
            header-align="center"
            align="center"
            width="180px"
            label="计价单位"
          >
            <template slot-scope="scope">
              <el-select
                v-model="scope.row.fFeeUnitid"
                placeholder="请选择计费单位"
                @change="changeFeeUnit(scope.row)"
                :disabled="browseStatus"
                clearable
              >
                <el-option
                  v-for="dict in jFeetunitOptions"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </template>
          </el-table-column>
          <el-table-column
            prop="fPrice"
            header-align="center"
            align="center"
            label="单价"
          >
          </el-table-column>

          <!-- <el-table-column
            prop="fMarks"
            header-align="center"
            align="center"
            label="唛头"
          >
          </el-table-column> -->
        </el-table>
        <pagination
          v-show="whgenlegTotal > 0"
          :total="whgenlegTotal"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getWhgenlegList"
        />
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="whgenlegData"
            >导入作业费协议</el-button
          >
          <el-button @click="warehousingagreement = false">取 消</el-button>
        </div>
      </el-dialog>
      <!-- 选择作业费协议数据 -->
      <el-dialog
        title="作业费协议"
        :modal="false"
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="warehousingagreements"
        width="70%"
      >
        <el-table
          :data="tasklegList"
          ref="table"
          tooltip-effect="dark"
          width="100%"
          border
          stripe
          @selection-change="whgenlegSelectionChange"
        >
          <el-table-column type="selection" width="55"> </el-table-column>
          <el-table-column label="行号" type="index" width="80">
          </el-table-column>
          <el-table-column
            prop="fCorpname"
            header-align="center"
            align="center"
            label="客户名称"
          >
          </el-table-column>
          <el-table-column
            prop="fName"
            header-align="center"
            align="center"
            label="费用名称"
          >
          </el-table-column>
          <el-table-column
            prop="fFeeUnitid"
            header-align="center"
            align="center"
            width="180px"
            label="计价单位"
          >
            <template slot-scope="scope">
              <el-select
                v-model="scope.row.fFeeUnitid"
                placeholder="请选择计费单位"
                @change="changeFeeUnit(scope.row)"
                :disabled="browseStatus"
                clearable
              >
                <el-option
                  v-for="dict in jFeetunitOptions"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </template>
          </el-table-column>
          <el-table-column
            prop="fPrice"
            header-align="center"
            align="center"
            label="单价"
          >
          </el-table-column>
          <!-- <el-table-column
            prop="fMarks"
            header-align="center"
            align="center"
            label="唛头"
          >
          </el-table-column> -->
        </el-table>
        <pagination
          v-show="whgenlegTotal > 0"
          :total="whgenlegTotal"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getWhgenlegList"
        />
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="zhgenlegData">导入</el-button>
          <el-button @click="warehousingagreements = false">取 消</el-button>
        </div>
      </el-dialog>
      <el-dialog
        title=""
        :modal="false"
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="editDialogVisible_s"
        @close="closeDialog"
        width="70%"
      >
        <table
          id="print_area2"
          class="biaoge zzss"
          border="1"
          style="border-collapse: collapse; border: none"
        >
          <tr>
            <td
              width="100"
              colspan="7"
              class="zzss"
              style="font-size: 28px; font-weight: bold; border: none"
            >
              青岛大木进仓单
            </td>
          </tr>
          <tr>
            <td
              width="100"
              colspan="7"
              class="zzss"
              style="font-size: 28px; font-weight: bold; border: none"
            >
              &nbsp;
            </td>
          </tr>
          <tr>
            <td width="450" colspan="2" class="zzss">
              货权方：{{ form.fCorpid }}
            </td>
            <td width="450" colspan="2" class="zzss">
              仓库：{{ form.fWarehouseid }}
            </td>
            <td width="450" colspan="3" class="zzss">地址：{{ fAddr }}</td>
          </tr>
          <tr>
            <td width="200" colspan="2" class="zzss">保管方：大木有限公司</td>
            <td width="200" colspan="2" class="zzss">
              联系人：{{ form.fContacts }}
            </td>
            <td width="200" colspan="3" class="zzss">电话：{{ form.fTel }}</td>
          </tr>
          <tr>
            <td width="100" border="1">提单号</td>
            <td width="100">品名</td>
            <td width="100">箱型</td>
            <td width="100">品牌</td>
            <td width="100">件数</td>
            <td width="100">重量</td>
            <td width="100">包装规格</td>
          </tr>
          <tr>
            <td width="100">{{ form.fMblno }}</td>
            <td width="100">{{ fGoodsids }}</td>
            <td width="100">{{ fCntrtype }}</td>
            <td width="100"></td>
            <td width="100">包</td>
            <td width="100">吨</td>
            <td width="100"></td>
          </tr>
          <tr>
            <td width="100">序号</td>
            <td width="100">入货日期</td>
            <td width="100">箱量(20GP)</td>
            <td width="100">重量</td>
            <td width="100">件数</td>
            <td width="100">入库重量</td>
            <td width="100">入库件数</td>
          </tr>
          <tr v-for="(item, indexx) in Printinglist" :key="indexx">
            <td width="100">{{ indexx + 1 }}</td>
            <td width="100">{{ item.fBsdate }}</td>
            <td width="100">{{ item.fCntqty }}</td>
            <td width="100">{{ item.fGrossweight }}</td>
            <td width="100">{{ item.fPlanqty }}</td>
            <td width="100">{{ item.fNetweight }}</td>
            <td width="100">{{ item.fQty }}</td>
          </tr>
          <tr>
            <td width="100" colspan="2">合计：</td>
            <td width="100">{{ fCntqty }}</td>
            <td width="100">{{ fGrossweight }}</td>
            <td width="100">{{ fPlanqty }}</td>
            <td width="100">{{ fNetweight }}</td>
            <td width="100">{{ fQty }}</td>
          </tr>
          <tr>
            <td width="100">备注：</td>
            <td width="100" colspan="6"></td>
          </tr>
          <tr>
            <td width="100" colspan="7" class="zzss">
              本进仓单经仓管员签字并经保管方盖章后即专项作为货物所有人的货权证明，本单据不得转让。
            </td>
          </tr>
          <tr style="border: none">
            <td width="100" colspan="2" class="zzss" style="border: none">
              开单员：
            </td>
            <td width="100" colspan="3" class="zzss" style="border: none"></td>
            <td width="100" colspan="2" class="zzss" style="border: none">
              仓管员：
            </td>
          </tr>
          <tr style="border: none">
            <td width="100" colspan="2" class="zzss" style="border: none">
              开单时间：
            </td>
            <td width="100" colspan="3" class="zzss" style="border: none"></td>
            <td width="100" colspan="2" class="zzss" style="border: none">
              (盖章)
            </td>
          </tr>
        </table>
        <button @click="printSomething1">打印</button>
      </el-dialog>
      <el-dialog
        title=""
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="editDialogVisible_ss"
        width="70%"
        :modal="false"
      >
        <table
          id="print_area3"
          class="biaoge zzss"
          border="1"
          style="border-collapse: collapse; border: none;margin-top;100px;"
        >
          <tr>
            <td
              width="1400"
              colspan="6"
              class="zzss"
              style="font-size: 26px; font-weight: bold; border: none"
            >
              大木国际物流(青岛)有限公司收货单
            </td>
          </tr>
          <!-- <div v-for="{{}}" :key="index"> -->
          <tr>
            <td width="400">车号:</td>
            <td width="400">{{ fTruckno }}</td>
            <td
              width="500"
              colspan="4"
              style="padding-bottom: 0px; font-weight: bold; border: none"
              class="zzss"
            >
              日期：{{ fBsdates }}
            </td>
            <!-- <td
              width="500"
              colspan="2"
              style="padding-bottom: 0px; font-weight: bold; border: none"
              class="zzss"
            >
            </td> -->
          </tr>
          <tr v-for="(item, index) in Printinglist" :key="index">
            <td width="250">货物品名:</td>
            <!-- <td width="200" colspan="">1</td> -->
            <td width="250">{{ item.fGoodsids }}</td>
            <!-- <td width="250">白色聚吕</td> -->
            <!-- <td width="200" colspan="2">件数: 161件</td> -->
            <!-- <td width="200"></td> -->
            <td width="200" colspan="4" class="zzss">
              件数: {{ item.fQty }}件
            </td>
          </tr>
          <!-- <tr>
            <td width="1400" colspan="6">&nbsp;</td>
          </tr> -->
          <tr>
            <td>备注:</td>
            <td colspan="5">{{ form.remark }}</td>
          </tr>
          <tr>
            <td>司机签字:</td>
            <td></td>
            <td colspan="2">司机电话:</td>
            <td colspan="2">{{ form.fTel }}</td>
          </tr>
          <tr>
            <td>制单人:</td>
            <td>{{ form.createBy }}</td>
            <td colspan="2">收货人:</td>
            <td colspan="2">{{ form.fContacts }}</td>
          </tr>
          <!-- <tr>
            <td colspan="6" class="zzss">&nbsp;</td>
          </tr> -->
          <tr>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="290" class="zzss">地址：{{ fAddr }}</td>
            <td width="290" class="zzss">电话：{{ form.fTel }}</td>
          </tr>
          <!-- </div> -->
        </table>
        <button @click="printSomething">打印</button>
      </el-dialog>
      <el-dialog
        title=""
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="editDialogVisible_sss"
        width="70%"
        :modal="false"
      >
        <table
          id="print_area1"
          class="biaoge zzss"
          border="1"
          style="border-collapse: collapse; border: none"
        >
          <tr>
            <td
              width="1400"
              colspan="6"
              class="zzss"
              style="font-size: 28px; font-weight: bold; border: none"
            >
              大木国际物流(青岛)有限公司作业单
            </td>
          </tr>
          <tr>
            <td
              width="900"
              colspan="4"
              class="zzss"
              style="font-size: 28px; font-weight: bold"
            >
              &nbsp;
            </td>
            <td
              width="500"
              colspan="2"
              style="padding-bottom: 0px; font-weight: bold; border: none"
              class="zzss"
            >
              出库日期：{{ fBsdates }}
            </td>
          </tr>
          <tr v-for="(item, index) in Printinglist" :key="index">
            <td width="200">车号</td>
            <td width="200">{{ item.fTruckno }}</td>
            <td width="200">货物品名</td>
            <td width="200" colspan="4" class="zzss">{{ item.fGoodsids }}</td>
          </tr>
          <tr>
            <td width="1400" colspan="6">&nbsp;</td>
          </tr>
          <tr>
            <td>备注:</td>
            <td colspan="5"></td>
          </tr>
          <tr>
            <td>收费</td>
            <td>装箱费</td>
            <td>元</td>
            <td colspan="4">办单费：5元，过磅费自理</td>
          </tr>
          <tr>
            <td>司机签字：</td>
            <td></td>
            <td>电话</td>
            <td>{{ form.fTel }}</td>
            <td colspan="2" rowspan="2">
              确认货物数量无误，包装于货物完好！<br />出库盖好篷布，如有违背责任自负<br />装卸工是否收小费
            </td>
          </tr>
          <tr>
            <td>制表：</td>
            <td>{{ form.createBy }}</td>
            <td>机械/人工：</td>
            <td>{{ form.fContacts }}</td>
          </tr>
          <tr>
            <td colspan="6" class="zzss">&nbsp;</td>
          </tr>
          <tr>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="290" class="zzss">地址：{{ fAddr }}</td>
            <td width="290" class="zzss">电话：{{ form.fTel }}</td>
          </tr>
        </table>
        <button @click="printSomething2">打印</button>
      </el-dialog>
    </el-dialog>
  </div>
</template>

<script>
import print from "print-js";
import {
  addWhgenleg,
  addJoblist,
  disChargelist,
  updateCredit,
  listWarehousebills,
  getWarehousebills,
  delWarehousebills,
  addWarehousebills,
  updateWarehousebills,
  exportWarehousebills,
} from "@/api/warehouseBusiness/warehouseInStock";
import { listAgreement, operationAgreement } from "@/api/agreement/agreement";
import { listCorps } from "@/api/basicdata/corps";

import { listFees, getFees } from "@/api/basicdata/fees";

import { listWarehouse } from "@/api/basicdata/warehouse";

import { listArea } from "@/api/basicdata/area";

import { listGoods } from "@/api/basicdata/goods";

import { listUser, queryUserVal } from "@/api/system/user";
import UploadFile from "@/components/Uploadfile";
export default {
  name: "Warehousebills",
  components: {
    UploadFile,
  },
  data() {
    return {
      // 修改查看状态
      browseStatus: false,
      detailsHidden: false,
      warehousingagreement: false,
      warehousingagreements: false,
      formBrowseStatus: false,
      fTruckno: "",
      fBsdates: "",
      fCntrtype: "",
      fGoodsids: "",
      fPlaNnumber: '',
      fPlangNumber: '',
      // fPlannetweight: "",
      fPlanvolumn: "",
      fPlanqty: "",
      fFeeUnitid: "",
      fFeeUnitids: "",
      fGrossweight: "",
      fid: null,
      fCntqty: "",
      fNetweight: "",
      fQty: "",
      // 遮罩层
      loading: true,
      // 选中数组
      ids: [],
      Collectionoptionss: [],
      userVal: {
        userName: null,
        nickName: null,
        deptId: null,
      },
      queryForm: {},
      // 新增用户对话框
      editDialogVisible_s: false,
      editDialogVisible_ss: false,
      editDialogVisible_sss: false,
      editDialogClosed_ss: false,
      // 新增计划净重
      weightList: false,
      dataList: [],
      warehouseCrList: [],
      warehouseDrList: [],
      Pledgebank: [],
      relevantAttachments: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 仓库主(出入库)表格数据
      warehousebillsList: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      // 货权方(客户数据)
      fMblnoOptions: [],
      // 货权方(客户数据)
      // 客户名称
      KHblnoOptions: [],
      // 作业费协议
      tasklegList: [],
      whgenlegTotal: 0,
      Printinglist: [],
      // 库存明细入账数组
      dataListSelection: [],
      fAddr: "",
      // 库存明细撤回入账数组
      dataWithdrawList: [],
      fSbuOptions: [],
      // 操作员
      userOptions: [],
      // 操作员
      goodsOptions: [],
      // 制单部门
      deptOptions: [],
      // 仓库(仓库数据)
      warehouseOptions: [],
      kqhouseOptions: [],
      // 贸易方式(数据字典),对应t_trademodels 字典
      fTrademodeidOptions: [],
      // 计费单位(数据字典),下拉选择毛重或净重字典
      fFeetunitOptions: [
        {dictLabel: "件数",dictValue: "1"},
        {dictLabel: "毛重",dictValue: "2"},
        {dictLabel: "净重",dictValue: "3"},
        {dictLabel: "尺码",dictValue: "4"},
        {dictLabel: "固定",dictValue: "5"},
      ],
      // 结算方式(数据字典),下拉选择字典
      fStltypeOptions: [],
      // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典
      fIfweighOptions: [],
      // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典
      fIfpledgeOptions: [],
      // 是否破损(数据字典),默认F否则T字典
      fIfdamageOptions: [],
      // 单据类型(数据字典)SJRK字典
      fBilltypeOptions: [],
      // 状态(数据字典),N 入字典
      fBillstatusOptions: [],
      // 费用名称
      fWbuOptions: [],
      // 计价单位
      jFeetunitOptions: [
        {dictLabel: "件数",dictValue: "1"},
        {dictLabel: "毛重",dictValue: "2"},
        {dictLabel: "净重",dictValue: "3"},
        {dictLabel: "尺码",dictValue: "4"},
        {dictLabel: "固定",dictValue: "5"},
      ],
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        fBillno: null,
        createBy: null,
        createTime: null,
        fCustomsdeclartion: null,
        fOriginalbillno: null,
        fDeptid: null,
        timeInterval: null,
        fBsdeptid: null,
        fContacts: null,
        fTel: null,
        fCorpid: null,
        fTocorpid: null,
        fStltypeid: null,
        fBscorpno: null,
        fWarehouseid: null,
        fStorekeeper: null,
        fBsdate: null,
        fPlanqty: null,
        fPlangrossweight: null,
        fPlannetweight: null,
        fPlanvolumn: null,
        fQty: null,
        fGrossweight: null,
        fNetweight: null,
        fVolumn: null,
        fTrademodeid: null,
        fSbu: null,
        fFeetunit: null,
        fMblno: null,
        fVslvoy: null,
        fEta: null,
        fCustomno: null,
        fIfweigh: null,
        fIfpledge: null,
        fIfdamage: null,
        fBankcorpid: null,
        fBilltype: null,
        fBillstatus: null,
        fCreateby: null,
        fCreatetime: null,
        fGoodsid: null,
        fCntrtype: null,
        fCntqty: null,
      },
      // 作业费参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        fCorpid: null,
        fLineno: null,
      },
      // 表单参数
      form: {
        fItemsStatus: null,
      },
      // 表单校验
      rules: {
        fDeptid: [{ required: true, message: " ", trigger: "blur" }],
        fMblno: [{ required: true, message: " ", trigger: "blur" }],
        fBsdeptid: [{ required: true, message: " ", trigger: "blur" }],
        fCorpid: [
          {
            required: true,
            message: " ",
            trigger: "blur",
          },
        ],
        fFeetunit: [{ required: true, message: " ", trigger: "blur" }],
        fPlanqty: [{ required: true, message: " ", trigger: "blur" }],
        fPlangrossweight: [{ required: true, message: " ", trigger: "blur" }],
        fPlannetweight: [{ required: true, message: " ", trigger: "blur" }],
        fChargedate: [{ required: true, message: " ", trigger: "blur" }],
        fMarks: [{ required: true, message: " ", trigger: "blur" }],
        fBillingway: [{ required: true, message: " ", trigger: "blur" }],
        fBsdate: [{ required: true, message: " ", trigger: "blur" }],
        fTrademodeid: [{ required: true, message: " ", trigger: "blur" }],
        fSbu: [{ required: true, message: " ", trigger: "blur" }],
        fStorekeeper: {
          required: true,
          message: " ",
          trigger: "blur",
        },
        fWarehouseid: [{ required: true, message: " ", trigger: "blur" }],
        fbillingway: [
          {
            required: true,
            message: " ",
            trigger: "blur",
          },
        ],
        fTocorpid: [
          {
            required: true,
            message: " ",
            trigger: "blur",
          },
        ],
      },
    };
  },
  created() {
    this.getList();
    this.getDicts("data_trademodes").then((response) => {
      this.fTrademodeidOptions = response.data;
    });
    // this.getDicts("data_unitfees").then((response) => {
    //   this.fFeetunitOptions = response.data;
    //   console.log(response.data)
    //   this.jFeetunitOptions = JSON.parse(JSON.stringify(response.data));
    // });
    this.getDicts("data_stltype_type").then((response) => {
      this.fStltypeOptions = response.data;
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.fIfweighOptions = response.data;
      console.log(this.fIfweighOptions);
    });
    this.getDicts("data_ifpledge_status").then((response) => {
      this.fIfpledgeOptions = response.data;
    });
    this.getDicts("data_ifdamage_status").then((response) => {
      this.fIfdamageOptions = response.data;
    });
    this.getDicts("data_billtype_type").then((response) => {
      this.fBilltypeOptions = response.data;
    });
    this.getDicts("sys_common_status").then((response) => {
      this.fBillstatusOptions = response.data;
    });
  },

  methods: {
    // 上传成功返回数据
    showFile(row) {
      // this.$set(this.relevantAttachments[0], 'fName', row.fileName)
      this.$set(this.relevantAttachments[0], "fUrl", row.url);
    },
    printSomething() {
      console.log("111111");
      // 此处的style即为打印时的样式
      const style =
        "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";
      print({
        printable: "print_area3",
        type: "html",
        style: style, // 亦可使用引入的外部css;
        scanStyles: false,
      });
    },
    printSomething1() {
      console.log("22222");
      // 此处的style即为打印时的样式
      const style =
        "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";
      print({
        printable: "print_area2",
        type: "html",
        style: style, // 亦可使用引入的外部css;
        scanStyles: false,
      });
    },
    printSomething2() {
      // 此处的style即为打印时的样式
      const style =
        "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";
      print({
        printable: "print_area1",
        type: "html",
        style: style, // 亦可使用引入的外部css;
        scanStyles: false,
      });
      this.addList();
    },
    // 新增附件上传
    addRelevt() {
      this.relevantAttachments.push({
        fUrl: null,
        fName: null,
        createBy: this.form.createBy,
        createTime: Date.parse(new Date()),
      });
    },
    // 新增作业费协议
    addAgreement() {
      console.log("222");
      console.log(this.form.fCorpid);
      if (!this.form.fCorpid) {
        this.$message({
          message: "请维护货权方",
          type: "warning",
        });
      } else {
        this.whgenlegList = [];
        this.dialogWhgenlegList = [];
        this.whgenlegTotal = 0;
        this.warehousingagreement = true;
        this.getWhgenlegList();
      }
    },
    // 新增付款作业费协议
    addAgreements() {
      console.log("333");
      if (!this.form.fCorpid) {
        this.$message({
          message: "请维护货权方",
          type: "warning",
        });
      } else {
        this.whgenlegList = [];
        this.dialogWhgenlegList = [];
        this.whgenlegTotal = 0;
        this.warehousingagreements = true;
        this.getWhgenlegList();
      }
    },

    // 新增list
    addRelevant(status) {
      let corpidStatus =
        typeof this.form.fPlannetweight === "undefined" ||
        this.form.fPlannetweight == null ||
        this.form.fPlannetweight === "";
      let ftrademodeids =
        typeof this.form.fPlangrossweight === "undefined" ||
        this.form.fPlangrossweight == null ||
        this.form.fPlangrossweight === "";
      let warehouseidStatus =
        typeof this.form.fPlanqty === "undefined" ||
        this.form.fPlanqty == null ||
        this.form.fPlanqty === "";
        if (corpidStatus || warehouseidStatus || ftrademodeids) {
        this.$message({
          message: "请维护计划净重，计划毛重，计划件数",
          type: "warning",
        });
        return false;
      }
      this.fPlaNnumber = this.form.fPlannetweight/this.form.fPlanqty;
      this.fPlangNumber = this.form.fPlangrossweight/this.form.fPlanqty;
      this.weightList = true;
      let time = null;
      // console.log(this.dataList)
      // console.log(this.dataList[0].fBillstatus)
      
     
      // console.log(this.dataList[0].fBillstatus);
    },

    // 收货单打印界面
    showEditDialog_s() {
      console.log(this.dataListSelection);
      if (this.Printinglist.length > 0) {
        this.editDialogVisible_s = true;
        for (let aorp in this.Printinglist) {
          var date = new Date(this.Printinglist[aorp].fBsdate);
          var Y = date.getFullYear() + "-";
          var M =
            (date.getMonth() + 1 < 10
              ? "0" + (date.getMonth() + 1)
              : date.getMonth() + 1) + "-";
          var D =
            (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
          this.$set(this.Printinglist[aorp], "fBsdate", Y + M + D);
          console.log(this.dataList);
        }
        for (let corp in this.fMblnoOptions) {
          if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
            this.$set(this.form, "fCorpid", this.fMblnoOptions[corp].fName);
          }
        }

        for (let sorp in this.warehouseOptions) {
          console.log(this.form.fWarehouseid);
          if (this.form.fWarehouseid === this.warehouseOptions[sorp].fId) {
            this.$set(
              this.form,
              "fWarehouseid",
              this.warehouseOptions[sorp].fName
            );
          }
        }
      } else {
        this.$message.error("请选择需要打印的明细!");
      }
    },
    closeDialog() {
      for (let aorp in this.Printinglist) {
        this.$set(
          this.Printinglist[aorp],
          "fBsdate",
          Date.parse(this.Printinglist[aorp].fBsdate)
        );
      }
    },
    showEditDialog_ss() {
      console.log(this.dataListSelection);
      if (this.Printinglist.length > 0) {
        this.editDialogVisible_ss = true;
      } else {
        this.$message.error("请选择需要打印的明细!");
      }
    },
    showEditDialog_sss() {
      if (this.Printinglist.length > 0) {
        for (let warehouseCr in this.Printinglist) {
          if (
            this.Printinglist[warehouseCr].fTruckno !=
            this.Printinglist[0].fTruckno
          ) {
            this.$message.error("请选择车相同车号");
            return false;
          }
          if (
            this.Printinglist[warehouseCr].fDriverName !=
            this.Printinglist[0].fDriverName
          ) {
            this.$message.error("请选择相同司机名");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fGoodsid) {
            this.$message.error("请选择品名");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fWarehouselocid) {
            this.$message.error("请选择库区");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fGrossweight) {
            this.$message.error("请选择入库毛重");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fNetweight) {
            this.$message.error("请选择入库净重");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fQty) {
            this.$message.error("请选择入库件数");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fDriverName) {
            this.$message.error("请输入司机姓名");
            return false;
          }
          if (!this.Printinglist[warehouseCr].fPackagespecs) {
            this.$message.error("请输入司机电话");
            return false;
          }
        }
        this.editDialogVisible_sss = true;
        // this.addList()
      } else {
        this.$message.error("请选择需要打印的明细!");
      }
    },
    // 收款信息
    addCollection() {
      this.warehouseDrList.push({
        fCorpid: null,
        fFeeid: null,
        fFeeUnitid: null,
        fQty: null,
        fUnitprice: null,
        fAmount: null,
        fCurrency: "RMB",
        fExrate: "1",
        fCxrate: null,
        fRate: null,
        remarks: null,
      });
    },
    addpayment() {
      this.warehouseCrList.push({
        fCorpid: null,
        fFeeid: null,
        fFeeUnitid: null,
        fQty: null,
        fUnitprice: null,
        fAmount: null,
        fCurrency: "RMB",
        fExrate: "1",
        fCxrate: null,
        fRate: null,
        remarks: null,
      });
    },
    queryUser() {
      queryUserVal().then((response) => {
        console.log(response);
        if (response.user !== null) {
          this.userVal = response.user;
          this.$set(this.form, "fDeptid", this.userVal.deptId);
          this.$set(this.form, "createBy", this.userVal.userName);
          this.$set(this.form, "fIfdamage", "1");
          this.$set(this.form, "fIfweigh", "1");
          this.$set(this.form, "fTrademodeid", "1");
          // this.$set(this.relevantAttachments, "opUserName", this.userVal.userName);
          this.$set(this.form, "createTime", Date.parse(new Date()));
        }
        if (response.dept !== null) {
          this.deptOptions = [];
          this.deptOptions.push(response.dept);
        }
      });
    },
    /** 查询仓库主(出入库)列表 */
    getList() {
      this.loading = true;
      listWarehousebills(this.queryParams).then((response) => {
        this.warehousebillsList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // 查询作业费信息
    getWhgenlegList() {
      // this.queryParams.fCorpid = this.form.fCorpid;
      this.queryParams.fLineno = this.form.fCorpid;
      operationAgreement(this.queryParams).then((response) => {
        console.log(response);
        this.tasklegList = response.rows;
        for (let li in this.tasklegList) {
          this.$set(
            this.tasklegList[li],
            "fFeeUnitid",
            this.tasklegList[li].fFeeUnitid + ""
          );
        }
        this.whgenlegTotal = response.total;
      });
    },
    // 导入计划重量
    costList() {
      // if (this.form.fBsdate) {
      //   time = this.form.fBsdate;
      // }
       this.dataList.push({
        fBsdate: this.form.fBsdate,
        fGoodsid: null,
        fCntrtype: null,
        fCntqty: 1,
        // fPlangrossweight: 0,
        // fPlannetweight: 0,
        fNetweight: this.form.fPlannetweight,
        fPlanvolumn: 0,
        // fPlanqty: 0,
        fGrossweight: this.form.fPlangrossweight,
        fQty: this.form.fPlanqty,
        fPackagespecs: null,
        fWarehouselocid: null,
        fBoxno: null,
        fGoodsval: null,
        fTruckno: null,
        remark: null,
        fBillstatus: 10,
      });
      this.weightList = false;
      
    },

    // 导入付款信息
    whgenlegData() {
      console.log(this.dialogWhgenlegList);
      console.log("...(");
      if (this.dialogWhgenlegList.length === 0) {
        this.$message({
          message: "请选择需要导入的数据",
          type: "warning",
        });
      } else {
        for (let whgen in this.dialogWhgenlegList) {
          let feeId = this.dialogWhgenlegList[whgen].feeFId;
          getFees(feeId).then((response) => {
            this.fWbuOptions.push(response.data);
          });
          this.warehouseDrList.push({
            fCorpid: this.dialogWhgenlegList[whgen].fCorpid,
            fFeeid: feeId,
            fFeeUnitid: this.dialogWhgenlegList[whgen].fFeeUnitid + "",
            fUnitprice: this.dialogWhgenlegList[whgen].fPrice,
            fCurrency: "RMB",
            fExrate: "1",
          });
          console.log(JSON.stringify(this.warehouseDrList));
        }
        this.warehousingagreement = false;
      }
    },
    zhgenlegData() {
      if (this.dialogWhgenlegList.length === 0) {
        this.$message({
          message: "请选择需要导入的数据",
          type: "warning",
        });
      } else {
        for (let zhgen in this.dialogWhgenlegList) {
          let feeId = this.dialogWhgenlegList[zhgen].feeFId;
          getFees(feeId).then((response) => {
            this.fWbuOptions.push(response.data);
          });
          this.warehouseCrList.push({
            fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
            fFeeid: feeId,
            fFeeUnitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + "",
            fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
            fCurrency: "RMB",
            fExrate: "1",
          });
        }
        this.warehousingagreements = false;
      }
    },
    // 贸易方式(数据字典),对���t_trademodels 字典翻译
    fTrademodeidFormat(row, column) {
      return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);
    },
    // 计费单位(数据字典),下拉选择毛重或净重字典翻译
    fFeetunitFormat(row, column) {
      return this.selectDictLabel(this.fFeetunitOptions, row.fFeetunit);
    },
    // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典翻译
    fIfweighFormat(row, column) {
      return this.selectDictLabel(this.fIfweighOptions, row.fIfweigh);
    },
    // 编号字典翻译
    fStltypeidFormat(row, column) {
      return this.selectDictLabel(this.fStltypeOptions, row.fStltypeid);
    },
    // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典翻译
    fIfpledgeFormat(row, column) {
      return this.selectDictLabel(this.fIfpledgeOptions, row.fIfpledge);
    },
    // 是否破损(数据字典),默认F否则T字典翻译
    fIfdamageFormat(row, column) {
      return this.selectDictLabel(this.fIfdamageOptions, row.fIfdamage);
    },
    // 单据类型(数据字典)SJRK字典翻译
    fBilltypeFormat(row, column) {
      return this.selectDictLabel(this.fBilltypeOptions, row.fBilltype);
    },
    // 状态(数据字典),N 入字典翻译
    fBillstatusFormat(row, column) {
      return this.selectDictLabel(this.fBillstatusOptions, row.fBillstatus);
    },
    // 取消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // 表单重置
    reset() {
      this.form = {
        fId: null,
        fBillno: null,
        fCustomsdeclartion: null,
        fOriginalbillno: null,
        fDeptid: null,
        fBsdeptid: null,
        fContacts: null,
        fTel: null,
        fCorpid: null,
        fTocorpid: null,
        fStltypeid: null,
        fBscorpno: null,
        fWarehouseid: null,
        fStorekeeper: null,
        fBsdate: null,
        fPlanqty: null,
        fPlangrossweight: null,
        fPlannetweight: null,
        fPlanvolumn: null,
        fQty: null,
        fGrossweight: null,
        fNetweight: null,
        fVolumn: null,
        fTrademodeid: null,
        fSbu: null,
        fFeetunit: null,
        fMblno: null,
        fVslvoy: null,
        fEta: null,
        fCustomno: null,
        fIfweigh: null,
        fIfpledge: null,
        fIfdamage: null,
        fBankcorpid: null,
        fBilltype: null,
        fBillstatus: null,
        delFlag: null,
        createBy: null,
        createTime: null,
        updateBy: null,
        updateTime: null,
        remark: null,
        fCreateby: null,
        fCreatetime: null,
        fGoodsid: null,
        fCntrtype: null,
        fCntqty: null,
      };
      this.fMblnoOptions = [];
      this.userOptions = [];
      this.warehouseOptions = [];
      this.fSbuOptions = [];
      this.goodsOptions = [];
      this.kqhouseOptions = [];
      this.relevantAttachments = [];
      this.KHblnoOptions = [];
      this.fWbuOptions = [];
      this.resetForm("form");
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      console.log(selection);
      this.ids = selection.map((item) => item.fId);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    // 库存明细多选
    Selectinventory(selection) {
      console.log(selection);
      console.log(this.form);
      this.Printinglist = selection;
      this.dataListSelection = [];
      if (!selection || selection.length === 0) {
        return false;
      } else {
        for (let se in selection) {
          if (
            !selection[se].fBillstatus ||
            selection[se].fBillstatus !== "40"
          ) {
            this.dataListSelection.push(selection[se]);
          } else if (
            selection[se].fBillstatus &&
            selection[se].fBillstatus === "40"
          ) {
            this.dataWithdrawList.push(selection[se]);
          }
        }
        if (this.dataListSelection.length > 0) {
          console.log(selection)
          this.fTruckno = selection[0].fTruckno;
          this.fCntrtype = selection[0].fCntrtype;
          this.fGoodsids = selection[0].fGoodsids;
          var date = new Date(selection[0].fBsdate);
          var Y = date.getFullYear() + "-";
          var M =
            (date.getMonth() + 1 < 10
              ? "0" + (date.getMonth() + 1)
              : date.getMonth() + 1) + "-";
          var D =
            (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
          this.fBsdates = Y + M + D;
        }
      }
      // 打印回显仓库
      for (let corp in this.warehouseOptions) {
        this.fAddr = this.warehouseOptions[corp].fAddr;
      }
    },

    // 收款选择
    Collectionoptions(selection) {
      console.log(selection);
      console.log("666");
      this.Collectionoptionss = selection;
    },
    // 收款删除
    deleteRow(row) {
      console.log("$");
      row.splice(this.Collectionoptionss);
    },
    deleteRoww(row) {},
    // 付款选择
    Paymentoptions(selection) {
      console.log(selection);
    },
    /** 新增按钮操作 */
    handleAdd(status) {
      this.browseStatus = status;
      this.reset();
      this.queryUser();
      this.open = true;
      this.detailsHidden = false;
      this.dataList = [];
      this.warehouseCrList = [];
      this.warehouseDrList = [];
      this.relevantAttachments = [];
      this.title = "入库单";
      this.formBrowseStatus = false;
    },
    /** 修改按钮操作 */
    handleUpdate(row, status) {
      console.log(row)
      this.browseStatus = status;
      this.reset();
      this.detailsHidden = false;
      const fId = row.fId || this.ids;
      console.log(fId)
      console.log(this.ids)
      getWarehousebills(fId).then((response) => {
        console.log(response);
        if (response.data.warehousebills) {
          this.form = response.data.warehousebills;
          if (this.form.fItemsStatus !== 1) {
            this.formBrowseStatus = true;
          }else {
            this.formBrowseStatus = false;
          }
        }
        if (response.data.corps) {
          this.fMblnoOptions = response.data.corps;
          this.KHblnoOptions = response.data.corps;
          this.fSbuOptions = response.data.corps;
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }
        if (response.data.warehouseBillsItem) {
          this.dataList = response.data.warehouseBillsItem;
        }
        if (response.data.enclosures) {
          this.relevantAttachments = response.data.enclosures;
        }
        this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
        this.$set(this.form, "fEta", Date.parse(this.form.fEta));
        this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
        this.$set(this.form, "createTime", Date.parse(this.form.createTime));
        this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
        for (let list in this.dataList) {
          this.$set(
            this.dataList[list],
            "fBsdate",
            Date.parse(this.dataList[list].fBsdate)
          );
        }
        this.goodsOptions = response.data.goodsList;
        this.kqhouseOptions = response.data.warehouseAreas;
        this.warehouseDrList = response.data.warehousebillsfeesDr;
        for (let dr in this.warehouseDrList) {
          this.$set(
            this.warehouseDrList[dr],
            "fFeeUnitid",
            this.warehouseDrList[dr].fFeeUnitid + ""
          );
        }
        this.warehouseCrList = response.data.warehousebillsfeesCr;
        for (let cr in this.warehouseCrList) {
          this.$set(
            this.warehouseCrList[cr],
            "fFeeUnitid",
            this.warehouseCrList[cr].fFeeUnitid + ""
          );
        }
        this.userOptions = response.data.sysUser;
        this.open = true;
        this.title = "修改仓入库";
      });
    },
    // 库存总账多选框
    whgenlegSelectionChange(selection) {
      this.dialogWhgenlegList = selection;
    },
    // 合计
    getSummaries(param) {
      console.log(param);
      const { columns, data } = param;
      const sums = [];
      var values = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = "";
          return;
        }
        // if (column.property === "fPlangrossweight") {
        //   values = data.map((item) => Number(item["fPlangrossweight"]));
        // }
        // if (column.property === "fPlannetweight") {
        //   values = data.map((item) => Number(item["fPlannetweight"]));
        // }
        if (column.property === "fPlanvolumn") {
          values = data.map((item) => Number(item["fPlanvolumn"]));
        }
        // if (column.property === "fPlanqty") {
        //   values = data.map((item) => Number(item["fPlanqty"]));
        // }
        if (column.property === "fGrossweight") {
          values = data.map((item) => Number(item["fGrossweight"]));
        }
        if (column.property === "fNetweight") {
          values = data.map((item) => Number(item["fNetweight"]));
        }
        if (column.property === "fQty") {
          values = data.map((item) => Number(item["fQty"]));
        }
        if (column.property === "fCntqty") {
          values = data.map((item) => Number(item["fCntqty"]));
        } // const values = data.map(item => Number(item[column.property]))
        if (
          // column.property === "fPlangrossweight" ||
          // column.property === "fPlannetweight" ||
          column.property === "fPlanvolumn" ||
          // column.property === "fPlanqty" ||
          column.property === "fGrossweight" ||
          column.property === "fNetweight" ||
          column.property === "fQty" ||
          column.property === "fCntqty"
        ) {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr);
            if (!isNaN(value)) {
              // if (column.property === "fPlangrossweight") {
              //   this.fPlangrossweight = prev + curr;
              // }
              // if (column.property === "fPlannetweight") {
              //   this.fPlannetweight = prev + curr;
              // }
              if (column.property === "fPlanvolumn") {
                this.fPlanvolumn = prev + curr;
              }
              // if (column.property === "fPlanqty") {
              //   this.fPlanqty = prev + curr;
              // }
              if (column.property === "fGrossweight") {
                this.fGrossweight = prev + curr;
              }
              if (column.property === "fNetweight") {
                this.fNetweight = prev + curr;
              }
              if (column.property === "fQty") {
                this.fQty = prev + curr;
              }
              if (column.property === "fCntqty") {
                this.fCntqty = prev + curr;
              }
              return prev + curr;
            } else {
              return prev;
            }
          }, 0); // sums[index]
        }
      });
      this.sums = sums;
      return sums;
    },
    // 付款合计
    warehouseDrSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = "合计";
          return;
        }
        const values = data.map((item) => Number(item[column.property]));
        if (
          column.property === "fUnitprice" ||
          column.property === "fAmount" ||
          column.property === "fQty" ||
          column.property === "fQty"
        ) {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr);
            if (!isNaN(value)) {
              return prev + curr;
            } else {
              return prev;
            }
          }, 0); // sums[index]
        }
      });
      return sums;
    },
    // 计划废用导入计算
    changeList(row) {
      console.log(row)
      console.log(this.fPlaNnumber)
     this.form.fPlannetweight = Number(this.form.fPlanqty)*Number(this.fPlaNnumber);
     this.form.fPlangrossweight = Number(this.form.fPlanqty)*Number(this.fPlangNumber);
    },
    // 数量计算
    changeContractAmt(row) {
      let fQty = 0;
      let fUnitprice = 0;
      if (row.fUnitprice) {
        fUnitprice = row.fUnitprice;
      }
      if (row.fQty) {
        fQty = row.fQty;
      }
      this.$set(row, "fAmount", Number(fUnitprice) * Number(fQty)).toFixed(2);
    },
    changefCorpid(row) {
      console.log(row);
      this.$set(row, "fSbu", row.fCorpid);
      for (let corp in this.fMblnoOptions) {
        if (row.fCorpid === this.fMblnoOptions[corp].fId) {
          this.$set(
            this.form,
            "fStltypeid",
            this.fMblnoOptions[corp].fStltypeid + ""
          );
        }
      }
    },
    // change仓库
    changefWarehouseid(row) {
      console.log(this.warehouseOptions);
      console.log(row);
      for (let corp in this.warehouseOptions) {
        if (row.fWarehouseid === this.warehouseOptions[corp].fId) {
          this.$set(
            this.form,
            "fContacts",
            this.warehouseOptions[corp].createBy
          );
          this.$set(this.form, "fTel", this.warehouseOptions[corp].fTotalgross);
          this.fAddr = this.warehouseOptions[corp].fAddr;
        }
      }
    },
    // 变更计价单位
    changeFeeUnit(row) {
      console.log(this.fCntqty);
      console.log(row);
      if (!row.fFeeUnitid) {
        return false;
      }
      if (row.fFeeUnitid === "0") {
        this.$set(row, "fQty", this.fCntqty);
      } else if (row.fFeeUnitid === "1") {
        this.$set(row, "fQty", this.fGrossweight);
      }
      if (row.fUnitprice) {
        this.$set(
          row,
          "fAmount",
          parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2)
        );
      }
    },

    changefBsdate(row) {
      if (this.dataList.length > 0) {
        for (var i = 0; i < this.dataList.length; i++) {
          this.$set(this.dataList[i], "fBsdate", row);
        }
      }
    },
    // 入账
    creditClick() {
      this.$refs["form"].validate((valid) => {
        console.log(this.dataListSelection);
        for (let warehouseCr in this.dataListSelection) {
          if (this.dataListSelection[warehouseCr].fBillstatus != 30) {
            this.$message.error("请先卸货");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fWarehouselocid) {
            this.$message.error("请选择库区");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fGoodsid) {
            this.$message.error("请选择品名");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fGrossweight) {
            this.$message.error("请选择入库毛重");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fNetweight) {
            this.$message.error("请选择入库净重");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fQty) {
            this.$message.error("请选择入库件数");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fPackagespecs) {
            this.$message.error("请选择入库规格");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fDriverName) {
            this.$message.error("请输入司机姓名");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fPackagespecs) {
            this.$message.error("请输入司机电话");
            return false;
          }
          if (!this.dataListSelection[warehouseCr].fPackagespecs) {
            this.$message.error("请输入司机身份证");
            return false;
          }
        }
        if (valid) {
          let formData = new window.FormData();
          console.log(this.form);
          formData.append("warehouseBills", JSON.stringify(this.form));
          formData.append(
            "warehousebillsitems",
            JSON.stringify(this.dataListSelection)
          );
          formData.append("whgenleg", JSON.stringify(this.relevantAttachments));
          addWhgenleg(formData).then((response) => {

            this.fid = response.data;
            this.formBrowseStatus = true;
            this.msgSuccess("入账成功");
            for (let li in this.dataListSelection) {
              for (let i in this.dataList) {
                 let fQty =
                  this.dataList[i].fQty === this.dataListSelection[li].fQty;
                let fMblno =
                  this.dataList[i].fMblno === this.dataListSelection[li].fMblno;
                let fBillstatus =
                  this.dataList[i].fBillstatus ===
                  this.dataListSelection[li].fBillstatus;
                let fPackagespecs =
                  this.dataList[i].fPackagespecs ===
                  this.dataListSelection[li].fPackagespecs;
                let fWarehouselocid =
                  this.dataList[i].fWarehouselocid ===
                  this.dataListSelection[li].fWarehouselocid;
                let fGoodsid =
                  this.dataList[i].fGoodsid ===
                  this.dataListSelection[li].fGoodsid;
                let fNetweight =
                  this.dataList[i].fNetweight ===
                  this.dataListSelection[li].fNetweight;
                let fGrossweight =
                  this.dataList[i].fGrossweight ===
                  this.dataListSelection[li].fGrossweight;
                if (
                  fMblno &&
                  fGoodsid &&
                  fBillstatus &&
                  fPackagespecs &&
                  fWarehouselocid &&
                  fGrossweight &&
                  fNetweight &&
                  fQty
                ) {
                  this.$set(this.dataList[i], "fBillstatus", 40);
                }
              }
            }
            this.$refs.tableList.clearSelection();
          });
        }
      });
    },
    // 打印作业单
    addList() {
      console.log("打印作业单");
      this.$refs["form"].validate((valid) => {
        if (valid) {
          let formData = new window.FormData();
          console.log(this.form);
          formData.append("warehouseBills", JSON.stringify(this.form));
          formData.append(
            "warehousebillsitems",
            JSON.stringify(this.dataListSelection)
          );
          console.log(this.dataListSelection)
          formData.append("whgenleg", JSON.stringify(this.relevantAttachments));
          
          for (let li in this.dataListSelection) {
            this.dataListSelection[li].fBillstatus = 20;
            // this.dataListSelection[li].fId = 20;
          }
          console.log(this.dataListSelection);
          console.log(this.form.fId)
         
          addJoblist(formData).then((response) => {
            console.log(response);
            console.log(response.data.warehousebillsitems);
            this.formBrowseStatus = true;
            for (let li in this.dataListSelection) {
              for (let i in this.dataList) {
                let fQty =
                  this.dataList[i].fQty === this.dataListSelection[li].fQty;
                let fBsdate =
                  this.dataList[i].fBsdate ===
                  this.dataListSelection[li].fBsdate;
                let fGoodsid =
                  this.dataList[i].fGoodsid ===
                  this.dataListSelection[li].fGoodsid;
                let fcntrtype =
                  this.dataList[i].fcntrtype ===
                  this.dataListSelection[li].fcntrtype;
                let fNetweight =
                  this.dataList[i].fNetweight ===
                  this.dataListSelection[li].fNetweight;
                let fGrossweight =
                  this.dataList[i].fGrossweight ===
                  this.dataListSelection[li].fGrossweight;
                if (
                  fBsdate &&
                  fGoodsid &&
                  fcntrtype &&
                  fGrossweight &&
                  fNetweight &&
                  fQty
                ) {
                  this.$set(this.dataList[i], "fBillstatus", 20);
                }
              }
              // }

              // this.$set(
              //   this.dataList[i],
              //   "fSerialNumber",
              //   response.data.warehousebillsitems[list].fSerialNumber
              // );
              // }
              // }
            }
            this.$refs.tableList.clearSelection();
          });
        }
      });
    },
    // 撤回入账
    withdrawClick() {
      console.log("@@@");
      // 撤回入库
      let formData = new window.FormData();
      formData.append("warehouseBills", JSON.stringify(this.form));
      console.log(this.form);
      formData.append(
        "warehousebillsitems",
        JSON.stringify(this.dataWithdrawList)
      );
      console.log(this.dataWithdrawList);
      updateCredit(formData).then((response) => {
        console.log(response.data)
        this.fid = response.data;
        this.formBrowseStatus = false;
        this.msgSuccess("撤销入账成功");
        this.$refs.tableList.clearSelection();
        for (let li in this.dataWithdrawList) {
          for (let i in this.dataList) {
            let fQty = this.dataList[i].fQty === this.dataWithdrawList[li].fQty;
            let fBsdate =
              this.dataList[i].fBsdate === this.dataWithdrawList[li].fBsdate;
            let fGoodsid =
              this.dataList[i].fGoodsid === this.dataWithdrawList[li].fGoodsid;
            let fcntrtype =
              this.dataList[i].fcntrtype ===
              this.dataWithdrawList[li].fcntrtype;
            let fNetweight =
              this.dataList[i].fNetweight ===
              this.dataWithdrawList[li].fNetweight;
            let fGrossweight =
              this.dataList[i].fGrossweight ===
              this.dataWithdrawList[li].fGrossweight;
            if (
              fBsdate &&
              fGoodsid &&
              fcntrtype &&
              fGrossweight &&
              fNetweight &&
              fQty
            ) {
              this.$set(this.dataList[i], "fBillstatus", 10);
            }
          }
        }
      });
    },
    // 卸货按钮
    discharge() {
      if (this.Printinglist.length > 0) {
        for (let warehouseCr in this.Printinglist) {
          console.log(this.Printinglist);
          // if (this.Printinglist[warehouseCr].fBillstatus === '20') {
          // this.$message.error("请先入库");
          // return false;
          // if (
          //   this.Printinglist[warehouseCr].fDriverName !=
          //   this.Printinglist[0].fDriverName
          // ) {
          //   this.$message.error("请选择相同司机名");
          //   return false;
          // }
        }
          this.$refs["form"].validate((valid) => {
            
            if (valid) {
              let formData = new window.FormData();
              console.log(this.form);
              formData.append("warehouseBills", JSON.stringify(this.form));
              formData.append(
                "warehousebillsitems",
                JSON.stringify(this.dataListSelection)
              );
              formData.append(
                "whgenleg",
                JSON.stringify(this.relevantAttachments)
              );
              for (let li in this.dataListSelection) {
                this.dataListSelection[li].fBillstatus = 30;
              }
              console.log(this.dataListSelection);
              if (!this.form.fId) {
            this.form.fId = this.fid;
          }
              disChargelist(formData).then((response) => {
                console.log(response);
                console.log(response.data.warehousebillsitems);
                for (let li in this.dataListSelection) {
                  for (let i in this.dataList) {
                    let fQty =
                      this.dataList[i].fQty === this.dataListSelection[li].fQty;
                    let fBsdate =
                      this.dataList[i].fBsdate ===
                      this.dataListSelection[li].fBsdate;
                    let fGoodsid =
                      this.dataList[i].fGoodsid ===
                      this.dataListSelection[li].fGoodsid;
                    let fcntrtype =
                      this.dataList[i].fcntrtype ===
                      this.dataListSelection[li].fcntrtype;
                    let fNetweight =
                      this.dataList[i].fNetweight ===
                      this.dataListSelection[li].fNetweight;
                    let fGrossweight =
                      this.dataList[i].fGrossweight ===
                      this.dataListSelection[li].fGrossweight;
                    if (
                      fBsdate &&
                      fGoodsid &&
                      fcntrtype &&
                      fGrossweight &&
                      fNetweight &&
                      fQty
                    ) {
                      this.$set(this.dataList[i], "fBillstatus", 30);
                    }
                  }
                }
                this.msgSuccess("卸货成功");
                this.$refs.tableList.clearSelection();
              });
            }
          });

          // }else {
          //   this.$message.error("请先入库");

          // }
        
      } else {
        this.$message.error("请选择需要卸货的明细!");
      }
    },
    /** 提交按钮 */
    submitForm(status) {
      this.$refs["form"].validate((valid) => {
        if (status !== 2) {
          if (this.dataList.length === 0) {
            this.$message.error("请新增库存明细!");
            return false;
          }
          if (this.warehouseDrList.length === 0) {
            this.$message.error("请新增收款信息!");
            return false;
          }
          if (this.warehouseCrList.length === 0) {
            this.$message.error("请新增付款信息!");
            return false;
          }
          for (let list in this.dataList) {
            if (!this.dataList[list].fGoodsid) {
              this.$message.error("请输入品名!");
              return false;
            }
            if (!this.dataList[list].fWarehouselocid) {
              this.$message.error("请输入库区!");
              return false;
            }
            console.log(this.dataList[list].fBillstatus);
            if (this.dataList[list].fBillstatus != 40) {
              this.$message.error("请入账库存明细!");
              return false;
            }
          }
          for (let warehouseDr in this.warehouseDrList) {
            if (!this.warehouseDrList[warehouseDr].fCorpid) {
              this.$message.error("请选择客户名称");
              return false;
            }
            if (!this.warehouseDrList[warehouseDr].fFeeid) {
              this.$message.error("请选择费用名称");
              return false;
            }
            if (!this.warehouseDrList[warehouseDr]) {
              this.$message.error("请选择收款计费单位");
              return false;
            }
          }
          for (let warehouseCr in this.warehouseCrList) {
            if (!this.warehouseCrList[warehouseCr].fCorpid) {
              this.$message.error("请选择客户名称");
              return false;
            }
            if (!this.warehouseCrList[warehouseCr].fFeeid) {
              this.$message.error("请选择费用名称");
              return false;
            }
            if (!this.warehouseCrList[warehouseCr].fFeeUnitid) {
              this.$message.error("请选择付款计费单位");
              return false;
            }
          }
        }
        if (valid) {
          this.form.fBillstatus = status;
          this.form.fNetweight = this.fNetweight;
          // this.form.fPlangrossweight = this.fPlangrossweight;
          // this.form.fPlannetweight = this.fPlannetweight;
          this.form.fPlanvolumn = this.fPlanvolumn;
          // this.form.fPlanqty = this.fPlanqty;
          this.form.fGrossweight = this.fGrossweight;
          this.form.fQty = this.fQty;
          if (!this.form.fId) {
            this.form.fId = this.fid;
          }
          let formData = new window.FormData();
          // 附件数据
          formData.append("tWarehouseBills", JSON.stringify(this.form));
          console.log(this.form)
          // 库存明细
          formData.append(
            "tWarehousebillsitems",
            JSON.stringify(this.dataList)
          );
          // 附件数据
          formData.append(
            "tWhgenleg",
            JSON.stringify(this.relevantAttachments)
          );
          // 费用明细付款
          formData.append(
            "tWarehousebillsfeesCr",
            JSON.stringify(this.warehouseCrList)
          );
          // 收款
          formData.append(
            "tWarehousebillsfeesDr",
            JSON.stringify(this.warehouseDrList)
          );
          addWarehousebills(formData).then((response) => {
            this.msgSuccess("提交成功");
            console.log(response);
            console.log(this.dataList);
            if (status === 2) {
              this.open = true;
              // this.form = response.data.warehouseBills;
              this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
              this.$set(this.form, "fEta", Date.parse(this.form.fEta));
              this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
              this.$set(
                this.form,
                "createTime",
                Date.parse(this.form.createTime)
              );
              this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
            } else {
              this.open = false;
            }

            this.getList();
          });
        }
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const fIds = row.fId || this.ids;
      this.$confirm(
        '是否确认删除仓库主(出入库)编号为"' + fIds + '"的数据项?',
        "警告",
        {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        }
      )
        .then(function () {
          return delWarehousebills(fIds);
        })
        .then(() => {
          this.getList();
          this.msgSuccess("删除成功");
        });
    },
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$confirm("是否确认导出所有仓库主(出入库)数据项?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(function () {
          return exportWarehousebills(queryParams);
        })
        .then((response) => {
          this.download(response.msg);
        });
    },
    deleteRow(index, rows) {
      rows.splice(index, 1);
    },
    /* 远程模糊查询用户 */
    corpsRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 1 };
      listCorps(queryParams).then((response) => {
        this.fMblnoOptions = response.rows;
        console.log(response.rows);
        this.KHblnoOptions = response.rows;
      });
    },
    /* 远程模糊查询质押银行 */
    corpsRemoteMethodd(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 5 };
      listCorps(queryParams).then((response) => {
        this.Pledgebank = response.rows;
      });
    },
    /* 远程模糊查询商品 */
    goodsRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listGoods(queryParams).then((response) => {
        this.goodsOptions = response.rows;
      });
    },
    // 远程模糊查询费用名称
    fWRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listFees(queryParams).then((response) => {
        this.fWbuOptions = response.rows;
        console.log(response.rows);
      });
    },
    /* 远程模糊查询经营单位 */
    fSbuRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listCorps(queryParams).then((response) => {
        this.fSbuOptions = response.rows;
      });
    },
    /* 远程模糊查询仓库 */
    warehouseRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listWarehouse(queryParams).then((response) => {
        this.warehouseOptions = response.rows;
        console.log(response.rows);
      });
    },
    /* 远程模糊查询库区 */
    kqhouseRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      if (!this.form.fWarehouseid) {
        this.$message.error("请输入仓库!");
        return false;
      }

      let queryParams = {
        pageNum: 1,
        pageSize: 10,
        fWarehouseid: this.form.fWarehouseid,
        fName: name,
      };
      listArea(queryParams).then((response) => {
        this.kqhouseOptions = response.rows;
      });
    },
    /* 远程模糊查询操作用户 */
    userRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, userName: name };
      listUser(queryParams).then((response) => {
        this.userOptions = response.rows;
      });
    },
  },
};
</script>
<style lang="scss">
.juzhong > th {
  text-align: center;
}
.biaoge > tr > td {
  height: 50px;
  text-align: center;
  border-right: 1px solid #dfe6ec !important;
  order-bottom: 1px solid #dfe6ec !important;
  border-bottom: 1px solid #dfe6ec !important;
}
.el-table thead th {
  background: #1890ff;
  color: #fff;
}

.upload-demo {
  margin-left: 50px;
}
.el-form-item {
  margin-bottom: 5px !important;
}
.el-form-item__label {
  font-size: 12px !important;
}
</style>
