<template>
  <basic-container>
    <div class="avue-crud">
      <el-row   v-if="!search" style="padding:6px 18px">
        <!-- 查询模块 -->
        <el-form :inline="true" :model="query">
<!--          <el-form-item label="备货状态:">
            <el-input v-model="query.stockupStatus" placeholder="请输入备货状态"></el-input>
          </el-form-item>
          <el-form-item label="备货区:">
            <el-input v-model="query.stockupArea" placeholder="请输入备货区"></el-input>
          </el-form-item>
          <el-form-item label="指派状态;1-未指派、2-已指派:">
            <el-input v-model="query.assignStatus" placeholder="请输入指派状态;1-未指派、2-已指派"></el-input>
          </el-form-item>-->
          <el-form-item label="备货时间:">
            <el-date-picker
              v-model="stockupDate"
              type="datetimerange"
              unlink-panels
              range-separator="至"
              start-placeholder="开始时间"
              end-placeholder="结束时间"
              :shortcuts="shortcuts"
            />
          </el-form-item>
          <!-- 查询按钮 -->
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" @click="searchChange">搜 索</el-button>
            <el-button icon="el-icon-delete" @click="searchReset()">清 空</el-button>
          </el-form-item>
        </el-form>
      </el-row>
      <el-row>
        <div class="avue-crud__header">
          <!-- 头部左侧按钮模块 -->
          <div class="avue-crud__left">
            <!--   <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新 增</el-button>
               <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain>删 除</el-button>-->
            <el-button type="primary" text icon="el-icon-edit" @click="handleForklift" >指派备货信息</el-button>
          </div>
          <!-- 头部右侧按钮模块 -->
          <div class="avue-crud__right">
            <!--    <el-button icon="el-icon-search" @click="onLoad" >全部</el-button>-->
            <!--            <el-button icon="el-icon-refresh" @click="getStockUp('2')" >已备货</el-button>
                        <el-button icon="el-icon-search" @click="getStockUp('1')" >待备货</el-button>-->

            <el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
            <el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
            <el-button icon="el-icon-search" @click="searchHide" circle></el-button>
          </div>
        </div>
      </el-row>
      <el-row>
        <!-- 列表模块 -->
        <tablecmt
          :columnList="columnList"
          :tableData="data"
          :loading="loading"
          @inputTxt="inputsc"
          @timeCheck="timesc"
          @btnCheck="btnsc"
          @selectCheck="selectsc"
          @selection="selectionChange"
        >
          <template #default="slotProps">
            <el-text type="primary" text icon="el-icon-view" @click="handleView(slotProps.scope)">查看</el-text>
            <el-text type="primary" text icon="el-icon-edit" @click="handleEdit(slotProps.scope)">编辑</el-text>
            <!--              <el-button type="primary" text icon="el-icon-edit" @click="handleEdit(slotProps.scope)">取消</el-button>-->
