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

    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd(false)"
          v-hasPermi="['warehouseBusiness:stockTransfer:add']"
          >新增
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['warehouseBusiness:stockTransfer:edit']"
          >修改
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['warehouseBusiness:stockTransfer:export']"
          >导出
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          :disabled="multiple"
          v-hasPermi="['warehouseBusiness:stockTransfer:export']"
          >导入
        </el-button>
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>
    <el-table
      v-loading="loading"
      :data="warehousebillsList"
      @selection-change="handleSelectionChange"
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column type="index" label="行号" align="center" />
      <el-table-column
        :show-overflow-tooltip="true"
        label="货权方"
        align="center"
        prop="fCorpid"
      />
      <el-table-column label="提单号" align="center" prop="fMblno" show-overflow-tooltip/>
      <el-table-column label="品名" :show-overflow-tooltip="true" align="ceter" prop="fProductName" />
      <el-table-column label="品牌" align="center" prop="fMarks" />
      <el-table-column
        label="调拨日期"
        align="center"
        prop="createTime"
        style="width: 60%"
        ><template slot-scope="scope">
          <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column label="调入仓库" align="center" prop="fWarehouseid" />
      <el-table-column label="调出仓库" align="center" prop="fInwarehouseid" />
      <el-table-column label="实际调拨件数" align="center" prop="fQty" />
      <el-table-column label="计划调拨件数" align="center" prop="fPlanqty" />
      <el-table-column label="计划调拨毛重(kg)" align="center" prop="fPlangrossweight" />
      <el-table-column label="计划调拨净重(kg)" align="center" prop="fPlannetweight" />
      <el-table-column label="业务类别" align="center" prop="fBusinessType" :formatter="fBusinessTypeFormat"/>

      <el-table-column
        width="100"
        label="调拨状态"
        align="center"
        prop="fItemsStatus"
      >
        <template slot-scope="scope">
          <span v-if="scope.row.fItemsStatus === 1">计划</span>
          <span v-if="scope.row.fItemsStatus === 2">待调拨</span>
          <span v-if="scope.row.fItemsStatus === 3">调拨中</span>
          <span v-if="scope.row.fItemsStatus === 6">已调拨</span>
        </template>
      </el-table-column>
      <el-table-column
        width="100"
        label="费用状态"
        align="center"
        prop="fBillstatus"
      >
        <template slot-scope="scope">
          <span v-if="scope.row.fBillstatus === 1">录入</span>
          <span v-if="scope.row.fBillstatus === 2">暂存</span>
          <span v-if="scope.row.fBillstatus === 3">驳回</span>
          <span v-if="scope.row.fBillstatus === 4">请核</span>
          <span v-if="scope.row.fBillstatus === 5">审核中</span>
          <span v-if="scope.row.fBillstatus === 6">全部入账</span>
        </template>
      </el-table-column>
      <el-table-column
        label="操作"
        align="center"
        class-name="small-padding fixed-width"
        width="180"
      >
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="check_s(scope.row, true)"
            v-hasPermi="['warehouseBusiness:stockTransfer:query']"
            >查看
          </el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            v-if="scope.row.fBillstatus === 4 || scope.row.fBillstatus === 5"
            @click="check(scope.row, true)"
            v-hasPermi="['warehouseBusiness:stockTransfer:edit']"
          >审批进度
          </el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            v-if="scope.row.fBillstatus <= 3"
            @click="handleUpdate(scope.row, false)"
            v-hasPermi="['warehouseBusiness:stockTransfer:edit']"
            >修改
          </el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-if="scope.row.fItemsStatus === 1"
            v-hasPermi="['warehouseBusiness:stockTransfer:remove']"
            >删除
          </el-button>
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- 新增或修改仓库主(出入库)对话框 -->
    <el-dialog
      :visible.sync="open"
      :close-on-click-modal="false"
      @close='addCloseDialog'
      width="80%"
      append-to-body
      :show-close="colseButton"
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="8">
            <el-form-item label="货权方" prop="fCorpid">
              <el-select
                v-model="form.fCorpid"
                filterable
                remote
                :disabled="browseStatus || formBrowseStatus"
                @change="changefCorpid(form)"
                style="width: 80%"
                :remote-method="corpsRemoteMethod"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="(dict, index) in fMblnoOptions"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="结算方式" prop="fstltypeid">
              <el-select
                v-model="form.fStltypeid"
                placeholder="请选择结算方式"
                :disabled="browseStatus || formBrowseStatus"
                clearable
                style="width: 80%"
              >
                <el-option
                  v-for="(dict, index) in fStltypeOptions"
                  :key="index.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="提单号" prop="fMblno">
              <el-input
                v-model="form.fMblno"
                style="width: 80%"
                disabled
                placeholder=""
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="业务日期" prop="fBsdate">
              <el-date-picker
                v-model="form.fBsdate"
                style="width: 80%"
                type="date"
                :disabled="browseStatus || formBrowseStatus"
                @change="changefBsdate"
                value-format="timestamp"
                placeholder="业务日期"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="仓管员" prop="fStorekeeper">
              <el-select
                v-model="form.fStorekeeper"
                filterable
                remote
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
                :remote-method="userRemoteMethod"
                placeholder="请输入模糊查找"
              >
                <el-option
                  v-for="dict in userOptions"
                  :key="dict.userName"
                  :label="dict.nickName"
                  :value="dict.userName"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="调入仓库" prop="fWarehouseid">
              <el-select
                v-model="form.fWarehouseid"
                filterable
                remote
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
                @keyup.enter.native="handleQuery"
                placeholder="请选择"
              >
                <el-option
                  v-for="(dict, index) in warehouseOptions"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="8">
            <el-form-item label="调出仓库" prop="fInwarehouseid">
              <el-select
                v-model="form.fInwarehouseid"
                filterable
                remote
                :disabled="browseStatus || formBrowseStatus"
                style="width: 80%"
                @keyup.enter.native="handleQuery"
                placeholder="请选择"
              >
                <el-option
                  v-for="(dict, index) in warehouseOptions"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="单据编号" prop="fBillno">
              <el-input
                v-model="form.fBillno"
                style="width: 80%"
                disabled
                placeholder="单据编号"
              />
            </el-form-item>
          </el-col>
          <!-- <el-col :span="8">
            <el-form-item label="破损" prop="fifdamage">
              <el-select
                v-model="form.fIfdamage"
                placeholder="请选择是否破损"
                :disabled="browseStatus || formBrowseStatus"
                clearable
                style="width: 80%"
              >
                <el-option
                  v-for="dict in fIfdamageOptions"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="过磅" prop="fifweigh">
              <el-select
                v-model="form.fIfweigh"
                placeholder="请选择是否过磅"
                :disabled="browseStatus || formBrowseStatus"
                clearable
                style="width: 80%"
              >
                <el-option
                  v-for="dict in fIfweighOptions"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="贸易方式" prop="fTrademodeid">
              <el-select
                v-model="form.fTrademodeid"
                placeholder="请选择贸易方式"
                :disabled="browseStatus || formBrowseStatus"
                clearable
                style="width: 80%"
              >
                <el-option
                  v-for="dict in fTrademodeidOptions"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col> -->
          <el-col :span="8">
            <el-form-item label="计划调拨件数">
              <el-input
                v-model="form.fPlanqty"
                style="width: 80%"
                :disabled="browseStatus"
                placeholder="请输入计划调拨件数"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计划调拨净重(kg)">
              <el-input
                v-model="form.fPlannetweight"
                style="width: 80%"
                :disabled="browseStatus"
                placeholder="请输入计划调拨净重"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="计划调拨毛重(kg)">
              <el-input
                v-model="form.fPlangrossweight"
                style="width: 80%"
                :disabled="browseStatus"
                placeholder="请输入计划调拨毛重"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="车号">
              <el-input
                v-model="form.fTruckno"
                style="width: 80%"
                :disabled="browseStatus || formBrowseStatus"
                placeholder="车号"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="司机姓名">
              <el-input
                v-model="form.fDriverName"
                style="width: 80%"
                :disabled="browseStatus || formBrowseStatus"
                placeholder="司机姓名"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="司机身份证">
              <el-input
                v-model="form.fDriverIdCar"
                style="width: 80%"
                :disabled="browseStatus || formBrowseStatus"
                placeholder="司机身份证"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="司机电话">
              <el-input
                v-model="form.fDriverTel"
                style="width: 80%"
                :disabled="browseStatus || formBrowseStatus"
                placeholder="司机电话"
              />
            </el-form-item>
          </el-col>

          <el-col :span="8">
            <el-form-item label="作业类型" prop="fBusinessType">
              <el-select
                style="width: 80%"
                v-model="form.fBusinessType"
                filterable
                @change="educationChange"
                :disabled="contrOl"
              >
                <el-option
                  v-for="(dict, index) in businessTypeOption"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="8">
            <el-form-item label="劳务公司" prop="fLabour" :rules="{
              required: isrequired_l === 1 ? true : false,
           message: '请选择',
           trigger: ['blur', 'change']
            }">
              <el-select
                style="width: 80%"
                v-model="form.fLabour"
                @keyup.enter.native="handleQuery"
                :remote-method="flabourRemoteMethod"
                remote
                filterable
                :disabled="contrOl"
                placeholder="请输入劳务公司"
              >
                <el-option
                  v-for="(dict, index) in fCompanyOptIons"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="车队" prop="fFleet"
                          :rules="{
              required: isrequired === 1 ? true : false,
           message: '请选择',
           trigger: ['blur', 'change']
            }"
            >
              <el-select
                style="width: 80%"
                v-model="form.fFleet"
                filterable
                remote
                :remote-method="fleetRemoteMethod"
                :disabled="contrOl"
                placeholder="请输入车队">
                <el-option
                  v-for="(dict, index) in fleetOptions"
                  :key="index.fId"
                  :label="dict.fName"
                  :value="dict.fId"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>


        </el-row>
        <el-row>
          <el-col :span="15">
            <el-form-item label="备注" prop="remark">
              <el-input
                v-model="form.remark"
                :disabled="browseStatus"
                type="textarea"
                placeholder="请输入内容"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item>
              <el-button @click="detailsHidden ? (detailsHidden = false) : (detailsHidden = true)">{{ detailsHidden ? '隐藏' : '展开' }}</el-button>
            </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"
                  :disabled="browseStatus || formBrowseStatus"
                  style="width: 80%"
                  placeholder="仓库联系人"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="仓库电话" prop="ftel">
                <el-input
                  v-model="form.fTel"
                  :disabled="browseStatus || formBrowseStatus"
                  style="width: 80%"
                  placeholder="请输仓库入电话"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="品牌" prop="fMarks">
                <el-input
                  v-model="form.fMarks"
                  style="width: 80%"
                  disabled
                  placeholder="品牌"
                />
              </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-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="dict in deptOptions"
                    :key="dict.deptId"
                    :label="dict.deptName"
                    :value="dict.deptId"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item disabled label="制单日期" prop="fbilldate">
                <el-date-picker
                  v-model="form.createTime"
                  size="large"
                  type="date"
                  disabled
                  value-format="timestamp"
                  placeholder="制单日期"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
        </div>
      </el-form>

      <el-collapse v-model="activeNames">
        <el-collapse-item name="1">
          <template slot="title">
            <i class="el-icon-s-home"></i>调拨明细
          </template>
          <div style="
              display: flex;
              justify-content: space-between;
              align-items: center;
              margin: 10px 0;
            ">
            <div>
              <el-button
                type="primary"
                :disabled="browseStatus"
                @click.prevent="addRelevant"
              >新行
              </el-button>
              <el-button type="primary" :disabled="browseStatus" @click="saveForm">保 存</el-button>
            </div>
            <div style="display: flex">
              <el-button type="info" :disabled="printinglist.length <= 0 || browseStatus" prop="打印" @click="printJobSheet">作业单</el-button>
              <el-button :disabled="printinglist.length <= 0 || browseStatu " @click="discharge">装货</el-button>
              <el-button
                :disabled="dataListSelection.length <= 0 || browseStatus"
                @click.prevent="creditClick"
              >调拨确认
              </el-button>
              <el-button
                :disabled="dataWithdrawList.length <= 0 || browseStatus"
                @click.prevent="withdrawClick"
              >撤回调拨
              </el-button
              >
              <el-button
                style="background-color: #008000; color: #fff"
                @click="submitForm"
                :disabled="browseStatus"
              >请核
              </el-button
              >
            </div>
            <!--点击展开-->
          </div>
          <el-table
            :data="dataList"
            ref="tableList"
            tooltip-effect="dark"
            border
            stripe
            :summary-method="getSummaries"
            @selection-change="selectinventory"
            show-summary
          >
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column label="序号" type="index" width="80">
            </el-table-column>

            <el-table-column
              prop="fBsdate"
              header-align="center"
              align="center"
              width="150px"
              label="入库日期"
            >
              <template slot-scope="scope">
                <el-date-picker
                  v-model="scope.row.fBsdate"
                  style="width: 138px"
                  :disabled="
                    browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40
                  "
                  type="date"
                  value-format="timestamp"
                  placeholder="入库日期"
                >
                </el-date-picker>
              </template>
            </el-table-column>


            <el-table-column
              prop="fMblno"
              header-align="center"
              align="center"
              width="140px"
              label="提单号"
            >
            </el-table-column>
            <el-table-column
              prop="fGoodsids"
              header-align="center"
              align="center"
              width="140px"
              label="品名"
            >
            </el-table-column>
            <el-table-column
              prop="fBusinessType"
              header-align="center"
              width="140px"
              align="center"
              label="*货物属性"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.fBusinessType"
                           filterable
                           disabled
                           placeholder="请选择商品属性"
                >
                  <el-option
                    v-for="(dict, index) in fStorageTypeOptions"
                    :key="index.dictValue"
                    :label="dict.dictLabel"
                    :value="dict.dictValue"
                  />
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fMarks"
              header-align="center"
              align="center"
              width="140px"
              label="*属性详情"
            >
            </el-table-column>
            <el-table-column
              prop="fMblno"
              header-align="center"
              align="center"
              width="140px"
              label="提单号"
            >
            </el-table-column>

            <el-table-column
              prop="fOrgwarehouseInformation"
              header-align="center"
              align="center"
              label="库位"
            >
            </el-table-column>

            <el-table-column
              prop="fTransferWarehouselocid"
              header-align="center"
              width="240px"
              align="center"
              label="*调入1库位"
            >
              <template slot-scope="scope">
                <el-input
                  placeholder="请选择"
                  :disabled="!form.fWarehouseid || browseStatus || scope.row.fBillstatus === 20 || scope.row.fBillstatus === 30 || scope.row.fBillstatus === 40"
                  v-model="scope.row.fWarehouseInformation"
                  @focus="getTreeselect(scope)"
                >
                </el-input>
              </template>
            </el-table-column>
            <el-table-column
              prop="fPlanqty"
              header-align="center"
              align="center"
              width="180px"
              label="*结余库存"
            >
            </el-table-column>
            <el-table-column
              prop="fPlangrossweight"
              header-align="center"
              align="center"
              width="180px"
              label="*结余毛重(kg)"
            >
            </el-table-column>
            <el-table-column
              prop="fPlannetweight"
              header-align="center"
              align="center"
              width="180px"
              label="*结余净重(kg)"
            >
            </el-table-column>
            <el-table-column
              prop="fQty"
              header-align="center"
              width="180px"
              align="center"
              label="*调拨件数"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "")'
                  @change="qtyChange(scope.row)"
                  v-model="scope.row.fQty"
                  :disabled="browseStatus || scope.row.fBillstatus > 20"
                  placeholder="调拨件数"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fGrossweight"
              header-align="center"
              width="180px"
              align="center"
              label="*调拨毛重(kg)"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  :disabled="browseStatus || scope.row.fBillstatus > 20"
                  v-model="scope.row.fGrossweight"
                  @change="changeStock(scope.row)"
                  placeholder="调拨毛重"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fNetweight"
              header-align="center"
              width="180px"
              align="center"
              label="*调拨净重(kg)"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  :disabled="browseStatus || scope.row.fBillstatus > 20"
                  v-model="scope.row.fNetweight"
                  @change="changeStock(scope.row)"
                  placeholder="调拨净重"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fPackagespecs"
              header-align="center"
              width="180px"
              align="center"
              label="*包装规格"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fPackagespecs"
                  :disabled=" browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40"
                  placeholder="包装规格"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fTruckno"
              header-align="center"
              width="130px"
              align="center"
              label="*车号"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fTruckno"
                  placeholder="*车号"
                  :disabled="
                    browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40
                  "
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fDriverName"
              header-align="center"
              width="130px"
              align="center"
              label="*司机名"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fDriverName"
                  placeholder="司机名"
                  :disabled="
                    browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40
                  "
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fDriverTel"
              header-align="center"
              width="200px"
              align="center"
              label="*司机电话"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fDriverTel"
                  placeholder="司机电话"
                  :disabled="
                    browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40
                  "
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fDriverIdCar"
              header-align="center"
              width="200px"
              align="center"
              label="*司机身份证"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fDriverIdCar"
                  placeholder="司机身份证"
                  :disabled="
                    browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40
                  "
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fCntrtype"
              header-align="center"
              align="center"
              width="140px"
              label="箱型"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fCntrtype"
                  :disabled=" browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40"
                  placeholder="箱型"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fCntqty"
              header-align="center"
              align="center"
              width="140px"
              label="箱量"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fCntqty"
                  placeholder="箱量"
                  :disabled=" browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fCntrno"
              header-align="center"
              width="150px"
              align="center"
              label="箱号"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fCntrno"
                  placeholder="箱号"
                  :disabled=" browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fGoodsval"
              header-align="center"
              width="150px"
              align="center"
              label="货值"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fGoodsval"
                  placeholder="货值"
                  :disabled=" browseStatus ||
                    scope.row.fBillstatus === 20 ||
                    scope.row.fBillstatus === 30 ||
                    scope.row.fBillstatus === 40"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fSerialNumber"
              header-align="center"
              width="160px"
              align="center"
              label="流水号"
            >
            </el-table-column>
            <el-table-column
              prop="remark"
              header-align="center"
              width="150px"
              align="center"
              label="备注"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.remark"
                  placeholder="备注"
                  :disabled="browseStatus"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fBillstatus"
              header-align="center"
              width="150px"
              align="center"
              label="状态"
            >
              <template slot-scope="scope">
                <span v-if="scope.row.fBillstatus === 10">计划</span>
                <span v-if="scope.row.fBillstatus === 20">待入库</span>
                <span v-if="scope.row.fBillstatus === 30">入库中</span>
                <span v-if="scope.row.fBillstatus === 40">已入库</span>
              </template>
            </el-table-column>
            <el-table-column
              header-align="center"
              align="center"
              label="操作"
              width="130PX"
            >
              <template slot-scope="scope">
                <el-button
                  @click.native.prevent="deleteRow(scope.$index, dataList)"
                  size="small"
                  :disabled="browseStatus || scope.row.fBillstatus === 40"
                >移除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-collapse-item>

        <el-collapse-item>
          <template slot="title">
            <i class="el-icon-s-order"></i>附件明细
          </template>
          <div class="dialogTableTitle flex a-center jlr"
            style="display: flex;justify-content: space-between;align-items: center;margin: 10px 0;">
            <div>
              <el-button :disabled="browseStatus" @click.prevent="addRelevt()"
                >新行
              </el-button>
            </div>
          </div>
          <el-table
            :data="relevantAttachments"
            ref="table"
            tooltip-effect="dark"
            border
            stripe
            style="width: 100%"
            height="150"
          >
            <el-table-column label="序号" type="index" width="80">
            </el-table-column>
            <el-table-column
              prop="fName"
              header-align="center"
              align="center"
              width="250px"
              label="附件名称"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fName"
                  :disabled="browseStatus"
                  placeholder="附件名称"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="createBy"
              header-align="center"
              align="center"
              width="250px"
              label="上传人"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.createBy"
                  disabled
                  placeholder="上传人"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="createTime"
              header-align="center"
              align="center"
              label="上传时间"
            >
              <template slot-scope="scope">
                <el-date-picker
                  v-model="scope.row.createTime"
                  type="date"
                  disabled
                  placeholder="上传时间"
                  format="yyyy-MM-dd HH:mm"
                  value-format="timestamp"
                ></el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              prop="fUrl"
              header-align="center"
              align="center"
              width="300px"
              label="上传附件"
            >
              <template slot-scope="scope">
                <uploadFile @input="showFile" v-model="scope.row.fUrl" />
              </template>
            </el-table-column>
            <el-table-column header-align="center" align="center" label="操作">
              <template slot-scope="scope">
                <el-button
                  @click.native.prevent="deleteRow(scope.$index, relevantAttachments)"
                  :disabled="browseStatus"
                  size="small"
                  >移除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-collapse-item>


        <el-collapse-item>
          <template slot="title">
            <i class="el-icon-circle-plus"></i>收款信息
          </template>
          <div class="dialogTableTitle flex a-center jlr"
            style="display: flex;justify-content: space-between;align-items: center;margin: 10px 0;">
            <div>
              <el-button :disabled="browseStatus" @click.prevent="addCollection()"
                >新行
              </el-button>
              <el-button type="primary" :disabled="browseStatus" @click="saveForm">保 存</el-button>
              <el-button type="danger"
                         :disabled="browseStatus"
                         @click.prevent="addAgreement('Dr',3)"
                >作业费协议</el-button
              >
            </div>
          </div>
          <el-table
            :data="warehouseDrList"
            ref="tableDr"
            tooltip-effect="dark"
            border
            stripe
            show-summary
            @selection-change="collectionoptions"
            :summary-method="warehouseDrSummaries"
          >
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column label="序号" type="index" width="80">
            </el-table-column>
            <el-table-column
              prop="fCorpid"
              header-align="center"
              align="center"
              width="180px"
              label="客户名称"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fCorpid"
                  filterable
                  remote
                  :disabled="browseStatus"
                  :remote-method="corpsRemoteMethod"
                  placeholder="客户名称"
                >
                  <el-option
                    v-for="(dict, index) in KHblnoOptions"
                    :key="index.fId"
                    :label="dict.fName"
                    :value="dict.fId"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fFeeid"
              header-align="center"
              align="center"
              width="180px"
              label="费用名称"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fFeeid"
                  filterable
                  remote
                  :disabled="browseStatus"
                  :remote-method="fWRemoteMethod"
                  @change="changeFeeId(scope.row)"
                  placeholder="费用名称"
                >
                  <el-option
                    v-for="(dict, index) in fWbuOptions"
                    :key="index.fId"
                    :label="dict.fName"
                    :value="dict.fId"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fBusinessType"
              header-align="center"
              align="center"
              width="180px"
              label="作业类型"
            >
              <template slot-scope="scope">
                <el-select
                  style="width: 80%"
                  v-model="scope.row.fBusinessType"
                  filterable
                  disabled
                >
                  <el-option
                    v-for="(dict,index) in businessTypeOption"
                    :key="dict.dictValue"
                    :label="dict.dictLabel"
                    :value="dict.dictValue"
                  ></el-option>
                </el-select>

              </template>
            </el-table-column>

            <el-table-column
              prop="fFeeunitid"
              header-align="center"
              align="center"
              width="180px"
              label="计价单位"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fFeeunitid"
                  placeholder="请选择计费单位"
                  @change="changeFeeUnit(scope.row)"
                  :disabled="browseStatus"
                  clearable
                >
                  <el-option
                    v-for="(dict, index) in jFeetunitOptions"
                    :key="index.dictValue"
                    :label="dict.dictLabel"
                    :value="dict.dictValue"
                  />
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fQty"
              header-align="center"
              align="center"
              width="150px"
              label="数量"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fQty"
                  placeholder="数量"
                  :disabled="browseStatus"
                  @change="changeContractAmt(scope.row)"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="funitprice"
              header-align="center"
              align="center"
              width="150px"
              label="单价"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fUnitprice"
                  placeholder="单价"
                  :disabled="browseStatus"
                  @change="changeContractAmt(scope.row)"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fAmount"
              header-align="center"
              align="center"
              width="150px"
              label="金额"
            >
              <template slot-scope="scope">
                <el-input
                  disabled
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fAmount"
                  placeholder="金额"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fStltypeid"
              header-align="center"
              align="center"
              width="130px"
              label="结算方式"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fStltypeid"
                  placeholder="请选择结算表票结、月结"
                  :disabled="browseStatus"
                >
                  <el-option
                    v-for="dict in fStltypeOptions"
                    :key="dict.dictValue"
                    :label="dict.dictLabel"
                    :value="parseInt(dict.dictValue)"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>

            <el-table-column
              prop="fCurrency"
              header-align="center"
              align="center"
              width="150px"
              label="币别"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fCurrency"
                  :disabled="browseStatus"
                  placeholder="币别"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fExrate"
              header-align="center"
              align="center"
              width="150px"
              label="汇率"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fExrate"
                  :disabled="browseStatus"
                  placeholder="汇率"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fTaxrate"
              header-align="center"
              align="center"
              width="150px"
              label="税率"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fTaxrate"
                  :disabled="browseStatus"
                  placeholder="税率"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fMblno"
              header-align="center"
              align="center"
              width="130px"
              label="提单号"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fMblno"
                  :disabled="browseStatus"
                  placeholder="提单号"
                  show-word-limit
                />
              </template>
            </el-table-column>

            <el-table-column
              prop="fProductName"
              header-align="center"
              align="center"
              width="140px"
              label="品名"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fProductName"
                  :disabled="browseStatus"
                  placeholder="品名"
                  show-word-limit
                />
              </template>
            </el-table-column>

            <el-table-column
              prop="fMarks"
              header-align="center"
              align="center"
              width="130px"
              label="品牌"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fMarks"
                  :disabled="browseStatus"
                  placeholder="品牌"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="remarks"
              header-align="center"
              align="center"
              width="150px"
              label="备注"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.remarks"
                  :disabled="browseStatus"
                  placeholder="备注"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              header-align="center"
              align="center"
              label="操作"
              width="200px"
            >
              <template slot-scope="scope">
                <el-button
                  @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"
                  size="small"
                  :disabled="browseStatus"
                  >移除</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </el-collapse-item>


        <el-collapse-item>
          <template slot="title">
            <i class="el-icon-remove"></i>付款信息
          </template>
          <div class="dialogTableTitle flex a-center jlr"
            style="display: flex;justify-content: space-between;align-items: center;margin: 10px 0;">
            <div>
              <el-button :disabled="browseStatus" @click.prevent="addpayment()"
                >新行
              </el-button>
              <el-button type="primary" :disabled="browseStatus" @click="saveForm">保 存</el-button>
              <el-button type="danger"
                         :disabled="browseStatus"
                         @click.prevent="addAgreement('Cr',1)"
              >作业费协议</el-button>
            </div>
          </div>
          <el-table
            :data="warehouseCrList"
            ref="table"
            tooltip-effect="dark"
            border
            stripe
            show-summary
            @selection-change="collectionoptions"
            :summary-method="warehouseDrSummaries"
          >
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column label="序号" type="index" width="80">
            </el-table-column>
            <el-table-column
              prop="fCorpid"
              header-align="center"
              align="center"
              width="180px"
              label="客户名称"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fCorpid"
                  filterable
                  remote
                  :disabled="browseStatus"
                  :remote-method="corpsRemoteMethod"
                  placeholder="客户名称"
                >
                  <el-option
                    v-for="(dict, index) in KHblnoOptions"
                    :key="index.fId"
                    :label="dict.fName"
                    :value="dict.fId"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fFeeid"
              header-align="center"
              align="center"
              width="180px"
              label="费用名称"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fFeeid"
                  filterable
                  remote
                  :disabled="browseStatus"
                  :remote-method="fWRemoteMethod"
                  @change="changeFeeId(scope.row)"
                  placeholder="费用名称"
                >
                  <el-option
                    v-for="(dict, index) in fWbuOptions"
                    :key="index.fId"
                    :label="dict.fName"
                    :value="dict.fId"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fBusinessType"
              header-align="center"
              align="center"
              width="180px"
              label="作业类型"
            >
              <template slot-scope="scope">
                <el-select
                  style="width: 80%"
                  v-model="scope.row.fBusinessType"
                  filterable
                  disabled
                >
                  <el-option
                    v-for="(dict,index) in businessTypeOption"
                    :key="dict.dictValue"
                    :label="dict.dictLabel"
                    :value="dict.dictValue"
                  ></el-option>
                </el-select>

              </template>
            </el-table-column>

            <el-table-column
              prop="fFeeunitid"
              header-align="center"
              align="center"
              width="180px"
              label="计价单位"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fFeeunitid"
                  placeholder="请选择计费单位"
                  @change="changeFeeUnit(scope.row)"
                  :disabled="browseStatus"
                  clearable
                >
                  <el-option
                    v-for="(dict, index) in jFeetunitOptions"
                    :key="index.dictValue"
                    :label="dict.dictLabel"
                    :value="dict.dictValue"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="fQty"
              header-align="center"
              align="center"
              width="150px"
              label="数量"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fQty"
                  @change="changeContractAmt(scope.row)"
                  :disabled="browseStatus"
                  placeholder="数量"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="funitprice"
              header-align="center"
              align="center"
              width="150px"
              label="单价"
            >
              <template slot-scope="scope">
                <el-input
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fUnitprice"
                  @change="changeContractAmt(scope.row)"
                  :disabled="browseStatus"
                  placeholder="单价"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fAmount"
              header-align="center"
              align="center"
              width="150px"
              label="金额"
            >
              <template slot-scope="scope">
                <el-input
                  disabled
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  v-model="scope.row.fAmount"
                  placeholder="金额"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fStltypeid"
              header-align="center"
              align="center"
              width="130px"
              label="结算方式"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.fStltypeid"
                  placeholder="请选择结算表票结、月结"
                  :disabled="browseStatus"
                >
                  <el-option
                    v-for="dict in fStltypeOptions"
                    :key="dict.dictValue"
                    :label="dict.dictLabel"
                    :value="parseInt(dict.dictValue)"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>

            <el-table-column
              prop="fCurrency"
              header-align="center"
              align="center"
              width="150px"
              label="币别"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fCurrency"
                  :disabled="browseStatus"
                  placeholder="币别"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fExrate"
              header-align="center"
              align="center"
              width="150px"
              label="汇率"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fExrate"
                  :disabled="browseStatus"
                  placeholder="汇率"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fTaxrate"
              header-align="center"
              align="center"
              width="150px"
              label="税率"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fTaxrate"
                  :disabled="browseStatus"
                  placeholder="税率"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="fMblno"
              header-align="center"
              align="center"
              width="130px"
              label="提单号"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fMblno"
                  :disabled="browseStatus"
                  placeholder="提单号"
                  show-word-limit
                />
              </template>
            </el-table-column>

            <el-table-column
              prop="fProductName"
              header-align="center"
              align="center"
              width="140px"
              label="品名"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fProductName"
                  :disabled="browseStatus"
                  placeholder="品名"
                  show-word-limit
                />
              </template>
            </el-table-column>

            <el-table-column
              prop="fMarks"
              header-align="center"
              align="center"
              width="130px"
              label="品牌"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fMarks"
                  :disabled="browseStatus"
                  placeholder="品牌"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="remarks"
              header-align="center"
              align="center"
              width="150px"
              label="备注"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.remarks"
                  :disabled="browseStatus"
                  placeholder="备注"
                  show-word-limit
                />
              </template>
            </el-table-column>
            <el-table-column
              header-align="center"
              align="center"
              width="200px"
              label="操作"
            >
              <template slot-scope="scope">
                <el-button
                  @click.native.prevent="deleteRow(scope.$index, warehouseCrList)"
                  size="small"
                  :disabled="browseStatus"
                  >移除</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </el-collapse-item>
      </el-collapse>


      <div slot="footer" class="dialog-footer">
        <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()">查看审批流</el-button>
        <el-button v-if="approve === true" @click="goApproval">审批</el-button>
        <el-button type="danger" :disabled="disappear" v-if="form.fBillstatus == '4' && Operator == Lander" @click="backApproval">撤销审批</el-button>
        <el-button type="success" @click="backrRconciliation" v-if="form.fBillstatus == '6'">撤销请核</el-button>
        <el-button type="primary" :disabled="browseStatus" @click="saveForm">保 存</el-button>
        <el-button
          style="background-color: #008000; color: #fff"
          @click="submitForm"
          :disabled="browseStatus"
          >请核</el-button
        >
        <el-button v-if="cancelButton === true" @click="cancel">取 消</el-button>
        <el-button v-if="cancelButton === false" @click="homePage">取消</el-button>
      </div>
      <!-- 选择库存总账数据 -->
      <el-dialog
        title="库存总账"
        :modal="false"
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="whgenlegVisible"
        width="70%"
      >
        <el-table
          :data="whgenlegList"
          ref="table"
          tooltip-effect="dark"
          width="100%"
          border
          stripe
          @selection-change="whgenlegSelectionChange"
        >
          <el-table-column type="selection" width="55"> </el-table-column>
          <el-table-column
            prop="fMblno"
            header-align="center"
            align="center"
            label="提单号"
          >
          </el-table-column>
          <el-table-column
            prop="createTime"
            header-align="center"
            align="center"
            width="180px"
            label="入库日期"
          >
          </el-table-column>
          <el-table-column
            prop="fGoodsids"
            header-align="center"
            align="center"
            label="品名"
          >
          </el-table-column>
          <el-table-column
            prop="fQtyblc"
            header-align="center"
            align="center"
            label="结余数量"
          >
          </el-table-column>
          <el-table-column
            prop="fWarehouseids"
            header-align="center"
            align="center"
            label="仓库"
          >
          </el-table-column>
          <el-table-column
            prop="fMarks"
            header-align="center"
            align="center"
            label="品牌"
          >
          </el-table-column>
        </el-table>
        <pagination
          v-show="whgenlegTotal > 0"
          :total="whgenlegTotal"
          :page.sync="whgenlegParams.pageNum"
          :limit.sync="whgenlegParams.pageSize"
          @pagination="getWhgenlegList"
        />
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="whgenlegData">导入库存总账</el-button>
          <el-button @click="whgenlegVisible = false">取 消</el-button>
        </div>
      </el-dialog>
      <!-- 选择作业费协议数据 -->
      <el-dialog
        title="作业费协议"
        :modal="false"
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="warehousingagreements"
        width="70%"

      >
        <el-menu :default-active="activeIndex"  v-if="Navigation === true" class="el-menu-demo" mode="horizontal" @select="handleSelect">
          <el-menu-item index="1">车队作业费</el-menu-item>
          <el-menu-item index="2">劳务作业费</el-menu-item>
        </el-menu>

        <el-table
          :data="tasklegList"
          ref="table"
          tooltip-effect="dark"
          width="100%"
          border
          stripe
          @selection-change="whgenlegSelectionChange"
        >
          <el-table-column type="selection" width="55"> </el-table-column>
          <el-table-column label="行号" type="index" width="80">
          </el-table-column>
          <el-table-column
            prop="fCorpname"
            header-align="center"
            align="center"
            label="客户名称"
          >
          </el-table-column>
          <el-table-column
            prop="fName"
            header-align="center"
            align="center"
            width="180px"
            label="费用名称"
          >
          </el-table-column>
          <el-table-column
            prop="fFeeUnitid"
            header-align="center"
            align="center"
            label="计价单位"
          >
            <template slot-scope="scope">
              <span v-if="scope.row.fFeeUnitid === 1">件数</span>
              <span v-if="scope.row.fFeeUnitid === 2">毛重</span>
              <span v-if="scope.row.fFeeUnitid === 3">净重</span>
              <span v-if="scope.row.fFeeUnitid === 4">尺码</span>
              <span v-if="scope.row.fFeeUnitid === 5">固定</span>
            </template>
          </el-table-column>
          <el-table-column
            prop="fPrice"
            header-align="center"
            align="center"
            label="单价"
          >
          </el-table-column>
        </el-table>
        <pagination
          v-show="whgenlegTotal > 0"
          :total="whgenlegTotal"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          :page-sizes="[100, 200, 300, 400]"
          @pagination="getWhgenlegList"
        />
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="zhgenlegData">导入作业费</el-button>
          <el-button @click="warehousingagreements = false;Navigation = false">取 消</el-button>
        </div>
      </el-dialog>
      <el-dialog
        title="调拨作业单打印"
        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
        :visible.sync="openPrintJobSheet"
        :close-on-click-modal="false"
        width="70%"
        :modal="false"
      >
        <table
          id="print_area1"
          class="biaoge zzss"
          border="1"
          style="border-collapse: collapse; border: none"
        >
          <tr>
            <td
              width="1400"
              colspan="6"
              class="zzss"
              style="font-size: 28px; font-weight: bold; border: none"
            >
              大木国际物流(青岛)有限公司作业单
            </td>
          </tr>
          <tr>
            <td
              width="900"
              colspan="4"
              class="zzss"
              style="font-size: 28px; font-weight: bold"
            >
            </td>
            <td
              width="500"
              colspan="2"
              style="padding-bottom: 0px; font-weight: bold; border: none"
              class="zzss"
            >
              调拨日期：{{ form.fBsdates }}
            </td>
          </tr>
