春风项目四线(合箱线、总装线)
jiang
2024-01-29 93fc353b13ff10352f4f4a0190a396ef93000f9f
jcdm-ui/src/views/main/kb/repairMark/index.vue
@@ -2,7 +2,7 @@
  <div class="app-container">
    <el-card class="box-card" >
      <el-row>
        <el-divider style="margin-bottom: 10px"><span style="font-size: 40px">发动机返修标记系统</span></el-divider>
        <el-divider><span style="font-size: 30px">发动机返修标记系统</span></el-divider>
      </el-row>
      <el-row style="margin-top: 10px">
        <el-form :model="queryParams.sfcCode" ref="queryForm" :inline="true" label-width="68px" >
@@ -21,74 +21,82 @@
        </el-form>
      </el-row>
    </el-card>
    <el-row :gutter="0">
    <el-row>
      <el-col :span="20">
        <el-card style="margin-top: 10px; height: 490px;" class="box-card">
          <el-table border ref="multipleTable" :data="passingStationCollectionList"  @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column label="工单编号" width="120" align="center" prop="workOrderNo">
            </el-table-column>
            <el-table-column label="总成序列号" width="150" align="center" prop="sfcCode">
            </el-table-column>
            <el-table-column label="产品编号" align="center" prop="productCode">
            </el-table-column>
            <el-table-column label="产线编号" align="center" prop="productionLine">
            </el-table-column>
            <el-table-column label="工位编号" align="center" prop="locationCode">
            </el-table-column>
            <el-table-column label="入站时间" align="center" prop="inboundTime" width="100">
              <template slot-scope="scope">
                <span>{{ parseTime(scope.row.inboundTime, '{y}-{m}-{d}') }}</span>
              </template>
            </el-table-column>
            <el-table-column label="出站时间" align="center" prop="outboundTime" width="100">
              <template slot-scope="scope">
                <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d}') }}</span>
              </template>
            </el-table-column>
            <el-table-column label="是否合格" align="center" prop="outRsSign">
            </el-table-column>
            <el-table-column label="NG原因" align="center" prop="outMsgSign">
            </el-table-column>
            <el-table-column label="采集时间" align="center" prop="collectionTime" width="180">
              <template slot-scope="scope">
                <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d}') }}</span>
              </template>
            </el-table-column>
            <el-table-column label="节拍时间" align="center" prop="beatTime">
            </el-table-column>
          </el-table>
          <el-tabs v-model="activeName">
            <el-tab-pane label="过站采集" name="first">
              <el-table max-height="410px" border ref="multipleTable" :data="passingStationCollectionList"  @selection-change="handleSelectionChange">
                <el-table-column type="selection" width="55" align="center" />
<!--                <el-table-column label="工单编号" width="120" align="center" prop="workOrderNo">
                </el-table-column>-->
                <el-table-column label="发动机号" min-width="160" align="center" prop="sfcCode">
                </el-table-column>
