From 41d50b20c975faeaa9e5277bdcff13b5acecb575 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期三, 13 十二月 2023 16:57:37 +0800 Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/vue_mdc_430 into develop --- src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue | 439 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 439 insertions(+), 0 deletions(-) diff --git a/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue b/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue new file mode 100644 index 0000000..a4b39d9 --- /dev/null +++ b/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue @@ -0,0 +1,439 @@ +<template> + <div style="width: 100%;"> + <div :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="seach-content"> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :md="5" :sm="5" :xs="5"> + <a-form-item label="椹卞姩绫诲瀷"> + <a-auto-complete + v-model="queryParam.driveType" + :data-source="driveTypeList" + placeholder="璇烽�夋嫨椹卞姩绫诲瀷" + :filter-option="filterOption" + /> + </a-form-item> + </a-col> + + <a-col :md="5" :sm="5" :xs="5"> + <a-form-item label="鏃堕棿"> + <a-range-picker + :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" + format="YYYY-MM-DD" + :value="dates" + @change="dateParamChange" + /> + </a-form-item> + </a-col> + + <a-col :md="4" :sm="4" :xs="4"> + <a-space> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button> + <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button> + </a-space> + </a-col> + </a-row> + </a-form> + + </div> + </div> + + <div class="container" id="EfficiencyShift" style="margin-top: 20px;"> + <div class="table2"> + <a-table :columns="columns" :dataSource="dataSource.records" :pagination="false" bordered> + <span slot="duration" slot-scope="text">{{getFormattedTime(text)}}</span> + </a-table> + </div> + </div> + <div class="pagination"> + <a-pagination + :total=dataSource.total + :show-total="(total, range) => `${range[0]}-${range[1]} 鍏� ${total} 鏉" + :page-size="+queryParam.pageSize" + :default-current="1" + :current=+queryParam.pageNo + show-size-changer + :pageSizeOptions="['20','30','40','50']" + @change="handlePageNoChange" + @showSizeChange="handlePageSizeChange" + /> + </div> + </div> + </div> +</template> + +<script> + import moment from 'moment' + import { putAction, getAction } from '@/api/manage' + import $ from 'jquery' + import '@/components/table2excel/table2excel' + import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' + import api from '@/api/mdc' + + export default { + name: 'DeviceProcessReportList', + components: {}, + data() { + return { + typeTree: '', + typeParent: 1, + typeEquipment: 1, + allowClear: true, + allowClearSu: true, + dates: [moment(), moment()], + identifying: [], + queryParam: { + pageSize: 20, + pageNo: 1 + }, + queryParamEquip: {}, + queryParamPeople: {}, + url: { + list: '/mdc/mdcProcessCount/list' + }, + columns: [ + { + title: '搴忓彿', + dataIndex: '', + key: 'rowIndex', + width: 70, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + } + // fixed: 'left' + }, + { + title: '璁惧缁熶竴缂栧彿', + align: 'center', + dataIndex: 'equipmentId', + width: 120 + }, + { + title: '璁惧鍚嶇О', + align: 'center', + width: 150, + dataIndex: 'equipmentName' + }, + { + title: '椹卞姩绫诲瀷', + align: 'center', + width: 110, + dataIndex: 'driveType' + }, + { + title: '绋嬪簭鍙�', + align: 'center', + width: 100, + dataIndex: 'sequenceNumber' + }, + { + title: '鍔犲伐浠舵暟', + align: 'center', + width: 80, + dataIndex: 'processCount' + }, + { + title: '鎸佺画鏃堕棿', + dataIndex: 'duration', + align: 'center', + scopedSlots: { customRender: 'duration' }, + width: 110 + }, + { + title: '鏃ユ湡', + dataIndex: 'theDate', + align: 'center', + width: 110 + } + ], + dataSource: [], + driveTypeList: [] + } + }, + props: { nodeTree: '', Type: '', nodePeople: '' }, + created() { + this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD') + this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD') + this.queryParam.typeTree = '1' + this.loadData() + this.getDriveTypeByApi() + }, + watch: { + Type(valmath) { + this.dataList = [] + this.queryParam.typeTree = valmath + }, + nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢 + console.log(val) + if (JSON.stringify(val) != '{}') { + if (val.equipmentId != null) { + this.queryParamEquip.parentId = '' + this.queryParamEquip.equipmentId = val.equipmentId + } else { + this.queryParamEquip.parentId = val.key + this.queryParamEquip.equipmentId = '' + } + this.searchQuery() + } + }, + nodePeople(val) { + if (JSON.stringify(val) != '{}') { + if (val.equipmentId != null) { + this.queryParamPeople.parentId = val.equipmentId + this.queryParamPeople.equipmentId = '' + } else { + this.queryParamPeople.parentId = val.key + this.queryParamPeople.equipmentId = '' + } + this.searchQuery() + } + } + }, + filters: { + numFilter(value) { + if (value) { + return parseFloat((value * 100).toFixed(2)) + } else { + return '0' + } + } + }, + methods: { + dateParamChange(value) { + this.dates = value + console.log('value', value) + this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD') + this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD') + }, + + exportExcel() { + $('#EfficiencyShift').table2excel({ + exclude: '.noExl', + name: 'Excel Document Name', + filename: '璁惧鍔犲伐宸ヤ欢鎶ヨ〃', + exclude_img: true, + fileext: '.xls', + exclude_links: true, + exclude_inputs: true + }) + }, + + searchQuery() { + if (this.dates != '') { + if (this.queryParam.typeTree == '1') { + this.queryParam.parentId = this.queryParamEquip.parentId + this.queryParam.equipmentId = this.queryParamEquip.equipmentId + } else { + this.queryParam.parentId = this.queryParamPeople.parentId + this.queryParam.equipmentId = '' + } + this.queryParam.pageNo = 1 + this.loadData() + } else { + // this.$message.warning("璇烽�夋嫨鏃堕棿") + this.$notification.warning({ + message: '娑堟伅', + description: '璇烽�夋嫨鏃堕棿' + }) + } + // this.onClearSelected() + }, + + searchReset() { + this.queryParam = { + pageSize: 20, + pageNo: 1 + } + this.dates = [] + this.loadData() + }, + + loadData() { + getAction(this.url.list, this.queryParam).then(res => { + if (res.success) { + this.dataSource = res.result + } + }) + }, + + /** + * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷 + */ + getDriveTypeByApi() { + api.getDriveTypeApi().then((res) => { + this.driveTypeList = res.result.map(item => item.value) + }) + }, + + /** + * 鏍煎紡鍖栨椂闂� + * @param seconds 绉掓暟 + * @returns '' 鏍煎紡鍖栧悗鏃堕棿瀛楃涓� + */ + getFormattedTime(seconds) { + var hours = Math.floor(seconds / 3600) + var minutes = Math.floor((seconds % 3600) / 60) + var secs = seconds % 60 + + if (hours === 0) { + if (minutes === 0) { + return secs === 0 ? 0 : `${secs}绉抈 + } else { + if (secs === 0) { + return `${minutes}鍒哷 + } + return `${minutes}鍒� ${secs}绉抈 + } + } else { + if (minutes === 0 && secs === 0) { + return `${hours}灏忔椂` + } else if (minutes !== 0 && secs === 0) { + return `${hours}灏忔椂 ${minutes}鍒哷 + } + } + return `${hours}灏忔椂 ${minutes}鍒� ${secs}绉抈 + }, + + /** + * 鍒嗛〉鍣ㄩ〉鏁板彂鐢熸敼鍙樻椂瑙﹀彂 + * @param page 鏀瑰彉鍚庨〉鏁� + * @param pageSize 鏀瑰彉鍚庢瘡椤靛睍绀烘暟鎹潯鏁� + */ + handlePageNoChange(page, pageSize) { + this.queryParam.pageNo = page + this.loadData() + }, + + /** + * 鍒嗛〉鍣ㄦ瘡椤靛睍绀烘暟鎹潯鏁板彂鐢熸敼鍙樻椂瑙﹀彂 + * @param current 鏀瑰彉鍚庨〉鏁� + * @param size 鏀瑰彉鍚庢瘡椤靛睍绀烘暟鎹潯鏁� + */ + handlePageSizeChange(current, size) { + this.queryParam.pageSize = size + this.loadData() + }, + + /** + * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳� + * @param input 杈撳叆鐨勫唴瀹� + * @param option 閰嶇疆 + * @returns {boolean} 鍒ゆ柇鏄惁绛涢�� + */ + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 + ) + } + } + } +</script> +<style scoped> + .table2 { + width: 100%; + height: 100%; + overflow: auto; + } + + .pagination { + display: flex; + justify-content: end; + margin: 20px 0; + } + + @media screen and (min-width: 1920px) { + #EfficiencyShift { + height: 670px !important; + overflow: scroll; + } + } + + @media screen and (min-width: 1680px) and (max-width: 1920px) { + #EfficiencyShift { + height: 670px !important; + overflow: scroll; + } + } + + @media screen and (min-width: 1400px) and (max-width: 1680px) { + #EfficiencyShift { + height: 522px !important; + overflow: scroll; + } + } + + @media screen and (min-width: 1280px) and (max-width: 1400px) { + #EfficiencyShift { + height: 414px !important; + overflow: scroll; + } + } + + @media screen and (max-width: 1280px) { + #EfficiencyShift { + height: 414px !important; + overflow: scroll; + } + } + + .identifyingclass { + width: 55px; + height: 15px; + display: inline-block + } + + .dataContent { + white-space: nowrap; + /*margin: 0;*/ + /*border: none;*/ + border-collapse: separate; + border-spacing: 0; + /*table-layout: fixed;*/ + border: 1px solid #ccc; + /*border: 1px solid #ccc;*/ + width: 100%; + /*height: 100%;*/ + /*overflow: hidden;*/ + /*overflow-y: auto;*/ + text-align: center; + } + + .dataContent .fixed th { + width: 50px; + } + + .dataContent .thead th { + background-color: #fafafa; + text-align: center; + height: 30px; + padding: 5px; + } + + .dataContent .notfixed th { + width: auto; + } + + /*.dataContent tr td {*/ + /*height: 35px*/ + /*}*/ + + .dataContent .mathData td { + padding: 10px; + /*display: none;*/ + } + + .dataContent .mathData .td { + /*background-color: #ff9bd2;*/ + display: inline-block; + padding: 10px; + } + + .dataContent .mathData .tdd { + /*display: none;*/ + } + +</style> \ No newline at end of file -- Gitblit v1.9.3