Merge branch 'projects/mesxc-test' into projects/mesxc-dy
This commit is contained in:
		
							
								
								
									
										7
									
								
								.env.dev
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								.env.dev
									
									
									
									
									
								
							@@ -1,8 +1,8 @@
 | 
			
		||||
###
 | 
			
		||||
 # @Author: zhp
 | 
			
		||||
 # @Date: 2024-04-12 14:30:48
 | 
			
		||||
 # @LastEditTime: 2024-04-23 17:25:25
 | 
			
		||||
 # @LastEditors: DY
 | 
			
		||||
 # @LastEditTime: 2024-04-25 10:07:02
 | 
			
		||||
 # @LastEditors: zhp
 | 
			
		||||
 # @Description:
 | 
			
		||||
###
 | 
			
		||||
# 开发环境配置
 | 
			
		||||
@@ -13,8 +13,7 @@ VUE_APP_TITLE = MES系统
 | 
			
		||||
 | 
			
		||||
# 芋道管理系统/开发环境
 | 
			
		||||
VUE_APP_BASE_API = 'http://192.168.0.33:48082'
 | 
			
		||||
# VUE_APP_BASE_API = 'http://xcac.mes.picaiba.com/'
 | 
			
		||||
# VUE_APP_BASE_API = 'http://10.70.2.2:8080'
 | 
			
		||||
# VUE_APP_BASE_API = 'http://192.168.1.104:48082'
 | 
			
		||||
# 积木报表指向地址
 | 
			
		||||
