projects/mesxc-dy #374

Merged
juzi merged 3 commits from projects/mesxc-dy into projects/mesxc-test 2024-04-26 10:39:56 +08:00
7 changed files with 321 additions and 188 deletions

View File

@ -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",

View File

@ -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 * @LastEditTime: 2024-04-25 15:28:44
* @LastEditors: zhp * @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', method: 'post',
params: query, data
}) })
} }

View File

@ -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) { if (this.$route.query.lineName) {
// console.log(this.$route.query.woIdString) // console.log('线', this.$route.query.lineName)
// this.queryParams.workOrderIdList = this.$route.query.woIdString.split(',') this.queryParams.lineName = this.$route.query.lineName
// // this.queryParams.workOrderIdList = [this.$route.query.woIdString] this.searchBarFormConfig[2].defaultSelect = this.$route.query.lineName
// // let arr =[] }
// this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',') if (this.$route.query.originalGlassOutputTime) {
// console.log(this.searchBarFormConfig[0].defaultSelect); console.log('你好', this.$route.query.originalGlassOutputTime)
// } this.queryParams.startTime = parseTime(new Date(Number(this.$route.query.originalGlassOutputTime)))
// if (this.$route.params.startTime && this.$route.params.endTime) { this.queryParams.endTime = parseTime(new Date(Number(this.$route.query.originalGlassOutputTime)))
// this.searchBarFormConfig[0].defaultSelect = [ this.searchBarFormConfig[3].defaultSelect = [
// this.$route.params.startTime, this.queryParams.startTime,
// this.$route.params.endTime, this.queryParams.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.getList() this.getList()
this.getData() this.getData()
this.getDict() this.getDict()
@ -393,8 +410,12 @@ export default {
pageNo:1 pageNo:1
} }
}); });
console.log(res) // console.log(res)
this.searchBarFormConfig[0].selectOptions = res.data.list 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

View File

@ -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="包装全检开始时间" placeholder="包装全检时间"
end-placeholder="包装全检结束时间"
range-separator="-"
@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" <method-btn v-if="tableBtn.length" slot="handleBtn" :width="220" label="缺陷操作" :method-list="tableBtn"
@clickBtn="handleClick" /> --> @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 { import { getOriginalGlassRetrace } from '@/api/quality/rawMaterialTraceability';
getOriginalGlassRetrace,
getWorkOrderList,
// exportEnergyPlcExcel
} 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: { lineOptions: [],
// getDataListURL: getMaterialUseLogPage,
// // deleteURL: deletePackingType,
// // exportURL: exportPackingExcel,
// },
tableProps, tableProps,
// tableBtn: [ tableBtn: [
// // this.$auth.hasPermi(`base:packaging-print-log:update`) // this.$auth.hasPermi(`base:packaging-print-log:update`)
// // ? // ?
// { {
// type: 'edit', type: 'detail0',
// btnName: '', btnName: '成品缺陷详情',
// }, },
// // : undefined, // : undefined,
// // this.$auth.hasPermi(`base:packaging-print-log:delete`) // this.$auth.hasPermi(`base:packaging-print-log:delete`)
// // ? // ?
// { {
// type: 'delete', type: 'detail1',
// btnName: '', btnName: '原片缺陷详情',
// } }
// // : undefined, // : 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, packTime: null,
lineName: undefined, 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,81 +273,85 @@ 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] = this.listQuery.certificateNumber !== '' && this.listQuery.certificateNumber !== undefined
this.countArray[0] = temp }
console.log('你好', this.countArray) 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 && val !== '') {
if (val === 'timestamp3') { if (val === 'timestamp3') {
if (this.listQuery.timeVal.length > 0 || this.listQuery?.lineName !== '') { if ((this.listQuery.packTime !== '' && this.listQuery.packTime !== null) || (this.listQuery?.lineName !== '' && this.listQuery.lineName !== null)) {
this.useTime = true this.useTime = true
this.countArray[3] = true
} else { } else {
this.useTime = false this.useTime = false
this.countArray[3] = true
} }
} else {
this.count ++
}
} else {
this.count --
} }
}, },
getList() { getList() {
// console.log('nihc ', this.count, this.listQuery) let trueArray = this.countArray.filter(val => val === true)
// if (this.count > 1) { if (trueArray.length !== 1) {
// this.$message.error('') this.$message.error('请选择一个条件进行查询!')
// } else { } else {
// if (this.useTime === true) { if (this.useTime === true) {
// if (this.listQuery.timeVal.length > 0 && this.listQuery?.lineName !== '') { 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 => { getOriginalGlassRetrace({ ...this.listQuery }).then(res => {
console.log(res); console.log(res);
this.list = res.data || [] this.list = res.data || []
console.log(this.list); console.log(this.list);
// this.listQuery.total = res.data.total || 0 // 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) => { getCorePLList().then((res) => {
// console.log(response); console.log(res);
// this.customerList = response.data this.lineOptions = res.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;
}) })
}, },
// handleExport() { // handleExport() {

View File

@ -60,26 +60,26 @@ export default {
list: [], list: [],
dynamicProps:[], dynamicProps:[],
searchBarFormConfig: [ searchBarFormConfig: [
{ // {
type: 'select', // type: 'select',
label: '工单名称', // label: '',
placeholder: '请选择工单名称', // placeholder: '',
param: 'workOrderIdList', // param: 'workOrderIdList',
selectOptions: [], // selectOptions: [],
multiple: true, // multiple: true,
labelField: 'name', // labelField: 'name',
valueField: 'id', // valueField: 'id',
defaultSelect: [], // defaultSelect: [],
filterable: true // filterable: true
}, // },
{ // {
type: 'select', // type: 'select',
label: '产品', // label: '',
placeholder: '请选择产品', // placeholder: '',
param: 'productionId', // param: 'productionId',
selectOptions: [], // selectOptions: [],
filterable: true // filterable: true
}, // },
// { // {
// type: 'input', // type: 'input',
// label: '', // label: '',
@ -193,8 +193,8 @@ export default {
// }, // },
// //
queryParams: { queryParams: {
workOrderIdList:undefined, // workOrderIdList:undefined,
productionId: 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, // // width: 128,
prop: 'workOrderName', // prop: 'workOrderName',
label: '工单名称', // label: '',
}, // },
{ // {
// width: 128, // // width: 128,
prop: 'productionName', // prop: 'productionName',
label: '产品', // label: '',
}, // },
{ {
// width: 160, // width: 160,
prop: 'inspectionContent', prop: 'inspectionContent',
@ -259,17 +259,17 @@ export default {
}, },
}, },
mounted() { mounted() {
if (this.$route.query.woIdString) { // if (this.$route.query.woIdString) {
console.log(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.split(',')
// this.queryParams.workOrderIdList = [this.$route.query.woIdString] // // this.queryParams.workOrderIdList = [this.$route.query.woIdString]
// let arr =[] // // let arr =[]
this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',') // this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',')
console.log(this.searchBarFormConfig[0].defaultSelect); // 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.workOrderIdList = val.workOrderIdList ? val.workOrderIdList : 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
this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined
this.getList() this.getList()

View File

@ -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 = [];

View File

@ -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 = [];