Ver código fonte

Merge pull request 'projects/mesxc-dy' (#374) from projects/mesxc-dy into projects/mesxc-test

Reviewed-on: http://git.picaiba.com/mt-fe-group/yudao-dev/pulls/374
pull/376/head
juzi 4 meses atrás
pai
commit
14b2a49053
7 arquivos alterados com 321 adições e 188 exclusões
  1. +1
    -1
      package.json
  2. +5
    -5
      src/api/quality/rawMaterialTraceability.js
  3. +52
    -28
      src/views/quality/base/qualityIsra/index.vue
  4. +121
    -104
      src/views/quality/monitoring/originalGlassRetrace/index.vue
  5. +43
    -43
      src/views/quality/monitoring/statisticalData/index.vue
  6. +52
    -4
      src/views/report/Product/monthly.vue
  7. +47
    -3
      src/views/report/Product/year.vue

+ 1
- 1
package.json Ver arquivo

@@ -50,7 +50,7 @@
"benz-amr-recorder": "^1.1.5", "benz-amr-recorder": "^1.1.5",
"bpmn-js-token-simulation": "0.10.0", "bpmn-js-token-simulation": "0.10.0",
"clipboard": "2.0.8", "clipboard": "2.0.8",
"code-brick-zj": "^1.0.5",
"code-brick-zj": "^1.1.0",
"core-js": "^3.26.0", "core-js": "^3.26.0",
"crypto-js": "^4.0.0", "crypto-js": "^4.0.0",
"diagram-js": "^12.3.0", "diagram-js": "^12.3.0",


+ 5
- 5
src/api/quality/rawMaterialTraceability.js Ver arquivo

@@ -1,8 +1,8 @@
/* /*
* @Author: zhp * @Author: zhp
* @Date: 2023-10-31 10:55:20 * @Date: 2023-10-31 10:55:20
* @LastEditTime: 2023-12-06 14:09:14
* @LastEditors: zhp
* @LastEditTime: 2024-04-25 15:28:44
* @LastEditors: DY
* @Description: * @Description:
*/ */
import request from '@/utils/request' import request from '@/utils/request'
@@ -34,11 +34,11 @@ export function exportEnergyPlcExcel(query) {
}) })
} }


export function getOriginalGlassRetrace(query) {
export function getOriginalGlassRetrace(data) {
return request({ return request({
url: '/base/original-glass-statistics/originalGlassRetrace', url: '/base/original-glass-statistics/originalGlassRetrace',
method: 'get',
params: query,
method: 'post',
data
}) })
} }



+ 52
- 28
src/views/quality/base/qualityIsra/index.vue Ver arquivo

@@ -86,16 +86,19 @@ import moment from 'moment';
// import DialogForm from './dialogForm.vue'; // import DialogForm from './dialogForm.vue';
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin'; import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
import { getCorePLList } from '@/api/base/coreProductionLine';
import { parseTime } from '@/utils/ruoyi';