VUE_APP_JIMU_API = 'http://192.168.1.101:48082'
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-01-29 16:50:26
 | 
			
		||||
 * @LastEditTime: 2024-04-22 09:42:45
 | 
			
		||||
 * @LastEditTime: 2024-04-25 09:03:50
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -628,7 +628,7 @@ export default {
 | 
			
		||||
            `<span style="color:rgba(255,255,255,0.5)">${this.NumFormat(item.productArea) + '㎡' || ''}</span>`,
 | 
			
		||||
            `<span style="color:rgba(255,255,255,0.5)">${this.NumFormat(item.wasteArea) + '㎡' || ''}</span>`,
 | 
			
		||||
            `<div style = "${(item.product * 100).toFixed(0) >= 91 ? 'display:block;color:#00FFF7' : 'display:none;'}">${(item.product * 100).toFixed(0) + '%' || ''}</div>
 | 
			
		||||
           <div style = "${(item.product * 100).toFixed(0) <= 91 ? 'display:block; color:rgba(255, 209, 96, 1)' : 'display:none;'}">${(item.product * 100).toFixed(0) + '%' || ''}</div>`
 | 
			
		||||
           <div style = "${(item.product * 100).toFixed(0) <= 91 ? 'display:block; color:rgba(255, 209, 96, 1)' : 'display:none;'}">${(item.product * 100).toFixed(2) + '%' || ''}</div>`
 | 
			
		||||
          ])
 | 
			
		||||
          this.cutConfig.data = cutArr
 | 
			
		||||
          // this.$nextTick(() => {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-01-29 13:45:56
 | 
			
		||||
 * @LastEditTime: 2024-04-17 15:48:21
 | 
			
		||||
 * @LastEditTime: 2024-04-24 15:48:32
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -113,7 +113,7 @@ export default {
 | 
			
		||||
				color:this.colors,
 | 
			
		||||
				title:{
 | 
			
		||||
					text: num,
 | 
			
		||||
					subtext: '总数/片',
 | 
			
		||||
					subtext: '总数/个',
 | 
			
		||||
					top: '32%',
 | 
			
		||||
					left: '49%',
 | 
			
		||||
					textAlign: 'center',
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2021-07-19 15:18:30
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @LastEditTime: 2024-04-24 14:48:00
 | 
			
		||||
 * @LastEditTime: 2024-04-25 09:02:38
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -42,21 +42,26 @@
 | 
			
		||||
              <el-row v-for="op in orderList" :key="op.id" style="margin-bottom: .5em;overflow: hidden;">
 | 
			
		||||
                <!-- <el-col :span="12"> -->
 | 
			
		||||
                <!-- <div style="height: 34px;"> -->
 | 
			
		||||
                <span style="display: inline-block;width: 330px;">
 | 
			
		||||
                <span style="display: inline-block;width: 400px;height: 10px;">
 | 
			
		||||
                  <span class="now-secondary-title" style="font-size: 14px;opacity: calc(.6);">{{ op.name }}</span>
 | 
			
		||||
                  <el-divider class="split" v-if="op.specifications" direction="vertical"></el-divider>
 | 
			
		||||
                  <el-divider class="split" v-if="op.name" direction="vertical"></el-divider>
 | 
			
		||||
                  <!-- <span v-if="op.size" class="split"></span> -->
 | 
			
		||||
                  <span v-if="op.specifications" class="orderSize" style="font-size: 14px;opacity: calc(.6);">{{
 | 
			
		||||
                    op.specifications }}</span>
 | 
			
		||||
                  <el-divider class="split" v-if="op.planQuantity" direction="vertical"></el-divider>
 | 
			
		||||
                  op.specifications }}</span>
 | 
			
		||||
                  <el-divider class="split" v-if="op.specifications" direction="vertical"></el-divider>
 | 
			
		||||
                  <span v-if="op.planQuantity" class="orderPlan" style="font-size: 14px;opacity: calc(.6);">{{
 | 
			
		||||
                    op.planQuantity }}</span>
 | 
			
		||||
                  op.planQuantity }}</span>
 | 
			
		||||
                  <span v-if="op.planQuantity" class="orderFinishTwo"
 | 
			
		||||
                    style="font-size: 14px;opacity: calc(.6);">片</span>
 | 
			
		||||
                </span>
 | 
			
		||||
                <span v-if="op.actualQuantity" class="orderFinish" style="font-size: 14px;margin-left: 130px;">{{
 | 
			
		||||
                  op.actualQuantity
 | 
			
		||||
                  }}</span>
 | 
			
		||||
                <!-- <span style="overflow: hidden;"> -->
 | 
			
		||||
                <span v-if="op.actualQuantity" class="orderFinish" style="font-size: 14px;margin-left: 40px;">{{
 | 
			
		||||
                op.actualQuantity
 | 
			
		||||
                }}</span>
 | 
			
		||||
                <span v-if="op.actualQuantity" class="orderFinishTwo" style="font-size: 14px">片</span>
 | 
			
		||||
                <el-divider class="split" style="background-color: rgba(0, 255, 247, 1)" v-if="op.actualQuantity"
 | 
			
		||||
                  direction="vertical"></el-divider>
 | 
			
		||||
                <!-- </span> -->
 | 
			
		||||
                <!-- </div> -->
 | 
			
		||||
                <el-progress style="width: 620px;" text-color="rgba(0, 255, 247, 1)" :stroke-width="10"
 | 
			
		||||
                  define-back-color="rgba(32, 57, 96, 1)" :percentage="op.progressRate" class="custom-progress-bar" />
 | 
			
		||||
@@ -80,7 +85,7 @@
 | 
			
		||||
          </base-container>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
			
		||||
          <base-container  :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'eqStatus'"
 | 
			
		||||
          <base-container :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'eqStatus'"
 | 
			
		||||
            :title="'产线产量及良品率'" :title-icon="'productLine'">
 | 
			
		||||
            <div class="myLegend">
 | 
			
		||||
              <div class=" barCircleLegend"></div>
 | 
			
		||||
@@ -110,78 +115,79 @@ const qualityYearList = [
 | 
			
		||||
	{
 | 
			
		||||
		name: '翻转机',
 | 
			
		||||
		code: 'EQ20240110112358000235',
 | 
			
		||||
		status: '正常',
 | 
			
		||||
		status: '运行',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '烘干炉',
 | 
			
		||||
		code: 'EQ20240110112537000241',
 | 
			
		||||
		status: '计划停机',
 | 
			
		||||
		status: '停机',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '清洗机',
 | 
			
		||||
		code: '	EQ20240110112310000232',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '故障',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '钢化清洗机',
 | 
			
		||||
		code: 'EQ20240110111700000208',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '故障',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '固化机',
 | 
			
		||||
		code: 'EQ20240110111700000201',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '停机',
 | 
			
		||||
    error: false,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '磨边清洗机',
 | 
			
		||||
		code: '	EQ20240110111700000208',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '停机',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '预热机',
 | 
			
		||||
		code: 'EQ20240110111700000205',
 | 
			
		||||
		status: '故障',
 | 
			
		||||
    status: '运行',
 | 
			
		||||
    error: false,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '下片机',
 | 
			
		||||
		code: 'EQ20240115151435000279',
 | 
			
		||||
    code: 'EQ20240115151435000279',
 | 
			
		||||
    status: '故障',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '冷却机',
 | 
			
		||||
		code: 'EQ20240110111700000203',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '运行',
 | 
			
		||||
    error: false,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: 'A储片机106',
 | 
			
		||||
		code: 'EQ20240110111700000202',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '停机',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '二次清洗机',
 | 
			
		||||
		code: 'EQ20240110111700000209',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '停机',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '二次磨边机',
 | 
			
		||||
		code: '	EQ20240110110927000181',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '停机',
 | 
			
		||||
    error: false,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		name: '测试设备',
 | 
			
		||||
		code: 'EQ20240110111700000201',
 | 
			
		||||
    status: '正常',
 | 
			
		||||
    status: '运行',
 | 
			
		||||
    error: true,
 | 
			
		||||
	},
 | 
			
		||||
];
 | 
			
		||||
@@ -292,11 +298,11 @@ export default {
 | 
			
		||||
			// equipmentList:[],
 | 
			
		||||
			EnergyMonitoringList: [],
 | 
			
		||||
			eqConfig: {
 | 
			
		||||
				header: ['序号', '设备名称', '设备编码', '设备状态', '是否故障'],
 | 
			
		||||
				header: ['序号', '设备名称', '产线名', '设备状态'],
 | 
			
		||||
				headerBGC: 'rgba(32, 55, 96, 0.8)',
 | 
			
		||||
				oddRowBGC: 'rgba(32, 55, 96, 0.8)',
 | 
			
		||||
				evenRowBGC: 'rgba(14, 32, 62, 0.8)',
 | 
			
		||||
				columnWidth: [70, 100, 200, 90, 90],
 | 
			
		||||
				columnWidth: [70, 130, 240, 120],
 | 
			
		||||
				align: ['center'],
 | 
			
		||||
				data: [],
 | 
			
		||||
				// index:true,
 | 
			
		||||
@@ -373,15 +379,15 @@ export default {
 | 
			
		||||
		this.websocketClose();
 | 
			
		||||
		this.SJGWebsocketClose();
 | 
			
		||||
	},
 | 
			
		||||
	mounted() {
 | 
			
		||||
  mounted() {
 | 
			
		||||
		let detData = [
 | 
			
		||||
			{
 | 
			
		||||
				id: '1',
 | 
			
		||||
				name: '测试工单',
 | 
			
		||||
        name: '镀釉光伏玻璃GW',
 | 
			
		||||
        progressRate: 0.933333,
 | 
			
		||||
        specifications: '1100*5554*22',
 | 
			
		||||
        plan: 11111,
 | 
			
		||||
        actualQuantity:111,
 | 
			
		||||
        plan: 111111111111,
 | 
			
		||||
        actualQuantity:10000001111,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				id: '2',
 | 
			
		||||
@@ -455,9 +461,9 @@ export default {
 | 
			
		||||
					id: ele.id,
 | 
			
		||||
					name: ele.name,
 | 
			
		||||
          progressRate: parseFloat((ele.progressRate * 100).toFixed(0)),
 | 
			
		||||
          specifications: ele.specifications ?  '规格' + ele.specifications :null,
 | 
			
		||||
          planQuantity: ele.plan ? '计划' + ele.plan + '片' : null,
 | 
			
		||||
          actualQuantity: ele.actualQuantity + '片',
 | 
			
		||||
          specifications: ele.specifications ?  '规格' + ele.specifications :'',
 | 
			
		||||
          planQuantity: ele.plan ? '计划' + this.getStr(String(ele.plan)) : '',
 | 
			
		||||
          actualQuantity: ele.actualQuantity ?this.getStr(String(ele.actualQuantity)) : '',
 | 
			
		||||
				};
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
@@ -473,16 +479,15 @@ export default {
 | 
			
		||||
			this.EnergyMonitoringNameList,
 | 
			
		||||
			this.EnergyMonitoringList
 | 
			
		||||
		);
 | 
			
		||||
		let eqArr = this.qualityYearList.map((item, index) => [
 | 
			
		||||
    let eqArr = this.qualityYearList.map((item, index) => [
 | 
			
		||||
			`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
 | 
			
		||||
            </span>`,
 | 
			
		||||
			// formatDate(item.planStartTime) || '',
 | 
			
		||||
			`
 | 
			
		||||
          <span style="color:rgba(255,255,255,0.5)" >${item.name || ''}
 | 
			
		||||
            </span>`,
 | 
			
		||||
			`<span style="color:rgba(255,255,255,0.5)">${item.code || ''}</span>`,
 | 
			
		||||
      `<span style="color:rgba(255,255,255,0.5)"><div style="${item.status == '正常' ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%;  background-color: #FFBD02;float:left;margin:13px 10px 0 0 '}"></div>  ${item.status || ''}</span>`,
 | 
			
		||||
      `<span style="color:rgba(255,255,255,0.5)"><div style="${item.error == false ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:13px 10px 0 0 '}"></div>  ${item.error == true ? '是' : '否' || ''}</span>`,
 | 
			
		||||
			`<span style="color:rgba(255,255,255,0.5)">${item.lineName || ''}</span>`,
 | 
			
		||||
      `<span style="color:rgba(255,255,255,0.5)"><div style="${item.status == '运行' ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0' : item.status == '停机' ? 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%;background-color: #FFBD02;float:left;margin:13px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:13px 10px 0 0'}"></div>  ${item.status || ''}</span>`,
 | 
			
		||||
		]);
 | 
			
		||||
    this.eqConfig.data = eqArr;
 | 
			
		||||
    let data = [
 | 
			
		||||
@@ -561,6 +566,15 @@ export default {
 | 
			
		||||
	//   removeEventListener('resize', resizeFun)
 | 
			
		||||
	// },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getStr(str) {
 | 
			
		||||
          //你要处理的字符串
 | 
			
		||||
      if (str.length > 6) {      //如果字符长度超过10,后面的字符就变成...可自行调整长度和代替字符
 | 
			
		||||
        str = str.substr(0, 6) + "..."   //截取从第一个字符开始,往后取10个字符,剩余的用...代替
 | 
			
		||||
        return str
 | 
			
		||||
      } else {
 | 
			
		||||
        return str
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
		getData() {
 | 
			
		||||
			let processArr = qualityMonthList.map((item, index) => [
 | 
			
		||||
				// console.log(item)
 | 
			
		||||
@@ -746,10 +760,10 @@ export default {
 | 
			
		||||
						`<span style="color:rgba(255,255,255,0.5)" >${item.name || ''}
 | 
			
		||||
            </span>`,
 | 
			
		||||
						`<span style="color:rgba(255,255,255,0.5)">${
 | 
			
		||||
							item.code || ''
 | 
			
		||||
            item.lineName || ''
 | 
			
		||||
						}</span>`,
 | 
			
		||||
            `<span style="color:rgba(255,255,255,0.5)"><div style="${item.status == '正常' ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:10px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%;  background-color: #FFBD02;float:left;margin:10px 10px 0 0 '}"></div>  ${item.status || ''}</span>`,
 | 
			
		||||
            `<span style="color:rgba(255,255,255,0.5)"><div style="${item.error == false ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:10px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:10px 10px 0 0 '}"></div>  ${item.error == true ?'是' :'否'  || ''}</span>`,
 | 
			
		||||
            `<span style="color:rgba(255,255,255,0.5)"><div style="${item.status == '运行' ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0' : item.status == '停机' ? 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%;background-color: #FFBD02;float:left;margin:13px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:13px 10px 0 0'}"></div>  ${item.status || ''}</span>`,
 | 
			
		||||
            // `<span style="color:rgba(255,255,255,0.5)"><div style="${item.error == false ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:10px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:10px 10px 0 0 '}"></div>  ${item.error == true ?'是' :'否'  || ''}</span>`,
 | 
			
		||||
					]);
 | 
			
		||||
          this.eqConfig.data = eqArr;
 | 
			
		||||
          // this.$nextTick(() => {
 | 
			
		||||
@@ -971,7 +985,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
.now-secondary-title {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 70px;
 | 
			
		||||
  width: 110px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	font-size: 14px;
 | 
			
		||||
	line-height: 2em;
 | 
			
		||||
@@ -990,16 +1004,27 @@ export default {
 | 
			
		||||
  width: 60px;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  color: rgba(0, 255, 247, 1);
 | 
			
		||||
}
 | 
			
		||||
.orderFinishTwo{
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 15px;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
  line-height: 2em;
 | 
			
		||||
  // text-overflow: ellipsis;
 | 
			
		||||
  // white-space: nowrap;
 | 
			
		||||
  // overflow: hidden;
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  color: rgba(0, 255, 247, 1);
 | 
			
		||||
}
 | 
			
		||||
.orderPlan {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 100px;
 | 
			
		||||
  // width: 80px;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
  line-height: 2em;
 | 
			
		||||
  // line-height: 2em;
 | 
			
		||||
  color: #fff;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -32,11 +32,11 @@ export default {
 | 
			
		||||
		return {
 | 
			
		||||
			timestr: '',
 | 
			
		||||
			config: {
 | 
			
		||||
				header: ['序号', '设备名称', '设备编码', '设备状态', '是否故障'],
 | 
			
		||||
				header: ['序号', '设备名称', '产线名', '设备状态'],
 | 
			
		||||
				headerBGC: 'rgba(32, 55, 96, 0.8)',
 | 
			
		||||
				oddRowBGC: 'rgba(32, 55, 96, 0.8)',
 | 
			
		||||
				evenRowBGC: 'rgba(14, 32, 62, 0.8)',
 | 
			
		||||
				columnWidth: [60, 150, 190],
 | 
			
		||||
				columnWidth: [60, 280, 120],
 | 
			
		||||
				align: ['center'],
 | 
			
		||||
				data: [],
 | 
			
		||||
				// data: [
 | 
			
		||||
@@ -64,7 +64,7 @@ export default {
 | 
			
		||||
				let outArr = this.sjgEquipment.map((item, index) => [
 | 
			
		||||
					index + 1,
 | 
			
		||||
					`<span title=${item.name || ''}>${item.name || ''}</span>`,
 | 
			
		||||
					`<span title=${item.code || ''}>${item.code || ''}</span>`,
 | 
			
		||||
					`<span title=${item.lineName || ''}>${item.lineName || ''}</span>`,
 | 
			
		||||
					`<span><div style="${
 | 
			
		||||
						item.status == '运行'
 | 
			
		||||
							? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
@@ -72,11 +72,11 @@ export default {
 | 
			
		||||
							? 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
							: 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%;  background-color: #FFBD02;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
					}"></div>  ${item.status || ''}</span>`,
 | 
			
		||||
					`<span"><div style="${
 | 
			
		||||
						item.error == false
 | 
			
		||||
							? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
							: 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
					}"></div>  ${item.error == true ? '是' : '否' || ''}</span>`,
 | 
			
		||||
					// `<span"><div style="${
 | 
			
		||||
					// 	item.error == false
 | 
			
		||||
					// 		? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
					// 		: 'box-shadow: 0px 0px 2px 1px red;width:6px;height:6px;border-radius: 50%;  background-color: red;float:left;margin:13px 10px 0 0 '
 | 
			
		||||
					// }"></div>  ${item.error == true ? '是' : '否' || ''}</span>`,
 | 
			
		||||
				]);
 | 
			
		||||
				this.config.data = outArr;
 | 
			
		||||
				this.$refs['eqScrollBoard'].updateRows(outArr);
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@
 | 
			
		||||
					</span>
 | 
			
		||||
				</ShadowRect>
 | 
			
		||||
 | 
			
		||||
				<ShadowRect>
 | 
			
		||||
				<!-- <ShadowRect>
 | 
			
		||||
					<span
 | 
			
		||||
						style="
 | 
			
		||||
							font-size: 20px;
 | 
			
		||||
