schangxiang@126.com
2024-09-06 f0c96eb16027787253d01e016f4d44458baed92f
测量岛数据展示
已添加2个文件
已修改1个文件
2101 ■■■■■ 文件已修改
yiqi_iwara-scada-web/src/api/modular/main/WorkPieceInfoManage.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yiqi_iwara-scada-web/src/views/main/AccessInterfaceLog/index.vue 455 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yiqi_iwara-scada-web/src/views/main/AccessInterfaceLog/modules/qualityDetail.vue 1638 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yiqi_iwara-scada-web/src/api/modular/main/WorkPieceInfoManage.js
@@ -91,7 +91,13 @@
    params
  })
}
export function accessInterfaceLogPage(params) {
  return axios({
    url: '/AccessInterfaceLog/page',
    method: 'get',
    params
  })
}
/**
 * å¯¼å‡ºåœ¨åˆ¶å“ç›‘控信息的Excel文件 å·¥ä»¶
 *
yiqi_iwara-scada-web/src/views/main/AccessInterfaceLog/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,455 @@
<template>
  <div>
    <x-card :bordered="false" v-if="hasPerm('WorkPieceProcess:page')">
      <div slot="content" class="table-page-search-wrapper">
        <a-form :label-col="labelCol" :wrapper-col="wrapperCol">
          <a-row :gutter="gutter">
            <!-- <a-col :md="colMd" :sm="colSm">
              <a-form-item label="查询维度">
                <a-select
                  @change="changeModel"
                  style="width: 100%"
                  v-model="queryParam.selectModel"
                  placeholder="请选择查询维度"
                >
                  <a-select-option v-for="(item, index) in modelEnums" :key="index" :value="item.code">
                    {{ item.name }}
                  </a-select-option>
                </a-select>
              </a-form-item>
            </a-col> -->
            <a-col :md="colMd" :sm="colSm">
              <a-form-item label="工件号">
                <a-input v-model="queryParam.workPieceID" allow-clear placeholder="请输入工件号" />
              </a-form-item>
            </a-col>
            <a-col :md="colMd" :sm="colSm">
            <a-form-item label="来源" >
                <a-input v-model="queryParam.createdUserName" allow-clear placeholder="请输入来源" />
              </a-form-item>
            </a-col>
            <a-col :md="colMd" :sm="colSm">
              <a-form-item label="工序">
                <a-select
                  allow-clear
                  style="width: 100%"
                  v-model="queryParam.WorkingProcedureCurrent"
                  placeholder="请选择工序"
                >
                  <a-select-option v-for="(item, index) in ProcessSelectData" :key="index" :value="item.code">
                    {{ item.name }}
                  </a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="colMd" :sm="colSm">
                <a-form-item label="质量状态">
                  <a-select
                    allow-clear
                    style="width: 100%"
                    v-model="queryParam.qualityState"
                    placeholder="请选择质量状态"
                  >
                    <a-select-option v-for="(item, index) in QualityState" :key="index" :value="item.code">
                      {{ item.name }}
                    </a-select-option>
                  </a-select>
                </a-form-item>
              </a-col>
            <a-col :md="colMd2" :sm="colSm2">
                <a-form-item :label="queryParam.selectModel == 1?'初始推送时间':'推送时间'">
                  <a-range-picker  style="width:100%" :show-time="{format:'HH:mm'}" v-model="queryParam.dates" format="YYYY-MM-DD HH:mm" />
                </a-form-item>
              </a-col>
            <!-- <template v-if="advanced">
            </template> -->
            <a-col :md="colMd" :sm="colSm">
              <span class="table-page-search-submitButtons">
                <a-button type="primary" @click="getData(1)">查询</a-button>
                <a-button style="margin-left: 8px" @click="resetQueryData">重置</a-button>
                <!-- <a @click="advanced = !advanced" style="margin-left: 8px">
                  {{ advanced ? '收起' : '展开' }}
                  <a-icon :type="advanced ? 'up' : 'down'" />
                </a> -->
              </span>
            </a-col>
          </a-row>
        </a-form>
      </div>
    </x-card>
    <a-card :bordered="false">
      <!-- <div style="margin-bottom:10px">
        <a-button type="info" icon="download" @click="exportExcel">导出Excel</a-button>
      </div> -->
      <a-spin :spinning="confirmLoading">
        <a-table
          :rowClassName="getRowBackGround"
          :columns="columns"
          :data-source="data"
          :pagination="pages"
          :rowKey="(record) => record.id"
        >
          <span slot="workPieceinitOnlineTime" slot-scope="text">
            <span v-if="text">{{ moment(moment(text)).format('YYYY-MM-DD HH:mm:ss') }}</span>
            <span v-else>{{ text }}</span>
          </span>
          <span slot="workPieceLastOfflineTime" slot-scope="text">
            <span v-if="text">{{ moment(moment(text)).format('YYYY-MM-DD HH:mm:ss') }}</span>
            <span v-else>{{ text }}</span>
          </span>
          <span slot="qualityDeatil" slot-scope="item, record">
            <a  @click="$refs.qualityDetail.show(record)">质量详情</a>
          </span>
        </a-table>
      </a-spin>
    </a-card>
    <qualityDetail ref="qualityDetail" />
  </div>
</template>
<script>
// å·¥ä»¶åŠ å·¥è¿½æº¯
import { STable, XCard } from '@/components'
import { downloadFile,getThisWeekRange } from '@/utils/util'
import moment from 'moment'
import {
  workPieceInfoMachiningPage,
  accessInterfaceLogPage,
  WorkPieceInfoToExcel,
  workPieceProcessToExcel
} from '@/api/modular/main/WorkPieceInfoManage'
// èŽ·å–è®¾å¤‡ä¸‹æ‹‰æ¡†æ•°æ®
import { getEquipmentName } from '@/api/modular/main/EquipmentBaseInfoManage'
import qualityDetail from './modules/qualityDetail.vue'
export default {
  components: {
    STable,
    XCard,
    qualityDetail
  },
  data() {
    return {
      gutter: 36,
      colMd: 6,
      colSm: 18,
      colMd2: 10,
      colSm2: 24,
      labelCol: {
        xs: { span: 24 },
        sm: { span: 7 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 17 }
      },
      advanced: false, // é«˜çº§æœç´¢ å±•å¼€/关闭
      confirmLoading: false,
      currentSelModel:2,//当前选择的维护
      queryParam: {
        selectModel:2,
        dates:[]
      },
      pages: {
        current: 1,
        pageSize: 10,
        total: 0,
        showSizeChanger: true,
        showTotal: (total, range) => `${range[0]}-${range[1]}共${total}条`,
        pageSizeOptions: ['10', '20', '30', '40','50','100','200','300','400','500'],
        onChange: this.getData,
        onShowSizeChange: this.pageSizeChange
      },
      columns: [
        {
          title: '序号',
          dataIndex: 'index',
          key: 'index',
          align: 'center',
          customRender: (text, record, index) => `${index + 1}`
        },
        {
          title: '工件号',
          align: 'center',
          sorter: true,
          dataIndex: 'workPieceID'
        },
        {
          title: '工序',
          align: 'center',
          sorter: true,
          dataIndex: 'workingProcedureCurrent'
        },
        {
          title: '质量状态',
          align: 'center',
          sorter: true,
          dataIndex: 'qualityStateName'
        },
        {
          title: '推送时间',
          align: 'center',
          sorter: true,
          dataIndex: 'createdTime'
        },
        {
          title: '来源',
          align: 'center',
          sorter: true,
          dataIndex: 'createdUserName'
        },
        {
          title: '质量详情',
          align: 'center',
          sorter: true,
          scopedSlots: { customRender: 'qualityDeatil' }
        }
      ],
      columns1: [
        {
          title: '工件状态',
          align: 'center',
          sorter: true,
          dataIndex: 'workPieceStateName'
        },
        {
          title: '设备名称',
          align: 'center',
          sorter: true,
          dataIndex: 'equipmentName'
          // scopedSlots: {customRender: 'equipmentName'}
        },
        {
          title: '初始推送时间',
          align: 'center',
          sorter: true,
          dataIndex: 'workPieceinitOnlineTime',
          scopedSlots: {
            customRender: 'workPieceinitOnlineTime'
          }
        },
        {
          title: '最终下线时间',
          align: 'center',
          sorter: true,
          dataIndex: 'workPieceLastOfflineTime',
          scopedSlots: {
            customRender: 'workPieceLastOfflineTime'
          }
        },
        {
          title: '加工时长',
          align: 'center',
          sorter: true,
          dataIndex: 'workPieceCurr'
        }
      ],
      columns2: [
      ],
      data: [],
      tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
      // åŠ è½½æ•°æ®æ–¹æ³• å¿…须为 Promise å¯¹è±¡
      // è®¾å¤‡ä¸‹æ‹‰æ¡†æ•°æ®
      equitypeData: [],
      // å·¥åºä¸‹æ‹‰æ¡†æ•°æ®
      WorkPieceSelectData: [],
      selectedRowKeys: [],
      selectedRows: [],
      QualityState: []
    }
  },
  watch: {
    'queryParam.selectModel': {
      handler(val, oldVal) {
        // var old_dates=this.queryParam.dates;
        // this.queryParam = { selectModel: val,dates:[] }
        // this.queryParam.dates = old_dates;
        // this.currentSelModel=val;
        // if (val == 1) {
        //   if (oldVal) {
        //     this.columns.splice(3, this.columns2.length)
        //   }
        //   this.columns.splice(3, 0, ...this.columns1)
        // } else if (val == 2) {
        //   this.columns.splice(3, this.columns1.length)
        //   this.columns.splice(3, 0, ...this.columns2)
        // }
      },
      immediate: true
    }
  },
  created() {
    this.getEquipmentName()
    this.ProcessSelectData = this.$options.filters['dictData']('process_type')
    this.IsHaveOP80Code = this.$options.filters['dictData']('yes_or_no')
    this.WorkPieceSelectData = this.$options.filters['dictData']('workpiece_state')
    this.modelEnums = [
      { name: '工件', code: 1 },
      { name: '工件+工序', code: 2 }
    ]
    this.QualityState = this.$options.filters['dictData']('quality_state')
    this.initData();
    this.getData()
  },
  methods: {
    initData(){
      this.queryParam.dates = [];
      this.queryParam.dates = getThisWeekRange();
    },
    //重置
    resetQueryData(){
      this.queryParam = { selectModel: this.currentSelModel,dates:[] }
      this.initData();
    },
    setDisabled() {
      this.data.forEach((item) => {
        if (item.operationTypeHand == 'SPC') {
          item.disabled =
            item.workingProcedureCurrent == 'OP05' ||
            //去掉OP70的不显示质量数据 ã€Editby shaocx,2024-08-18】
            //item.workingProcedureCurrent == 'OP70' ||
            item.workingProcedureCurrent == 'OP80'
        } else {
          item.disabled = item.workingProcedureCurrent == 'OP05' || item.workingProcedureCurrent == 'OP50'
          //去掉OP70的不显示质量数据 ã€Editby shaocx,2024-08-18】
          //|| item.workingProcedureCurrent == 'OP70'
        }
      })
    },
    moment,
    // æŸ¥è¯¢åˆ—表数据
    async getData(pageNo) {
      if (pageNo) this.pages.current = pageNo
      const { current, pageSize } = this.pages
      this.queryParam.pageNo = current
      this.queryParam.pageSize = pageSize
      this.confirmLoading = true
      try {
        if (this.queryParam.selectModel == 1) {
          const { data } = await workPieceInfoMachiningPage(this.switchingDate())
          this.data = data.rows
          this.pages.total = data.totalRows
        } else {
          const { data } = await accessInterfaceLogPage(this.switchingDate())
          this.data = data.rows
          this.pages.total = data.totalRows
        }
      } catch (error) {
        console.log(error)
      }
      this.confirmLoading = false
      this.setDisabled()
    },
    getRowBackGround(record) {
      if (this.queryParam.selectModel == 1) {
        switch (
          record.cololType // è¿™é‡Œæ ¹æ®æ¡ä»¶æ”¹å˜è¡¨æ ¼èƒŒæ™¯è‰²
        ) {
          case 1:
            return 'table-color-yellow'
          case 2:
            return 'table-color-green'
          case 3:
            return 'table-color-red'
          case 4:
            return 'table-color-blue'
          case 5:
            return 'table-color-gray'
        }
      }
    },
    // å¯¼å‡º
    exportExcel() {
      if (this.queryParam.selectModel == 1) {
        WorkPieceInfoToExcel(this.queryParam)
        .then((res) => {
          downloadFile(res)
        })
        .catch((err) => {
          console.info(err)
          this.$message.error('下载错误:获取文件流错误' + err)
        })
      } else {
        workPieceProcessToExcel(this.queryParam)
        .then((res) => {
          downloadFile(res)
        })
        .catch((err) => {
          console.info(err)
          this.$message.error('下载错误:获取文件流错误' + err)
        })
      }
    },
    /**
     * æŸ¥è¯¢å‚数组装
     */
    switchingDate() {
      const dates = this.queryParam.dates
      if (dates != null) {
        this.queryParam.startTimeBeginTime = moment(dates[0]).format('YYYY-MM-DD HH:mm')
        this.queryParam.startTimeEndTime = moment(dates[1]).format('YYYY-MM-DD HH:mm')
        if (dates.length < 1) {
          delete this.queryParam.startTimeBeginTime
          delete this.queryParam.startTimeEndTime
        }
      }
      const obj = JSON.parse(JSON.stringify(this.queryParam))
      return obj
    },
    getEquipmentName() {
      getEquipmentName().then((res) => {
        this.equitypeData = res.data
      })
    },
    onSelectChange(rows) {
      console.log(rows)
    },
    // è®¾å¤‡æŸ¥è¯¢æ¡†ç­›é€‰
    filterOption(input, option) {
      return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
    },
    // pageSize å˜åŒ–的回调
    pageSizeChange(current, size) {
      this.pages.pageSize = size
      this.getData(1)
    },
    changeModel() {
      this.data = []
    }
  }
}
</script>
<style lang="less">
.table-operator {
  margin-bottom: 18px;
}
button {
  margin-right: 8px;
}
.table-color-yellow{
  background-color: rgb(202, 202, 86);
}
.table-color-green{
  background-color: rgb(147, 228, 147);
}
.table-color-red{
  background-color: rgb(236, 157, 157);
}
.table-color-blue{
  background-color: rgb(156, 156, 231);
}
.table-color-gray{
  background-color: rgb(181, 172, 172);
}
</style>
yiqi_iwara-scada-web/src/views/main/AccessInterfaceLog/modules/qualityDetail.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1638 @@
<template>
  <a-modal :width="900" :visible="visible" title="质量详情" @cancel="close" ref="modal">
    <div ref="element" :style="{ height: height > 500 ? '500px' : 'auto' }" style="overflow-y: auto">
      <div class="detail_title">
        <div style="color: #000; font-size: 16px; font-weight: bold">工件号:{{ record.workPieceID }}</div>
        <!-- <div style="color: #f18201; font-size: 16px; font-weight: bold">
          æ“ä½œäººï¼š{{ record.qualityStateUpdateUser }}
        </div> -->
      </div>
      <!-- <div class="detail_item">
        <div>
          <span class="item_title">设备名称: </span> <span class="detail_data">{{ record.equipmentName }}</span>
        </div>
      </div> -->
      <div class="detail_item">
        <div>
          <span class="item_title">所属工序: </span>
          <span class="detail_data">{{ record.workingProcedureCurrent }}</span>
        </div>
      </div>
      <div class="detail_item">
        <div>
          <span class="item_title">质量状态: </span> <span class="detail_data">{{ record.qualityStateName }}</span>
        </div>
      </div>
