春风项目四线(合箱线、总装线)
jiang
2024-01-23 eb64c3ede631f9f1ec49260db5190027fa08fb31
jcdm-ui/src/views/main/kb/engineCheck/index.vue
@@ -1,78 +1,69 @@
<template>
  <div class="app-container">
    <el-card  style="height: 70px;margin-bottom: 10px" class="box-card" >
    <el-card   class="box-card" >
      <template>
        <div class="container">
          <el-row type="flex" justify="center"  style="text-align: center" >
            <el-col :span="12">
              <span style="fontSize:30px;color:black">--------------------发动机数据检查--------------------</span>
              <span style="fontSize:35px;color:black"><strong>发动机数据检查</strong></span>
            </el-col>
          </el-row>
        </div>
      </template>
    </el-card>
   <el-row :gutter="5"  style="margin-top: 10px">
     <el-col :span="10" >
       <el-card class="bottom-card">
         <el-descriptions :column="1" >
           <el-descriptions-item>
   <el-row :gutter="0"  >
     <el-col :span="14">
       <el-card   class="box-card" >
             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
               <el-form-item prop="engineNo" >
              <span slot="label" style="font-size:45px;color:black"><strong>发动机号</strong></span>
                 <el-input style="font-size:30px" v-model="form.engineNo" placeholder="请输入发动机号" >
                   <el-button slot="append" @click="EngineNohandleChange" icon="el-icon-search"></el-button>
              <span slot="label" style="font-size:40px;color:black"><strong>发动机号</strong></span>
                 <el-input style="font-size:30px" v-model="form.engineNo" placeholder="请输入发动机号" clearable  @keyup.enter.native="EngineNohandleChange" >
                   <el-button slot="append" plain type="info" @click="EngineNohandleChange(form.engineNo)" icon="el-icon-search"></el-button>
                 </el-input>
               </el-form-item>
             </el-form>
           </el-descriptions-item>
           <el-descriptions-item>
             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
               <el-form-item   prop="productType" >
              <span slot="label" style="font-size:45px;color:black"><strong>产品型号</strong></span>
                 <el-input disabled style="font-size:30px" v-model="form.productType" placeholder="" />
                 <span slot="label" style="font-size:40px;color:black"><strong>机型</strong></span>
                 <el-input disabled style="font-size:30px"  value="form.productType" v-model="form.productType" placeholder="" />
               </el-form-item>
             </el-form>
           </el-descriptions-item>
           <el-descriptions-item>
             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
               <el-form-item   prop="orderNo" >
              <span  slot="label" style="font-size:45px;color:black"><strong>工单编号</strong></span>
              <span  slot="label" style="font-size:40px;color:black"><strong>工单编号</strong></span>
                 <el-input disabled style="font-size:30px" v-model="form.orderNo" placeholder="" />
               </el-form-item>
             </el-form>
           </el-descriptions-item>
           <el-descriptions-item>
             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
               <el-form-item   prop="qualityStatus" >
              <span slot="label" style="font-size:45px;color:black"><strong>质量状态</strong></span>
                 <el-input disabled style="font-size:30px" v-model="form.qualityStatus" placeholder="" />
               <el-form-item   prop="currentWorkstation" >
              <span slot="label" style="font-size:40px;color:black"><strong>质量状态</strong></span>
                 <el-input disabled style="font-size:30px" v-model:value="form.add" placeholder="" />
               </el-form-item>
             </el-form>
           </el-descriptions-item>
         </el-descriptions>
         <el-divider></el-divider>
         <el-row :gutter="10" class="mb8" type="flex" justify="center"  style="text-align: center">
           <el-col :span="1.5">
             <el-button plain  style="width:400px;height:160px" v-hasPermi="['bs:formula:add']">
               <span   class="el-icon-thumb"   style="font-size:45px;color:black"></span>
               <span style="font-size:45px;color:black"><strong>强制上线</strong></span></el-button>
             <el-button plain  :disabled="buttondisabled" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']" @click="forceOnline">
               <span   class="el-icon-thumb"   style="font-size:40px;color:black"></span>
               <span style="font-size:45px;color:black"><strong>强制上线</strong></span>
             </el-button>
           </el-col>
         </el-row>
       </el-card>
     </el-col>
     <el-col :span="14"  inline style="height:600px;width:850px  ">
     <el-col :span="10"  inline >
       <el-tabs type="border-card"  >
         <el-card>
         <el-col :span="14"style="height: 270px;width:800px  ">
         <el-col :span="14"style="height: 248px;width:800px  ">
           <span style="font-size:25px"><strong>质量状态</strong></span>
           <el-divider></el-divider>
           {{queryParams.productType}}
           {{this.form.engineCheckList}}
         </el-col>
         </el-card>
         <el-card style="margin-top: 10px" >
         <el-col :span="14"style="height: 270px;width:800px  ">
         <el-col :span="14"style="height: 248px;width:800px  ">
           <span style="font-size:25px"><strong>最终结果</strong></span>
           <el-divider></el-divider>
           {{queryParams.productType}}
