From ff2f7d7bad0132c130c305364a863ff446e926b2 Mon Sep 17 00:00:00 2001 From: 小小儁爺 <1694218219@qq.com> Date: 星期一, 30 十二月 2024 13:47:24 +0800 Subject: [PATCH] 1.在缓存模式下 页面切换会请求接口 --- src/views/statistic/installationLampList.vue | 1915 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 960 insertions(+), 955 deletions(-) diff --git a/src/views/statistic/installationLampList.vue b/src/views/statistic/installationLampList.vue index 636dc74..c4b862a 100644 --- a/src/views/statistic/installationLampList.vue +++ b/src/views/statistic/installationLampList.vue @@ -1,955 +1,960 @@ -<template> - <div> - <div class="body" :style="{height:mainHeight+'px'}"> - <div class="bodyTopButtonGroup"> - <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> - </div> - - <div v-show="currentTabPositionName==='瀹夌伅鏄庣粏'" 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-select v-model="form.wkshopcode" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in wkshopSelectArr" - :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.calltypecode" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in calltypeSelectArr" - :key="item.code" - :label="item.name" - :value="item.code" - /> - </el-select> - </el-form-item> - <el-form-item label="鍛煎彨浜哄憳" style=" display: flex;"> - <el-input v-model="form.calluser" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item label="鍛煎彨鏃堕棿" style="display: flex;font-size: 14px;align-items: center"> - <el-date-picker - v-model="form.calldate" - 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> - <el-form-item v-show="isExpandForm" label="璁惧缂栫爜" style=" display: flex;"> - <el-input v-model="form.eqpcode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="璁惧鍚嶇О" style=" display: flex;"> - <el-input v-model="form.eqpname" style="width: 200px" placeholder="璇疯緭鍏�" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="鍝嶅簲浜哄憳" style=" display: flex;"> - <el-input v-model="form.responduser" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="鍝嶅簲鏃堕棿" style="display: flex;font-size: 14px;align-items: center"> - <el-date-picker - v-model="form.responddate" - 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 v-show="currentTabPositionName==='瀹夌伅姹囨��'" class="bodyTopFormGroup"> - <el-form - ref="formSum" - :model="formSum" - label-width="100px" - inline - style="display: flex;" - > - <div class="elForm"> - <el-form-item label="鐢熶骇杞﹂棿" style=" display: flex;"> - <el-select - v-model="formSum.wkshopcode" - style="width: 200px" - placeholder="璇烽�夋嫨" - @change="getWhkspIsEqpSearch" - > - <el-option - v-for="item in wkshopSelectArr" - :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="formSum.eqpcode" - :disabled="formSum.wkshopcode===''" - style="width: 200px" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in devicetypeArr" - :key="item.eqp_code" - :label="item.eqp_name" - :value="item.eqp_code" - /> - </el-select> - </el-form-item> - <el-form-item label="鍛煎彨绫诲瀷" style=" display: flex;"> - <el-select v-model="formSum.calltypecode" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in calltypeSelectArr" - :key="item.code" - :label="item.name" - :value="item.code" - /> - </el-select> - </el-form-item> - <el-form-item label="鍛煎彨鏃堕棿" style="display: flex;font-size: 14px;align-items: center"> - <el-date-picker - v-model="formSum.calldate" - 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> - <el-form-item - v-show="isExpandForm" - label="鍝嶅簲鏃堕棿" - style="display: flex;font-size: 14px;align-items: center" - > - <el-date-picker - v-model="formSum.responddate" - 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> - - <el-tabs - ref="elTabsRef" - type="border-card" - :style="{height:isExpandForm?tableHeight+'px':(tableHeight+40)+'px'}" - @tab-click="tabClick" - > - <el-tab-pane label="瀹夌伅鏄庣粏"> - <div class="elTableDiv"> - <TableColumnSettings - v-if="false" - :list1="tableColumnSettingsArray" - @tableColumnUpdate="tableColumnUpdate" - /> - <el-table - ref="tableDataRef" - :key="tableTimeStampKey" - class="tableFixed" - :data="tableData" - border - :height="isExpandForm?(tableHeight-130):(tableHeight-90)+'px'" - :row-class-name="tableRowClassName" - :style="{width: 100+'%' ,height:isExpandForm?(tableHeight-130):(tableHeight-90)+'px'}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - - <el-table-column - v-for="item in tableColumnSettingsArray" - v-if="item.show" - :key="item.id" - :sortable="item.sortable" - :prop="item.prop" - :min-width="item.minWidth" - :label="item.label" - :width="item.width" - show-tooltip-when-overflow - :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false" - > - <template slot-scope="{row}"> - <div v-if="!row[item.prop]">/</div> - <div v-else-if="item.prop==='status'"> - <div v-if="row.status==='宸插搷搴�'" style="display: flex;align-items: center"> - <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> - 宸插搷搴� - </div> - <div v-if="row.status==='寰呭搷搴�'" style="display: flex;align-items: center"> - <i class="el-icon-info" style="margin-right: 2px" /> - 寰呭搷搴� - </div> - </div> - <div v-else>{{ row[item.prop] }}</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="getAnDonReportDefinitSearch" - /> - </el-tab-pane> - <el-tab-pane label="瀹夌伅姹囨��"> - <div class="elTableDiv"> - <TableColumnSettings - v-if="false" - :list1="tableColumnSettingsArray2" - @tableColumnUpdate="tableColumnUpdate2" - /> - <el-table - ref="tableDataRef2" - :key="tableTimeStampKey2" - class="tableFixed" - :data="tableDataSum" - border - :height="isExpandForm?(tableHeight-130):(tableHeight-90)+'px'" - :row-class-name="tableRowClassName" - :style="{width: 100+'%' ,height:isExpandForm?(tableHeight-130):(tableHeight-90)+'px'}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - - <el-table-column - v-for="item in tableColumnSettingsArray2" - v-if="item.show" - :key="item.id" - :sortable="item.sortable" - :prop="item.prop" - :min-width="item.minWidth" - :label="item.label" - :width="item.width" - show-tooltip-when-overflow - :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false" - > - <template slot-scope="{row}"> - <div v-if="!row[item.prop]">/</div> - <div v-else-if="item.prop==='repondtime'"> - {{ row.repondtime }} 鍒嗛挓 - </div> - <div v-else>{{ row[item.prop] }}</div> - </template> - </el-table-column> - - </el-table> - </div> - <!--鍒嗛〉--> - <pagination - :total="totalSum" - :page.sync="formSum.page" - :limit.sync="formSum.rows" - align="right" - layout="total,prev, pager, next,sizes" - popper-class="select_bottom" - @pagination="getAnDonReportDefinitSearch" - /> - </el-tab-pane> - </el-tabs> - - </div> - </div> -</template> - -<script> -import Pagination from '@/components/Pagination' -import { AnDengTypeSearch, WhkspIsEqpSearch } from '@/api/basicSettings' -import { handleDatetime } from '@/utils/global' -import { - AnDonReportDefinitExcelSearch, - AnDonReportDefinitSearch, - AnDonReportSumExcelSearch, - AnDonReportSumSearch -} from '@/api/ReportManager' -import waves from '@/directive/waves' -import TableColumnSettings from '@/components/TableColumnSettings' -import { PrentOrganization } from '@/api/GeneralBasicData' - -export default { - name: 'InstallationLampList', - components: { - Pagination, TableColumnSettings - }, - directives: { waves }, - data() { - return { - mouseHoverType: 'mouseout', - isExpandForm: false, - mainHeight: 0, - tableHeight: 0, - form: { - wkshopcode: '', // 杞﹂棿缂栫爜 - calltypecode: '', // 鍛煎彨绫诲瀷缂栫爜 - calluser: '', // 鍛煎彨浜哄憳 - calldate: '', // 鍛煎彨鏃堕棿 - eqpcode: '', // 璁惧缂栫爜 - eqpname: '', // 璁惧鍚嶇О - responduser: '', // 鍝嶅簲浜哄憳 - responddate: '', // 鍝嶅簲鏃堕棿 - prop: 'eqp_code', // 鎺掑簭瀛楁 - order: 'desc', // 鎺掑簭瀛楁 - page: 1, // 绗嚑椤� - rows: 20 // 姣忛〉澶氬皯鏉� - }, - total: 10, - wkshopSelectArr: [], // 鐢熶骇杞﹂棿涓嬫媺鏁扮粍 - calltypeSelectArr: [], // 鍛煎彨绫诲瀷涓嬫媺鏁扮粍 - tableData: [], - tableColumnSettingsArray: [ - // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず - { minWidth: 25, width: 50, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom - { - minWidth: 110, - width: false, - prop: 'wkshp_code', - label: '杞﹂棿缂栫爜', - id: 3, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'wkshp_name', - label: '杞﹂棿鍚嶇О', - id: 4, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'eqp_code', - label: '璁惧缂栫爜', - id: 5, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'eqp_name', - label: '璁惧鍚嶇О', - id: 6, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'typename', - label: '鍛煎彨绫诲瀷', - id: 7, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'start_user', - label: '鍛煎彨浜�', - id: 8, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 160, - width: false, - prop: 'start_date', - label: '鍛煎彨鏃堕棿', - id: 9, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'resp_user', - label: '鍝嶅簲浜�', - id: 10, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 160, - width: false, - prop: 'resp_date', - label: '鍝嶅簲鏃堕棿', - id: 11, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 130, - width: false, - prop: 'respondcont', - label: '鍝嶅簲鏃堕暱', - id: 12, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'status', - label: '鐘舵��', - id: 13, - show: true, - fixed: 'right', - sortable: true - } - ], - tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key - - currentTabPositionName: '瀹夌伅鏄庣粏', // Tab鏍囩浣嶄簬鐨勪綅缃� 榛樿绗��0鈥欎釜 - formSum: { - wkshopcode: '', // 杞﹂棿缂栫爜 - calltypecode: '', // 鍛煎彨绫诲瀷缂栫爜 - calldate: '', // 鍛煎彨鏃堕棿 - eqpcode: '', // 璁惧缂栫爜 - responddate: '', // 鍝嶅簲鏃堕棿 - prop: 'eqp_code', // 鎺掑簭瀛楁 - order: 'desc', // 鎺掑簭瀛楁 - page: 1, // 绗嚑椤� - rows: 20 // 姣忛〉澶氬皯鏉� - }, - tableDataSum: [], - totalSum: 0, - tableColumnSettingsArray2: [ - // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず - { minWidth: 25, width: 50, prop: 'RowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom - { - minWidth: 110, - width: false, - prop: 'wkshp_name', - label: '鐢熶骇杞﹂棿', - id: 3, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'eqp_code', - label: '璁惧缂栫爜', - id: 4, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'eqp_name', - label: '璁惧鍚嶇О', - id: 5, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'calltypename', - label: '鍛煎彨绫诲瀷', - id: 6, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'callcount', - label: '鍛煎彨鎬绘鏁�', - id: 7, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'repondcount', - label: '鍝嶅簲鎬绘鏁�', - id: 8, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'repondtime', - label: '鎬诲搷搴旀椂闀�', - id: 9, - show: true, - fixed: false, - sortable: true - } - ], - tableTimeStampKey2: new Date().getTime(), // 琛ㄦ牸key - - devicetypeArr: []// 鐢熶骇璁惧涓嬫媺鏁扮粍 - } - }, - - activated() { window.addEventListener('resize', this.getHeight) this.getHeight() }, created() { - this.handleRequest() - }, - mounted() { - window.addEventListener('resize', this.getHeight) - this.getHeight() - }, - methods: { - tableColumnUpdate(val, isCopyTrue) { - if (isCopyTrue) { - this.tableColumnSettingsArray = val - } - this.tableTimeStampKey = new Date().getTime() - this.$refs.tableDataRef.doLayout() - }, - tableColumnUpdate2(val, isCopyTrue) { - if (isCopyTrue) { - this.tableColumnSettingsArray2 = val - } - this.tableTimeStampKey2 = new Date().getTime() - this.$refs.tableDataRef2.doLayout() - }, - handleRequest() { - this.getAnDonReportDefinitSearch().then(res => { - if (res.code === '200') { - this.getShopSearch() - this.getAnDengTypeSearch() - } - }) - }, - async getAnDonReportDefinitSearch() { - let tempDate = this.form.calldate - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - let tempDate2 = this.form.responddate - if (tempDate2.length > 0) { - tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1]) - } - - const data = { - wkshopcode: this.form.wkshopcode, // 杞﹂棿缂栫爜 - calltypecode: this.form.calltypecode, // 鍛煎彨绫诲瀷缂栫爜 - calluser: this.form.calluser, // 鍛煎彨浜哄憳 - calldate: tempDate, // 鍛煎彨鏃堕棿 - eqpcode: this.form.eqpcode, // 璁惧缂栫爜 - eqpname: this.form.eqpname, // 璁惧鍚嶇О - responduser: this.form.responduser, // 鍝嶅簲浜哄憳 - responddate: tempDate2, // 鍝嶅簲鏃堕棿 - prop: this.form.prop, // 鎺掑簭瀛楁 - order: this.form.order, // 鎺掑簭瀛楁 - page: this.form.page, // 绗嚑椤� - rows: this.form.rows // 姣忛〉澶氬皯鏉� - } - - const res = await AnDonReportDefinitSearch(data) - this.tableData = res.data - this.total = res.count - return { code: res.code } - }, - async getAnDonReportSumSearch() { - let tempDate = this.formSum.calldate - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - let tempDate2 = this.formSum.responddate - if (tempDate2.length > 0) { - tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1]) - } - - const data = { - wkshopcode: this.formSum.wkshopcode, // 杞﹂棿缂栫爜 - calltypecode: this.formSum.calltypecode, // 鍛煎彨绫诲瀷缂栫爜 - calldate: tempDate, // 鍛煎彨鏃堕棿 - eqpcode: this.formSum.eqpcode, // 璁惧缂栫爜 - responddate: tempDate2, // 鍝嶅簲鏃堕棿 - prop: this.formSum.prop, // 鎺掑簭瀛楁 - order: this.formSum.order, // 鎺掑簭瀛楁 - page: this.formSum.page, // 绗嚑椤� - rows: this.formSum.rows // 姣忛〉澶氬皯鏉� - } - - const res = await AnDonReportSumSearch(data) - this.tableDataSum = res.data - this.totalSum = res.count - }, - // 鑾峰彇鐢熶骇杞﹂棿 - async getShopSearch() { - const { data: res } = await PrentOrganization() - this.wkshopSelectArr = res - }, - // 鑾峰彇鍛煎彨绫诲瀷 - async getAnDengTypeSearch() { - const { data: res } = await AnDengTypeSearch() - this.calltypeSelectArr = res - }, - async getWhkspIsEqpSearch(val) { - this.formSum.eqpcode = '' - const { data: res } = await WhkspIsEqpSearch({ wkshpcode: val }) - this.devicetypeArr = res - }, - // tab鏍囩鍒囨崲 - tabClick(val) { - this.currentTabPositionName = val.label - - if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { - this.getAnDonReportDefinitSearch() - } else { - this.getAnDonReportSumSearch() - } - - this.$nextTick(() => { - this.$refs['tableDataRef'].doLayout() - this.$refs['tableDataRef2'].doLayout() - }) - }, - // 鎺掑簭鏀瑰彉鏃� - sortChange({ column, prop, order }) { - if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { - if (order === 'descending') { - order = 'desc' - } else if (order === 'ascending') { - order = 'asc' - } else { - order = 'desc' - } - this.form.order = order - this.form.prop = prop - this.getAnDonReportDefinitSearch() - } else { - if (order === 'descending') { - order = 'desc' - } else if (order === 'ascending') { - order = 'asc' - } else { - order = 'desc' - } - this.formSum.order = order - this.formSum.prop = prop - this.getAnDonReportSumSearch() - } - }, - // 鏌ヨ - search() { - if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { - this.getAnDonReportDefinitSearch() - } else { - this.getAnDonReportSumSearch() - } - }, - // 閲嶇疆 - reset() { - if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { - this.form.wkshopcode = '' - this.form.calltypecode = '' - this.form.calluser = '' - this.form.calldate = '' - this.form.eqpcode = '' - this.form.eqpname = '' - this.form.responduser = '' - this.form.responddate = '' - this.getAnDonReportDefinitSearch() - } else { - this.formSum.wkshopcode = '' - this.formSum.calltypecode = '' - this.formSum.calldate = '' - this.formSum.eqpcode = '' - this.formSum.responddate = '' - - this.getAnDonReportSumSearch() - } - }, - async download() { - if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { - let calldate = this.form.calldate - if (calldate.length > 0) { - calldate = handleDatetime(calldate[0]) + '~' + handleDatetime(calldate[1]) - } - let responddate = this.form.responddate - if (responddate.length > 0) { - responddate = handleDatetime(responddate[0]) + '~' + handleDatetime(responddate[1]) - } - const data = { - wkshopcode: this.form.wkshopcode, - calltypecode: this.form.calltypecode, - calluser: this.form.calluser, - calldate: calldate, - eqpcode: this.form.eqpcode, - eqpname: this.form.eqpname, - responduser: this.form.responduser, - responddate: responddate - } - const { data: res } = await AnDonReportDefinitExcelSearch(data) - console.log(res) - window.location.href = res - } else { - let calldate = this.formSum.calldate - if (calldate.length > 0) { - calldate = handleDatetime(calldate[0]) + '~' + handleDatetime(calldate[1]) - } - let responddate = this.formSum.responddate - if (responddate.length > 0) { - responddate = handleDatetime(responddate[0]) + '~' + handleDatetime(responddate[1]) - } - const data = { - wkshopcode: this.formSum.wkshopcode, - calltypecode: this.formSum.calltypecode, - calldate: calldate, - eqpcode: this.formSum.eqpcode, - responddate: responddate - } - const { data: res } = await AnDonReportSumExcelSearch(data) - window.location.href = res - } - }, - // 鑾峰彇椤甸潰楂樺害 - getHeight() { - this.$nextTick(() => { - this.mainHeight = window.innerHeight - 85 - this.tableHeight = this.mainHeight - 180 - this.$refs.tableDataRef.doLayout() - this.$refs.tableDataRef2.doLayout() - }) - }, - tableRowClassName({ row, rowIndex }) { - return 'custom-row' - } - } -} -</script> - -<!--鍏叡椤甸潰鏍峰紡--> -<style lang="scss" scoped> -$main_color: #42b983; - -::v-deep .el-tabs--border-card > .el-tabs__content { - padding: 0 10px; -} - -::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-button--text { - font-size: 14px; - cursor: pointer; -} - -.el-icon-share, .el-icon-delete, .el-icon-edit-outline { - color: $main_color; - cursor: pointer; -} - -.el-icon-edit-outline { - margin-right: 15px; -} - -::v-deep .el-button--primary, .el-button--default, .el-button--info { - height: 34px; - display: flex; - align-items: center; - padding: 0 15px; -} - -::v-deep .el-button--primary { - //background-color: $main_color !important; -} - -::v-deep .el-button--default { - background-color: #f8f8fa; - border: none; -} - -::v-deep .el-input__inner { - height: 34px; - line-height: 34px; - //color: #a7a7a7; -} - -::v-deep .el-dialog__body { - padding: 20px 100px !important; -} - -::v-deep .dialogVisibleRoles .el-dialog__body { - padding: 20px 20px !important; -} - -::v-deep .importPickerClass .el-dialog__body { - padding: 20px 20px !important; -} - -::v-deep .el-dialog__footer { - display: flex; - justify-content: flex-end; -} - -::v-deep .el-table .caret-wrapper { - transform: scale(0.8); -} - -::v-deep .cell { - display: flex; - align-items: center; - justify-content: space-between; -} - -::v-deep .el-table::before { - height: 0; -} - -::v-deep .el-table__body-wrapper { - background-color: #f8f8fa; -} - -::v-deep .el-table__body .el-table__row.hover-row td { - background-color: #eaecef; -} - -::v-deep .el-form--inline .el-form-item__label { - color: #a7a7a7; -} - -.body ::v-deep .el-divider { - border: 1px solid #eee; - width: 99%; - margin: 10px auto; -} - -.body ::v-deep .el-form-item { - margin-bottom: 0; -} - -.userDialogVisible ::v-deep .el-form-item { - margin-bottom: 0; -} - -::v-deep .el-select__caret { - display: flex; - align-items: center; - justify-content: center; -} - -.tableFixed { - ::v-deep .el-table__fixed-right { - height: 100% !important; - } - - ::v-deep .el-table__fixed { - height: 100% !important; - } -} -</style> -<style> - -.el-table .custom-row { - background: #f8f8fa; -} -</style> +<template> + <div> + <div class="body" :style="{height:mainHeight+'px'}"> + <div class="bodyTopButtonGroup"> + <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> + </div> + + <div v-show="currentTabPositionName==='瀹夌伅鏄庣粏'" 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-select v-model="form.wkshopcode" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in wkshopSelectArr" + :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.calltypecode" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in calltypeSelectArr" + :key="item.code" + :label="item.name" + :value="item.code" + /> + </el-select> + </el-form-item> + <el-form-item label="鍛煎彨浜哄憳" style=" display: flex;"> + <el-input v-model="form.calluser" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item label="鍛煎彨鏃堕棿" style="display: flex;font-size: 14px;align-items: center"> + <el-date-picker + v-model="form.calldate" + 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> + <el-form-item v-show="isExpandForm" label="璁惧缂栫爜" style=" display: flex;"> + <el-input v-model="form.eqpcode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="璁惧鍚嶇О" style=" display: flex;"> + <el-input v-model="form.eqpname" style="width: 200px" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="鍝嶅簲浜哄憳" style=" display: flex;"> + <el-input v-model="form.responduser" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="鍝嶅簲鏃堕棿" style="display: flex;font-size: 14px;align-items: center"> + <el-date-picker + v-model="form.responddate" + 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 v-show="currentTabPositionName==='瀹夌伅姹囨��'" class="bodyTopFormGroup"> + <el-form + ref="formSum" + :model="formSum" + label-width="100px" + inline + style="display: flex;" + > + <div class="elForm"> + <el-form-item label="鐢熶骇杞﹂棿" style=" display: flex;"> + <el-select + v-model="formSum.wkshopcode" + style="width: 200px" + placeholder="璇烽�夋嫨" + @change="getWhkspIsEqpSearch" + > + <el-option + v-for="item in wkshopSelectArr" + :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="formSum.eqpcode" + :disabled="formSum.wkshopcode===''" + style="width: 200px" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in devicetypeArr" + :key="item.eqp_code" + :label="item.eqp_name" + :value="item.eqp_code" + /> + </el-select> + </el-form-item> + <el-form-item label="鍛煎彨绫诲瀷" style=" display: flex;"> + <el-select v-model="formSum.calltypecode" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in calltypeSelectArr" + :key="item.code" + :label="item.name" + :value="item.code" + /> + </el-select> + </el-form-item> + <el-form-item label="鍛煎彨鏃堕棿" style="display: flex;font-size: 14px;align-items: center"> + <el-date-picker + v-model="formSum.calldate" + 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> + <el-form-item + v-show="isExpandForm" + label="鍝嶅簲鏃堕棿" + style="display: flex;font-size: 14px;align-items: center" + > + <el-date-picker + v-model="formSum.responddate" + 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> + + <el-tabs + ref="elTabsRef" + type="border-card" + :style="{height:isExpandForm?tableHeight+'px':(tableHeight+40)+'px'}" + @tab-click="tabClick" + > + <el-tab-pane label="瀹夌伅鏄庣粏"> + <div class="elTableDiv"> + <TableColumnSettings + v-if="false" + :list1="tableColumnSettingsArray" + @tableColumnUpdate="tableColumnUpdate" + /> + <el-table + ref="tableDataRef" + :key="tableTimeStampKey" + class="tableFixed" + :data="tableData" + border + :height="isExpandForm?(tableHeight-130):(tableHeight-90)+'px'" + :row-class-name="tableRowClassName" + :style="{width: 100+'%' ,height:isExpandForm?(tableHeight-130):(tableHeight-90)+'px'}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + + <el-table-column + v-for="item in tableColumnSettingsArray" + v-if="item.show" + :key="item.id" + :sortable="item.sortable" + :prop="item.prop" + :min-width="item.minWidth" + :label="item.label" + :width="item.width" + show-tooltip-when-overflow + :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false" + > + <template slot-scope="{row}"> + <div v-if="!row[item.prop]">/</div> + <div v-else-if="item.prop==='status'"> + <div v-if="row.status==='宸插搷搴�'" style="display: flex;align-items: center"> + <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> + 宸插搷搴� + </div> + <div v-if="row.status==='寰呭搷搴�'" style="display: flex;align-items: center"> + <i class="el-icon-info" style="margin-right: 2px" /> + 寰呭搷搴� + </div> + </div> + <div v-else>{{ row[item.prop] }}</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="getAnDonReportDefinitSearch" + /> + </el-tab-pane> + <el-tab-pane label="瀹夌伅姹囨��"> + <div class="elTableDiv"> + <TableColumnSettings + v-if="false" + :list1="tableColumnSettingsArray2" + @tableColumnUpdate="tableColumnUpdate2" + /> + <el-table + ref="tableDataRef2" + :key="tableTimeStampKey2" + class="tableFixed" + :data="tableDataSum" + border + :height="isExpandForm?(tableHeight-130):(tableHeight-90)+'px'" + :row-class-name="tableRowClassName" + :style="{width: 100+'%' ,height:isExpandForm?(tableHeight-130):(tableHeight-90)+'px'}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + + <el-table-column + v-for="item in tableColumnSettingsArray2" + v-if="item.show" + :key="item.id" + :sortable="item.sortable" + :prop="item.prop" + :min-width="item.minWidth" + :label="item.label" + :width="item.width" + show-tooltip-when-overflow + :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false" + > + <template slot-scope="{row}"> + <div v-if="!row[item.prop]">/</div> + <div v-else-if="item.prop==='repondtime'"> + {{ row.repondtime }} 鍒嗛挓 + </div> + <div v-else>{{ row[item.prop] }}</div> + </template> + </el-table-column> + + </el-table> + </div> + <!--鍒嗛〉--> + <pagination + :total="totalSum" + :page.sync="formSum.page" + :limit.sync="formSum.rows" + align="right" + layout="total,prev, pager, next,sizes" + popper-class="select_bottom" + @pagination="getAnDonReportDefinitSearch" + /> + </el-tab-pane> + </el-tabs> + + </div> + </div> +</template> + +<script> +import Pagination from '@/components/Pagination' +import { AnDengTypeSearch, WhkspIsEqpSearch } from '@/api/basicSettings' +import { handleDatetime } from '@/utils/global' +import { + AnDonReportDefinitExcelSearch, + AnDonReportDefinitSearch, + AnDonReportSumExcelSearch, + AnDonReportSumSearch +} from '@/api/ReportManager' +import waves from '@/directive/waves' +import TableColumnSettings from '@/components/TableColumnSettings' +import { PrentOrganization } from '@/api/GeneralBasicData' + +export default { + name: 'InstallationLampList', + components: { + Pagination, TableColumnSettings + }, + directives: { waves }, + data() { + return { + mouseHoverType: 'mouseout', + isExpandForm: false, + mainHeight: 0, + tableHeight: 0, + form: { + wkshopcode: '', // 杞﹂棿缂栫爜 + calltypecode: '', // 鍛煎彨绫诲瀷缂栫爜 + calluser: '', // 鍛煎彨浜哄憳 + calldate: '', // 鍛煎彨鏃堕棿 + eqpcode: '', // 璁惧缂栫爜 + eqpname: '', // 璁惧鍚嶇О + responduser: '', // 鍝嶅簲浜哄憳 + responddate: '', // 鍝嶅簲鏃堕棿 + prop: 'eqp_code', // 鎺掑簭瀛楁 + order: 'desc', // 鎺掑簭瀛楁 + page: 1, // 绗嚑椤� + rows: 20 // 姣忛〉澶氬皯鏉� + }, + total: 10, + wkshopSelectArr: [], // 鐢熶骇杞﹂棿涓嬫媺鏁扮粍 + calltypeSelectArr: [], // 鍛煎彨绫诲瀷涓嬫媺鏁扮粍 + tableData: [], + tableColumnSettingsArray: [ + // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず + { minWidth: 25, width: 50, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom + { + minWidth: 110, + width: false, + prop: 'wkshp_code', + label: '杞﹂棿缂栫爜', + id: 3, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'wkshp_name', + label: '杞﹂棿鍚嶇О', + id: 4, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'eqp_code', + label: '璁惧缂栫爜', + id: 5, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'eqp_name', + label: '璁惧鍚嶇О', + id: 6, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'typename', + label: '鍛煎彨绫诲瀷', + id: 7, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'start_user', + label: '鍛煎彨浜�', + id: 8, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 160, + width: false, + prop: 'start_date', + label: '鍛煎彨鏃堕棿', + id: 9, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'resp_user', + label: '鍝嶅簲浜�', + id: 10, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 160, + width: false, + prop: 'resp_date', + label: '鍝嶅簲鏃堕棿', + id: 11, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 130, + width: false, + prop: 'respondcont', + label: '鍝嶅簲鏃堕暱', + id: 12, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'status', + label: '鐘舵��', + id: 13, + show: true, + fixed: 'right', + sortable: true + } + ], + tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key + + currentTabPositionName: '瀹夌伅鏄庣粏', // Tab鏍囩浣嶄簬鐨勪綅缃� 榛樿绗��0鈥欎釜 + formSum: { + wkshopcode: '', // 杞﹂棿缂栫爜 + calltypecode: '', // 鍛煎彨绫诲瀷缂栫爜 + calldate: '', // 鍛煎彨鏃堕棿 + eqpcode: '', // 璁惧缂栫爜 + responddate: '', // 鍝嶅簲鏃堕棿 + prop: 'eqp_code', // 鎺掑簭瀛楁 + order: 'desc', // 鎺掑簭瀛楁 + page: 1, // 绗嚑椤� + rows: 20 // 姣忛〉澶氬皯鏉� + }, + tableDataSum: [], + totalSum: 0, + tableColumnSettingsArray2: [ + // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず + { minWidth: 25, width: 50, prop: 'RowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom + { + minWidth: 110, + width: false, + prop: 'wkshp_name', + label: '鐢熶骇杞﹂棿', + id: 3, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'eqp_code', + label: '璁惧缂栫爜', + id: 4, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'eqp_name', + label: '璁惧鍚嶇О', + id: 5, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'calltypename', + label: '鍛煎彨绫诲瀷', + id: 6, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'callcount', + label: '鍛煎彨鎬绘鏁�', + id: 7, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'repondcount', + label: '鍝嶅簲鎬绘鏁�', + id: 8, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'repondtime', + label: '鎬诲搷搴旀椂闀�', + id: 9, + show: true, + fixed: false, + sortable: true + } + ], + tableTimeStampKey2: new Date().getTime(), // 琛ㄦ牸key + + devicetypeArr: []// 鐢熶骇璁惧涓嬫媺鏁扮粍 + } + }, + + activated() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + this.handleRequest() + }, + created() { + this.handleRequest() + }, + mounted() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + }, + methods: { + tableColumnUpdate(val, isCopyTrue) { + if (isCopyTrue) { + this.tableColumnSettingsArray = val + } + this.tableTimeStampKey = new Date().getTime() + this.$refs.tableDataRef.doLayout() + }, + tableColumnUpdate2(val, isCopyTrue) { + if (isCopyTrue) { + this.tableColumnSettingsArray2 = val + } + this.tableTimeStampKey2 = new Date().getTime() + this.$refs.tableDataRef2.doLayout() + }, + handleRequest() { + this.getAnDonReportDefinitSearch().then(res => { + if (res.code === '200') { + this.getShopSearch() + this.getAnDengTypeSearch() + } + }) + }, + async getAnDonReportDefinitSearch() { + let tempDate = this.form.calldate + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + let tempDate2 = this.form.responddate + if (tempDate2.length > 0) { + tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1]) + } + + const data = { + wkshopcode: this.form.wkshopcode, // 杞﹂棿缂栫爜 + calltypecode: this.form.calltypecode, // 鍛煎彨绫诲瀷缂栫爜 + calluser: this.form.calluser, // 鍛煎彨浜哄憳 + calldate: tempDate, // 鍛煎彨鏃堕棿 + eqpcode: this.form.eqpcode, // 璁惧缂栫爜 + eqpname: this.form.eqpname, // 璁惧鍚嶇О + responduser: this.form.responduser, // 鍝嶅簲浜哄憳 + responddate: tempDate2, // 鍝嶅簲鏃堕棿 + prop: this.form.prop, // 鎺掑簭瀛楁 + order: this.form.order, // 鎺掑簭瀛楁 + page: this.form.page, // 绗嚑椤� + rows: this.form.rows // 姣忛〉澶氬皯鏉� + } + + const res = await AnDonReportDefinitSearch(data) + this.tableData = res.data + this.total = res.count + return { code: res.code } + }, + async getAnDonReportSumSearch() { + let tempDate = this.formSum.calldate + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + let tempDate2 = this.formSum.responddate + if (tempDate2.length > 0) { + tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1]) + } + + const data = { + wkshopcode: this.formSum.wkshopcode, // 杞﹂棿缂栫爜 + calltypecode: this.formSum.calltypecode, // 鍛煎彨绫诲瀷缂栫爜 + calldate: tempDate, // 鍛煎彨鏃堕棿 + eqpcode: this.formSum.eqpcode, // 璁惧缂栫爜 + responddate: tempDate2, // 鍝嶅簲鏃堕棿 + prop: this.formSum.prop, // 鎺掑簭瀛楁 + order: this.formSum.order, // 鎺掑簭瀛楁 + page: this.formSum.page, // 绗嚑椤� + rows: this.formSum.rows // 姣忛〉澶氬皯鏉� + } + + const res = await AnDonReportSumSearch(data) + this.tableDataSum = res.data + this.totalSum = res.count + }, + // 鑾峰彇鐢熶骇杞﹂棿 + async getShopSearch() { + const { data: res } = await PrentOrganization() + this.wkshopSelectArr = res + }, + // 鑾峰彇鍛煎彨绫诲瀷 + async getAnDengTypeSearch() { + const { data: res } = await AnDengTypeSearch() + this.calltypeSelectArr = res + }, + async getWhkspIsEqpSearch(val) { + this.formSum.eqpcode = '' + const { data: res } = await WhkspIsEqpSearch({ wkshpcode: val }) + this.devicetypeArr = res + }, + // tab鏍囩鍒囨崲 + tabClick(val) { + this.currentTabPositionName = val.label + + if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { + this.getAnDonReportDefinitSearch() + } else { + this.getAnDonReportSumSearch() + } + + this.$nextTick(() => { + this.$refs['tableDataRef'].doLayout() + this.$refs['tableDataRef2'].doLayout() + }) + }, + // 鎺掑簭鏀瑰彉鏃� + sortChange({ column, prop, order }) { + if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { + if (order === 'descending') { + order = 'desc' + } else if (order === 'ascending') { + order = 'asc' + } else { + order = 'desc' + } + this.form.order = order + this.form.prop = prop + this.getAnDonReportDefinitSearch() + } else { + if (order === 'descending') { + order = 'desc' + } else if (order === 'ascending') { + order = 'asc' + } else { + order = 'desc' + } + this.formSum.order = order + this.formSum.prop = prop + this.getAnDonReportSumSearch() + } + }, + // 鏌ヨ + search() { + if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { + this.getAnDonReportDefinitSearch() + } else { + this.getAnDonReportSumSearch() + } + }, + // 閲嶇疆 + reset() { + if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { + this.form.wkshopcode = '' + this.form.calltypecode = '' + this.form.calluser = '' + this.form.calldate = '' + this.form.eqpcode = '' + this.form.eqpname = '' + this.form.responduser = '' + this.form.responddate = '' + this.getAnDonReportDefinitSearch() + } else { + this.formSum.wkshopcode = '' + this.formSum.calltypecode = '' + this.formSum.calldate = '' + this.formSum.eqpcode = '' + this.formSum.responddate = '' + + this.getAnDonReportSumSearch() + } + }, + async download() { + if (this.currentTabPositionName === '瀹夌伅鏄庣粏') { + let calldate = this.form.calldate + if (calldate.length > 0) { + calldate = handleDatetime(calldate[0]) + '~' + handleDatetime(calldate[1]) + } + let responddate = this.form.responddate + if (responddate.length > 0) { + responddate = handleDatetime(responddate[0]) + '~' + handleDatetime(responddate[1]) + } + const data = { + wkshopcode: this.form.wkshopcode, + calltypecode: this.form.calltypecode, + calluser: this.form.calluser, + calldate: calldate, + eqpcode: this.form.eqpcode, + eqpname: this.form.eqpname, + responduser: this.form.responduser, + responddate: responddate + } + const { data: res } = await AnDonReportDefinitExcelSearch(data) + console.log(res) + window.location.href = res + } else { + let calldate = this.formSum.calldate + if (calldate.length > 0) { + calldate = handleDatetime(calldate[0]) + '~' + handleDatetime(calldate[1]) + } + let responddate = this.formSum.responddate + if (responddate.length > 0) { + responddate = handleDatetime(responddate[0]) + '~' + handleDatetime(responddate[1]) + } + const data = { + wkshopcode: this.formSum.wkshopcode, + calltypecode: this.formSum.calltypecode, + calldate: calldate, + eqpcode: this.formSum.eqpcode, + responddate: responddate + } + const { data: res } = await AnDonReportSumExcelSearch(data) + window.location.href = res + } + }, + // 鑾峰彇椤甸潰楂樺害 + getHeight() { + this.$nextTick(() => { + this.mainHeight = window.innerHeight - 85 + this.tableHeight = this.mainHeight - 180 + this.$refs.tableDataRef.doLayout() + this.$refs.tableDataRef2.doLayout() + }) + }, + tableRowClassName({ row, rowIndex }) { + return 'custom-row' + } + } +} +</script> + +<!--鍏叡椤甸潰鏍峰紡--> +<style lang="scss" scoped> +$main_color: #42b983; + +::v-deep .el-tabs--border-card > .el-tabs__content { + padding: 0 10px; +} + +::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-button--text { + font-size: 14px; + cursor: pointer; +} + +.el-icon-share, .el-icon-delete, .el-icon-edit-outline { + color: $main_color; + cursor: pointer; +} + +.el-icon-edit-outline { + margin-right: 15px; +} + +::v-deep .el-button--primary, .el-button--default, .el-button--info { + height: 34px; + display: flex; + align-items: center; + padding: 0 15px; +} + +::v-deep .el-button--primary { + //background-color: $main_color !important; +} + +::v-deep .el-button--default { + background-color: #f8f8fa; + border: none; +} + +::v-deep .el-input__inner { + height: 34px; + line-height: 34px; + //color: #a7a7a7; +} + +::v-deep .el-dialog__body { + padding: 20px 100px !important; +} + +::v-deep .dialogVisibleRoles .el-dialog__body { + padding: 20px 20px !important; +} + +::v-deep .importPickerClass .el-dialog__body { + padding: 20px 20px !important; +} + +::v-deep .el-dialog__footer { + display: flex; + justify-content: flex-end; +} + +::v-deep .el-table .caret-wrapper { + transform: scale(0.8); +} + +::v-deep .cell { + display: flex; + align-items: center; + justify-content: space-between; +} + +::v-deep .el-table::before { + height: 0; +} + +::v-deep .el-table__body-wrapper { + background-color: #f8f8fa; +} + +::v-deep .el-table__body .el-table__row.hover-row td { + background-color: #eaecef; +} + +::v-deep .el-form--inline .el-form-item__label { + color: #a7a7a7; +} + +.body ::v-deep .el-divider { + border: 1px solid #eee; + width: 99%; + margin: 10px auto; +} + +.body ::v-deep .el-form-item { + margin-bottom: 0; +} + +.userDialogVisible ::v-deep .el-form-item { + margin-bottom: 0; +} + +::v-deep .el-select__caret { + display: flex; + align-items: center; + justify-content: center; +} + +.tableFixed { + ::v-deep .el-table__fixed-right { + height: 100% !important; + } + + ::v-deep .el-table__fixed { + height: 100% !important; + } +} +</style> +<style> + +.el-table .custom-row { + background: #f8f8fa; +} +</style> -- Gitblit v1.9.3