新增报表
This commit is contained in:
		
							
								
								
									
										252
									
								
								src/views/report/Environmental/productionDayR/inputTableTwo.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										252
									
								
								src/views/report/Environmental/productionDayR/inputTableTwo.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,252 @@ | ||||
| <!-- | ||||
|  * @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> | ||||
		Reference in New Issue
	
	Block a user