@@ -99,7 +99,7 @@
 | 
			
		||||
								: ''
 | 
			
		||||
						}}mg/m³
 | 
			
		||||
					</span>
 | 
			
		||||
				</ShadowRect>
 | 
			
		||||
				</ShadowRect> -->
 | 
			
		||||
			</div>
 | 
			
		||||
			<KilnLine :horizontal="true" />
 | 
			
		||||
			<div
 | 
			
		||||
@@ -130,8 +130,9 @@
 | 
			
		||||
						align-items: center;
 | 
			
		||||
						justify-content: space-between;
 | 
			
		||||
					">
 | 
			
		||||
					<!-- :options="['氧气含量', '二氧化硫', '氮氧化物', '颗粒物']" -->
 | 
			
		||||
					<SelectorBtnGroup
 | 
			
		||||
						:options="['氧气含量', '二氧化硫', '氮氧化物', '颗粒物']"
 | 
			
		||||
						:options="['氧气含量', '二氧化硫', '氮氧化物']"
 | 
			
		||||
						@emitFun="toggleType"
 | 
			
		||||
						:active="chartType" />
 | 
			
		||||
					<SelectorBtnGroup
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,3 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-04-18 14:08:46
 | 
			
		||||
 * @LastEditTime: 2024-04-24 13:52:45
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
			
		||||
@@ -24,10 +17,13 @@
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table> -->
 | 
			
		||||
 | 
			
		||||
    <el-table class="baseTable" :span-method="objectSpanMethod" :data="tableData" style="width: 100%">
 | 
			
		||||
      <el-table-column align="center" prop="" label="配料日报" width="120">
 | 
			
		||||
    <el-table id="exportTable" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
    }" class="baseTable" :span-method="objectSpanMethod" :data="tableData" style="width: 100%">
 | 
			
		||||
      <el-table-column align="center" prop="" :label=" '配料日报' + time " width="120">
 | 
			
		||||
        <el-table-column label="原料样式" align="right" width="150">
 | 
			
		||||
          <el-table-column  prop="className" label="时间" width="120">
 | 
			
		||||
          <el-table-column prop="className" label="时间" width="120">
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column align="center" prop="putType" label="" width="180">
 | 
			
		||||
@@ -36,7 +32,7 @@
 | 
			
		||||
        <el-table-column prop="activityName"></el-table-column>
 | 
			
		||||
        <el-table-column prop="message"></el-table-column>
 | 
			
		||||
      </el-table-column> -->
 | 
			
		||||
        <el-table-column align="center" style="text-align: center;" v-for="(item,index) in codeList " :prop="item"
 | 
			
		||||
        <el-table-column align="center" style="text-align: center;" v-for="(item, index) in codeList " :prop="item"
 | 
			
		||||
          :label="item">
 | 
			
		||||
          <!-- <template slot-scope="scope">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
@@ -77,6 +73,7 @@ import {
 | 
			
		||||
} from '@/api/report/qcReport';
 | 
			
		||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
			
		||||
import FileSaver from 'file-saver'
 | 
			
		||||
import moment from 'moment'
 | 
			
		||||
// import { getList, } from "@/api/base/qualityScrapType";
 | 
			
		||||
