<template>
  <basic-container>
    <avue-crud
      :option="option"
      :table-loading="loading"
      :data="data"
      v-model:page="page"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @row-save="rowSave"
      @row-del="rowDel"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template #menu="{ row }">
        <span v-if="row.yieldType !== 1">
          <el-button type="text"  @click="inspectionRecord(row)">检验记录</el-button>
          <el-button type="text"  @click="rbPrint(row,2)">热表打印</el-button>
        </span>
        <span v-else>
          <el-button type="text"  @click="handleDelete">烧结打印</el-button>
        </span>
        <el-button type="text"  @click="handleDelete">测厚打印</el-button>
      </template>
      <!-- <template #category="{ row }">
        <el-tag>{{ row.categoryName }}</el-tag>
      </template>
      <template #partCode="{row}">
        <span>{{ row.pjYieldOrder.partCode }}</span>
      </template>
      <template #productType="{row}">
        <span>{{ row.pjYieldOrder.productType }}</span>
      </template>
      <template #partName="{row}">
        <span>{{ row.pjYieldOrder.partName }}</span>
      </template>
      <template #plate="{row}">
        <span>{{ row.pjYieldOrder.plate }}</span>
      </template>
      <template #prodIdent="{row}">
        <span>{{ row.pjYieldOrder.prodIdent }}</span>
      </template>
      <template #useDept="{row}">
        <span>{{ row.pjYieldOrder.useDept }}</span>
      </template>
      <template #poArea="{row}">
        <span>{{ row.pjYieldOrder.poArea }}</span>
      </template>
      <template #planUser="{row}">
        <span>{{ row.pjYieldOrder.planUser }}</span>
      </template>
      <template #tsName="{row}">
        <span>{{ row.makeTeam.tsName }}</span>
      </template>
      <template #ppsName="{row}">
        <span>{{ row.procedureSet.ppsName }}</span>
      </template>
      <template #nextPpsName="{row}">
        <span>{{ row.nextProcedureSet.ppsName }}</span>
      </template>
      <template #nextTsName="{row}">
        <span>{{ row.nextMakeTeam.tsName }}</span>
      </template> -->
    </avue-crud>
    <el-dialog title="选择模块" append-to-body v-model="previewOpen" width="450px">
        <el-form ref="form" label-width="80px" class="vd-form-row" v-if="dialogType == 1">
          <el-form-item label="模块">
            <el-checkbox v-model="checkedList[0]" label="数据信息" border size="small" />
            <el-checkbox v-model="checkedList[1]" label="生产过程" border size="small" />
          </el-form-item>
          <el-form-item>
            <el-checkbox v-model="checkedList[2]" label="检验记录" border size="small" />
            <el-checkbox v-model="checkedList[3]" label="镀后记录" border size="small" />
          </el-form-item>
        </el-form>
        <el-form ref="form" label-width="80px" class="vd-form-row" v-if="dialogType == 2">
          <el-form-item label="模块">
            <el-checkbox v-model="rbChecked[0]" label="数据信息" border size="small" />
          </el-form-item>
          <!-- <el-form-item label="模块">
            <el-checkbox v-model="rbChecked[1]" label="检验记录" border size="small" />
          </el-form-item>
          <el-form-item label="模块">
            <el-checkbox v-model="rbChecked[2]" label="审理单记录" border size="small" />
          </el-form-item>
          <el-form-item label="模块">
            <el-checkbox v-model="rbChecked[3]" label="镀后记录" border size="small" />
          </el-form-item> -->
          <template v-for="(item, index) in prWorkPlanList" :key="index">
            <el-form-item :label="'工序'+item.orders">
              <el-checkbox v-model="checkedList[index]" :label="item.procedureSet.ppsName" border size="small" />
            </el-form-item>
          </template>
        </el-form>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="previewOpen = false">取 消</el-button>
          <el-button type="primary" @click="submitPrint">确 定</el-button>
        </span>
      </template>
    </el-dialog>
    <print-dialog v-if="showPrint" :show-print="showPrint" :rbChecked="rbChecked" :checked-list="checkedList"
      :printType="printType" :woId="checkWoId"
     @closeDialog="closeDialog"></print-dialog>
  </basic-container>
