<template>
  <div>
    <div style="display: flex; justify-content: space-between">
      <div style="display: flex; align-items: center">
        <el-breadcrumb separator="/">
          <el-breadcrumb-item
            ><span style="font-weight: 700">入库</span></el-breadcrumb-item
          >
          <el-breadcrumb-item
            ><span style="font-weight: 700"
              >入库详情页</span
            ></el-breadcrumb-item
          >
        </el-breadcrumb>
        <el-button
          style="margin-left: 10px"
          size="mini"
          icon="el-icon-arrow-left"
          @click="goBack"
          >返回列表</el-button
        >
      </div>
      <div v-if="showApproval == 0">
        <el-button
          type="info"
          size="small"
          @click="addOrUpdateHandle(form, 'warehouse_status')"
          v-if="form.warehouseStatus > 3"
          >查看接单审批
        </el-button>
        <el-button
          type="info"
          size="small"
          @click="addOrUpdateHand(form, 'warehouse_status')"
          v-if="form.warehouseStatus > 3 && approVal == true"
          >接单审批
        </el-button>
        <el-button
          type="info"
          :disabled="form.warehouseStatus >= 4"
          size="small"
          @click="verifyForm"
          v-if="form.fBillstatus"
          >接单请核
        </el-button>
        <el-button
          type="info"
          size="small"
          @click="ordersRevoke"
          v-if="form.warehouseStatus == 6"
          >撤销接单请核
        </el-button>
        <el-button
          type="info"
          size="small"
          @click="revokeTwo('warehouse_status')"
          v-if="form.warehouseStatus == 4"
          >撤销接单审批
        </el-button>
      </div>
      <!-- <el-button icon="el-icon-refresh" circle size="mini"></el-button> -->
    </div>

    <br />
    <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"
              clearable
              filterable
              placeholder="请输入关键词"
              style="width: 80%"
              @change="changefStltype"
              :disabled="detailList.length > 0 || form.warehouseStatus > 3"
            >
              <el-option
                v-for="(item, index) in fMblnoOptions"
                :key="index.fId"
                :label="item.fName"
                :value="item.fId"
              ></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item
            v-if="dataShowcar == '1'"
            label="结算方式"
            prop="fStltypeid"
          >
            <el-select
              v-model="form.fStltypeid"
              placeholder="请选择结算方式"
              clearable
              :disabled="browseStatus || form.warehouseStatus > 3"
              style="width: 80%"
            >
              <el-option
                v-for="(item, index) in fStltypeOptions"
                :key="index.dictValue"
                :label="item.dictLabel"
                :value="item.dictValue"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item
            v-if="dataShowcar == '0'"
            label="计费单位"
            prop="fFeetUnit"
          >
            <el-select
              v-model="form.fFeetUnit"
              placeholder="请选择计费单位"
              clearable
              :disabled="browseStatus || form.warehouseStatus > 3"
              style="width: 80%"
            >
              <el-option
                v-for="(item, index) in fFeetUnitOptions"
                :key="index.dictValue"
                :label="item.dictLabel"
                :value="item.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 ||
                detailList.length > 0 ||
                form.warehouseStatus > 3
              "
              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 || form.warehouseStatus > 3"
              value-format="timestamp"
              placeholder="请选择计划日期"
              @change="changeDate"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="入库时间" prop="fBstime">
            <el-time-picker
              style="width: 80%"
              :disabled="browseStatus || form.warehouseStatus > 3"
              v-model="form.fBstime"
              :picker-options="{
                selectableRange: '00:00:00 - 23:59:59',
              }"
              value-format="timestamp"
              placeholder="任意时间点"
            >
            </el-time-picker>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item prop="fChargedate" label="仓储费计算日期">
            <el-date-picker
              v-model="form.fChargedate"
              type="date"
              style="width: 80%"
              value-format="timestamp"
              :disabled="browseStatus || form.warehouseStatus > 3"
              placeholder="仓储费计算日期"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>

        <el-col :span="8">
          <el-form-item prop="fGoodsid" label="品名">
            <el-select
              filterable
              v-model="form.fGoodsid"
              style="width: 80%"
              :disabled="
                browseStatus ||
                detailList.length > 0 ||
                form.warehouseStatus > 3
              "
              placeholder="请选择品名"
            >
              <el-option
                v-for="(item, index) in goodsOptions"
                :key="index.fId"
                :label="item.fName"
                :value="item.fId"
              ></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 ||
                detailList.length > 0 ||
                form.warehouseStatus > 3
              "
              style="width: 80%"
              placeholder="请选择"
            >
              <el-option
                v-for="(item, index) in warehouseOptions"
                :key="index.fId"
                :label="item.fName"
                :value="item.fId"
              ></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="仓管员" prop="fStorekeeper">
            <el-select
              v-model="form.fStorekeeper"
              filterable
              clearable
              :disabled="browseStatus || form.warehouseStatus > 3"
              style="width: 80%"
              placeholder="请输入模糊查找"
            >
              <el-option
                v-for="(item, index) in userOptions"
                :key="index.userName"
                :label="item.nickName"
                :value="item.userName"
              ></el-option>
            </el-select>
          </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 || form.warehouseStatus > 3"
              value-format="timestamp"
              placeholder="到港日期"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="箱使日期" prop="freeContainerDate">
            <el-date-picker
              v-model="form.freeContainerDate"
              style="width: 80%"
              type="date"
              :disabled="browseStatus || form.warehouseStatus > 3"
              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 || form.warehouseStatus > 3"
              placeholder="报关单号"
            />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="8">
          <el-form-item label="计划件数" prop="fPlanqty">
            <el-input
              v-model.number="form.fPlanqty"
              style="width: 80%"
              maxlength="9"
              v-input-limit="0"
              placeholder="计划件数"
              :disabled="
                browseStatus || current !== before || form.warehouseStatus > 3
              "
            />
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="计划净重(kg)" prop="fPlannetweight">
            <el-input
              v-model="form.fPlannetweight"
              style="width: 80%"
              maxlength="9"
              v-input-limit="2"
              placeholder="计划净重"
              :disabled="
                browseStatus || current !== before || form.warehouseStatus > 3
              "
              @change="tfNetweight"
            >
              <template slot="append">{{ tfNetweightnum }}吨</template>
            </el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="计划毛重(kg)" prop="fPlangrossweight">
            <el-input
              v-model="form.fPlangrossweight"
              v-input-limit="2"
              style="width: 80%"
              placeholder="计划毛重"
              maxlength="9"
              :disabled="
                browseStatus || current !== before || form.warehouseStatus > 3
              "
              @change="tfGrossweight"
            >
              <template slot="append">{{ tfGrossweightnum }}吨</template>
            </el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <div v-if="detailsHidden2">
        <el-row>
          <el-col :span="8">
            <el-form-item label="作业类型" prop="fBusinessType">
              <el-select
                style="width: 80%"
                v-model="form.fBusinessType"
                filterable
                @change="educationChange"
                :disabled="
                  browseStatus ||
                  warehouseDrList.length > 0 ||
                  warehouseCrList.length > 0 ||
                  form.warehouseStatus > 3
                "
              >
                <el-option
                  v-for="(item, index) in businessTypeOption"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="劳务公司" prop="fLabour">
              <el-select
                style="width: 80%"
                v-model="form.fLabour"
                clearable
                filterable
                placeholder="请输入关键词"
                :disabled="browseStatus || form.warehouseStatus > 3"
              >
                <el-option
                  v-for="(item, index) in fCompanyOptIons"
                  :key="index.fId"
                  :label="item.fName"
                  :value="item.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="车队"
              prop="fFleet"
              :rules="{
                required: isrequired === 1 ? true : false,
                message: '请选择',
                trigger: ['blur', 'change'],
              }"
            >
              <el-select
                style="width: 80%"
                v-model="form.fFleet"
                clearable
                filterable
                placeholder="请输入关键词"
                :disabled="browseStatus || form.warehouseStatus > 3"
              >
                <el-option
                  v-for="(item, index) in fleetOptions"
                  :key="index.fId"
                  :label="item.fName"
                  :value="item.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item
              v-if="dataShowcar == '1'"
              label="计费单位"
              prop="fFeetUnit"
            >
              <el-select
                v-model="form.fFeetUnit"
                placeholder="请选择计费单位"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in fFeetUnitOptions"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
            <el-form-item
              v-if="dataShowcar == '0'"
              label="结算方式"
              prop="fStltypeid"
            >
              <el-select
                v-model="form.fStltypeid"
                placeholder="请选择结算方式"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in fStltypeOptions"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="车号"
              prop="fTruckno"
              :rules="{
                required: isrequired2 === 1 ? true : false,
                message: '请选择',
                trigger: ['blur', 'change'],
              }"
            >
              <el-input
                v-model="form.fTruckno"
                style="width: 80%"
                :disabled="browseStatus || form.warehouseStatus > 3"
                placeholder="车号"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="司机姓名"
              prop="fDriverName"
              :rules="{
                required: isrequired2 === 1 ? true : false,
                message: '请选择',
                trigger: ['blur', 'change'],
              }"
            >
              <el-input
                v-model="form.fDriverName"
                style="width: 80%"
                :disabled="browseStatus || form.warehouseStatus > 3"
                placeholder="司机姓名"
              />
            </el-form-item>
          </el-col>
        </el-row>
      </div>

      <el-row>
        <el-col :span="16">
          <div v-if="detailsHidden2">
            <el-row>
              <el-col :span="12">
                <el-form-item
                  label="司机身份证"
                  prop="fDriverIdCar"
                  :rules="{
                    required: isrequired2 === 1 ? true : false,
                    message: '请选择',
                    trigger: ['blur', 'change'],
                  }"
                >
                  <el-input
                    v-model="form.fDriverIdCar"
                    style="width: 80%"
                    :disabled="browseStatus || form.warehouseStatus > 3"
                    placeholder="司机身份证"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item
                  label="司机电话"
                  prop="fDriverTel"
                  :rules="{
                    required: isrequired2 === 1 ? true : false,
                    message: '请选择',
                    trigger: ['blur', 'change'],
                  }"
                >
                  <el-input
                    v-model="form.fDriverTel"
                    style="width: 80%"
                    :disabled="browseStatus || form.warehouseStatus > 3"
                    placeholder="司机电话"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </div>

          <el-row>
            <el-col :span="24">
              <el-form-item label="备注" prop="remark">
                <el-input
                  style="width: 91.5%"
                  v-model="form.remark"
                  type="textarea"
                  :disabled="browseStatus || form.warehouseStatus > 3"
                  placeholder="请输入内容"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :offset="16" :span="6">
              <el-button
                @click="
                  detailsHidden2
                    ? (detailsHidden2 = false)
                    : (detailsHidden2 = true)
                "
                >{{ detailsHidden2 ? "隐藏" : "更多" }}
              </el-button>
              <el-button
                @click="
                  detailsHidden
                    ? (detailsHidden = false)
                    : (detailsHidden = true)
                "
                >{{ detailsHidden ? "隐藏" : "展开" }}
              </el-button>
            </el-col>
          </el-row>
        </el-col>
        <el-col :span="8">
          <el-form-item>
            <div style="display: flex; align-items: center">
              <el-table
                :data="CntrTable"
                style="width: 80%"
                :header-cell-style="{ lineHeight: '16px' }"
              >
                <el-table-column
                  prop="fCntrid "
                  label="箱型"
                  header-align="center"
                  align="center"
                >
                  <template slot-scope="scope">
                    <el-select
                      placeholder="请选择箱型"
                      v-model="scope.row.fCntrid"
                      size="mini"
                    >
                      <el-option
                        v-for="(item, index) in cntrList"
                        :key="index.fId"
                        :label="item.fName"
                        :value="item.fId"
                      >
                      </el-option>
                    </el-select>
                  </template>
                </el-table-column>
                <el-table-column
                  prop="fCntrcount"
                  label="箱量"
                  header-align="center"
                  align="center"
                >
                  <template slot-scope="scope">
                    <el-input
                      placeholder="请输入箱量"
                      v-model="scope.row.fCntrcount"
                      size="mini"
                    >
                    </el-input>
                  </template>
                </el-table-column>
                <el-table-column
                  prop="fCntrcount"
                  label="操作"
                  header-align="center"
                  align="center"
                  width="50"
                >
                  <template slot-scope="scope">
                    <el-button
                      size="mini"
                      type="text"
                      @click.native.prevent="deleteRow(scope.$index, CntrTable)"
                      icon="el-icon-delete"
                    ></el-button>
                  </template>
                </el-table-column>
              </el-table>
              <el-tag class="tag-hover" @click="addRow"
                ><i class="el-icon-plus"></i
              ></el-tag>
            </div>
          </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 || form.warehouseStatus > 3"
                placeholder="仓库联系人"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="仓库电话" prop="fTel">
              <el-input
                v-model="form.fTel"
                :disabled="browseStatus || form.warehouseStatus > 3"
                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 || form.warehouseStatus > 3"
                placeholder="船名航次"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="经营单位" prop="fSbu">
              <el-select
                v-model="form.fSbu"
                clearable
                filterable
                placeholder="请输入关键词"
                style="width: 80%"
                :disabled="browseStatus || form.warehouseStatus > 3"
              >
                <el-option
                  v-for="(item, index) in fSbuOptions"
                  :key="index.fId"
                  :label="item.fName"
                  :value="item.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <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 || form.warehouseStatus > 3"
                clearable
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in fTrademodeidOptions"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <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-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="(item, index) in deptOptions"
                  :key="index.deptId"
                  :label="item.deptName"
                  :value="item.deptId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="制单日期" prop="createTime">
              <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-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="过磅" prop="fIfweigh">
              <el-select
                v-model="form.fIfweigh"
                placeholder="请选择是否过磅"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in fIfweighOptions"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="品名" prop="fProductName">
              <el-input
                v-model="form.fProductName"
                style="width: 80%"
                disabled
                placeholder="品名"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="品牌">
              <el-input
                v-model="form.fMarks"
                style="width: 80%"
                disabled
                placeholder="品牌"
              />
            </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%"
                placeholder="存货编号"
              />
            </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 || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in fIfpledgeOptions"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="质押银行" prop="fBankcorpid">
              <el-select
                v-model="form.fBankcorpid"
                filterable
                clearable
                style="width: 80%"
                :disabled="browseStatus || form.warehouseStatus > 3"
                placeholder="请输入关键词"
              >
                <el-option
                  v-for="(item, index) in Pledgebank"
                  :key="index.fId"
                  :label="item.fName"
                  :value="item.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="业务归属" prop="fBusinessAttribution">
              <el-select
                v-model="form.fBusinessAttribution"
                placeholder="请选择业务归属"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in battributionList"
                  :key="index.fId"
                  :label="item.fName"
                  :value="item.fId"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="监管单位" prop="fSupervisionUnit">
              <el-select
                v-model="form.fSupervisionUnit"
                clearable
                filterable
                placeholder="请输入关键词"
                style="width: 80%"
                :disabled="browseStatus || form.warehouseStatus > 3"
              >
                <el-option
                  v-for="(item, index) in fMblnoOptions"
                  :key="index.fId"
                  :label="item.fName"
                  :value="item.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="申报要素" prop="fDeclarationElements">
              <el-select
                v-model="form.fDeclarationElements"
                placeholder="请选择申报要素"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in delementsList"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="料件号" prop="fPartNumber">
              <el-input
                v-model.number="form.fPartNumber"
                style="width: 80%"
                placeholder="料件号"
                v-input-limit="0"
                :disabled="browseStatus || form.warehouseStatus > 3"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="是否法检" prop="fIfinspection">
              <el-select
                v-model="form.fIfinspection"
                placeholder="是否法检"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in ifinspectionList"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="货值" prop="fValue">
              <el-input
                v-model.number="form.fValue"
                style="width: 80%"
                placeholder="货值"
                v-input-limit="2"
                :disabled="browseStatus || form.warehouseStatus > 3"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="过磅时间" prop="fWeighingDate">
              <el-date-picker
                v-model="form.fWeighingDate"
                style="width: 80%"
                type="date"
                :disabled="browseStatus || form.warehouseStatus > 3"
                value-format="timestamp"
                placeholder="请选择过磅时间"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="是否取样" prop="fIfsampling">
              <el-select
                v-model="form.fIfsampling"
                placeholder="是否取样"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in ifsamplingList"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="送样时间" prop="sendSampleDate">
              <el-date-picker
                v-model="form.sendSampleDate"
                style="width: 80%"
                type="date"
                :disabled="browseStatus || form.warehouseStatus > 3"
                value-format="timestamp"
                placeholder="请选择送样时间"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="是否复磅" prop="fIfweightRecovery">
              <el-select
                v-model="form.fIfweightRecovery"
                placeholder="是否复磅"
                clearable
                :disabled="browseStatus || form.warehouseStatus > 3"
                style="width: 80%"
              >
                <el-option
                  v-for="(item, index) in ifweightRecoveryList"
                  :key="index.dictValue"
                  :label="item.dictLabel"
                  :value="item.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="复磅时间" prop="weightRecoveryDate">
              <el-date-picker
                v-model="form.weightRecoveryDate"
                style="width: 80%"
                type="date"
                :disabled="browseStatus || form.warehouseStatus > 3"
                value-format="timestamp"
                placeholder="请选择复磅时间"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
      </div>
    </el-form>
    <el-dialog
      title="自定义列显示"
      :visible.sync="showSetting"
      width="700px"
      v-dialogDrag
      :close-on-click-modal="false"
    >
      <template slot="title">
        <div class="avue-crud__dialog__header">
          <span class="el-dialog__title">
            <span
              style="
                display: inline-block;
                width: 3px;
                height: 20px;
                margin-right: 5px;
                float: left;
                margin-top: 2px;
              "
            ></span>
          </span>
        </div>
      </template>
      <div>配置排序列数据（拖动调整顺序）</div>
      <div style="margin-left: 17px">
        <el-checkbox
          v-model="allCheck"
          label="全选"
          @change="allChecked"
        ></el-checkbox>
      </div>
      <div style="padding: 4px; display: flex; justify-content: center">
        <draggable
          v-model="setRowList"
          group="site"
          animation="300"
          @start="onStart"
          @end="onEnd"
          handle=".indraggable"
        >
          <transition-group>
            <div
              v-for="item in setRowList"
              :key="item.surface"
              class="listStyle"
            >
              <div style="width: 500px" class="indraggable">
                <div class="progress" :style="{ width: item.width + 'px' }">
                  <el-checkbox
                    :label="item.name"
                    v-model="item.checked"
                    :true-label="0"
                    :false-label="1"
                    >{{ item.name }}
                  </el-checkbox>
                </div>
              </div>
              <el-input-number
                v-model.number="item.width"
                controls-position="right"
                :min="1"
                :max="500"
                size="mini"
              ></el-input-number>
            </div>
          </transition-group>
        </draggable>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="showSetting = false">取 消</el-button>
        <el-button @click="delRow" type="danger">重 置</el-button>
        <el-button type="primary" @click="save()">确 定</el-button>
      </span>
    </el-dialog>
    <el-collapse v-model="collapselist">
      <el-collapse-item name="1">
        <template slot="title">
          <i class="el-icon-s-home" style="font-size: 16px"></i>
          <span style="font-size: 16px; font-weight: bolder; margin-left: 5px"
            >入库明细</span
          >
        </template>
        <div>
          <el-row
            type="flex"
            justify="space-between"
            style="margin-bottom: 10px"
          >
            <el-col>
              <el-button
                type="primary"
                :disabled="browseStatus"
                size="small"
                @click="addRelevant"
                >录 入
              </el-button>
              <el-button
                :disabled="browseStatus"
                type="primary"
                size="small"
                @click="saveForm"
                >保 存</el-button
              >
              <el-button
                :disabled="browseStatus || Printinglist.length != 1"
                type="primary"
                size="small"
                @click="addRelevant('copy')"
                >复制录入</el-button
              >
              <el-button
                :disabled="browseStatus"
                type="primary"
                size="small"
                @click="tishi"
                >导入模板</el-button
              >
              <el-button
                :disabled="browseStatus"
                type="primary"
                size="small"
                @click="tishi"
                >导入接口</el-button
              >
            </el-col>
            <el-col style="display: flex; justify-content: flex-end">
              <el-button
                size="small"
                type="info"
                :disabled="browseStatus"
                prop="打印"
                @click="printZyd"
                >作业单
              </el-button>
              <el-button
                size="small"
                :disabled="browseStatus"
                @click="discharge"
                >叫车进场</el-button
              >
              <el-button
                size="small"
                :disabled="dataListSelection.length <= 0 || browseStatus"
                @click="creditClick"
                >入库确认
              </el-button>
              <el-button
                size="small"
                :disabled="dataWithdrawList.length <= 0 || browseStatus"
                @click.prevent="withdrawClick"
                >撤回入库
              </el-button>
              <el-dropdown @command="handleCommand" style="margin-left: 10px">
                <el-button :disabled="browseStatus" size="small" type="success">
                  打印单据<i class="el-icon-arrow-down el-icon--right"></i>
                </el-button>
                <el-dropdown-menu slot="dropdown">
                  <el-dropdown-item command="a">收货单</el-dropdown-item>
                  <el-dropdown-item command="g">标准入库单</el-dropdown-item>
                  <el-dropdown-item command="b">入库单</el-dropdown-item>
                  <el-dropdown-item command="c">理货单</el-dropdown-item>
                  <el-dropdown-item command="d">货物确认</el-dropdown-item>
                  <el-dropdown-item command="e">劳务确认</el-dropdown-item>
                  <el-dropdown-item command="f">吊牌信息</el-dropdown-item>
                  <el-dropdown-item command="h">入库垛卡</el-dropdown-item>
                </el-dropdown-menu>
              </el-dropdown>
              <div style="margin: 0 10px">
                <el-button
                  icon="el-icon-setting"
                  size="mini"
                  circle
                  @click="showSetting = !showSetting"
                ></el-button>
              </div>
            </el-col>
          </el-row>
          <el-table
            :data="detailList"
            tooltip-effect="dark"
            stripe
            :summary-method="getSummaries"
            @selection-change="Selectinventory"
            show-summary
          >
            <el-table-column type="selection" width="50" align="center" fixed />
            <el-table-column
              label="序号"
              type="index"
              width="50"
              fixed
              align="center"
            />
            <el-table-column
              v-for="(item, index) in getRowList"
              :key="index"
              :label="item.name"
              :width="item.width"
              :prop="item.label"
              align="center"
              :fixed="item.fixed"
              :show-overflow-tooltip="true"
              sortable
            >
              <template slot-scope="scope">
                <span v-if="item.label == 'fBillstatus'">
                  {{ scope.row.fBillstatus | fBillstatusFormat }}
                </span>
                <span v-else-if="item.label == 'fBsdate'">
                  {{ scope.row.fBsdate | fBsdateFormat }}
                </span>
                <span v-else-if="item.label == 'fGoodsid'">
                  {{ scope.row.fGoodsid | goodsFormat(goodsOptions) }}
                </span>
                <span v-else-if="item.label == 'fBusinessType'">
                  {{
                    scope.row.fBusinessType
                      | fStorageTypeFormat(fStorageTypeOptions)
                  }}
                </span>
                <span v-else-if="item.label == 'fCntrtype'">
                  {{ scope.row.fCntrtype | fCntrtypeFormat(cntrList) }}
                </span>
                <span v-else-if="item.label == 'fLntype'">
                  {{ scope.row.fLntype | fLntypeFormat(unloadModes) }}
                </span>
                <span v-else-if="item.label == 'fFleet'">
                  {{ scope.row.fFleet | fFleetFormat(fleetOptions) }}
                </span>
                <span v-else-if="item.label == 'fLocalcntrno'">
                  <el-input
                    v-model="scope.row.fLocalcntrno"
                    placeholder="库内箱号"
                    v-Alphabet
                  />
                </span>
                <span v-else>{{ scope.row[item.label] }}</span>
              </template>
            </el-table-column>
            <el-table-column
              header-align="center"
              align="center"
              label="操作"
              width="130px"
              fixed="right"
            >
              <template slot-scope="scope">
                <el-button
                  :disabled="browseStatus || scope.row.fBillstatus > 30"
                  type="text"
                  @click.native.prevent="fixRow(scope.row, scope.$index)"
                  size="small"
                  >修改</el-button
                >
                <el-button
                  :disabled="
                    browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40
                  "
                  type="text"
                  @click.native.prevent="wDeleteRow(scope.$index, detailList)"
                  size="small"
                  >移除</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </div>
      </el-collapse-item>

      <el-collapse-item>
        <template slot="title">
          <i class="el-icon-s-order" style="font-size: 16px"></i>
          <span style="font-size: 16px; font-weight: bolder; margin-left: 5px"
            >附件明细</span
          >
        </template>
        <up-load
          :relevantAttachments="relevantAttachments"
          :createBy="form.createBy"
          :browseStatus="browseStatus"
        ></up-load>
      </el-collapse-item>

      <el-collapse-item>
        <template slot="title">
          <i class="el-icon-circle-plus" style="font-size: 16px"></i>
          <span style="font-size: 16px; font-weight: bolder; margin-left: 5px"
            >收款信息</span
          >
        </template>
        <income-money
          :browseStatus="browseStatus"
          @chiSave="saveForm"
          @chiAdd="addCollection"
          :warehouseDrList="warehouseDrList"
          :businessTypeOption="businessTypeOption"
          :fDNameOptions="fDNameOptions"
          :fMblnoOptions="fMblnoOptions"
          :fFeetUnitOptions="fFeetUnitOptions"
          :fStltypeOptions="fStltypeOptions"
          :fGrossweight="fGrossweight"
          :fQty="fQty"
          :fNetweight="fNetweight"
          :fCntqty="fCntqty"
          :form="form"
        ></income-money>
      </el-collapse-item>

      <el-collapse-item>
        <template slot="title">
          <i class="el-icon-remove" style="font-size: 16px"></i>
          <span style="font-size: 16px; font-weight: bolder; margin-left: 5px"
            >付款信息</span
          >
        </template>
        <pay-money
          :browseStatus="browseStatus"
          @chiSave="saveForm"
          @chiAdd="addpayment"
          :warehouseCrList="warehouseCrList"
          :businessTypeOption="businessTypeOption"
          :fCNameOptions="fCNameOptions"
          :fMblnoOptions="fMblnoOptions"
          :fFeetUnitOptions="fFeetUnitOptions"
          :fStltypeOptions="fStltypeOptions"
          :fGrossweight="fGrossweight"
          :fQty="fQty"
          :fNetweight="fNetweight"
          :fCntqty="fCntqty"
          :form="form"
        ></pay-money>
      </el-collapse-item>
    </el-collapse>
    <el-dialog
      v-dialogDrag
      :title="title"
      :visible.sync="weightList"
      width="80%"
      :close-on-click-modal="false"
    >
      <div>
        <el-form
          ref="importList"
          :model="importList"
          :rules="imporRules"
          label-width="120px"
        >
          <el-row>
            <el-col :span="6">
              <el-form-item label="入库日期" prop="fBsdate">
                <el-date-picker
                  v-model="importList.fBsdate"
                  type="date"
                  style="width: 100%"
                  value-format="timestamp"
                  placeholder="入库日期"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="品名" prop="fGoodsid">
                <el-select
                  filterable
                  v-model="importList.fGoodsid"
                  style="width: 100%"
                  placeholder="请选择品名"
                  @change="changeGoods"
                >
                  <el-option
                    v-for="(item, index) in goodsOptions"
                    :key="index.fId"
                    :label="item.fName"
                    :value="item.fId"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="货物属性" prop="fBusinessType">
                <el-select
                  filterable
                  v-model="importList.fBusinessType"
                  style="width: 100%"
                  placeholder="请选择商品属性"
                >
                  <el-option
                    v-for="(item, index) in fStorageTypeOptions"
                    :key="index.dictValue"
                    :label="item.dictLabel"
                    :value="item.dictValue"
                  />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="属性详情" prop="fMarks">
                <el-input
                  v-model="importList.fMarks"
                  style="width: 100%"
                  placeholder="请填写属性描述"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="库区" prop="fWarehouselocid">
                <treeselect
                  v-model="importList.fWarehouselocid"
                  @select="getAlltree"
                  :options="fWarehouseidOptions"
                  :show-count="true"
                  :disable-branch-nodes="true"
                  placeholder="请选择库区"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="件数" prop="fQty">
                <el-input
                  v-input-limit="0"
                  v-model.number="importList.fQty"
                  style="width: 100%"
                  placeholder="件数"
                  @input="imporComputer"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="毛重(kg)" prop="fGrossweight">
                <el-input
                  v-model.number="importList.fGrossweight"
                  v-input-limit="2"
                  style="width: 100%"
                  placeholder="毛重"
                  @change="tfGrossweight2"
                >
                  <template slot="append">{{ tfGrossweightnum2 }}吨</template>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="净重(kg)" prop="fNetweight">
                <el-input
                  v-model.number="importList.fNetweight"
                  v-input-limit="2"
                  style="width: 100%"
                  placeholder="净重"
                  @change="tfNetweight2"
                >
                  <template slot="append">{{ tfNetweightnum2 }}吨</template>
                </el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="包装规格" prop="fPackagespecs">
                <el-input
                  v-model="importList.fPackagespecs"
                  style="width: 100%"
                  placeholder="包装规格"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="箱型" prop="fCntrtype">
                <el-select
                  placeholder="请选择箱型"
                  v-model="importList.fCntrtype"
                >
                  <el-option
                    v-for="(item, index) in cntrList"
                    :key="index.fId"
                    :label="item.fName"
                    :value="item.fId"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="箱量" prop="fCntqty">
                <el-input
                  v-model="importList.fCntqty"
                  style="width: 100%"
                  placeholder="箱量"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="箱号"
                prop="fCntrno"
                :rules="{
                  required: ifCntrnoStatus == 1 ? true : false,
                  message: '',
                  trigger: ['blur', 'change'],
                }"
              >
                <el-input
                  v-model="importList.fCntrno"
                  style="width: 100%"
                  placeholder="箱号"
                  v-Alphabet
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="车队" prop="fFleet">
                <el-select
                  style="width: 80%"
                  v-model="importList.fFleet"
                  clearable
                  filterable
                  placeholder="请输入关键词"
                >
                  <el-option
                    v-for="(item, index) in fleetOptions"
                    :key="index.fId"
                    :label="item.fName"
                    :value="item.fId"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="车号" prop="fTruckno">
                <el-input
                  v-model="importList.fTruckno"
                  style="width: 100%"
                  placeholder="车号"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="司机名" prop="fDriverName">
                <el-input
                  v-model="importList.fDriverName"
                  style="width: 100%"
                  placeholder="司机名"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="司机电话" prop="fDriverTel">
                <el-input
                  v-model="importList.fDriverTel"
                  style="width: 100%"
                  placeholder="司机电话"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="司机身份证" prop="fDriverIdCar">
                <el-input
                  v-model="importList.fDriverIdCar"
                  style="width: 100%"
                  placeholder="司机身份证"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="流水号" prop="fSerialNumber">
                <el-input
                  v-model="importList.fSerialNumber"
                  style="width: 100%"
                  placeholder="流水号"
                  disabled
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="货值" prop="fGoodsval">
                <el-input
                  v-model="importList.fGoodsval"
                  style="width: 100%"
                  placeholder="货值"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="装卸方式" prop="fLntype">
                <el-select
                  v-model="importList.fLntype"
                  placeholder="装卸方式"
                  style="width: 100%"
                >
                  <el-option
                    v-for="(item, index) in unloadModes"
                    :key="index.dictValue"
                    :label="item.dictLabel"
                    :value="item.dictValue"
                  />
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="叉车工" prop="fForkliftman">
                <el-input
                  v-model="importList.fForkliftman"
                  style="width: 100%"
                  placeholder="叉车工"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="装卸工" prop="fStevedore">
                <el-input
                  v-model="importList.fStevedore"
                  style="width: 100%"
                  placeholder="装卸工"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="库内箱号" prop="fLocalcntrno">
                <el-input
                  v-model="importList.fLocalcntrno"
                  style="width: 100%"
                  placeholder="库内箱号"
                  v-Alphabet
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="封号" prop="fSealno">
                <el-input
                  v-model="importList.fSealno"
                  style="width: 100%"
                  placeholder="封号"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col>
              <el-form-item label="备注" prop="remark">
                <el-input
                  v-model="importList.remark"
                  style="width: 100%"
                  type="textarea"
                  placeholder="备注"
                />
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button v-if="fixdetaiNum == null" type="info" @click="imporTable"
          >保 存</el-button
        >
        <el-button v-else type="info" @click="fiximporTable"
          >确认修改</el-button
        >
        <el-button @click="weightList = false">取 消</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_zyd"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司作业单
        </div>
        <div
          style="
            display: flex;
            justify-content: center;
            font-size: 18px;
            margin-bottom: 5px;
          "
        ></div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>作业类型</td>
              <td colspan="2">
                {{ form.fBusinessType | fBusinessTypeFormat }}
              </td>
              <td>入库时间</td>
              <td colspan="2"></td>
            </tr>
            <tr>
              <td>车号</td>
              <td>物品名称</td>
              <td>提单号</td>
              <td>品牌/规格/产地</td>
              <td>净重(KG)</td>
              <td>件数/规格</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ item.fTruckno }}</td>
              <td>{{ item.fGoodsids }}</td>
              <td>{{ item.fMblno }}</td>
              <td>
                {{ item.fBusinessType | fStorageFormat }}/{{ item.fMarks }}
              </td>
              <td>{{ item.fNetweight }}</td>
              <td>{{ item.fQty }}/{{ item.fPackagespecs }}</td>
            </tr>
            <tr>
              <td>备注</td>
              <td colspan="5"></td>
            </tr>
            <tr v-for="(item, index) in Collectionoptionss" :key="index">
              <td>收费</td>
              <td colspan="2">{{ item.fFeeids }}</td>
              <td colspan="3">{{ item.fAmount }} 元</td>
            </tr>
            <tr>
              <td>司机签字</td>
              <td></td>
              <td>电话</td>
              <td>{{ fDriverTel }}</td>
              <td colspan="2" rowspan="2">
                确认货物数量无误，包装于货物完好！<br />出库盖好篷布，如有违背责任自负<br />装卸工是否收小费
              </td>
            </tr>
            <tr>
              <td>制表</td>
              <td>{{ form.createBy }}</td>
              <td>机械/人工</td>
              <td></td>
            </tr>
            <tr>
              <td>地址</td>
              <td colspan="2">{{ stockaddr }}</td>
              <td>电话</td>
              <td colspan="2">{{ form.fTel }}</td>
            </tr>
          </table>
        </div>
      </div>
      <span lot="footer" class="dialog-footer">
        <el-button
          type="primary"
          size="mini"
          :disabled="browseStatus"
          @click="
            print_zyd = false;
            addprint('zyd');
          "
          >打印
        </el-button>
        <el-button @click="print_zyd = false" size="mini">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_shd"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司收货单
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>车号</td>
              <td>{{ fTruckno }}</td>
              <td>日期</td>
              <td>{{ fBsdate }}</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>货物品名</td>
              <td>{{ item.fGoodsids }}</td>
              <td>件数</td>
              <td>{{ item.fQty }}件</td>
            </tr>
            <tr>
              <td>备注</td>
              <td colspan="3"></td>
            </tr>
            <tr>
              <td>司机签字</td>
              <td></td>
              <td>司机电话</td>
              <td>{{ fDriverTel }}</td>
            </tr>
            <tr>
              <td>制单人</td>
              <td>{{ form.createBy }}</td>
              <td>收货人</td>
              <td>{{ form.fContacts }}</td>
            </tr>
            <tr>
              <td>地址</td>
              <td>{{ stockaddr }}</td>
              <td>电话</td>
              <td>{{ form.fTel }}</td>
            </tr>
          </table>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_shd = false;
          "
          >打印
        </el-button>
        <el-button @click="print_shd = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_rkd"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司进仓单
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>客户</td>
              <td>{{ form.fCorpidName }}</td>
              <td>仓库</td>
              <td>{{ form.fWarehouseids }}</td>
              <td>地址</td>
              <td colspan="2">{{ stockaddr }}</td>
            </tr>
            <tr>
              <td>保管方</td>
              <td width="200">{{ company }}有限公司</td>
              <td>联系人</td>
              <td>{{ form.fContacts }}</td>
              <td>电话</td>
              <td colspan="2">{{ form.fTel }}</td>
            </tr>
            <tr>
              <td>提单号</td>
              <td>品名</td>
              <td>箱型</td>
              <td>品牌</td>
              <td>件数</td>
              <td>重量</td>
              <td>包装规格</td>
            </tr>
            <tr>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
            </tr>
            <tr>
              <td>序号</td>
              <td>入货日期</td>
              <td>箱量(20GP)</td>
              <td>重量</td>
              <td>件数</td>
              <td>入库重量</td>
              <td>入库件数</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ index + 1 }}</td>
              <td>{{ item.fBsdate }}</td>
              <td>{{ item.fCntqty }}</td>
              <td v-if="item.fGrossweight">
                {{ (item.fGrossweight / 1000).toFixed(2) }}
              </td>
              <td v-else></td>
              <td>{{ item.fPlanqty }}</td>
              <td v-if="item.fNetweight">
                {{ (item.fNetweight / 1000).toFixed(2) }}
              </td>
              <td v-else></td>
              <td>{{ item.fQty }}</td>
            </tr>
            <tr>
              <td colspan="2">合计</td>
              <td>{{ allfCntqty }}</td>
              <td>{{ (allfGrossweight / 1000).toFixed(2) }}</td>
              <td>{{ allfPlanqty }}</td>
              <td>{{ (allfNetweight / 1000).toFixed(2) }}</td>
              <td>{{ allfQty }}</td>
            </tr>
            <tr>
              <td>备注</td>
              <td colspan="6"></td>
            </tr>
            <tr>
              <td colspan="7">
                本进仓单经仓管员签字并经保管方盖章后即专项作为货物所有人的货权证明，本单据不得转让。
              </td>
            </tr>
          </table>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>开单员：</div>
          <div style="width: 150px">仓管员：</div>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>开单时间：</div>
          <div style="width: 150px">(盖章)</div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_rkd = false;
          "
          >打印
        </el-button>
        <el-button @click="print_rkd = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_bzrkd"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司（入库单-标准）
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>客户名称</td>
              <td>{{ form.fCorpidName }}</td>
              <td>入库日期</td>
              <td>{{ form.fBsdate | fBsdateFormat }}</td>
              <td>流水号</td>
              <td colspan="2">{{ form.fBillno }}</td>
            </tr>
            <tr>
              <td>车号</td>
              <td>{{ form.fTruckno }}</td>
              <td>提单号</td>
              <td>{{ form.fMblno }}</td>
              <td>箱号</td>
              <td colspan="2" v-if="Printinglist.length">
                {{ Printinglist[0].fCntrno }}
              </td>
              <td colspan="2" v-else></td>
            </tr>
            <tr>
              <td>货名</td>
              <td>箱量</td>
              <td>件数</td>
              <td>毛重</td>
              <td>规格</td>
              <td>区位</td>
              <td>备注</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ item.fGoodsids }}</td>
              <td>{{ item.fCntqty }}</td>
              <td>{{ item.fQty }}</td>
              <td v-if="item.fGrossweight">
                {{ (item.fGrossweight / 1000).toFixed(2) }}
              </td>
              <td v-else></td>
              <td>{{ item.fPackagespecs }}</td>
              <td>{{ item.fWarehouseInformation }}</td>
              <td>{{ item.remark }}</td>
            </tr>
            <tr>
              <td>备注</td>
              <td colspan="4">不贴标签不卸货</td>
              <td>总件数</td>
              <td>{{ allfQty }}</td>
            </tr>
          </table>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>操作：{{ form.createBy }}</div>
          <div>理货：</div>
          <div>叉车：</div>
          <div>司机：</div>

          <div style="width: 150px">电话：</div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_bzrkd = false;
          "
          >打印
        </el-button>
        <el-button @click="print_bzrkd = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_lhd"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司
        </div>
        <div
          style="
            display: flex;
            justify-content: center;
            font-size: 18px;
            margin-bottom: 5px;
          "
        >
          <div>入&nbsp;库&nbsp;计&nbsp;划&nbsp;单</div>
        </div>
        <div
          style="
            display: flex;
            justify-content: space-between;
            margin-bottom: 5px;
          "
          class="print_form"
        >
          <div>
            <div>提单号：{{ form.fMblno }}</div>
            <div>客户名称：{{ form.fCorpidName }}</div>
            <div>货物名称：{{ form.fProductName }}</div>
            <div>预计净重：{{ form.fPlannetweight }}</div>
          </div>
          <div>
            <div>入库计划单号：{{ form.fBillno }}</div>
            <div>计划入库日期：{{ form.fBstime }}</div>
            <div>制单日期：{{ form.createTime }}</div>
            <div>实际毛重：</div>
          </div>
          <div>
            <div>清单号：{{ form.fCustomno }}</div>
            <div>存放仓库：{{ stockName }}</div>
            <div>预计毛重：{{ form.fPlangrossweight }}</div>
            <div>实际净重：</div>
          </div>
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>箱号</td>
              <td>铅封号</td>
              <td>预计件数</td>
              <td>实际件数</td>
              <td>垛位</td>
              <td>实际入库日期</td>
              <td>送货车号</td>
              <td>送货司机</td>
              <td>备注</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ item.fCntrno }}</td>
              <td></td>
              <td>{{ item.fQty }}</td>
              <td></td>
              <td>{{ item.fWarehouseInformation }}</td>
              <td>{{ item.fChargedate }}</td>
              <td>{{ item.fTruckno }}</td>
              <td>{{ item.fDriverName }}</td>
              <td>{{ item.remark }}</td>
            </tr>
            <tr>
              <td colspan="2">合计：</td>
              <td>{{ allfQty }}</td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
            </tr>
          </table>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>操作：{{ form.createBy }}</div>
          <div>库管：{{ form.fContacts }}</div>
          <div style="width: 100px">叉车：</div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_lhd = false;
          "
          >打印
        </el-button>
        <el-button @click="print_lhd = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_hwqr"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司
        </div>
        <div
          style="
            display: flex;
            justify-content: center;
            font-size: 18px;
            margin-bottom: 5px;
          "
        >
          <div>入&nbsp;库&nbsp;单</div>
        </div>
        <div style="margin-bottom: 5px" class="print_form">
          <div>客户名称：{{ form.fCorpidName }}</div>
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>序号</td>
              <td>实际入库日期</td>
              <td>商品名称</td>
              <td>提单号</td>
              <td>箱号</td>
              <td>件数</td>
              <td>毛重</td>
              <td>净重</td>
              <td>备注</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ index + 1 }}</td>
              <td>{{ item.fChargedate }}</td>
              <td>{{ item.fGoodsids }}</td>
              <td>{{ item.fMblno }}</td>
              <td>{{ item.fCntrno }}</td>
              <td>{{ item.fQty }}</td>
              <td>{{ item.fGrossweight }}</td>
              <td>{{ item.fNetweight }}</td>
              <td>{{ item.remark }}</td>
            </tr>
            <tr>
              <td colspan="5">合计：</td>
              <td>{{ allfQty }}</td>
              <td>{{ allfGrossweight }}</td>
              <td>{{ allfNetweight }}</td>
              <td></td>
            </tr>
          </table>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>制单人：{{ form.createBy }}</div>
          <div style="width: 100px">审核人：</div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_hwqr = false;
          "
          >打印
        </el-button>
        <el-button @click="print_hwqr = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_lwqr"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司
        </div>
        <div
          style="
            display: flex;
            justify-content: center;
            font-size: 18px;
            margin-bottom: 5px;
          "
        >
          <div>入&nbsp;库&nbsp;单</div>
        </div>
        <div style="display: flex; margin-bottom: 5px">
          <div>
            <div>报关单号：{{ form.fCustomno }}</div>
            <div>存货地点：</div>
          </div>
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>品名</td>
              <td colspan="3">{{ form.fProductName }}</td>
              <td colspan="3">清单号</td>
              <td colspan="2">{{ form.fCustomno }}</td>
            </tr>
            <tr>
              <td>提单号</td>
              <td colspan="8">{{ form.fMblno }}</td>
            </tr>
            <tr>
              <td>入库日期</td>
              <td>箱号</td>
              <td>铅封号</td>
              <td>预计件数</td>
              <td>垛位</td>
              <td>实收件数</td>
              <td>实收净重(吨)</td>
              <td>毛重(吨)</td>
              <td>备注</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ item.fChargedate }}</td>
              <td>{{ item.fCntrno }}</td>
              <td></td>
              <td>{{ item.fQty }}</td>
              <td>{{ item.fWarehouseInformation }}</td>
              <td></td>
              <td></td>
              <td></td>
              <td>{{ item.remark }}</td>
            </tr>
          </table>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>库管：{{ form.fContacts }}</div>
          <div style="width: 100px">叉车：</div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_lwqr = false;
          "
          >打印
        </el-button>
        <el-button @click="print_lwqr = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_dpxx"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          {{ company }}有限公司货物标识卡
        </div>
        <div
          style="
            display: flex;
            justify-content: center;
            font-size: 18px;
            margin-bottom: 5px;
          "
        >
          <div>入&nbsp;库&nbsp;计&nbsp;划&nbsp;单</div>
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>货物名称</td>
              <td colspan="2">{{ form.fProductName }}</td>
              <td>库位</td>
              <td colspan="2">{{ stockName }}</td>
            </tr>
            <tr>
              <td>提单号</td>
              <td colspan="2">{{ form.fMblno }}</td>
              <td>清单号</td>
              <td colspan="2">{{ form.fCustomno }}</td>
            </tr>
            <tr>
              <td>箱号</td>
              <td colspan="2"></td>
              <td>总箱量</td>
              <td colspan="2"></td>
            </tr>
            <tr>
              <td>总件数</td>
              <td colspan="2">{{ form.fPlanqty }}</td>
              <td>总净重</td>
              <td colspan="2">{{ form.fPlannetweight }}</td>
            </tr>
            <tr>
              <td>总毛重</td>
              <td colspan="2">{{ form.fPlangrossweight }}</td>
              <td>本垛件数</td>
              <td colspan="2">{{ allfQty }}</td>
            </tr>
            <tr>
              <td>本垛净重</td>
              <td colspan="2">{{ allfGrossweight }}</td>
              <td>本垛毛重</td>
              <td colspan="2">{{ allfNetweight }}</td>
            </tr>
            <tr>
              <td>入库日期</td>
              <td colspan="2">{{ form.fBstime }}</td>
              <td>仓管员</td>
              <td colspan="2">{{ form.fContacts }}</td>
            </tr>
            <tr>
              <td>出库日期</td>
              <td>出库件数</td>
              <td>剩余件数</td>
              <td>出库仓管员</td>
              <td>盘点日期</td>
              <td>盘点人</td>
            </tr>
            <tr style="height: 17.8px" v-for="(item, index) in 10" :key="index">
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
            </tr>
            <tr style="height: 50px">
              <td>备注</td>
              <td colspan="5"></td>
            </tr>
          </table>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_dpxx = false;
          "
          >打印
        </el-button>
        <el-button @click="print_dpxx = false">取消 </el-button>
      </span>
    </el-dialog>
    <el-dialog
      :visible.sync="print_dk"
      width="70%"
      :close-on-click-modal="false"
      :modal="false"
    >
      <div id="print_area1" class="print-div">
        <div
          class="print-title"
          style="
            display: flex;
            justify-content: center;
            font-size: 24px;
            margin-bottom: 5px;
          "
        >
          垛卡
        </div>
        <div class="print_table" style="display: flex">
          <table border="0" cellspacing="0" cellpadding="0" style="width: 100%">
            <tr>
              <td>客户</td>
              <td colspan="2">{{ form.fCorpidName }}</td>
              <td>箱量</td>
              <td v-if="Printinglist.length">{{ Printinglist[0].fCntqty }}</td>
              <td v-else></td>
              <td>车号</td>
              <td>{{ form.fTruckno }}</td>
            </tr>
            <tr>
              <td>提单号</td>
              <td colspan="2">{{ form.fMblno }}</td>
              <td>品名</td>
              <td colspan="3">
                {{ form.fGoodsid | goodsFormat(goodsOptions) }}
              </td>
            </tr>
            <tr>
              <td>箱号</td>
              <td colspan="2" v-if="Printinglist.length">
                {{ Printinglist[0].fCntrno }}
              </td>
              <td colspan="2" v-else></td>
              <td>报关号</td>
              <td colspan="3"></td>
            </tr>
            <tr>
              <td>入库日期</td>
              <td>入库件数</td>
              <td>出库日期</td>
              <td>出库件数</td>
              <td>结余件数</td>
              <td>区位</td>
              <td>备注</td>
            </tr>
            <tr v-for="(item, index) in Printinglist" :key="index">
              <td>{{ item.fBsdate }}</td>
              <td>{{ item.fQty }}</td>
              <td></td>
              <td></td>
              <td></td>
              <td>{{ item.fWarehouseInformation }}</td>
              <td>{{ item.remark }}</td>
            </tr>
          </table>
        </div>
        <div
          style="display: flex; justify-content: space-between; font-size: 12px"
        >
          <div>操作：{{ form.createBy }}</div>
          <div>司机：</div>
          <div>理货：</div>
          <div>掏箱叉车：</div>
          <div style="width: 150px">码垛叉车：</div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          :disabled="browseStatus"
          @click="
            addprint();
            print_dk = false;
          "
          >打印
        </el-button>
        <el-button @click="print_dk = false">取消 </el-button>
      </span>
    </el-dialog>
    <div style="display: flex; justify-content: flex-end; margin-top: 10px">
      <!-- 弹窗, 新增 / 修改 -->
      <add-or-update
        v-if="addOrUpdateVisible"
        ref="addOrUpdate"
        @refreshDataList="getDataList"
      ></add-or-update>
      <approval-comments
        v-if="addOrUpdateVisib"
        ref="ApprovalComments"
        @refreshDataList="returnData"
      ></approval-comments>
      <el-button
        type="primary"
        :disabled="approvalStatus"
        v-if="form.fBillstatus > 3"
        @click="addOrUpdateHandle(form, 'f_billstatus')"
        >查看审批</el-button
      >
      <el-button
        type="primary"
        v-if="approVal == true&&form.fBillstatus==6"
        @click="addOrUpdateHand(form, 'f_billstatus')"
        >审批</el-button
      >
      <el-button
        :disabled="browseStatus"
        type="success"
        prop="打印"
        @click="print_shd = true"
        >收货单
      </el-button>
      <el-button
        :disabled="browseStatus"
        type="warning"
        prop="打印"
        @click="print_rkd = true"
        >入库单
      </el-button>
      <el-button @click="discharge" :disabled="browseStatus">卸货</el-button>
      <el-button
        type="info"
        :disabled="browseStatus"
        prop="打印"
        @click="print_zyd = true"
        >作业单
      </el-button>
      <el-button :disabled="browseStatus" type="primary" @click="saveForm()"
        >保 存</el-button
      >
      <el-button
        :disabled="form.fBillstatus >3"
        style="background-color: #008000; color: #fff"
        @click="submitForm()"
        >请核</el-button
      >
      <el-button type="danger" v-if="form.fBillstatus === 6" @click="revoke"
        >撤销请核</el-button
      >
      <el-button
        type="danger"
        v-if="form.fBillstatus === 4 && current == before"
        :disabled="doNot"
        @click="revokeTwo('f_billstatus')"
        >撤销审批</el-button
      >
      <el-button @click="cancel">取 消</el-button>
    </div>
  </div>