const headers = [
 | 
			
		||||
  // {
 | 
			
		||||
@@ -122,7 +119,7 @@ const headers = [
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [ tableHeightMixin],
 | 
			
		||||
  mixins: [tableHeightMixin],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
@@ -130,34 +127,33 @@ export default {
 | 
			
		||||
        // deleteURL: deleteQualityHotMaterial,
 | 
			
		||||
        // exportURL: exportFactoryExcel,
 | 
			
		||||
      },
 | 
			
		||||
      codeList: ['sj1', 'sj2', 'sj3', 'sj4', 'sj5', 'sj7', 'sj8', 'sj10', 'sj11', 'sj12', 'sj13', 'sj14'],
 | 
			
		||||
      codeList: ['sj1', 'sj2', 'sj3', 'sj4', 'sj5', 'sj7', 'sj8', 'sj10', 'sj11','sj14'],
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        startTime: undefined,
 | 
			
		||||
        endTime:undefined
 | 
			
		||||
        endTime: undefined
 | 
			
		||||
      },
 | 
			
		||||
      time: '',
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'datePicker',
 | 
			
		||||
          label: '时间段',
 | 
			
		||||
          dateType: 'daterange',
 | 
			
		||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
          label: '时间',
 | 
			
		||||
          dateType: 'date',
 | 
			
		||||
          format: 'yyyy-MM-dd',
 | 
			
		||||
          valueFormat: "timestamp",
 | 
			
		||||
          rangeSeparator: '-',
 | 
			
		||||
          startPlaceholder: '开始时间',
 | 
			
		||||
          endPlaceholder: '结束时间',
 | 
			
		||||
          param: 'checkTime',
 | 
			
		||||
          defaultSelect: [Date.now() - 24 * 60 * 60 - 1000, Date.now()],
 | 
			
		||||
          width: 350
 | 
			
		||||
          defaultSelect: Date.now(),
 | 
			
		||||
          width: 150
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type:'button',
 | 
			
		||||
          type: 'button',
 | 
			
		||||
          btnName: '查询',
 | 
			
		||||
          name: 'search',
 | 
			
		||||
          color: 'primary',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type:'button',
 | 
			
		||||
          type: 'button',
 | 
			
		||||
          btnName: '导出',
 | 
			
		||||
          name: 'export',
 | 
			
		||||
          color: 'primary',
 | 
			
		||||
@@ -173,14 +169,29 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    // this.formConfig[1].defaultSelect[]
 | 
			
		||||
    this.listQuery.startTime = this.formConfig[0].defaultSelect[0]
 | 
			
		||||
    this.listQuery.endTime = this.formConfig[0].defaultSelect[1]
 | 
			
		||||
    this.listQuery.startTime = Date.now()
 | 
			
		||||
    this.time = moment(new Date(Date.now())).format('YYYY-MM-DD')
 | 
			
		||||
    this.listQuery.endTime = Date.now() + 24 * 60 * 60 * 1000
 | 
			
		||||
    // this.formConfig[0].defaultSelect[0] = Date.now()-24*60*60-1000
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
    // this.getSpanArr(this.tableData)
 | 
			
		||||
    // this.getDict();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    timestampToTime(date) {
 | 
			
		||||
      // 时间戳为10位需*1000,时间戳为13位不需乘1000
 | 
			
		||||
      // var date = new Date(timestamp * 1000);
 | 
			
		||||
      var Y = date.getFullYear() + "-";
 | 
			
		||||
      var M =
 | 
			
		||||
        (date.getMonth() + 1 < 10
 | 
			
		||||
          ? "0" + (date.getMonth() + 1)
 | 
			
		||||
          : date.getMonth() + 1) + "-";
 | 
			
		||||
      var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
 | 
			
		||||
      var h = date.getHours() + ":";
 | 
			
		||||
      var m = date.getMinutes() + ":";
 | 
			
		||||
      var s = date.getSeconds();
 | 
			
		||||
      return Y + M + D + h + m + s;
 | 
			
		||||
    },
 | 
			
		||||
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
 | 
			
		||||
      let spanOneArr = [], concatOne = 0;
 | 
			
		||||
      this.tableData.map((item, index) => {
 | 
			
		||||
@@ -206,23 +217,23 @@ export default {
 | 
			
		||||
          colspan: _col
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (columnIndex === 1 ) {
 | 
			
		||||
      if (columnIndex === 1) {
 | 
			
		||||
        if (rowIndex === 0 || rowIndex === 2 || rowIndex === 4 || rowIndex === 6 || rowIndex === 8 || rowIndex === 10) {
 | 
			
		||||
          return {
 | 
			
		||||
            rowspan: 2,
 | 
			
		||||
            colspan: 1
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      }
 | 
			
		||||
      if (columnIndex === 1)  {
 | 
			
		||||
        if (rowIndex %2 == 1) {
 | 
			
		||||
      if (columnIndex === 1) {
 | 
			
		||||
        if (rowIndex % 2 == 1) {
 | 
			
		||||
          return {
 | 
			
		||||
            rowspan: 1,
 | 
			
		||||
            colspan: 2
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (columnIndex === 4 || columnIndex === 5 || columnIndex === 6 || columnIndex === 7 || columnIndex === 8 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11 || columnIndex === 12 || columnIndex === 13) {
 | 
			
		||||
      if (columnIndex === 4 || columnIndex === 5 || columnIndex === 6 || columnIndex === 7 || columnIndex === 8 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11 ) {
 | 
			
		||||
        if (rowIndex % 2 == 0) {
 | 
			
		||||
          return {
 | 
			
		||||
            rowspan: 2,
 | 
			
		||||
@@ -255,7 +266,7 @@ export default {
 | 
			
		||||
            //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
 | 
			
		||||
            new Blob([wbout], { type: "application/octet-stream" }),
 | 
			
		||||
            //设置导出文件名称
 | 
			
		||||
            "切割堆垛日报表.xlsx"
 | 
			
		||||
            "配料日报.xlsx"
 | 
			
		||||
          );
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
          if (typeof console !== "undefined") console.log(e, wbout);
 | 
			
		||||
@@ -285,7 +296,7 @@ export default {
 | 
			
		||||
        let arr = [
 | 
			
		||||
          {
 | 
			
		||||
            classType: 1,
 | 
			
		||||
            className:'白班(8:00-20:00)',
 | 
			
		||||
            className: '白班(8:00-20:00)',
 | 
			
		||||
            'sj1': null,
 | 
			
		||||
            'sj2': null,
 | 
			
		||||
            'sj3': null,
 | 
			
		||||
@@ -295,10 +306,9 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            putType: '投入数量'
 | 
			
		||||
            putType: '原料投入'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            classType: 1,
 | 
			
		||||
@@ -312,8 +322,7 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            'sj1+sj2': null,
 | 
			
		||||
            putType: ''
 | 
			
		||||
@@ -330,8 +339,7 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            putType: '投入次数'
 | 
			
		||||
          },
 | 
			
		||||
@@ -347,8 +355,7 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            'sj1+sj2': null,
 | 
			
		||||
            putType: ''
 | 
			
		||||
@@ -365,10 +372,9 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            putType: '投入数量',
 | 
			
		||||
            putType: '原料投入',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            classType: 2,
 | 
			
		||||
@@ -382,14 +388,13 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            'sj1+sj2': null,
 | 
			
		||||
            putType: ''
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            classType:2,
 | 
			
		||||
            classType: 2,
 | 
			
		||||
            className: '夜班(20:00-8:00)',
 | 
			
		||||
            'sj1': null,
 | 
			
		||||
            'sj2': null,
 | 
			
		||||
@@ -400,8 +405,7 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            putType: '投入次数',
 | 
			
		||||
          },
 | 
			
		||||
@@ -417,8 +421,7 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            'sj1+sj2': null,
 | 
			
		||||
            putType: ''
 | 
			
		||||
@@ -435,10 +438,9 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            putType: '投入数量',
 | 
			
		||||
            putType: '原料投入',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            classType: 3,
 | 
			
		||||
@@ -452,10 +454,9 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            'sj1+sj2':null,
 | 
			
		||||
            'sj1+sj2': null,
 | 
			
		||||
            putType: ''
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
@@ -470,8 +471,7 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            putType: '投入次数',
 | 
			
		||||
          },
 | 
			
		||||
@@ -487,41 +487,40 @@ export default {
 | 
			
		||||
            'sj8': null,
 | 
			
		||||
            'sj10': null,
 | 
			
		||||
            'sj11': null,
 | 
			
		||||
            'sj12': null,
 | 
			
		||||
            'sj13': null,
 | 
			
		||||
 | 
			
		||||
            'sj14': null,
 | 
			
		||||
            'sj1+sj2': null,
 | 
			
		||||
            putType: ''
 | 
			
		||||
          },
 | 
			
		||||
        ]
 | 
			
		||||
        res.data.forEach((ele) => {
 | 
			
		||||
          if(ele.classType === 1 && ele.code == 'sj1+sj2') {
 | 
			
		||||
            arr[1]['putType'] = ele.putNum
 | 
			
		||||
            arr[3]['putType'] = ele.useNum
 | 
			
		||||
          if (ele.classType === 1 && ele.code == 'sj1+sj2') {
 | 
			
		||||
            arr[1]['putType'] = ele.useNum
 | 
			
		||||
            arr[3]['putType'] = ele.putNum
 | 
			
		||||
            // arr[1]['sj2'] = ele.putNum
 | 
			
		||||
            // arr[3]['sj2'] = ele.useNum
 | 
			
		||||
          } else if (ele.classType === 2 && ele.code == 'sj1+sj2') {
 | 
			
		||||
            arr[5]['putType'] = ele.putNum
 | 
			
		||||
            arr[7]['putType'] = ele.useNum
 | 
			
		||||
            arr[5]['putType'] = ele.useNum
 | 
			
		||||
            arr[7]['putType'] = ele.putNum
 | 
			
		||||
            // arr[5]['sj2'] = ele.putNum
 | 
			
		||||
            // arr[7]['sj2'] = ele.useNum
 | 
			
		||||
          } else if (ele.classType === 3 && ele.code == 'sj1+sj2') {
 | 
			
		||||
            arr[9]['putType'] = ele.putNum
 | 
			
		||||
            arr[11]['putType'] = ele.useNum
 | 
			
		||||
            arr[9]['putType'] = ele.useNum
 | 
			
		||||
            arr[11]['putType'] = ele.putNum
 | 
			
		||||
            // arr[9]['sj2'] = ele.putNum
 | 
			
		||||
            // arr[11]['sj2'] = ele.useNum
 | 
			
		||||
          }
 | 
			
		||||
          this.codeList.forEach((item) => {
 | 
			
		||||
            if (ele.classType === 1 && ele.code == item) {
 | 
			
		||||
              // console.log(arr[0][item])
 | 
			
		||||
              arr[0][item] = ele.putNum
 | 
			
		||||
              arr[2][item] = ele.useNum
 | 
			
		||||
              arr[0][item] = ele.useNum
 | 
			
		||||
              arr[2][item] = ele.putNum
 | 
			
		||||
            } else if (ele.classType === 2 && ele.code == item) {
 | 
			
		||||
              arr[4][item] = ele.putNum
 | 
			
		||||
              arr[6][item] = ele.useNum
 | 
			
		||||
              arr[4][item] = ele.useNum
 | 
			
		||||
              arr[6][item] = ele.putNum
 | 
			
		||||
            } else if (ele.classType === 3 && ele.code == item) {
 | 
			
		||||
              arr[8][item] = ele.putNum
 | 
			
		||||
              arr[10][item] = ele.useNum
 | 
			
		||||
              arr[8][item] = ele.useNum
 | 
			
		||||
              arr[10][item] = ele.putNum
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
        })
 | 
			
		||||
@@ -532,10 +531,13 @@ export default {
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(val.checkTime)
 | 
			
		||||
      // Date.now() - 24 * 60 * 60 - 1000
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case 'search':
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? val.checkTime[0] : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? val.checkTime[1] : undefined;
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? val.checkTime : undefined;
 | 
			
		||||
          this.time = moment(new Date(this.listQuery.startTime)).format('YYYY-MM-DD')
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? val.checkTime + 24 * 60 * 60 * 1000 : undefined;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case 'export':
 | 
			
		||||
@@ -557,6 +559,7 @@ export default {
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  height: 35px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep.el-table thead.is-group th {
 | 
			
		||||
  background: none;
 | 
			
		||||
}
 | 
			
		||||
@@ -567,6 +570,7 @@ export default {
 | 
			
		||||
::v-deep.el-table thead.is-group tr:nth-child(2) th:nth-child(1) {
 | 
			
		||||
  border-bottom: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep.el-table thead.is-group tr:nth-child(2) th:first-of-type:before {
 | 
			
		||||
  content: '';
 | 
			
		||||
  position: absolute;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-04-18 10:01:33
 | 
			
		||||
 * @LastEditTime: 2024-04-24 09:34:36
 | 
			
		||||
 * @LastEditTime: 2024-04-25 13:40:51
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -17,6 +17,12 @@
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <el-table class="baseTable" :max-height="tableH" id="exportTableChild" :data="tableDataChild" style="width: 100%">
 | 
			
		||||
      <el-table-column v-for="item in tablePropsChild" :prop="item.prop" :label="item.label" align="center">
 | 
			
		||||
        <el-table-column v-for="it in item.children" :prop="it.prop" :label="it.label" align="center">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <!-- <pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
 | 
			
		||||
      @pagination="getDataList" /> -->
 | 
			
		||||
    <!-- <base-dialog
 | 
			
		||||
@@ -42,6 +48,37 @@ import {
 | 
			
		||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
			
		||||
import FileSaver from 'file-saver'
 | 
			
		||||
import { parseTime } from '../../../core/mixins/code-filter';
 | 
			
		||||
 | 
			
		||||
const tablePropsChild = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '人工堆垛人员'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '规格mm'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '片数'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '规格mm'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '片数'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '规格mm'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '片数'
 | 
			
		||||
  },
 | 
			
		||||
]
 | 
			
		||||
// import { getList, } from "@/api/base/qualityScrapType";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  // {
 | 
			
		||||
@@ -121,8 +158,10 @@ export default {
 | 
			
		||||
        // deleteURL: deleteQualityHotMaterial,
 | 
			
		||||
        // exportURL: exportFactoryExcel,
 | 
			
		||||
      },
 | 
			
		||||
      tablePropsChild,
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      tableDataChild:[],
 | 
			
		||||
      mergeArr: [],//记录合并行数
 | 
			
		||||
      pos: 0,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
@@ -156,7 +195,7 @@ export default {
 | 
			
		||||
          startPlaceholder: '开始时间',
 | 
			
		||||
          endPlaceholder: '结束时间',
 | 
			
		||||
          param: 'checkTime',
 | 
			
		||||
          defaultSelect: [Date.now() - 24 * 60 * 60 - 1000, Date.now()],
 | 
			
		||||
          defaultSelect: [new Date(new Date(Date.now()).setHours(7, 0, 0, 0)).getTime(), new Date(new Date(Date.now()).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000],
 | 
			
		||||
          width: 350
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@@ -193,9 +232,10 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  created() { },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    // this.formConfig[1].defaultSelect[]
 | 
			
		||||
    this.listQuery.startTime = this.formConfig[0].defaultSelect[0]
 | 
			
		||||
    this.listQuery.endTime = this.formConfig[0].defaultSelect[1]
 | 
			
		||||
    // this.formConfig[1].defaultSelect[0] =
 | 
			
		||||
    // this.formConfig[1].defaultSelect[0] =
 | 
			
		||||
    this.listQuery.startTime = new Date(new Date(Date.now()).setHours(7, 0, 0, 0)).getTime()
 | 
			
		||||
    this.listQuery.endTime = new Date(new Date(Date.now()).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000
 | 
			
		||||
    // this.formConfig[0].defaultSelect[0] = Date.now()-24*60*60-1000
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
    this.getDict()
 | 
			
		||||
@@ -287,7 +327,36 @@ export default {
 | 
			
		||||
            //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
 | 
			
		||||
            new Blob([wbout], { type: "application/octet-stream" }),
 | 
			
		||||
            //设置导出文件名称
 | 
			
		||||
            "原片各线堆垛表.xlsx"
 | 
			
		||||
            "切割堆垛日报.xlsx"
 | 
			
		||||
          );
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
          if (typeof console !== "undefined") console.log(e, wbout);
 | 
			
		||||
        }
 | 
			
		||||
        return wbout;
 | 
			
		||||
        //do something......
 | 
			
		||||
      })
 | 
			
		||||
      var xlsxParam = { raw: true };
 | 
			
		||||
      /* 从表生成工作簿对象 */
 | 
			
		||||
      import('xlsx').then(excel => {
 | 
			
		||||
        var wb = excel.utils.table_to_book(
 | 
			
		||||
          document.querySelector("#exportTableChild"),
 | 
			
		||||
          xlsxParam
 | 
			
		||||
        );
 | 
			
		||||
        /* 获取二进制字符串作为输出 */
 | 
			
		||||
        var wbout = excel.write(wb, {
 | 
			
		||||
          bookType: "xlsx",
 | 
			
		||||
          bookSST: true,
 | 
			
		||||
          type: "array",
 | 
			
		||||
        });
 | 
			
		||||
        try {
 | 
			
		||||
          FileSaver.saveAs(
 | 
			
		||||
            //Blob 对象表示一个不可变、原始数据的类文件对象。
 | 
			
		||||
            //Blob 表示的不一定是JavaScript原生格式的数据。
 | 
			
		||||
            //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
 | 
			
		||||
            //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
 | 
			
		||||
            new Blob([wbout], { type: "application/octet-stream" }),
 | 
			
		||||
            //设置导出文件名称
 | 
			
		||||
            "切割堆垛日报.xlsx"
 | 
			
		||||
          );
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
          if (typeof console !== "undefined") console.log(e, wbout);
 | 
			
		||||
@@ -295,7 +364,6 @@ export default {
 | 
			
		||||
        return wbout;
 | 
			
		||||
        //do something......
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    // otherMethods(val) {
 | 
			
		||||
    //   if (val.type === 'detail') {
 | 
			
		||||
@@ -395,8 +463,8 @@ export default {
 | 
			
		||||
          // this.listQuery.materialId = val.materialId ? val.materialId : undefined;
 | 
			
		||||
          // this.listQuery.startTime = '1706144404000';
 | 
			
		||||
          // this.listQuery.endTime = '1706230804000';
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? val.checkTime[0] : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? val.checkTime[1] : undefined;
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? new Date(new Date(val.checkTime[0]).setHours(7, 0, 0, 0)).getTime() : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? new Date(new Date(val.checkTime[1]).setHours(6, 59, 59)).getTime() + 24*60*60*1000 : undefined;
 | 
			
		||||
          this.listQuery.lineId = val.lineId ? val.lineId : undefined
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-04-18 14:08:46
 | 
			
		||||
 * @LastEditTime: 2024-04-24 14:41:01
 | 
			
		||||
 * @LastEditTime: 2024-04-25 13:30:11
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
 | 
			
		||||
      <el-form-item label="时间" prop="startTime">
 | 
			
		||||
        <el-date-picker v-model="listQuery.startTime" value-format="timestamp" type="date" placeholder="选择日期">
 | 
			
		||||
        <el-date-picker v-model="listQuery.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="date" placeholder="选择日期">
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="产线" prop="productionLineId">
 | 
			
		||||
@@ -46,7 +46,10 @@
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table> -->
 | 
			
		||||
 | 
			
		||||
    <el-table class="baseTable" :data="tableData" style="width: 100%">
 | 
			
		||||
    <el-table :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
    }" class=" baseTable" :data="tableData" style="width: 100%">
 | 
			
		||||
      <el-table-column label="时间" align="right" width="150">
 | 
			
		||||
        <el-table-column prop="name" label="缺陷" width="120">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
@@ -59,21 +62,6 @@
 | 
			
		||||
      </el-table-column> -->
 | 
			
		||||
      <el-table-column v-for="(item, index) in codeList " :prop="item.prop" :label="item.label">
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <div slot="append" v-if="this.tableData.length != 0" style="text-align: center">
 | 
			
		||||
        <!--在此处添加你想要插入在表格最后一行的内容-->
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          人工监测人员
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <!-- {{  }} -->
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          合计
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          {{ sum }}
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <!-- <pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
 | 
			
		||||
      @pagination="getDataList" /> -->
 | 
			
		||||
@@ -160,59 +148,59 @@ export default {
 | 
			
		||||
      radio:'晚班查询',
 | 
			
		||||
      lineList:[],
 | 
			
		||||
      codeList: [
 | 
			
		||||
        {
 | 
			
		||||
          label: '19:00',
 | 
			
		||||
          prop: 'num0'
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '19:00',
 | 
			
		||||
        //   prop: 'num0'
 | 
			
		||||
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '20:00',
 | 
			
		||||
          prop: 'num1'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '21:00',
 | 
			
		||||
          prop: 'num2'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '22:00',
 | 
			
		||||
          prop: 'num3'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '23:00',
 | 
			
		||||
          prop: 'num4'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '00:00',
 | 
			
		||||
          prop: 'num5'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '01:00',
 | 
			
		||||
          prop: 'num6'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '02:00',
 | 
			
		||||
          prop: 'num7'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '03:00',
 | 
			
		||||
          prop: 'num8'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '04:00',
 | 
			
		||||
          prop: 'num9'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '05:00',
 | 
			
		||||
          prop: 'num10'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '06:00',
 | 
			
		||||
          prop: 'num11'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: '不良合计',
 | 
			
		||||
          prop: 'sum'
 | 
			
		||||
        }
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '20:00',
 | 
			
		||||
        //   prop: 'num1'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '21:00',
 | 
			
		||||
        //   prop: 'num2'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '22:00',
 | 
			
		||||
        //   prop: 'num3'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '23:00',
 | 
			
		||||
        //   prop: 'num4'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '00:00',
 | 
			
		||||
        //   prop: 'num5'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '01:00',
 | 
			
		||||
        //   prop: 'num6'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '02:00',
 | 
			
		||||
        //   prop: 'num7'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '03:00',
 | 
			
		||||
        //   prop: 'num8'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '04:00',
 | 
			
		||||
        //   prop: 'num9'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '05:00',
 | 
			
		||||
        //   prop: 'num10'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '06:00',
 | 
			
		||||
        //   prop: 'num11'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   label: '不良合计',
 | 
			
		||||
        //   prop: 'sum'
 | 
			
		||||
        // }
 | 
			
		||||
      ],
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      formConfig: [
 | 
			
		||||
@@ -226,7 +214,7 @@ export default {
 | 
			
		||||
          startPlaceholder: '开始时间',
 | 
			
		||||
          endPlaceholder: '结束时间',
 | 
			
		||||
          param: 'checkTime',
 | 
			
		||||
          defaultSelect: [Date.now() - 24 * 60 * 60 - 1000, Date.now()],
 | 
			
		||||
          defaultSelect: [Date.now() - 24 * 60 * 60*1000, Date.now()],
 | 
			
		||||
          width: 350
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@@ -255,7 +243,7 @@ export default {
 | 
			
		||||
    // this.listQuery.startTime = this.formConfig[0].defaultSelect[0]
 | 
			
		||||
    // this.listQuery.endTime = this.formConfig[0].defaultSelect[1]
 | 
			
		||||
    // this.formConfig[0].defaultSelect[0] = Date.now()-24*60*60-1000
 | 
			
		||||
    this.listQuery.startTime = new Date(new Date().setHours(1, 9, 0, 0)).getTime()
 | 
			
		||||
    this.listQuery.startTime = new Date()
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
    this.getDict()
 | 
			
		||||
    // this.getSpanArr(this.tableData)
 | 
			
		||||
@@ -268,28 +256,12 @@ export default {
 | 
			
		||||
      this.lineList = res.data
 | 
			
		||||
    },
 | 
			
		||||
    // objectSpanMethod({ row, column, rowIndex, columnIndex }) {
 | 
			
		||||
    //   let spanOneArr = [], concatOne = 0;
 | 
			
		||||
    //   this.tableData.map((item, index) => {
 | 
			
		||||
    //     if (index === 0) {
 | 
			
		||||
    //       spanOneArr.push(1);
 | 
			
		||||
    //     } else {
 | 
			
		||||
    //       //第一列需合并相同内容的判断条件
 | 
			
		||||
    //       if (item.className === this.tableData[index - 1].className) {
 | 
			
		||||
    //         spanOneArr[concatOne] += 1;
 | 
			
		||||
    //         spanOneArr.push(0);
 | 
			
		||||
    //       } else {
 | 
			
		||||
    //         spanOneArr.push(1);
 | 
			
		||||
    //         concatOne = index;
 | 
			
		||||
    //       };
 | 
			
		||||
    //     }
 | 
			
		||||
    //   });
 | 
			
		||||
 | 
			
		||||
    //   if (columnIndex === 0) {
 | 
			
		||||
    //     const _row = spanOneArr[rowIndex];
 | 
			
		||||
    //     const _col = _row > 0 ? 1 : 0;
 | 
			
		||||
    //     return {
 | 
			
		||||
    //       rowspan: _row,
 | 
			
		||||
    //       colspan: _col
 | 
			
		||||
    //   if (columnIndex === 1) {
 | 
			
		||||
    //     if (rowIndex === this.tableData.length-1) {
 | 
			
		||||
    //       return {
 | 
			
		||||
    //         rowspan: 1,
 | 
			
		||||
    //         colspan: 4
 | 
			
		||||
    //       }
 | 
			
		||||
    //     }
 | 
			
		||||
    //   }
 | 
			
		||||
    // },
 | 
			
		||||
@@ -310,134 +282,7 @@ export default {
 | 
			
		||||
      return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
 | 
			
		||||
    },
 | 
			
		||||
    handleGetClass(e) {
 | 
			
		||||
      let str = this.listQuery.startTime
 | 
			
		||||
      // console.log(str);
 | 
			
		||||
      this.listQuery.startTime = new Date(new Date(str).setHours(0, 7, 0, 0)).getTime()
 | 
			
		||||
      // console.log(startTime1)
 | 
			
		||||
      this.codeList = []
 | 
			
		||||
      if (e === '早班查询') {
 | 
			
		||||
        let arr = [
 | 
			
		||||
          {
 | 
			
		||||
            label: '07:00',
 | 
			
		||||
            prop:'num0'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '08:00',
 | 
			
		||||
            prop: 'num1'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '09:00',
 | 
			
		||||
            prop: 'num2'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '10:00',
 | 
			
		||||
            prop: 'num3'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '11:00',
 | 
			
		||||
            prop: 'num4'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '12:00',
 | 
			
		||||
            prop: 'num5'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '13:00',
 | 
			
		||||
            prop: 'num6'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '14:00',
 | 
			
		||||
            prop: 'num7'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '15:00',
 | 
			
		||||
            prop: 'num8'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '16:00',
 | 
			
		||||
            prop: 'num9'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '17:00',
 | 
			
		||||
            prop: 'num10'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '18:00',
 | 
			
		||||
            prop: 'num11'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '不良合计',
 | 
			
		||||
            prop: 'sum'
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        arr.forEach((ele,index) => [
 | 
			
		||||
          this.codeList.push(ele)
 | 
			
		||||
        ])
 | 
			
		||||
        this.getDataList()
 | 
			
		||||
      } else {
 | 
			
		||||
        let str = this.listQuery.startTime
 | 
			
		||||
        // console.log(str);
 | 
			
		||||
        this.listQuery.startTime = new Date(new Date(str).setHours(0, 7, 0, 0)).getTime()
 | 
			
		||||
       let  arr = [
 | 
			
		||||
          {
 | 
			
		||||
           label: '19:00',
 | 
			
		||||
           prop: 'num0'
 | 
			
		||||
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '20:00',
 | 
			
		||||
            prop: 'num1'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '21:00',
 | 
			
		||||
            prop: 'num2'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '22:00',
 | 
			
		||||
            prop: 'num3'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '23:00',
 | 
			
		||||
            prop: 'num4'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '00:00',
 | 
			
		||||
            prop: 'num5'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '01:00',
 | 
			
		||||
            prop: 'num6'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '02:00',
 | 
			
		||||
            prop: 'num7'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '03:00',
 | 
			
		||||
            prop: 'num8'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '04:00',
 | 
			
		||||
            prop: 'num9'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '05:00',
 | 
			
		||||
            prop: 'num10'
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: '06:00',
 | 
			
		||||
            prop: 'num11'
 | 
			
		||||
         },
 | 
			
		||||
         {
 | 
			
		||||
           label: '不良合计',
 | 
			
		||||
           prop: 'sum'
 | 
			
		||||
         }
 | 
			
		||||
        ]
 | 
			
		||||
        arr.forEach((ele, index) => [
 | 
			
		||||
          this.codeList.push(ele)
 | 
			
		||||
        ])
 | 
			
		||||
        this.getDataList()
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
@@ -463,7 +308,7 @@ export default {
 | 
			
		||||
            //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
 | 
			
		||||
            new Blob([wbout], { type: "application/octet-stream" }),
 | 
			
		||||
            //设置导出文件名称
 | 
			
		||||
            "原片各线堆垛表.xlsx"
 | 
			
		||||
            "全检检验记录.xlsx"
 | 
			
		||||
          );
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
          if (typeof console !== "undefined") console.log(e, wbout);
 | 
			
		||||
@@ -484,28 +329,45 @@ export default {
 | 
			
		||||
    // },
 | 
			
		||||
    // 获取数据列表
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      if (this.radio === '晚班查询') {
 | 
			
		||||
        let str = this.listQuery.startTime
 | 
			
		||||
        // console.log(str);
 | 
			
		||||
        this.listQuery.startTime = new Date(new Date(str).setHours(1, 9, 0, 0)).getTime()
 | 
			
		||||
      var str = null
 | 
			
		||||
      if (this.radio == '晚班查询') {
 | 
			
		||||
        console.log(this.radio);
 | 
			
		||||
        str = new Date(new Date(this.listQuery.startTime).setHours(19, 0, 0, 0)).getTime()
 | 
			
		||||
      } else {
 | 
			
		||||
        let str = this.listQuery.startTime
 | 
			
		||||
        // console.log(str);
 | 
			
		||||
        this.listQuery.startTime = new Date(new Date(str).setHours(0, 7, 0, 0)).getTime()
 | 
			
		||||
        str = new Date(new Date(this.listQuery.startTime).setHours(7, 0, 0, 0)).getTime()
 | 
			
		||||
      }
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
      // this.dataListLoading = true;
 | 
			
		||||
      // this.listQuery.startTime = '1713197388000';
 | 
			
		||||
      // this.listQuery.endTime = '1713254961000';
 | 
			
		||||
      this.urlOptions.getDataListURL({
 | 
			
		||||
        // productionLineId: '1696716506443354114',
 | 
			
		||||
        // startTime: '1705618800000'
 | 
			
		||||
        // startTime: '1705618800000',
 | 
			
		||||
        productionLineId: this.listQuery.productionLineId,
 | 
			
		||||
        startTime:this.listQuery.startTime
 | 
			
		||||
        startTime: str
 | 
			
		||||
      },).then(res => {
 | 
			
		||||
        let count = 0
 | 
			
		||||
        let arr = []
 | 
			
		||||
        console.log(res.data)
 | 
			
		||||
        this.sum = res.data.allSum
 | 
			
		||||
 | 
			
		||||
        res.data.timeStrList.push('不良合计')
 | 
			
		||||
        this.codeList = res.data.timeStrList.map((ele, index) => {
 | 
			
		||||
          if (ele === '不良合计') {
 | 
			
		||||
            return {
 | 
			
		||||
              label: ele,
 | 
			
		||||
              prop: 'sum'
 | 
			
		||||
            }
 | 
			
		||||
          } else {
 | 
			
		||||
            return {
 | 
			
		||||
              label: ele,
 | 
			
		||||
              prop: 'num' + index
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
        })
 | 
			
		||||
        console.log(this.codeList)
 | 
			
		||||
        // res.data.timeStrList.forEach((ele, index) => [
 | 
			
		||||
        //   this.codeList.push(ele)
 | 
			
		||||
        // ])
 | 
			
		||||
        for (let i in res.data.qualityInspectionRecordReportLineVOMap) {
 | 
			
		||||
          count ++,
 | 
			
		||||
          console.log(res.data.qualityInspectionRecordReportLineVOMap[i])
 | 
			
		||||
@@ -526,130 +388,11 @@ export default {
 | 
			
		||||
        }
 | 
			
		||||
        console.log(arr);
 | 
			
		||||
        this.tableData = arr
 | 
			
		||||
        // console.log(res)
 | 
			
		||||
        // console.log(res.data)
 | 
			
		||||
        // let arr = [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     classType: 1,
 | 
			
		||||
        //     className: '白班(8:00-20:00)',
 | 
			
		||||
        //     'sj1': null,
 | 
			
		||||
        //     'sj2': null,
 | 
			
		||||
        //     'sj3': null,
 | 
			
		||||
        //     'sj4': null,
 | 
			
		||||
        //     'sj5': null,
 | 
			
		||||
        //     'sj7': null,
 | 
			
		||||
        //     'sj8': null,
 | 
			
		||||
        //     'sj10': null,
 | 
			
		||||
        //     'sj11': null,
 | 
			
		||||
        //     'sj12': null,
 | 
			
		||||
        //     'sj13': null,
 | 
			
		||||
        //     'sj14': null,
 | 
			
		||||
        //     putType: '投入数量'
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     classType: 1,
 | 
			
		||||
        //     className: '白班(8:00-20:00)',
 | 
			
		||||
        //     'sj1': null,
 | 
			
		||||
        //     'sj2': null,
 | 
			
		||||
        //     'sj3': null,
 | 
			
		||||
        //     'sj4': null,
 | 
			
		||||
        //     'sj5': null,
 | 
			
		||||
        //     'sj7': null,
 | 
			
		||||
        //     'sj8': null,
 | 
			
		||||
        //     'sj10': null,
 | 
			
		||||
        //     'sj11': null,
 | 
			
		||||
        //     'sj12': null,
 | 
			
		||||
        //     'sj13': null,
 | 
			
		||||
        //     'sj14': null,
 | 
			
		||||
        //     putType: '投入次数'
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     classType: 2,
 | 
			
		||||
        //     className: '夜班(20:00-8:00)',
 | 
			
		||||
        //     'sj1': null,
 | 
			
		||||
        //     'sj2': null,
 | 
			
		||||
        //     'sj3': null,
 | 
			
		||||
        //     'sj4': null,
 | 
			
		||||
        //     'sj5': null,
 | 
			
		||||
        //     'sj7': null,
 | 
			
		||||
        //     'sj8': null,
 | 
			
		||||
        //     'sj10': null,
 | 
			
		||||
        //     'sj11': null,
 | 
			
		||||
        //     'sj12': null,
 | 
			
		||||
        //     'sj13': null,
 | 
			
		||||
        //     'sj14': null,
 | 
			
		||||
        //     putType: '投入数量',
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     classType: 2,
 | 
			
		||||
        //     className: '夜班(20:00-8:00)',
 | 
			
		||||
        //     'sj1': null,
 | 
			
		||||
        //     'sj2': null,
 | 
			
		||||
        //     'sj3': null,
 | 
			
		||||
        //     'sj4': null,
 | 
			
		||||
        //     'sj5': null,
 | 
			
		||||
        //     'sj7': null,
 | 
			
		||||
        //     'sj8': null,
 | 
			
		||||
        //     'sj10': null,
 | 
			
		||||
        //     'sj11': null,
 | 
			
		||||
        //     'sj12': null,
 | 
			
		||||
        //     'sj13': null,
 | 
			
		||||
        //     'sj14': null,
 | 
			
		||||
        //     putType: '投入次数',
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     classType: 1,
 | 
			
		||||
        //     className: '全天',
 | 
			
		||||
        //     'sj1': null,
 | 
			
		||||
        //     'sj2': null,
 | 
			
		||||
        //     'sj3': null,
 | 
			
		||||
        //     'sj4': null,
 | 
			
		||||
        //     'sj5': null,
 | 
			
		||||
        //     'sj7': null,
 | 
			
		||||
        //     'sj8': null,
 | 
			
		||||
        //     'sj10': null,
 | 
			
		||||
        //     'sj11': null,
 | 
			
		||||
        //     'sj12': null,
 | 
			
		||||
        //     'sj13': null,
 | 
			
		||||
        //     'sj14': null,
 | 
			
		||||
        //     putType: '投入数量',
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     classType: 2,
 | 
			
		||||
        //     className: '全天',
 | 
			
		||||
        //     'sj1': null,
 | 
			
		||||
        //     'sj2': null,
 | 
			
		||||
        //     'sj3': null,
 | 
			
		||||
        //     'sj4': null,
 | 
			
		||||
        //     'sj5': null,
 | 
			
		||||
        //     'sj7': null,
 | 
			
		||||
        //     'sj8': null,
 | 
			
		||||
        //     'sj10': null,
 | 
			
		||||
        //     'sj11': null,
 | 
			
		||||
        //     'sj12': null,
 | 
			
		||||
        //     'sj13': null,
 | 
			
		||||
        //     'sj14': null,
 | 
			
		||||
        //     putType: '投入次数',
 | 
			
		||||
        //   }
 | 
			
		||||
        // ]
 | 
			
		||||
        // res.data.forEach((ele) => {
 | 
			
		||||
        //   this.codeList.forEach((item) => {
 | 
			
		||||
        //     if (ele.classType === 1 && ele.code == item) {
 | 
			
		||||
        //       // console.log(arr[0][item])
 | 
			
		||||
        //       arr[0][item] = ele.putNum
 | 
			
		||||
        //       arr[1][item] = ele.useNum
 | 
			
		||||
        //     } else if (ele.classType === 2 && ele.code == item) {
 | 
			
		||||
        //       arr[2][item] = ele.putNum
 | 
			
		||||
        //       arr[3][item] = ele.useNum
 | 
			
		||||
        //     } else if (ele.classType === 3 && ele.code == item) {
 | 
			
		||||
        //       arr[4][item] = ele.putNum
 | 
			
		||||
        //       arr[5][item] = ele.useNum
 | 
			
		||||
        //     }
 | 
			
		||||
        //   })
 | 
			
		||||
        // })
 | 
			
		||||
        // // console.log(arr)
 | 
			
		||||
        // this.tableData = arr
 | 
			
		||||
        // this.dataListLoading = false;
 | 
			
		||||
        this.tableData.push({
 | 
			
		||||
          name: '检验员',
 | 
			
		||||
          num11: '合计',
 | 
			
		||||
          sum: res.data.allSum
 | 
			
		||||
        })
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-04-18 10:01:33
 | 
			
		||||
 * @LastEditTime: 2024-04-24 09:56:20
 | 
			
		||||
 * @LastEditTime: 2024-04-25 13:40:36
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -132,7 +132,7 @@ export default {
 | 
			
		||||
          startPlaceholder: '开始时间',
 | 
			
		||||
          endPlaceholder: '结束时间',
 | 
			
		||||
          param: 'checkTime',
 | 
			
		||||
          defaultSelect: [Date.now() - 24 * 60 * 60 - 1000, Date.now()],
 | 
			
		||||
          defaultSelect: [new Date(new Date(Date.now()).setHours(7, 0, 0, 0)).getTime(), new Date(new Date(Date.now()).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000],
 | 
			
		||||
          width: 350
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@@ -170,8 +170,8 @@ export default {
 | 
			
		||||
  created() { },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    // this.formConfig[1].defaultSelect[]
 | 
			
		||||
    this.listQuery.startTime = this.formConfig[0].defaultSelect[0]
 | 
			
		||||
    this.listQuery.endTime = this.formConfig[0].defaultSelect[1]
 | 
			
		||||
    this.listQuery.startTime = new Date(new Date(Date.now()).setHours(7, 0, 0, 0)).getTime()
 | 
			
		||||
    this.listQuery.endTime = new Date(new Date(Date.now()).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000
 | 
			
		||||
    // this.formConfig[0].defaultSelect[0] = Date.now()-24*60*60-1000
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
    this.getDict()
 | 
			
		||||
@@ -365,8 +365,8 @@ export default {
 | 
			
		||||
          // this.listQuery.materialId = val.materialId ? val.materialId : undefined;
 | 
			
		||||
          // this.listQuery.startTime = '1706144404000';
 | 
			
		||||
          // this.listQuery.endTime = '1706230804000';
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? val.checkTime[0] : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? val.checkTime[1] : undefined;
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? new Date(new Date(val.checkTime[0]).setHours(7, 0, 0, 0)).getTime() : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? new Date(new Date(val.checkTime[1]).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000 : undefined;
 | 
			
		||||
          this.listQuery.lineId = val.lineId ? val.lineId : undefined
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-04-18 15:07:53
 | 
			
		||||
 * @LastEditTime: 2024-04-24 09:58:07
 | 
			
		||||
 * @LastEditTime: 2024-04-25 13:41:27
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -129,7 +129,7 @@ export default {
 | 
			
		||||
          startPlaceholder: '开始时间',
 | 
			
		||||
          endPlaceholder: '结束时间',
 | 
			
		||||
          param: 'checkTime',
 | 
			
		||||
          defaultSelect: [Date.now() - 24 * 60 * 60 - 1000, Date.now()],
 | 
			
		||||
          defaultSelect: [new Date(new Date(Date.now()).setHours(7, 0, 0, 0)).getTime(), new Date(new Date(Date.now()).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000],
 | 
			
		||||
          width: 350
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@@ -167,8 +167,8 @@ export default {
 | 
			
		||||
  created() { },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    // this.formConfig[1].defaultSelect[]
 | 
			
		||||
    this.listQuery.startTime = this.formConfig[0].defaultSelect[0]
 | 
			
		||||
    this.listQuery.endTime = this.formConfig[0].defaultSelect[1]
 | 
			
		||||
    this.listQuery.startTime = new Date(new Date(Date.now()).setHours(7, 0, 0, 0)).getTime()
 | 
			
		||||
    this.listQuery.endTime = new Date(new Date(Date.now()).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000
 | 
			
		||||
    // this.formConfig[0].defaultSelect[0] = Date.now()-24*60*60-1000
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
    this.getDict()
 | 
			
		||||
@@ -357,8 +357,8 @@ export default {
 | 
			
		||||
          // this.listQuery.materialId = val.materialId ? val.materialId : undefined;
 | 
			
		||||
          // this.listQuery.startTime = '1706144404000';
 | 
			
		||||
          // this.listQuery.endTime = '1706230804000';
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? val.checkTime[0] : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? val.checkTime[1] : undefined;
 | 
			
		||||
          this.listQuery.startTime = val.checkTime ? new Date(new Date(val.checkTime[0]).setHours(7, 0, 0, 0)).getTime() : undefined;
 | 
			
		||||
          this.listQuery.endTime = val.checkTime ? new Date(new Date(val.checkTime[1]).setHours(6, 59, 59)).getTime() + 24 * 60 * 60 * 1000 : undefined;
 | 
			
		||||
          this.listQuery.lineId = val.lineId ? val.lineId : undefined
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user