<template>
  <div>
    <el-card>
      <!--<el-radio-group v-model="radio" @change="changeType">-->
      <!--<el-radio :label="1">自制件</el-radio>-->
      <!--<el-radio :label="2">采购部采购</el-radio>-->
      <!--<el-radio :label="3">制造部采购</el-radio>-->
      <!--</el-radio-group>-->
      <span style="display:inline-block;margin-left: 10px">零件图号：</span>
      <el-autocomplete
        v-model="searchPick"
        :fetch-suggestions="querySearch"
        clearable
        style="width: 200px;margin-left: 10px;"
        size="small"
        class="inline-input"
        placeholder="请输入零件图号"
        @select="handleSelect"
        @clear="clearSelect"
      />
      <!--<el-button type="text" @click="show1 = !show1" style="margin-left: 10px">高级查询</el-button>-->
      <!--<div v-show="show1" style="margin-top: 20px" class="transition-box">-->
      <!--<span style="display:inline-block;margin-left: 10px">项目名称：</span>-->
      <!--<el-autocomplete-->
      <!--v-model="searchCriteria"-->
      <!--:fetch-suggestions="querySearch"-->
      <!--clearable-->
      <!--style="width: 200px;margin-left: 10px;"-->
      <!--size="small"-->
      <!--class="inline-input"-->
      <!--placeholder="请输入零件或物料"-->
      <!--@clear="clearSelect"-->
      <!--@select="handleSelect"-->
      <!--/>-->
      <!--<span style="display:inline-block;margin-left: 10px">机床图号：</span>-->
      <!--<el-input-->
      <!--v-model="input_Mobile"-->
      <!--:trigger-on-focus="false"-->
      <!--clearable-->
      <!--size="small"-->
      <!--style="width: 200px;margin-right: 10px"-->
      <!--placeholder="请输入内容"/>-->
      <!--<span style="display:inline-block;margin-left: 10px">组号：</span>-->
      <!--<el-input-->
      <!--v-model="input_Mobile"-->
      <!--:trigger-on-focus="false"-->
      <!--clearable-->
      <!--size="small"-->
      <!--style="width: 200px;margin-right: 10px"-->
      <!--placeholder="请输入内容"/>-->
      <!--<span style="display:inline-block;margin-left: 10px">零件图号：</span>-->
      <!--<el-input-->
      <!--v-model="input_Mobile"-->
      <!--:trigger-on-focus="false"-->
      <!--clearable-->
      <!--size="small"-->
      <!--style="width: 200px;margin-right: 10px"-->
      <!--placeholder="请输入内容"/>-->
      <!--</div>-->
      <div>
        <el-divider content-position="right">零件档案</el-divider>
        <div class="text">
          <span style="display:inline-block;margin-left: 10px">零件图号：<el-tag size="small">{{ form.零件图号 }}</el-tag></span>
          <el-divider direction="vertical"/>
          <span style="display:inline-block;margin-left: 10px">零件名称：<el-tag size="small">{{ form.零件名称 }}</el-tag></span>
          <el-divider direction="vertical"/>
          <span style="display:inline-block;margin-left: 10px">投产数量：<el-tag size="small">{{ form.投产数量 }}</el-tag></span>
          <el-divider direction="vertical"/>
          <span style="display:inline-block;margin-left: 10px">所属机床：<el-tag size="small">{{ form.所属机床 }}</el-tag></span>
          <el-divider direction="vertical"/>
          <span style="display:inline-block;margin-left: 10px">所属组件：<el-tag size="small">{{ form.所属组件 }}</el-tag></span>
        </div>
        <el-divider content-position="right">生命周期</el-divider>
        <div class="text item">
          <el-row>
            <el-col :span="4">
              <el-timeline style="margin-top: 40px">
                <el-timeline-item
                  v-for="(activity, index) in activities"
                  :key="index"
                  :icon="activity.icon"
                  :type="activity.type"
                  :color="activity.color"
                  :size="activity.size"
                  :timestamp="activity.timestamp">
                  {{ activity.content }}
                </el-timeline-item>
              </el-timeline>
            </el-col>
            <el-col :span="1">
              <div style="width:1px;border:0.1px solid #DCDFE6;float:left;height:450px;"/>
            </el-col>
            <el-col :span="19" style="margin-top: 30px">
              <div class="main">
                <el-table :data="tableData1" :row-class-name="tableRowClassName1" class="table" style="max-height: 830px" highlight-current-row empty-text="   " border>
                  <el-table-column align="center" label="工序" show-overflow-tooltip width="100">
                    <template slot-scope="scope">
                      {{ scope.row.工序顺序 }}
                    </template>
                  </el-table-column>
                  <el-table-column align="center" label="工艺名" show-overflow-tooltip min-width="120">
                    <template slot-scope="scope">
                      {{ scope.row.工艺名称 }}
                    </template>
                  </el-table-column>
                  <!--<el-table-column align="center" label="已完数量" show-overflow-tooltip min-width="70">-->
                  <!--<template slot-scope="scope">-->
                  <!--{{ scope.row.完成数量 }}-->
                  <!--</template>-->
                  <!--</el-table-column>-->
                  <el-table-column align="center" label="投产数" width="100">
                    <template slot-scope="scope">
                      {{ scope.row.批次数量 }}
                    </template>
                  </el-table-column>
                  <el-table-column align="center" label="完成数" width="100">
                    <template slot-scope="scope">
                      {{ scope.row.完成数量 }}
                    </template>
                  </el-table-column>
                  <el-table-column align="center" label="操作者" show-overflow-tooltip width="120">
                    <template slot-scope="scope">
                      {{ scope.row.操作者 }}
                    </template>
                  </el-table-column>
                  <el-table-column align="center" label="加工开始" width="160">
                    <template slot-scope="scope">
                      {{ scope.row.加工开始时间 }}
                    </template>
                  </el-table-column>
                  <el-table-column align="center" label="加工结束" width="160">
                    <template slot-scope="scope">
                      {{ scope.row.完成日期 }}
                    </template>
                  </el-table-column>
                </el-table>
              </div>
            </el-col>
          </el-row>
          <el-divider content-position="right">跳转链接</el-divider>
          <el-row style="margin-left: 20px">
            <el-tooltip :open-delay="1000" effect="dark" content="转到零件状态查询模块" placement="top">
              <el-button size="medium" type="text" @click="toStatusQuery">零件状态查询</el-button>
            </el-tooltip>
            <el-divider direction="vertical"/>
            <!--<el-tooltip :open-delay="1000" effect="dark" content="转到加工进度查询模块" placement="top">-->
            <!--<el-button size="medium" type="text" @click="toProcessingStatus">加工进度查询</el-button>-->
            <!--</el-tooltip>-->
          </el-row>
        </div>
      </div>
    </el-card>
  </div>
