From c26deaa0190c0ed42b398f3e5696013127a6c10f Mon Sep 17 00:00:00 2001 From: 小小儁爺 <1694218219@qq.com> Date: 星期二, 11 三月 2025 16:17:51 +0800 Subject: [PATCH] 1.看板修改 --- src/views/statistic/workOrderProcess.vue | 952 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 479 insertions(+), 473 deletions(-) diff --git a/src/views/statistic/workOrderProcess.vue b/src/views/statistic/workOrderProcess.vue index 015e22e..b3f6729 100644 --- a/src/views/statistic/workOrderProcess.vue +++ b/src/views/statistic/workOrderProcess.vue @@ -1,473 +1,479 @@ -<template> - <div> - <div class="body" :style="{height:mainHeight+'px'}"> - <div class="bodyTopButtonGroup" style="justify-content: space-between"> - <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> - <!-- <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>--> - </div> - - <div class="bodyTopFormGroup"> - <el-form - ref="form" - :model="form" - label-width="100px" - inline - style="display: flex;" - > - <div class="elForm"> - - <el-form-item label="閿�鍞崟鍙�" style=" display: flex;"> - <el-input v-model="form.socode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - - <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;"> - <el-select - v-model="form.wkshopcode" - filterable - :popper-append-to-body="false" - style="width: 200px" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in wkshopcodeArr" - :key="item.torg_code" - :label="item.torg_name" - :value="item.torg_code" - /> - </el-select> - </el-form-item> - <el-form-item label="宸ュ崟鐘舵��" style=" display: flex;"> - <el-select v-model="form.status" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in statusArr" - :key="item.value" - :label="item.label" - :value="item.value" - /> - </el-select> - </el-form-item> - <el-form-item label="宸ュ崟缂栧彿" style=" display: flex;"> - <el-input v-model="form.wocode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - - <!-- <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;">--> - <!-- <el-input v-model="form.wkshopname" placeholder="璇疯緭鍏�" style="width: 200px" />--> - <!-- </el-form-item>--> - <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;"> - <el-input v-model="form.partcode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;"> - <el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="瑙勬牸鍨嬪彿" style=" display: flex;"> - <el-input v-model="form.partspec" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="鍗曟嵁鏃ユ湡" style="display: flex;align-items: center"> - <el-date-picker - v-model="form.lm_date" - type="daterange" - range-separator="~" - class="timeMini" - size="mini" - style="width: 200px;display: flex;line-height: 34px;height: 34px;" - :clearable="false" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - /> - </el-form-item> - </div> - <div - class="bodySearchReset" - :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}" - > - <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button> - <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button> - </div> - </el-form> - <div - class="bodyTopFormExpand" - > - <svg-icon - v-show="mouseHoverType==='mouseout'" - style="cursor: pointer" - :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'" - @mouseenter="mouseHoverType=$event.type" - /> - <svg-icon - v-show="mouseHoverType==='mouseenter'" - style="cursor: pointer" - :icon-class="!isExpandForm?'doubleDown':'doubleUp'" - @click="isExpandForm=!isExpandForm" - @mouseout="mouseHoverType=$event.type" - /> - </div> - </div> - - <div class="elTableDiv"> - <el-table - ref="tableDataRef" - class="tableFixed custom-table-class" - :data="tableData" - :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" - border - :row-class-name="tableRowClassName" - :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - <el-table-column - prop="rowNum" - width="50" - fixed - label="搴忓彿" - /> - <el-table-column - prop="lm_date" - label="鍗曟嵁鏃ユ湡" - width="105" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.lm_date">{{ row.lm_date.substring(0, 11) }}</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="status" - label="宸ュ崟鐘舵��" - width="105" - sortable="custom" - /> - <el-table-column - prop="wo_code" - label="宸ュ崟缂栧彿" - width="155" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="saleOrderCode" - label="閿�鍞崟鍙�" - width="135" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partcode" - label="浜у搧缂栫爜" - width="105" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partname" - label="浜у搧鍚嶇О" - width="155" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partpesc" - label="浜у搧瑙勬牸" - width="105" - show-tooltip-when-overflow - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.partpesc">{{ row.partpesc }}</div> - <div v-else>/</div> - </template> - </el-table-column> - <!-- <el-table-column--> - <!-- prop="wkshp_code"--> - <!-- label="杞﹂棿缂栫爜"--> - <!-- width="130"--> - <!-- show-tooltip-when-overflow--> - <!-- sortable="custom"--> - <!-- />--> - <el-table-column - prop="wkshp_name" - label="杞﹂棿鍚嶇О" - width="130" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="plan_qty" - label="浠诲姟鏁伴噺" - width="105" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="concat_name" - label="鐢熶骇杩涘害" - min-width="521" - sortable="custom" - > - <!-- show-tooltip-when-overflow--> - - <template slot-scope="{row}"> - <div style="min-width:500px;display: flex;overflow-x: auto;overflow-y: hidden;height: 65px;"> - <div - v-for="item in row.concat_name.split(',')" - :key="item+row.wo_code" - style="display: flex;align-items: center;" - > - <!-- padding:0px 0px 10px 0px;--> - - <div - style="position: relative;display: flex;flex-direction: column;width: 120px;text-align: center;align-items: center;margin-left:10px" - > - <div style="width: 120px;" class="ellipsis">{{ item.split('/')[0] }}</div> - <el-progress - :text-inside="true" - :stroke-width="18" - color="#2FD04F" - define-back-color="rgba(144,147,153,0.5)" - :percentage="parseFloat((parseFloat(item.split('/')[1])*100/parseFloat(row.plan_qty)).toFixed(2))" - style="width: 120px;margin: 0 2px;" - /> - - <div style="position: absolute;top:22px;">{{ parseFloat(item.split('/')[1]) }}/{{ - row.plan_qty - }} - </div> - - </div> - - </div> - </div> - - </template> - </el-table-column> - - <!-- <el-table-column--> - <!-- label="鎿嶄綔"--> - <!-- width="120"--> - <!-- fixed="right"--> - <!-- >--> - <!-- <template slot-scope="{row}">--> - <!-- <div class="operationClass">--> - <!-- <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">--> - <!-- <i class="el-icon-edit-outline" @click="edit('edit',row)" />--> - <!-- </el-tooltip>--> - <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">--> - <!-- <i class="el-icon-delete" @click="del(row)" />--> - <!-- </el-tooltip>--> - <!-- </div>--> - <!-- </template>--> - <!-- </el-table-column>--> - </el-table> - </div> - <!--鍒嗛〉--> - <pagination - :total="total" - :page.sync="form.page" - :limit.sync="form.rows" - align="right" - layout="total,prev, pager, next,sizes" - popper-class="select_bottom" - @pagination="getProductionScheduleReportSearch" - /> - </div> - - </div> -</template> - -<script> -import Pagination from '@/components/Pagination' -import { handleDatetime } from '@/utils/global' -import elDragDialog from '@/directive/el-drag-dialog' -import waves from '@/directive/waves' -import { - ProductionScheduleReportExcelSearch, - ProductionScheduleReportSearch -} from '@/api/ReportManager' -import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' - -export default { - name: 'WorkOrderProcess', - components: { - Pagination - }, - directives: { elDragDialog, waves }, - data() { - return { - mouseHoverType: 'mouseout', - isExpandForm: false, - mainHeight: 0, - tableHeight: 0, - form: { - socode: '', // 閿�鍞崟鍙� - status: '', // 宸ュ崟鐘舵�� - wocode: '', // 宸ュ崟缂栧彿 - wkshopcode: '', // 宸ヨ壓璺嚎缂栫爜 - wkshopname: '', // 宸ヨ壓璺嚎鍚嶇О - partcode: '', // 浜у搧缂栫爜 - partname: '', // 浜у搧鍚嶇О - partspec: '', // 瑙勬牸鍨嬪彿 - lm_date: '', // 鍗曟嵁鏃ユ湡 - prop: 'lm_date', // 鎺掑簭瀛楁 - order: 'desc', // 鎺掑簭瀛楁 - page: 1, // 绗嚑椤� - rows: 20 // 姣忛〉澶氬皯鏉� - }, - statusArr: [ - { label: '鏈紑濮�', value: 'NOSTART' }, - { label: '鎵ц涓�', value: 'START' }, - { label: '宸插畬鎴�', value: 'CLOSED' } - ], - wkshopcodeArr: [], - - total: 10, - tableData: [] - - } - }, - - activated() { window.addEventListener('resize', this.getHeight) this.getHeight() }, created() { - this.getProductionScheduleReportSearch() - this.getPrentOrganizationNoCompany() - }, - mounted() { - window.addEventListener('resize', this.getHeight) - this.getHeight() - }, - methods: { - async getPrentOrganizationNoCompany() { - const { data: res } = await PrentOrganizationNoCompany() - this.wkshopcodeArr = res - }, - async getProductionScheduleReportSearch() { - let tempDate = this.form.lm_date - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - const data = { - socode: this.form.socode, - status: this.form.status, - wocode: this.form.wocode, - wkshopcode: this.form.wkshopcode, - wkshopname: this.form.wkshopname, - partcode: this.form.partcode, - partname: this.form.partname, - partspec: this.form.partspec, - lm_date: tempDate, - prop: this.form.prop, - order: this.form.order, - page: this.form.page, - rows: this.form.rows - } - - const res = await ProductionScheduleReportSearch(data) - this.tableData = res.data - this.total = res.count - }, - - // 瀵煎嚭 - async download() { - let tempDate = this.form.lm_date - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - const data = { - socode: this.form.socode, - status: this.form.status, - wocode: this.form.wocode, - wkshopcode: this.form.wkshopcode, - wkshopname: this.form.wkshopname, - partcode: this.form.partcode, - partname: this.form.partname, - partspec: this.form.partspec, - lm_date: tempDate - } - - const res = await ProductionScheduleReportExcelSearch(data) - // console.log(res) - window.location.href = res.data - }, - // 鎺掑簭鏀瑰彉鏃� - sortChange({ column, prop, order }) { - if (order === 'descending') { - order = 'desc' - } else if (order === 'ascending') { - order = 'asc' - } else { - order = 'desc' - } - this.form.order = order - this.form.prop = prop - this.getProductionScheduleReportSearch() - }, - // 鏌ヨ - search() { - this.getProductionScheduleReportSearch() - }, - // 閲嶇疆 - reset() { - this.form.socode = '' - this.form.status = '' - this.form.wocode = '' - this.form.wkshopcode = '' - this.form.wkshopname = '' - this.form.partcode = '' - this.form.partname = '' - this.form.partspec = '' - this.form.lm_date = '' - this.getProductionScheduleReportSearch() - }, - - // 鑾峰彇椤甸潰楂樺害 - getHeight() { - this.$nextTick(() => { - this.mainHeight = window.innerHeight - 85 - this.tableHeight = this.mainHeight - 255 - this.$refs.tableDataRef.doLayout() - }) - }, - tableRowClassName({ row, rowIndex }) { - return 'custom-row' - } - } -} -</script> -<style scoped lang="scss"> -::v-deep .el-select__caret { - display: flex; - align-items: center; - justify-content: center; -} - -::v-deep .el-range__icon { - line-height: 28px !important; -} - -::v-deep .el-range-separator { - line-height: 28px !important; -} - -::v-deep .el-range-input { - font-size: 14px; -} - -::v-deep .el-range-separator { - display: flex; - justify-content: center; - align-items: center; -} - -::v-deep .el-progress-bar__innerText { - display: none !important; -} - -//.custom-table-class { -// ::v-deep .el-table__row { -// height: 80px; -// line-height:80px; -// } -//} - -</style> +<template> + <div> + <div class="body" :style="{height:mainHeight+'px'}"> + <div class="bodyTopButtonGroup" style="justify-content: space-between"> + <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> + <!-- <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>--> + </div> + + <div class="bodyTopFormGroup"> + <el-form + ref="form" + :model="form" + label-width="100px" + inline + style="display: flex;" + > + <div class="elForm"> + + <el-form-item label="閿�鍞崟鍙�" style=" display: flex;"> + <el-input v-model="form.socode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + + <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;"> + <el-select + v-model="form.wkshopcode" + filterable + :popper-append-to-body="false" + style="width: 200px" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in wkshopcodeArr" + :key="item.torg_code" + :label="item.torg_name" + :value="item.torg_code" + /> + </el-select> + </el-form-item> + <el-form-item label="宸ュ崟鐘舵��" style=" display: flex;"> + <el-select v-model="form.status" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in statusArr" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> + </el-form-item> + <el-form-item label="宸ュ崟缂栧彿" style=" display: flex;"> + <el-input v-model="form.wocode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + + <!-- <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;">--> + <!-- <el-input v-model="form.wkshopname" placeholder="璇疯緭鍏�" style="width: 200px" />--> + <!-- </el-form-item>--> + <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;"> + <el-input v-model="form.partcode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;"> + <el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="瑙勬牸鍨嬪彿" style=" display: flex;"> + <el-input v-model="form.partspec" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="鍗曟嵁鏃ユ湡" style="display: flex;align-items: center"> + <el-date-picker + v-model="form.lm_date" + type="daterange" + range-separator="~" + class="timeMini" + size="mini" + style="width: 200px;display: flex;line-height: 34px;height: 34px;" + :clearable="false" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + /> + </el-form-item> + </div> + <div + class="bodySearchReset" + :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}" + > + <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button> + <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button> + </div> + </el-form> + <div + class="bodyTopFormExpand" + > + <svg-icon + v-show="mouseHoverType==='mouseout'" + style="cursor: pointer" + :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'" + @mouseenter="mouseHoverType=$event.type" + /> + <svg-icon + v-show="mouseHoverType==='mouseenter'" + style="cursor: pointer" + :icon-class="!isExpandForm?'doubleDown':'doubleUp'" + @click="isExpandForm=!isExpandForm" + @mouseout="mouseHoverType=$event.type" + /> + </div> + </div> + + <div class="elTableDiv"> + <el-table + ref="tableDataRef" + class="tableFixed custom-table-class" + :data="tableData" + :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" + border + :row-class-name="tableRowClassName" + :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + <el-table-column + prop="rowNum" + width="50" + fixed + label="搴忓彿" + /> + <el-table-column + prop="lm_date" + label="鍗曟嵁鏃ユ湡" + width="105" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.lm_date">{{ row.lm_date.substring(0, 11) }}</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="status" + label="宸ュ崟鐘舵��" + width="105" + sortable="custom" + /> + <el-table-column + prop="wo_code" + label="宸ュ崟缂栧彿" + width="155" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="saleOrderCode" + label="閿�鍞崟鍙�" + width="135" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partcode" + label="浜у搧缂栫爜" + width="105" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partname" + label="浜у搧鍚嶇О" + width="155" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partpesc" + label="浜у搧瑙勬牸" + width="105" + show-tooltip-when-overflow + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.partpesc">{{ row.partpesc }}</div> + <div v-else>/</div> + </template> + </el-table-column> + <!-- <el-table-column--> + <!-- prop="wkshp_code"--> + <!-- label="杞﹂棿缂栫爜"--> + <!-- width="130"--> + <!-- show-tooltip-when-overflow--> + <!-- sortable="custom"--> + <!-- />--> + <el-table-column + prop="wkshp_name" + label="杞﹂棿鍚嶇О" + width="130" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="plan_qty" + label="浠诲姟鏁伴噺" + width="105" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="concat_name" + label="鐢熶骇杩涘害" + min-width="521" + sortable="custom" + > + <!-- show-tooltip-when-overflow--> + + <template slot-scope="{row}"> + <div style="min-width:500px;display: flex;overflow-x: auto;overflow-y: hidden;height: 65px;"> + <div + v-for="item in row.concat_name.split(',')" + :key="item+row.wo_code" + style="display: flex;align-items: center;" + > + <!-- padding:0px 0px 10px 0px;--> + + <div + style="position: relative;display: flex;flex-direction: column;width: 120px;text-align: center;align-items: center;margin-left:10px" + > + <div style="width: 120px;" class="ellipsis">{{ item.split('/')[0] }}</div> + <el-progress + :text-inside="true" + :stroke-width="18" + color="#2FD04F" + define-back-color="rgba(144,147,153,0.5)" + :percentage="parseFloat((parseFloat(item.split('/')[1])*100/parseFloat(row.plan_qty)).toFixed(2))" + style="width: 120px;margin: 0 2px;" + /> + + <div style="position: absolute;top:22px;">{{ parseFloat(item.split('/')[1]) }}/{{ + row.plan_qty + }} + </div> + + </div> + + </div> + </div> + + </template> + </el-table-column> + + <!-- <el-table-column--> + <!-- label="鎿嶄綔"--> + <!-- width="120"--> + <!-- fixed="right"--> + <!-- >--> + <!-- <template slot-scope="{row}">--> + <!-- <div class="operationClass">--> + <!-- <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">--> + <!-- <i class="el-icon-edit-outline" @click="edit('edit',row)" />--> + <!-- </el-tooltip>--> + <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">--> + <!-- <i class="el-icon-delete" @click="del(row)" />--> + <!-- </el-tooltip>--> + <!-- </div>--> + <!-- </template>--> + <!-- </el-table-column>--> + </el-table> + </div> + <!--鍒嗛〉--> + <pagination + :total="total" + :page.sync="form.page" + :limit.sync="form.rows" + align="right" + layout="total,prev, pager, next,sizes" + popper-class="select_bottom" + @pagination="getProductionScheduleReportSearch" + /> + </div> + + </div> +</template> + +<script> +import Pagination from '@/components/Pagination' +import { handleDatetime } from '@/utils/global' +import elDragDialog from '@/directive/el-drag-dialog' +import waves from '@/directive/waves' +import { + ProductionScheduleReportExcelSearch, + ProductionScheduleReportSearch +} from '@/api/ReportManager' +import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' + +export default { + name: 'WorkOrderProcess', + components: { + Pagination + }, + directives: { elDragDialog, waves }, + data() { + return { + mouseHoverType: 'mouseout', + isExpandForm: false, + mainHeight: 0, + tableHeight: 0, + form: { + socode: '', // 閿�鍞崟鍙� + status: '', // 宸ュ崟鐘舵�� + wocode: '', // 宸ュ崟缂栧彿 + wkshopcode: '', // 宸ヨ壓璺嚎缂栫爜 + wkshopname: '', // 宸ヨ壓璺嚎鍚嶇О + partcode: '', // 浜у搧缂栫爜 + partname: '', // 浜у搧鍚嶇О + partspec: '', // 瑙勬牸鍨嬪彿 + lm_date: '', // 鍗曟嵁鏃ユ湡 + prop: 'lm_date', // 鎺掑簭瀛楁 + order: 'desc', // 鎺掑簭瀛楁 + page: 1, // 绗嚑椤� + rows: 20 // 姣忛〉澶氬皯鏉� + }, + statusArr: [ + { label: '鏈紑濮�', value: 'NOSTART' }, + { label: '鎵ц涓�', value: 'START' }, + { label: '宸插畬鎴�', value: 'CLOSED' } + ], + wkshopcodeArr: [], + + total: 10, + tableData: [] + + } + }, + + activated() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + this.getProductionScheduleReportSearch() + this.getPrentOrganizationNoCompany() + }, + created() { + this.getProductionScheduleReportSearch() + this.getPrentOrganizationNoCompany() + }, + mounted() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + }, + methods: { + async getPrentOrganizationNoCompany() { + const { data: res } = await PrentOrganizationNoCompany() + this.wkshopcodeArr = res + }, + async getProductionScheduleReportSearch() { + let tempDate = this.form.lm_date + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + const data = { + socode: this.form.socode, + status: this.form.status, + wocode: this.form.wocode, + wkshopcode: this.form.wkshopcode, + wkshopname: this.form.wkshopname, + partcode: this.form.partcode, + partname: this.form.partname, + partspec: this.form.partspec, + lm_date: tempDate, + prop: this.form.prop, + order: this.form.order, + page: this.form.page, + rows: this.form.rows + } + + const res = await ProductionScheduleReportSearch(data) + this.tableData = res.data + this.total = res.count + }, + + // 瀵煎嚭 + async download() { + let tempDate = this.form.lm_date + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + const data = { + socode: this.form.socode, + status: this.form.status, + wocode: this.form.wocode, + wkshopcode: this.form.wkshopcode, + wkshopname: this.form.wkshopname, + partcode: this.form.partcode, + partname: this.form.partname, + partspec: this.form.partspec, + lm_date: tempDate + } + + const res = await ProductionScheduleReportExcelSearch(data) + // console.log(res) + window.location.href = res.data + }, + // 鎺掑簭鏀瑰彉鏃� + sortChange({ column, prop, order }) { + if (order === 'descending') { + order = 'desc' + } else if (order === 'ascending') { + order = 'asc' + } else { + order = 'desc' + } + this.form.order = order + this.form.prop = prop + this.getProductionScheduleReportSearch() + }, + // 鏌ヨ + search() { + this.getProductionScheduleReportSearch() + }, + // 閲嶇疆 + reset() { + this.form.socode = '' + this.form.status = '' + this.form.wocode = '' + this.form.wkshopcode = '' + this.form.wkshopname = '' + this.form.partcode = '' + this.form.partname = '' + this.form.partspec = '' + this.form.lm_date = '' + this.getProductionScheduleReportSearch() + }, + + // 鑾峰彇椤甸潰楂樺害 + getHeight() { + this.$nextTick(() => { + this.mainHeight = window.innerHeight - 85 + this.tableHeight = this.mainHeight - 255 + this.$refs.tableDataRef.doLayout() + }) + }, + tableRowClassName({ row, rowIndex }) { + return 'custom-row' + } + } +} +</script> +<style scoped lang="scss"> +::v-deep .el-select__caret { + display: flex; + align-items: center; + justify-content: center; +} + +::v-deep .el-range__icon { + line-height: 28px !important; +} + +::v-deep .el-range-separator { + line-height: 28px !important; +} + +::v-deep .el-range-input { + font-size: 14px; +} + +::v-deep .el-range-separator { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep .el-progress-bar__innerText { + display: none !important; +} + +//.custom-table-class { +// ::v-deep .el-table__row { +// height: 80px; +// line-height:80px; +// } +//} + +</style> -- Gitblit v1.9.3