// import basicPageMixin from '@/mixins/lb/basicPageMixin'; // import basicPageMixin from '@/mixins/lb/basicPageMixin';
export default { export default {
name: 'statisticalData',
name: 'QualityIsra',
// components: { // components: {
// DialogForm, // DialogForm,
// }, // },
mixins: [tableHeightMixin], mixins: [tableHeightMixin],
data() { data() {
return { return {
isFold: false,
list: [], list: [],
dynamicProps: [], dynamicProps: [],
activeName: 'day', activeName: 'day',
@@ -106,6 +109,16 @@ export default {
weekListUrl: '/base/quality-isra-statistics/weekList', weekListUrl: '/base/quality-isra-statistics/weekList',
monthListUrl: '/base/quality-isra-statistics/monthList', monthListUrl: '/base/quality-isra-statistics/monthList',
searchBarFormConfig: [ searchBarFormConfig: [
{
type: 'select',
label: '是否报废',
placeholder: '请选择是否报废',
param: 'checkDiscard',
selectOptions: [
{ name: '否', id: 0 },
{ name: '是', id: 1 }
],
},
{ {
type: 'select', type: 'select',
label: '缺陷类型', label: '缺陷类型',
@@ -114,6 +127,17 @@ export default {
selectOptions: [], selectOptions: [],
labelField: 'name', labelField: 'name',
valueField: 'name', valueField: 'name',
defaultSelect: [],
filterable: true
},
{
type: 'select',
label: '产线',
selectOptions: [],
labelField: 'name',
valueField: 'name',
param: 'lineName',
filterable: true,
defaultSelect: [] defaultSelect: []
}, },
{ {
@@ -139,8 +163,9 @@ export default {
], ],
// 查询参数 // 查询参数
queryParams: { queryParams: {
checkDiscard: undefined,
checkType:undefined, checkType:undefined,
// productionId: undefined,
lineName: undefined,
startTime: undefined, startTime: undefined,
endTime: undefined, endTime: undefined,
// productionLineId: null, // productionLineId: null,
@@ -149,6 +174,7 @@ export default {
}, },
created() { created() {
// this.getProductLineList(); // this.getProductLineList();
// this.isFold = this.searchBarWidth('QualityIsraBox', 1198);
}, },
computed: { computed: {
tableProps() { tableProps() {
@@ -168,29 +194,20 @@ export default {
}, },
}, },
mounted() { mounted() {
// if (this.$route.query.woIdString) {
// console.log(this.$route.query.woIdString)
// this.queryParams.workOrderIdList = this.$route.query.woIdString.split(',')
// // this.queryParams.workOrderIdList = [this.$route.query.woIdString]
// // let arr =[]
// this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',')
// console.log(this.searchBarFormConfig[0].defaultSelect);
// }
// 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 = [];
// }
if (this.$route.query.lineName) {
// console.log('打印看看产线', this.$route.query.lineName)
this.queryParams.lineName = this.$route.query.lineName
this.searchBarFormConfig[2].defaultSelect = this.$route.query.lineName
}
if (this.$route.query.originalGlassOutputTime) {
console.log('你好', this.$route.query.originalGlassOutputTime)
this.queryParams.startTime = parseTime(new Date(Number(this.$route.query.originalGlassOutputTime)))
this.queryParams.endTime = parseTime(new Date(Number(this.$route.query.originalGlassOutputTime)))
this.searchBarFormConfig[3].defaultSelect = [
this.queryParams.startTime,
this.queryParams.endTime,
];
}
this.getList() this.getList()
this.getData() this.getData()
this.getDict() this.getDict()
@@ -393,8 +410,12 @@ export default {
pageNo:1 pageNo:1
} }
}); });
console.log(res)
this.searchBarFormConfig[0].selectOptions = res.data.list
// console.log(res)
this.searchBarFormConfig[1].selectOptions = res.data.list
await getCorePLList().then((res) => {
// console.log(res);
this.searchBarFormConfig[2].selectOptions = res.data;
})
// this.searchBarFormConfig[1].selectOptions = res.data.map((item) => { // this.searchBarFormConfig[1].selectOptions = res.data.map((item) => {
// return { // return {
// name: item.name, // name: item.name,
@@ -425,7 +446,7 @@ export default {
}, },
/** 查询列表 */ /** 查询列表 */
async getDataList() { async getDataList() {
console.log(this.queryParams);
console.log('查询条件', this.queryParams);
this.loading = true; this.loading = true;
// 执行查询 // 执行查询
const { const {
@@ -467,7 +488,10 @@ export default {
}, },
/** 取消按钮 */ /** 取消按钮 */
handleSearchBarBtnClick(val) { handleSearchBarBtnClick(val) {
console.log('11111', val)
if (val.btnName === 'search') { if (val.btnName === 'search') {
this.queryParams.checkDiscard = (val?.checkDiscard === 0 || val?.checkDiscard === 1) ? val?.checkDiscard : undefined
this.queryParams.lineName = val.lineName ? val.lineName : undefined
this.queryParams.checkType = val.checkType ? val.checkType : undefined this.queryParams.checkType = val.checkType ? val.checkType : undefined
// this.queryParams.productionId = val.productionId ? val.productionId : undefined // this.queryParams.productionId = val.productionId ? val.productionId : undefined
this.queryParams.startTime = val.checkTime ? val.checkTime[0] : undefined this.queryParams.startTime = val.checkTime ? val.checkTime[0] : undefined


+ 121
- 104
src/views/quality/monitoring/originalGlassRetrace/index.vue Ver arquivo

@@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-01 14:55:51 * @Date: 2023-08-01 14:55:51
* @LastEditors: DY * @LastEditors: DY
* @LastEditTime: 2024-04-25 14:42:53
* @LastEditTime: 2024-04-26 09:58:51
* @Description: * @Description:
--> -->
<template> <template>
@@ -23,18 +23,16 @@
</el-form-item> </el-form-item>
<el-form-item label="包装全检时间及产线" prop="val"> <el-form-item label="包装全检时间及产线" prop="val">
<el-date-picker <el-date-picker
v-model="listQuery.timeVal"
v-model="listQuery.packTime"
value-format="timestamp" value-format="timestamp"
type="datetimerange"
type="datetime"
size="small" size="small"
clearable clearable
start-placeholder="包装全检开始时间"
end-placeholder="包装全检结束时间"
range-separator="-"
placeholder="包装全检时间"
@change="countTimes('timestamp3')" @change="countTimes('timestamp3')"
/> />
<el-select v-model="listQuery.lineName" size="small" clearable filterable placeholder="产线" @change="countTimes('timestamp3')" style="margin-left: 5px"> <el-select v-model="listQuery.lineName" size="small" clearable filterable placeholder="产线" @change="countTimes('timestamp3')" style="margin-left: 5px">
<el-option label="区域一" value="shanghai"></el-option>
<el-option v-for="(item, index) in lineOptions" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@@ -51,8 +49,8 @@
:table-data="list"> --> :table-data="list"> -->
<base-table :max-height="tableH" :table-props="tableProps" <base-table :max-height="tableH" :table-props="tableProps"
:table-data="list"> :table-data="list">
<!-- <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
@clickBtn="handleClick" /> -->
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="220" label="缺陷操作" :method-list="tableBtn"
@clickBtn="handleClick" />
</base-table> </base-table>
<!-- <pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total" <!-- <pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
@pagination="getList" /> --> @pagination="getList" /> -->
@@ -64,56 +62,76 @@
// import AddOrUpdate from './add-or-updata'; // import AddOrUpdate from './add-or-updata';
// import unitDict from './unitDict'; // import unitDict from './unitDict';
// import basicPage from '../mixins/basic-page'; // import basicPage from '../mixins/basic-page';
import { publicFormatter } from '@/utils/dict';
// import { publicFormatter } from '@/utils/dict';
import { parseTime } from '../mixins/code-filter'; import { parseTime } from '../mixins/code-filter';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin'; import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
import { getCorePLList } from '@/api/base/coreProductionLine';


import {
getOriginalGlassRetrace,
getWorkOrderList,
// exportEnergyPlcExcel
} from '@/api/quality/rawMaterialTraceability';
import { getOriginalGlassRetrace } from '@/api/quality/rawMaterialTraceability';


const tableProps = [ const tableProps = [
{ {
prop: 'certificateNumber', prop: 'certificateNumber',
label: '合格证号', label: '合格证号',
minWidth: 120,
showOverflowtooltip: true,
filter: (val) => val ? val : '--'
}, },
{ {
prop: 'boxNumber', prop: 'boxNumber',
label: '箱号', label: '箱号',
minWidth: 150,
showOverflowtooltip: true,
filter: (val) => val ? val : '--'
}, },
{ {
prop: 'packagingCode', prop: 'packagingCode',
label: '成品周转编号', label: '成品周转编号',
minWidth: 180,
showOverflowtooltip: true,
filter: (val) => val ? val : '--'
}, },
{ {
prop: 'deepProcessingLineName', prop: 'deepProcessingLineName',
label: '深加工产线', label: '深加工产线',
minWidth: 120,
showOverflowtooltip: true,
filter: (val) => val ? val : '--'
}, },
{ {
prop: 'deepProcessingInputTime', prop: 'deepProcessingInputTime',
label: '深加工上片时间', label: '深加工上片时间',
filter: parseTime
// filter: (val) => parseTime(val) ? parseTime(val) : '--',
filter: parseTime,
minWidth: 180,
showOverflowtooltip: true
}, },
{ {
prop: 'deepProcessingOutputTime', prop: 'deepProcessingOutputTime',
label: '深加工下片时间', label: '深加工下片时间',
filter: parseTime
filter: parseTime,
minWidth: 180,
showOverflowtooltip: true
}, },
{ {
prop: 'glassCode', prop: 'glassCode',
label: '原片周转编码', label: '原片周转编码',
minWidth: 150,
showOverflowtooltip: true
}, },
{ {
prop: 'originalGlassLineName', prop: 'originalGlassLineName',
label: '原片产线', label: '原片产线',
minWidth: 150,
showOverflowtooltip: true
}, },
{ {
prop: 'originalGlassOutputTime', prop: 'originalGlassOutputTime',
label: '原片下片时间', label: '原片下片时间',
filter: parseTime
},
filter: parseTime,
minWidth: 180,
showOverflowtooltip: true
}
// { // {
// prop: 'scrapDetail', // prop: 'scrapDetail',
// label: '详情', // label: '详情',
@@ -126,29 +144,25 @@ export default {
mixins: [tableHeightMixin], mixins: [tableHeightMixin],
data() { data() {
return { return {
// urlOptions: {
// getDataListURL: getMaterialUseLogPage,
// // deleteURL: deletePackingType,
// // exportURL: exportPackingExcel,
// },
lineOptions: [],
tableProps, tableProps,
// tableBtn: [
// // this.$auth.hasPermi(`base:packaging-print-log:update`)
// // ?
// {
// type: 'edit',
// btnName: '编辑',
// },
// // : undefined,
// // this.$auth.hasPermi(`base:packaging-print-log:delete`)
// // ?
// {
// type: 'delete',
// btnName: '删除',
// }
// // : undefined,
tableBtn: [
// this.$auth.hasPermi(`base:packaging-print-log:update`)
// ?
{
type: 'detail0',
btnName: '成品缺陷详情',
},
// : undefined,
// this.$auth.hasPermi(`base:packaging-print-log:delete`)
// ?
{
type: 'detail1',
btnName: '原片缺陷详情',
}
// : undefined,


// ].filter((v) => v),
].filter((v) => v),
list: [], list: [],
listQuery: { listQuery: {
// pageSize: 10, // pageSize: 10,
@@ -156,13 +170,12 @@ export default {
// total: 0, // total: 0,
certificateNumber: undefined, certificateNumber: undefined,
packagingCode: undefined, packagingCode: undefined,
timeVal:undefined,
lineName: undefined,
packTime: null,
lineName: null,
glassCode: undefined glassCode: undefined
}, },
count: 0,
useTime: false, useTime: false,
countArray: [],
countArray: [false, false, false, false],
// tableH: this.tableHeight(260), // tableH: this.tableHeight(260),
formConfig: [ formConfig: [
// { // {
@@ -260,82 +273,86 @@ export default {
// window.addEventListener('resize', () => { // window.addEventListener('resize', () => {
// this.tableH = this.tableHeight(260) // this.tableH = this.tableHeight(260)
// }) // })
this.count = 0
countArray: [false, false, false, false],
this.useTime = false this.useTime = false
// this.getList() // this.getList()
this.getDict() this.getDict()
}, },
methods: { methods: {
handleClick(raw) {
if (raw.type === 'detail1') {
// 原片缺陷
this.$router.push({
path: '/quality/base/quality-isra',
query: {
// deepProcessingLineId: raw.data.deepProcessingLineId,
lineName: raw.data.deepProcessingLineName,
originalGlassOutputTime: raw.data.originalGlassOutputTime
},
});
} else {
// 成品缺陷
this.$router.push({
path: '/quality/base/quality-inspection-data/detection-information/statistical-data',
query: {
startTime: raw.data.deepProcessingInputTime,
endTime: raw.data.deepProcessingOutputTime
},
});
}
},
countTimes(val) { countTimes(val) {
if (val === 1) { if (val === 1) {
let temp = this.listQuery?.certificateNumber !== ''
this.countArray[0] = temp
console.log('你好', this.countArray)
this.countArray[0] = this.listQuery.certificateNumber !== '' && this.listQuery.certificateNumber !== undefined
} }
if (val && val !== '') {
if (val === 'timestamp3') {
if (this.listQuery.timeVal.length > 0 || this.listQuery?.lineName !== '') {
this.useTime = true
} else {
this.useTime = false
}
if (val === 2) {
this.countArray[1] = this.listQuery?.packagingCode !== '' && this.listQuery?.packagingCode !== undefined
}
if (val === 3) {
this.countArray[2] = this.listQuery?.glassCode !== '' && this.listQuery?.glassCode !== undefined
}
if (val === 'timestamp3') {
if ((this.listQuery.packTime !== '' && this.listQuery.packTime !== null) || (this.listQuery?.lineName !== '' && this.listQuery.lineName !== null)) {
this.useTime = true
this.countArray[3] = true
} else { } else {
this.count ++
this.useTime = false
this.countArray[3] = true
} }
} else {
this.count --
} }
}, },
getList() { getList() {
// console.log('nihc ', this.count, this.listQuery)
// if (this.count > 1) {
// this.$message.error('请选择一个条件进行查询!')
// } else {
// if (this.useTime === true) {
// if (this.listQuery.timeVal.length > 0 && this.listQuery?.lineName !== '') {
// getOriginalGlassRetrace({ ...this.listQuery }).then(res => {
// console.log(res);
// this.list = res.data || []
// console.log(this.list);
// // this.listQuery.total = res.data.total || 0
// })
// } else {
// this.$message.error('选择包装全检时,时间和产线必填!')
// }
// } else {
getOriginalGlassRetrace({ ...this.listQuery }).then(res => {
console.log(res);
this.list = res.data || []
console.log(this.list);
// this.listQuery.total = res.data.total || 0
})
// }
// }
let trueArray = this.countArray.filter(val => val === true)
if (trueArray.length !== 1) {
this.$message.error('请选择一个条件进行查询!')
} else {
if (this.useTime === true) {
if (this.listQuery.packTime !== null && this.listQuery.packTime !== '' && this.listQuery.lineName !== null && this.listQuery.lineName !== '') {
getOriginalGlassRetrace({ ...this.listQuery }).then(res => {
console.log(res);
this.list = res.data || []
console.log(this.list);
// this.listQuery.total = res.data.total || 0
})
} else {
this.$message.error('选择包装全检时,时间和产线均为必填!')
}
} else {
getOriginalGlassRetrace({ ...this.listQuery }).then(res => {
console.log(res);
this.list = res.data || []
console.log(this.list);
})
}
}
}, },
getDict() { getDict() {
// 获取产品的属性列表
// getCustomerList().then((response) => {
// console.log(response);
// this.customerList = response.data
// // this.listQuery.total = response.data.total;
// })
// getModelList().then((response) => {
// console.log(response);
// this.modelList = response.data
// // this.listQuery.total = response.data.total;
// })
getWorkOrderList().then((response) => {
// console.log(response);
this.formConfig[0].selectOptions = response.data.map((item) => {
return {
name: item.name,
id: item.id
}
})
console.log(this.formConfig[0].selectOptions);
// this.listQuery.total = response.data.total;
})
// 获取产线
getCorePLList().then((res) => {
console.log(res);
this.lineOptions = res.data;
})
}, },
// handleExport() { // handleExport() {
// // 处理查询参数 // // 处理查询参数


+ 43
- 43
src/views/quality/monitoring/statisticalData/index.vue Ver arquivo

@@ -60,26 +60,26 @@ export default {
list: [], list: [],
dynamicProps:[], dynamicProps:[],
searchBarFormConfig: [ searchBarFormConfig: [
{
type: 'select',
label: '工单名称',
placeholder: '请选择工单名称',
param: 'workOrderIdList',
selectOptions: [],
multiple: true,
labelField: 'name',
valueField: 'id',
defaultSelect: [],
filterable: true
},
{
type: 'select',
label: '产品',
placeholder: '请选择产品',
param: 'productionId',
selectOptions: [],
filterable: true
},
// {
// type: 'select',
// label: '工单名称',
// placeholder: '请选择工单名称',
// param: 'workOrderIdList',
// selectOptions: [],
// multiple: true,
// labelField: 'name',
// valueField: 'id',
// defaultSelect: [],
// filterable: true
// },
// {
// type: 'select',
// label: '产品',
// placeholder: '请选择产品',
// param: 'productionId',
// selectOptions: [],
// filterable: true
// },
// { // {
// type: 'input', // type: 'input',
// label: '检测内容', // label: '检测内容',
@@ -193,8 +193,8 @@ export default {
// }, // },
// 查询参数 // 查询参数
queryParams: { queryParams: {
workOrderIdList:undefined,
productionId: undefined,
// workOrderIdList:undefined,
// productionId: undefined,
startTime: undefined, startTime: undefined,
endTime: undefined, endTime: undefined,
// productionLineId: null, // productionLineId: null,
@@ -207,16 +207,16 @@ export default {
computed: { computed: {
tableProps() { tableProps() {
return [ return [
{
// width: 128,
prop: 'workOrderName',
label: '工单名称',
},
{
// width: 128,
prop: 'productionName',
label: '产品',
},
// {
// // width: 128,
// prop: 'workOrderName',
// label: '工单名称',
// },
// {
// // width: 128,
// prop: 'productionName',
// label: '产品',
// },
{ {
// width: 160, // width: 160,
prop: 'inspectionContent', prop: 'inspectionContent',
@@ -259,17 +259,17 @@ export default {
}, },
}, },
mounted() { mounted() {
if (this.$route.query.woIdString) {
console.log(this.$route.query.woIdString)
this.queryParams.workOrderIdList = this.$route.query.woIdString.split(',')
// this.queryParams.workOrderIdList = [this.$route.query.woIdString]
// let arr =[]
this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',')
console.log(this.searchBarFormConfig[0].defaultSelect);
}
// if (this.$route.query.woIdString) {
// console.log(this.$route.query.woIdString)
// this.queryParams.workOrderIdList = this.$route.query.woIdString.split(',')
// // this.queryParams.workOrderIdList = [this.$route.query.woIdString]
// // let arr =[]
// this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',')
// console.log(this.searchBarFormConfig[0].defaultSelect);
// }
if (this.$route.query.startTime && this.$route.query.endTime) { if (this.$route.query.startTime && this.$route.query.endTime) {
// console.log(this.$route.query.startTime); // console.log(this.$route.query.startTime);
this.searchBarFormConfig[2].defaultSelect = [moment(Number(this.$route.query.startTime)).format('yyyy-MM-DD HH:mm:ss'), moment(Number(this.$route.query.endTime)).format('yyyy-MM-DD HH:mm:ss'),]
this.searchBarFormConfig[0].defaultSelect = [moment(Number(this.$route.query.startTime)).format('yyyy-MM-DD HH:mm:ss'), moment(Number(this.$route.query.endTime)).format('yyyy-MM-DD HH:mm:ss'),]
this.queryParams.startTime = moment(Number(this.$route.query.startTime)).format('yyyy-MM-DD HH:mm:ss') this.queryParams.startTime = moment(Number(this.$route.query.startTime)).format('yyyy-MM-DD HH:mm:ss')
this.queryParams.endTime = moment(Number(this.$route.query.endTime)).format('yyyy-MM-DD HH:mm:ss') this.queryParams.endTime = moment(Number(this.$route.query.endTime)).format('yyyy-MM-DD HH:mm:ss')
} }
@@ -370,8 +370,8 @@ export default {
/** 取消按钮 */ /** 取消按钮 */
handleSearchBarBtnClick(val) { handleSearchBarBtnClick(val) {
if (val.btnName === 'search') { if (val.btnName === 'search') {
this.queryParams.workOrderIdList = val.workOrderIdList ? val.workOrderIdList : undefined
this.queryParams.productionId = val.productionId ? val.productionId : undefined
// this.queryParams.workOrderIdList = val.workOrderIdList ? val.workOrderIdList : undefined
// this.queryParams.productionId = val.productionId ? val.productionId : undefined
this.queryParams.startTime = val.checkTime ? val.checkTime[0] : undefined this.queryParams.startTime = val.checkTime ? val.checkTime[0] : undefined
this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined
this.getList() this.getList()


+ 52
- 4
src/views/report/Product/monthly.vue Ver arquivo

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: Do not edit * @Author: Do not edit
* @Date: 2024-04-22 15:49:56 * @Date: 2024-04-22 15:49:56
* @LastEditTime: 2024-04-25 14:30:44
* @LastEditTime: 2024-04-26 10:32:29
* @LastEditors: DY * @LastEditors: DY
* @Description: * @Description:
--> -->
@@ -43,12 +43,16 @@
</el-button> </el-button>
</el-form> </el-form>
<base-table <base-table
ref="productionDataMonthTable11"
id="productionDataMonthTable1"
:table-props="tableProps" :table-props="tableProps"
:table-data="tableData" :table-data="tableData"
:span-method="objectSpanMethod1" :span-method="objectSpanMethod1"
@emitFun="handleEmitFun" @emitFun="handleEmitFun"
:max-height="tableH" /> :max-height="tableH" />
<base-table <base-table
ref="productionDataMonthTable22"
id="productionDataMonthTable2"
:table-props="tableProps1" :table-props="tableProps1"
:table-data="tableData1" :table-data="tableData1"
:span-method="objectSpanMethod1" :span-method="objectSpanMethod1"
@@ -94,26 +98,47 @@ export default {
now.setHours(0, 0, 0, 0) now.setHours(0, 0, 0, 0)
now.setDate(1) now.setDate(1)
let startOfMonth = now.getTime() let startOfMonth = now.getTime()
// let firstDayOfMonth = new Date(startOfMonth)
this.listQuery.time = startOfMonth this.listQuery.time = startOfMonth
}, },
mounted() { mounted() {
this.getList(); this.getList();
}, },
methods: { methods: {
getTime1() {
const firstDayOfMonth = new Date(this.listQuery.time)
const lastDayOfMonth = new Date(firstDayOfMonth.getFullYear(), firstDayOfMonth.getMonth() + 1, 0, 0, 0, 0, 0)
// console.log('时间', parseTime(firstDayOfMonth), parseTime(lastDayOfMonth))
this.$set(this.tableProps[2], 'label', '许昌安彩月原片生产汇总(' + parseTime(firstDayOfMonth) + '-' + parseTime(lastDayOfMonth) + ')')
this.$set(this.tableProps1[2], 'label', '许昌安彩月成品生产汇总(' + parseTime(firstDayOfMonth) + '-' + parseTime(lastDayOfMonth) + ')')
// this.tableProps[2].label = '许昌安彩月原片生产汇总(' + parseTime(firstDayOfMonth) + '-' + parseTime(lastDayOfMonth) + ')'
// this.tableProps1[2].label = '许昌安彩月成品生产汇总(' + parseTime(firstDayOfMonth) + '-' + parseTime(lastDayOfMonth) + ')'
console.log(this.tableProps, this.tableProps1)
},
async getList() { async getList() {
const firstDayOfMonth = new Date(this.listQuery.time)
const lastDayOfMonth = new Date(firstDayOfMonth.getFullYear(), firstDayOfMonth.getMonth() + 1, 0, 0, 0, 0, 0)
this.tableData = []; this.tableData = [];
this.tableProps = [ this.tableProps = [
{ {
prop: 'lineName', prop: 'lineName',
label: '', label: '',
fixed: true, fixed: true,
width: 120,
'show-overflow-tooltip': true
}, },
{ {
prop: 'paramsName', prop: 'paramsName',
label: '', label: '',
fixed: true, fixed: true,
width: 120,
'show-overflow-tooltip': true
}, },
{
prop: 'xc',
label: '许昌安彩月原片生产汇总(' + parseTime(firstDayOfMonth) + '-' + parseTime(lastDayOfMonth) + ')',
// align: 'center',
children: []
}
]; ];
this.tableData1 = []; this.tableData1 = [];
this.tableProps1 = [ this.tableProps1 = [
@@ -121,18 +146,28 @@ export default {
prop: 'lineName', prop: 'lineName',
label: '', label: '',
fixed: true, fixed: true,
width: 120,
'show-overflow-tooltip': true
}, },
{ {
prop: 'paramsName', prop: 'paramsName',
label: '', label: '',
fixed: true, fixed: true,
width: 120,
'show-overflow-tooltip': true,
}, },
{
prop: 'xc1',
label: '许昌安彩月成品生产汇总(' + parseTime(firstDayOfMonth) + '-' + parseTime(lastDayOfMonth) + ')',
// align: 'center',
children: []
}
]; ];
await productionMonthY(this.listQuery).then((res) => { await productionMonthY(this.listQuery).then((res) => {
this.resData = res.data; this.resData = res.data;
// 设置表头 // 设置表头
Object.keys(this.resData).forEach((item) => { Object.keys(this.resData).forEach((item) => {
this.tableProps.push({
this.tableProps[2].children.push({
prop: item, prop: item,
label: item, label: item,
'show-overflow-tooltip': true, 'show-overflow-tooltip': true,
@@ -144,7 +179,7 @@ export default {
this.resData1 = res.data; this.resData1 = res.data;
// 设置表头 // 设置表头
Object.keys(this.resData1).forEach((item) => { Object.keys(this.resData1).forEach((item) => {
this.tableProps1.push({
this.tableProps1[2].children.push({
prop: item, prop: item,
label: item, label: item,
'show-overflow-tooltip': true, 'show-overflow-tooltip': true,
@@ -152,6 +187,7 @@ export default {
}); });
this.buildTableData1(this.resData1); this.buildTableData1(this.resData1);
}); });
// this.getTime1()
}, },
// 设置表格2数据 // 设置表格2数据
buildTableData1(data) { buildTableData1(data) {
@@ -187,6 +223,9 @@ export default {
} }
this.tableData1 = tempData; this.tableData1 = tempData;
this.getSpanArr1(this.tableData1); this.getSpanArr1(this.tableData1);
this.$nextTick(() => {
this.reTable1();
});
}, },
// 设置表格数据 // 设置表格数据
buildTableData(data) { buildTableData(data) {
@@ -222,6 +261,15 @@ export default {
} }
this.tableData = tempData; this.tableData = tempData;
this.getSpanArr(this.tableData); this.getSpanArr(this.tableData);
this.$nextTick(() => {
this.reTable();
});
},
reTable() {
this.$refs.productionDataMonthTable11.doLayout('productionDataMonthTable1');
},
reTable1() {
this.$refs.productionDataMonthTable22.doLayout('productionDataMonthTable2');
}, },
getSpanArr1(data) { getSpanArr1(data) {
this.span2 = []; this.span2 = [];


+ 47
- 3
src/views/report/Product/year.vue Ver arquivo

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: Do not edit * @Author: Do not edit
* @Date: 2024-04-22 15:49:56 * @Date: 2024-04-22 15:49:56
* @LastEditTime: 2024-04-25 11:14:34
* @LastEditTime: 2024-04-26 10:34:12
* @LastEditors: DY * @LastEditors: DY
* @Description: * @Description:
--> -->
@@ -43,12 +43,16 @@
</el-button> </el-button>
</el-form> </el-form>
<base-table <base-table
ref="productionDataYearTable11"
id="productionDataYearTable1"
:table-props="tableProps" :table-props="tableProps"
:table-data="tableData" :table-data="tableData"
:span-method="objectSpanMethod1" :span-method="objectSpanMethod1"
@emitFun="handleEmitFun" @emitFun="handleEmitFun"
:max-height="tableH" /> :max-height="tableH" />
<base-table <base-table
ref="productionDataYearTable22"
id="productionDataYearTable2"
:table-props="tableProps1" :table-props="tableProps1"
:table-data="tableData1" :table-data="tableData1"
:span-method="objectSpanMethod1" :span-method="objectSpanMethod1"
@@ -103,19 +107,39 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
getTime() {
const firstDayOfYear = new Date(this.listQuery.time)
const lastDayOfYear = new Date(firstDayOfYear.getFullYear() + 1, 0, 0, 0, 0, 0, 0)
// console.log('时间', parseTime(firstDayOfMonth), parseTime(lastDayOfMonth))
this.tableProps[0].label = '许昌安彩年原片生产汇总(' + parseTime(firstDayOfYear) + '-' + parseTime(lastDayOfYear) + ')'
this.tableProps1[0].label = '许昌安彩年成品生产汇总(' + parseTime(firstDayOfYear) + '-' + parseTime(lastDayOfYear) + ')'
},
async getList() { async getList() {
// this.getTime()
const firstDayOfYear = new Date(this.listQuery.time)
const lastDayOfYear = new Date(firstDayOfYear.getFullYear() + 1, 0, 0, 0, 0, 0, 0)
this.tableData = []; this.tableData = [];
this.tableProps = [ this.tableProps = [
{ {
prop: 'lineName', prop: 'lineName',
label: '', label: '',
fixed: true, fixed: true,
width: 120,
'show-overflow-tooltip': true
}, },
{ {
prop: 'paramsName', prop: 'paramsName',
label: '', label: '',
fixed: true, fixed: true,
width: 120,
'show-overflow-tooltip': true
}, },
{
prop: 'xc',
label: '许昌安彩年原片生产汇总(' + parseTime(firstDayOfYear) + '-' + parseTime(lastDayOfYear) + ')',
// align: 'center',
children: []
}
]; ];
this.tableData1 = []; this.tableData1 = [];
this.tableProps1 = [ this.tableProps1 = [
@@ -123,18 +147,26 @@ export default {
prop: 'lineName', prop: 'lineName',
label: '', label: '',
fixed: true, fixed: true,
'show-overflow-tooltip': true
}, },
{ {
prop: 'paramsName', prop: 'paramsName',
label: '', label: '',
fixed: true, fixed: true,
'show-overflow-tooltip': true
}, },
{
prop: 'xc1',
label: '许昌安彩年成品生产汇总(' + parseTime(firstDayOfYear) + '-' + parseTime(lastDayOfYear) + ')',
// align: 'center',
children: []
}
]; ];
await productionYearY(this.listQuery).then((res) => { await productionYearY(this.listQuery).then((res) => {
this.resData = res.data; this.resData = res.data;
// 设置表头 // 设置表头
Object.keys(this.resData).forEach((item) => { Object.keys(this.resData).forEach((item) => {
this.tableProps.push({
this.tableProps[2].children.push({
prop: item, prop: item,
label: item, label: item,
'show-overflow-tooltip': true, 'show-overflow-tooltip': true,
@@ -146,7 +178,7 @@ export default {
this.resData1 = res.data; this.resData1 = res.data;
// 设置表头 // 设置表头
Object.keys(this.resData1).forEach((item) => { Object.keys(this.resData1).forEach((item) => {
this.tableProps1.push({
this.tableProps1[2].children.push({
prop: item, prop: item,
label: item, label: item,
'show-overflow-tooltip': true, 'show-overflow-tooltip': true,
@@ -189,6 +221,9 @@ export default {
} }
this.tableData1 = tempData; this.tableData1 = tempData;
this.getSpanArr1(this.tableData1); this.getSpanArr1(this.tableData1);
this.$nextTick(() => {
this.reTable1();
});
}, },
// 设置表格数据 // 设置表格数据
buildTableData(data) { buildTableData(data) {
@@ -224,6 +259,15 @@ export default {
} }
this.tableData = tempData; this.tableData = tempData;
this.getSpanArr(this.tableData); this.getSpanArr(this.tableData);
this.$nextTick(() => {
this.reTable();
});
},
reTable() {
this.$refs.productionDataYearTable11.doLayout('productionDataYearTable1');
},
reTable1() {
this.$refs.productionDataYearTable22.doLayout('productionDataYearTable2');
}, },
getSpanArr1(data) { getSpanArr1(data) {
this.span2 = []; this.span2 = [];


Carregando…
Cancelar
Salvar