</template>

<script>
import { SelectPart, SelectProcessingProgress } from '@/api/ManufacturingCenter/TraceabilityOfParts'
import { gettabledata1 } from '@/api/ManufacturingCenter/ProcessingStatusNew'

export default {
  data() {
    return {
      isOut: '请查询',
      outName: '请查询',
      outTime: '请查询',
      active: '',
      active1: '',
      confirmationTime: '请查询',
      Cutter: '请查询',
      isMaterials: '请查询',
      searchPick: '',
      materialsType: '请查询',
      restaurantsPick: [],
      tableData1: [],
      show: true,
      show1: false,
      // typeA: true,
      // typeB: false,
      // typeC: false,
      radio: 1,
      form: {
        零件图号: '请查询',
        投产数量: '请查询',
        所属机床: '请查询',
        所属组件: '请查询',
        零件名称: '请查询'
      },
      activities: [{
        id: 3,
        content: '生产计划下达',
        timestamp: '制造部：计划员',
        type: '',
        size: 'large'
      }, {
        id: 5,
        content: '工艺定额',
        timestamp: '工艺部：工艺员',
        type: '',
        size: 'large'
      }, {
        id: 7,
        content: '生产加工',
        timestamp: '金工车间：操作工',
        type: '',
        size: 'large'
      }, {
        id: 8,
        content: '入库',
        timestamp: '金工车间：库管员',
        type: '',
        size: 'large'
      }, {
        id: 9,
        content: '出库',
        timestamp: '金工车间：库管员',
        type: '',
        size: 'large'
      }],
      sudokus: [],
      curSelect: null
    }
  },
  methods: {
    // changeType() {
    //   if(this.radio === 1) {
    //     this.typeA = true
    //     this.typeB = false
    //     this.typeC = false
    //   } else if(this.radio === 2) {
    //     this.typeA = false
    //     this.typeB = true
    //     this.typeC = false
    //   } else if(this.radio === 3) {
    //     this.typeA = false
    //     this.typeB = false
    //     this.typeC = true
    //   }
    // },
    touchstart: function(e) {
      var that = this
      var list = that.sudokus
      for (var i = 0, len = list.length; i < len; ++i) {
        if (list[i].id === e) {
          that.curSelect = i
        }
      }
    }, touchend: function() {
      var that = this
      that.curSelect = null
    },
    querySearch(queryString, cb) {
      this.restaurantsPick = []
      if (this.searchPick !== '' && this.searchPick !== null) {
        SelectPart(this.searchPick).then(response => {
          const res = response.data
          res.forEach(item => {
            this.restaurantsPick.push({
              value: item.零件图号,
              name: item.工艺计划流水号
            })
          })
          return this.restaurantsPick
        }).then(data => {
          var restaurants = data
          var results = queryString ? restaurants.filter(this.createFilterPick(queryString)) : restaurants
          return results
        }).then(data => {
          cb(data)
        })
      }
    },
    toStatusQuery() {
      this.$router.push('/ManufacturingCenter/StatusQuery')
    },
    toProcessingStatus() {
      this.$router.push('/ManufacturingCenter/ProcessingStatus')
    },
    createFilterPick(queryString) {
      return (restaurant) => {
        return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) !== -1)
      }
    },
    clearSelect() {
      this.active = ''
      this.active1 = ''
      this.sudokus = []
      this.isOut = '请查询'
      this.outName = '请查询'
      this.outTime = '请查询'
      this.confirmationTime = '请查询'
      this.Cutter = '请查询'
      this.isMaterials = '请查询'
      this.materialsType = '请查询'
      this.form.零件图号 = '请查询'
      this.form.投产数量 = '请查询'
      this.form.所属机床 = '请查询'
      this.form.所属组件 = '请查询'
      this.form.零件名称 = '请查询'
      for (let i = 0; i < this.activities.length; i++) {
        this.activities[i].type = ''
      }
      this.show = true
    },
    // 工序状态变色
    tableRowClassName1({ row, rowIndex }) {
      row.index = rowIndex
      if (parseInt(row.工序状态) > 3) {
        return 'CompleteColor'
      }
    },
    handleSelect(item) {
      this.sudokus = []
      this.show = false
      this.active = ''
      this.active1 = ''
      this.confirmationTime = '请查询'
      this.Cutter = '请查询'
      this.isMaterials = '请查询'
      this.materialsType = '请查询'
      this.isOut = '请查询'
      this.outName = '请查询'
      this.outTime = '请查询'
      for (let i = 0; i < this.activities.length; i++) {
        this.activities[i].type = ''
      }
      SelectPart(0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', '', '', item.name).then(response => {
        this.form.零件图号 = response.data[0].零件图号
        this.form.投产数量 = response.data[0].批次数量
        this.form.所属机床 = response.data[0].机床图号
        this.form.所属组件 = response.data[0].组号
        this.form.零件名称 = response.data[0].零件名称
      })
      SelectProcessingProgress(item.name).then(response => {
        for (let i = 0; i < response.data.length; i++) {
          this.sudokus.push({
            id: response.data[i].工序顺序,
            procedure: response.data[i].工艺名称,
            planningTime: response.data[i].计划日期_短,
            actualTime: response.data[i].完成日期_短 === null || response.data[i].完成日期_短 === '' ? '未完成' : response.data[i].完成日期_短,
            name: response.data[i].工序状态 === 4 ? response.data[i].员工姓名 : '未完成',
            color: response.data[i].进度颜色
          })
        }
      })
      SelectPart(0, '', 0, '', 0, '', 1, this.searchPick, 0, '', 0, '', 0, '', '', '', '').then(response => {
        console.log(response, 8)
        for (let i = 0; i < this.activities.length; i++) {
          if (response.data[0].考核状态.toString() === this.activities[i].id.toString()) {
            for (let j = 0; j <= i; j++) {
              this.activities[j].type = 'success'
            }
            this.activities[i + 1].type = 'warning'
          }
        }
      })
      console.log(item, 11)
      this.tableData1 = []
      gettabledata1(item.name).then(response => {
        if (response.data.length !== 0) {
          for (let i = 0; i < response.data.length; i++) {
            console.log(response.data[i])
            this.tableData1.push({
              工艺名称: response.data[i].工艺名称,
              工序顺序: response.data[i].工序顺序,
              加工开始时间: response.data[i].加工开始时间 ? response.data[i].加工开始时间 : '',
              完成日期: response.data[i].加工完成时间 ? response.data[i].加工完成时间 : '',
              操作者: response.data[i].姓名,
              批次数量: response.data[i].批次数量,
              工序流水号: response.data[i].工序流水号,
              完成过程流水号: response.data[i].完成过程流水号,
              工序状态: response.data[i].工序状态,
              完成数量: response.data[i].完成数量
            })
          }
        }
      })
    }
  }
}
</script>

