loulijun2021
2022-12-01 0587a1eab55c688ccb9c69c768c5fd247adb407c
src/views/kb/cjzl.vue
@@ -51,10 +51,19 @@
              height="927"
            >
              <el-table-column
                prop="rq"
                prop="lm_date"
                label="日期"
                width="115"
              />
              >
                <template slot-scope="{row}">
                  <div
                    v-if="row.lm_date"
                  >
                    {{ row.lm_date.substring(0,11) }}
                  </div>
                  <div v-else />
                </template>
              </el-table-column>
              <el-table-column
                prop="cxmc"
                width="95"
@@ -65,12 +74,12 @@
                </template>
              </el-table-column>
              <el-table-column
                prop="jgdh"
                prop="wo_code"
                label="生产单号"
                width="165"
                width="188"
              >
                <template slot-scope="{row}">
                  <div style="color: #00FFFF">{{ row.jgdh }}</div>
                  <div style="color: #00FFFF">{{ row.wo_code }}</div>
                </template>
              </el-table-column>
@@ -84,45 +93,33 @@
                </template>
              </el-table-column>
              <el-table-column
                prop="blyy"
                prop="defect_name"
                label="不良原因"
                width="120"
              >
                <template slot-scope="{row}">
                  <div style="color:#ff0000;width: 120px" class="ellipsis">{{ row.blyy }}</div>
                  <div style="color:#ff0000;" class="ellipsis">{{ row.defect_name }}</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="scsl"
                prop="ng_qty"
                label="不良数量"
                width="95"
                width="92"
              />
              <el-table-column
                prop="bgsl"
                prop="report_qty"
                label="报工数量"
                width="95"
                width="92"
              />
              <el-table-column
                prop="blzb"
                label="不良占比"
                width="95"
              />
              <!--              <el-table-column-->
              <!--                prop="yjks"-->
              <!--                label="预计开始"-->
              <!--                width="150"-->
              <!--              />-->
              <!--              <el-table-column-->
              <!--                prop="yjwg"-->
              <!--                label="预计完工"-->
              <!--                width="150"-->
              <!--              />-->
                width="92"
              >
                <template slot-scope="{row}">
                  <div>{{ parseFloat((row.ng_qty*100/(row.ng_qty+row.report_qty)).toFixed(2)) }}%</div>
                </template>
              </el-table-column>
              <!--              <el-table-column-->
              <!--                prop="scjd"-->
              <!--                label="生产进度"-->
              <!--                width="90"-->
              <!--              />-->
            </el-table>
          </div>
        </div>
