修改bug
This commit is contained in:
		
							
								
								
									
										179
									
								
								src/views/report/glass/day.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										179
									
								
								src/views/report/glass/day.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,179 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-01-24 15:15:24
 | 
			
		||||
 * @LastEditTime: 2024-01-24 15:38:53
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <div>
 | 
			
		||||
      <el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
 | 
			
		||||
        <el-form-item label="日" prop="reportTime">
 | 
			
		||||
          <el-date-picker v-model="reportTime" @change="changeTime" type="date" placeholder="选择日期">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item>
 | 
			
		||||
          <el-button v-if="this.$auth.hasPermi('report:glass-month:query')" type="primary" size="small"
 | 
			
		||||
            @click="getDataList">查询</el-button>
 | 
			
		||||
          <el-button v-if="this.$auth.hasPermi('report:glass-month:export')" type="primary" size="small" plain
 | 
			
		||||
            @click="handleExport">导出</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
    </div>
 | 
			
		||||
    <inputTable :data="tableData" :time="[startTimeStamp, endTimeStamp]" :sum="all" :type="listQuery.reportType"
 | 
			
		||||
      @refreshDataList="getDataList" />
 | 
			
		||||
    <!-- <pagination
 | 
			
		||||
			:limit.sync="listQuery.pageSize"
 | 
			
		||||
			:page.sync="listQuery.pageNo"
 | 
			
		||||
			:total="listQuery.total"
 | 
			
		||||
			@pagination="getDataList" /> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { parseTime } from '../../core/mixins/code-filter';
 | 
			
		||||
import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
 | 
			
		||||
import inputTable from './inputTable.vue';
 | 
			
		||||
import { getCorePLList } from '@/api/base/coreProductionLine';
 | 
			
		||||
