| | |
| | | > |
| | | <template #buttons="{row}"> |
| | | <vxe-button mode="text" @click="viewEvent(row)">编辑</vxe-button> |
| | | <!-- <vxe-button mode="text" @row-click="viewEvent(row.year)">编辑</vxe-button> --> |
| | | </template> |
| | | </HxlhTable> |
| | | |
| | |
| | | <el-dialog :title="title" v-model="open" width="700px" append-to-body> |
| | | <el-form ref="weldSeamRef" :model="form" :rules="rules" label-width="150px"> |
| | | <el-form-item label="年份" prop="year"> |
| | | <el-input v-model="form.year" placeholder="年份" :disabled="isDisabled"/> |
| | | <el-input v-model="form.year" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="月份" prop="month"> |
| | | <el-input v-model="form.month" placeholder="月份" :disabled="isDisabled"/> |
| | | <el-input v-model="form.month" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="生产基地" prop="productionBase"> |
| | | <el-input v-model="form.productionBase" placeholder="生产基地" :disabled="isDisabled"/> |
| | | <el-input v-model="form.productionBase" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="管路订单需求" prop="pipingOrderRequirement"> |
| | | <el-input v-model="form.pipingOrderRequirement" placeholder="管路订单需求" :disabled="isDisabled"/> |
| | | <el-input v-model="form.pipingOrderRequirement" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="气柜订单需求" prop="gasOrderRequirement"> |
| | | <el-input v-model="form.gasOrderRequirement" placeholder="气柜订单需求" :disabled="isDisabled"/> |
| | | <el-input v-model="form.gasOrderRequirement" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="管路预测需求" prop="pipingPredictionRequirement"> |
| | | <el-input v-model="form.pipingPredictionRequirement" placeholder="管路预测需求" :disabled="isDisabled"/> |
| | | <el-input v-model="form.pipingPredictionRequirement" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="气柜预测需求" prop="gasPredictionRequirement"> |
| | | <el-input v-model="form.gasPredictionRequirement" placeholder="气柜预测需求" :disabled="isDisabled"/> |
| | | <el-input v-model="form.gasPredictionRequirement" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="预留紧急订单产出" prop="reserveEmergencyOrderOutput"> |
| | | <el-input v-model="form.reserveEmergencyOrderOutput" placeholder="请输预留紧急订单产出" :disabled="isDisabled"/> |
| | | <el-input-number :min="0" v-model="form.reserveEmergencyOrderOutput" placeholder="请输预留紧急订单产出"/> |
| | | </el-form-item> |
| | | <el-form-item label="合计" prop="total"> |
| | | <el-input v-model="form.total" placeholder="请输入合计" :disabled="isDisabled"/> |
| | | <el-input v-model="form.total" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="天数" prop="produceMonth"> |
| | | <el-input v-model="form.produceMonth" placeholder="请输入天数" :disabled="isDisabled"/> |
| | | <el-form-item label="天数" prop="days"> |
| | | <el-input-number :min="0" v-model="form.days" placeholder="请输入天数"/> |
| | | </el-form-item> |
| | | <el-form-item label="需求日焊缝" prop="requirementDayWeldSeam"> |
| | | <el-date-picker clearable |
| | | v-model="form.requirementDayWeldSeam" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择需求日焊缝日期" :disabled="isDisabled"> |
| | | </el-date-picker> |
| | | <el-input v-model="form.requirementDayWeldSeam" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | <el-form-item label="生产日焊缝" prop="productionDayWeldSeam"> |
| | | <el-date-picker clearable |
| | | v-model="form.productionDayWeldSeam" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择生产日焊缝日期"> |
| | | </el-date-picker> |
| | | <el-input-number :min="0" v-model="form.productionDayWeldSeam" placeholder="请输生产日焊缝"/> |
| | | </el-form-item> |
| | | <el-form-item label="是否满足" prop="isSatisfy"> |
| | | <el-input v-model="form.isSatisfy" placeholder="请输入是否满足" :disabled="isDisabled"/> |
| | | <el-input v-model="form.isSatisfy" :disabled="isDisabled"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | |
| | | import { getToken } from "@/utils/auth"; |
| | | import HxlhTable from '@/components/HxlhTable' |
| | | import { ref } from "vue"; |
| | | import * as XLSX from 'xlsx'; |
| | | |
| | | const { proxy } = getCurrentInstance(); |
| | | |
| | |
| | | const batchNumber = ref(null); |
| | | const dataList = ref([]); |
| | | const isDisabled = ref(true); |
| | | const headers = ref([]); |
| | | const exportData = ref([]); |
| | | |
| | | /** 导入参数 */ |
| | | const upload = reactive({ |
| | |
| | | batchNumber: null |
| | | }, |
| | | rules: { |
| | | reserveEmergencyOrderOutput: [ |
| | | { |
| | | required: true, |
| | | message: '请输入预留紧急订单产出', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | days: [ |
| | | { |
| | | required: true, |
| | | message: '请输入天数', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | productionDayWeldSeam: [ |
| | | { |
| | | required: true, |
| | | message: '请输入预留紧急订单产出', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | } |
| | | }); |
| | | |
| | |
| | | query(queryParams.value).then(response => { |
| | | console.log(response); |
| | | dataList.value = response.rows; |
| | | // exportData.value = response.rows; |
| | | dataList.value.forEach(item=>{ |
| | | let data = []; |
| | | data.push(item.year); |
| | | data.push(item.month); |
| | | data.push(item.productionBase); |
| | | data.push(item.pipingOrderRequirement); |
| | | data.push(item.gasOrderRequirement); |
| | | data.push(item.pipingPredictionRequirement); |
| | | data.push(item.gasPredictionRequirement); |
| | | data.push(item.reserveEmergencyOrderOutput); |
| | | data.push(item.total); |
| | | data.push(item.days); |
| | | data.push(item.requirementDayWeldSeam); |
| | | data.push(item.productionDayWeldSeam); |
| | | data.push(item.isSatisfy); |
| | | exportData.value.push(data); |
| | | }) |
| | | console.log(exportData.value); |
| | | loading.value = false; |
| | | }); |
| | | } |
| | |
| | | |
| | | /** 导出按钮操作 */ |
| | | function handleExport() { |
| | | proxy.download('weldSeam/weldSeam/export', { |
| | | ...queryParams.value |
| | | }, `weldSeam_${new Date().getTime()}.xlsx`) |
| | | const headersOne = ["年份","月份","生产基地","订单需求","","预测需求","","预留紧急订单产出","合计","天数","需求日焊缝","生产日焊缝","是否满足"] |
| | | const headersTwo = ["","","","管路","气柜","管路","气柜","","","","","",""] |
| | | headers.value.push(headersOne); |
| | | headers.value.push(headersTwo); |
| | | |
| | | // 合并表头和数据 |
| | | const finalData = [...headers.value, ...exportData.value]; |
| | | |
| | | // 将数据转换为 worksheet |
| | | const ws = XLSX.utils.aoa_to_sheet(finalData); |
| | | |
| | | // 合并单元格(如果需要) |
| | | ws['!merges'] = [ |
| | | { s: { r: 0, c: 0 }, e: { r: 1, c: 0 } }, |
| | | { s: { r: 0, c: 1 }, e: { r: 1, c: 1 } }, |
| | | { s: { r: 0, c: 2 }, e: { r: 1, c: 2 } }, |
| | | { s: { r: 0, c: 3 }, e: { r: 0, c: 4 } }, |
| | | { s: { r: 0, c: 5 }, e: { r: 0, c: 6 } }, |
| | | { s: { r: 0, c: 7 }, e: { r: 1, c: 7 } }, |
| | | { s: { r: 0, c: 8 }, e: { r: 1, c: 8 } }, |
| | | { s: { r: 0, c: 9 }, e: { r: 1, c: 9 } }, |
| | | { s: { r: 0, c: 10 }, e: { r: 1, c: 10 } }, |
| | | { s: { r: 0, c: 11 }, e: { r: 1, c: 11 } }, |
| | | { s: { r: 0, c: 12 }, e: { r: 1, c: 12 } }, |
| | | ]; |
| | | |
| | | // ws['!merges'] = merges; |
| | | |
| | | // 设置居中样式 |
| | | const centerStyle = { alignment: { horizontal: 'center', vertical: 'center' } }; |
| | | const range = XLSX.utils.decode_range(ws['!ref']); |
| | | for (let R = range.s.r; R <= range.e.r; ++R) { |
| | | for (let C = range.s.c; C <= range.e.c; ++C) { |
| | | const cellAddress = XLSX.utils.encode_cell({ r: R, c: C }); |
| | | const cell = ws[cellAddress]; |
| | | if (cell) { |
| | | cell.s = centerStyle; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 创建 workbook |
| | | const wb = XLSX.utils.book_new(); |
| | | // 将 worksheet 添加到 workbook 中 |
| | | XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); |
| | | // 导出文件 |
| | | XLSX.writeFile(wb, `apsPartRouteStat_${new Date().getTime()}.xlsx`); |
| | | } |
| | | |
| | | /** dialog取消 */ |
| | |
| | | } |
| | | |
| | | /** 编辑 */ |
| | | // const viewEvent = (row, column, event) => { |
| | | // console.log('点击的行数据'); |
| | | // console.log('点击的行数据:', row); |
| | | // }; |
| | | function viewEvent(row){ |
| | | console.log(row); |
| | | /* const _id = row.id |
| | | getWeldSeam(_id).then(response => { |
| | | form.value = response.data; |
| | | open.value = true; |
| | | title.value = "修改焊缝"; |
| | | }); */ |
| | | open.value = true; |
| | | title.value = "修改焊缝"; |
| | | form.value = row; |
| | | // const _id = row.id |
| | | // getWeldSeam(_id).then(response => { |
| | | // form.value = response.data; |
| | | // open.value = true; |
| | | // title.value = "修改焊缝"; |
| | | // }); |
| | | } |
| | | |
| | | getList(); |