@@ -156,69 +153,16 @@
<script>
import './kbCommon.css'
import { bar02, bar04, kbTop, line02, loadEcharts, pie02 } from '@/utils/myEcharts'
import { BadContManger, BadDayDistriBute, BadTop5, BadWeek, BadWeekDistriBute } from '@/api/dzkb'
export default {
  name: 'Cjsc',
  data() {
    return {
      headTime: '',
      tableDataLeftTop: [],
      tableDataLeftTopTemp: [
        { xsdd: 'MO-2022111501', cpmc: '电池包', sl: '100' },
        { xsdd: 'MO-2022111502', cpmc: '产品名称2', sl: '100' },
        { xsdd: 'MO-2022111503', cpmc: '产品名称3', sl: '100' },
        { xsdd: 'MO-2022111504', cpmc: '产品名称4', sl: '100' },
        { xsdd: 'MO-2022111505', cpmc: '产品名称5', sl: '100' },
        { xsdd: 'MO-2022111506', cpmc: '产品名称6', sl: '100' },
        { xsdd: 'MO-2022111507', cpmc: '产品名称7', sl: '100' },
        { xsdd: 'MO-2022111508', cpmc: '产品名称8', sl: '100' },
        { xsdd: 'MO-2022111509', cpmc: '产品名称9', sl: '100' },
        { xsdd: 'MO-2022111510', cpmc: '产品名称10', sl: '100' },
        { xsdd: 'MO-2022111511', cpmc: '产品名称11', sl: '100' },
        { xsdd: 'MO-2022111512', cpmc: '产品名称12', sl: '100' },
        { xsdd: 'MO-2022111513', cpmc: '产品名称13', sl: '100' },
        { xsdd: 'MO-2022111514', cpmc: '产品名称14', sl: '100' },
        { xsdd: 'MO-2022111515', cpmc: '产品名称15', sl: '100' },
        { xsdd: 'MO-2022111516', cpmc: '产品名称16', sl: '100' },
        { xsdd: 'MO-2022111517', cpmc: '产品名称17', sl: '100' },
        { xsdd: 'MO-2022111518', cpmc: '产品名称18', sl: '100' },
        { xsdd: 'MO-2022111519', cpmc: '产品名称19', sl: '100' },
        { xsdd: 'MO-2022111520', cpmc: '产品名称20', sl: '100' },
        { xsdd: 'MO-2022111521', cpmc: '产品名称21', sl: '100' },
        { xsdd: 'MO-2022111522', cpmc: '产品名称22', sl: '100' },
        { xsdd: 'MO-2022111523', cpmc: '产品名称23', sl: '100' },
        { xsdd: 'MO-2022111524', cpmc: '产品名称24', sl: '100' }
      ],
      tableDataCenterTop: [],
      tableDataCenterTopTemp: [
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' },
        { blzb: '50%', rq: '2022-11-30', bgsl: 200, blyy: '尺寸、色系、毛刺', jgdh: 'MO-2022-1115-01', cxmc: '装配一线', cpmc: '电池包', scsl: '100', yjks: '2022-10-01', yjwg: '2022-10-10', gx: '工序一', scjd: '10/20' }
      ]
      tableDataCenterTopTemp: []
    }
  },
  created() {
@@ -231,7 +175,7 @@
  },
  mounted() {
    this.getTopBar()
    this.getTableDataSetInterval()
    this.getCenterTableDataSetInterval()
    this.getEcharts()
@@ -239,55 +183,72 @@
  methods: {
    // 获取Echarts
    getEcharts() {
      const dataArr = [30, 20, 20, 18, 10]
      const titlenameArr = ['颜色', '尺寸', '气味', '毛刺', '裂痕']
      loadEcharts('bar01', bar02(dataArr, titlenameArr))
      this.getLeftTopEcharts()
      setInterval(() => {
        this.getLeftTopEcharts()
      }, 1000 * 10)
      loadEcharts('line01', line02())
      this.getLeftBottomEcharts()
      setInterval(() => {
        this.getLeftBottomEcharts()
      }, 1000 * 10)
      loadEcharts('bar02', bar04())
      this.getRightTopEcharts()
      setInterval(() => {
        this.getRightTopEcharts()
      }, 1000 * 10)
      loadEcharts('pie01', pie02())
      this.getRightBottomEcharts()
      setInterval(() => {
        this.getRightBottomEcharts()
      }, 1000 * 10)
    },
    getLeftTopEcharts() {
      BadTop5({ StepCode: 'Step02' }).then(res => {
        const dataArr = res.data.map(i => i.cont)
        const titlenameArr = res.data.map(i => i.name)
        loadEcharts('bar01', bar02(dataArr, titlenameArr))
      })
    },
    getLeftBottomEcharts() {
      BadWeek({ StepCode: 'Step02' }).then(res => {
        const dataX = res.data.map(i => i.click_date)
        const dataY = res.data.map(i => i.count)
        loadEcharts('line01', line02(dataX, dataY))
      })
    },
    getRightTopEcharts() {
      BadDayDistriBute({ StepCode: 'Step02' }).then(res => {
        loadEcharts('bar02', bar04(res.data))
      })
    },
    getRightBottomEcharts() {
      BadWeekDistriBute({ StepCode: 'Step02' }).then(res => {
        loadEcharts('pie01', pie02(res.data))
      })
    },
    // 中间部分的表格
    getCenterTableDataSetInterval() {
      let startValue = 0 // 初始值
      const scale = 23// 刻度
      this.tableDataCenterTop = this.tableDataCenterTopTemp.slice(startValue, startValue + scale)
      const loop = Math.floor(this.tableDataCenterTopTemp.length / scale)// 需要循环的次数
      let nowLoop = 0// 当前循环的次数
      setInterval(() => {
        startValue = startValue + scale
      BadContManger({ StepCode: 'Step02' }).then(res => {
        this.tableDataCenterTopTemp = res.data
        this.tableDataCenterTop = this.tableDataCenterTopTemp.slice(startValue, startValue + scale)
        if (nowLoop === loop) {
          this.getCenterTableDataSetInterval()
        }
        nowLoop++
      }, 5000)
    },
        const loop = Math.floor(this.tableDataCenterTopTemp.length / scale)// 需要循环的次数
        let nowLoop = 0// 当前循环的次数
    // 定时刷新表格数据
    getTableDataSetInterval() {
      let startValue = 0 // 初始值
      const scale = 10// 刻度
        const timer = setInterval(() => {
          startValue = startValue + scale
          this.tableDataCenterTop = this.tableDataCenterTopTemp.slice(startValue, startValue + scale)
          if (nowLoop === loop) {
            clearInterval(timer)
            this.getCenterTableDataSetInterval()
          }
      this.tableDataLeftTop = this.tableDataLeftTopTemp.slice(startValue, startValue + scale)
      const loop = Math.floor(this.tableDataLeftTopTemp.length / scale)// 需要循环的次数
      let nowLoop = 0// 当前循环的次数
      setInterval(() => {
        startValue = startValue + scale
        this.tableDataLeftTop = this.tableDataLeftTopTemp.slice(startValue, startValue + scale)
        if (nowLoop === loop) {
          this.getTableDataSetInterval()
        }
        nowLoop++
      }, 5000)
          nowLoop++
        }, 1000 * 10)
      })
    },
    // 获取topEcharts