<!--      <div class="detail_item">
        <div>
          <span class="item_title">操作方式: </span>
          <span class="detail_data">{{ record.qualityStateUpdateMode }}</span>
        </div>
      </div> -->
      <div v-if="record.operationTypeHand != 'SPC'">
        <div class="detail_item" v-for="(item, index) in qualityDataCurrent" :key="index">
          <div>
            <span class="item_title">{{ item.title }}: </span>
            <span class="detail_data">{{ data[item.dataIndex] }}</span>
          </div>
        </div>
      </div>
      <div v-else>
        <div class="detail_item" v-for="(item, index) in qualityDataCurrent" :key="index">
          <div>
            <div class="item_title">{{ item.name }}:</div>
            <div>
              <!-- <a-row :gutter="[16,16]">
                <a-col :span="8" v-for="(obj, ind) in item.data" :key="ind">
                  <div>{{ obj.title }}:{{ data[obj.dataIndex] }}</div>
                </a-col>
              </a-row> -->
              <div style="display:flex;flex-wrap: wrap;">
                <div style="width:33%;margin-bottom:10px" v-for="(obj, ind) in item.data" :key="ind">
                  <div ><span style="font-weight:600">{{ obj.title }}:</span>{{ data[obj.dataIndex] }}</div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <template slot="footer">
      <a-button type="primary" @click="close">关闭</a-button>
    </template>
  </a-modal>
