<template>
  <el-container>
    <el-header style="width: 100%; height: 35px;font-size: 12px">
      <el-form :inline="true" label-width="65px" label-position="left">
        <el-row>
          <el-col :span="15">
            <el-select v-model="queryParam.fileName" filterable  placeholder="计划名称" @change="fileNameChange" >
              <el-option
                v-for="(item,index) in fileNameList"
                :key="index"
                :label="item"
                :value="item">
              </el-option>
            </el-select>
          </el-col>
          <el-col :span="9">
            <el-form-item style="float: right">
              <el-button type="success" @click="initList">查询</el-button>
              <el-button type="success" @click="save">保存</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </el-header>
    <el-container style="padding-top: 0px">
      <el-main>
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="月度计划明细" name="sygdjh" v-if="isUser">
            <div class="mytable" >
              <el-button type="success" @click="paichan">月度计划排产</el-button>
              <el-button type="success" @click="jgcx(false)">获取排产结果</el-button>
              <el-button type="success" @click="creatYdjh">生成月度计划</el-button>
              <vxe-grid
                id="id9"
                ref="xGrid9"
                border
                resizable
                keep-source
                :align="'center'"
                :height="height"
                :auto-resize="true"
                :columns="tableColumn9"
                highlight-current-row
                :data="list9"
                :custom-config="{ storage: true }"
                :scroll-y="{enabled: true}"
                :row-style="rowStyle1"
                :tooltip-config="{showAll:true, enterable: true,contentMethod:showErr}"
                highlight-hover-row
                show-overflow
                show-header-overflow
              >
                <template #tzbh_err="{ row }">
                  <i class="el-icon-warning" v-show="row.errors.length>0" ></i>
                  <span > {{ row.tzbh }}</span>
                </template>

              </vxe-grid>
            </div>
          </el-tab-pane>
          <el-tab-pane label="月度计划编制" name="first">
            <div class="mytable">
              <!--              <el-button type="success" @click="paichan">月度计划排产</el-button>-->
              <el-button type="success" @click="confirmModal">月度计划排产</el-button>
              <el-button type="success" @click="creatYdjh">生成月度计划</el-button>
              <el-button type="success" @click="symxhz">汇总</el-button>
              <el-button type="success" @click="uploadExcel" >
                <el-upload
                  :action="uploadAction"
                  :show-file-list="false"
                  :before-upload="beforeAvatarUpload"
                  :data="uploadData"
                  :on-success="handleAvatarSuccess"
                  :headers="heads"
                >
                  月度计划导入
                </el-upload>
              </el-button>
              <vxe-grid
                id="id"
                ref="xGrid"
                border
                resizable
                keep-source
                :align="'center'"
                :height="height"
                :auto-resize="true"
                :columns="tableColumn"
                highlight-current-row
                :data="list"
                :custom-config="{ storage: true }"
                :scroll-y="{enabled: true}"
                :scroll-x="{enabled: true}"
                highlight-hover-row
                show-overflow
                show-header-overflow
              >
              </vxe-grid>
            </div>
          </el-tab-pane>
          <el-tab-pane label="线表信息" name="second">
            <div class="mytable">
              <vxe-grid
                id="id1"
                ref="xGrid1"
                border
                resizable
                keep-source
                :align="'center'"
                :height="height"
                :auto-resize="true"
                :columns="tableColumn1"
                highlight-current-row
                :data="list1"
                :custom-config="{ storage: true }"
                :cell-style="cellStyle"
                :row-style="rowClassName"
                highlight-hover-row
                show-overflow
                show-header-overflow
                @cell-dblclick="cellClickEvent_xb"
                :scroll-y="{enabled: true}"
              >
                <template #numMx5="{ items, _columnIndex }">
                  <span style="color: red">{{ items[_columnIndex] }}</span>
                </template>
              </vxe-grid>
            </div>
          </el-tab-pane>
          <el-tab-pane label="批量信息" name="third">
            <div class="mytable">
              <vxe-grid
                id="id2"
                ref="xGrid2"
                border
                resizable
                keep-source
                :align="'center'"
                :height="height"
                :auto-resize="true"
                :columns="tableColumn2"
                :data="list2"
                :custom-config="{ storage: true }"
                :cell-style="cellStyle"
                highlight-current-row
                highlight-hover-row
                show-overflow
                :scroll-y="{enabled: true}"
              >
              </vxe-grid>
            </div>
          </el-tab-pane>
          <el-tab-pane label="板材需求" name="">
            <div class="mytable">
              <vxe-grid
                id="id4"
                ref="xGrid4"
                border
                resizable
                keep-source
                :align="'center'"
                :height="height"
                :auto-resize="true"
                :columns="tableColumn7"
                highlight-current-row
                :custom-config="{ storage: true }"
                :cell-style="cellStyle"
                highlight-hover-row
                show-overflow
                show-header-overflow
                :scroll-y="{enabled: true}"
              >

              </vxe-grid>
            </div>
          </el-tab-pane>
          <el-tab-pane label="跨位信息" name="fourth">
            <div class="mytable">
              <vxe-grid
                id="id3"
                ref="xGrid3"
                border
                resizable
                keep-source
                :align="'center'"
                :height="height"
                :auto-resize="true"
                :columns="tableColumn3"
                highlight-current-row
                :data="list3"
                :custom-config="{ storage: true }"
                :scroll-y="{enabled: true}"
                highlight-hover-row
                show-overflow
                show-header-overflow
                @cell-dblclick="cellClickEvent_xb"
              >
                <!--                :span-method="rowspanMethod"-->
              </vxe-grid>
            </div>
          </el-tab-pane>
        </el-tabs>
      </el-main>
    </el-container>
    <!-- 弹出层——选择目标船只-->
    <vxe-modal v-model="dialogVisible" width="600" :title="title">
      <template #default>
        <el-row class="query_wrapper">
          <el-row>
            <el-button size="small" style="float: right;margin-bottom: 5px;margin-right: 5px;" type="success"
                       @click="saveByDcch">保存
            </el-button>
          </el-row>
        </el-row>
        <div class="mytable">
          <vxe-table
            ref="tableRef"
            auto-resize
            show-header-overflow
            show-overflow
            height="300"
            :row-config="{isHover: true}"
            :column-config="{resizable: true}"
            :data="selectMbch.no_tlt_ch">
            <vxe-column type="seq" width="50"></vxe-column>
            <vxe-column field="dcCh" title="船号" width="150"></vxe-column>
            <vxe-column align="center" field="dcCh1" title="目标船号" width="300">
              <template #default="{ row }">
                <vxe-select v-model="row.dcCh1" style="width: 80%;height: 30px;margin-bottom: 2px" transfer>
                  <vxe-option
                    v-for="item in haveTltBoms"
                    :key="item.dcch"
                    :value="item.dcch"
                    :label="item.dcch"
                  />
                </vxe-select>
              </template>
            </vxe-column>
          </vxe-table>
        </div>
      </template>
    </vxe-modal>
    <!-- 弹出层——展示明细-->
    <vxe-modal v-model="dialogVisible1" width="80%" :title="title1">
      <template #default>
        <el-row class="query_wrapper">
          <el-row>
            <!--          <span style="font-size: 13px;color: red; margin-left: 4px;"> * 表中红色数据取自其他船只</span>-->
            <el-button size="small" style="float: right;margin-bottom: 5px;margin-right: 5px;" type="success"
                       @click="save">保存
            </el-button>
          </el-row>
        </el-row>
        <div class="mytable">
          <vxe-grid
            id="id6"
            ref="tableRef1"
            border
            resizable
            keep-source
            :align="'center'"
            :height="height"
            :auto-resize="true"
            :columns="tableColumn6"
            highlight-current-row
            :data="mxList"
            :custom-config="{ storage: true }"
            :edit-config="{
                                     trigger: 'click',
                                     mode: 'row',
                                     showStatus: true,
                                   }"
            @checkbox-all="selectAllEvent"
            @checkbox-change="selectChangeEvent"
            :cell-style="cellStyle1"
            :header-cell-style="headerCellStyle"
            highlight-hover-row
            show-overflow
          >
          </vxe-grid>
        </div>
      </template>
    </vxe-modal>
    <!-- 弹出层——展示待确认项-->
    <vxe-modal v-model="dialogVisible2" width="80%" :title="title2" height="100%">
      <template #default>
        <el-row class="query_wrapper">
          <el-steps :active="active" finish-status="success" align-center>
            <el-step title="修改工厂日历" @click.native="active=0"></el-step>
            <el-step title="订货计划" @click.native="active=1"></el-step>
            <el-step title="工序间隔周期" @click.native="active=2"></el-step>
            <el-step title="设备产能" @click.native="active=3"></el-step>
            <el-step title="设备维护/维修情况" @click.native="active=4"></el-step>
            <el-step title="人员出勤情况" @click.native="active=5"></el-step>
          </el-steps>
          <el-row style="float: right;margin-right: 5px;">
            <!--            <el-button style="margin-top: 12px;" @click="next">下一步</el-button>-->
            <el-button size="small"  type="success" v-show="active>0" @click="preModal" plain>上一步</el-button>
            <el-button size="small"  type="success" v-show="active<5" @click="nextModal" plain>下一步</el-button>
            <el-button size="small"  type="success" v-show="active==5"@click="paichan" plain>排产</el-button>
          </el-row>
        </el-row>
        <el-row>
          <hr/>
          <div v-show="active==0">
            <Gcrl/>
          </div>
          <div v-show="active==1">
            <Dhjh/>
          </div>
          <div v-show="active==2">
            <GxCD/>
          </div>
          <div v-show="active==3">
            <Sbcnwh/>
          </div>
          <div v-show="active==4">
            <Sbwxjh/>
          </div>
          <div v-show="active==5">
            <Sbjgry/>
          </div>
        </el-row>
      </template>
    </vxe-modal>
  </el-container>
