春风项目四线(合箱线、总装线)
hdy
2024-01-31 254a3993588431f2f4c0e76f062d22b6f7db17ca
jcdm-ui/src/views/main/kb/prepareOnline/index.vue
@@ -1,67 +1,125 @@
<template>
  <div class="app-container">
    <el-card class="box-card">
      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
        <el-form-item label-width="120" label="工艺流程编码" prop="routeCode">
          <el-input
            v-model="queryParams.routeCode"
            placeholder="请输入工艺流程编码"
            clearable
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item style="float: right">
          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        </el-form-item>
      </el-form>
    </el-card>
    <el-card style="margin-top: 10px" class="box-card">
      <el-table border v-loading="loading" :data="dataList" v-if="dataList.length > 0">
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column :show-overflow-tooltip='true' label="工单编号" width="130" align="center">
          <template slot-scope="scope">
            <router-link :to="{path: '/main/route-data/index/', query: {routeCode: scope.row.routeCode,routeId: scope.row.id} }" class="link-type">
              <span>{{ scope.row.routeCode }}</span>
            </router-link>
          </template>
        </el-table-column>
        <el-table-column  :show-overflow-tooltip='true' label="产品小系列" width="130" align="center" prop="routeName">
        </el-table-column>
        <el-table-column label="SN流水号" width="130" align="center" prop="productCode">
        </el-table-column>
        <el-table-column label="状态" width="160" align="center" prop="productName">
        </el-table-column>
        <el-table-column label="是否打印" align="center" prop="version">
        </el-table-column>
        <el-table-column label="打印时间" align="center" prop="status">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
          </template>
        </el-table-column>
      </el-table>
      <el-empty v-else>
        <span slot="description">暂无数据</span>
      </el-empty>
    </el-card>
    <div style="height: 100%;width: 100%">
      <el-card class="box-card" >
        <el-form :model="queryParams.orderNo" ref="queryForm" :inline="true" >
          <el-form-item label="工单编号:" prop="orderNo" >
            <el-input
              style="width: 160px"
              v-model="queryParams.orderNo"
              placeholder="请输入工单编号"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item style="margin-left: 1%">
            <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">查询</el-button>
          </el-form-item>
          <el-form-item style="margin-left: 5%">
            <el-checkbox-group v-model="queryParams.isRepairFlag">
              <el-checkbox @change="cleanFlag" name="type"></el-checkbox>
            </el-checkbox-group>
          </el-form-item>
          <el-form-item  label="返修发动机号:" prop="repairEngineNo" >
            <el-input
              style="width: 160px"
              :disabled="!queryParams.isRepairFlag"
              v-model="queryParams.repairEngineNo"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-form>
      </el-card>
      <el-row :gutter="0">
        <el-col :span="20">
          <div style="height: 490px;">
            <el-card style="margin-top: 10px; height: 490px; width: 100%" class="box-card">
              <el-table border v-loading="loading" :data="dataList" height="460"
                        style="width: 100%" v-if="dataList.length > 0">
                <el-table-column :show-overflow-tooltip='true' label="工单编号"  align="center" prop="orderNo">
                </el-table-column>
                <el-table-column  :show-overflow-tooltip='true' label="产品小系列"  align="center" prop="model">
                </el-table-column>
                <el-table-column :show-overflow-tooltip='true' label="SN流水号"  align="center" prop="engineNo">
                </el-table-column>
                <el-table-column label="状态" width="80" align="center" prop="productionStatus">
                  <!--                <template slot-scope="scope">-->
                  <!--                  <span v-if="scope.row.productionStatus === '1'">是</span>-->
                  <!--                  <span v-if="scope.row.productionStatus === '0'">否</span>-->
                  <!--                </template>-->
                  <template slot-scope="scope">
                    <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/>
                  </template>
                </el-table-column>
                <el-table-column label="是否打印" width="80"  align="center" prop="whetherOrPrint">
                  <template slot-scope="scope">
                    <dict-tag :options="dict.type.print_status" :value="scope.row.whetherOrPrint"/>
                  </template>
                </el-table-column>
                <el-table-column label="打印时间" align="center" prop="null">
                </el-table-column>
              </el-table>
              <el-empty v-else>
                <span slot="description">暂无数据</span>
              </el-empty>
            </el-card>
          </div>
        </el-col>
        <el-col :span="4">
          <el-card style="margin-top: 10px; min-height: 490px" class="box-card">
            <div >
              <el-row class="centerImg" style="min-width: 80%;min-height: 90%">
                <vue-qr
                  v-if="qrCode !==''"
                  ref="qrCode"
                  :text="qrCode"
                  width="100%"
                  height="100%"
                ></vue-qr>
              </el-row>
              <el-row class="centerImg">
                <el-button type="success" style="margin-top: 80%; width: 100%">系统设置</el-button>
              </el-row>
            </div>
          </el-card>
        </el-col>
      </el-row>
    </div>
  </div>
</template>
<script>
import {listOrderScheduling2} from "@/api/main/bs/orderScheduling/orderScheduling";
import VueQr from 'vue-qr'
export default {
  name: "index",
  dicts: ['sys_normal_disable'],
  dicts: ['sys_normal_disable','order_scheduling_produce_status','print_status'],
  components: {
    VueQr,
  },
  data(){
    return{
      qrCode: '',
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        routeCode: null,
        routeName: null,
        productCode: null,
        productName: null,
        status: null,
        dataSource: null,
        orderNo: '',
        isRepairFlag: '',
        repairEngineNo: ''
      },
      dataList: []
    }
@@ -69,13 +127,58 @@
  methods:{
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    getList(){
      listOrderScheduling2(this.queryParams).then(response => {
        console.log("--------------------"+response.rows)
        this.dataList = response.rows
        if (this.queryParams.orderNo === '' || this.queryParams.orderNo === null){
          this.qrCode = ''
        }else {
          if (this.dataList.length > 0){
            this.qrCode = this.queryParams.orderNo
          }else {
            this.qrCode = ''
          }
        }
        console.log("qrcode",this.qrCode)
      });
    },
    filterTag(value, row) {
      return row.tag === value;
    },
    cleanFlag(){
      if (this.queryParams.isRepairFlag === false){
        this.queryParams.repairEngineNo = ''
      }
    },
    filterHandler(value, row, column) {
      const property = column['property'];
      return row[property] === value;
    },
  },
  mounted() {
    this.getList()
  }
}
</script>
<style scoped>
::v-deep .el-form-item__label{
  font-size: large;
}
::v-deep .el-card__body{
  padding: 15px 20px 0px 20px;
}
::v-deep .el-input .el-input--medium .el-input--suffix{
  width: 200px;
}
.centerImg{
  display: flex;
  justify-content: center;
  align-items: center;
}
</style>