</template>
  <script>
import { GetQualityInfoForID, GetQualityInfoSPCForID } from '@/api/modular/main/WorkPieceProcessManage'
const qualityDataAll = {
  EOP10: [
    {
      title: '连杆厚度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP10To1'
    }
  ],
  EOP40: [
    {
      title: '连杆厚度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP40To1'
    }
  ],
  EOP20: [
    {
      title: '小头孔直径',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP20To1'
    }
  ],
  EOP30: [
    {
      title: '涨断力矩',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP30To1'
    },
   {
     title: '预拧紧力矩(CH1)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To2'
   },
   {
     title: '预拧紧力矩(CH2)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To8'
   },
   {
     title: '最终力矩(CH3)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To3'
   },
   {
     title: '终拧紧力矩(CH3)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To4'
   },
   {
     title: '终拧紧角度(CH3)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To5'
   },
   {
     title: '最终力矩(CH4)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To9'
   },
   {
     title: '终拧紧力矩(CH4)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To10'
   },
   {
     title: '终拧紧角度(CH4)',
     align: 'center',
     sorter: true,
     dataIndex: 'qualityOP30To11'
   },
    {
      title: '衬套压装力矩',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP30To6'
    },
    {
      title: '衬套压装位移',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP30To7'
    }
  ],
  EOP35: [
    {
      title: '压装力矩',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP35To1'
    },
    {
      title: 'Y轴位移',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP35To2'
    }
  ],
  EOP60: [
    {
      title: '大头孔直径',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP60To1'
    },
    {
      title: '小头孔直径',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP60To2'
    }
  ],
  EOP70: [
    {
      title: '清洗温度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP70To1'
    },
    {
      title: '清洗压力',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP70To2'
    },
    {
      title: '出口处工件温度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP70To3'
    }
  ],
  EOP80: [
    {
      title: '厚度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_Houdu'
    },
    {
      title: '中心距',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_ZXJ'
    },
    {
      title: '大头孔圆柱度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_DTKYZD'
    },
    {
      title: '小头上面圆度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_XTSMYD'
    },
    {
      title: '小头下面圆度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_XTXMYD'
    },
    {
      title: '大头孔直径',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_D_TKZJ'
    },
    {
      title: '小头孔直径',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80_X_TKZJ'
    },
    {
      title: '大头重量',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To1'
    },
    {
      title: '小头重量',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To2'
    },
    {
      title: '总重',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To3'
    },
    {
      title: '弯曲',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To4'
    },
    {
      title: '扭度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To5'
    },
    {
      title: '大头垂直度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To6'
    },
    {
      title: '小头垂直度',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To10'
    },
    {
      title: '大头孔分组级别',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To7'
    },
    {
      title: '小头孔分组级别',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To8'
    },
    {
      title: '重量组别',
      align: 'center',
      sorter: true,
      dataIndex: 'qualityOP80To9'
    }
  ]
}
const qualityDataAllspC = {
  OP10: {
    SZB: {
      name: '三坐标',
      data: [
        {
          title: '两端面厚',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP10_M1_DMH'
        },
        {
          title: '平面度_23',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP10_M2_PMD'
        },
        {
          title: '平行度',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP10_M3_PXD'
        },
        {
          title: '平面度_25',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP10_M4_PMD'
        },
        {
          title: '对称度',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP10_M5_DCD'
        }
      ]
    },
    RGT: {
      name: '人工检测台',
      data: [
        {
          title: 'OP10端面粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP10_M1_DMC'
        }
      ]
    }
  },
  OP20: {
    SZB: {
      name: '三坐标',
      data: [
        {
          title: '1_直径_B_24',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M1_ZJB'
        },
        {
          title: '2_圆柱度_0.008_B',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M2_YZD'
        },
        {
          title: '4_垂直度_0.05C',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M3_CZD'
        },
        {
          title: '4_垂直度_0.05C.X',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M4_CZD'
        },
        {
          title: '4_垂直度_0.05C.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M5_CZD'
        },
        {
          title: '5_位置度_0.5D',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M6_WZD'
        },
        {
          title: '5_位置度_0.5D.X',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M7_WZD'
        },
        {
          title: '5_位置度_0.5D.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M8_WZD'
        },
        {
          title: '7_直径_A _51.4',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M9_ZJA'
        },
        {
          title: '9_X_144.5_B',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M10_144B'
        },
        {
          title: '10_直径_K2_D8.3',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M11_ZJK'
        },
        {
          title: '12_X_23.5_1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M12_12X'
        },
        {
          title: '10_直径_K1_D8.3',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M13_ZJK'
        },
        {
          title: '12_X_23.5_2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M14_12X'
        },
        {
          title: '13_垂直度_0.08K_1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M15_CZD'
        },
        {
          title: '13_垂直度_0.08K_2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M16_CZD'
        },
        {
          title: '14_距离_Y_44.5_Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M17_JLY'
        },
        {
          title: '15_对称度_0.2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M18_DCD'
        },
        {
          title: '15_对称度_0.2.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M19_DCD'
        },
        {
          title: '16_位置度_0.2_1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M20_WZD'
        },
        {
          title: '16_位置度_0.2_1.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M21_WZD'
        },
        {
          title: '16_位置度_0.2_1.Z',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M22_WZD'
        },
        {
          title: '16_位置度_0.2_2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M23_WZD'
        },
        {
          title: '16_位置度_0.2_2.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M24_WZD'
        },
        {
          title: '16_位置度_0.2_2.Z',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M25_WZD'
        },
        {
          title: '20同轴度_0.15_1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M26_TZD'
        },
        {
          title: '20同轴度_0.15_1.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M27_TZD'
        },
        {
          title: '20同轴度_0.15_1.Z',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M28_TZD'
        },
        {
          title: '20同轴度_0.15_2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M29_TZD'
        },
        {
          title: '20同轴度_0.15_2.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M30_TZD'
        },
        {
          title: '20同轴度_0.15_2.Z',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M31_TZD'
        },
        {
          title: 'X-值_35',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M32_35X'
        },
        {
          title: '直径_圆柱_D8_1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M33_ZJ1'
        },
        {
          title: '直径_圆柱_D8_2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP20_M34_ZJ2'
        }
      ]
    },
    RGT: {
      name: '人工检测台',
      data: [
        {
          title: 'OP20螺栓座面粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M1_LMC'
        },
        {
          title: 'OP20螺栓座面根部弧面粗糙度:Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M2_LHC'
        },
        {
          title: 'OP20连杆大头孔粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M3_LDC'
        },
        {
          title: 'OP20大头孔侧角粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M4_DJC'
        },
        {
          title: 'OP20小头孔侧角粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M5_XJC'
        },
        {
          title: 'OP20螺栓孔粗糙度Rz50',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M6_LKC'
        },
        {
          title: 'OP20螺栓孔倒角粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M7_LJC'
        },
        {
          title: 'OP20打标记面粗糙度Rz100',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M8_BMC'
        },
        {
          title: 'OP20左螺纹M8X1-6H',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M9_ZLW'
        },
        {
          title: 'OP20右螺纹M8X1-6H',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M10_YLW'
        },
        //暂时废弃参数 [Editby shaocx,2024-08-11]
        // {
        //   title: 'OP20螺纹左底孔直径7.51-7.59(手持量规P90)有螺纹跳过',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'rgT_OP20_M11_ZWT'
        // },
        // {
        //   title: 'OP20螺纹右底孔直径7.51-7.59(手持量规P90)有螺纹跳过',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'rgT_OP20_M12_YWT'
        // },
        {
          title: 'OP20螺栓孔左深度26±0.2(手持量规P91)',
          align: 'center',
          sorter: true,
          //dataIndex: 'rgT_OP20_M13_LZS'
             //变更 ã€Editby shaocx,2024-08-09】
             dataIndex: 'rgT_OP20_M11_LZS'
        },
        {
          title: 'OP20螺栓孔右深度26±0.2(手持量规P91)',
          align: 'center',
          sorter: true,
          //dataIndex: 'rgT_OP20_M14_LYS'
          //变更 ã€Editby shaocx,2024-08-09】
          dataIndex: 'rgT_OP20_M12_LZS'
        },
        {
          title: 'OP20螺纹左底孔深度42Max(手持量规P92)',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP20_M13_LZD'
        },
        {
          title: 'OP20螺纹右底孔深度42Max(手持量规P92)',
          align: 'center',
          sorter: true,
          //dataIndex: 'rgT_OP20_M16_LYD'
           //变更 ã€Editby shaocx,2024-08-09】
           dataIndex: 'rgT_OP20_M14_LYD'
        },
        {
          title: 'OP20螺纹左深度38.3(+1/0)(电子螺纹深度规)',
          align: 'center',
          sorter: true,
          //dataIndex: 'rgT_OP20_M17_LZS'
            //变更 ã€Editby shaocx,2024-08-09】
            dataIndex: 'rgT_OP20_M15_LZS'
        },
        {
          title: 'OP20螺纹右深度38.3(+1/0)(电子螺纹深度规)',
          align: 'center',
          sorter: true,
          //dataIndex: 'rgT_OP20_M18_LYS'
          //变更 ã€Editby shaocx,2024-08-09】
          dataIndex: 'rgT_OP20_M16_LYS'
        },
        {
          title: 'OP20大头孔毛坯外圆轮廓相对于大头孔同轴度φ1',
          align: 'center',
          sorter: true,
          //dataIndex: 'rgT_OP20_M19_DLK'
          //变更 ã€Editby shaocx,2024-08-09】
          dataIndex: 'rgT_OP20_M17_DLK'
        }
      ]
    },
    SPC: {
      name: 'SPC',
      data: [
        {
          title: 'OP20标记面小头孔粗糙度Rz6-9',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M1_BXC'
        },
        {
          title: 'OP20标记面大头孔倒角深度2.1±0.15',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M5_BDS'
        },
        {
          title: 'OP20标记面大头孔倒角角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M6_BDJ'
        },
        {
          title: 'OP20标记面小头孔倒角深度0.5±0.2',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M7_BXS'
        },
        {
          title: 'OP20标记面小头孔倒角角度30°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M8_BXJ'
        },
        {
          title: 'OP20标记面右螺栓孔左倒角深度0.6(+0.4/0)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M9_BYS'
        },
        {
          title: 'OP20标记面右螺栓孔左倒角角度30°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M10_BYJ'
        },
        //暂时废弃参数 [Editby shaocx,2024-08-11]
        // {
        //   title: 'OP20标记面左螺栓孔左倒角深度0.6(+0.4/0)',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'spC_OP20_M11_BZS'
        // },
        // {
        //   title: 'OP20标记面左螺栓孔左倒角角度30°',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'spC_OP20_M12_BZJ'
        // },
        {
          title: 'OP20非标记面大头孔倒角深度2.1±0.15',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M13_FDS'
        },
        {
          title: 'OP20非标记面大头孔倒角角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M14_FDJ'
        },
        {
          title: 'OP20非标记面小头孔倒角深度0.5±0.2',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M15_FXS'
        },
        {
          title: 'OP20非标记面小头孔倒角角度30°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M16_FXJ'
        },
        {
          title: 'OP20非标记面左螺栓孔左倒角深度0.6(+0.4/0)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M17_FZS'
        },
        {
          title: 'OP20非标记面左螺栓孔左倒角角度30°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP20_M18_FZJ'
        },
        //暂时废弃参数 [Editby shaocx,2024-08-11]
        // {
        //   title: 'OP20非标记面右螺栓孔左倒角深度0.6(+0.4/0)',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'spC_OP20_M19_FYS'
        // },
        // {
        //   title: 'OP20非标记面右螺栓孔左倒角角度30°',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'spC_OP20_M20_FYJ'
        // }
      ]
    }
  },
  OP30: {
    SZB: {
      name: '三坐标',
      data: [
        {
          title: '43_断面高度差0',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP30_M1_DMG'
        },
        {
          title: '44_大头圆度',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP30_M2_DYD'
        }
      ]
    },
    RGT: {
      name: '人工检测台',
      data: [
        {
          title: 'OP30衬套压装角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M1_YZJ'
        },
        {
          title: 'OP30左螺栓终力矩管理范围35-70N.m',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M2_ZLX'
        },
        {
          title: 'OP30右螺栓终力矩管理范围35-70N.m',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M3_YLX'
        },
        {
          title: 'OP30胀断面掉渣不允许超过2X2.5mm',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M4_DFW'
        },
        {
          title: 'OP30胀断面上连杆螺栓孔内壁不允许有任何形式的裂纹',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M5_LXW'
        },
        {
          title: 'OP30胀断面上不允许有次级裂纹',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M6_MLW'
        },
        {
          title: 'OP30胀断面上轮廓高度峰谷或谷的高度应小于2',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M7_LKG'
        },
        {
          title: 'OP30应力槽左深度0.3-0.8',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M8_CZS'
        },
        {
          title: 'OP30应力槽右深度0.3-0.8',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M9_CYS'
        },
        {
          title: 'OP30左螺栓扭矩达到20',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M10_ZLX'
        },
        {
          title: 'OP30右螺栓扭矩达到20',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M11_YLX'
        },
        {
          title: 'OP30左螺栓力矩管理范围35-70N.m',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M12_ZXF'
        },
        {
          title: 'OP30左螺栓力矩管理角度90±5',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M13_ZXJ'
        },
        {
          title: 'OP30右螺栓力矩管理范围35-70N.m',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M14_YXF'
        },
        {
          title: 'OP30右螺栓力矩管理角度90±5',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M15_YXJ'
        },
        {
          title: 'OP30胀断线外侧材料折断(掉渣缝隙)长度不超过2,高度不超过2',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M16_ZDG'
        },
        {
          title: 'OP30连杆按规定的扭矩拧紧后,胀断面应无任何明显可见的胀断线痕迹',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP30_M17_ZDF'
        }
      ]
    }
  },
  OP35: {
    RGT: {
      name: '人工检测台',
      data: [
        {
          title: 'OP35连杆小头衬套贴合度条件一',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP35_M26_LXT1'
        },
        {
          title: 'OP35连杆小头衬套贴合度条件二',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP35_M27_LXT2'
        }
      ]
    }
  },
  OP40: {
    SZB: {
      name: '三坐标',
      data: [
        {
          title: '距离_22',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M1_JL22'
        },
        {
          title: '平面度_D_0.03',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M2_PMD'
        },
        {
          title: '平面度_C_0.03',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M3_PMC'
        },
        {
          title: '平行度_0.05',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M4_PXD'
        },
        {
          title: '对称1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M5_DC1'
        },
        {
          title: '垂直度1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M6_ZCD'
        },
        {
          title: '垂直度1.X',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M7_ZCD'
        },
        {
          title: '垂直度1.Y',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP40_M8_ZCD'
        }
      ]
    },
    SPC: {
      name: 'SPC',
      data: [
        {
          title: 'OP40标记面两端面粗糙度:Rz10',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP40_M1_BDC'
        },
        {
          title: 'OP40非标记面两端面粗糙度:Rz10',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP40_M2_FDC'
        }
      ]
    }
  },
  OP50: {
    SZB: {
      name: '三坐标',
      data: [
        {
          title: '距离_17_3d',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M1_JL17'
        },
        {
          title: '对称_0.3_C',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M2_DCC'
        },
        {
          title: '对称_0.3_C.Z',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M3_DCC'
        },
        {
          title: '倾斜度_12°-1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M4_QXD'
        },
        {
          title: '倾斜度_12°-2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M5_QXD'
        },
        {
          title: '元素夹角1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M6_YSJ1'
        },
        {
          title: '元素夹角2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M7_YSJ2'
        },
        {
          title: '垂线长度_垂直线1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M8_CZX1'
        },
        {
          title: '垂线长度_垂直线2',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP50_M9_CZX2'
        }
      ]
    },
    RGT: {
      name: '人工检测台',
      data: [
        {
          title: 'OP50小头端斜面粗糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP50_M28_XMC'
        }
      ]
    },
    SPC: {
      name: 'SPC',
      data: [
        {
          title: 'OP50标记面小头孔倒角深度一0.8(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP50_M21_BXS1'
        },
        {
          title: 'OP50标记面小头孔倒角深度二0.8(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP50_M22_BXS2'
        },
        {
          title: 'OP50标记面小头孔倒角二角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP50_M23_BXJ'
        },
        {
          title: 'OP50非标记面小头孔倒角深度一0.8(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP50_M24_FXS1'
        },
        {
          title: 'OP50非标记面小头孔倒角深度二0.8(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP50_M25_FXS2'
        },
        {
          title: 'OP50非标记面小头孔倒角二角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP50_M26_FXJ'
        }
      ]
    }
  },
  OP60: {
    SZB: {
      name: '三坐标',
      data: [
        //新增参数 [Editby shaocx,2024-08-11]
         {
          title: '键槽深度(1.5 +0.5/0)',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP60_M1_CSD'
        },
        {
          title: '键槽宽度_3.2_Z(+0.1/0)',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP60_M2_CKD'
        },
        {
          title: '距离——2.3±0.1',
          align: 'center',
          sorter: true,
          dataIndex: 'szB_OP60_M3_CJL'
        },
        //暂时废弃参数 [Editby shaocx,2024-08-11]
        // {
        //   title: '直径_22_圆B',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M1_ZJB'
        // },
        // {
        //   title: '圆度_0.003_B',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M2_YDB'
        // },
        // {
        //   title: '平行度_0.2_A',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M3_PXD'
        // },
        // {
        //   title: '平行度_0.2_A.Y',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M4_PXD'
        // },
        // {
        //   title: '平行度_0.075_A',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M5_PXD'
        // },
        // {
        //   title: '平行度_0.075_A.X',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M6_PXD'
        // },
        // {
        //   title: '直径_53_圆A',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M7_ZJA'
        // },
        // {
        //   title: '圆柱度_0.005',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M8_YZD'
        // },
        // {
        //   title: 'X_144.5_圆B',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M9_144X'
        // },
        // {
        //   title: '结果元素1',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M10_YS1'
        // },
        // {
        //   title: '距离_3.2_Z',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M11_JLZ'
        // },
        // {
        //   title: '垂线长度_2.3',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M12_CXC'
        // },
        // {
        //   title: '垂直度_0.04_A-C',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M13_CZD'
        // },
        // {
        //   title: '垂直度_0.04_A-C.X',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M14_CZD'
        // },
        // {
        //   title: '垂直度_0.04_A-C.Y',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M15_CZD'
        // },
        // {
        //   title: '垂直度_0.04_B-C',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M16_CZD'
        // },
        // {
        //   title: '垂直度_0.04_B-C.X',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M17_CZD'
        // },
        // {
        //   title: '垂直度_0.04_B-C.Y',
        //   align: 'center',
        //   sorter: true,
        //   dataIndex: 'szB_OP60_M18_CZD'
        // }
      ]
    },
   RGT: {
      name: '人工检测台',
      data: [
        {
          title: 'OP60线槽长度12.6(0.2/0)(电子卡尺)',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP60_M29_XCD'
        },
        {
          title: 'OP60线槽糙度Rz25',
          align: 'center',
          sorter: true,
          dataIndex: 'rgT_OP60_M30_XCD'
        }
      ]
    },
    SPC: {
      name: 'SPC',
      data: [
        {
          title: 'OP60标记面小头孔粗糙度:Rz3',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M3_BXC'
        },
        {
          title: 'OP60标记面大头孔粗糙度:Rz6.3',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M4_BDC'
        },
        {
          title: 'OP60标记面大头孔倒角深度1(+0.2/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M42_BDS'
        },
        {
          title: 'OP60标记面大头孔倒角角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M43_BDJ'
        },
        {
          title: 'OP60标记面小头孔倒角深度一0.6(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M44_BXS1'
        },
        {
          title: 'OP60标记面小头孔倒角深度二0.6(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M45_BXS2'
        },
        {
          title: 'OP60标记面小头孔倒角角度二45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M46_BXJ'
        },
        {
          title: 'OP60标记面键槽侧面倒角深度0.5max',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M47_BCS'
        },
        {
          title: 'OP60标记面键槽侧面倒角角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M48_BCJ'
        },
        {
          title: 'OP60非标记面大头孔倒角深度1(+0.2/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M49_FDS'
        },
        {
          title: 'OP60非标记面大头孔倒角角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M50_FDJ'
        },
        {
          title: 'OP60非标记面小头孔倒角深度一0.6(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M51_FXS1'
        },
        {
          title: 'OP60非标记面小头孔倒角深度二0.6(+0.3/-0.2)',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M52_FXS2'
        },
        {
          title: 'OP60非标记面小头孔倒角角度二45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M53_FXJ'
        },
        {
          title: 'OP60非标记面键槽侧面倒角深度0.5max',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M54_FCS'
        },
        {
          title: 'OP60非标记面键槽侧面倒角角度45°',
          align: 'center',
          sorter: true,
          dataIndex: 'spC_OP60_M55_FCJ'
        }
      ]
    },
    M31: {
      name: 'M31',
      data: [
        {
          title: 'Big_End_Top_X_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M1_BTX'
        },
        {
          title: 'Big_End_Top_Y_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M2_BTY'
        },
        {
          title: 'Big_End_Bot_X_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M3_BBX'
        },
        {
          title: 'Big_End_Bot_Y_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M4_BBY'
        },
        {
          title: 'Big_End_Cylindricity',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M5_BCY'
        },
        {
          title: 'Small_End_Top_X_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M6_STX'
        },
        {
          title: 'Small_End_Top_Y_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M7_STY'
        },
        {
          title: 'Small_End_Bot_X_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M8_SBX'
        },
        {
          title: 'Small_End_Bot_Y_Dia',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M9_SBY'
        },
        {
          title: 'Small_End_Top_Ovalit',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M10_STO'
        },
        {
          title: 'Small_End_Bot_Ovalit',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M11_SBO'
        },
        {
          title: 'Distance',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M12_DSC'
        },
        {
          title: 'Twist to A',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M13_TTA'
        },
        {
          title: 'Bend to A',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M14_BTA'
        },
        {
          title: 'Big_End_C_Squareness',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M15_SQE'
        },
        {
          title: 'Sma_eND_c_Squareness',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M16_SQE'
        },
        {
          title: '大孔垂直度X向0.04',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M17_SQE'
        },
        {
          title: '大孔垂直度Y向0.04',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M18_SQE'
        },
        {
          title: '厚度21.825±0.025',
          align: 'center',
          sorter: true,
          dataIndex: 'm31_OP60_M19_SQE'
        },
      ]
    }
  }
}
export default {
  name: 'QualityDetail',
  data() {
    return {
      visible: false,
      height: 0,
      record: {},
      qualityDataAll,
      qualityDataAllspC,
      qualityDataCurrent: [],
      data: {}
    }
  },
  methods: {
    show(record) {
      this.visible = true
      this.record = record
      console.log(this.record)
      if (record) {
        record.operationTypeHand = 'SPC'
        if (record.operationTypeHand == 'SPC') {
          this.getQualityInfoForID()
          this.qualityDataCurrent = this.qualityDataAllspC[record.workingProcedureCurrent]
        } else {
          this.getQualityInfoForID()
          for (var key in this.qualityDataAll) {
            if (record.equipmentID == 'EOP10' && record.workingProcedureCurrent=='OP40') {
              debugger
              this.qualityDataCurrent = this.qualityDataAll.EOP40
              break
            } else {
              if (key == record.equipmentID) {
                this.qualityDataCurrent = this.qualityDataAll[key]
                break
              }
            }
          }
        }
      }
      this.$nextTick(() => {
        this.height = this.$refs.element.offsetHeight // 100
      })
    },
    async getQualityInfoForID() {
      this.record.operationType = 'SPC'
      const { id, workPieceID, workingProcedureCurrent, operationType } = this.record
      const params = { qualityDataInfoID:id, workPieceID, operationType, workingProcedure: workingProcedureCurrent }
      if (!params.operationType) {
        params.operationType = ''
      }
      if (operationType == 'SPC') {
        console.log(params)
        try {
          const { data } = await GetQualityInfoSPCForID(params)
          this.data = data || {}
        } catch (error) {
          console.log(error)
        }
      } else {
        try {
          const { data } = await GetQualityInfoForID(params)
          this.data = data || {}
        } catch (error) {
          console.log(error)
        }
      }
    },
    close() {
      this.visible = false
      this.height = 0
      this.qualityDataCurrent = []
      this.data = {}
    }
  }
}
</script>
  <style lang="less" scoped>
.detail_title {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 2px solid #f2f2f2;
}
.detail_item {
  font-size: 15px;
  padding: 10px 0 10px 5px;
  border-bottom: 2px solid #f2f2f2;
  .item_title {
    color: #000;
  }
  .detail_data {
    margin-left: 10px;
  }
  .detail_image {
    width: 80px;
    height: 80px;
    margin-right: 5px;
  }
}
</style>