<style scoped>
  .el-textarea__inner, .el-radio__inner, .el-input__inner{
    border: 1px solid #C0C4CC !important
  }
  .text{
    font-size: 14px;
  }
  .sudoku_row{
    height: 120px;
    padding: 5px;
    /*overflow-x: scroll;*/
    display: flex;
    align-items: center;
    /*flex-wrap: wrap;*/
  }
  .sudoku_item{
    margin-right: 10px;
    display: flex;
    height: 110px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /*padding-top: 10px;*/
    /*padding-bottom: 10px;*/
  }
  .opacity{
    opacity: 0.4;
    background: #e5e5e5;
  }
  .sudoku_item img{
    margin-bottom: 3px;
    display: block;
  }
  .main{
     border: 1px solid  #DCDFE6;
     width:91.5%;
     overflow-y: hidden;
     overflow-x: auto;
     color: #000;
     font-size: 16px;
     height: 430px;
   }
  .main p{height:300px;}
  /*-------滚动条整体样式----*/
  .main::-webkit-scrollbar {
    width:8px;
    height:8px;
  }
  /*滚动条里面小方块样式*/
  .main::-webkit-scrollbar-thumb {
    border-radius:100px;
    -webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);
    background:#DCDFE6;
  }
  /*滚动条里面轨道样式*/
  .main::-webkit-scrollbar-track {
    -webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);
    border-radius:0;
    background:white;
  }
</style>
<style>
  .CompleteColor{
    background: #9bd7fc !important;
  }
</style>