</template>

<script>
import {getList,getProcessList} from "@/api/qualityManagement/inspectionArchiving/eRecord.js"
import { mapGetters } from 'vuex';
import website from '@/config/website';
import printDialog from './printDialog.vue';

export default {
  components:{
    printDialog
  },
  data() {
    return {
      form: {},
      query: {},
      loading: true,
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      showPrint:false,
      checkedList:[],
      previewOpen:false,
      selectionList: [],
      option: {
        tip: false,
        align: 'center',
        // size: 'medium',
        height:'auto',
        searchLabelWidth:120,
        simplePage: true,
        searchShow: true,
        searchMenuSpan: 6,
        searchIcon: true,
        searchIndex: 3,
        tree: false,
        border: true,
        selection: false,
        viewBtn: false,
        editBtn:false,
        addBtn:false,
        delBtn: false,
        editBtnText: '修改',
        viewBtnText:'详情',
        labelWidth: 120,
        menuWidth: 180,
        dialogWidth: 1200,
        dialogClickModal: false,
        searchEnter: true,
        excelBtn: false,
        filterBtn: true,
        searchShowBtn: false,
        excelBtn: true,
        index: false,
        showOverflowTooltip: true,
        searchLabelPosition:'left',
        searchLabelPosition:'left',
        searchGutter:24,
        searchSpan:6,
        menuAlign: 'center',
        gridBtn:false,
        searchMenuPosition:'right',
        addBtnIcon: ' ',
        viewBtnIcon: ' ',
        delBtnIcon: ' ',
        editBtnIcon: ' ',
        column: [
          {
            label: '车间订单号',
            prop: 'woCode',
            addDisplay: false,
            editDisplay: false,
            span: 24,
            search:true,
            // width:200,
            rules: [
              {
                required: true,
                message: '请输入车间订单号',
                trigger: 'click',
              },
            ],
          },
          {
            label: '零件号',
            prop: 'partCode',
            addDisplay: false,
            editDisplay: false,
            hide:true,
            span: 24,
            search:true,
            // width:200,
            rules: [
              {
                required: true,
                message: '请输入零件号',
                trigger: 'click',
              },
            ],
          },
          {
            label: '产品号',
            prop: 'prodCode',
            addDisplay: false,
            editDisplay: false,
            span: 24,
            search:false,
            width:200,
            rules: [
              {
                required: true,
                message: '请输入产品号',
                trigger: 'click',
              },
            ],
          },
          // {
          //   label: '产品型号',
          //   prop: 'productType',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入产品型号',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          {
            label: '批次号',
            prop: 'batchNo',
            addDisplay: false,
            editDisplay: false,
            span: 24,
            search:true,
            width:200,
            rules: [
              {
                required: true,
                message: '请输入批次号',
                trigger: 'click',
              },
            ],
          },
          // {
          //   label: '产品名称',
          //   prop: 'partName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入产品名称',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '流程卡号',
          //   prop: 'cardNo',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入流程卡号',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '镀种信息',
          //   prop: 'plate',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入镀种信息',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          {
            label: '生产标识',
            prop: 'prodIdent',
            addDisplay: false,
            editDisplay: false,
            span: 24,
            search:true,
            width:200,
            rules: [
              {
                required: true,
                message: '请输入生产标识',
                trigger: 'click',
              },
            ],
          },
          // {
          //   label: '订单优先级',
          //   prop: 'priorityTitle',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入订单优先级',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '需求部门',
          //   prop: 'useDept',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入需求部门',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '生产数量',
          //   prop: 'makeQty',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入生产数量',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '面积(dm²)',
          //   prop: 'poArea',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入面积(dm²)',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '交期',
          //   prop: 'demandDate',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入交期',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '计划员',
          //   prop: 'planUser',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入计划员',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '加工班组',
          //   prop: 'team',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   hide:true,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入加工班组',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '计划下达时间',
          //   prop: 'createTime',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入计划下达时间',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '计划完工时间',
          //   prop: 'planEndDate',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入计划完工时间',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '已入库数量',
          //   prop: 'inventoryQty',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入已入库数量',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '未入库数量',
          //   prop: 'notInQty',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入未入库数量',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          {
            label: '加工班组',
            prop: 'mainProcessingUnit',
            addDisplay: false,
            editDisplay: false,
            span: 24,
            search:false,
            width:200,
            rules: [
              {
                required: true,
                message: '请输入加工班组',
                trigger: 'click',
              },
            ],
          },
          {
            label: '完工时间',
            prop: 'finishDate',
            addDisplay: false,
            editDisplay: false,
            span: 24,
            search:false,
            width:200,
            rules: [
              {
                required: true,
                message: '请输入完工时间',
                trigger: 'click',
              },
            ],
          },
          // {
          //   label: '上传兰台时间',
          //   prop: 'tsName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入上传兰台时间',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '当前工序',
          //   prop: 'ppsName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入当前工序',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '当前工序',
          //   prop: 'ppsName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入当前工序',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '下序',
          //   prop: 'nextPpsName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入下序',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '下一班组',
          //   prop: 'nextTsName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入下一班组',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '下一班组',
          //   prop: 'nextTsName',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   search:false,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入下一班组',
          //       trigger: 'click',
          //     },
          //   ],
          // },
          // {
          //   label: '领料状态',
          //   prop: 'pickingStatusTitle',
          //   addDisplay: false,
          //   editDisplay: false,
          //   type:'select',
          //   span: 24,
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入领料状态',
          //       trigger: 'click',
          //     },
          //   ],
          //   dicData: [
          //     {
          //       label: '未领取',
          //       value: 0
          //     }, 
          //     {
          //       label: '已领取',
          //       value: 1
          //     }
          //   ]
          // },
          // {
          //   label: '订单状态',
          //   prop: 'runStatusTitle',
          //   addDisplay: false,
          //   editDisplay: false,
          //   span: 24,
          //   type:'select',
          //   search:true,
          //   width:200,
          //   rules: [
          //     {
          //       required: true,
          //       message: '请输入订单状态',
          //       trigger: 'click',
          //     },
          //   ],
          //   dicData: [
          //     {
          //       value: 2,
          //       label: '已下达'
          //     },
          //     {
          //       value: 3,
          //       label: '加工中'
          //     },
          //     {
          //       value: 4,
          //       label: '检验中'
          //     },
          //     {
          //       value: 13,
          //       label: '审理中'
          //     },
          //     {
          //       value: 14,
          //       label: '返工中'
          //     },
          //     {
          //       value: 15,
          //       label: '已完工'
          //     },
          //     {
          //       value: 21,
          //       label: '已作废'
          //     }
          //   ]
          // },
        ],
        
      },
      data: [],
      prWorkPlanList:[],
      dialogType:1,
      prWorkChecked:[],
      rbChecked:[true,false,false,false],
      printType:'',
      checkWoId:''
    };
  },
  computed: {
    ...mapGetters(['permission']),
    ids() {
      let ids = [];
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(',');
    },
  },
  methods: {
    submitPrint(){
      this.previewOpen = false
      this.printType = '热表'
      this.showPrint = true
    },
    printPreview(val,type){
      this.dialogType = type
      this.checkedList = [true,true,true,true]
      this.previewOpen = true
    },
    closeDialog(){
      this.showPrint = false
      this.previewOpen = false
    },
    rbPrint(row,type){
      this.dialogType = type
      this.prWorkPlanList = []
      this.checkWoId = '2019646268865155074'
      // getProcessList({
      //   woId:'2019646268865155074'
      // }).then(res =>{
      //   console.log('res==========',res)
      //   res.data.data.forEach(ele =>{
      //     this.prWorkPlanList.push({
      //       orders:ele.ppsCode,
      //       procedureSet:{
      //         ppsName:ele.ppsName
      //       }
      //     })
      //   })
      //   this.checkedList = []
      //   for(let i = 0;i<this.prWorkPlanList.length;i++){
      //     this.checkedList.push(true)
      //   }
        this.previewOpen = true
      // })
    },
    inspectionRecord(row){
      console.log('row=============',row)
      window.open(window.PROCESS_INSPECTION_RECORD+'?woId='+row.woId)
    },
    rowSave(row, done, loading) {
      
    },
    rowUpdate(row, index, done, loading) {
      
    },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    searchChange(params, done) {
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
      done();
    },
    selectionChange(list) {
      this.selectionList = list;
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      this.loading = true;
      getList({
        current:this.page.currentPage,
        size:this.page.pageSize,
        ...params,
      }).then(res => {
        this.data = res.data.data.records
        this.page.total = res.data.data.total
        this.loading = false;
      }).catch(err => {
        this.loading = false;
      })
    //   this.data = [
    //     {
    //       index:0,
    //       id:'1',
    //       woCode:'WO-S23041025-R01',
    //       pjYieldOrder:{
    //         partCode:'21E8-004-4791-E9',
    //         productType:'XXXX',
    //         partName:'矩形插座壳体',
    //         plate:'XXX',
    //         prodIdent:'JHT',
    //         useDept:'制造五部',
    //         poArea:'2.4025137427',
    //         planUser:'王一冉',
    //         yieldType:1,
    //       },
    //       batchNo:'Y3772304266',
    //       cardNo:'1016818631',
    //       priorityTitle:'正常',
    //       makeQty:'35',
    //       demandDate:'2024-01-22',
    //       createTime:'2023-04-13 13:17:15',
    //       planEndDate:'2023-04-17 13:17:15',
    //       inventoryQty:'23',
    //       notInQty:'10',
    //       pickingStatusTitle:'已领取',
    //       runStatusTitle:'加工中',
    //       makeTeam:{
    //         tsName:'化学镀镍一班郭家梁'
    //       },
    //       procedureSet:{
    //         ppsName:'化学镀镍',
    //       },
    //       nextProcedureSet:{
    //         ppsName:'下挂',
    //       },
    //       nextMakeTeam:{
    //         tsName:'化学镀镍一班郭家梁',
    //       }
    //     },
    //     {
    //       index:1,
    //       id:'2',
    //       woCode:'WO-S23041025-R02',
    //       pjYieldOrder:{
    //         partCode:'21E8-004-4791-E9',
    //         productType:'XXXX',
    //         partName:'矩形插座壳体',
    //         plate:'XXX',
    //         prodIdent:'JHT',
    //         useDept:'制造五部',
    //         poArea:'2.4025137427',
    //         planUser:'王一冉',
    //         yieldType:2,
    //       },
    //       batchNo:'Y5982208950-1',
    //       cardNo:'1016818631',
    //       priorityTitle:'正常',
    //       makeQty:'35',
    //       demandDate:'2024-01-22',
    //       createTime:'2023-04-13 13:17:15',
    //       planEndDate:'2023-04-17 13:17:15',
    //       inventoryQty:'23',
    //       notInQty:'10',
    //       pickingStatusTitle:'已领取',
    //       runStatusTitle:'加工中',
    //       makeTeam:{
    //         tsName:'化学镀镍一班郭家梁'
    //       },
    //       procedureSet:{
    //         ppsName:'化学镀镍',
    //       },
    //       nextProcedureSet:{
    //         ppsName:'下挂',
    //       },
    //       nextMakeTeam:{
    //         tsName:'化学镀镍一班郭家梁',
    //       }
    //   },
    //   ]
    // //   getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
    // //     const data = res.data.data;
    //     this.page.total = this.data.length;
    // //     this.data = data.records;
    //     this.loading = false;
    //     setTimeout(() =>{
    //         this.selectionClear();

    //     },500)
    //   });
    },
  },
};
</script>

<style></style>