@@ -86,9 +77,8 @@
<script>
import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
import {listWorkshop} from "@/api/main/bs/workshop/workshop";
import axios from 'axios';
import { listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection } from "@/api/main/da/passingStationCollection/passingStationCollection";
import {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo";
export default {
  components: { },
@@ -96,80 +86,121 @@
  props: [],
  data() {
    return {
      options: [],
      total: 0,
      engineCheckList:[],
      showFlag:false,
      buttondisabled:true,
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        orderNo: null,
        engineNo: null,
        productType: '666',
        model: null,
        productionStatus: null,
        workingHours: null,
        productType:null,
        orderNo:null,
        qualityStatus:null,
        currentWorkstation: null,
        qualityStatus: null,
        whetherOrPrint: null,
        report10: null,
        report20: null,
        combinedBoxTime: null,
        finalAssemblyTime: null,
        operator: null,
        operateTime: null,
        status: null,
        spareField1: null,
        spareField2: null,
        spareField3: null,
        spareField4: null,
        createUser: null,
        updateUser: null,
        remarks: null
        add: null,
        engineCheckList:'暂无数据',
      },
      // 表单参数
      form: {},
      form: {
        engineNo: null,
        productType:null,
        orderNo:null,
        qualityStatus:null,
        currentWorkstation: null,
        add: null,
        engineCheckList:'暂无数据',
      },
      add: null,
    };
  },
  computed: {},
  watch: {},
  created() {
    this.initOrderScheduling();
  },
  created() {},
  mounted() {},
  methods: {
    reset() {
      this.form = {
        engineNo:null,
        productType:null,
        orderNo:null,
        qualityStatus:null,
        currentWorkstation: null,
        add: null,
        engineCheckList:'暂无数据',
      };
      this.resetForm("form");
    },
    EngineNohandleChange(){
      axios.get('@/api/main/bs/orderScheduling/orderScheduling', {
        params: {
          engineNo: this.engineNo,
        },
      })
        .then(response => {
          const dataFromOrderScheduling = response.data;
          if (dataFromOrderScheduling.length > 0) {
            const order = dataFromOrderScheduling[0];
            this.engineNo = order.engineNo;
            this.productType = order.productType;
            this.orderNo = order.orderNo;
          } else {
            // Handle case when no data is found
      if(this.form.engineNo !== null && this.form.engineNo !== undefined){
        let OrderSchedulingParam = {engineNo: null}
        OrderSchedulingParam.engineNo = this.form.engineNo;
        listOrderScheduling(OrderSchedulingParam).then(response => {
          if(response.total === 1 ){
            this.form.productType = response.rows[0].model
            this.form.orderNo = response.rows[0].orderNo
            this.form.qualityStatus = response.rows[0].qualityStatus
            this.form.currentWorkstation = response.rows[0].currentWorkstation
            this.form.add= response.rows[0].currentWorkstation+ response.rows[0].qualityStatus
            if(this.form.qualityStatus ==='不合格'){
              this.buttondisabled = false;
            }
            else{
              this.buttondisabled = true;
            }
          }
        })
        .catch(error => {
          console.error(error);
          else{
            this.reset();
            this.buttondisabled = true
            const h = this.$createElement;
            this.$message({
              message: h('p',null, [
                       h('span', null, '警告 '),
                       h('i', { style: 'color: black' }, '输入的发动机号有误'),
                       h()]),
              type: 'error',
              center: true,
              offset:300
            });
          }
        });
        let PassingStationCollectionParam = {sfcCode: null}
        PassingStationCollectionParam.sfcCode = this.form.engineNo;
        listPassingStationCollection(PassingStationCollectionParam).then(ponse =>{
          this.engineCheckList = ponse.rows.locationCode ;
          if(ponse.rows.length >= 1 && this.form.engineNo !== undefined){
            this.form.engineCheckList = ''
            for (let i = 0; i < ponse.rows.length; i++) {
              this.form.engineCheckList += '   工位:'+ ponse.rows[i].locationCode+'['+ponse.rows[i].outRsSign+']'
            }
          }
          else{
            this.form.engineCheckList = '暂无数据'
          }
        });
      }
    },
  },
    initOrderScheduling(){
      listOrderScheduling(this.queryParams).then(response => {
        this.form.queryParams = response.rows;
      });
    },
  }
</script>
<style scoped>
::v-deep .el-input__inner{
  height: 50px;
}
::v-deep .el-form-item__label {
  line-height: 50px;
}
/*.my-custom-modal .el-dialog__wrapper {*/
/*  width: 400px; !* 设置宽度 *!*/
/*  height: 200px; !* 设置高度 *!*/
/*  top: 50px; !* 设置距离页面顶部的位置 *!*/
/*  left: 50px; !* 设置距离页面左侧的位置 *!*/
/*}*/
</style>