<!--                <el-table-column label="产品编号" align="center" prop="productCode">
                </el-table-column>
                <el-table-column label="产线编号" align="center" prop="productionLine">
                </el-table-column>-->
                <el-table-column label="工位编号" align="center" prop="locationCode">
                </el-table-column>
                <el-table-column label="入站时间" align="center" prop="inboundTime" width="160">
                  <template slot-scope="scope">
                    <span>{{ parseTime(scope.row.inboundTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
                  </template>
                </el-table-column>
                <el-table-column label="出站时间" align="center" prop="outboundTime" width="160">
                  <template slot-scope="scope">
                    <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
                  </template>
                </el-table-column>
                <el-table-column label="是否合格" align="center" prop="outRsSign">
                </el-table-column>
<!--                <el-table-column label="NG原因" align="center" prop="outMsgSign">
                </el-table-column>-->
                <el-table-column label="采集时间" align="center" prop="collectionTime" width="160">
                  <template slot-scope="scope">
                    <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
                  </template>
                </el-table-column>
<!--                <el-table-column label="节拍时间" align="center" prop="beatTime">
                </el-table-column>-->
              </el-table>
            </el-tab-pane>
            <el-tab-pane label="返修记录" name="second" @tab-click="handleClick">
              <el-table max-height="410px" border :data="repairRecordList">
                <el-table-column label="发动机号" min-width="160" align="center" prop="boxCode" />
                <el-table-column label="工位号" align="center" prop="processesCode" />
                <el-table-column label="返修结果" align="center" prop="repairResults" />
                <el-table-column label="原结果" align="center" prop="originalResult" />
                <el-table-column label="返修时间" align="center"  prop="repairTime" />
              </el-table>
            </el-tab-pane>
          </el-tabs>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card style="margin-top: 10px; min-height: 490px" class="box-card">
          <el-button type="success" @click="selectAll" style="margin-left: 50px;width: 100px;margin-top: 10px">选择所有</el-button>
          <el-button type="success" @click="clearAll" style="margin-left: 50px; width: 100px;margin-top: 10px">取消选择</el-button>
          <el-button type="success" @click="selectUnqualified" style="margin-left: 50px; width: 100px;margin-top: 10px">选择不合格</el-button>
          <el-button type="success" @click="markComplete" style="margin-left: 50px; width: 100px;margin-top: 10px">标记完成</el-button>
          <el-button type="success" @click="repairRecord" style="margin-left: 50px; width: 100px;margin-top: 10px">返修记录</el-button>
          <el-button type="success" @click="operationLog" style="margin-left: 50px; width: 100px;margin-top: 10px">操作日志</el-button>
        <el-card style="margin-top: 10px; min-height: 490px">
          <el-row class="centered-row">
            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-s-grid" @click="selectAll" >选 择 所 有</el-button>
          </el-row>
          <el-row class="centered-row">
            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-close" @click="clearAll">取 消 选 择</el-button>
          </el-row>
          <el-row class="centered-row">
            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-document-remove" @click="selectUnqualified">选择不合格</el-button>
          </el-row>
          <el-row class="centered-row">
            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-s-flag" @click="markComplete">标 记 完 成</el-button>
          </el-row>
          <el-row class="centered-row">
          <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-files" @click="repairRecord">返 修 记 录</el-button>
        </el-row>
          <el-row class="centered-row">
            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-date" @click="operationLog" >操 作 日 志</el-button>
          </el-row>
        </el-card>
      </el-col>
    </el-row>
    <el-dialog v-dialogpop-up :visible.sync="open" width="700px" append-to-body>
      <span slot="title">
        <i class="el-icon-s-order"></i>
        返修进度
      </span>
      <el-table border :data="repairRecordList">
        <el-table-column label="发动机号" width="150" align="center" prop="boxCode" />
        <el-table-column label="工位号" align="center" prop="processesCode" />
        <el-table-column label="返修结果" align="center" prop="repairResults" />
        <el-table-column label="原结果" align="center" prop="originalResult" />
        <el-table-column label="返修时间" align="center" width="160" prop="repairTime" />
      </el-table>
      <div slot="footer" class="dialog-footer">
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
  </div>
@@ -96,15 +104,21 @@
<script>
import {
  listPassingStationCollection,
  noPageList,
  insertRepairRecordByIds
} from "@/api/main/da/passingStationCollection/passingStationCollection";
import {listRepairRecord} from "@/api/main/rm/repairRecord/repairRecord";
import {noPagelist} from "@/api/main/rm/repairRecord/repairRecord";
import {warning} from "@riophae/vue-treeselect/src/utils";
export default {
  name: "index",
  dicts: ['sys_normal_disable'],
  data(){
    return{
      loading: false,//刷新修改
      activeName: 'first',
      // 返修记录表格数据
      repairRecordList: [],
      // 是否显示弹出层
@@ -117,14 +131,24 @@
        outRsSign: '',
      },
      ids: [],
      allSelected: false
      allSelected: false,
      boxCode: '',
      // rules: {
      //   boxCode: [
      //     { required: true, message: "状态不能为空", trigger: "blur" }
      //   ]
      // },
    }
  },
  mounted() {
    this.getList()
    // this.getList()
  },
  methods:{
    handleClick(tab, event) {
      console.log(tab, event);
      this.$modal.msgSuccess(tab,event);
    },
    // 取消按钮
    cancel() {
      this.open = false;
@@ -146,16 +170,28 @@
    },
    markComplete(){
      if(this.ids.length === 0){
        this.$modal.msgSuccess('未选择');
        this.$message({
          message: '未标记!',
          type: 'warning'
        })
      }else {
        this.loading = true; // 开始加载数据
        this.$modal.msgSuccess('标记完成');
        let queryParams = {
          ids: this.ids
        }
        this.repairRecordList = []
        insertRepairRecordByIds(queryParams).then(response => {
               this.initRepairRecord(); // 刷新返修记录
               this.loading = false; // 结束加载数据
        }).catch(() => {
          this.loading = false; // 结束加载数据
        });
        // this.initRepairRecord()
        // this.getList();
      }
      this. handleQuery();
    },
    repairRecord(){
      this.$modal.msgSuccess('返修记录');
@@ -170,28 +206,37 @@
      this.multiple = !selection.length
    },
    repairProgressHandleQuery(){
      this.open = true;
      if(this.queryParams.engineNo === ''||this.queryParams.engineNo=== null){
        this.$modal.msgSuccess('请输入发动机号');
      }else {
        /** 查询返修记录列表 */
        let queryParams = {
          boxCode: this.queryParams.engineNo
        }
        listRepairRecord(queryParams).then(response => {
          this.repairRecordList = response.rows;
        });
      this.activeName = 'second'
    },
    initRepairRecord(){
      /** 查询返修记录列表 */
      let queryParams = {
        boxCode: this.queryParams.sfcCode
      }
      noPagelist(queryParams).then(response => {
        this.repairRecordList = response.rows;
      });
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.getList();
      let sfcCode = this.queryParams.sfcCode
      if(sfcCode === null||sfcCode ===''){
        this.$message({
          message: '请填写发动机号!',
          type: 'warning'
        });
      }else {
        // this.$modal.msgSuccess('搜索');
        this.getList();
        this.initRepairRecord();
      }
    },
    /** 查询产品过站采集列表 */
    getList() {
      listPassingStationCollection(this.queryParams).then(response => {
      noPageList(this.queryParams).then(response => {
        this.passingStationCollectionList = response.rows;
        this.total = response.total;
      });
    },
@@ -203,7 +248,12 @@
::v-deep .el-form-item__label{
  font-size: large;
}
::v-deep .el-card__body{
  padding: 15px 20px 0px 20px;
.el-icon-close {
  margin-left: 20px;
}
.centered-row {
  margin-top: 10px;
  display: flex;
  justify-content: center;
}
</style>