zouyu
2024-02-26 8c761b12e99887b091de774783b561e2734f6c21
src/views/product/producttraceability/index.vue
@@ -2,16 +2,26 @@
  <div class="product-traceability-div">
    <div class="product-traceability-hearder-div">
      <div style="width: 600px;margin-left:3px;">
        <tRemoteSelect
          v-model="systemNo"
          :columns="partColumn"
          :data="partList"
          :formatter="labelFormatter"
          :selectLoading="selectLoading"
          :valueColumn="valueColumn"
          @selectChange="changePart()"
          @remoteSearch="queryPart"
        ></tRemoteSelect>
        <el-row :gutter="10">
            <el-col :span="16">
                <tRemoteSelect
                v-model="systemNo"
                :columns="partColumn"
                :data="partList"
                :formatter="labelFormatter"
                :selectLoading="selectLoading"
                :valueColumn="valueColumn"
                @selectChange="queryBatchNoData"
                @remoteSearch="queryPart"
                ></tRemoteSelect>
            </el-col>
            <el-col :span="8">
                <el-select @change="changePart" v-model="selBatchNo" class="lmes-select" placeholder="请选择批次号">
                    <el-option :label="item" :value="item" :key="index" v-for="(item,index) in selBatchNoList"></el-option>
                </el-select>
            </el-col>
        </el-row>
      </div>
      <div style="margin-left:20px;">
        <el-radio v-model="traceType" label="posite" @change="changeTraceType"
@@ -305,7 +315,7 @@
              </div>
            </div>
          </el-tab-pane>
          <el-tab-pane label="工步信息" name="工步信息">
          <!-- <el-tab-pane label="工步信息" name="工步信息">
            <div style="margin-top:10px;">
              <el-table
                ref="stepRecordTable"
@@ -330,7 +340,7 @@
                </el-table-column>
              </el-table>
            </div>
          </el-tab-pane>
          </el-tab-pane> -->
          <el-tab-pane label="检测信息" name="检测信息">
            <div style="margin-top:10px;">
              <el-tabs type="card">
@@ -975,7 +985,8 @@
import {
  queryByNo,
  queryDiagram,
  queryOperationTask
  queryOperationTask,
  queryByCustomerOrderId
} from '@/api/product/producttraceability'
import {
  getTemplateRecord,
@@ -1000,20 +1011,34 @@
      },
      selectLoading: false,
      systemNo: null,
      selBatchNo: null,
      selBatchNoList: [],
      selectedProductSystemNo: null,
      valueColumn: 'systemNo',
      valueColumn: 'customerOrderId',
      partColumn: [
        {
          prop: 'batchNo',
          label: '批次号'
          prop: 'customerOrderNo',
          label: '销售订单号'
        },
        {
          prop: 'systemNo',
          label: '系统号'
          prop: 'entityName',
          label: '项目名称'
        },
        {
          prop: 'partName',
          label: '零件名称'
          prop: 'partNo',
          label: '产品编号'
        },
        {
          prop: 'productName',
          label: '产品名称'
        },
        {
          prop: 'specs',
          label: '产品型号'
        },
        {
          prop: 'productType',
          label: '产品类型'
        }
      ],
      partList: [],
@@ -1112,6 +1137,15 @@
    this.resize()
  },
  methods: {
    queryBatchNoData(){
        queryByCustomerOrderId({customerOrderId : this.systemNo}).then(res=>{
            if(res.status===200){
                this.selBatchNoList = res.data.data
            }
        }).catch(error=>{
            console.error(error)
        })
    },
    // 加载浏览器窗口变化自适应
    resize() {
      window.addEventListener('resize', () => {
@@ -1182,14 +1216,14 @@
      const part = this.partList.find((item) => ele.systemNo === item.systemNo)
      if (part !== undefined) {
        partLabel =
          '系统号:' +
          part.systemNo +
          '销售订单号:' +
          part.customerOrderNo +
          '     ' +
          '零件名称:' +
          part.partName +
          '产品名称:' +
          part.productName +
          '     ' +
          '批次号:' +
          part.batchNo
          '产品编号:' +
          part.partNo
      }
      return partLabel
    },
@@ -1216,8 +1250,8 @@
      }
    },
    changePart() {
      if (this.systemNo != null && this.systemNo !== '') {
        const query = { systemNo: this.systemNo, traceType: this.traceType }
      if (this.selBatchNo != null && this.selBatchNo !== '') {
        const query = { systemNo: this.selBatchNo, traceType: this.traceType }
        queryDiagram(query)
          .then((response) => {
            var data = response.data
@@ -1262,7 +1296,6 @@
          _that.selectedProductSystemNo = nodeData.key.split('_')[0]
          // const query = { systemNo: 'XT000131' }
          const query = { systemNo: nodeData.key.split('_')[0] }
          console.log(query)
          queryOperationTask(query)
            .then((response) => {
              var data = response.data
@@ -1356,7 +1389,6 @@
                  _that.paramTabs = []
                } else {
                  // 工步信息
                  console.log('nodeData', nodeData.batchNo)
                  _that.getStepRecords({
                    id: _that.currOperateTask.id,
                    sn: nodeData.batchNo.split('SN号:')[1]
@@ -1384,7 +1416,6 @@
            })
        }
      })
      console.log(param.diagram.selection)
    },
    // 根据工单id,查询对应的工艺参数信息
    queryTechnologyInfo(taskId) {
@@ -1570,7 +1601,6 @@
    },
    // 切换追溯模式
    changeTraceType() {
      console.log('traceType', this.traceType)
      this.changePart()
    },
    paramsTableHeaderStyle({ row, column, rowIndex, columnIndex }) {