</template>

<script>
import print from "print-js";
import {
  addWhgenleg,
  addJoblist,
  disChargelist,
  updateCredit,
  listWarehousebills,
  getWarehousebills,
  delWarehousebills,
  addWarehousebills,
  addWarehouse,
  exportWarehousebills,
  revoke,
  revokeTwo,
  delinStock_s,
  submitWarehousingApproval,
  ordersRevoke,
  checkCode,
} from "@/api/warehouseBusiness/warehouseInStock";
import { operationAgreement } from "@/api/agreement/agreement";
import { listCorps } from "@/api/basicdata/corps";
import { listFees, getFees } from "@/api/basicdata/fees";
import {
  listWarehouse,
  treeselect,
  listWarehousesss,
} from "@/api/basicdata/warehouse";
import { listGoods } from "@/api/basicdata/goods";
import { listCntrs } from "@/api/basicdata/cntr";
import { listUser, queryUserVal } from "@/api/system/user";
import ApprovalComments from "@/views/startApproval";
import AddOrUpdate from "@/views/viewApproval";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import UploadFile from "@/components/Uploadfile";
import Cookies from "js-cookie";
import { addSet, select, resetModule } from "@/api/system/set";
import draggable from "vuedraggable";
import upLoad from "../components/upLoad";
import incomeMoney from "../components/incomeMoney";
import payMoney from "../components/payMoney";
export default {
  name: "inStock",
  props: {
    chiId: {
      type: Number,
      required: null,
    },
    copyStatus: {
      type: Number,
      required: null,
    },
  },
  components: {
    UploadFile,
    Treeselect,
    AddOrUpdate,
    ApprovalComments,
    draggable,
    upLoad,
    incomeMoney,
    payMoney,
  },
  data() {
    return {
      pageNum: 1,
      pageSize: 10,
      dialogWhgenlegList: [],
      tasklegList: [],
      Navigation: false,
      key_id: "",
      mblnoStatus: "",
      selectloading: false,
      fMblnoOptions: [],
      warehouseDrList: [],
      relevantAttachments: [],
      warehouseCrList: [],
      fStltypeOptions: [],
      form: {},
      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" }],
        fBsdate: [{ required: true, message: " ", trigger: "blur" }],
        fTrademodeid: [{ required: true, message: " ", trigger: "blur" }],
        fSbu: [{ required: true, message: " ", trigger: "blur" }],
        fBusinessType: [{ 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" }],
        fGoodsid: [{ required: true, message: " ", trigger: "blur" }],
      },
      imporRules: {
        fBsdate: [{ required: true, message: " ", trigger: "blur" }],
        fQty: [{ required: true, message: " ", trigger: "blur" }],
        fGoodsid: [{ required: true, message: " ", trigger: "blur" }],
        fBusinessType: [{ required: true, message: " ", trigger: "blur" }],
        fMarks: [{ required: true, message: " ", trigger: "blur" }],
        fPackagespecs: [{ required: true, message: " ", trigger: "blur" }],
        fTruckno: [{ required: true, message: " ", trigger: "blur" }],
      },
      browseStatus: false,
      goodsOptions: [],
      warehouseOptions: [],
      userOptions: [],
      businessTypeOption: [],
      fCompanyOptIons: [],
      fleetOptions: [],
      fFeetUnitOptions: [],
      current: "",
      before: "",
      isrequired: 2,
      isrequired2: 2,
      detailsHidden: false,
      detailsHidden2: true,
      CntrTable: [],
      cntrList: [],
      fTrademodeidOptions: [],
      fIfweighOptions: [],
      fIfpledgeOptions: [],
      fSbuOptions: [],
      Pledgebank: [],
      collapselist: ["1"],
      fStorageTypeOptions: [],
      weightList: false,
      importList: {},
      sumMum: 0,
      allfPlanqty: 0,
      detailList: [],
      fWarehouseidOptions: [],
      print_zyd: false,
      print_shd: false,
      print_rkd: false,
      print_lhd: false,
      print_hwqr: false,
      print_lwqr: false,
      print_dpxx: false,
      print_bzrkd: false,
      print_dk: false,
      company: "",
      Printinglist: [],
      //库位
      stockName: "",
      //库位地址
      stockaddr: "",
      Collectionoptionss: [],
      fDriverTel: "",
      fBsdate: "",
      fTruckno: "",
      allfCntqty: 0,
      allfGrossweight: 0,
      allfPlanqty: 0,
      allfNetweight: 0,
      allfQty: 0,
      fixdetaiNum: null,
      dataListSelection: [],
      dataWithdrawList: [],
      title: "",
      fCNameOptions: [],
      fDNameOptions: [],
      whgenlegTotal: 0,
      fGrossweight: 0,
      fQty: 0,
      fNetweight: 0,
      fCntqty: 0,
      activeIndex: "1",
      ifCntrnoStatus: null,
      addOrUpdateVisible: false,
      addOrUpdateVisib: false,
      approVal: false,
      approvalStatus: false,
      doNot: false,
      stockoi: null,
      unloadModes: [],
      dataShowcar: null,
      drag: false,
      tableDate: [
        {
          surface: "0",
          label: "fBillstatus",
          name: "状态",
          checked: 0,
          width: 100,
        },
        {
          surface: "1",
          label: "fBsdate",
          name: "入库日期",
          checked: 0,
          width: 100,
        },
        {
          surface: "2",
          label: "fMblno",
          name: "提单号",
          checked: 0,
          width: 100,
        },
        {
          surface: "3",
          label: "fGoodsid",
          name: "品名",
          checked: 0,
          width: 100,
        },
        {
          surface: "4",
          label: "fBusinessType",
          name: "货物属性",
          checked: 0,
          width: 100,
        },
        {
          surface: "5",
          label: "fMarks",
          name: "属性详情",
          checked: 0,
          width: 100,
        },
        {
          surface: "6",
          label: "fWarehouseInformation",
          name: "库区",
          checked: 0,
          width: 100,
        },
        {
          surface: "7",
          label: "fCntrtype",
          name: "箱型",
          checked: 0,
          width: 100,
        },
        {
          surface: "8",
          label: "fCntqty",
          name: "箱量",
          checked: 0,
          width: 100,
        },
        {
          surface: "9",
          label: "fQty",
          name: "入库件数",
          checked: 0,
          width: 100,
        },
        {
          surface: "10",
          label: "fGrossweight",
          name: "入库毛重(kg)",
          checked: 0,
          width: 100,
        },
        {
          surface: "11",
          label: "fNetweight",
          name: "入库净重(kg)",
          checked: 0,
          width: 100,
        },
        {
          surface: "12",
          label: "fPackagespecs",
          name: "包装规格",
          checked: 0,
          width: 100,
        },
        {
          surface: "13",
          label: "fFleet",
          name: "车队",
          checked: 0,
          width: 100,
        },
        {
          surface: "13",
          label: "fTruckno",
          name: "车号",
          checked: 0,
          width: 100,
        },
        {
          surface: "14",
          label: "fDriverName",
          name: "司机名称",
          checked: 0,
          width: 100,
        },
        {
          surface: "15",
          label: "fDriverTel",
          name: "司机电话",
          checked: 0,
          width: 100,
        },
        {
          surface: "16",
          label: "fDriverIdCar",
          name: "司机身份证",
          checked: 0,
          width: 100,
        },
        {
          surface: "17",
          label: "fSerialNumber",
          name: "流水号",
          checked: 0,
          width: 100,
        },
        {
          surface: "18",
          label: "fCntrno",
          name: "箱号",
          checked: 0,
          width: 100,
        },
        {
          surface: "19",
          label: "fLntype",
          name: "装卸方式",
          checked: 0,
          width: 100,
        },
        {
          surface: "20",
          label: "fForkliftman",
          name: "叉车工",
          checked: 0,
          width: 100,
        },
        {
          surface: "21",
          label: "fStevedore",
          name: "装卸工",
          checked: 0,
          width: 100,
        },
        {
          surface: "22",
          label: "fLocalcntrno",
          name: "库内箱号",
          checked: 0,
          width: 100,
        },
        {
          surface: "23",
          label: "fSealno",
          name: "封号",
          checked: 0,
          width: 100,
        },
        {
          surface: "24",
          label: "fGoodsval",
          name: "货值",
          checked: 0,
          width: 100,
        },
        {
          surface: "25",
          label: "remark",
          name: "备注",
          checked: 0,
          width: 100,
        },
      ],
      setRowList: [],
      getRowList: [],
      allCheck: false,
      showSetting: false,
      tfNetweightnum: 0,
      tfGrossweightnum: 0,
      tfNetweightnum2: 0,
      tfGrossweightnum2: 0,
      deptOptions: [],
      battributionList: [],
      delementsList: [],
      ifinspectionList: [],
      ifsamplingList: [],
      ifweightRecoveryList: [],
      showApproval: null,
    };
  },
  created() {
    this.setRowList = this.tableDate;
    this.getRowList = this.tableDate;
    this.getDicts("data_stltype_type").then((response) => {
      this.fStltypeOptions = response.data;
    });
    this.getDicts("st_in_type").then((response) => {
      this.businessTypeOption = response.data;
      localStorage.setItem("businessTypeList", JSON.stringify(response.data));
    });
    this.getDicts("data_unitfees").then((response) => {
      this.fFeetUnitOptions = response.data;
    });
    this.getDicts("data_trademodes").then((response) => {
      this.fTrademodeidOptions = response.data;
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.fIfweighOptions = response.data;
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.fIfpledgeOptions = response.data;
    });
    this.getDicts("storage_type").then((response) => {
      this.fStorageTypeOptions = response.data;
      localStorage.setItem("fStorageTypeList", JSON.stringify(response.data));
    });
    this.getDicts("unload_mode").then((response) => {
      this.unloadModes = response.data;
    });
    this.getDicts("f_declaration_elements").then((response) => {
      this.delementsList = response.data;
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.ifinspectionList = response.data;
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.ifsamplingList = response.data;
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.ifweightRecoveryList = response.data;
    });
    this.getConfigKey("stockoi").then((response) => {
      this.stockoi = response.msg;
    });
    this.getConfigKey("data_showcar").then((response) => {
      this.dataShowcar = response.msg;
      if (this.dataShowcar == "0") {
        this.detailsHidden2 = true;
        this.form.fBusinessType = "0";
      } else {
        this.detailsHidden2 = false;
      }
    });
    this.getConfigKey("instock.orders.approval").then((response) => {
      this.showApproval = response.msg;
    });
    listWarehousesss({ fStatus: 0, delFlag: 0 }).then((response) => {
      this.warehouseOptions = response.rows;
    });
    listFees({ fDc: "C" }).then((response) => {
      this.fCNameOptions = response.rows;
    });
    listFees({ fDc: "D" }).then((response) => {
      this.fDNameOptions = response.rows;
    });
    listCorps({ type: 1 }).then((response) => {
      this.fMblnoOptions = response.rows;
    });

    listCorps().then((response) => {
      this.fSbuOptions = response.rows;
    });
    listCorps({ type: 5 }).then((response) => {
      this.Pledgebank = response.rows;
    });
    listUser().then((response) => {
      this.userOptions = response.rows;
    });
    listGoods({ fStatus: 0, delFlag: 0 }).then((response) => {
      this.goodsOptions = response.rows;
    });
    listCntrs({ fStatus: "T" }).then((response) => {
      this.cntrList = response.rows;
    });
    listCorps({ fTypeid: 6 }).then((response) => {
      this.fCompanyOptIons = response.rows;
    });
    listCorps({ fTypeid: 7 }).then((response) => {
      this.battributionList = response.rows;
    });
    listCorps({ fTypeid: 2 }).then((response) => {
      this.fleetOptions = response.rows;
    });
    this.company = localStorage.getItem("companyName");
    this.queryUser();
    this.getRow();
  },
  filters: {
    fStorageFormat(row) {
      let name;
      for (const item of JSON.parse(localStorage.getItem("fStorageTypeList"))) {
        if (row == item.dictValue) {
          name = item.dictLabel;
        }
      }
      return name;
    },
    fBusinessTypeFormat(row) {
      let name;
      for (const item of JSON.parse(localStorage.getItem("businessTypeList"))) {
        if (row == item.dictValue) {
          name = item.dictLabel;
        }
      }
      return name;
    },
    fStorageTypeFormat(row, fStorageTypeOptions) {
      let fStorageType;
      fStorageTypeOptions.map((e) => {
        if (row == e.dictValue) {
          fStorageType = e.dictLabel;
        }
      });
      return fStorageType;
    },
    fCntrtypeFormat(row, cntrList) {
      let fCntrtype;
      cntrList.map((e) => {
        if (row == e.fId) {
          fCntrtype = e.fName;
        }
      });
      return fCntrtype;
    },
    goodsFormat(row, goodsOptions) {
      let goods;
      goodsOptions.map((e) => {
        if (row == e.fId) {
          goods = e.fName;
        }
      });
      return goods;
    },
    fLntypeFormat(row, unloadModes) {
      let name;
      unloadModes.map((e) => {
        if (row == e.dictValue) {
          name = e.dictLabel;
        }
      });
      return name;
    },
    fFleetFormat(row, fleetOptions) {
      let name;
      fleetOptions.map((e) => {
        if (row == e.fId) {
          name = e.fName;
        }
      });
      return name;
    },
    fBsdateFormat(row) {
      if (row) {
        const dateMat = new Date(row);
        const year = dateMat.getFullYear();
        const month = dateMat.getMonth() + 1;
        const day = dateMat.getDate();
        const timeFormat = year + "-" + month + "-" + day;
        return timeFormat;
      }
    },
    fBillstatusFormat(row) {
      let Name;
      switch (row) {
        case 10:
          Name = "计划";
          break;
        case 20:
          Name = "待入库";
          break;
        case 30:
          Name = "入库中";
          break;
        default:
          Name = "已入库";
      }
      return Name;
    },
  },
  methods: {
    init() {
      this.approVal = false;
      this.resetForm("form");
      this.resetForm("importList");
      this.detailList = [];
      this.relevantAttachments = [];
      this.warehouseCrList = [];
      this.warehouseDrList = [];
      this.CntrTable = [];
      this.sumMum = 0;
      if (this.dataShowcar == "0") {
        this.detailsHidden2 = true;
      } else {
        this.detailsHidden2 = false;
      }
      if (this.$route.query.id) {
        this.approVal = true;
        this.$router.push({ query: {} });
      }
      this.getForm();
    },
    reset() {
      this.importList = {
        fBillstatus: null,
        fMblno: null,
        fQty: null,
        fNetweight: null,
        fGrossweight: null,
        fBsdate: null,
        fGoodsid: null,
        fBusinessType: null,
        fMarks: null,
        fWarehouselocid: null,
        fWarehouseInformation: null,
        fCntrtype: null,
        fCntqty: null,
        fPackagespecs: null,
        fTruckno: null,
        fDriverName: null,
        fDriverTel: null,
        fDriverIdCar: null,
        fSerialNumber: null,
        fCntrno: null,
        fGoodsval: null,
        remark: null,
      };
    },
    tfNetweight(row) {
      this.tfNetweightnum = (row / 1000).toFixed(2);
    },
    tfNetweight2(row) {
      this.tfNetweightnum2 = (row / 1000).toFixed(2);
    },
    tfGrossweight(row) {
      this.tfGrossweightnum = (row / 1000).toFixed(2);
    },
    tfGrossweight2(row) {
      this.tfGrossweightnum2 = (row / 1000).toFixed(2);
    },
    //列设置全选
    allChecked() {
      if (this.allCheck == true) {
        this.setRowList.map((e) => {
          return (e.checked = 0);
        });
      } else {
        this.setRowList.map((e) => {
          return (e.checked = 1);
        });
      }
    },
    tishi() {
      return this.$message.error("正在开发中");
    },
    //查询列数据
    getRow() {
      let that = this;
      this.data = {
        tableName: "入库明细",
        userId: Cookies.get("userName"),
      };
      select(this.data).then((res) => {
        if (res.data.length != 0) {
          this.getRowList = res.data.filter((e) => e.checked == 0);
          this.setRowList = res.data;
          this.setRowList = this.setRowList.reduce((res, item) => {
            res.push({
              surface: item.surface,
              label: item.label,
              name: item.name,
              checked: item.checked,
              width: item.width,
              fixed: item.fixed,
            });
            return res;
          }, []);
        }
      });
    },
    //重置列表
    delRow() {
      this.data = {
        tableName: "入库明细",
        userId: Cookies.get("userName"),
      };
      resetModule(this.data).then((res) => {
        if (res.code == 200) {
          this.showSetting = false;
          this.setRowList = this.$options.data().tableDate;
          this.getRowList = this.$options.data().tableDate;
        }
      });
    },
    //保存列设置
    save() {
      this.showSetting = false;
      this.data = {
        tableName: "入库明细",
        userId: Cookies.get("userName"),
        sysTableSetList: this.setRowList,
      };
      addSet(this.data).then((res) => {
        if (res.code == 200) {
          this.showSetting = false;
          this.getRowList = this.setRowList.filter((e) => e.checked == 0);
          console.log(this.tableDate);
        }
      });
    },
    //开始拖拽事件
    onStart() {
      this.drag = true;
    },
    //拖拽结束事件
    onEnd() {
      this.drag = false;
    },
    //撤销请核
    revoke() {
      revoke(this.form.fId).then((data) => {
        if (data.code === 200) {
          this.browseStatus = false;
          this.msgSuccess("撤销成功");
        }
      });
    },
    ordersRevoke() {
      ordersRevoke(this.form.fId).then((data) => {
        if (data.code === 200) {
          this.$set(this.form, "warehouseStatus", 2);
          this.msgSuccess("撤销成功");
        }
      });
    },
    //撤销审批
    revokeTwo(status) {
      let data = {
        actId: 110,
        billId: this.form.fId,
        id: this.form.fId,
        fidStatus: status,
      };
      revokeTwo(data).then((data) => {
        if (data.code === 200) {
          this.browseStatus = false;
          this.msgSuccess("撤销成功");
          if (status) {
            this.$set(this.form, "warehouseStatus", 2);
          }
        }
      });
    },
    // 查看审批流
    getDataList() {
      this.addOrUpdateVisible = false;
    },
    returnData() {
      this.addOrUpdateVisib = false;
      this.$router.push({ path: "/index" });
    },
    addOrUpdateHandle(form, status) {
      this.addOrUpdateVisible = true;
      let actId = "110";
      this.$nextTick(() => {
        this.$refs.addOrUpdate.init(form.fId, actId, status);
      });
    },
    addOrUpdateHand(form, status) {
      this.addOrUpdateVisib = true;
      this.$nextTick(() => {
        this.$refs.ApprovalComments.init(form.fId, status, 110);
      });
    },
    changefStltype(row) {
      this.fMblnoOptions.map((e) => {
        if (row == e.fId) {
          this.$set(
            this.form,
            "fStltypeid",
            e.fStltypeid ? e.fStltypeid.toString() : null
          );
        }
      });
    },
    changeGoods(row) {
      this.goodsOptions.map((e) => {
        if (row == e.fId) {
          if (e.ifCntrno == "1") {
            this.ifCntrnoStatus = 1;
          } else {
            this.ifCntrnoStatus = null;
          }
        }
      });
    },
    discharge() {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          if (this.Printinglist.length > 0) {
            for (let item in this.Printinglist) {
              if (this.Printinglist[item].fBillstatus === 10) {
                return this.$message.error("请先打印作业单");
              }
              if (
                this.Printinglist[item].fBillstatus >= 30 &&
                this.stockoi == "0"
              ) {
                return this.$message.error("请勿重复卸货");
              }
            }
            if (this.CntrTable.length > 0) {
              let arr = [];
              this.CntrTable.map((e) => {
                this.cntrList.map((item) => {
                  if (item.fId == e.fCntrid) {
                    arr.push(item.fName + "X" + e.fCntrcount);
                  }
                });
              });
              arr = [...new Set(arr)];
              this.form.fCntval = arr.join(",");
            } else {
              this.form.fCntval = null;
            }
            if (this.detailList.length > 0) {
              let arr = [];
              this.detailList.map((e) => {
                this.goodsOptions.map((item) => {
                  if (e.fGoodsid == item.fId) {
                    arr.push(item.fName);
                  }
                });
              });
              arr = [...new Set(arr)];
              this.form.fProductName = arr.join(",");
            } else {
              this.form.fProductName = "";
            }
            if (this.detailList.length > 0) {
              let arr = [];
              this.detailList.map((e) => {
                arr.push(e.fMarks);
              });
              arr = [...new Set(arr)];
              this.form.fMarks = arr.join(",");
            } else {
              this.form.fMarks = "";
            }
            if (this.detailList.length == 0) {
              this.form.fNetweight = 0;
              this.form.fPlanvolumn = 0;
              this.form.fGrossweight = 0;
            } else {
              this.form.fNetweight = this.fNetweight;
              this.form.fPlanvolumn = this.fPlanvolumn;
              this.form.fGrossweight = this.fGrossweight;
            }
            let formData = new window.FormData();
            formData.append("warehouseBills", JSON.stringify(this.form));
            formData.append(
              "tEnclosure",
              JSON.stringify(this.relevantAttachments)
            );
            formData.append(
              "warehousebillsitems",
              JSON.stringify(this.Printinglist)
            );
            formData.append(
              "warehousebillsfeesDr",
              JSON.stringify(this.warehouseDrList)
            );
            formData.append(
              "warehousebillsfeesCr",
              JSON.stringify(this.warehouseCrList)
            );
            formData.append("tCntr", JSON.stringify(this.CntrTable));
            disChargelist(formData).then((response) => {
              this.$set(this.form, "fDateChanged", response.data.fDateChanged);
              if ((response.code = 200)) {
                this.detailList.map((e, index) => {
                  response.data.warehousebillsitems.map((item) => {
                    if (e.fId == item.fId) {
                      e = item;
                      this.$set(this.detailList, index, e);
                    }
                  });
                });
                this.msgSuccess("卸货成功");
                this.$set(this.form, "fItemsStatus", 3);
              }
            });
          } else {
            this.$message.error("请选择需要卸货的明细!");
          }
        }
      });
    },
    creditClick() {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          for (let item in this.Printinglist) {
            if (!this.Printinglist[item].fId) {
              return this.$message.error("请存在未保存的数据");
            }
            if (
              this.Printinglist[item].fBillstatus == 10 &&
              this.stockoi == "0"
            ) {
              return this.$message.error("请存在未打印的作业单");
            }
            if (
              this.Printinglist[item].fBillstatus == 20 &&
              this.stockoi == "0"
            ) {
              return this.$message.error("请存在未卸货的数据");
            }
          }
          if (this.CntrTable.length > 0) {
            let arr = [];
            this.CntrTable.map((e) => {
              this.cntrList.map((item) => {
                if (item.fId == e.fCntrid) {
                  arr.push(item.fName + "X" + e.fCntrcount);
                }
              });
            });
            arr = [...new Set(arr)];
            this.form.fCntval = arr.join(",");
          } else {
            this.form.fCntval = null;
          }
          if (this.detailList.length > 0) {
            let arr = [];
            this.detailList.map((e) => {
              this.goodsOptions.map((item) => {
                if (e.fGoodsid == item.fId) {
                  arr.push(item.fName);
                }
              });
            });
            arr = [...new Set(arr)];
            this.form.fProductName = arr.join(",");
          } else {
            this.form.fProductName = "";
          }
          if (this.detailList.length > 0) {
            let arr = [];
            this.detailList.map((e) => {
              arr.push(e.fMarks);
            });
            arr = [...new Set(arr)];
            this.form.fMarks = arr.join(",");
          } else {
            this.form.fMarks = "";
          }
          if (this.detailList.length == 0) {
            this.form.fNetweight = 0;
            this.form.fPlanvolumn = 0;
            this.form.fGrossweight = 0;
          } else {
            this.form.fNetweight = this.fNetweight;
            this.form.fPlanvolumn = this.fPlanvolumn;
            this.form.fGrossweight = this.fGrossweight;
          }
          let formData = new window.FormData();
          formData.append("warehouseBills", JSON.stringify(this.form));
          formData.append(
            "warehousebillsitems",
            JSON.stringify(this.Printinglist)
          );
          formData.append(
            "warehousebillsfeesDr",
            JSON.stringify(this.warehouseDrList)
          );
          formData.append(
            "warehousebillsfeesCr",
            JSON.stringify(this.warehouseCrList)
          );
          formData.append(
            "tEnclosure",
            JSON.stringify(this.relevantAttachments)
          );
          formData.append("whgenleg", JSON.stringify(this.relevantAttachments));
          formData.append("tCntr", JSON.stringify(this.CntrTable));
          addWhgenleg(formData).then((response) => {
            if ((response.code = 200)) {
              this.TFformdata(response.data.warehousebills);
              this.detailList.map((e, index) => {
                response.data.warehousebillsitems.map((item) => {
                  if (e.fId == item.fId) {
                    e = item;
                    this.$set(this.detailList, index, e);
                  }
                });
              });
              this.msgSuccess("入库成功");
              this.$set(this.form, "fItemsStatus", 4);
            }
          });
        }
      });
    },
    // 撤回入账
    withdrawClick() {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          for (let item in this.Printinglist) {
            if (!this.Printinglist[item].fId) {
              return this.$message.error("请存在未保存的数据");
            }
            if (this.Printinglist[item].fBillstatus == 10) {
              return this.$message.error("请存在未打印的作业单");
            }
            if (this.Printinglist[item].fBillstatus == 20) {
              return this.$message.error("请存在未卸货的数据");
            }
            if (this.Printinglist[item].fBillstatus == 30) {
              return this.$message.error("请存在未入库的数据");
            }
          }
          if (this.CntrTable.length > 0) {
            let arr = [];
            this.CntrTable.map((e) => {
              this.cntrList.map((item) => {
                if (item.fId == e.fCntrid) {
                  arr.push(item.fName + "X" + e.fCntrcount);
                }
              });
            });
            arr = [...new Set(arr)];
            this.form.fCntval = arr.join(",");
          } else {
            this.form.fCntval = null;
          }
          if (this.detailList.length > 0) {
            let arr = [];
            this.detailList.map((e) => {
              this.goodsOptions.map((item) => {
                if (e.fGoodsid == item.fId) {
                  arr.push(item.fName);
                }
              });
            });
            arr = [...new Set(arr)];
            this.form.fProductName = arr.join(",");
          } else {
            this.form.fProductName = "";
          }
          if (this.detailList.length > 0) {
            let arr = [];
            this.detailList.map((e) => {
              arr.push(e.fMarks);
            });
            arr = [...new Set(arr)];
            this.form.fMarks = arr.join(",");
          } else {
            this.form.fMarks = "";
          }
          if (this.detailList.length == 0) {
            this.form.fNetweight = 0;
            this.form.fPlanvolumn = 0;
            this.form.fGrossweight = 0;
          } else {
            this.form.fNetweight = this.fNetweight;
            this.form.fPlanvolumn = this.fPlanvolumn;
            this.form.fGrossweight = this.fGrossweight;
          }
          // 撤回入库
          let formData = new window.FormData();
          formData.append("warehouseBills", JSON.stringify(this.form));
          formData.append(
            "warehousebillsitems",
            JSON.stringify(this.Printinglist)
          );
          formData.append(
            "warehousebillsfeesDr",
            JSON.stringify(this.warehouseDrList)
          );
          formData.append(
            "warehousebillsfeesCr",
            JSON.stringify(this.warehouseCrList)
          );
          formData.append(
            "tEnclosure",
            JSON.stringify(this.relevantAttachments)
          );
          formData.append("tCntr", JSON.stringify(this.CntrTable));
          updateCredit(formData).then((response) => {
            if (response.code == 200) {
              this.Printinglist.map((e) => {
                this.detailList.map((item, index) => {
                  if (e.fId == item.fId) {
                    this.$set(this.detailList[index], "fBillstatus", 10);
                  }
                });
              });
              this.msgSuccess("撤回成功");
              this.$set(this.form, "fItemsStatus", 1);
              this.$set(this.form, "fDateChanged", response.msg);
            }
          });
        }
      });
    },
    TFformdata(data) {
      this.form = data;
      if (this.form.fBillstatus > 3) {
        this.approvalStatus = false;
        this.browseStatus = true;
      } else {
        this.approvalStatus = true;
        this.browseStatus = false;
      }
      this.$set(
        this.form,
        "sendSampleDate",
        Date.parse(this.form.sendSampleDate)
      );
      this.$set(
        this.form,
        "weightRecoveryDate",
        Date.parse(this.form.weightRecoveryDate)
      );
      this.$set(
        this.form,
        "fWeighingDate",
        Date.parse(this.form.fWeighingDate)
      );
      this.$set(
        this.form,
        "fDeclarationElements",
        this.form.fDeclarationElements
          ? this.form.fDeclarationElements.toString()
          : null
      );
      this.$set(
        this.form,
        "fIfinspection",
        this.form.fIfinspection || this.form.fIfinspection == 0
          ? this.form.fIfinspection.toString()
          : null
      );
      this.$set(
        this.form,
        "fIfsampling",
        this.form.fIfsampling || this.form.fIfsampling == 0
          ? this.form.fIfsampling.toString()
          : null
      );
      this.$set(
        this.form,
        "fIfweightRecovery",
        this.form.fIfweightRecovery || this.form.fIfweightRecovery == 0
          ? this.form.fIfweightRecovery.toString()
          : null
      );

      this.$set(this.form, "fEta", Date.parse(this.form.fEta));
      this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
      this.$set(this.form, "fBstime", Date.parse(this.form.fBstime));
      this.$set(this.form, "createTime", Date.parse(this.form.createTime));
      this.$set(this.form, "fChargedate", Date.parse(this.form.fChargedate));
      this.$set(
        this.form,
        "freeContainerDate",
        Date.parse(this.form.freeContainerDate)
      );
      this.$set(this.form, "fFeetUnit", this.form.fFeetunit);
      this.tfNetweightnum = (this.form.fPlannetweight / 1000).toFixed(2);
      this.tfGrossweightnum = (this.form.fPlangrossweight / 1000).toFixed(2);
      if (this.form.fTrademodeid) {
        this.$set(this.form, "fTrademodeid", this.form.fTrademodeid.toString());
      }
      if (this.form.fStltypeid || this.form.fStltypeid == 0) {
        this.$set(this.form, "fStltypeid", this.form.fStltypeid.toString());
      }
    },
    getForm() {
      getWarehousebills(this.chiId).then((response) => {
        this.TFformdata(response.data.warehousebills);
        if (!this.copyStatus) {
          if (response.data.warehouseBillsItem) {
            response.data.warehouseBillsItem.map((e) => {
              e.fLntype = e.fLntype ? e.fLntype.toString() : null;
            });
            this.detailList = response.data.warehouseBillsItem;
          } else {
            this.detailList = [];
          }
          response.data.warehousebillsfeesCr.map((e) => {
            if (e.fFeeunitid) {
              e.fFeeUnitid = e.fFeeunitid.toString();
            }
            if (e.fStltypeid || e.fStltypeid == 0) {
              e.fStltypeid = e.fStltypeid.toString();
            }
          });
          this.warehouseCrList = response.data.warehousebillsfeesCr;
          response.data.warehousebillsfeesDr.map((e) => {
            if (e.fFeeunitid) {
              e.fFeeUnitid = e.fFeeunitid.toString();
            }
            if (e.fStltypeid || e.fStltypeid == 0) {
              e.fStltypeid = e.fStltypeid.toString();
            }
          });
          this.warehouseDrList = response.data.warehousebillsfeesDr;
          if (response.data.tCntrList) {
            this.CntrTable = response.data.tCntrList;
          } else {
            this.CntrTable = [];
          }
          if (response.data.enclosures) {
            this.relevantAttachments = response.data.enclosures;
          }
        } else {
          this.$set(this.form, "fId", null);
          this.$set(this.form, "fMblno", null);
          this.$set(this.form, "fMarks", null);
          this.$set(this.form, "fProductName", null);
          this.$set(this.form, "fNetweight", 0);
          this.$set(this.form, "fPlanvolumn", 0);
          this.$set(this.form, "fGrossweight", 0);
        }
      });
    },
    //从表库位弹窗下拉树状事件
    getAlltree(tree) {
      this.importList.fWarehouseInformation = tree.fWarehouseInformation;
    },
    submitForm() {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          this.$refs["form"].validate((valid) => {
            if (valid) {
              if (this.detailList.length === 0) {
                return this.$message.error("请新增库存明细!");
              }
              for (let item in this.warehouseDrList) {
                if (!this.warehouseDrList[item].fCorpid) {
                  if (item === "fBusinessType") {
                  } else {
                    this.$message.error(
                      "请维护收款信息第" + (Number(item) + 1) + "行客户名称"
                    );
                    return false;
                  }
                }
                if (!this.warehouseDrList[item].fFeeid) {
                  if (item === "fBusinessType") {
                  } else {
                    this.$message.error(
                      "请维护收款信息第" + (Number(item) + 1) + "行费用名称"
                    );
                    return false;
                  }
                }
                if (!this.warehouseDrList[item].fFeeUnitid) {
                  if (item === "fBusinessType") {
                  } else {
                    this.$message.error(
                      "请维护收款信息第" + (Number(item) + 1) + "行计价单位"
                    );
                    return false;
                  }
                }
              }
              for (let item in this.warehouseCrList) {
                if (!this.warehouseCrList[item].fCorpid) {
                  if (item === "fBusinessType") {
                  } else {
                    this.$message.error(
                      "请维护付款信息第" + (Number(item) + 1) + "行客户名称"
                    );
                    return false;
                  }
                }
                if (!this.warehouseCrList[item].fFeeid) {
                  if (item === "fBusinessType") {
                  } else {
                    this.$message.error(
                      "请维护付款信息第" + (Number(item) + 1) + "行费用名称"
                    );
                    return false;
                  }
                }

                if (!this.warehouseCrList[item].fFeeUnitid) {
                  if (item === "fBusinessType") {
                  } else {
                    this.$message.error(
                      "请维护付款信息第" + (Number(item) + 1) + "行计价单位"
                    );
                    return false;
                  }
                }
              }
              // 附件数据
              this.form.fBillingway = this.form.fFeetUnit;
              if (this.detailList.length == 0) {
                this.form.fNetweight = 0;
                this.form.fPlanvolumn = 0;
                this.form.fGrossweight = 0;
              } else {
                this.form.fNetweight = this.fNetweight;
                this.form.fPlanvolumn = this.fPlanvolumn;
                this.form.fGrossweight = this.fGrossweight;
              }
              if (this.CntrTable.length > 0) {
                let arr = [];
                this.CntrTable.map((e) => {
                  this.cntrList.map((item) => {
                    if (item.fId == e.fCntrid) {
                      arr.push(item.fName + "X" + e.fCntrcount);
                    }
                  });
                });
                arr = [...new Set(arr)];
                this.form.fCntval = arr.join(",");
              } else {
                this.form.fCntval = null;
              }
              if (this.detailList.length > 0) {
                let arr = [];
                this.detailList.map((e) => {
                  this.goodsOptions.map((item) => {
                    if (e.fGoodsid == item.fId) {
                      arr.push(item.fName);
                    }
                  });
                });
                arr = [...new Set(arr)];
                this.form.fProductName = arr.join(",");
              } else {
                this.form.fProductName = "";
              }
              if (this.detailList.length > 0) {
                let arr = [];
                this.detailList.map((e) => {
                  arr.push(e.fMarks);
                });
                arr = [...new Set(arr)];
                this.form.fMarks = arr.join(",");
              } else {
                this.form.fMarks = "";
              }
              let formData = new window.FormData();
              formData.append("tWarehouseBills", JSON.stringify(this.form));
              // 库存明细
              formData.append(
                "tWarehousebillsitems",
                JSON.stringify(this.detailList)
              );
              // 附件数据
              formData.append(
                "tEnclosure",
                JSON.stringify(this.relevantAttachments)
              );
              // 费用明细付款
              formData.append(
                "tWarehousebillsfeesCr",
                JSON.stringify(this.warehouseCrList)
              );
              // 收款
              formData.append(
                "tWarehousebillsfeesDr",
                JSON.stringify(this.warehouseDrList)
              );
              formData.append("mblnoStatus", JSON.stringify(this.mblnoStatus));
              formData.append("tCntr", JSON.stringify(this.CntrTable));
              addWarehouse(formData).then((response) => {
                if (response.code == 200) {
                  this.msgSuccess("提交成功");
                  setTimeout(() => {
                    this.cancel();
                  }, 200);
                }
              });
            }
          });
        }
      });
    },
    verifyForm() {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          this.$refs["form"].validate((valid) => {
            if (valid) {
              // 附件数据
              this.form.fBillingway = this.form.fFeetUnit;
              if (this.detailList.length == 0) {
                this.form.fNetweight = 0;
                this.form.fPlanvolumn = 0;
                this.form.fGrossweight = 0;
              } else {
                this.form.fNetweight = this.fNetweight;
                this.form.fPlanvolumn = this.fPlanvolumn;
                this.form.fGrossweight = this.fGrossweight;
              }
              if (this.CntrTable.length > 0) {
                let arr = [];
                this.CntrTable.map((e) => {
                  this.cntrList.map((item) => {
                    if (item.fId == e.fCntrid) {
                      arr.push(item.fName + "X" + e.fCntrcount);
                    }
                  });
                });
                arr = [...new Set(arr)];
                this.form.fCntval = arr.join(",");
              } else {
                this.form.fCntval = null;
              }
              if (this.detailList.length > 0) {
                let arr = [];
                this.detailList.map((e) => {
                  this.goodsOptions.map((item) => {
                    if (e.fGoodsid == item.fId) {
                      arr.push(item.fName);
                    }
                  });
                });
                arr = [...new Set(arr)];
                this.form.fProductName = arr.join(",");
              } else {
                this.form.fProductName = "";
              }
              if (this.detailList.length > 0) {
                let arr = [];
                this.detailList.map((e) => {
                  arr.push(e.fMarks);
                });
                arr = [...new Set(arr)];
                this.form.fMarks = arr.join(",");
              } else {
                this.form.fMarks = "";
              }
              let formData = new window.FormData();
              formData.append("tWarehouseBills", JSON.stringify(this.form));
              // 库存明细
              formData.append(
                "tWarehousebillsitems",
                JSON.stringify(this.detailList)
              );
              // 附件数据
              formData.append(
                "tEnclosure",
                JSON.stringify(this.relevantAttachments)
              );
              // 费用明细付款
              formData.append(
                "tWarehousebillsfeesCr",
                JSON.stringify(this.warehouseCrList)
              );
              // 收款
              formData.append(
                "tWarehousebillsfeesDr",
                JSON.stringify(this.warehouseDrList)
              );
              formData.append("mblnoStatus", JSON.stringify(this.mblnoStatus));
              formData.append("tCntr", JSON.stringify(this.CntrTable));
              submitWarehousingApproval(formData).then((response) => {
                if (response.code == 200) {
                  this.msgSuccess("请核成功");
                  this.$set(this.form, "warehouseStatus", 4);
                  this.cancel();
                }
              });
            }
          });
        }
      });
    },
    saveForm(status) {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          this.$refs["form"].validate((valid) => {
            if (valid) {
              this.form.fBillingway = this.form.fFeetUnit;
              if (this.detailList.length == 0) {
                this.form.fNetweight = 0;
                this.form.fPlanvolumn = 0;
                this.form.fGrossweight = 0;
              } else {
                this.form.fNetweight = this.fNetweight;
                this.form.fPlanvolumn = this.fPlanvolumn;
                this.form.fGrossweight = this.fGrossweight;
              }
              let formData = new window.FormData();
              // 附件数据
              this.form.fQty = this.fQty;
              if (this.CntrTable.length > 0) {
                let arr = [];
                this.CntrTable.map((e) => {
                  this.cntrList.map((item) => {
                    if (item.fId == e.fCntrid) {
                      arr.push(item.fName + "X" + e.fCntrcount);
                    }
                  });
                });
                arr = [...new Set(arr)];
                this.form.fCntval = arr.join(",");
              } else {
                this.form.fCntval = null;
              }
              if (this.detailList.length > 0) {
                let arr = [];
                this.detailList.map((e) => {
                  this.goodsOptions.map((item) => {
                    if (e.fGoodsid == item.fId) {
                      arr.push(item.fName);
                    }
                  });
                });
                arr = [...new Set(arr)];
                this.form.fProductName = arr.join(",");
              } else {
                this.form.fProductName = "";
              }
              if (this.detailList.length > 0) {
                let arr = [];
                this.detailList.map((e) => {
                  arr.push(e.fMarks);
                });
                arr = [...new Set(arr)];
                this.form.fMarks = arr.join(",");
              } else {
                this.form.fMarks = "";
              }
              formData.append("tWarehouseBills", JSON.stringify(this.form));
              // 库存明细
              formData.append(
                "tWarehousebillsitems",
                JSON.stringify(this.detailList)
              );
              // 附件数据
              formData.append(
                "tEnclosure",
                JSON.stringify(this.relevantAttachments)
              );
              // 费用明细付款
              formData.append(
                "tWarehousebillsfeesCr",
                JSON.stringify(this.warehouseCrList)
              );
              // 收款
              formData.append(
                "tWarehousebillsfeesDr",
                JSON.stringify(this.warehouseDrList)
              );
              formData.append("mblnoStatus", JSON.stringify(this.mblnoStatus));
              formData.append("tCntr", JSON.stringify(this.CntrTable));
              addWarehousebills(formData).then((response) => {
                if (response.data == false) {
                  this.$confirm(response.msg, "提示", {
                    confirmButtonText: "确定",
                    cancelButtonText: "取消",
                    type: "warning",
                  })
                    .then(() => {
                      this.mblnoStatus = true;
                      this.saveForm();
                    })
                    .catch(() => {
                      this.$message({
                        type: "info",
                        message: "已取消",
                      });
                    });
                } else {
                  if ((response.code = 200)) {
                    this.mblnoStatus = "";
                    this.TFformdata(response.data.warehouseBills);
                    this.detailList = response.data.warehousebillsitems;
                    this.msgSuccess("保存成功");
                    if (status == "goBack") {
                      this.cancel();
                    }
                  }
                }
              });
            }
          });
        }
      });
    },
    imporTable() {
      this.$refs["importList"].validate((valid) => {
        if (valid) {
          if (!this.importList.fWarehouselocid) {
            return this.$message.error("库区不能为空");
          }
          for (let item in this.detailList) {
            if (
              this.importList.fCntrno == this.detailList[item].fCntrno &&
              this.importList.fCntrno
            ) {
              return this.$message.error("箱号不能重复");
            }
          }
          this.detailList.push({
            fBillstatus: 10,
            fMblno: this.form.fMblno,
            fQty: this.importList.fQty,
            fNetweight: this.importList.fNetweight,
            fGrossweight: this.importList.fGrossweight,
            fBsdate: this.importList.fBsdate,
            fGoodsid: this.importList.fGoodsid,
            fBusinessType: this.importList.fBusinessType,
            fMarks: this.importList.fMarks,
            fWarehouselocid: this.importList.fWarehouselocid,
            fWarehouseInformation: this.importList.fWarehouseInformation,
            fCntrtype: this.importList.fCntrtype,
            fCntqty: this.importList.fCntqty,
            fPackagespecs: this.importList.fPackagespecs,
            fTruckno: this.importList.fTruckno,
            fDriverName: this.importList.fDriverName,
            fDriverTel: this.importList.fDriverTel,
            fDriverIdCar: this.importList.fDriverIdCar,
            fSerialNumber: this.importList.fSerialNumber,
            fCntrno: this.importList.fCntrno,
            fGoodsval: this.importList.fGoodsval,
            fLntype: this.importList.fLntype,
            fForkliftman: this.importList.fForkliftman,
            fStevedore: this.importList.fStevedore,
            fLocalcntrno: this.importList.fLocalcntrno,
            fSealno: this.importList.fSealno,
            fFleet: this.importList.fFleet,
            remark: this.importList.remark,
          });
          if (this.detailList[0].fGoodsid) {
            for (let item in this.goodsOptions) {
              if (this.goodsOptions[item].fId == this.detailList[0].fGoodsid) {
                this.form.fProductName = this.goodsOptions[item].fName;
              }
            }
          }
          this.weightList = false;
        }
      });
    },
    // 收款信息新行
    addCollection() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          if (this.form.fBusinessType == null) {
            this.$message.error("请维护作业类型");
            return false;
          } else {
            this.warehouseDrList.push({
              fCorpid: null,
              fFeeid: null,
              fFeeUnitid: "",
              fQty: null,
              fUnitprice: null,
              fAmount: null,
              fCurrency: "RMB",
              fExrate: "1",
              fTaxrate: this.fTaxrate,
              fCxrate: null,
              fRate: null,
              remarks: null,
              fMblno: this.form.fMblno,
              fProductName: this.form.fProductName,
              fMarks: this.form.fMarks,
              fBusinessType: this.form.fBusinessType,
              fSrcTypeId: 0,
            });
            this.fWbuOptions = [];
            let queryParams = { pageNum: 1, fDc: "D" };
            listFees(queryParams).then((response) => {
              this.fDNameOptions = response.rows;
            });
          }
        }
      });
    },
    fiximporTable() {
      this.$refs["importList"].validate((valid) => {
        if (valid) {
          for (let item in this.detailList) {
            if (
              this.importList.fCntrno == this.detailList[item].fCntrno &&
              this.importList.fCntrno &&
              item != this.fixdetaiNum
            ) {
              return this.$message.error("箱号不能重复");
            }
          }
          this.$set(this.detailList, this.fixdetaiNum, this.importList);
          this.weightList = false;
        }
      });
    },
    // 库存明细多选
    Selectinventory(selection) {
      this.Printinglist = selection;
      //允许确认入库list
      this.dataListSelection = [];
      if (this.stockoi == "0") {
        this.dataListSelection = selection.filter((e) => e.fBillstatus == 30);
      } else {
        this.dataListSelection = selection;
      }
      //允许撤销入库list
      this.dataWithdrawList = [];
      this.dataWithdrawList = selection.filter((e) => e.fBillstatus == 40);
    },
    // 合计
    getSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      var values = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = "";
          return;
        }
        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"]));
        }
        if (
          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 === "fGrossweight") {
                this.fGrossweight = prev + curr;
              }
              if (column.property === "fNetweight") {
                this.fNetweight = prev + curr;
              }
              if (column.property === "fQty") {
                this.fQty = prev + curr;
                this.sumMum = prev + curr;
              }
              if (column.property === "fCntqty") {
                this.fCntqty = prev + curr;
              }
              return prev + curr;
            } else {
              return prev;
            }
          }, 0);
          if (column.property === "fGrossweight") {
            sums[index] = (sums[index] / 1000).toFixed(2) + "吨";
          } else if (column.property === "fNetweight") {
            sums[index] = (sums[index] / 1000).toFixed(2) + "吨";
          } else {
            sums[index] = sums[index].toFixed(2);
          }
        }
      });
      this.sums = sums;
      return sums;
    },
    playcomputer() {
      let Num1 = Number(this.form.fPlannetweight) / Number(this.form.fPlanqty);
      let Num2 =
        Number(this.form.fPlangrossweight) / Number(this.form.fPlanqty);
      this.importList.fNetweight = Number(
        (this.importList.fQty * Num1).toFixed(2)
      );
      this.tfNetweightnum2 = (this.importList.fNetweight / 1000).toFixed(2);
      this.importList.fGrossweight = Number(
        (this.importList.fQty * Num2).toFixed(2)
      );
      this.tfGrossweightnum2 = (this.importList.fGrossweight / 1000).toFixed(2);
    },
    imporComputer() {
      this.playcomputer();
    },
    // 入库明细新增list
    addRelevant(status) {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          this.title = "新增";
          this.reset();
          this.fixdetaiNum = null;
          if (
            !this.form.fPlannetweight ||
            !this.form.fPlangrossweight ||
            !this.form.fPlanqty
          ) {
            return this.$message({
              message: "请维护计划净重(kg)，计划毛重(kg)，计划件数",
              type: "warning",
            });
          }
          this.importList.fQty = Number(
            (this.form.fPlanqty - this.sumMum).toFixed(2)
          );
          if (this.importList.fQty < 0) {
            this.importList.fQty = 0;
          }
          if (this.form.fTruckno) {
            this.importList.fTruckno = this.form.fTruckno;
          }
          if (this.form.fDriverTel) {
            this.importList.fDriverTel = this.form.fDriverTel;
          }
          if (this.form.fDriverName) {
            this.importList.fDriverName = this.form.fDriverName;
          }
          if (this.form.fDriverIdCar) {
            this.importList.fDriverIdCar = this.form.fDriverIdCar;
          }
          this.allfPlanqty = this.importList.fQty;
          this.importList.fBsdate = this.form.fBsdate;
          this.importList.fGoodsid = this.form.fGoodsid;
          this.goodsOptions.map((e) => {
            if (this.importList.fGoodsid == e.fId) {
              if (e.ifCntrno == "1") {
                this.ifCntrnoStatus = 1;
              } else {
                this.ifCntrnoStatus = null;
              }
            }
          });
          this.playcomputer();
          treeselect(this.form.fWarehouseid).then((response) => {
            this.fWarehouseidOptions = response.data;
          });
          if (status == "copy") {
            this.importList.fBsdate = Date.parse(this.Printinglist[0].fBsdate);
            if (!this.importList.fBsdate) {
              this.importList.fBsdate = this.Printinglist[0].fBsdate;
            }
            this.importList.fGoodsid = this.Printinglist[0].fGoodsid;
            this.importList.fBusinessType = this.Printinglist[0].fBusinessType.toString();
            this.importList.fMarks = this.Printinglist[0].fMarks;
            this.importList.fWarehouselocid = this.Printinglist[0].fWarehouselocid;
            this.importList.fWarehouseInformation = this.Printinglist[0].fWarehouseInformation;
            this.importList.fPackagespecs = this.Printinglist[0].fPackagespecs;
            this.importList.fCntrtype = Number(this.Printinglist[0].fCntrtype);
            this.importList.fCntqty = this.Printinglist[0].fCntqty;
            this.importList.fTruckno = this.Printinglist[0].fTruckno;
            this.importList.fDriverName = this.Printinglist[0].fDriverName;
            this.importList.fDriverTel = this.Printinglist[0].fDriverTel;
            this.importList.fDriverIdCar = this.Printinglist[0].fDriverIdCar;
            this.importList.fSerialNumber = this.Printinglist[0].fSerialNumber;
            this.importList.fGoodsval = this.Printinglist[0].fGoodsval;
            this.importList.remark = this.Printinglist[0].remark;
            this.importList.fQty = this.Printinglist[0].fQty;
            this.importList.fGrossweight = this.Printinglist[0].fGrossweight;
            this.importList.fNetweight = this.Printinglist[0].fNetweight;
            this.tfNetweightnum2 = (this.importList.fNetweight / 1000).toFixed(
              2
            );
            this.tfGrossweightnum2 = (
              this.importList.fGrossweight / 1000
            ).toFixed(2);
          }
          console.log(this.importList);
          this.weightList = true;
        }
      });
    },
    printZyd() {
      if (this.Printinglist.length > 0) {
        for (let item in this.Printinglist) {
          if (!this.Printinglist[item].fId) {
            return this.$message.error("请先保存!");
          }
          if (
            this.Printinglist[item].fTruckno !== this.Printinglist[0].fTruckno
          ) {
            return this.$message.error("请选择车相同车号");
          }
        }
        this.print_zyd = true;
        this.warehouseOptions.map((e) => {
          if (e.fId == this.form.fWarehouseid) {
            this.stockaddr = e.fAddr;
          }
        });
        this.fDriverTel = this.Printinglist[0].fDriverTel;
      } else {
        this.$message.error("请选择需要打印的明细!");
      }
    },
    handleCommand(command) {
      if (this.Printinglist.length > 0) {
        this.$refs["form"].validate((valid) => {
          if (valid) {
            for (let corp in this.fMblnoOptions) {
              if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
                this.$set(
                  this.form,
                  "fCorpidName",
                  this.fMblnoOptions[corp].fName
                );
              }
            }
            this.warehouseOptions.map((e) => {
              if (e.fId == this.form.fWarehouseid) {
                this.stockName = e.fName;
                this.stockaddr = e.fAddr;
              }
            });
            this.fDriverTel = this.Printinglist[0].fDriverTel;
            this.fBsdate = this.Printinglist[0].fBsdate;
            this.fTruckno = this.Printinglist[0].fTruckno;
            this.allfCntqty = 0;
            this.allfGrossweight = 0;
            this.allfPlanqty = 0;
            this.allfNetweight = 0;
            this.allfQty = 0;
            this.Printinglist.map((e) => {
              if (e.fCntqty) {
                this.allfCntqty += e.fCntqty;
              }
              if (e.fGrossweight) {
                this.allfGrossweight += e.fGrossweight;
              }
              if (e.fPlanqty) {
                this.allfPlanqty += e.fPlanqty;
              }
              if (e.fNetweight) {
                this.allfNetweight += e.fNetweight;
              }
              if (e.fQty) {
                this.allfQty += e.fQty;
              }
            });
            if (command == "a") {
              this.print_shd = true;
            } else if (command == "b") {
              this.print_rkd = true;
            } else if (command == "c") {
              this.print_lhd = true;
            } else if (command == "d") {
              this.print_hwqr = true;
            } else if (command == "e") {
              this.print_lwqr = true;
            } else if (command == "f") {
              this.print_dpxx = true;
            } else if (command == "g") {
              this.print_bzrkd = true;
            } else if (command == "h") {
              this.print_dk = true;
            }
          }
        });
      } else {
        this.$message.error("请选择需要打印的明细!");
      }
    },
    //计算仓储费日期变更
    changeDate() {
      this.$set(this.form, "fChargedate", this.form.fBsdate);
    },
    addRow() {
      var obj = {};
      this.CntrTable.push(obj);
    },
    fixRow(row, index) {
      this.title = "修改";
      this.reset();
      this.fixdetaiNum = null;
      this.fixdetaiNum = index;
      treeselect(this.form.fWarehouseid).then((response) => {
        this.fWarehouseidOptions = response.data;
      });
      this.allfPlanqty += row.fQty;
      this.tfNetweightnum2 = (row.fNetweight / 1000).toFixed(2);
      this.tfGrossweightnum2 = (row.fGrossweight / 1000).toFixed(2);
      row.fBsdate = new Date(row.fBsdate).getTime();
      row.fBusinessType = row.fBusinessType.toString();
      row.fCntrtype = Number(row.fCntrtype);
      this.importList = JSON.parse(JSON.stringify(row));
      this.weightList = true;
    },
    deleteRow(index, rows) {
      rows.splice(index, 1);
    },
    wDeleteRow(index, rows) {
      rows.splice(index, 1);
      this.sumMum = 0;
      this.detailList.map((e) => {
        if (e.fQty) {
          this.sumMum += e.fQty;
        }
      });
      if (this.detailList.length == 0) {
        this.form.fProductName = "";
        this.form.fMarks = "";
        this.form.fNetweight = 0;
        this.form.fPlanvolumn = 0;
        this.form.fGrossweight = 0;
      }
    },
    //付款信息新行
    addpayment() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          if (this.form.fBusinessType == null) {
            return this.$message.error("请维护作业类型");
          } else {
            this.warehouseCrList.push({
              fCorpid: null,
              fFeeid: null,
              fFeeUnitid: "",
              fQty: null,
              fUnitprice: null,
              fAmount: null,
              fCurrency: "RMB",
              fExrate: "1",
              fTaxrate: this.fTaxrate,
              fCxrate: null,
              fRate: null,
              remarks: null,
              fMblno: this.form.fMblno,
              fProductName: this.form.fProductName,
              fMarks: this.form.fMarks,
              fBusinessType: this.form.fBusinessType,
              fSrcTypeId: 0,
            });
            this.fWbuOptions = [];
            let queryParams = { pageNum: 1, fDc: "C" };
            listFees(queryParams).then((response) => {
              this.fCNameOptions = response.rows;
            });
          }
        }
      });
    },
    //获取登陆人
    queryUser() {
      queryUserVal().then((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, "fStorekeeper", this.userVal.nickName);
          this.$set(this.form, "fIfdamage", "1");
          this.$set(this.form, "fIfweigh", "1");
          this.$set(this.form, "fTrademodeid", "1");
          this.$set(this.form, "createTime", Date.parse(new Date()));
          this.$set(this.form, "fBstime", Date.parse(new Date()));
        }
        if (response.dept !== null) {
          this.deptOptions = [];
          this.deptOptions.push(response.dept);
        }
      });
    },
    //作业类型校验
    educationChange() {
      if (this.form.fBusinessType === "1" || this.form.fBusinessType === "2") {
        this.isrequired = 1;
        this.isrequired2 = 2;
      } else if (
        this.form.fBusinessType === "3" ||
        this.form.fBusinessType === "4"
      ) {
        this.isrequired2 = 1;
        this.isrequired = 2;
      } else {
        this.isrequired = 2;
        this.isrequired2 = 2;
      }
    },
    //打印
    addprint(status) {
      let checkData = {
        fId: this.form.fId,
        fType: "warehouse",
        codeVal: this.form.fDateChanged,
      };
      checkCode(checkData).then((response) => {
        if (!response) {
          this.$confirm("数据发生变化，请更新一下数据?", "提示", {
            confirmButtonText: "确认",
            cancelButtonText: "取消",
            type: "warning",
          }).then(() => {
            this.getForm();
          });
        } else {
          if (status == "zyd") {
            if (this.CntrTable.length > 0) {
              let arr = [];
              this.CntrTable.map((e) => {
                this.cntrList.map((item) => {
                  if (item.fId == e.fCntrid) {
                    arr.push(item.fName + "X" + e.fCntrcount);
                  }
                });
              });
              arr = [...new Set(arr)];
              this.form.fCntval = arr.join(",");
            } else {
              this.form.fCntval = null;
            }
            if (this.detailList.length > 0) {
              let arr = [];
              this.detailList.map((e) => {
                this.goodsOptions.map((item) => {
                  if (e.fGoodsid == item.fId) {
                    arr.push(item.fName);
                  }
                });
              });
              arr = [...new Set(arr)];
              this.form.fProductName = arr.join(",");
            } else {
              this.form.fProductName = "";
            }
            if (this.detailList.length > 0) {
              let arr = [];
              this.detailList.map((e) => {
                arr.push(e.fMarks);
              });
              arr = [...new Set(arr)];
              this.form.fMarks = arr.join(",");
            } else {
              this.form.fMarks = "";
            }
            this.form.fBillingway = this.form.fFeetUnit;
            if (this.detailList.length == 0) {
              this.form.fNetweight = 0;
              this.form.fPlanvolumn = 0;
              this.form.fGrossweight = 0;
            } else {
              this.form.fNetweight = this.fNetweight;
              this.form.fPlanvolumn = this.fPlanvolumn;
              this.form.fGrossweight = this.fGrossweight;
            }
            let formData = new window.FormData();
            formData.append("warehouseBills", JSON.stringify(this.form));
            formData.append(
              "warehousebillsitems",
              JSON.stringify(this.Printinglist)
            );
            formData.append(
              "warehousebillsfeesDr",
              JSON.stringify(this.warehouseDrList)
            );
            formData.append(
              "warehousebillsfeesCr",
              JSON.stringify(this.warehouseCrList)
            );
            formData.append(
              "tEnclosure",
              JSON.stringify(this.relevantAttachments)
            );
            formData.append("tCntr", JSON.stringify(this.CntrTable));
            addJoblist(formData).then((response) => {
              if (response.code == 200) {
                this.$set(
                  this.form,
                  "fDateChanged",
                  response.data.fDateChanged
                );
                this.detailList.map((e, index) => {
                  response.data.warehousebillsitems.map((item) => {
                    if (e.fId == item.fId) {
                      e = item;
                      this.$set(this.detailList, index, e);
                    }
                  });
                });
                this.$set(this.form, "fItemsStatus", 2);
              }
            });
          }
        }
      });

      const style =
        "@page {  } " +
        "@media print { .print-div{ padding:8px;background-color:#cccccc;} .print-title{display:flex;justify-content: center;font-size:24px} .print_form{font-size:12px} .print_table table {border-right: 1px solid #000;border-bottom: 1px solid #000;font-size:12px} .print_table table td {border-left: 1px solid #000;border-top: 1px solid #000;padding:2px;vertical-align:middle;text-align: center;}";
      print({
        printable: "print_area1",
        type: "html",
        style: style, // 亦可使用引入的外部css;
        scanStyles: false,
      });
    },
    cancel() {
      if (this.$route.query.id) {
        this.$router.push({ query: {} });
      }
      this.resetForm("form");
      this.resetForm("importList");
      this.detailList = [];
      this.relevantAttachments = [];
      this.warehouseCrList = [];
      this.warehouseDrList = [];
      this.CntrTable = [];
      this.$emit("changeShow", "true");
    },
    goBack() {
      this.$confirm("是否确定返回列表?", "提示", {
        confirmButtonText: "保存",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          this.saveForm("goBack");
        })
        .catch(() => {
          this.cancel();
        });
    },
  },
  watch: {
    // 监听 addOrUpdateVisible 改变
    addOrUpdateVisible(oldVal, newVal) {
      this.showDialog = this.addOrUpdateVisible;
    },
  },
};
</script>
<style lang="scss" scoped>
.tag-hover:hover {
  background-color: #d9ebfb;
}
.tag-hover {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  height: 15px;
  padding: 0px 1px;
  line-height: 12px;
}
.print-div {
  color: #000;
}
.print_table {
  table {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 12px;
    margin-bottom: 5px;
  }
  table td {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    vertical-align: middle;
    padding: 2px;
    text-align: center;
  }
}
.print_form {
  font-size: 12px;
}
</style>