<!--            <el-text type="primary" text icon="el-icon-edit" @click="handleEditPrint(slotProps.scope)">打印</el-text>-->
          </template>
        </tablecmt>
      </el-row>
      <el-row>
        <div class="avue-crud__pagination" style="width:100%">
          <!-- 分页模块 -->
          <el-pagination align="right"
                         background
                         @size-change="sizeChange"
                         @current-change="currentChange"
                         :current-page="page.currentPage"
                         :page-sizes="[30, 50,80, 120]"
                         :page-size="page.pageSize"
                         layout="total, sizes, prev, pager, next, jumper"
                         :total="page.total">
          </el-pagination>
        </div>
      </el-row>
      <el-dialog v-model="dialogFormCustomer" title="指派备货信息">
        <el-form :model="form">
          <el-form-item label="备货时间" :label-width="formLabelWidth" v-if="this.num=='2'">
            <el-date-picker style="width: 25%;"
                            v-model="form.stockupDate"
                            type="datetime"
                            format="YYYY-MM-DD HH:mm:ss"
                            value-format="YYYY-MM-DD HH:mm:ss"
                            placeholder="时间"
            />
          </el-form-item>
          <el-form-item label="备货人员" :label-width="formLabelWidth">
            <el-select v-model="form.forkliftId" clearable placeholder="请选择备货人员"  @change="getForklift($event,'1')">
              <el-option
                v-for="item in forkliftData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="装卸班组" :label-width="formLabelWidth">
            <el-select v-model="form.loaderId" clearable placeholder="请选择装卸班组" @change="getForklift($event,'2')">
              <el-option
                v-for="item in loaderData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="备货区域" :label-width="formLabelWidth" >
            <el-select v-model="form.goodsAreaId" clearable placeholder="请选择备货区编号" @change="getForklift($event,'3')">
              <el-option
                v-for="item in goodsAreaIdData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="出库时间" prop="outboundDate" :label-width="formLabelWidth" v-if="this.num=='2' || this.numout">
            <el-date-picker v-model="form.outboundDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择出库时间" style="width: 26%"></el-date-picker>
          </el-form-item>
        </el-form>
        <template #footer>
      <span class="dialog-footer">
        <el-button @click="dialogFormCustomer = false">取消</el-button>
        <!--        <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
        <el-button type="primary" @click="callFordelivery"> 确定 </el-button>
      </span>
        </template>
      </el-dialog>
      <!-- 表单模块 -->
      <el-dialog :title="title"
                 v-model="box"
                 width="50%"
                 :before-close="beforeClose"
                 append-to-body>
        <el-form :disabled="view" ref="form" :model="form" label-width="80px">
          <!-- 表单字段 -->
          <el-form-item label="备货时间" prop="stockupDate">
            <el-date-picker v-model="form.stockupDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择备货时间"></el-date-picker>
          </el-form-item>
          <el-form-item label="备货人" prop="stockupUser">
            <el-input v-model="form.stockupUser" placeholder="请输入备货人"/>
          </el-form-item>
          <el-form-item label="备货状态" prop="stockupStatus">
            <el-input v-model="form.stockupStatus" placeholder="请输入备货状态"/>
          </el-form-item>
          <el-form-item label="备货区" prop="stockupArea">
            <el-input v-model="form.stockupArea" placeholder="请输入备货区"/>
          </el-form-item>
          <el-form-item label="指派状态;1-未指派、2-已指派" prop="assignStatus">
            <el-select v-model="form.assignStatus" clearable placeholder="请选择指派状态;1-未指派、2-已指派">
              <el-option
                v-for="item in assignStatusData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="备货库位" prop="stockipAllocation">
            <el-input v-model="form.stockipAllocation" placeholder="请输入备货库位"/>
          </el-form-item>
          <el-form-item label="备货区编号" prop="goodsAreaId">
            <el-select v-model="form.goodsAreaId" clearable placeholder="请选择备货区编号">
              <el-option
                v-for="item in goodsAreaIdData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="备货人员" prop="forklift">
            <el-select v-model="form.forklift" clearable placeholder="请选择备货人员">
              <el-option
                v-for="item in forkliftData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="装卸班组" prop="loader">
            <el-select v-model="form.loader" clearable placeholder="请选择装卸班组">
              <el-option
                v-for="item in loaderData"
                :key="item.dictKey"
                :label="item.dictValue"
                :value="item.dictKey">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="确认完成备货时间" prop="fixTime">
            <el-date-picker v-model="form.fixTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择确认完成备货时间"></el-date-picker>
          </el-form-item>
          <el-form-item label="指派时间" prop="assignTime">
            <el-date-picker v-model="form.assignTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择指派时间"></el-date-picker>
          </el-form-item>
        </el-form>
        <!-- 表单按钮 -->
        <template #footer>
          <span v-if="!view" class="dialog-footer">
            <el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit">提 交</el-button>
            <el-button icon="el-icon-circle-close" @click="box = false">取 消</el-button>
          </span>
        </template>
      </el-dialog>
    </div>
  </basic-container>
  <edittablehead
    @setcolum="setnewcolum"
    @closce="showdrawer"
    :drawerShow="drawerShow"
    :columnList="columnList"
  ></edittablehead>
</template>

<script>
import { getList, getDetail, add, update, remove,getListUser,addAssign } from "@/api/distribution/distributionStockup";
import { getPostList } from '@/api/system/post';
import { stockUp } from '@/api/basicdata/basicdataGoodsArea';
import { getListOwn,getUser } from '@/api/system/user';
import option from "@/option/distribution/distributionStockup";
import { mapGetters } from "vuex";
import { getListTeam } from '@/api/basicdata/basicdataTeamGroup';
import dayjs from 'dayjs';
import { getDictionaryBiz } from '@/api/system/dict';

