253 lines
7.2 KiB
Vue
253 lines
7.2 KiB
Vue
<!--
|
|
* @Author: zhp
|
|
* @Date: 2024-04-22 13:18:59
|
|
* @LastEditTime: 2024-04-22 16:15:14
|
|
* @LastEditors: zhp
|
|
* @Description:
|
|
-->
|
|
<template>
|
|
<div>
|
|
<el-row style="float: right; margin-bottom: 5px">
|
|
<!-- <el-button v-if="!edit && this.$auth.hasPermi('base:report-auto-original-glass:update')" :disabled="noData"
|
|
size="small" @click="edit = true">编辑</el-button>
|
|
<el-button v-if="edit" size="small" @click="handleReturn()">返回</el-button>
|
|
<el-button v-if="edit" size="small" @click="updateData">保存</el-button> -->
|
|
</el-row>
|
|
<el-table style="margin-top:38px;width: 100%" :span-method="objectSpanMethod" :data="data" :id="id" border>
|
|
<el-table-column v-for="(item, index) in cols" :key="index" :prop="item.prop" :label="item.label"
|
|
:align="item.align ? item.align : 'left'">
|
|
<el-table-column v-for="(it, index1) in item.children" :key="index1" :prop="it.prop" :label="it.label"
|
|
:align="item.align ? item.align : 'left'">
|
|
<el-table-column v-for="(y, index2) in it.children" :key="index2" :prop="y.prop" :label="y.label">
|
|
<template slot-scope="scope">
|
|
<span v-if="!edit">{{ scope.row[y.prop] }}</span>
|
|
<el-input type="number" @change="handleChange" :disabled="false" v-else v-model="scope.row[y.prop]">
|
|
</el-input>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!-- <el-input type="textarea" v-model="remark" placeholder="备注" :disabled="!edit" :autosize="{ minRows: 2, maxRows: 6}">
|
|
</el-input> -->
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { updateGlass, updateGlassRemark } from '@/api/report/glass';
|
|
|
|
const cols = [
|
|
{
|
|
prop: 'xc',
|
|
// label: '许昌安彩新能科技有限公司2024年4月份生产日报',
|
|
align: 'center',
|
|
children: [
|
|
{
|
|
prop: 'lineName',
|
|
label: '产线',
|
|
},
|
|
{
|
|
prop: 'groupClasses',
|
|
label: '班次',
|
|
},
|
|
{
|
|
prop: 'tractionSpeed',
|
|
label: '拉引速度(米/分)',
|
|
},
|
|
{
|
|
prop: 'width',
|
|
label: '板宽(mm)',
|
|
},
|
|
{
|
|
prop: 'weight',
|
|
label: '板重(g)',
|
|
},
|
|
{
|
|
prop: 'pullWeight',
|
|
label: '拉引速度(吨/班)',
|
|
},
|
|
{
|
|
prop: 'pullArea',
|
|
label: '拉引面积(平方米)',
|
|
},
|
|
{
|
|
prop: 'm',
|
|
label: '尺寸(长、宽、厚)毫米',
|
|
align: 'center',
|
|
children: [
|
|
{
|
|
prop: 'length',
|
|
label: '长',
|
|
},
|
|
{
|
|
prop: 'width',
|
|
label: '宽',
|
|
},
|
|
{
|
|
prop: 'thick',
|
|
label: '高',
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
export default {
|
|
props: {
|
|
data: {
|
|
type: Array,
|
|
default: () => [],
|
|
},
|
|
id: {
|
|
type: String,
|
|
default:'exportTable'
|
|
},
|
|
time: {
|
|
type: Array,
|
|
default: () => [],
|
|
},
|
|
date: {
|
|
type: String,
|
|
default:''
|
|
},
|
|
sum: {
|
|
type: Object,
|
|
default: () => {},
|
|
},
|
|
type: {
|
|
type: Number,
|
|
default: 3,
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
cols,
|
|
remark:null,
|
|
edit: false,
|
|
noData:false,
|
|
};
|
|
},
|
|
watch: {
|
|
data: {
|
|
handler(newv, oldv) {
|
|
if (newv.length != 0) {
|
|
this.noData = false
|
|
} else {
|
|
this.noData = true
|
|
}
|
|
}
|
|
},
|
|
time: {
|
|
immediate: true,
|
|
handler(newv, oldv) {
|
|
if (newv[0] !== '') {
|
|
this.cols[0].label = this.date + '(' + newv[0] + '-' + newv[1] + ')'
|
|
} else {
|
|
this.cols[0].label = this.date
|
|
}
|
|
}
|
|
},
|
|
// type: {
|
|
// immediate: true,
|
|
// handler(newv, oldv) {
|
|
// let text1 = '', text2 = '', text3 = ''
|
|
// if (newv === 3) {
|
|
// text1 = '本周'
|
|
// text2 = '上周'
|
|
// text3 = '原片合计(片/周)'
|
|
// } else if (newv === 4) {
|
|
// text1 = '本月'
|
|
// text2 = '上月'
|
|
// text3 = '原片合计(片/月)'
|
|
// } else if (newv === 2) {
|
|
// text1 = '今日'
|
|
// text2 = '昨日'
|
|
// text3 = '原片合计(片/日)'
|
|
// } else {
|
|
// text1 = '本年'
|
|
// text2 = '上年'
|
|
// text3 = '原片合计(片/年)'
|
|
// }
|
|
// this.cols[0].children[1].children[0].label = text1
|
|
// this.cols[0].children[1].children[1].label = text2
|
|
// this.cols[0].children[2].children[0].label = text1
|
|
// this.cols[0].children[2].children[1].label = text2
|
|
// this.cols[0].children[3].children[0].label = text1
|
|
// this.cols[0].children[3].children[1].label = text2
|
|
// this.cols[0].children[4].children[0].label = text1
|
|
// this.cols[0].children[4].children[1].label = text2
|
|
// this.cols[0].children[2].label = text3
|
|
// }
|
|
// }
|
|
},
|
|
methods: {
|
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
let spanOneArr = [], concatOne = 0;
|
|
this.data.map((item, index) => {
|
|
if (index === 0) {
|
|
spanOneArr.push(1);
|
|
} else {
|
|
//第一列需合并相同内容的判断条件
|
|
if (item.lineName === this.data[index - 1].lineName) {
|
|
spanOneArr[concatOne] += 1;
|
|
spanOneArr.push(0);
|
|
} else {
|
|
spanOneArr.push(1);
|
|
concatOne = index;
|
|
};
|
|
}
|
|
});
|
|
if (columnIndex === 0) {
|
|
const _row = spanOneArr[rowIndex];
|
|
const _col = _row > 0 ? 1 : 0;
|
|
return {
|
|
rowspan: _row,
|
|
colspan: _col
|
|
}
|
|
}
|
|
},
|
|
handleReturn() {
|
|
this.edit = false
|
|
console.log(this.$parent.getDataList());
|
|
},
|
|
handleChange(e) {
|
|
},
|
|
updateData() {
|
|
// let obj = {}
|
|
// this.data.forEach((ele, index) => {
|
|
// if (ele.det === false) {
|
|
// this.data[index].lineId = ''
|
|
// this.data[index].remark = this.remark
|
|
// obj = ele
|
|
// delete this.data[index].dailyOutputTrend
|
|
// delete this.data[index].originalGlassStatisticsTrend
|
|
// delete this.data[index].actualProductTrend
|
|
// delete this.data[index].originalGlassPassTrend
|
|
// this.data.splice(index, 1)
|
|
// }
|
|
// })
|
|
// let updateArr = this.data
|
|
// updateArr.forEach((ele, index) => {
|
|
// delete ele.dailyOutputTrend
|
|
// delete ele.originalGlassStatisticsTrend
|
|
// delete ele.actualProductTrend
|
|
// delete ele.originalGlassPassTrend
|
|
// });
|
|
// this.data.forEach((ele, index) => {
|
|
// delete ele.dailyOutputTrend
|
|
// delete ele.originalGlassStatisticsTrend
|
|
// delete ele.actualProductTrend
|
|
// delete ele.originalGlassPassTrend
|
|
// });
|
|
// updateGlass(updateArr).then(response => {
|
|
// updateGlassRemark(obj).then(res => {
|
|
// this.$modal.msgSuccess("修改成功");
|
|
// this.edit = false;
|
|
// this.$emit("refreshDataList");
|
|
// });
|
|
// });
|
|
}
|
|
}
|
|
};
|
|
</script>
|