</template>
<script>
import router from "@/router";
import {getCzxx} from '@/api/jhzx/qfxq'
import {
  list,
  getList,
  sygdPC,
  saveByDcch,
  tqSygd,
  symxhz, getFilename, listByFileName, getFilenameNew, listByFileNameNew,
} from '@/api/jhzx/sygd'
import {mapGetters} from 'vuex'
import XEUtils from 'xe-utils'
import {getToken} from '@/utils/auth'
import ScrollPane from "@/layout/components/TagsView/ScrollPane.vue";
import {排产, 生成月度计划, 获取排产结果,} from "@/api/jhzx/pc";
import Gcrl from '@/components/Gcrl';
import Sbwxjh from '@/views/sjzx/sbwxjhWH.vue';
import Sbjgry from '@/views/sjzx/sbjgryWH.vue';
import Sbcnwh from '@/views/jhzx/components/sygdpc/Sbcn.vue';
import GxCD from '@/views/jhzx/components/sygdpc/GxCD.vue';
import Dhjh from '@/views/jhzx/components/sygdpc/Dhjh.vue';
import {endLoading, startLoading} from "@/utils";
import {Message} from "element-ui";
import ydjhNewTable from "@/views/jhzx/js/ydjhNewTable";
export default {
  name: 'SymxCX',
  components: {ScrollPane,Gcrl,Sbcnwh,Sbwxjh,Sbjgry,GxCD,Dhjh},
  data() {
    return {
      active: 0,
      isUser:false,
      gcrl:[],
      dialogVisible: false,
      dialogVisible1: false,
      dialogVisible2: false,
      title: '选择目标船只',
      title1: '修改明细信息',
      title2: '请确认或修改排产依据',
      selectMbch: [],
      mxList: [],
      haveTltBoms: [],
      activeName: 'first',
      queryParam: {
        fileName:'',
        beginTime: '',
        endTime: ''
      },
      fileNameList:[],
      list: [],
      list1: [],
      list2: [],
      list3: [],
      checkedList: [],
      heads: {token: getToken()},
      uploadData:{

      },
      uploadAction: process.env.VUE_APP_BASE_API + '/ydjhImportNew/ydjhImportNew',
      dictData: [],
      height: '500px',
      tableColumn1: [
        {type: 'seq', width: 60, title: '序号', fixed: "left"},
        {
          field: 'nf', title: '年份', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'yf', title: '月份', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dcCh', title: '船号', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'zl', title: 'a=线表重量(吨)', width: 170,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'tlt_zl', title: 'b=套料图实耗重量(吨)', width: 170,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'xczl', title: 'b-a=差值重量(吨)', width: 170,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
      ],
      tableColumn2: [
        {type: 'seq', width: 60, title: '序号', fixed: "left"},
        {
          field: 'dcCh', title: '船号', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dcPl', title: '批量', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dcFd', title: '分段', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'xzjsq', title: 'a=批量表（钢加小组结束）', width: 180,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'xzglxq', title: 'b=钢料滚动需求（小组）', width: 180,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombin ation',}
        },
        {
          field: 'xzcz', title: 'b-a=时间差(小组)', width: 180,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dzjsq', title: 'c=批量表（钢加大组结束）', width: 180,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dzglxq', title: 'd=钢料滚动需求（大组）', width: 180,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dzcz', title: 'd-c=时间差(大组)', width: 180,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
      ],
      tableColumn3: [
        {type: 'seq', width: 60, title: '序号', fixed: "left"},
        {
          field: 'yf', title: '月份', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'kw', title: '跨位', width: 120, formatter: ['dictFormat', 'QGKW'],
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'ch', title: '船号', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'pl', title: '批量', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'fd', title: '分段', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'bs', title: '板数', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'dhqd', title: '订货清单号', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'lhsl', title: '到货数量', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'dhsl', title: '订货数量', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'blgs', title: '备料总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'pwgs', title: '抛丸总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'llgs', title: '理料总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'hxgs', title: '划线总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'qggs', title: '切割总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'pkgs', title: '坡口总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'dmgs', title: '打磨总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'qjggs', title: '曲加工总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
        {
          field: 'zpgs', title: '装配总工时', width: 120,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',},
        },
      ],
      tableColumn6: [
        {type: 'seq', width: 60, title: '序号', fixed: "left"},
        {
          field: 'dcCh', title: '船号', minWidth: "70",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dcCh1', title: '目标船号', minWidth: "90",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },//数据来源船，真实数据时，为空
        {
          field: 'dcPl', title: '批量', minWidth: "70",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dcFd', title: '分段号', minWidth: "150",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'zl', title: '组立', minWidth: "70", formatter: ['dictFormat', 'ZLLB'],
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'jssj', title: '钢料滚动需求期(小组)', minWidth: "160",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'lqlb', title: '领取类型', width: 90, formatter: ['dictFormat', 'CLlQ'],
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'lx', title: '物资类型', width: 90, formatter: this.formatterLx,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'kw', title: '跨位', width: 80, formatter: ['dictFormat', 'QGKW'],
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'tzbh', title: '套料图号', width: 90,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'wpgg', title: '规格', width: 80,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'bcshzl', title: '重量', width: 80,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'wpxh', title: '材质', width: 80,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
        },
        {
          field: 'xcms', title: '型材米数', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'jzbs', title: '矫正标识', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'hxcd', title: '划线长度(米)', minWidth: "110",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'hxcdKc', title: '划线空程长度(米)', minWidth: "140",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'qgcd', title: '切割长度（米)', minWidth: "120",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'qgcdKc', title: '切割空程长度（米)', minWidth: "140",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'slrq', title: '上料计划日期', minWidth: "120",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'pwrq', title: '抛丸计划日期', minWidth: "120",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'hxrq', title: '划线计划日期', minWidth: "120",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'qgrq', title: '切割计划日期', minWidth: "120",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'pkcd', title: '坡口长度', minWidth: "110",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'pkrq', title: '坡口计划日期', minWidth: "130",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dmcd', title: '打磨长度', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dmrq', title: '打磨计划日期', minWidth: "130",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'qbs', title: '曲标识', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'qjgrq', title: '曲加工计划日期', minWidth: "140",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'gjjsDz', title: '钢料滚动需求期(大组)', minWidth: "160",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'ljsl', title: '零件数量', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'dcCh2', title: '本船号', width: 100,
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },//没有真实数据时，为空
        {
          field: 'zt', title: '状态', width: 70, formatter: ['dictFormat', 'SYZT'],
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
        {
          field: 'gxsj', title: '数据更新时间', minWidth: "130",
          filters: [{
            data: {
              checks: [],
              sVal: '',
              sMenu: '',
              fType1: '',
              fVal1: '',
              fMode: 'and',
              fType2: '',
              fVal2: ''
            }
          }],
          filterRender: {name: 'FilterCombination',}
        },
      ],
      tableColumn7: [
        {type: 'seq', width: 60, title: '序号', fixed: "left"},
        { field: '', title: '日期', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '垛位', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '船号', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '批量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '数量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '重量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '订货清单号', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '订货数量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '采购数量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '到货数量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '跨位', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '跨位需求数量', width: 150,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
      ],
      list9:[],
      tableColumn9:[
        {type: 'seq', width: 60, title: '序号', fixed: "left"},
        { field: 'day', title: '日期', width: 90,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
          sortable:true,
        },
        { field: 'kw', title: '套料图名称', width: 120,formatter:['dictFormat','QGKW'],
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
          sortable:true,
        },
        { field: '工序', title: '工序', width: 70,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '产能', title: '设备总定额', width: 110,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '设备产能', title: '设备单台定额', width: 120,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '_degs', title: '实际定额', width: 110,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '划线长度', width: 110,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '', title: '切割长度', width: 110,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'dcCh', title: '船号', width: 80,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'dcPl', title: '批量', width: 80,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'xzglxq', title: '小组需求期', width: 100,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'dzglxq', title: '大组需求期', width: 100,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'czlx', title: '类型', width: 80,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        //下面是bom的表头
        { field: 'zl', title: '组立', width: 80,formatter: ['dictFormat','ZLLB'],
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '_kw', title: '跨位', width: 80, formatter: ['dictFormat', 'QGKW'],
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'tzbh', title: '套料图号', width: 120,
          slots: { default: "tzbh_err" },
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'wpgg', title: '规格', width: 80,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'wpcz', title: '材质', width: 80,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: 'ljsl', title: '数量', width: 80,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },

        { field: '设备编号', title: '设备编码', width: 100,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
        { field: '设备名称', title: '设备名称', width: 100,
          filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
          filterRender: { name: 'FilterCombination', },
        },
      ],
      //采用新月度计划格式,原结构放在了symCx_bak中备用
      tableColumn:[]
    }
  },
  computed: {
    ...mapGetters(['name', 'bmbm','yhdm'])
  },
  created() {
    //采用新月度计划格式,原结构放在了symCx_bak中备用
    const {tableColumn}=ydjhNewTable()
    this.tableColumn = tableColumn

    window.addEventListener('resize', this.getHeight)
    this.getHeight()
    this.initBase()
    // this.isUser=true
    if(this.yhdm==='user129'||this.yhdm==='SCYQS'||this.yhdm==='user01'){
      this.isUser=true
    }
  },
  watch: {
    'queryParam.beginTime'(newValue, Value){
      if (newValue){
        this.format(newValue);
      }
    },
    'dialogVisible2'(newValue, Value){
      if (!newValue){
        this.modalShow=1
        this.title2="修改工厂日历(1/5)"
      }
    }
  },
  methods: {
    fileNameChange(){

    },
    next() {
      if (this.active++ > 2) this.active = 0;
    },
    rowClassName({row, rowIndex}) {
      if (row.dcCh === '合计') {
        return {
          backgroundColor: 'lightblue',
          cursor: 'pointer'
        }
      }
      return null
    },
    //异常数据颜色
    rowStyle1({row, rowIndex}){
      if (row.extData!=='1'){
        return {
          backgroundColor: '#FF0000FF',
          color: '#fff',
          cursor: 'pointer'
        }
      }
      if (row.errors.length > 0) {
        return {
          backgroundColor: '#FF0000FF',
          color: '#fff',
          cursor: 'pointer'
        }
      }
      return null
    },
    showErr({ type, column, row, items, _columnIndex }){
      const { field } = column
      // 重写默认的提示内容
      if (type === 'body'){
        if (row.errors.length > 0) {   var err='';
          for (const e of row.errors) {
            err=err+e+'\n';
          }
          return  err;

        }else {return ''}

        // if (field === 'dlzh' || field === 'employeeNumber') {
        // if (type === 'body') {
        // return column.title ? '自定义标题提示内容：' + column.title : ''
        // }
        // else if (type === 'footer') {
        //   return items[_columnIndex] ? '自定义表尾提示内容，\n并且自定义换行：\n' + items[_columnIndex] : ''
        // }
        // return row[field] ? '自定义提示内容：' + row[field] : ''
      }else {
        return ''
      }
      // else if (field === 'rate') {
      //   // 返回空字符串，控制单元格不显示提示内容
      //   return ''
      // }
      // 其余的单元格使用默认行为
      return null
    },
    //汇总
    symxhz() {

      if (this.queryParam.beginTime=='' ||this.queryParam.endTime==''||
        this.queryParam.beginTime==null ||this.queryParam.endTime==null
      ) {
        this.$message.warning('请先输入汇总的时间范围！');
        return
      }
      symxhz(this.queryParam).then((res) => {
        if (res.data) {
          this.list1 = res.data.xbList
          this.list2 = res.data.plList
          this.list3 = res.data.kwList
        }
      })
    },
    //合并行
    rowspanMethod({row, _rowIndex, column, visibleData}) {
      //不要忘记在vxe-grid上配置  :scroll-y="{enabled: false}" 防止下拉时样式变化
      // 需要合并的列字段
      let fields = ['nf', 'yf', 'rq', 'tzxqq','kw','ch',];// 需要合并的列
      const cellValue = row[column.property];// 合并行的相同的唯一标识
      if (cellValue && fields.includes(column.property)) {
        const prevRow = visibleData[_rowIndex - 1];
        let nextRow = visibleData[_rowIndex + 1];
        if (prevRow && prevRow[column.property] === cellValue) {
          // 如果和第一行数据一样，就删除
          return {rowspan: 0, colspan: 0};
        } else {
          // 获取有机会数据是一样的
          let countRowspan = 1;
          while (nextRow && nextRow[column.property] === cellValue) {
            nextRow = visibleData[++countRowspan + _rowIndex];
          }
          if (countRowspan > 1) {
            return {rowspan: countRowspan, colspan: 1};
          }
        }
      }
    },
    rowspanMethod1({row, _rowIndex, column, visibleData}) {
      //不要忘记在vxe-grid上配置  :scroll-y="{enabled: false}" 防止下拉时样式变化
      // 需要合并的列字段
      let fields = ['dcCh','dcPl'];// 需要合并的列
      const cellValue = row[column.property];// 合并行的相同的唯一标识
      if (cellValue && fields.includes(column.property)) {
        const prevRow = visibleData[_rowIndex - 1];
        let nextRow = visibleData[_rowIndex + 1];
        if(_rowIndex%2==0){
          return {rowspan: 2, colspan: 1};
        }else {
          return {rowspan: 0, colspan: 0};
        }
      }
    },
    //明细修改弹窗
    cellClickEvent_xb(row) {
      this.mxList = row.row.mxList
      this.dialogVisible1 = true
    },
    //区分汇总数据
    cellStyle({row, column, rowIndex, columnIndex}) {
      let fields = ['tlt_zl', 'jsq_dz_pc', 'jsq_xz_pc', 'tzxqq', 'tlt_sl', 'hx_cd', 'qg_cd', 'gcxqq'];
      if (fields.includes(column.property)) {
        return {
          color: '#CC8B04',
          cursor: 'pointer'
        }
      }
    },
    cellStyle2({row}) {
      if (!row){return ;}

      if (this.gcrl.includes(row.jssj)) {
        return {
          color: 'red',
          cursor: 'pointer'
        }
      }
    },
    //明细修改弹窗，区分是否本船只
    cellStyle1({row}) {
      if (row.dcCh1) {
        return {
          color: 'red',
          cursor: 'pointer'
        }
      }
    },
    //明细修改弹窗，可修改列
    headerCellStyle({column}) {
      let fields = ['jzsb', 'pwsb', 'hxsb', 'qgsb', 'pksb', 'dmsb', 'qjgsb'];
      if (fields.includes(column.field)) {
        return {
          backgroundColor: 'lightblue',
          cursor: 'pointer'
        }
      }
    },
    //提取月度计划
    tqSygd() {
      const data={from:this.queryParam.beginTime,to:this.queryParam.endTime}
      tqSygd(data).then((res) => {
        if (res.data) {
          router.push({
            name: 'SygdWH',
            params: {
              list: res.data
            }
          })
        } else {
          //this.$message.warning('请先提取明细！');
        }
      })
    },
    // 全选
    selectAllEvent() {
      const records = this.$refs.xGrid.getCheckboxRecords();
      this.checkedList = records;
    },
    // 单选
    selectChangeEvent() {
      const records = this.$refs.xGrid.getCheckboxRecords();
      this.checkedList = records;
    },
    //明细排产时，弹窗选择目标船只
    saveByDcch() {
      saveByDcch(this.selectMbch).then((res) => {
        this.list = res.data
        if (this.$refs.xGrid) {
          this.$refs.xGrid.loadData(this.list)
        }
      })
      this.dialogVisible = false;
    },
    //修改明细信息；根据修改后的设备信息；重新排计划期
    save() {
      this.$message.warning('保存成功！');
      this.dialogVisible1 = false;
    },
    //切换数据表点击事件
    handleClick(tab, event) {
      if (this.activeName === 'second') {
        // alert('线表计划')

      }
      if (this.activeName === 'third') {
        // alert('批量表')

      }
      if (this.activeName === 'fourth') {
        // alert('图纸')

      }
      if (this.activeName === 'fifth') {
        // alert('到货')
        if (this.list.length > 0) {

        }
      }
      if (this.activeName === 'sixth') {
        console.log(this.list5)
      }
    },
    //材料类型转码
    formatterLx({cellValue}) {
      if (cellValue === 'B') {
        return '板材'
      }
      if (cellValue === 'X') {
        return '型材'
      }
      return cellValue
    },
    //转码信息
    initBase() {
      getFilenameNew().then(res=>{
        this.fileNameList=res.data
      })
      getCzxx({}).then(res => {
        this.dictData = res.data
      })
      this.queryParam.beginTime = XEUtils.toDateString(XEUtils.getWhatMonth(new Date(), 0, 'first'),'yyyy/MM/dd')
    },
    //初始化表1 数据
    initList() {
      const fileName=this.queryParam.fileName
      if (!fileName){
        this.$message.warning('请先选择文件名')
        return
      }
      listByFileNameNew({fileName}).then((res) => {
        this.list = res.data
      })
      this.activeName = 'first'
    },

    formatDate({cellValue}) {
      return XEUtils.toDateString(cellValue, 'yyyy/MM/dd')
    },
    getHeight() {
      this.height = window.innerHeight - 200
    },
    creatYdjh(){
      const data={from:this.queryParam.beginTime,to:this.queryParam.endTime}
      生成月度计划(data).then(res=>{
        this.list=res.data
      })
    },
    paichan(){
      this.dialogVisible2=false
      const data={from:this.queryParam.beginTime,to:this.queryParam.endTime}
      排产(data).then((res)=>{
        if (res.success){
          this.jgcx(false)
        }else{
          this.$message.warning(res.message)
        }
      })

    },
    confirmModal(){
      this.dialogVisible2 = true
    },
    nextModal(){
      if (this.active++ > 5) this.active = 0;
    },
    preModal(){
      if (this.active-- < 1) this.active = 0;
    },
    jgcx(flag=true){
      const data={from:this.queryParam.beginTime,to:this.queryParam.endTime}
      if (flag){
        this.initList()
      }
      const 工序表=['上料','抛丸','理料','划线','切割','坡口','曲型','打磨','型材面板']
      获取排产结果(data).then(res=>{
        if(this.isUser){
          this.activeName="sygdjh"
        }

        const zy=res.data.zy
        const list=[]
        Object.keys(zy).forEach(key=>{
          const 工序产能MAP=zy[key].工序产能MAP
          for (const 工序 of 工序表) {
            const 工序产能=工序产能MAP[工序]
            const 设备=工序产能.设备
            Object.keys(设备).forEach(_key=>{
              const _设备=设备[_key]
              for (const bom of _设备.资源占用图表) {
                if (bom){
                  const data={
                    day:key,
                  }
                  data.白班时长=工序产能.白班时长
                  data.二班时长=工序产能.二班时长
                  data.工序=工序
                  data.产能=工序产能.产能
                  data.设备编号=_key
                  data.设备名称=_key
                  data.设备产能=_设备.产能

                  data.dcCh=bom.dcch
                  data.dcPl=bom.pl
                  data.xzglxq=bom.xzglxq
                  data.dzglxq=bom.dzglxq
                  data.zl=bom.zl
                  data.kw=bom.kw
                  data._kw=bom.kw
                  data.tzbh=bom.tzbh
                  data.wpgg=bom.wpgg
                  data.wpcz=bom.wpcz
                  data.ljsl=bom.ljsl
                  data._degs=bom.degs
                  data.errors=bom.errors
                  list.push(data)
                }
              }
            })
          }
        })
        this.list9=list
      })
    },
    //明细排产
    sygdPC() {
      this.$store.dispatch('app/closeSideBar', true)
      sygdPC().then((res) => {
        if (!res.success){
          this.$message.warning(res.message)
        }else{
          // this.list = res.data
          // if (this.$refs.xGrid) {
          //   this.$refs.xGrid.loadData(this.list)
          // }
        }
      })
      this.activeName = 'first'
    },
    format (val) {
      this.queryParam.endTime=XEUtils.toDateString(XEUtils.getWhatMonth(val, 0, 'last'),'yyyy/MM/dd')
    },
    uploadExcel() {
      // this.uploadData.isupload = this.isupload
    },
    beforeAvatarUpload(file) {
      // 文件类型
      const isType = file.type === 'application/vnd.ms-excel'
      const isTypeComputer = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
      const fileType = isType || isTypeComputer
      // if (!fileType) {
      //   this.$message.error('上传文件只能是xls/xlsx格式！')
      //   return
      // }
      startLoading()
      return fileType
    },

    handleAvatarSuccess(res, file) {
      endLoading()
      if (res.success) {
        this.$message({ message: '导入成功', type: 'success' })
        this.queryParam.fileName=res.data
        if (!this.fileNameList.includes(res.data)){
          this.fileNameList.push(res.data)
        }
        this.initList();
      } else {
        Message({
          message: res.message || 'Error',
          type: 'error',
          duration: 5 * 1000
        })
      }
    },
  }
}
</script>
<style lang="scss" scoped>

.el-header {
  margin: 0;
  padding: 5px;
  height: auto;

  .el-input {
    width: 140px;
  }

  .el-select {
    width: 140px;
  }
}

.el-container {
  padding: 0;
  margin: 0;
}

.el-main {
  padding: 0;
}

.el-col {
  padding: 0;
  height: 32px;
}

.el-aside {
  background: #fff;
  padding: 0
}

.el-container {
  padding: 0
}

.el-row:last-child {
  margin-bottom: 0;
}

.tableStyles {
  background: #0a76a4;
}

.my-dropdown {
  width: 400px;
  height: 400px;
  background-color: #fff;
  border: 1px solid #dcdfe6;
  box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
  font-size: 12px;

}

.vxe-input {
  display: inline-block !important;
  position: relative !important;
  width: auto;
}

.el-input {
  display: inline-block !important;
  position: relative !important;
  width: auto;
}

.keyword-lighten {
  color: #000;
  background-color: #FFFF00;
}

.vxe-textarea--inner {
  line-height: inherit;
}

.el-form-item__label-wrap {
  margin-left: 0px !important;
  float: left;
}

.fontClass {
  font-size: 12px;
  font-weight: bold;
}
</style>