export default {
  data () {
    return {
      columnList: [
        {
          prop: '',
          label: '序号',
          type: 0,
          values: '',
          width: 55,
          checkarr: [],
          fixed: true,
        },
        {
          prop: 'stockupCode',
          label: '备货编码',
          type: 2,
          values: '',
          width: '150',
          checkarr: [],
          fixed: true,
          sortable: true,
          head: false,
        },
        {
          prop: 'stockupDate',
          label: '备货时间',
          type: 4,
          values: '',
          width: '150',
          checkarr: [],
          fixed: true,
          sortable: true,
          head: false,
        },
        {
          prop: 'outboundDate',
          label: '出库时间',
          type: 4,
          values: '',
          width: '150',
          checkarr: [],
          fixed: true,
          sortable: true,
          head: false,
        },
        // {
        //   prop: 'stockupUser',
        //   label: '备货人',
        //   type: 2,
        //   values: '',
        //   width: '150',
        //   checkarr: [],
        //   fixed: false,
        //   sortable: true,
        // },
        {
          prop: 'stockupStatusName',
          label: '备货状态',
          type: 3,
          values: '',
          width: '180',
          checkarr: [
            // {
            //   label: '未备货',
            //   value: '1',
            // },
            // {
            //   label: '待备货',
            //   value: '2',
            // },
            // {
            //   label: '备货中',
            //   value: '3',
            // },
            // {
            //   label: '已备货',
            //   value: '4',
            // },
          ],
          fixed: false,
          sortable: true,
        },
        {
          prop: 'stockupArea',
          label: '备货区',
          type: 2,
          values: '',
          width: '180',
          checkarr: [],
          fixed: false,
          sortable: true,
        },
        // {
        //   prop: 'goodsAreaId',
        //   label: '备货区Id',
        //   type: 2,
        //   values: '',
        //   width: '180',
        //   checkarr: [],
        //   fixed: false,
        //   sortable: true,
        // },
        {
          prop: 'assignStatusName',
          label: '指派状态',
          type: 3,
          values: '',
          width: '150',
          checkarr: [
            // {
            //   label: '未指派',
            //   value: '1',
            // },
            // {
            //   label: '已指派',
            //   value: '2',
            // },
          ],
          fixed: false,
          sortable: true,
        },
        {
          prop: 'stockipAllocation',
          label: '所在库位',
          type: 2,
          values: '',
          width: '150',
          checkarr: [],
          fixed: false,
          sortable: true,
        },
        // {
        //   prop: 'goodsAreaId',
        //   label: '备货区编号',
        //   type: 2,
        //   values: '',
        //   width: '150',
        //   checkarr: [],
        //   fixed: false,
        //   sortable: true,
        //   head: true,
        // },
        {
          prop: 'forkliftName',
          label: '备货人员',
          type: 2,
          values: '',
          width: '150',
          checkarr: [],
          fixed: false,
          sortable: true,
        },
        // {
        //   prop: 'typeServiceName',
        //   label: '服务类型',
        //   type: 3,
        //   values: '',
        //   width: '150',
        //   checkarr: [],
        //   fixed: false,
        //   sortable: true,
        // },
        {
          prop: 'loaderName',
          label: '装卸班组',
          type: 2,
          values: '',
          width: '150',
          checkarr: [],
          fixed: false,
          sortable: true,
        },
        {
          prop: 'fixTime',
          label: '确认完成备货时间',
          type: 1,
          values: '',
          width: '220',
          checkarr: [],
          fixed: false,
          sortable: true,
        },
        {
          prop: 'assignTime',
          label: '指派时间',
          type: 1,
          values: '',
          width: '220',
          checkarr: [],
          fixed: false,
          sortable: true,
        },
        {
          prop: '',
          label: '操作',
          type: 6,
          values: '',
          width: '230',
          checkarr: [],
          fixed: 'right',
          hide: true,
        },
        // 更多列的配置...
      ],
      columnListedit: [],
      drawerShow: false,
      height: 0,
      // 弹框标题
      title: '',
      // 是否展示弹框
      box: false,
      // 是否显示查询
      search: true,
      // 加载中
      loading: true,
      // 是否为查看模式
      view: false,
      dialogFormCustomer: false,
      formLabelWidth: '120px',
      // 查询信息
      query: {},
      // 分页信息
      page: {
        currentPage: 1,
        pageSize: 30,
        total: 40
      },
      // 表单数据
      form: {},
      formOne: {},
      // 选择行
      selectionList: [],
      // 表单配置
      option: option,
      // 表单列表
      data: [],
      forkliftData: [],
      loaderData: [],
      goodsAreaIdData: [],
      distributionType: [],
      deptId: '',
      num: '',
      numout: false,
      stockupStatus: [],
      stockAllocation: [],
      stockupDate: [],
      shortcuts :[
        {
          text: '最近一周',
          value: () => {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
            return [start, end]
          },
        },
        {
          text: '最近一个月',
          value: () => {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
            return [start, end]
          },
        },
        {
          text: '最近三个月',
          value: () => {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
            return [start, end]
          },
        },
      ]
    }
  },
  mounted () {
    this.init();
    /**
     * 初始化获取本地缓存的编辑隐藏的列表
     *  固定搭配，不能更改
     */
    let newarr = this.$functions.getStorage(window.location.pathname);
    if (newarr) {
      this.columnList.map(item => {
        item.head = false;
      });
      newarr.map(ite => {
        this.columnList.map(item => {
          if (ite == item.label) {
            item.head = true;
          }
        });
      });
    }
  },
  computed: {
    ...mapGetters(["permission"]),
    ids () {
      let ids = [];
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    }
  },
  methods: {
    //选择
    getForklift(row,ty){
      switch (ty){
        case '1':
          let x = this.forkliftData.find(i =>i.dictKey==row);
          // console.log("xxx",x);
          this.form.forkliftName = x.dictValue;
          break;
        case '2':
          let b = this.loaderData.find(i =>i.dictKey == row)
          this.form.loaderName = b.dictValue;
          break;
        case '3':
          let f = this.goodsAreaIdData.find(i =>i.dictKey == row)
          console.log("fff",f);
          this.form.stockupArea = f.dictValue;
          break;
      }



    },


    showdrawer(value){
      this.drawerShow=value
    },
    /**
     * 弹窗的勾选回调，用于更改头部数组
     * 固定搭配，只需要更换   columnList
     */
    setnewcolum(newarr, headarr,type) {
      // console.log(newarr,'+++++++++++')
      if(type==1){
        this.columnList = newarr;
        this.$functions.setStorage(window.location.pathname+'checkList', headarr);
      }else if(type==2){
        this.columnList = newarr;
        this.$functions.setStorage(window.location.pathname+'flexList', headarr);
      }else if(type==3){
        this.columnList = newarr;
        this.$functions.setStorage(window.location.pathname+'sortlist', headarr);
      }

    },
    selectionsc(value) {
      console.log(value);
    },
    delectsolt(scope) {
      const { row } = scope;
      console.log(row);
    },
    editsolt(scope) {
      const { row } = scope;
      console.log(row);
    },
    btnsc(index, row) {
      console.log(index, row);
    },
    selectsc(index, row) {
      console.log(index, row);
      if(row.prop =='typeServiceName'){
        this.query['typeService'] = index;
      }else if(row.prop =='stockupStatusName'){
        this.query["stockupStatus"] = index;
      }else if(row.prop =='assignStatusName'){
        this.query["assignStatus"] = index;
      }else{
        this.query[row.prop] = index;
      }
      // this.query[row.prop] = index;
      this.onLoad(this.page);
    },
    timesc(index, row) {
      console.log(index, row);
      if (!!index){
        index = dayjs(index).format('YYYY-MM-DD');
      }
      this.query[row.prop] =  index
      if (!index){
        delete this.query[row.prop]
      }
      this.onLoad(this.page);
    },
    inputsc(index, row) {
      console.log(index, row);
      /*      if(row.prop =='typeServiceName'){
              this.query['typeService'] = index;
            }else if(row.prop =='stockupStatusName'){
              this.query["stockupStatus"] = index;
            }else if(row.prop =='assignStatusName'){
              this.query["assignStatus"] = index;
            }else{
             this.query[row.prop] = index;
             }*/
      this.query[row.prop] = index;

      this.onLoad(this.page);
    },
    //查询备货
    getStockUp(row){
      let params = {};
      switch (row) {
        case '1':
          params.stockupStatus = '2'
          break;
        case '2':
          params.stockupStatus = '3'
          break;
      }
      getList(this.page.currentPage, this.page.pageSize, params).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.selectionClear();
      });
    },
    //查询叉车人员
    async getFork(){
      let ides = '';
      let ide = {  };
      let b = false;
      await getListUser().then(res =>{ //查询当前人信息
        console.log("当前人信息res>>>",res.data.data);
        if(res.data.data.userName != 'admin'){
          b = true;
        }
        ides = res.data.data.tenantId;
        this.deptId = res.data.data.deptId;
      })
      await getPostList(ides).then(res =>{ // 查询角色
        // console.log("查询>>>>",res.data.data);
        res.data.data.forEach(i =>{
          if(i.postName == "叉车"){
            ide = i;
          }
        })
      })
      // console.log("ied>>>>>",ide);
      let params={
        // postId: ide.id, //岗位
        deptId: this.deptId, //部门
        // roleId: '', //角色
      }
      if(b){
        // console.log("进来了");
        params.postId = ide.id;//岗位
      }
      // console.log("查询人员信息",params);
      getListOwn(Object.assign(params, this.query)).then(res =>{ //查询人员
        // console.log(".............",res.data.data);
        let fo = [];
        res.data.data.forEach( i =>{
          let a ={
            dictKey: i.id,
            dictValue: i.name
          };
          fo.push(a);
        });
        this.forkliftData = fo;
      })
      await this.getStorageArea();
      await this.getTeam();

    },
    //查询班组
    async getTeam(){
      let params ={
        department: this.deptId
      }
      console.log("班组参数",params);
      getListTeam(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res =>{
        console.log("班组数据>><><",res.data.data.records);
        let fo= [];
        res.data.data.records.forEach(i =>{
          let a= {
            dictKey: i.id,
            dictValue: i.name +'-'+i.groupName
          }
          fo.push(a);
        });
        this.loaderData = fo;
      })
    },
    //备货区
    async getStorageArea(){
      let params ={
        department: this.deptId
      }
      console.log("备货参数<><><>",params);
      stockUp(params).then(res =>{
        console.log("备货区数据>>>",res.data.data);
        let fo =[];
        res.data.data.forEach(i =>{
          let v = {
            dictKey: i.id,
            dictValue: i.name +'-'+i.headline
          }
          fo.push(v)
        })
        this.goodsAreaIdData = fo;
      })
    },
    /**
     * 指派叉车查询的司机
     */
    handleForklift(){
      this.numout = false;
      if (this.selectionList.length === 0) {
        this.$message.warning("请选择至少一条数据");
        return;
      }
      let a = false ;
      this.selectionList.some(i =>{
        if(i.assignStatus == "20"){
          a = true;
          return;
        }
        if(!i.outboundDate){
          this.numout = true;
        }
      })
      // = this.selectionList.findIndex(i => i.assignStatus == 2);
      if(!a){
        this.num = '3';
        this.dialogFormCustomer = true;
        this.getFork();
        // this.getTeam();
      }else{
        this.$message.warning("已指派，请勿重复指派！！！")
      }
    },
    //确定指派
    callFordelivery(){

      if(this.num =='3'){
        this.form.ids = this.ids;
        console.log("数据》》》",this.form);
        addAssign(this.form).then(res =>{
          this.$message({
            type: "success",
            message: "操作成功！"
          });
          this.onLoad(this.page);
          this.dialogFormCustomer = false;
          this.form = {};
        })
      }else if(this.num == '2'){
        console.log(">>>>>>>",this.formOne);
        update(Object.assign(this.formOne,this.form)).then(res =>{
          console.log(">>>>>>>",this.formOne);
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
          this.dialogFormCustomer = false;
          this.formOne ={};
          this.form ={};
        })
      }

    },
    init () {
      this.height = this.setPx(document.body.clientHeight - 340);
      getDictionaryBiz('distribution_type').then(res => {
        this.distributionType = res.data.data;
        // this.$functions.checkcColumnList("typeServiceName", this.columnList).checkarr = res.data.data.map(item => {
        //   item.value = item.dictKey
        //   item.label = item.dictValue
        //   return item
        // });
      });
      getDictionaryBiz('stockup_status').then(res => {
        this.stockupStatus = res.data.data;
        this.$functions.checkcColumnList("stockupStatusName", this.columnList).checkarr = res.data.data.map(item => {
          item.value = item.dictKey
          item.label = item.dictValue
          return item
        });
      });
      getDictionaryBiz('stock_assign_status').then(res => { //指派
        console.log("8908098080",res.data.data);
        this.$functions.checkcColumnList("assignStatusName", this.columnList).checkarr =res.data.data.map(item=>{
          item.value=item.dictKey
          item.label=item.dictValue
          return item
        });
      });
      // getDictionaryBiz('stock_allocation').then(res => {
      //   this.stockAllocation = res.data.data;
      //   this.$functions.checkcColumnList("assignStatusName", this.columnList).checkarr = res.data.data.map(item => {
      //     item.value = item.dictKey
      //     item.label = item.dictValue
      //     return item
      //   });
      // });
      this.onLoad(this.page);
    },
    searchHide () {
      this.search = !this.search;
    },
    searchChange () {
      this.onLoad(this.page);
    },
    searchReset () {
      this.query = {};
      this.stockupDate = [];
      this.page.currentPage = 1;
      this.onLoad(this.page);
    },
    handleSubmit () {
      if (!this.form.id) {
        add(this.form).then(() => {
          this.box = false;
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
        });
      } else {
        update(this.form).then(() => {
          this.box = false;
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
        })
      }
    },
    handleAdd () {
      this.title = '新增'
      this.form = {}
      this.box = true
    },
    handleEditPrint(row){
      this.$message.warning("打印中》》》等待数据模板！！")
    },
    handleEdit (row) {
      // this.title = '编辑'
      // this.box = true
      // getDetail(row.id).then(res => {
      //   this.form = res.data.data;
      // });
      if(row.row.assignStatus == "10"){
        this.$message.warning("当前任务未指派！请指派后在修改！！！");
        return ;
      }
      console.log("row<<<<<",row);
      this.form.forkliftId = !!row.row.forkliftId && row.row.forkliftId != "-1" ? row.row.forkliftId : null ;
      this.form.loaderId = !!row.row.loaderId && row.row.loaderId != "-1" ? row.row.loaderId : null;
      this.form.goodsAreaId = !!row.row.goodsAreaId && row.row.goodsAreaId != "-1" ? row.row.goodsAreaId : null;
      this.form.stockupDate = !!row.row.stockupDate && row.row.stockupDate != "-1" ? row.row.stockupDate : null;
      this.form.outboundDate = !!row.row.outboundDate && row.row.outboundDate != "-1" ? row.row.outboundDate : null;
      this.dialogFormCustomer = true;
      this.num = '2';
      this.formOne.id = row.row.id;
      this.getFork();
      this.getTeam();


    },
    handleView (row) {

      this.$router.push({
        path: '/distribution/stockup/distributionStockupDetailsSelf',
        query: {
          id : row.row.id,
          name: "备货明细"
        },
      })


    },
    handleDelete () {
      if (this.selectionList.length === 0) {
        this.$message.warning("请选择至少一条数据");
        return;
      }
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
        })
        .then(() => {
          this.selectionClear();
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
        });
    },
    rowDel (row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
        });
    },
    beforeClose (done) {
      done()
      this.form = {};
      this.view = false;
    },
    selectionChange (list) {
      this.selectionList = list;
    },
    selectionClear () {
      // this.selectionList = [];
      // this.$refs.table.clearSelection();
    },
    currentChange (currentPage) {
      this.page.currentPage = currentPage;
      this.onLoad(this.page);
    },
    sizeChange (pageSize) {
      this.page.pageSize = pageSize;
      this.onLoad(this.page);
    },
    getTime(dat){
      let date = new Date(dat);
      var y = date.getFullYear()
      var m = date.getMonth() + 1
      m = m < 10 ? '0' + m : m
      var d = date.getDate()
      d = d < 10 ? '0' + d : d
      var h = date.getHours()
      h = h < 10 ? '0' + h : h
      var minute = date.getMinutes()
      minute = minute < 10 ? '0' + minute : minute
      var s = date.getSeconds()
      s = s < 10 ? '0' + s : s
      return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + s;
    },
    onLoad (page, params = {}) {
      this.loading = true;
      if(this.stockupDate.length > 0){
        let startDate = this.stockupDate[0];
        let entDate = this.stockupDate[1];
        params.startDate = this.getTime(startDate.toString());
        params.entDate = this.getTime(entDate.toString());
      }
      this.query.typeService = '3';
      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.data.forEach(async i =>{
          i.loader = i.groupName;
        });
        this.selectionClear();
        this.loading = false;
      });
    }
  }
};
</script>