import moment from 'moment'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	components: { inputTable },
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			urlOptions: {
 | 
			
		||||
				getDataListURL: getGlassPage,
 | 
			
		||||
				exportURL: exportGlasscExcel
 | 
			
		||||
			},
 | 
			
		||||
			listQuery: {
 | 
			
		||||
				pageSize: 10,
 | 
			
		||||
				pageNo: 1,
 | 
			
		||||
				total: 0,
 | 
			
		||||
				reportType: 2,
 | 
			
		||||
				reportTime: []
 | 
			
		||||
			},
 | 
			
		||||
			reportTime: '',
 | 
			
		||||
			startTimeStamp: '',
 | 
			
		||||
			endTimeStamp: '',
 | 
			
		||||
			tableData: [],
 | 
			
		||||
			proLineList: [],
 | 
			
		||||
			all: {}
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
	created() {
 | 
			
		||||
		this.getDict()
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		async getDict() {
 | 
			
		||||
			// 产线列表
 | 
			
		||||
			const res = await getCorePLList();
 | 
			
		||||
			this.proLineList = res.data;
 | 
			
		||||
		},
 | 
			
		||||
		// 获取数据列表
 | 
			
		||||
    async getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
      await this.urlOptions.getDataListURL(this.listQuery).then(response => {
 | 
			
		||||
        this.tableData = response.data.filter(item => {
 | 
			
		||||
					this.proLineList.forEach(it => {
 | 
			
		||||
						if (item.lineId === it.id) {
 | 
			
		||||
							item.lineName = it.name
 | 
			
		||||
						}
 | 
			
		||||
					})
 | 
			
		||||
					if (item.det === false) {
 | 
			
		||||
						this.all = {
 | 
			
		||||
							id: item.id,
 | 
			
		||||
							remark: item.remark
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					return item.det === true
 | 
			
		||||
				});
 | 
			
		||||
        this.listQuery.total = response.data.length;
 | 
			
		||||
        this.dataListLoading = false;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    add0(m) {
 | 
			
		||||
      return m < 10 ? '0' + m : m
 | 
			
		||||
    },
 | 
			
		||||
    format(shijianchuo) {
 | 
			
		||||
      //shijianchuo是整数,否则要parseInt转换
 | 
			
		||||
      var time = moment(new Date(shijianchuo)).format('YYYY-MM-DD HH:mm:ss')
 | 
			
		||||
      // console.log(time)
 | 
			
		||||
      // var y = time.getFullYear();
 | 
			
		||||
      // var m = time.getMonth() + 1;
 | 
			
		||||
      // var d = time.getDate();
 | 
			
		||||
      // var h = time.getHours();
 | 
			
		||||
      // var mm = time.getMinutes();
 | 
			
		||||
      // var s = time.getSeconds();
 | 
			
		||||
      return time
 | 
			
		||||
    },
 | 
			
		||||
		changeTime(val) {
 | 
			
		||||
      if (val) {
 | 
			
		||||
        // console.log(val)
 | 
			
		||||
        // console.log(val.setHours(7, 0, 0))
 | 
			
		||||
        // console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
 | 
			
		||||
        // let time = this.format(val.setHours(7, 0, 0))
 | 
			
		||||
        this.listQuery.reportTime[0] = this.format(val.setHours(7, 0, 0)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
 | 
			
		||||
        this.listQuery.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
 | 
			
		||||
        console.log(this.listQuery.reportTime);
 | 
			
		||||
			} else {
 | 
			
		||||
					this.listQuery.reportTime = []
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		//时间戳转为yy-mm-dd hh:mm:ss
 | 
			
		||||
		timeFun(unixtimestamp) {
 | 
			
		||||
				var unixtimestamp = new Date(unixtimestamp);
 | 
			
		||||
				var year = 1900 + unixtimestamp.getYear();
 | 
			
		||||
				var month = "0" + (unixtimestamp.getMonth() + 1);
 | 
			
		||||
				var date = "0" + unixtimestamp.getDate();
 | 
			
		||||
				return year + "-" + month.substring(month.length - 2, month.length) + "-" + date.substring(date.length - 2, date.length)
 | 
			
		||||
		},
 | 
			
		||||
		buttonClick(val) {
 | 
			
		||||
			this.listQuery.reportTime = val.reportTime ? val.reportTime : undefined;
 | 
			
		||||
			switch (val.btnName) {
 | 
			
		||||
				case 'search':
 | 
			
		||||
					this.listQuery.pageNo = 1;
 | 
			
		||||
					this.listQuery.pageSize = 10;
 | 
			
		||||
					this.getDataList();
 | 
			
		||||
					break;
 | 
			
		||||
				case 'export':
 | 
			
		||||
					this.handleExport();
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					console.log(val);
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		/** 导出按钮操作 */
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
      let params = { ...this.listQuery };
 | 
			
		||||
      params.pageNo = undefined;
 | 
			
		||||
      params.pageSize = undefined;
 | 
			
		||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
			
		||||
        this.exportLoading = true;
 | 
			
		||||
        return this.urlOptions.exportURL(params);
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.$download.excel(response, '原片生产周报.xls');
 | 
			
		||||
        this.exportLoading = false;
 | 
			
		||||
      }).catch(() => { });
 | 
			
		||||
    }
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
/* .blueTip { */
 | 
			
		||||
	/* padding-bottom: 10px; */
 | 
			
		||||
/* } */
 | 
			
		||||
.blueTip::before{
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  content: '';
 | 
			
		||||
  width: 4px;
 | 
			
		||||
  height: 18px;
 | 
			
		||||
  background: #0B58FF;
 | 
			
		||||
  border-radius: 1px;
 | 
			
		||||
  margin-right: 8PX;
 | 
			
		||||
  margin-top: 8px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										37
									
								
								src/views/report/productionDayReport/InputArea.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/views/report/productionDayReport/InputArea.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="tableInner">
 | 
			
		||||
    <el-input v-model="list[itemProp]" @blur="changeInput" />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'InputArea',
 | 
			
		||||
  props: {
 | 
			
		||||
    injectData: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({})
 | 
			
		||||
    },
 | 
			
		||||
    itemProp: {
 | 
			
		||||
      type: String
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      list: this.injectData
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    changeInput() {
 | 
			
		||||
      console.log(this.list)
 | 
			
		||||
      this.$emit('emitData', this.list)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style>
 | 
			
		||||
.tableInner .el-input__inner {
 | 
			
		||||
  border: none;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  height: 33px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										570
									
								
								src/views/report/productionDayReport/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										570
									
								
								src/views/report/productionDayReport/index.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,570 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-12-12 13:45:25
 | 
			
		||||
 * @LastEditTime: 2024-01-24 16:53:41
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <el-form :inline="true" :model="dataForm" class="demo-form-inline">
 | 
			
		||||
      <el-form-item label="日" prop="reportTime">
 | 
			
		||||
        <el-date-picker v-model="reportTime" @change="changeTime" type="date" placeholder="选择日期">
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">查询</el-button>
 | 
			
		||||
      <el-button v-if="this.$auth.hasPermi('report:glass-month:export')" type="primary" size="small" plain
 | 
			
		||||
        @click="handleExport">导出</el-button>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <el-row style="float: right; margin-bottom: 5px">
 | 
			
		||||
      <el-button size="small" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button size="small" v-if="isSave" @click="saveDataList()">保存</el-button>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-table :data="list" style="width: 100%" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
    }">
 | 
			
		||||
      <el-table-column :label="'许昌安彩月成品生产汇总' + timeTips" align="center">
 | 
			
		||||
        <el-table-column prop="lineId" label="生产线">
 | 
			
		||||
          <template slot-scope="scope">
 | 
			
		||||
            <el-input v-if="scope.row.det === true" v-model="scope.row.lineId" :disabled="disabled"></el-input>
 | 
			
		||||
            <span v-else>{{ scope.row.lineId }} </span>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="投入数㎡">
 | 
			
		||||
          <el-table-column prop="inputNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.inputNow" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.inputNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="inputHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.inputHis" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.inputHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="inputTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.inputTrend" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.inputTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="完成良品产量">
 | 
			
		||||
          <el-table-column prop="goodProductNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductNow" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductHis" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductTrend" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="原片漏检率">
 | 
			
		||||
          <el-table-column prop="missCheckNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.missCheckNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="missCheckHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.missCheckHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="missCheckTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.missCheckTrend" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.missCheckTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="综合良品率">
 | 
			
		||||
          <el-table-column prop="goodProductPassNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductPassNow" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductPassNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductPassHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductPassHis" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductPassHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductPassTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductPassTrend" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductPassTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <div style="height: 50px;" class="remark" slot="append">
 | 
			
		||||
        <h3 style="float: left;text-align: center;margin-left: 20px;">备注:</h3>
 | 
			
		||||
        <el-input :disabled="disabled" style="float:right;width: 96%;margin-top: 8px;" v-model="remark"></el-input>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <!-- <SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" /> -->
 | 
			
		||||
 | 
			
		||||
    <!-- 列表 -->
 | 
			
		||||
    <!-- <base-table :table-props="tableProps" :page="1" :limit="10" :summary-method="getSummaries" show-summary
 | 
			
		||||
      :table-data="list">
 | 
			
		||||
    </base-table> -->
 | 
			
		||||
    <!-- 分页组件 -->
 | 
			
		||||
    <!-- <pagination
 | 
			
		||||
			v-show="total > 0"
 | 
			
		||||
			:total="total"
 | 
			
		||||
			:page.sync="queryParams.pageNo"
 | 
			
		||||
			:limit.sync="queryParams.pageSize"
 | 
			
		||||
			@pagination="getList" /> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import {
 | 
			
		||||
  getProductionDataList,
 | 
			
		||||
  updateProductionDataList,
 | 
			
		||||
  updateSumProductionDataList,
 | 
			
		||||
  exportProductExcel
 | 
			
		||||
} from '@/api/report/production';
 | 
			
		||||
// import Editor from '@/components/Editor';
 | 
			
		||||
import moment from 'moment';
 | 
			
		||||
// import DialogForm from './dialogForm.vue';
 | 
			
		||||
 | 
			
		||||
// import basicPageMixin from '@/mixins/lb/basicPageMixin';
 | 
			
		||||
const tableProps = [
 | 
			
		||||
    {
 | 
			
		||||
      // width: 128,
 | 
			
		||||
    prop: 'lineId',
 | 
			
		||||
    label: '生产线',
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      // width: 128,
 | 
			
		||||
      prop: '',
 | 
			
		||||
      label: '投入数㎡',
 | 
			
		||||
      align: 'center',
 | 
			
		||||
      children: [
 | 
			
		||||
        {
 | 
			
		||||
          prop: 'inputNow',
 | 
			
		||||
          label: '本周'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          prop: 'inputHis',
 | 
			
		||||
          label: '上周'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          prop: 'inputTrend',
 | 
			
		||||
          label: '增减'
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
  {
 | 
			
		||||
    // width: 128,
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '完成良品产量',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductNow',
 | 
			
		||||
        label: '本周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductHis',
 | 
			
		||||
        label: '上周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductTrend',
 | 
			
		||||
        label: '增减'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    // width: 128,
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '原片漏检率',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'missCheckNow',
 | 
			
		||||
        label: '本周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'missCheckHis',
 | 
			
		||||
        label: '上周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'missCheckTrend',
 | 
			
		||||
        label: '增减'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    // width: 128,
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '综合良品率',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductPassNow',
 | 
			
		||||
        label: '本周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductPassHis',
 | 
			
		||||
        label: '上周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductPassTrend',
 | 
			
		||||
        label: '增减'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  ];
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'statisticalData',
 | 
			
		||||
	// components: {
 | 
			
		||||
	// 	DialogForm,
 | 
			
		||||
	// },
 | 
			
		||||
	// mixins: [basicPageMixin],
 | 
			
		||||
	data() {
 | 
			
		||||
    return {
 | 
			
		||||
      list: [],
 | 
			
		||||
      remark: '',
 | 
			
		||||
      monthValue:[],
 | 
			
		||||
      // dynamicProps: [],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        exportURL: exportProductExcel
 | 
			
		||||
      },
 | 
			
		||||
      isSave:false,
 | 
			
		||||
      disabled: true,
 | 
			
		||||
      sumArr: [],
 | 
			
		||||
      timeTips:'',
 | 
			
		||||
      searchBarFormConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: 'select',
 | 
			
		||||
        //   label: '工单名称',
 | 
			
		||||
        //   placeholder: '请选择工单名称',
 | 
			
		||||
        //   param: 'workOrderIdList',
 | 
			
		||||
        //   selectOptions: [],
 | 
			
		||||
        //   multiple: true,
 | 
			
		||||
        //   labelField: 'name',
 | 
			
		||||
        //   valueField: 'id',
 | 
			
		||||
        //   defaultSelect: []
 | 
			
		||||
        // },
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: 'select',
 | 
			
		||||
				// 	label: '产品',
 | 
			
		||||
        //   placeholder: '请选择产品',
 | 
			
		||||
        //   param: 'productionId',
 | 
			
		||||
				// 	selectOptions: [],
 | 
			
		||||
				// },
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: 'input',
 | 
			
		||||
				// 	label: '检测内容',
 | 
			
		||||
				// 	placeholder: '请输入检测内容',
 | 
			
		||||
				// 	param: 'inspectionDetContent',
 | 
			
		||||
				// },
 | 
			
		||||
				{
 | 
			
		||||
					type: 'datePicker',
 | 
			
		||||
					label: '时间段',
 | 
			
		||||
					dateType: 'daterange', // datetimerange
 | 
			
		||||
					// format: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
          valueFormat: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
					rangeSeparator: '-',
 | 
			
		||||
					startPlaceholder: '开始日期',
 | 
			
		||||
					endPlaceholder: '结束日期',
 | 
			
		||||
					defaultTime: ['00:00:00', '23:59:59'],
 | 
			
		||||
					param: 'checkTime',
 | 
			
		||||
					// width: 350,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'button',
 | 
			
		||||
					btnName: '查询',
 | 
			
		||||
					name: 'search',
 | 
			
		||||
					color: 'primary',
 | 
			
		||||
				},
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: this.$auth.hasPermi(
 | 
			
		||||
				// 		'base:quality-inspection-record:create'
 | 
			
		||||
				// 	)
 | 
			
		||||
				// 		? 'button'
 | 
			
		||||
				// 		: '',
 | 
			
		||||
				// 	btnName: '新增',
 | 
			
		||||
				// 	name: 'add',
 | 
			
		||||
				// 	plain: true,
 | 
			
		||||
				// 	color: 'success',
 | 
			
		||||
				// },
 | 
			
		||||
      ],
 | 
			
		||||
      pickerOptions: {
 | 
			
		||||
        disabledDate(date) {
 | 
			
		||||
          return date.getTime() > Date.now()
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
			// tableBtn: [
 | 
			
		||||
			// 	this.$auth.hasPermi('base:quality-inspection-record:update')
 | 
			
		||||
			// 		? {
 | 
			
		||||
			// 				type: 'edit',
 | 
			
		||||
			// 				btnName: '修改',
 | 
			
		||||
			// 		  }
 | 
			
		||||
			// 		: undefined,
 | 
			
		||||
      //   this.$auth.hasPermi('base:quality-inspection-record:delete')
 | 
			
		||||
			// 		? {
 | 
			
		||||
			// 				type: 'delete',
 | 
			
		||||
			// 				btnName: '删除',
 | 
			
		||||
			// 		  }
 | 
			
		||||
			// 		: undefined,
 | 
			
		||||
			// ].filter((v) => v),
 | 
			
		||||
			// tableProps: [
 | 
			
		||||
			// 	{
 | 
			
		||||
			// 		prop: 'createTime',
 | 
			
		||||
			// 		label: '添加时间',
 | 
			
		||||
			// 		fixed: true,
 | 
			
		||||
			// 		width: 180,
 | 
			
		||||
			// 		filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
 | 
			
		||||
			// 	},
 | 
			
		||||
			// 	{
 | 
			
		||||
			// 		// width: 128,
 | 
			
		||||
			// 		prop: 'inspectionDetContent',
 | 
			
		||||
			// 		label: '检测内容',
 | 
			
		||||
			// 	},
 | 
			
		||||
			// 	{
 | 
			
		||||
			// 		// width: 128,
 | 
			
		||||
			// 		prop: 'lineName',
 | 
			
		||||
			// 		label: '产线',
 | 
			
		||||
			// 	},
 | 
			
		||||
			// 	{
 | 
			
		||||
			// 		// width: 128,
 | 
			
		||||
			// 		prop: 'checkPerson',
 | 
			
		||||
			// 		label: '检测人员',
 | 
			
		||||
			// 	},
 | 
			
		||||
			// 	{
 | 
			
		||||
			// 		// width: 160,
 | 
			
		||||
			// 		prop: 'checkTime',
 | 
			
		||||
			// 		label: '检测时间',
 | 
			
		||||
			// 		filter: (val) =>
 | 
			
		||||
			// 			val != null ? moment(val).format('yyyy-MM-DD HH:mm:ss') : '-',
 | 
			
		||||
			// 	},
 | 
			
		||||
			// 	{
 | 
			
		||||
			// 		width: 90,
 | 
			
		||||
			// 		prop: 'source',
 | 
			
		||||
			// 		label: '来源',
 | 
			
		||||
			// 		filter: (val) => ['未知', '手动', '自动'][val],
 | 
			
		||||
			// 	},
 | 
			
		||||
			// ],
 | 
			
		||||
      // 搜索框需要的 keys, 与上面 queryParams 的除 pageNo, pageSize 之外的 key 一一对应
 | 
			
		||||
 | 
			
		||||
			// searchBarKeys: ['inspectionDetContent', 'checkTime', 'productionLineId'],
 | 
			
		||||
			// form: {
 | 
			
		||||
			// 	id: undefined,
 | 
			
		||||
			// 	inspectionDetId: undefined,
 | 
			
		||||
			// 	inspectionDetContent: undefined,
 | 
			
		||||
			// 	productionLineId: undefined,
 | 
			
		||||
			// 	sectionId: undefined,
 | 
			
		||||
			// 	checkPerson: undefined,
 | 
			
		||||
			// 	checkTime: undefined,
 | 
			
		||||
			// 	source: undefined,
 | 
			
		||||
			// 	explainText: undefined,
 | 
			
		||||
			// 	remark: undefined,
 | 
			
		||||
			// },
 | 
			
		||||
			// 查询参数
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        // workOrderIdList:undefined,
 | 
			
		||||
        // productionId: undefined,
 | 
			
		||||
        // startTime: undefined,
 | 
			
		||||
        // endTime: undefined,
 | 
			
		||||
        reportTime: [],
 | 
			
		||||
        reportType:2,
 | 
			
		||||
				// productionLineId: null,
 | 
			
		||||
			},
 | 
			
		||||
		};
 | 
			
		||||
  },
 | 
			
		||||
	created() {
 | 
			
		||||
		// this.getProductLineList();
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    // if (this.$route.params.startTime && this.$route.params.endTime) {
 | 
			
		||||
    //   this.searchBarFormConfig[0].defaultSelect = [
 | 
			
		||||
    //     this.$route.params.startTime,
 | 
			
		||||
    //     this.$route.params.endTime,
 | 
			
		||||
    //   ];
 | 
			
		||||
    //   this.queryParams.param = {};
 | 
			
		||||
    //   this.$set(
 | 
			
		||||
    //     this.queryParams.param,
 | 
			
		||||
    //     'startTime',
 | 
			
		||||
    //     this.$route.params.startTime
 | 
			
		||||
    //   );
 | 
			
		||||
    //   this.$set(this.queryParams.param, 'endTime', this.$route.params.endTime);
 | 
			
		||||
    // } else {
 | 
			
		||||
    //   this.searchBarFormConfig[0].defaultSelect = [];
 | 
			
		||||
    // }
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    format(shijianchuo) {
 | 
			
		||||
      //shijianchuo是整数,否则要parseInt转换
 | 
			
		||||
      var time = moment(new Date(shijianchuo)).format('YYYY-MM-DD HH:mm:ss')
 | 
			
		||||
      // console.log(time)
 | 
			
		||||
      // var y = time.getFullYear();
 | 
			
		||||
      // var m = time.getMonth() + 1;
 | 
			
		||||
      // var d = time.getDate();
 | 
			
		||||
      // var h = time.getHours();
 | 
			
		||||
      // var mm = time.getMinutes();
 | 
			
		||||
      // var s = time.getSeconds();
 | 
			
		||||
      return time
 | 
			
		||||
    },
 | 
			
		||||
    changeTime(val) {
 | 
			
		||||
      if (val) {
 | 
			
		||||
        // console.log(val)
 | 
			
		||||
        // console.log(val.setHours(7, 0, 0))
 | 
			
		||||
        // console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
 | 
			
		||||
        // let time = this.format(val.setHours(7, 0, 0))
 | 
			
		||||
        this.dataForm.reportTime[0] = this.format(val.setHours(7, 0, 0)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
 | 
			
		||||
        this.dataForm.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
 | 
			
		||||
        console.log(this.dataForm.reportTime);
 | 
			
		||||
      } else {
 | 
			
		||||
        this.dataForm.reportTime = []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
      let params = { ...this.dataForm };
 | 
			
		||||
      params.pageNo = undefined;
 | 
			
		||||
      params.pageSize = undefined;
 | 
			
		||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
			
		||||
        this.exportLoading = true;
 | 
			
		||||
        return this.urlOptions.exportURL(params);
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.$download.excel(response, '成品生产月报.xls');
 | 
			
		||||
        this.exportLoading = false;
 | 
			
		||||
      }).catch(() => { });
 | 
			
		||||
    },
 | 
			
		||||
    timeSelect() {
 | 
			
		||||
      // switch (this.queryParams.timeDim) {
 | 
			
		||||
        // case '1':
 | 
			
		||||
        //   if (this.timeValue[1] - this.timeValue[0] > 7 * 24 * 3600000) {
 | 
			
		||||
        //     this.$modal.msgError('最大时间范围为7天,请重新选择')
 | 
			
		||||
        //     this.timeValue = []
 | 
			
		||||
        //   }
 | 
			
		||||
        //   break
 | 
			
		||||
        // case '2':
 | 
			
		||||
      if (this.monthValue[1] - this.monthValue[0] > 729 * 24 * 3600000) {
 | 
			
		||||
        this.$modal.msgError('最大时间范围为24个月,请重新选择')// 同理上面
 | 
			
		||||
        this.monthValue = []
 | 
			
		||||
      }
 | 
			
		||||
        //   break
 | 
			
		||||
        // case '4':
 | 
			
		||||
        //   if (this.monthValue[1] - this.monthValue[0] > 729 * 24 * 3600000) {
 | 
			
		||||
        //     this.$modal.msgError('最大时间范围为24个月,请重新选择')// 同理上面
 | 
			
		||||
        //     this.monthValue = []
 | 
			
		||||
        //   }
 | 
			
		||||
        //   break
 | 
			
		||||
        // default:
 | 
			
		||||
    },
 | 
			
		||||
    transformTime(timeStamp) {// 本月最后一天
 | 
			
		||||
      let year = moment(timeStamp).format('YYYY')
 | 
			
		||||
      let month = moment(timeStamp).format('MM')
 | 
			
		||||
      let newData = moment(new Date(year, month, 0)).format('YYYY-MM-DD') + ' 23:59:59'
 | 
			
		||||
      let value = newData
 | 
			
		||||
      console.log(value);
 | 
			
		||||
      return value
 | 
			
		||||
    },
 | 
			
		||||
    // selectTime() {
 | 
			
		||||
    //   switch (this.queryParams.type) {
 | 
			
		||||
    //     case 1:
 | 
			
		||||
    //       this.queryParams.searchTime = this.monthValue
 | 
			
		||||
    //       break;
 | 
			
		||||
    //     case 2:
 | 
			
		||||
    //       this.queryParams.searchTime = this.weekValue
 | 
			
		||||
    //       break;
 | 
			
		||||
    //     default:
 | 
			
		||||
    //       this.queryParams.searchTime = this.dateValue
 | 
			
		||||
    //   }
 | 
			
		||||
    // },
 | 
			
		||||
    editDataList() {
 | 
			
		||||
      this.disabled = false
 | 
			
		||||
      this.isSave = true
 | 
			
		||||
    },
 | 
			
		||||
    async saveDataList() {
 | 
			
		||||
      let obj = {}
 | 
			
		||||
      this.list.forEach((ele, index) => {
 | 
			
		||||
        if (ele.det === false) {
 | 
			
		||||
          this.list[index].lineId = ''
 | 
			
		||||
          this.list[index].remark = this.remark
 | 
			
		||||
          obj = ele
 | 
			
		||||
          this.list.splice(index,1)
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      let updateArr = this.list
 | 
			
		||||
      // console.log(JSON.stringify(updateArr[1]))
 | 
			
		||||
      const result = await Promise.all([
 | 
			
		||||
        await updateSumProductionDataList(obj),
 | 
			
		||||
        await updateProductionDataList(updateArr),
 | 
			
		||||
      ]);
 | 
			
		||||
      if (result[0] == true && result[1] == true) {
 | 
			
		||||
        // console.log(res)
 | 
			
		||||
        this.disabled = true
 | 
			
		||||
        this.isSave = false
 | 
			
		||||
        this.getDataList()
 | 
			
		||||
      } else {
 | 
			
		||||
        this.$modal.msgError('更新失败');
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    async getDataList() {
 | 
			
		||||
      if (this.monthValue.length > 0) {
 | 
			
		||||
        console.log(this.monthValue)
 | 
			
		||||
        this.dataForm.reportTime[0] = this.transformTime(this.monthValue[0])
 | 
			
		||||
        // this.queryParams.startTime = this.monthValue[0]
 | 
			
		||||
        this.dataForm.reportTime[1] = this.transformTime(this.monthValue[1])
 | 
			
		||||
        this.timeTips = moment(this.monthValue[0]).format('YYYY-MM-DD') + ' - ' + moment(this.monthValue[1]).format('YYYY-MM-DD')
 | 
			
		||||
        console.log(this.timeTips);
 | 
			
		||||
      } else {
 | 
			
		||||
        // this.$modal.msgError('月范围不能为空')
 | 
			
		||||
        // return false
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      console.log(this.dataForm);
 | 
			
		||||
      const res = await this.$axios({
 | 
			
		||||
        url: '/base/report-auto-production/page',
 | 
			
		||||
        method: 'get',
 | 
			
		||||
        params: this.dataForm
 | 
			
		||||
      })
 | 
			
		||||
      console.log(res)
 | 
			
		||||
      // let sum = undefined
 | 
			
		||||
      // res.data.list.forEach((ele, index) => {
 | 
			
		||||
      //   if (ele.det === false) {
 | 
			
		||||
      //    sum = res.data.list.splice(index, 1)
 | 
			
		||||
      //   }
 | 
			
		||||
      // })
 | 
			
		||||
      res.data.list.forEach((ele,index) => {
 | 
			
		||||
        if (ele.det === false) {
 | 
			
		||||
          res.data.list[index].lineId = '合计'
 | 
			
		||||
          this.remark = res.data.list[index].remark
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.list = res.data.list
 | 
			
		||||
    },
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-12-12 13:45:25
 | 
			
		||||
 * @LastEditTime: 2023-12-14 14:56:38
 | 
			
		||||
 * @LastEditTime: 2024-01-24 15:57:10
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -15,15 +15,18 @@
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">查询</el-button>
 | 
			
		||||
      <el-button type="primary" icon="el-icon-edit-outline" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button v-if="isSave" type="success" @click="saveDataList()">保存</el-button>
 | 
			
		||||
 | 
			
		||||
      <el-button v-if="this.$auth.hasPermi('report:glass-month:export')" type="primary" size="small" plain
 | 
			
		||||
        @click="handleExport">导出</el-button>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <el-row style="float: right; margin-bottom: 5px">
 | 
			
		||||
      <el-button size="small" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button size="small" v-if="isSave" @click="saveDataList()">保存</el-button>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-table :data="list" style="width: 100%" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
    }">
 | 
			
		||||
      <el-table-column  :label="'许昌安彩月成品生产汇总' + timeTips" align="center">
 | 
			
		||||
      <el-table-column :label="'许昌安彩月成品生产汇总' + timeTips" align="center">
 | 
			
		||||
        <el-table-column prop="lineId" label="生产线">
 | 
			
		||||
          <template slot-scope="scope">
 | 
			
		||||
            <el-input v-if="scope.row.det === true" v-model="scope.row.lineId" :disabled="disabled"></el-input>
 | 
			
		||||
@@ -144,7 +147,8 @@
 | 
			
		||||
import {
 | 
			
		||||
  getProductionDataList,
 | 
			
		||||
  updateProductionDataList,
 | 
			
		||||
  updateSumProductionDataList
 | 
			
		||||
  updateSumProductionDataList,
 | 
			
		||||
  exportProductExcel
 | 
			
		||||
} from '@/api/report/production';
 | 
			
		||||
// import Editor from '@/components/Editor';
 | 
			
		||||
import moment from 'moment';
 | 
			
		||||
@@ -251,9 +255,9 @@ export default {
 | 
			
		||||
      monthValue:[],
 | 
			
		||||
      // dynamicProps: [],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      // dataForm: {
 | 
			
		||||
      //   reportTime:undefined
 | 
			
		||||
      // },
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        exportURL: exportProductExcel
 | 
			
		||||
      },
 | 
			
		||||
      isSave:false,
 | 
			
		||||
      disabled: true,
 | 
			
		||||
      sumArr: [],
 | 
			
		||||
@@ -420,6 +424,19 @@ export default {
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
      let params = { ...this.dataForm };
 | 
			
		||||
      params.pageNo = undefined;
 | 
			
		||||
      params.pageSize = undefined;
 | 
			
		||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
			
		||||
        this.exportLoading = true;
 | 
			
		||||
        return this.urlOptions.exportURL(params);
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.$download.excel(response, '成品生产月报.xls');
 | 
			
		||||
        this.exportLoading = false;
 | 
			
		||||
      }).catch(() => { });
 | 
			
		||||
    },
 | 
			
		||||
    timeSelect() {
 | 
			
		||||
      // switch (this.queryParams.timeDim) {
 | 
			
		||||
        // case '1':
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-12-12 13:45:25
 | 
			
		||||
 * @LastEditTime: 2023-12-14 14:56:40
 | 
			
		||||
 * @LastEditTime: 2024-01-24 15:50:10
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -15,10 +15,13 @@
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">查询</el-button>
 | 
			
		||||
      <el-button type="primary" icon="el-icon-edit-outline" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button v-if="isSave" type="success" @click="saveDataList()">保存</el-button>
 | 
			
		||||
 | 
			
		||||
      <!-- <el-button type="primary" icon="el-icon-edit-outline" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button v-if="isSave" type="success" @click="saveDataList()">保存</el-button> -->
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <el-row style="float: right; margin-bottom: 5px">
 | 
			
		||||
      <el-button size="small" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button size="small" v-if="isSave" @click="saveDataList()">保存</el-button>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-table :data="list" style="width: 100%" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								src/views/report/productionWeekReport copy/InputArea.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/views/report/productionWeekReport copy/InputArea.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="tableInner">
 | 
			
		||||
    <el-input v-model="list[itemProp]" @blur="changeInput" />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'InputArea',
 | 
			
		||||
  props: {
 | 
			
		||||
    injectData: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({})
 | 
			
		||||
    },
 | 
			
		||||
    itemProp: {
 | 
			
		||||
      type: String
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      list: this.injectData
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    changeInput() {
 | 
			
		||||
      console.log(this.list)
 | 
			
		||||
      this.$emit('emitData', this.list)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style>
 | 
			
		||||
.tableInner .el-input__inner {
 | 
			
		||||
  border: none;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  height: 33px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										468
									
								
								src/views/report/productionWeekReport copy/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										468
									
								
								src/views/report/productionWeekReport copy/index.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,468 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-12-12 13:45:25
 | 
			
		||||
 * @LastEditTime: 2024-01-24 15:55:48
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <el-form :inline="true" :model="dataForm" class="demo-form-inline">
 | 
			
		||||
      <el-form-item>
 | 
			
		||||
        <el-form-item label="日" prop="reportTime">
 | 
			
		||||
          <el-date-picker v-model="reportTime" @change="changeTime" type="date" placeholder="选择日期">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">查询</el-button>
 | 
			
		||||
      <el-button v-if="this.$auth.hasPermi('report:glass-month:export')" type="primary" size="small" plain
 | 
			
		||||
        @click="handleExport">导出</el-button>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <el-row style="float: right; margin-bottom: 5px">
 | 
			
		||||
      <el-button size="small" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button size="small" v-if="isSave" @click="saveDataList()">保存</el-button>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-table :data="list" style="width: 100%" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
    }">
 | 
			
		||||
      <el-table-column :label="'许昌安彩月成品生产汇总' + timeTips" align="center">
 | 
			
		||||
        <el-table-column prop="lineId" label="生产线">
 | 
			
		||||
          <template slot-scope="scope">
 | 
			
		||||
            <el-input v-if="scope.row.det === true" v-model="scope.row.lineId" :disabled="disabled"></el-input>
 | 
			
		||||
            <span v-else>{{ scope.row.lineId }} </span>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="投入数㎡">
 | 
			
		||||
          <el-table-column prop="inputNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.inputNow" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.inputNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="inputHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.inputHis" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.inputHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="inputTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.inputTrend" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.inputTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="完成良品产量">
 | 
			
		||||
          <el-table-column prop="goodProductNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductNow" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductHis" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductTrend" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="原片漏检率">
 | 
			
		||||
          <el-table-column prop="missCheckNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.missCheckNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="missCheckHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.missCheckHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="missCheckTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.missCheckTrend" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.missCheckTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="综合良品率">
 | 
			
		||||
          <el-table-column prop="goodProductPassNow" label="本周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductPassNow" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductPassNow }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductPassHis" label="上周">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductPassHis" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductPassHis }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
          <el-table-column prop="goodProductPassTrend" label="增减">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-if="scope.row.det === true" v-model="scope.row.goodProductPassTrend" :disabled="disabled">
 | 
			
		||||
              </el-input>
 | 
			
		||||
              <span v-else>{{ scope.row.goodProductPassTrend }} </span>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <div style="height: 50px;" class="remark" slot="append">
 | 
			
		||||
        <h3 style="float: left;text-align: center;margin-left: 20px;">备注:</h3>
 | 
			
		||||
        <el-input :disabled="disabled" style="float:right;width: 96%;margin-top: 8px;" v-model="remark"></el-input>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <!-- <SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" /> -->
 | 
			
		||||
 | 
			
		||||
    <!-- 列表 -->
 | 
			
		||||
    <!-- <base-table :table-props="tableProps" :page="1" :limit="10" :summary-method="getSummaries" show-summary
 | 
			
		||||
      :table-data="list">
 | 
			
		||||
    </base-table> -->
 | 
			
		||||
    <!-- 分页组件 -->
 | 
			
		||||
    <!-- <pagination
 | 
			
		||||
			v-show="total > 0"
 | 
			
		||||
			:total="total"
 | 
			
		||||
			:page.sync="queryParams.pageNo"
 | 
			
		||||
			:limit.sync="queryParams.pageSize"
 | 
			
		||||
			@pagination="getList" /> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import {
 | 
			
		||||
  getProductionDataList,
 | 
			
		||||
  updateProductionDataList,
 | 
			
		||||
  updateSumProductionDataList,
 | 
			
		||||
  exportProductExcel
 | 
			
		||||
} from '@/api/report/production';
 | 
			
		||||
// import Editor from '@/components/Editor';
 | 
			
		||||
import moment from 'moment';
 | 
			
		||||
// import DialogForm from './dialogForm.vue';
 | 
			
		||||
 | 
			
		||||
// import basicPageMixin from '@/mixins/lb/basicPageMixin';
 | 
			
		||||
const tableProps = [
 | 
			
		||||
    {
 | 
			
		||||
      // width: 128,
 | 
			
		||||
    prop: 'lineId',
 | 
			
		||||
    label: '生产线',
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      // width: 128,
 | 
			
		||||
      prop: '',
 | 
			
		||||
      label: '投入数㎡',
 | 
			
		||||
      align: 'center',
 | 
			
		||||
      children: [
 | 
			
		||||
        {
 | 
			
		||||
          prop: 'inputNow',
 | 
			
		||||
          label: '本周'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          prop: 'inputHis',
 | 
			
		||||
          label: '上周'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          prop: 'inputTrend',
 | 
			
		||||
          label: '增减'
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
  {
 | 
			
		||||
    // width: 128,
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '完成良品产量',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductNow',
 | 
			
		||||
        label: '本周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductHis',
 | 
			
		||||
        label: '上周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductTrend',
 | 
			
		||||
        label: '增减'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    // width: 128,
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '原片漏检率',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'missCheckNow',
 | 
			
		||||
        label: '本周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'missCheckHis',
 | 
			
		||||
        label: '上周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'missCheckTrend',
 | 
			
		||||
        label: '增减'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    // width: 128,
 | 
			
		||||
    prop: '',
 | 
			
		||||
    label: '综合良品率',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductPassNow',
 | 
			
		||||
        label: '本周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductPassHis',
 | 
			
		||||
        label: '上周'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'goodProductPassTrend',
 | 
			
		||||
        label: '增减'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  ];
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'statisticalData',
 | 
			
		||||
	// components: {
 | 
			
		||||
	// 	DialogForm,
 | 
			
		||||
	// },
 | 
			
		||||
	// mixins: [basicPageMixin],
 | 
			
		||||
	data() {
 | 
			
		||||
    return {
 | 
			
		||||
      list: [],
 | 
			
		||||
      remark: '',
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        // getDataListURL: getGlassPage,
 | 
			
		||||
        exportURL: exportProductExcel
 | 
			
		||||
      },
 | 
			
		||||
      // dynamicProps: [],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      timeTips:'',
 | 
			
		||||
      // dataForm: {
 | 
			
		||||
      //   reportTime:undefined
 | 
			
		||||
      // },
 | 
			
		||||
      isSave:false,
 | 
			
		||||
      disabled: true,
 | 
			
		||||
      sumArr: [],
 | 
			
		||||
      weekValue1: null,//最多24周
 | 
			
		||||
      weekValue2: null,
 | 
			
		||||
      searchBarFormConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: 'select',
 | 
			
		||||
        //   label: '工单名称',
 | 
			
		||||
        //   placeholder: '请选择工单名称',
 | 
			
		||||
        //   param: 'workOrderIdList',
 | 
			
		||||
        //   selectOptions: [],
 | 
			
		||||
        //   multiple: true,
 | 
			
		||||
        //   labelField: 'name',
 | 
			
		||||
        //   valueField: 'id',
 | 
			
		||||
        //   defaultSelect: []
 | 
			
		||||
        // },
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: 'select',
 | 
			
		||||
				// 	label: '产品',
 | 
			
		||||
        //   placeholder: '请选择产品',
 | 
			
		||||
        //   param: 'productionId',
 | 
			
		||||
				// 	selectOptions: [],
 | 
			
		||||
				// },
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: 'input',
 | 
			
		||||
				// 	label: '检测内容',
 | 
			
		||||
				// 	placeholder: '请输入检测内容',
 | 
			
		||||
				// 	param: 'inspectionDetContent',
 | 
			
		||||
				// },
 | 
			
		||||
				{
 | 
			
		||||
					type: 'datePicker',
 | 
			
		||||
					label: '时间段',
 | 
			
		||||
					dateType: 'daterange', // datetimerange
 | 
			
		||||
					// format: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
          valueFormat: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
					rangeSeparator: '-',
 | 
			
		||||
					startPlaceholder: '开始日期',
 | 
			
		||||
					endPlaceholder: '结束日期',
 | 
			
		||||
					defaultTime: ['00:00:00', '23:59:59'],
 | 
			
		||||
					param: 'checkTime',
 | 
			
		||||
					// width: 350,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					type: 'button',
 | 
			
		||||
					btnName: '查询',
 | 
			
		||||
					name: 'search',
 | 
			
		||||
					color: 'primary',
 | 
			
		||||
				},
 | 
			
		||||
				// {
 | 
			
		||||
				// 	type: this.$auth.hasPermi(
 | 
			
		||||
				// 		'base:quality-inspection-record:create'
 | 
			
		||||
				// 	)
 | 
			
		||||
				// 		? 'button'
 | 
			
		||||
				// 		: '',
 | 
			
		||||
				// 	btnName: '新增',
 | 
			
		||||
				// 	name: 'add',
 | 
			
		||||
				// 	plain: true,
 | 
			
		||||
				// 	color: 'success',
 | 
			
		||||
				// },
 | 
			
		||||
			],
 | 
			
		||||
      pickerOptionsWeek: {
 | 
			
		||||
        disabledDate(time) {
 | 
			
		||||
          let day = Date.now()
 | 
			
		||||
          let limitTime = moment(day).day(-1)
 | 
			
		||||
          return time.getTime() > new Date(limitTime).getTime()
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      reportTime:undefined,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        // workOrderIdList:undefined,
 | 
			
		||||
        // productionId: undefined,
 | 
			
		||||
        // startTime: undefined,
 | 
			
		||||
        // endTime: undefined,
 | 
			
		||||
        reportTime: [],
 | 
			
		||||
        reportType:2
 | 
			
		||||
				// productionLineId: null,
 | 
			
		||||
			},
 | 
			
		||||
		};
 | 
			
		||||
  },
 | 
			
		||||
	created() {
 | 
			
		||||
		// this.getProductLineList();
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    // if (this.$route.params.startTime && this.$route.params.endTime) {
 | 
			
		||||
    //   this.searchBarFormConfig[0].defaultSelect = [
 | 
			
		||||
    //     this.$route.params.startTime,
 | 
			
		||||
    //     this.$route.params.endTime,
 | 
			
		||||
    //   ];
 | 
			
		||||
    //   this.queryParams.param = {};
 | 
			
		||||
    //   this.$set(
 | 
			
		||||
    //     this.queryParams.param,
 | 
			
		||||
    //     'startTime',
 | 
			
		||||
    //     this.$route.params.startTime
 | 
			
		||||
    //   );
 | 
			
		||||
    //   this.$set(this.queryParams.param, 'endTime', this.$route.params.endTime);
 | 
			
		||||
    // } else {
 | 
			
		||||
    //   this.searchBarFormConfig[0].defaultSelect = [];
 | 
			
		||||
    // }
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    format(shijianchuo) {
 | 
			
		||||
      //shijianchuo是整数,否则要parseInt转换
 | 
			
		||||
      var time = moment(new Date(shijianchuo)).format('YYYY-MM-DD HH:mm:ss')
 | 
			
		||||
      // console.log(time)
 | 
			
		||||
      // var y = time.getFullYear();
 | 
			
		||||
      // var m = time.getMonth() + 1;
 | 
			
		||||
      // var d = time.getDate();
 | 
			
		||||
      // var h = time.getHours();
 | 
			
		||||
      // var mm = time.getMinutes();
 | 
			
		||||
      // var s = time.getSeconds();
 | 
			
		||||
      return time
 | 
			
		||||
    },
 | 
			
		||||
    changeTime(val) {
 | 
			
		||||
      if (val) {
 | 
			
		||||
        // console.log(val)
 | 
			
		||||
        // console.log(val.setHours(7, 0, 0))
 | 
			
		||||
        // console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
 | 
			
		||||
        // let time = this.format(val.setHours(7, 0, 0))
 | 
			
		||||
        this.dataForm.reportTime[0] = this.format(val.setHours(7, 0, 0)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
 | 
			
		||||
        this.dataForm.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
 | 
			
		||||
        console.log(this.dataForm.reportTime);
 | 
			
		||||
      } else {
 | 
			
		||||
        this.dataForm.reportTime = []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    editDataList() {
 | 
			
		||||
      this.disabled = false
 | 
			
		||||
      this.isSave = true
 | 
			
		||||
    },
 | 
			
		||||
    async saveDataList() {
 | 
			
		||||
      let obj = {}
 | 
			
		||||
      this.list.forEach((ele, index) => {
 | 
			
		||||
        if (ele.det === false) {
 | 
			
		||||
          this.list[index].lineId = ''
 | 
			
		||||
          this.list[index].remark = this.remark
 | 
			
		||||
          obj = ele
 | 
			
		||||
          this.list.splice(index,1)
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      let updateArr = this.list
 | 
			
		||||
      // console.log(JSON.stringify(updateArr[1]))
 | 
			
		||||
      const result = await Promise.all([
 | 
			
		||||
        await updateSumProductionDataList(obj),
 | 
			
		||||
        await updateProductionDataList(updateArr),
 | 
			
		||||
      ]);
 | 
			
		||||
      if (result[0].data == true && result[1].data == true) {
 | 
			
		||||
        // console.log(res)
 | 
			
		||||
        this.disabled = true
 | 
			
		||||
        this.isSave = false
 | 
			
		||||
        this.getDataList()
 | 
			
		||||
      } else {
 | 
			
		||||
        this.$modal.msgError('更新失败');
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
      let params = { ...this.dataForm };
 | 
			
		||||
      params.pageNo = undefined;
 | 
			
		||||
      params.pageSize = undefined;
 | 
			
		||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
			
		||||
        this.exportLoading = true;
 | 
			
		||||
        return this.urlOptions.exportURL(params);
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.$download.excel(response, '成品生产日报.xls');
 | 
			
		||||
        this.exportLoading = false;
 | 
			
		||||
      }).catch(() => { });
 | 
			
		||||
    },
 | 
			
		||||
    async getDataList() {
 | 
			
		||||
      // if (this.weekValue1 && this.weekValue2) {
 | 
			
		||||
      //   this.dataForm.reportTime[0] = moment(this.weekValue1).day(0).format('YYYY-MM-DD') + ' 00:00:00'
 | 
			
		||||
      //   // this.queryParams.startTime = this.monthValue[0]
 | 
			
		||||
      //   this.dataForm.reportTime[1] = moment(this.weekValue2).day(6).format('YYYY-MM-DD') + ' 23:59:59'
 | 
			
		||||
      //   this.timeTips = moment(this.weekValue1).day(0).format('YYYY-MM-DD') + ' - ' + moment(this.weekValue2).day(0).format('YYYY-MM-DD')
 | 
			
		||||
      // } else {
 | 
			
		||||
      // }
 | 
			
		||||
			this.loading = true;
 | 
			
		||||
			// 执行查询
 | 
			
		||||
      const res = await this.$axios({
 | 
			
		||||
        url: '/base/report-auto-production/page',
 | 
			
		||||
        method: 'get',
 | 
			
		||||
        params: this.dataForm
 | 
			
		||||
      })
 | 
			
		||||
      // console.log(this.queryParams);
 | 
			
		||||
      console.log(res)
 | 
			
		||||
      // let sum = undefined
 | 
			
		||||
      // res.data.list.forEach((ele, index) => {
 | 
			
		||||
      //   if (ele.det === false) {
 | 
			
		||||
      //    sum = res.data.list.splice(index, 1)
 | 
			
		||||
      //   }
 | 
			
		||||
      // })
 | 
			
		||||
      res.data.list.forEach((ele,index) => {
 | 
			
		||||
        if (ele.det === false) {
 | 
			
		||||
          res.data.list[index].lineId = '合计'
 | 
			
		||||
          this.remark = res.data.list[index].remark
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.list = res.data.list
 | 
			
		||||
    },
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-12-12 13:45:25
 | 
			
		||||
 * @LastEditTime: 2023-12-14 14:56:37
 | 
			
		||||
 * @LastEditTime: 2024-01-24 15:59:13
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -17,10 +17,14 @@
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">查询</el-button>
 | 
			
		||||
      <el-button type="primary" icon="el-icon-edit-outline" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button v-if="isSave" type="success" @click="saveDataList()">保存</el-button>
 | 
			
		||||
 | 
			
		||||
      <!-- <el-button type="primary" @click="getDataList()">查询</el-button> -->
 | 
			
		||||
      <el-button v-if="this.$auth.hasPermi('report:glass-month:export')" type="primary" size="small" plain
 | 
			
		||||
        @click="handleExport">导出</el-button>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <el-row style="float: right; margin-bottom: 5px">
 | 
			
		||||
      <el-button size="small" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button size="small" v-if="isSave" @click="saveDataList()">保存</el-button>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-table :data="list" style="width: 100%" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
@@ -146,7 +150,8 @@
 | 
			
		||||
import {
 | 
			
		||||
  getProductionDataList,
 | 
			
		||||
  updateProductionDataList,
 | 
			
		||||
  updateSumProductionDataList
 | 
			
		||||
  updateSumProductionDataList,
 | 
			
		||||
  exportProductExcel
 | 
			
		||||
} from '@/api/report/production';
 | 
			
		||||
// import Editor from '@/components/Editor';
 | 
			
		||||
import moment from 'moment';
 | 
			
		||||
@@ -252,6 +257,9 @@ export default {
 | 
			
		||||
      remark:'',
 | 
			
		||||
      // dynamicProps: [],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        exportURL: exportProductExcel
 | 
			
		||||
      },
 | 
			
		||||
      timeTips:'',
 | 
			
		||||
      // dataForm: {
 | 
			
		||||
      //   reportTime:undefined
 | 
			
		||||
@@ -358,6 +366,19 @@ export default {
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
      let params = { ...this.dataForm };
 | 
			
		||||
      params.pageNo = undefined;
 | 
			
		||||
      params.pageSize = undefined;
 | 
			
		||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
			
		||||
        this.exportLoading = true;
 | 
			
		||||
        return this.urlOptions.exportURL(params);
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.$download.excel(response, '成品生产周报.xls');
 | 
			
		||||
        this.exportLoading = false;
 | 
			
		||||
      }).catch(() => { });
 | 
			
		||||
    },
 | 
			
		||||
    startWeek() {
 | 
			
		||||
      if (this.weekValue1 && this.weekValue2) {
 | 
			
		||||
        let a = new Date(this.weekValue1).getTime()
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-12-12 13:45:25
 | 
			
		||||
 * @LastEditTime: 2023-12-14 14:56:45
 | 
			
		||||
 * @LastEditTime: 2024-01-24 15:59:21
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -17,10 +17,15 @@
 | 
			
		||||
        </el-date-picker>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">查询</el-button>
 | 
			
		||||
      <el-button type="primary" icon="el-icon-edit-outline" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button v-if="isSave" type="success" @click="saveDataList()">保存</el-button>
 | 
			
		||||
 | 
			
		||||
      <el-button v-if="this.$auth.hasPermi('report:glass-month:export')" type="primary" size="small" plain
 | 
			
		||||
        @click="handleExport">导出</el-button>
 | 
			
		||||
      <!-- <el-button type="primary" icon="el-icon-edit-outline" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button v-if="isSave" type="success" @click="saveDataList()">保存</el-button> -->
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <el-row style="float: right; margin-bottom: 5px">
 | 
			
		||||
      <el-button size="small" @click="editDataList()">编辑</el-button>
 | 
			
		||||
      <el-button size="small" v-if="isSave" @click="saveDataList()">保存</el-button>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-table :data="list" style="width: 100%" :header-cell-style="{
 | 
			
		||||
      background: '#F2F4F9',
 | 
			
		||||
      color: '#606266'
 | 
			
		||||
@@ -147,7 +152,8 @@
 | 
			
		||||
import {
 | 
			
		||||
  getProductionDataList,
 | 
			
		||||
  updateProductionDataList,
 | 
			
		||||
  updateSumProductionDataList
 | 
			
		||||
  updateSumProductionDataList,
 | 
			
		||||
  exportProductExcel
 | 
			
		||||
} from '@/api/report/production';
 | 
			
		||||
// import Editor from '@/components/Editor';
 | 
			
		||||
import moment from 'moment';
 | 
			
		||||
@@ -250,6 +256,9 @@ export default {
 | 
			
		||||
	data() {
 | 
			
		||||
    return {
 | 
			
		||||
      list: [],
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        exportURL: exportProductExcel
 | 
			
		||||
      },
 | 
			
		||||
      remark: '',
 | 
			
		||||
      timeTips:'',
 | 
			
		||||
      yearValue1: null,//最多10年
 | 
			
		||||
@@ -357,6 +366,19 @@ export default {
 | 
			
		||||
    this.getDataList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      // 处理查询参数
 | 
			
		||||
      let params = { ...this.dataForm };
 | 
			
		||||
      params.pageNo = undefined;
 | 
			
		||||
      params.pageSize = undefined;
 | 
			
		||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
			
		||||
        this.exportLoading = true;
 | 
			
		||||
        return this.urlOptions.exportURL(params);
 | 
			
		||||
      }).then(response => {
 | 
			
		||||
        this.$download.excel(response, '成品生产月报.xls');
 | 
			
		||||
        this.exportLoading = false;
 | 
			
		||||
      }).catch(() => { });
 | 
			
		||||
    },
 | 
			
		||||
    startYear() {
 | 
			
		||||
      if (this.yearValue2 && this.yearValue2 < this.yearValue1) {
 | 
			
		||||
        this.$modal.msgError('开始时间不能晚于结束时间,请重新选择')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user