<!--          <tr v-for="(item, index) in printinglist" :key="index">-->
<!--            <td width="200">车号</td>-->
<!--            <td width="200">{{ item.fTruckno }}</td>-->
<!--            <td width="200">货物品名</td>-->
<!--            <td width="200" class="zzss">-->
<!--              {{ item.fGoodsids }}-->
<!--            </td>-->
<!--            <td width="200">{{item.fBusinessTypes}}</td>-->
<!--            <td width="200">{{item.fMarks}}</td>-->
<!--          </tr>-->
          <tr>
            <td width="200">车号</td>
            <td width="200">货物品名</td>
            <td width="200">提单号</td>
            <td width="200">品牌/规格/产地</td>
            <td width="200">净重(kg)</td>
            <td width="200">件数(50KG)</td>
          </tr>
          <tr v-for="(item, index) in printinglist" :key="index">
            <td width="200">{{ item.fTruckno }}</td>
            <td width="200">{{ item.fGoodsids }}</td>
            <td width="200">{{ item.fMblno }}</td>
            <td width="200">{{item.fBusinessTypes}}/{{item.fMarks}}</td>
            <td width="200">{{item.fNetweight}}</td>
            <td width="200">{{ item.fQty }}</td>
          </tr>
          <tr>
            <td width="1400" colspan="6">&nbsp;</td>
          </tr>
          <tr>
            <td>备注:</td>
            <td colspan="5">{{ form.remark }}</td>
          </tr>
          <tr v-for="(item, indexe) in collectionoptionss" :key="indexe + 'index'">
            <td>收费</td>
            <td>{{ item.fFeeids }}</td>
            <td>{{ item.fAmount }} 元</td>
            <!-- <td colspan="4">办单费：5元，过磅费自理</td> -->
          </tr>
          <tr>
            <td>司机签字：</td>
            <td></td>
            <td>电话</td>
            <td>{{ form.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 colspan="6" class="zzss">&nbsp;</td>
          </tr>
          <tr>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="280" class="zzss"></td>
            <td width="290" class="zzss">地址：{{ fAddr }}</td>
            <td width="290" class="zzss">电话：{{ form.fTel }}</td>
          </tr>
        </table>
        <div>
          <el-button
            type="primary"
            :disabled="browseStatus"
            @click="printSomething">打印作业费
          </el-button>
          <el-button @click="openPrintJobSheet = false">取消 </el-button>
        </div>
      </el-dialog>
    </el-dialog>
    <el-dialog
      title="选择库位"
      :data="treeselectList"
      :visible.sync="choiceWarehouse"
      width="30%"
      :before-close="hanDleclose">
      <treeselect v-model="treeselectList.fWarehouselocid" @select="getAlltree" :options="fWarehouseidOptions" :show-count="true" :disable-branch-nodes="true" placeholder="请选择归属库区" />
      <div>{{Warehouse}}</div>
      <span slot="footer" class="dialog-footer">
    <el-button @click="choiceWarehouse = false">取 消</el-button>
    <el-button type="primary" @click="confirm">确 定</el-button>
  </span>
    </el-dialog>

  </div>
</template>

<script>
import print from "print-js";
import {
  backFee,
  RevocationApproval,
  addWhgenleg,
  getStockTransferList,
  getStockTransfer,
  delStockTransfer,
  updateCredit,
  addJoblist,
  disChargelist,
  addStockTransfer,
  warehouseSubmission,
  updateStockTransfer,
  exportStockTransfer,
} from "@/api/warehouseBusiness/stockTransfer";

import { listAgreement, operationAgreement } from "@/api/agreement/agreement";

import { listAgreements } from "@/api/warehouseBusiness/agreement";

import { listCorps } from "@/api/basicdata/corps";

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

import { listWarehouse, listWarehousesss, treeselect } from '@/api/basicdata/warehouse'

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

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

import { listUser, queryUserVal } from "@/api/system/user";

import UploadFile from "@/components/Uploadfile";

import { listWhgenleg } from "@/api/reportManagement/whgenleg";
import Global from '@/layout/components/global'
import AddOrUpdate from '@/views/viewApproval'
import ApprovalComments from '@/views/startApproval'
import Treeselect from '@riophae/vue-treeselect'
import "@riophae/vue-treeselect/dist/vue-treeselect.css";

export default {
  name: "Warehousebills",
  components: {
    UploadFile,
    AddOrUpdate,
    ApprovalComments,
    Treeselect
  },
  data() {
    return {
      browseStatu:false,
      fCompanyOptIons:[],
      fleetOptions:[],
      activeIndex: '1',
      activeIndex2: '1',
      //控制选择库位弹出
      choiceWarehouse:false,
      information:'',
      informationId:'',
      inDex:'',
      Warehouse:'',
      //树状下来库位表
      treeselectList:{
        fWarehouselocid:null
      },
      //仓库树状图
      fWarehouseidOptions:[],
      fWarehouseidOption:[],
      activeNames:['1'],
      //作业类型校验
      isrequired:2,
      Navigation:false,
      isrequired_s:2,
      isrequired_l:2,
      contrOl:false,
      //作业类型字典表
      businessTypeOption:[],
      approvalStatus:false,
      Lander:'',
      Operator:'',
      cancelButton:true,
      approve:false,
      disappear:false,
      colseButton:true,
      addOrUpdateVisible: false,
      addOrUpdateVisib:false,
      stockTransferId:140,
      notChange:false,
      index: 0,
      fFeeUnitid: null,
      fFeeUnitids: null,
      formBrowseStatus: false,
      detailsHidden: false,
      warehousingagreements: false,
      fTruckno: null,
      fBsdate: null,
      fCntrtype: null,
      fGoodsids: null,
      fPlanqty: null,
      fPlannetweight: null,
      fPlanvolumn: null,
      fGrossweight: 0,
      fCntqty: 0,
      fNetweight: 0,
      fVolumn: 0,
      fid: 0,
      fQty: 0,
      fSbu: 0,
      // 遮罩层
      loading: true,
      // 打印地址
      fAddr: "",
      // 税率
      fTaxrate: null,
      // 选中数组
      ids: [],
      userVal: {
        userName: null,
        nickName: null,
        deptId: null,
      },
      queryForm: {},
      // 费用状态
      costStatus: 'Dr',
      // 库存总账表
      whgenlegList: [],
      whgenlegTotal: 0,
      // 弹窗库存总账数据
      dialogWhgenlegList: [],
      // 库存总账对话框
      whgenlegVisible: false,
      // 收费多选框
      feelDrSelection: [],
      openPrintJobSheet: false,
      editDialogClosed_ss: false,
      dataList: [],
      warehouseCrList: [],
      warehouseDrList: [],
      printinglist: [],
      browseStatus: false,
      collectionoptionss: [],
      relevantAttachments: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 仓库主(出入库)表格数据
      warehousebillsList: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      // 货权方(客户数据)
      fMblnoOptions: [],
      // 货权方(客户数据)
      // 客户名称
      KHblnoOptions: [],
      // 作业费协议
      tasklegList: [],
      fSbuOptions: [],
      // 操作员
      userOptions: [],
      // 操作员
      goodsOptions: [],
      // 制单部门
      deptOptions: [],
      // 仓库(仓库数据)
      warehouseOptions: [],
      // 库存明细入账数组
      dataListSelection: [],
      // 库存明细撤回入账数组
      dataWithdrawList: [],
      kqhouseOptions: [],
      // 贸易方式(数据字典),对应t_trademodels 字典
      fTrademodeidOptions: [],
      // 结算方式(数据字典),下拉选择字典
      fStltypeOptions: [],
      // 仓储类型 入库时选择 产地 规格 品牌 所用,对应storage_type 字典
      fStorageTypeOptions: [],
      // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典
      fIfweighOptions: [],
      // 是否破损(数据字典),默认F否则T字典
      fIfdamageOptions: [],
      // 单据类型(数据字典)SJRK字典
      fBilltypeOptions: [],
      // 状态(数据字典),N 入字典
      fBillstatusOptions: [],
      //结算方式对应字典表
      fStltypeidOptions:[],
      // 费用名称
      fWbuOptions: [],
      // 计价单位
      jFeetunitOptions: [
        /*{dictLabel: "件数",dictValue: 1},
        {dictLabel: "毛重",dictValue: 2},
        {dictLabel: "净重",dictValue: 3},
        {dictLabel: "尺码",dictValue: 4},
        {dictLabel: "固定",dictValue: 5},*/
      ],
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 50,
        fBillno: null,
        createBy: null,
        createTime: null,
        fCustomsdeclartion: null,
        fOriginalbillno: null,
        fDeptid: null,
        fBsdeptid: null,
        fContacts: null,
        fTel: null,
        fCorpid: null,
        fTocorpid: null,
        fStltypeid: null,
        fBscorpno: null,
        fWarehouseid: null,
        fStorekeeper: null,
        fBsdate: null,
        fPlanqty: null,
        fPlangrossweight: null,
        fPlannetweight: null,
        fPlanvolumn: null,
        fQty: null,
        fGrossweight: null,
        fNetweight: null,
        fVolumn: null,
        fTrademodeid: null,
        fSbu: null,
        fFeetunit: null,
        fMblno: null,
        fVslvoy: null,
        fEta: null,
        fCustomno: null,
        fIfweigh: null,
        fIfpledge: null,
        fIfdamage: null,
        fBankcorpid: null,
        fBilltype: null,
        fBillstatus: null,
        fCreateby: null,
        fCreatetime: null,
        fGoodsid: null,
        fCntrtype: null,
        fCntqty: null,
      },
      // 库存总账参数
      whgenlegParams: {
        pageNum: 1,
        pageSize: 10,
        fMblno: null,
        fCorpid: null,
        fWarehouseid: null,
        fInwarehouseid:null
      },
      // 表单参数
      form: {
        fMblno: null,
        fCorpid: null,
        fBsdate: null,
        fBsdates: null,
        fTrademodeid: null,
        fWarehouseid: null,
      },
      // 表单校验
      rules: {
        fDeptid: [{ required: true, message: " ", trigger: "blur" }],
        fBsdeptid: [{ required: true, message: " ", trigger: "blur" }],
        fCorpid: [{ required: true, message: " ", trigger: "blur"},],
        fPlanqty: [{ required: true, message: " ", trigger: "blur"},],
        fFeeUnitid: [{ required: true, message: " ", trigger: "blur" }],
        fChargedate: [{ required: true, message: " ", trigger: "blur" }],
        fBillingway: [{ required: true, message: " ", trigger: "blur" }],
        fBsdate: [{ required: true, message: " ", trigger: "blur" }],
        fTrademodeid: [{ required: true, message: " ", trigger: "blur" }],
        fSbu: [{ required: true, message: " ", trigger: "blur" }],
        fWarehouseid: [{ required: true, message: " ", trigger: "blur" }],
        fPlannetweight: [{ required: true, message: " ", trigger: "blur"},],
        fPlangrossweight: [{ required: true, message: " ", trigger: "blur"},],
        fBusinessType: [{ required: true, message: " ", trigger: "blur"},],
        fbillingway: [
          {
            required: true,
            message: " ",
            trigger: "blur",
          },
        ],
        fTocorpid: [
          {
            required: true,
            message: " ",
            trigger: "blur",
          },
        ],
      },
    };
  },
  created() {
    this.getList();
    this.getDicts("data_trademodes").then((response) => {
      this.fTrademodeidOptions = response.data;
    });
    this.getDicts("data_stltype_type").then((response) => {
      this.fStltypeOptions = response.data;
    });
    this.getDicts("storage_type").then((response) => {
      this.fStorageTypeOptions = response.data;
    });
    this.getDicts("tax_rate").then((response) => {
      this.fTaxrate = response.data[0].dictValue
    });
    this.getDicts("data_ifweigh_status").then((response) => {
      this.fIfweighOptions = response.data;
    });
    this.getDicts("data_ifdamage_status").then((response) => {
      this.fIfdamageOptions = response.data;
    });
    this.getDicts("data_billtype_type").then((response) => {
      this.fBilltypeOptions = response.data;
    });
    this.getDicts("sys_common_status").then((response) => {
      this.fBillstatusOptions = response.data;
    });
    this.getDicts("data_unitfees").then((response) => {
      this.jFeetunitOptions = response.data;
    });
    this.getDicts("st_trans_type").then((response) => {
      this.businessTypeOption = response.data;
    });
    // this.getDicts("data_customer_category").then(response => {
    //   this.fCompanyOptIons = response.data;
    // });
    // this.getDicts("data_customer_category").then(response => {
    //   this.fleetOptions = response.data;
    // });
    treeselect().then(response => {
      this.warehouseOptions = response.data
    })
    this.warehousesssMethod()
    this.register()
  },
  activated(){
    this.Jump()
  },
  // watch:{
  //   'form.fWarehouseid' : 'warehouseMethod'
  // },
  methods: {
    handleSelect(key, keyPath) {
      this.addAgreements(key)
      this.getWhgenlegListt(key)
    },
    // 新增付款作业费协议
    addAgreements(kye) {
      if (!this.form.fCorpid) {
        this.$message({
          message: "请维护货权方",
          type: "warning",
        });
      }else if(this.form.fProductName == undefined) {
        this.$message({
          message: "请维护入库明细品名",
          type: "warning",
        });
      } else {
        this.whgenlegList = [];
        this.dialogWhgenlegList = [];
        this.whgenlegTotal = 0;
        this.warehousingagreements = true;
        this.getWhgenlegList(kye);
      }
    },
    /** 查询部门下拉树结构 */
    treeseLect(tree){
      this.queryParams.fWarehouselocid = tree.id
    },
    getTreeselect(row) {
      this.treeselectList.fWarehouselocid = null
      this.inDex = row.$index
      this.choiceWarehouse = true
      treeselect(this.form.fWarehouseid).then(response => {
        this.fWarehouseidOptions = response.data;
        // this.dataList[this.inDex].fTransferWarehouselocid
      })
      this.Warehouse = this.dataList[this.inDex].fWarehouseInformation
    },
    getAlltree(tree){
      this.information = tree.fWarehouseInformation
      this.informationId = tree.id
    },
    confirm(){
      this.$set(this.dataList[this.inDex], 'fWarehouseInformation', this.information)
      this.$set(this.dataList[this.inDex], 'fTransferWarehouselocid', this.informationId)
      this.choiceWarehouse = false
      this.dataList.fTransferWarehouselocid = this.informationId
    },
    // 撤销审核
    backrRconciliation(){
      this.form.fBillstatus = '1'
      backFee(this.form.fId).then(response=>{
        this.msgSuccess("撤回成功")
        this.getList()
        this.open = false
      })
      this.getList()
    },
    // 默认录入人
    register() {
      queryUserVal().then((response)=>{
        this.Lander = response.user.userName
      })
    },
    // 审批按钮
    goApproval(){
      this.addOrUpdateVisib = true
      this.$nextTick(() => {
        this.$refs.ApprovalComments.init(this.form.fId,this.stockTransferId)
      })
    },
    Jump(){
      this.approval = this.$route.query.data
      if(this.approval){
        this.reset()
        this.colseButton = false
        this.approval = JSON.parse(this.approval)
        this.hide = false
        this.open = true
        this.browseStatus = true
        this.browseStatus = true
        this.contrOl = true
        this.notChange = true
        this.approve = true
        this.disappear = true
        this.cancelButton = false
        getStockTransfer(this.approval.billId).then((response) => {
          if (response.data.warehousebills) {
            this.form = response.data.warehousebills;
            this.$set(this.form, "fEta", Date.parse(this.form.fEta));
            this.$set(this.form, "fStltypeid", this.form.fStltypeid + '');
            this.$set(this.form, 'fFeetunit', Number(this.form.fFeetunit))
            this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
            this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + '');
            this.$set(this.form, 'createTime', Date.parse(this.form.createTime))
          }
          if (response.data.corps) {
            this.fMblnoOptions = response.data.corps;
            this.KHblnoOptions = response.data.corps;
            this.fCompanyOptIons = response.data.corps;
          }
          if (response.data.feesList) {
            this.fWbuOptions = response.data.feesList;
          }
          if (response.data.warehouse) {
            this.warehouseOptions = response.data.warehouse;
          }
          if (response.data.warehouseBillsItem) {
            this.dataList = response.data.warehouseBillsItem;
            for (let list in this.dataList) {
              if (!this.form.fMblno) {
                this.$set(this.form, "fMblno", this.dataList[list].fMblno);
              }
              if (this.dataList[list].fBillstatus >= 6) {
                this.formBrowseStatus = true;
              }
              this.$set(this.dataList[list], "fBsdate", Date.parse(this.dataList[list].fBsdate));
              this.$set(this.dataList[list], 'fBusinessType', this.dataList[list].fBusinessType + '')
            }
          }
          if (response.data.enclosures) {
            this.relevantAttachments = response.data.enclosures;
          }
          if (response.data.warehouse) {
            this.warehouseDrList = response.data.warehousebillsfeesDr;
          }
          if (response.data.warehousebillsfeesDr) {
            this.warehouseDrList = response.data.warehousebillsfeesDr;
            for (let dr in this.warehouseDrList) {
              this.$set(this.warehouseDrList[dr], "fFeeunitid", this.warehouseDrList[dr].fFeeunitid + '');
            }
          }
          if (response.data.warehousebillsfeesCr) {
            this.warehouseCrList = response.data.warehousebillsfeesCr;
            for (let cr in this.warehouseCrList) {
              this.$set(this.warehouseCrList[cr], "fFeeunitid", this.warehouseCrList[cr].fFeeunitid + '');
            }
          }
          if (response.data.sysUser) {
            this.userVal = response.data.sysUser
            this.userOptions = response.data.sysUser;
          }
          if (response.data.dept) {
            this.deptOptions = []
            this.deptOptions.push(response.data.dept)
          }
          if (response.data.feesList) {
            this.fWbuOptions = response.data.feesList;
          }
          if (response.data.goodsList) {
            this.goodsOptions = response.data.goodsList;
          }
          if (response.data.warehouse) {
            this.warehouseOptions = response.data.warehouse;
          }
          if (response.data.warehouseAreas) {
            this.kqhouseOptions = response.data.warehouseAreas;
          }
          this.open = true;
          this.title = "修改调拨";
        });

      }
    },
    //树状库位下拉关闭询问
    hanDleclose(done){
      this.$confirm('确认关闭？')
        .then(_ => {
          done();
        })
        .catch(_ => {});
    },
    homepaGe(){
      let view = {
        fullPath: "/business/stockTransfer",
        hash: "",
        matched: Array(2),
        meta: Object,
        name: "StockTransfer",
        params: Object,
        path: "/business/stockTransfer",
        query: Object,
        title: "调拨"
      }
      this.$router.push({ path: '/index'})
      this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
        if (this.isActive(view)) {
          this.toLastView(visitedViews, view)
        }
      })
      Global.$emit("removeCache", "closeSelectedTag", view);
    },
    homePage() {
      this.open = false
      let view = {
        fullPath: "/business/stockTransfer",
        hash: "",
        matched: Array(2),
        meta: Object,
        name: "StockTransfer",
        params: Object,
        path: "/business/stockTransfer",
        query: Object,
        title: "调拨"
      }
      this.$router.push({ path: '/index' })
      this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
        if (this.isActive(view)) {
          this.toLastView(visitedViews, view)
        }
      })
      Global.$emit("removeCache", "closeSelectedTag", view);
    },
    // 撤销审批
    backApproval(){
      let data = {
        id:this.form.fId,
        actId:this.stockTransferId,
        billId:this.form.fId
      }
      RevocationApproval(data).then(response => {
        this.msgSuccess("撤销审批成功")
        this.disappear = true
        this.open = false
        this.getList()
      })
    },
    returnData(){
      this.addOrUpdateVisib = false
      this.open = false
      this.homepaGe()
    },
    getDataList(){
      this.addOrUpdateVisible = false
    },
    // 查看审批流
    addOrUpdateHandle(){
      this.addOrUpdateVisible = true
      this.addOrUpdateVisib = false
      let id = '448'
      let actId = '110'
      this.$nextTick(() => {
        this.$refs.addOrUpdate.init(this.form.fId,this.stockTransferId)
      })
    },
    //关闭弹框的事件
    addCloseDialog(){
      this.getList()
    },
    // 上传成功返回数据
    showFile(row) {
      for(let list in this.relevantAttachments) {
        this.$set(this.relevantAttachments[list], "fUrl", row.url);
        this.$set(this.relevantAttachments[list], "fName", row.fileName);
      }
    },
    // 打印作业费
    printSomething() {
      // 此处的style即为打印时的样式
      const style =
        "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";
      print({
        printable: "print_area1",
        type: "html",
        style: style, // 亦可使用引入的外部css;
        scanStyles: false,
      });
      this.addList();
      this.openPrintJobSheet = false;
    },
    // 新增附件上传
    addRelevt() {
      this.relevantAttachments.push({
        fUrl: null,
        fName: null,
        createBy: this.form.createBy,
        createTime: Date.parse(new Date()),
      });
    },
    // 新增作业费协议
    addAgreement(status,kye) {
      this.costStatus = status
      if (this.dataList.length === 0 || !this.dataList[0].fGoodsid) {
        this.$message({ message: "请维护库存明细，或第一行品名", type: "warning", });
        return false
      }
      if (!this.form.fCorpid) {
        this.$message({ message: "请维护货权方", type: "warning", });
        return false
      }
      this.whgenlegList = []
      this.dialogWhgenlegList = []
      this.whgenlegTotal = 0
      this.warehousingagreements = true
      this.getWhgenlegListt(kye)
    },
    // 新增仓储费协议
    addStorages() {
      if (!this.form.fCorpid) {
        this.$message({ message: "请维护货权方", type: "warning", });
        return false
      }
      this.whgenlegList = [];
      this.dialogWhgenlegList = [];
      this.whgenlegTotal = 0;
      this.storageAgreements = true;
      this.getAgreement();
    },
    // 查询仓储费协议
    getAgreement() {
      this.queryParams.fCorpid = this.form.fCorpid;
      listAgreements(this.queryParams).then((response) => {
        this.tasklegList = response.rows;
        this.whgenlegTotal = response.total;
      });
    },
    // 查询作业费信息
    getWhgenlegListt(kye) {
      let daTa = []
      let fTaskType = kye
      if (kye == 2){
        this.Navigation = true
        daTa = {
          pageNum:1,
          pageSize:10,
          fTaskType:Number(fTaskType),
          fLabour:this.form.fLabour
        }
        this.ueryTO(daTa)
      }else if (kye == 1) {
        this.Navigation = true
        daTa = {
          pageNum:1,
          pageSize:10,
          fTaskType:Number(fTaskType),
          fFleet:this.form.fFleet
        }
        this.ueryTO(daTa)
      }else {
        this.Navigation = false
        daTa = {
          pageNum:1,
          pageSize:10,
          fCorpid:this.form.fCorpid
        }
        this.ueryTO(daTa)
      }
    },
    ueryTO(daTa){
      operationAgreement(daTa).then((response) => {
        this.tasklegList = response.rows;
        this.whgenlegTotal = response.total;
      });
    },
    // 导入付款信息
    whgenlegDatas() {
      if (this.dialogWhgenlegList.length === 0) {
        this.$message({
          message: "请选择需要导入的数据",
          type: "warning",
        });
      } else {
        for (let whgen in this.dialogWhgenlegList) {
          let feeId = this.dialogWhgenlegList[whgen].feeFId;
          getFees(feeId).then((response) => {
            this.fWbuOptions.push(response.data);
          });
          this.warehouseDrList.push({
            fCorpid: this.dialogWhgenlegList[whgen].fCorpid,
            fFeeid: feeId,
            fFeeUnitid: this.dialogWhgenlegList[whgen].fFeeUnitid + "",
            fUnitprice: this.dialogWhgenlegList[whgen].fPrice,
            fCurrency: "RMB",
            fExrate: 1,
            fTaxrate: this.fTaxrate
          });
        }
        this.warehousingagreements = false;
      }
    },
    // 导出作业费
    zhgenlegData() {
      if (this.dialogWhgenlegList.length === 0) {
        this.$message({ message: "请选择需要导入的数据", type: "warning", });
        return false
      }
      for (let zhgen in this.dialogWhgenlegList) {
        let haveGoods = false
        let feeId = this.dialogWhgenlegList[zhgen].feeFId
        if (this.fWbuOptions.length !== 0) {
          for (let wbu in this.fWbuOptions) {
            if (this.fWbuOptions[wbu].fId === feeId) {
              haveGoods = true
              break
            }
          }
        }
        if (!haveGoods) {
          getFees(feeId).then((response) => {
            this.fWbuOptions.push(response.data)
          })
        }
        let qty = 1;
        if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 1) {
          qty = this.fQty
        } else if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 2) {
          qty = (this.fGrossweight/1000).toFixed(2)
        } else if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 3) {
          qty = (this.fNetweight/1000).toFixed(2)
        } else if (this.dialogWhgenlegList[zhgen].fFeeUnitid === 4) {
          qty = this.fVolumn
        }
        // qty=(qty/1000).toFixed(2);
        let fAmount = parseFloat(Number(this.dialogWhgenlegList[zhgen].fPrice) * Number(qty)).toFixed(2)
        if (this.costStatus === 'Cr') {
          this.warehouseCrList.push({
            fQty: qty,
            fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
            fFeeid: feeId,
            fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + '',
            fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
            fCurrency: 'RMB',
            fExrate: 1,
            fAmount: fAmount,
            fTaxrate: this.fTaxrate,
            fMblno:this.form.fMblno,
            fProductName:this.form.fProductName,
            fMarks:this.form.fMarks,
            fBusinessType:this.$set(this.warehouseCrList,'fBusinessType',this.form.fBusinessType)
          })
        } else {
          this.warehouseDrList.push({
            fQty: qty,
            fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
            fFeeid: feeId,
            fFeeunitid: this.dialogWhgenlegList[zhgen].fFeeUnitid + '',
            fUnitprice: this.dialogWhgenlegList[zhgen].fPrice,
            fCurrency: 'RMB',
            fExrate: 1,
            fAmount: fAmount,
            fTaxrate: this.fTaxrate,
            fMblno:this.form.fMblno,
            fProductName:this.form.fProductName,
            fMarks:this.form.fMarks,
            fBusinessType:this.$set(this.warehouseDrList,'fBusinessType',this.form.fBusinessType)
          })
        }
      }
      this.warehousingagreements = false
    },
    // 新增list
    addRelevant() {
      this.$refs['form'].validate((valid) => {
        if (valid) {
          this.whgenlegList = [];
          this.dialogWhgenlegList = [];
          this.whgenlegTotal = 0;
          this.whgenlegVisible = true;
          this.getWhgenlegList();
        }
      })
    },
    // 库存总账导出数据
    whgenlegData() {
      if (this.dialogWhgenlegList.length === 0) {
        this.$message({ message: "未勾选信息", type: "warning" });
        return false;
      }
      for (let whgen in this.dialogWhgenlegList) {
        if (!this.form.fMblno || this.form.fMblno === "") {
          this.$set(this.form, "fMblno", this.dialogWhgenlegList[whgen].fMblno);
        }
        /*let haveGoods = false
        if (this.kqhouseOptions.length !== 0) {
          for (let house in this.kqhouseOptions) {ku库区
          if (this.kqhouseOptions[house].fId === this.dialogWhgenlegList[whgen].fWarehouseLocationid) {
              haveGoods = true
              break;
            }
          }
        }
        if (!haveGoods) {
          let queryParams = {
            pageNum: 1,
            pageSize: 10,
            fId: this.dialogWhgenlegList[whgen].fWarehouseLocationid
          };
          listArea(queryParams).then((response) => {
            for (let row in response.rows) {
              this.kqhouseOptions.push(response.rows[row])
            }
          });
        }*/
        let fTruckno = null
        let fDriverTel = null
        let fDriverName = null
        let fDriverIdCar = null
        if (this.form.fTruckno) {
          fTruckno = this.form.fTruckno
        }
        if (this.form.fDriverTel) {
          fDriverTel = this.form.fDriverTel
        }
        if (this.form.fDriverName) {
          fDriverName = this.form.fDriverName
        }
        if (this.form.fDriverIdCar) {
          fDriverIdCar = this.form.fDriverIdCar
        }
        this.dataList.push({
          fBsdate: this.form.fBsdate,
          fId: null,
          fCntrtype: null,
          fGrossweight: 0,
          fNetweight: 0,
          fQty: 0,
          fCntqty: 1,
          fIsPass: 'F',
          fGoodsval: null,
          fBillstatus: 10,
          fTruckno: fTruckno,
          fDriverTel: fDriverTel,
          fDriverName: fDriverName,
          fDriverIdCar: fDriverIdCar,
          fMblno: this.dialogWhgenlegList[whgen].fMblno,
          fMarks: this.dialogWhgenlegList[whgen].fMarks,
          fCntrno: this.dialogWhgenlegList[whgen].fCntrno,
          fPlanqty: this.dialogWhgenlegList[whgen].fQtyblc,
          fGoodsid: this.dialogWhgenlegList[whgen].fGoodsid,
          fVolumn: this.dialogWhgenlegList[whgen].fVolumnblc,
          fGoodsids: this.dialogWhgenlegList[whgen].fGoodsids,
          fBillingway: this.dialogWhgenlegList[whgen].fBillingway,
          fChargedate: this.dialogWhgenlegList[whgen].fChargedate,
          fOrgwarehouseInformation: this.dialogWhgenlegList[whgen].fWarehouseids,
          fPackagespecs: this.dialogWhgenlegList[whgen].fPackagespecs,
          fPlannetweight: this.dialogWhgenlegList[whgen].fNetweightblc,
          fOriginalbillno: this.dialogWhgenlegList[whgen].fOriginalbillno,
          fBusinessType: this.dialogWhgenlegList[whgen].fBusinessType + '',
          fPlangrossweight: this.dialogWhgenlegList[whgen].fGrossweightblc,
          fOriginalbilldate: this.dialogWhgenlegList[whgen].fOriginalbilldate,


          fWarehouselocid: this.dialogWhgenlegList[whgen].fWarehouseLocationid,


          fWarehouselocids: this.dialogWhgenlegList[whgen].fWarehouseLocationids,
          fWarehouseLocationids: this.dialogWhgenlegList[whgen].fWarehouseLocationids,
          fTransferWarehouselocid: null,
          remark: null,
        });
      }
      this.whgenlegVisible = false;
    },
    // 作业单打印
    printJobSheet() {
      let fTruckno = this.printinglist[0].fTruckno
      let fDriverName = this.printinglist[0].fDriverName
      for (let warehouseCr in this.printinglist) {
        if(!this.printinglist[warehouseCr].fId) {
          this.$message.error("请先保存!");
          return false;
        } else if (this.printinglist[warehouseCr].fTransferWarehouselocid === this.printinglist[warehouseCr].fWarehouselocid) {
          this.$message.error('调拨库区不得与原库区相同')
          return false
        } else if (!this.printinglist[warehouseCr].fTruckno || this.printinglist[warehouseCr].fTruckno !== fTruckno) {
          this.$message.error('请填写车号或选择车相同车号')
          return false
        } else if (!this.printinglist[warehouseCr].fDriverName || this.printinglist[warehouseCr].fDriverName !== fDriverName) {
          this.$message.error('请填写司机姓名选择相同司机姓名')
          return false
        } else if (!this.printinglist[warehouseCr].fDriverTel) {
          this.$message.error('请选填写司机电话')
          return false
        } else if (!this.printinglist[warehouseCr].fDriverIdCar) {
          this.$message.error('请选填写司机身份证')
          return false
        } else if (!this.printinglist[warehouseCr].fDriverName) {
          this.$message.error('请输入司机姓名')
          return false
        }
        for (let opt in this.fStorageTypeOptions) {
          if (this.fStorageTypeOptions[opt].dictValue === this.printinglist[warehouseCr].fBusinessType) {
            this.$set(this.printinglist[warehouseCr], 'fBusinessTypes', this.fStorageTypeOptions[opt].dictLabel)
            break
          }
        }
      }
      // 获取业务日期
      var date = new Date(this.form.fBsdate)
      var Y = date.getFullYear() + '-'
      var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
      var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
      this.form.fBsdates = Y + M + D
      if (this.feelDrSelection.length !== 0) {
        for (let dr in this.feelDrSelection) {
          for (let opt in this.fWbuOptions) {
            if (this.fWbuOptions[opt].fId === this.feelDrSelection[dr].fFeeid) {
              this.$set(this.feelDrSelection[dr], 'fFeeName', this.fWbuOptions[opt].fName)
              break
            }
          }
        }
      }
      setTimeout(() => {
        this.openPrintJobSheet = true
      }, 200);
    },
    showEditDialog_ss() {
      if (this.printinglist.length > 0) {
        for (let warehouseCr in this.printinglist) {
         if (!this.printinglist[warehouseCr].fWarehouseInformation) {
            this.$message.error('请选择调入库位')
            return false
          } else if (!this.printinglist[warehouseCr].fDriverName || this.printinglist[warehouseCr].fDriverName !== this.printinglist[0].fDriverName) {
            this.$message.error('请选择相同司机名')
            return false
          } else if (!this.printinglist[warehouseCr].fDriverTel || this.printinglist[warehouseCr].fDriverTel !== this.printinglist[0].fDriverTel) {
            this.$message.error('请选择相同司机电话')
            return false
          } else if (!this.printinglist[warehouseCr].fTruckno || this.printinglist[warehouseCr].fTruckno !== this.printinglist[0].fTruckno) {
            this.$message.error('请选择相同车号')
            return false
          }
        }
        this.openPrintJobSheet = true
        this.addList()
      } else {
        this.$message.error('请选择需要打印的明细!')
      }
    },
    // 收款信息
    addCollection() {
      if(this.form.fBusinessType == null){
        this.$message.error("请维护作业类型")
        return false
      }else{
        this.warehouseDrList.push({
          fcorpid: this.form.fCorpid,
          ffeeid: null,
          fFeeunitid: '2',
          fQty: 0,
          funitprice: 0,
          fAmount: 0,
          fCurrency: "RMB",
          fExrate: 1,
          fTaxrate: this.fTaxrate,
          remarks: null,
          fMblno:this.form.fMblno,
          fProductName:this.form.fProductName,
          fMarks:this.form.fMarks,
          fBusinessType: this.form.fBusinessType
        });
      }
    },
    addpayment() {
      if(this.form.fBusinessType == null){
        this.$message.error("请维护作业类型")
        return false
      }else {
        this.warehouseCrList.push({
          fcorpid: this.form.fCorpid,
          ffeeid: null,
          fFeeunitid: '2',
          fQty: 0,
          funitprice: 0,
          fAmount: 0,
          fCurrency: "RMB",
          fExrate: 1,
          fTaxrate: this.fTaxrate,
          remarks: null,
          fMblno: this.form.fMblno,
          fProductName: this.form.fProductName,
          fMarks: this.form.fMarks,
          fBusinessType: this.form.fBusinessType
        });
      }
    },
    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()));
        }
        if (response.dept !== null) {
          this.deptOptions = [];
          this.deptOptions.push(response.dept);
        }
      });
    },
    /** 查询仓库主(出入库)列表 */
    getList() {
      let queryParams = { pageNum: 1, pageSize: 10, fTypeid: 6}
      listCorps(queryParams).then((response) => {
        this.fCompanyOptIons = response.rows;
      });
      let params = { pageNum: 1, pageSize: 10, fTypeid: 2}
      listCorps(params).then((response) => {
        this.fleetOptions = response.rows;
      });
      this.loading = true;
      getStockTransferList(this.queryParams).then((response) => {
        this.warehousebillsList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // 查询库存总账信息
    getWhgenlegList() {
      this.whgenlegParams.fMblno = this.form.fMblno;
      this.whgenlegParams.fCorpid = this.form.fCorpid;
      this.whgenlegParams.fTrademodeid = this.form.fTrademodeid;
      this.whgenlegParams.fWarehouseid = this.form.fInwarehouseid
      listWhgenleg(this.whgenlegParams).then((response) => {
        this.whgenlegList = response.rows;
        this.whgenlegTotal = response.total;
      });
    },
    // 作业类型(数据字典),对应st_in_type 字典翻译
    fBusinessTypeFormat(row,column){
      return this.selectDictLabel(this.businessTypeOption, row.fBusinessType);
    },
    // 贸易方式(数据字典),对应t_trademodels 字典翻译
    fTrademodeidFormat(row, column) {
      return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);
    },
    // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典翻译
    fIfweighFormat(row, column) {
      return this.selectDictLabel(this.fIfweighOptions, row.fIfweigh);
    },
    // 是否破损(数据字典),默认F否则T字典翻译
    fIfdamageFormat(row, column) {
      return this.selectDictLabel(this.fIfdamageOptions, row.fIfdamage);
    },
    // 单据类型(数据字典)SJRK字典翻译
    fBilltypeFormat(row, column) {
      return this.selectDictLabel(this.fBilltypeOptions, row.fBilltype);
    },
    // 状态(数据字典),N 入字典翻译
    fBillstatusFormat(row, column) {
      return this.selectDictLabel(this.fBillstatusOptions, row.fBillstatus);
    },
    // 取消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // 表单重置
    reset() {
      this.form = {
        fId: null,
        fBillno: null,
        fCustomsdeclartion: null,
        fOriginalbillno: null,
        fDeptid: null,
        fBsdeptid: null,
        fContacts: null,
        fTel: null,
        fCorpid: null,
        fTocorpid: null,
        fStltypeid: null,
        fBscorpno: null,
        fWarehouseid: null,
        fStorekeeper: null,
        fBsdate: null,
        fPlanqty: null,
        fPlangrossweight: null,
        fPlannetweight: null,
        fPlanvolumn: null,
        fQty: null,
        fGrossweight: null,
        fNetweight: null,
        fVolumn: null,
        fTrademodeid: null,
        fSbu: null,
        fFeetunit: null,
        fMblno: null,
        fVslvoy: null,
        fEta: null,
        fCustomno: null,
        fIfweigh: null,
        fIfpledge: null,
        fIfdamage: null,
        fBankcorpid: null,
        fBilltype: null,
        fBillstatus: null,
        delFlag: null,
        createBy: null,
        createTime: null,
        updateBy: null,
        updateTime: null,
        remark: null,
        fCreateby: null,
        fCreatetime: null,
        fGoodsid: null,
        fCntrtype: null,
        fCntqty: null,
      };
      this.deptOptions = [];
      this.userOptions = [];
      this.fSbuOptions = [];
      this.fWbuOptions = [];
      this.goodsOptions = [];
      this.KHblnoOptions = [];
      this.fMblnoOptions = [];
      this.kqhouseOptions = [];
      this.approve = false
      this.disappear = false
      this.addOrUpdateVisible = false
      this.addOrUpdateVisib = false
      this.formBrowseStatus = false
      this.detailsHidden = false
      this.warehousingagreements = false
      this.browseStatus = false
      this.editDialogClosed_ss = false
      this.openPrintJobSheet = false
      this.whgenlegVisible = false
      this.resetForm("form");
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection;
      // this.ids = selection.map((item) => item.fId);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    // 库存总账多选框
    whgenlegSelectionChange(selection) {
      this.dialogWhgenlegList = selection;
    },
    /** 新增按钮操作 */
    handleAdd(status) {
      this.warehousesssMethod()
      this.reset();
      this.browseStatus = status;
      this.contrOl = status;
      this.notChange = false
      this.queryUser();
      this.open = true;
      this.detailsHidden = false;
      this.dataList = [];
      this.warehouseCrList = [];
      this.warehouseDrList = [];
      this.relevantAttachments = [];
      this.title = "调拨单";
      this.formBrowseStatus = false;
    },
    check_s(row,status){
      // this.disappear = true
      // this.notChange = true
      this.reset();
      this.contrOl = true
      this.browseStatus = status;
      this.browseStatu = status;
      this.detailsHidden = false;
      let data = row || this.ids;
      getStockTransfer(data.fId).then((response) => {
        this.Operator = response.data.corps[0].createBy
        if (response.data.warehousebills) {
          this.form = response.data.warehousebills;
          this.$set(this.form, "fEta", Date.parse(this.form.fEta));
          this.$set(this.form, "fStltypeid", this.form.fStltypeid + '');
          this.$set(this.form, 'fFeetunit', Number(this.form.fFeetunit))
          this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
          this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + '');
          this.$set(this.form, 'createTime', Date.parse(this.form.createTime))
        }
        if (response.data.corps) {
          this.fMblnoOptions = response.data.corps;
          this.KHblnoOptions = response.data.corps;
          this.fSbuOptions = response.data.corps;
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }
        if (response.data.warehouseBillsItem) {
          this.dataList = response.data.warehouseBillsItem;
          for (let list in this.dataList) {
            if (!this.form.fMblno) {
              this.$set(this.form, "fMblno", this.dataList[list].fMblno);
            }
            if (this.dataList[list].fBillstatus >= 6) {
              this.formBrowseStatus = true;
            }
            this.$set(this.dataList[list], "fBsdate", Date.parse(this.dataList[list].fBsdate));
            this.$set(this.dataList[list], 'fBusinessType', this.dataList[list].fBusinessType + '')
          }
        }
        if (response.data.enclosures) {
          this.relevantAttachments = response.data.enclosures;
        }
        if (response.data.warehouse) {
          this.warehouseDrList = response.data.warehousebillsfeesDr;
          for (let dr in this.warehouseDrList) {
            this.$set(this.warehouseDrList[dr], "fFeeunitid", this.warehouseDrList[dr].fFeeunitid + '');
          }
        }
        if (response.data.warehousebillsfeesCr) {
          this.warehouseCrList = response.data.warehousebillsfeesCr;
          for (let cr in this.warehouseCrList) {
            this.$set(this.warehouseCrList[cr], "fFeeunitid", this.warehouseCrList[cr].fFeeunitid + "");
          }
        }
        if (response.data.sysUser) {
          this.userVal = response.data.sysUser
          this.userOptions = response.data.sysUser;
        }
        if (response.data.dept) {
          this.deptOptions = []
          this.deptOptions.push(response.data.dept)
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.goodsList) {
          this.goodsOptions = response.data.goodsList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }
        if (response.data.warehouseAreas) {
          this.kqhouseOptions = response.data.warehouseAreas;
        }
        this.open = true;
        this.title = "修改调拨";
      });
    },

    check(row,status,res){
      this.reset();
      this.disappear = false
      this.notChange = true
      this.browseStatus = status;
      this.detailsHidden = false;
      let data = row || this.ids;
      getStockTransfer(data.fId).then((response) => {
        this.Operator = response.data.corps[0].createBy
        if (response.data.warehousebills) {
          this.form = response.data.warehousebills;
          this.$set(this.form, "fEta", Date.parse(this.form.fEta));
          this.$set(this.form, "fStltypeid", this.form.fStltypeid + '');
          this.$set(this.form, 'fFeetunit', Number(this.form.fFeetunit))
          this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
          this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + '');
          this.$set(this.form, 'createTime', Date.parse(this.form.createTime))
        }
        if (response.data.corps) {
          this.fMblnoOptions = response.data.corps;
          this.KHblnoOptions = response.data.corps;
          this.fSbuOptions = response.data.corps;
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }
        if (response.data.warehouseBillsItem) {
          this.dataList = response.data.warehouseBillsItem;
          for (let list in this.dataList) {
            if (!this.form.fMblno) {
              this.$set(this.form, "fMblno", this.dataList[list].fMblno);
            }
            if (this.dataList[list].fBillstatus >= 6) {
              this.formBrowseStatus = true;
            }
            this.$set(this.dataList[list], "fBsdate", Date.parse(this.dataList[list].fBsdate));
            this.$set(this.dataList[list], 'fBusinessType', this.dataList[list].fBusinessType + '')
          }
        }
        if (response.data.enclosures) {
          this.relevantAttachments = response.data.enclosures;
        }
        if (response.data.warehouse) {
          this.warehouseDrList = response.data.warehousebillsfeesDr;
        }
        if (response.data.warehousebillsfeesDr) {
          this.warehouseDrList = response.data.warehousebillsfeesDr;
          for (let dr in this.warehouseDrList) {
            this.$set(this.warehouseDrList[dr], "fFeeunitid", this.warehouseDrList[dr].fFeeunitid + '');
          }
        }
        if (response.data.warehousebillsfeesCr) {
          this.warehouseCrList = response.data.warehousebillsfeesCr;
          for (let cr in this.warehouseCrList) {
            this.$set(this.warehouseCrList[cr], "fFeeunitid", this.warehouseCrList[cr].fFeeunitid + '');
          }
        }
        if (response.data.sysUser) {
          this.userVal = response.data.sysUser
          this.userOptions = response.data.sysUser;
        }
        if (response.data.dept) {
          this.deptOptions = []
          this.deptOptions.push(response.data.dept)
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.goodsList) {
          this.goodsOptions = response.data.goodsList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }
        if (response.data.warehouseAreas) {
          this.kqhouseOptions = response.data.warehouseAreas;
        }
        this.open = true;
        this.title = "修改调拨";
      });
    },
    /** 修改按钮操作 */
    handleUpdate(row, status) {
      this.reset();
      this.browseStatus = status;
      this.contrOl = status
      this.detailsHidden = false;
      this.formBrowseStatus = false;
      let fId = row.fId || this.ids;
      if (fId.length === 1){
        fId = fId[0].fId
      }
      this.dataList = [];
      getStockTransfer(fId).then((response) => {
        if (response.data.warehousebills) {
          this.form = response.data.warehousebills;
          this.$set(this.form, "fEta", Date.parse(this.form.fEta));
          this.$set(this.form, "fStltypeid", this.form.fStltypeid + '');
          this.$set(this.form, 'fFeetunit', Number(this.form.fFeetunit))
          this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
          this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + '');
          this.$set(this.form, 'createTime', Date.parse(this.form.createTime))
          if(this.form.fBillstatus > 2){
            this.approvalStatus = false
          }else{
            this.approvalStatus = true
          }
        }
        if (response.data.corps) {
          this.flabourOptions = response.data.corps;
          this.fMblnoOptions = response.data.corps;
          this.KHblnoOptions = response.data.corps;
          this.fCompanyOptIons = response.data.corps;
          this.fleetOptions = response.data.corps;
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }

        if (response.data.warehouseBillsItem) {
          this.dataList = response.data.warehouseBillsItem;
          for (let list in this.dataList) {
            if (!this.form.fMblno) {
              this.$set(this.form, "fMblno", this.dataList[list].fMblno);
            }
            if (this.dataList[list].fBillstatus > 10) {
              this.formBrowseStatus = true;
            }
            this.$set(this.dataList[list], "fBsdate", Date.parse(this.dataList[list].fBsdate));
            this.$set(this.dataList[list], 'fBusinessType', this.dataList[list].fBusinessType + '')
          }
        }
        if (response.data.enclosures) {
          this.relevantAttachments = response.data.enclosures;
        }
        if (response.data.warehouse) {
          this.warehouseDrList = response.data.warehousebillsfeesDr;
        }
        if (response.data.warehousebillsfeesDr) {
          this.warehouseDrList = response.data.warehousebillsfeesDr;
          for (let dr in this.warehouseDrList) {
            this.$set(this.warehouseDrList[dr], "fFeeunitid", this.warehouseDrList[dr].fFeeunitid + '');
          }
        }
        if (response.data.warehousebillsfeesCr) {
          this.warehouseCrList = response.data.warehousebillsfeesCr;
          for (let cr in this.warehouseCrList) {
            this.$set(this.warehouseCrList[cr], "fFeeunitid", this.warehouseCrList[cr].fFeeunitid + '');
          }
        }
        if (response.data.sysUser) {
          this.userVal = response.data.sysUser
        }
        if (response.data.dept) {
          this.deptOptions = []
          this.deptOptions.push(response.data.dept)
        }
        if (response.data.feesList) {
          this.fWbuOptions = response.data.feesList;
        }
        if (response.data.goodsList) {
          this.goodsOptions = response.data.goodsList;
        }
        if (response.data.warehouse) {
          this.warehouseOptions = response.data.warehouse;
        }
        if (response.data.warehouseAreas) {
          this.kqhouseOptions = response.data.warehouseAreas;
        }
        this.open = true;
        this.title = "修改调拨";

        this.warehousesssMethod()
      });
    },
    // 数量计算
    changeContractAmt(row) {
      let fQty = 0
      let fUnitprice = 0
      if (row.fUnitprice) {
        fUnitprice = row.fUnitprice
      }
      if (row.fQty) {
        fQty = row.fQty
      }
      this.$set(row, 'fAmount', parseFloat(Number(fUnitprice) * Number(fQty)).toFixed(2))
    },
    changefBsdate(row) {
      if (this.dataList.length > 0) {
        for (var i = 0; i < this.dataList.length; i++) {
          this.$set(this.dataList[i], "fBsdate", row);
        }
      }
    },
    // change仓库
    changefWarehouseid(row) {
      for (let corp in this.warehouseOptions) {
        if (row.fWarehouseid === this.warehouseOptions[corp].fId) {
          this.fAddr = this.warehouseOptions[corp].fAddr;
          this.$set(this.form, "fTel", this.warehouseOptions[corp].fTel);
          this.$set(this.form, "fContacts", this.warehouseOptions[corp].fContacts);
        }
      }
    },
    // 选择按钮
    collectionoptions(selection) {
      this.feelDrSelection = selection
    },
    changefCorpid(row) {
      this.$set(row, "fSbu", row.fCorpid);
      for (let corp in this.fMblnoOptions) {
        if (row.fCorpid === this.fMblnoOptions[corp].fId) {
          this.$set(this.form, "fStltypeid", this.fMblnoOptions[corp].fStltypeid + "");
        }
      }
    },
    // 合计
    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"]));
        } // const values = data.map(item => Number(item[column.property]))
        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.form.fGrossweight = prev + curr;
                this.fGrossweight = prev + curr;
              }
              if (column.property === "fNetweight") {
                this.form.fNetweight = prev + curr;
                this.fNetweight = prev + curr;
              }
              if (column.property === "fVolumn") {
                this.fVolumn = prev + curr;
              }
              if (column.property === "fQty") {
                this.form.fQty = prev + curr;
                this.fQty = prev + curr;
              }
              if (column.property === "fCntqty") {
                this.fCntqty = prev + curr;
              }
              return prev + curr;
            } else {
              return prev;
            }
          }, 0);
          sums[index] = sums[index].toFixed(2);
        }
      });
      this.sums = sums;
      return sums;
    },
    // 付款合计
    warehouseDrSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = "合计";
          return;
        }
        const values = data.map((item) => Number(item[column.property]));
        if (
          column.property === "fUnitprice" ||
          column.property === "fAmount" ||
          column.property === "fQty" ||
          column.property === "fQty"
        ) {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr);
            if (!isNaN(value)) {
              return prev + curr;
            } else {
              return prev;
            }
          }, 0); // sums[index]
          sums[index] = sums[index].toFixed(2);
        }
      });
      return sums;
    },
    // 库存明细多选框结果
    dataListChange(row) {
      this.dataListSelection = row;
    },
    // 变更计价单位
    changeFeeUnit(row) {
      if (!row.fFeeunitid) {
        return false
      }
      let fQty = 0;
      let fGrossweight = 0;
      let fNetweight = 0;
      let volumn = 0;
      let fixed = 1;
      for (let li in this.dataList) {
        if (this.dataList[li].fQty) {
          fQty = parseFloat(Number(fQty) + Number(this.dataList[li].fQty)).toFixed(2)
        }
        if (this.dataList[li].fGrossweight) {
          fGrossweight = parseFloat(Number(fGrossweight) + Number(this.dataList[li].fGrossweight)).toFixed(2)
        }
        if (this.dataList[li].fNetweight) {
          fNetweight = parseFloat(Number(fNetweight) + Number(this.dataList[li].fNetweight)).toFixed(2)
        }
        if (this.dataList[li].volumn) {
          volumn = parseFloat(Number(volumn) + Number(this.dataList[li].volumn)).toFixed(2)
        }
      }
      if (row.fFeeunitid == "1") {
        this.$set(row, 'fQty', this.fPlanqty.toFixed(2))
      } else if (row.fFeeunitid == "2") {
        this.$set(row, 'fQty', (fPlannetweight/1000).toFixed(2))
      }else if (row.fFeeunitid == "3") {
        this.$set(row, 'fQty', (fPlangrossweight/1000).toFixed(2))
      }else if (row.fFeeunitid == "7") {
        this.$set(row, 'fQty', this.fCntqty.toFixed(2))
      }else {
        this.$set(row, "fQty", 0);
      }
      if (row.fUnitprice) {
        this.$set(row, 'fAmount', parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2))
      }
    },
    // 调拨确认
    creditClick() {
      this.$refs["form"].validate((valid) => {
        for (let warehouse in this.dataListSelection) {
          if (!this.dataListSelection[warehouse].fId) {
            this.$message.error("请先保存");
            return false;
          }
          if (!this.dataListSelection[warehouse].fGrossweight) {
            this.$message.error("请选择调拨毛重(kg)");
            return false;
          } else if (!this.dataListSelection[warehouse].fWarehouseInformation) {
            this.$message.error("请选择调入库位");
            return false;
          } else if (this.dataListSelection[warehouse].fWarehouseInformation === this.dataListSelection[warehouse].fWarehouselocids) {
            this.$message.error("调拨库区不得与原库区相同");
            return false;
          } else if (!this.dataListSelection[warehouse].fNetweight) {
            this.$message.error("请选择调拨净重(kg)");
            return false;
          }
          // else if (!this.dataListSelection[warehouse].fQty) {
          //   this.$message.error("请维护调拨件数");
          //   return false;
          // }
        }
        if (valid) {
          let listSelection = JSON.parse(JSON.stringify(this.dataListSelection))
          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.dataListSelection));
          formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
          formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
          addWhgenleg(formData).then((response) => {
            this.fid = response.data.fPid
            this.dataWithdrawList = []
            this.dataListSelection = []
            this.msgSuccess('调拨成功')
            this.$refs.tableList.clearSelection()
            this.formBrowseStatus = true
            for (let li in listSelection) {
              for (let i in this.dataList) {
                if (listSelection[li].fId === this.dataList[i].fId) {
                  this.$set(this.dataList[i], 'fBillstatus', 40)
                  break
                }
              }
            }
          })
        }
      });
    },
    // 打印作业单
    addList() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          let dataList = []
          for (let se in this.dataListSelection) {
            if (Number(this.dataListSelection[se].fBillstatus) >= 10) {
              dataList.push(this.dataListSelection[se])
              console.log("111")
            }
          }
          if (dataList.length !== 0) {
            let formData = new window.FormData();
            formData.append("warehouseBills", JSON.stringify(this.form));
            formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
            formData.append("warehousebillsitems", JSON.stringify(dataList));
            formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
            formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
            addJoblist(formData).then((response) => {
              this.formBrowseStatus = true;
              // this.$refs.tableDr.clearSelection();
              // this.$refs.tableList.clearSelection();
              let dataSelection = response.data.warehousebillsitems
              for (let ite in dataSelection) {
                for (let li in this.dataList) {
                  if (dataSelection[ite].fId === this.dataList[li].fId && this.dataList[li].fBillstatus === 10) {
                    this.$set(this.dataList[li], 'fBillstatus', dataSelection[li].fBillstatus)
                    this.$set(this.dataList[li], 'fSerialNumber', dataSelection[li].fSerialNumber)
                    break
                  }
                }
              }
              this.$refs.tableList.clearSelection()
            });
          }
        }
      });
    },
    // 撤回调拨
    withdrawClick() {
      for (let li in this.dataWithdrawList) {
        if (this.dataWithdrawList[li].fBillstatus < 6) {
          this.$message.error("所选信息中存在未调拨数据!");
          return false
        }
      }
      let formData = new window.FormData();
      let withdrawList = JSON.parse(JSON.stringify(this.dataWithdrawList))
      formData.append("warehouseBills", JSON.stringify(this.form));
      formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
      formData.append("warehousebillsitems", JSON.stringify(this.dataWithdrawList));
      formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
      formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
      updateCredit(formData).then((response) => {
        this.fid = response.data;
        this.formBrowseStatus = false;
        this.msgSuccess("撤销入账成功");
        this.$refs.tableList.clearSelection();
        let mun = 0;
        for (let i in this.dataList) {
          for (let li in withdrawList) {
            if (withdrawList[li].fId === this.dataList[i].fId) {
              this.$set(this.dataList[i], 'fBillstatus', 10)
            }
          }
          if (this.dataList[i].fBillstatus && this.dataList[i].fBillstatus > 10) {
            mun ++;
          }
        }
        if (mun > 0) {
          this.formBrowseStatus = true
        } else {
          this.formBrowseStatus = false
        }
      });
    },
     // 装货按钮
    discharge() {
      if (this.printinglist.length <= 0) {
        this.$message.error("请选择需要装货的明细!");
        return false
      }
      for (let li in this.dataListSelection) {
        if (!this.dataListSelection[li].fId) {
          this.$message.error('请先保存!')
          return false
        } else if (this.dataListSelection[li].fBillstatus === 10) {
          this.$message.error('请先打印')
          return false
        } else if (this.dataListSelection[li].fBillstatus >= 30) {
          this.$message.error('请勿重复装货')
          return false
        }
        else if (!this.dataListSelection[li].fQty || this.dataListSelection[li].fQty === 0) {
          this.$message.error('请填写调拨件数')
          return false
        } else if (!this.dataListSelection[li].fNetweight) {
          this.$message.error('请填写调拨毛重')
          return false
        } else if (!this.dataListSelection[li].fGrossweight) {
          this.$message.error('请填写调拨净重')
          return false
        }
      }
      this.$refs['form'].validate((valid) => {
        if (valid) {
          let withdrawList = JSON.parse(JSON.stringify(this.dataListSelection))
          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.dataListSelection));
          formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
          formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
          for (let li in this.dataListSelection) {
            this.dataListSelection[li].fBillstatus = 30
          }
          this.formBrowseStatus = true
          this.$refs.tableList.clearSelection()
          disChargelist(formData).then((response) => {
            for (let li in withdrawList) {
              for (let i in this.dataList) {
                if (withdrawList[li].fId === this.dataList[i].fId) {
                  this.$set(this.dataList[i], 'fBillstatus', 30)
                  break
                }
              }
            }
            this.msgSuccess('装货成功')
          })
        }
      })
    },
    // 付款信息计价单位合计
    getwarehouseCrList(param) {
      const { columns, data } = param
      const sums = []
      var values = []
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = "合计";
          return;
        }
        if (index === 3) {
          // values = data.map((item) => Number(item["fFeeUnitid"]));
          sums[index] = this.fFeeUnitids;
          return;
        }
      });
      this.sums = sums;
      return sums;
    },
    // 库存明细多选
    selectinventory(selection) {
      for(let item in selection){
        console.log(selection[item].fBillstatus)
        if(selection[item].fBillstatus > '20'){
          console.log("111")
          this.browseStatu = true
        }else{
          this.browseStatu = false
        }
      }
      this.dataWithdrawList = [];
      this.dataListSelection = [];
      this.printinglist = selection;
      if (!selection || selection.length === 0) {
        return false
      }
      for (let se in selection) {
        if (!selection[se].fBillstatus || selection[se].fBillstatus !== 40) {
          this.dataListSelection.push(selection[se])
        } else if (selection[se].fBillstatus && selection[se].fBillstatus === 40) {
          this.dataWithdrawList.push(selection[se])
        }
      }
      this.fTruckno = selection[0].fTruckno
      this.fCntrtype = selection[0].fCntrtype
      this.fGoodsids = selection[0].fGoodsids
    },
    // 更新主表品名并去重
    updateDeduplication: function() {
      if (this.dataList.length === 0) {
        return false
      }
      let fMarks = []
      let fProductName = []
      let fMblno = []
      for (let li in this.dataList) {
        fMarks.push(this.dataList[li].fMarks)
        fProductName.push(this.dataList[li].fGoodsids)
        fMblno.push(this.dataList[li].fMblno)

      }
      this.$set(this.form, 'fMarks', Array.from(new Set(fMarks)).join(","))
      this.$set(this.form, 'fProductName', Array.from(new Set(fProductName)).join(","))
      this.$set(this.form, 'fMblno', Array.from(new Set(fMblno)).join(","))

    },
    // 保存
    saveForm () {
      this.updateDeduplication()
      this.$refs['form'].validate((valid) => {
        // if (this.dataList.length === 0) {
        //   this.$message.error('请添加库存明细!')
        //   return false
        // }
        for (let list in this.dataList) {
          this.changeStock(this.dataList[list])
        }
        if (valid) {
          setTimeout(() => {
            this.form.fBillstatus = 2
            let formData = new window.FormData()
            // this.dataList.fTransferWarehouselocid = this.treeselectList.fWarehouselocid
            formData.append("warehouseBills", JSON.stringify(this.form));
            formData.append("warehousebillsitems", JSON.stringify(this.dataList));
            formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
            formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
            formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
            addStockTransfer(formData).then((response) => {
              this.msgSuccess('保存成功')
              this.form = response.data.warehouseBills
              this.$set(this.form, 'fEta', Date.parse(this.form.fEta))
              this.$set(this.form, 'fTrademodeid', this.form.fTrademodeid + '')
              this.$set(this.form, 'fStltypeid', this.form.fStltypeid + '')
              this.$set(this.form, 'fFeetunit', Number(this.form.fFeetunit))
              this.$set(this.form, 'fBsdate', Date.parse(this.form.fBsdate))
              this.$set(this.form, 'createTime', Date.parse(this.form.createTime))
              this.$set(this.form, 'fChargedate', Date.parse(this.form.fChargedate))
              this.dataList = response.data.warehousebillsitems
              for (let li in this.dataList) {
                this.$set(this.dataList[li], 'fBsdate', Date.parse(this.dataList[li].fBsdate))
                this.$set(this.dataList[li], 'fBusinessType', this.dataList[li].fBusinessType + '')
              }
            })
          }, 200);
        }
      })
    },
    //作业类型校验
    educationChange() {
      if (this.form.fBusinessType === '0') {
        this.isrequired = 1
        this.isrequired_l = 2
      }else if(this.form.fBusinessType === '1' || this.form.fBusinessType === '3'){
        this.isrequired_l = 1
        this.isrequired = 2
      }else if(this.form.fBusinessType === '2'){
        this.isrequired_l = 1
        this.isrequired = 1
      }
    },
    /** 提交按钮 */
    submitForm() {
      this.updateDeduplication()
      this.$refs['form'].validate((valid) => {
        if (this.dataList.length === 0) {
          this.$message.error('请新增库存明细!')
          return false
        }
        for (let list in this.dataList) {
          this.changeStock(this.dataList[list])
          if (!this.dataList[list].fQty || this.dataList[list].fQty === 0) {
            this.$message.error('请输入调拨件数!')
            return false
          }
          if (!this.dataList[list].fNetweight || this.dataList[list].fNetweight === 0) {
            this.$message.error('请输入调拨净重!')
            return false
          }
          if (!this.dataList[list].fGrossweight || this.dataList[list].fGrossweight === 0) {
            this.$message.error('请输入调拨毛重!')
            return false
          }
          if (!this.dataList[list].fWarehouseInformation || this.dataList[list].fWarehouseInformation === 0) {
            this.$message.error('请选择调拨仓库!')
            return false
          }
          if (this.dataList[list].fBillstatus !== 40) {
            this.$message.error('请入账库存明细!')
            return false
          }
        }
        for (let list in this.warehouseDrList) {
          if (!this.warehouseDrList[list].fCorpid) {
            this.$message.error('请选择客户名称')
            return false
          }
        }
        for (let list in this.warehouseCrList) {
          if (!this.warehouseCrList[list].fCorpid) {
            this.$message.error('请选择客户名称')
            return false
          }
        }
        if (valid) {
          setTimeout(() => {
            this.form.fBillstatus = status
            this.form.fNetweight = this.fNetweight
            this.form.fPlangrossweight = this.fPlangrossweight
            this.form.fPlannetweight = this.fPlannetweight
            this.form.fPlanvolumn = this.fPlanvolumn
            this.form.fPlanqty = this.fPlanqty
            this.form.fGrossweight = this.fGrossweight
            this.form.fQty = this.fQty
            if (!this.form.fId) {
              this.form.fId = this.fid
            }
            let formData = new window.FormData()
            formData.append("warehouseBills", JSON.stringify(this.form));
            formData.append("warehousebillsitems", JSON.stringify(this.dataList));
            formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
            formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
            formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
            warehouseSubmission(formData).then((response) => {
              this.msgSuccess('提交成功')
              this.cancel()
              this.getList()
            })
          }, 200);
        }
      })
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const fIds = row.fId || this.ids.fId;
      this.$confirm(
        '是否确认删除仓库主(出入库)编号为"' + fIds + '"的数据项?',
        "警告",
        {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        }
      )
        .then(function () {
          return delStockTransfer(fIds);
        })
        .then(() => {
          this.getList();
          this.msgSuccess("删除成功");
        });
    },
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$confirm("是否确认导出所有仓库主(出入库)数据项?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(function () {
          return exportStockTransfer(queryParams);
        })
        .then((response) => {
          this.download(response.msg);
        });
    },
    // 修改毛重净重
    changeStock (row) {
      let fNetweight = 0;
      let fGrossweight = 0;
      if (row.fNetweight) {
        fNetweight = row.fNetweight
      }
      if (row.fGrossweight) {
        fGrossweight = row.fGrossweight
      }
      if (row.fPlannetweight < fNetweight) {
        this.$message({ message: '调拨净重超出结余净重', type: 'warning' })
        return false
      }
      if (row.fPlangrossweight < fGrossweight) {
        this.$message({ message: '调拨毛重超出结余毛重', type: 'warning' })
        return false
      }
    },
    // 调拨件数的计算
    qtyChange(row) {
      if (!row.fQty || row.fQty === "") {
        this.$set(row, "fNetweight", 0);
        this.$set(row, "fGrossweight", 0);
        return false;
      }
      if (row.fPlanqty < row.fQty) {
        this.$message.error("出库件数超出结余件数!");
        this.$set(row, 'fQty', 0)
        this.$set(row, 'fNetweight', 0)
        this.$set(row, 'fGrossweight', 0)
        return false;
      }
      let fVolumn = parseFloat(Number(row.fVolumn) / Number(row.fPlanqty)).toFixed(2);
      let netweight = parseFloat(Number(row.fPlannetweight) / Number(row.fPlanqty)).toFixed(2);
      let grossweigh = parseFloat(Number(row.fPlangrossweight) / Number(row.fPlanqty)).toFixed(2);
      this.$set(row, "fVolumn", parseFloat(Number(fVolumn) * Number(row.fQty)).toFixed(2));
      this.$set(row, "fNetweight", parseFloat(Number(netweight) * Number(row.fQty)).toFixed(2));
      this.$set(row, "fGrossweight", parseFloat(Number(grossweigh) * Number(row.fQty)).toFixed(2));
    },
    deleteRow(index, rows) {
      rows.splice(index, 1);
      if (this.dataList.length === 0) {
        this.formBrowseStatus = false
        return false
      }
      let sum = 0
      for (let li in this.dataList) {
        if (this.dataList[li].fBillstatus > 10) {
          this.formBrowseStatus = true
          return false
        }
      }
    },
    /* 获取所有仓库信息 */
    warehousesssMethod() {
      let queryParams = { pageNum: 1, pageSize: 10, fStatus: 0, delFlag: 0 };
      listWarehousesss(queryParams).then((response) => {
        this.warehouseOptions = response.rows;
      });
    },
    /* 远程模糊查询劳务公司 */
    flabourRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name, fTypeid: 6};
      listCorps(queryParams).then((response) => {
        this.fCompanyOptIons = response.rows;
      });
    },
    /* 远程模糊查询车队 */
    fleetRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name, fTypeid: 2 };
      listCorps(queryParams).then((response) => {
        this.fleetOptions = response.rows;
      });
    },
    /* 远程模糊查询用户 */
    corpsRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listCorps(queryParams).then((response) => {
        this.fMblnoOptions = response.rows;
        this.KHblnoOptions = response.rows;
      });
    },
    /* 远程模糊查询商品 */
    goodsRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listGoods(queryParams).then((response) => {
        this.goodsOptions = response.rows;
      });
    },
    // 选择费用信息时获取计价单位
    changeFeeId (row) {
      for (let li in this.fWbuOptions) {
        if (row.fFeeid === this.fWbuOptions[li].fId) {
          this.$set(row, 'fFeeUnitid', this.fWbuOptions[li].fFeeunitid + '')
          this.changeFeeUnit(row)
          break
        }
      }
    },
    // 远程模糊查询费用名称
    fWRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listFees(queryParams).then((response) => {
        this.fWbuOptions = response.rows;
      });
    },
    /* 远程模糊查询经营单位 */
    fSbuRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listCorps(queryParams).then((response) => {
        this.fSbuOptions = response.rows;
      });
    },
    /* 远程模糊查询仓库 */
    warehouseRemoteMethod(name) {
      if (!name) {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listWarehouse(queryParams).then((response) => {
        this.warehouseOptions = response.rows;
      });
    },
    /* 远程模糊查询库区 */
    kqhouseRemoteMethod(name) {
      if (!name) {
         return false;
       }
      let queryParams = {
        pageNum: 1,
        pageSize: 10,
        fWarehouseid: this.form.fWarehouseid,
        fName: name
      };
      listArea(queryParams).then((response) => {
        this.kqhouseOptions = response.rows;
      });
    },
    /* 远程模糊查询操作用户 */
    userRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, userName: name };
      listUser(queryParams).then((response) => {
        this.userOptions = response.rows;
      });
    },
  },
};
</script>
<style lang="scss">
.juzhong > th {
  text-align: center;
}
.biaoge > tr > td {
  height: 50px;
  text-align: center;
  border-right: 1px solid #dfe6ec !important;
  order-bottom: 1px solid #dfe6ec !important;
  border-bottom: 1px solid #dfe6ec !important;
}
.el-table thead th {
  background: #1890ff;
  color: #fff;
}

.upload-demo {
  margin-left: 50px;
}
.el-form-item {
  margin-bottom: 5px !important;
}
.el-form-item__label {
  font-size: 12px !important;
}
.el-collapse-item__header{
  font-size: 16px;
  font-weight: bolder;
  padding-left: 5px;
}
.el-icon-s-home,.el-icon-s-order,.el-icon-circle-plus,.el-icon-remove{
  padding-right: 5px;
}
</style>
