1、设备TEEP、设备开动率以及班次利用率页面时间选择器新增用户选择时对时间范围的限制功能并测试大数据导出功能
2、生产设备自主维护点检表设备编号的输入方式由手动输入调整为弹窗选择输入
3、生产设备自主维护点检表页面调整周保执行记录渲染逻辑(日期对应到周)
| | |
| | | |
| | | <a-col :md="4" :sm="4"> |
| | | <a-form-item label="设å¤ç¼å·"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤ç¼å·" v-model="queryParam.num" :allow-clear="false"/> |
| | | <a-input-search :readOnly="true" v-model="queryParam.num" @search="handleOpenEamEquipmentListModal" |
| | | enter-button placeholder='è¯·éæ©è®¾å¤ç¼å·'/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | |
| | | <th colspan="3"></th> |
| | | <th colspan="6">ç»ä¸ç¼å·ï¼{{dataSource.equipentNum}}</th> |
| | | <th colspan="3"></th> |
| | | <th colspan="6">{{queryParam.dataTime.split('-')[0]}} å¹´ {{queryParam.dataTime.split('-')[1]}} æ</th> |
| | | <th colspan="6"> |
| | | {{queryParam.dataTime.split('-')[0]}} å¹´ {{queryParam.dataTime.split('-')[1]}} æ |
| | | </th> |
| | | <th colspan="6">åä½ï¼{{dataSource.workCenterName}}</th> |
| | | <th colspan="3"></th> |
| | | </tr> |
| | |
| | | <td>åºå·</td> |
| | | <td colspan="5">å¨ä¿å
»é¡¹ç®</td> |
| | | <td colspan="5">æ£æ¥æ å</td> |
| | | <td colspan="31">卿¥æ§è¡è®°å½</td> |
| | | <td colspan="31">å¨ä¿æ§è¡è®°å½</td> |
| | | </tr> |
| | | |
| | | <tr v-for="(item,index) in dataSource.list4"> |
| | |
| | | <td colspan="5">{{item.name}}</td> |
| | | <td colspan="5">{{item.detectionStandard}}</td> |
| | | <td v-for="childItem in 4" colspan="6"> |
| | | {{item.dataList&&item.dataList[childItem-1]?item.dataList[childItem-1].insResult:''}} |
| | | {{item.dataList&&item.dataList.find(item=>item.weekOfMonth===childItem)?item.dataList.find(item=>item.weekOfMonth===childItem).insResult:''}} |
| | | </td> |
| | | <td colspan="7"> |
| | | {{item.dataList&&item.dataList[4]?item.dataList[4].insResult:''}} |
| | | {{item.dataList&&item.dataList.find(item=>item.weekOfMonth===5)?item.dataList.find(item=>item.weekOfMonth===5).insResult:''}} |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td colspan="11">å¨ä¿å
»æä½è
æ§è¡ï¼æä½è
ç¾åï¼</td> |
| | | <td v-for="childItem in 4" colspan="6"> |
| | | {{dataSource.list5&&dataSource.list5[0]&&dataSource.list5[0].dataList&&dataSource.list5[0].dataList[childItem-1]?dataSource.list5[0].dataList[childItem-1].inspectionUserName:''}} |
| | | {{dataSource.list5&&dataSource.list5[0]&&dataSource.list5[0].dataList&&dataSource.list5[0].dataList.find(item=>item.weekOfMonth===childItem)?dataSource.list5[0].dataList.find(item=>item.weekOfMonth===childItem).inspectionUserName:''}} |
| | | </td> |
| | | <td colspan="7"> |
| | | {{dataSource.list5&&dataSource.list5[0]&&dataSource.list5[0].dataList&&dataSource.list5[0].dataList[4]?dataSource.list5[0].dataList[4].inspectionUserName:''}} |
| | | {{dataSource.list5&&dataSource.list5[0]&&dataSource.list5[0].dataList&&dataSource.list5[0].dataList.find(item=>item.weekOfMonth===5)?dataSource.list5[0].dataList.find(item=>item.weekOfMonth===5).inspectionUserName:''}} |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td colspan="11">é´ä¿å
»æ£æ¥äººç¡®è®¤ï¼ç»´ä¿®äººåç¾åï¼</td> |
| | | <td colspan="11">å¨ä¿å
»æ£æ¥äººç¡®è®¤ï¼ç»´ä¿®äººåç¾åï¼</td> |
| | | <td v-for="childItem in 4" colspan="6"> |
| | | {{dataSource.list6&&dataSource.list6[0]&&dataSource.list6[0].dataList&&dataSource.list6[0].dataList[childItem-1]?dataSource.list6[0].dataList[childItem-1].repairConfirmPerson:''}} |
| | | {{dataSource.list5&&dataSource.list6[0]&&dataSource.list6[0].dataList&&dataSource.list6[0].dataList.find(item=>item.weekOfMonth===childItem)?dataSource.list6[0].dataList.find(item=>item.weekOfMonth===childItem).repairConfirmPerson:''}} |
| | | |
| | | </td> |
| | | <td colspan="7"> |
| | | {{dataSource.list6&&dataSource.list6[0]&&dataSource.list6[0].dataList&&dataSource.list6[0].dataList[4]?dataSource.list6[0].dataList[4].repairConfirmPerson:''}} |
| | | {{dataSource.list5&&dataSource.list6[0]&&dataSource.list6[0].dataList&&dataSource.list6[0].dataList.find(item=>item.weekOfMonth===5)?dataSource.list6[0].dataList.find(item=>item.weekOfMonth===5).repairConfirmPerson:''}} |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td colspan="42" style="text-align: left"> |
| | | å¡«åè¦æ±ï¼æ£å¸¸ï¼/ï¼å¼å¸¸ï¼xï¼æ
éåæºï¼â³ï¼æ²¡å¼æºï¼Tï¼è®¾å¤æ¥å¸¸ç¹æ£è®°å½ç±æä½äººåæ§è¡å¹¶è®°å½ãæ§è¡æ
嵿£æ¥ç±ç»´ä¿®äººåè´è´£æ§è¡å¹¶è®°å½ï¼å¯¹åç°é®é¢è®°å½è³ç¹æ£è¡¨èé¢å注æ ï¼å¯¹åç°é®é¢è¿è¡å
¨ç¨éç¯è®°å½ã |
| | | å¡«åè¦æ±ï¼æ£å¸¸ï¼âï¼å¼å¸¸ï¼Ãï¼æ
éåæºï¼â³ï¼æ²¡å¼æºï¼Tï¼è®¾å¤æ¥å¸¸ç¹æ£è®°å½ç±æä½äººåæ§è¡å¹¶è®°å½ãæ§è¡æ
嵿£æ¥ç±ç»´ä¿®äººåè´è´£æ§è¡å¹¶è®°å½ï¼å¯¹åç°é®é¢è®°å½è³ç¹æ£è¡¨èé¢å¤æ³¨æ ï¼å¯¹åç°é®é¢è¿è¡å
¨ç¨éç¯è®°å½ã |
| | | </td> |
| | | </tr> |
| | | |
| | |
| | | </tbody> |
| | | </table> |
| | | </a-spin> |
| | | |
| | | <eam-equipment-list-modal ref="eamEquipmentListModal" @sendSelectionRows="setSelectedEquipmentId"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import { getAction } from '@/api/manage' |
| | | import $ from 'jquery' |
| | | import '@/components/table2excel/table2excel' |
| | | import EamEquipmentListModal from './modules/SelfMaintenanceAndInspectionList/EamEquipmentListModal' |
| | | |
| | | export default { |
| | | name: 'SelfMaintenanceAndInspectionList', |
| | | components: { EamEquipmentListModal }, |
| | | mixins: [JeecgListMixin], |
| | | data() { |
| | | return { |
| | |
| | | that.$message.warning(`${dataTime.split('-')[0]}å¹´${dataTime.split('-')[1]}æ 设å¤ç¼å·ä¸º${num}è®¾å¤ æ ç¹æ£è®°å½`) |
| | | return |
| | | } |
| | | |
| | | that.dataSource = res.result |
| | | |
| | | for (let index = 4; index <= 6; index++) { |
| | | that.dataSource[`list${index}`] = that.dataSource[`list${index}`].map(item => { |
| | | return { |
| | | ...item, |
| | | dataList: item.dataList.sort((x, y) => x.dayTime - y.dayTime) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | this.$nextTick(() => this.tableElement = document.getElementById('dataTable')) |
| | | } |
| | | else that.$message.warning(res.message) |
| | |
| | | }) |
| | | }, |
| | | |
| | | // æ§å¶éæ©è®¾å¤å¼¹çªå¼¹åº |
| | | handleOpenEamEquipmentListModal() { |
| | | this.$refs.eamEquipmentListModal.visible = true |
| | | this.$refs.eamEquipmentListModal.openPage() |
| | | }, |
| | | |
| | | setSelectedEquipmentId(record) { |
| | | this.$set(this.queryParam, 'num', record.num) |
| | | }, |
| | | |
| | | exportExcel() { |
| | | if (!this.tableElement) this.$message.warning('请æ¥è¯¢ååè¿è¡å¯¼åº') |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal :title="title" :width="1000" :visible="visible" :maskClosable="false" @ok="handleOk" @cancel="handleCancel" |
| | | cancelText="å
³é"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="7" :sm="7"> |
| | | <a-form-item label="ç»ä¸ç¼ç "> |
| | | <a-input placeholder="请è¾å
¥ç»ä¸ç¼ç " v-model="queryParam.num"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="7" :sm="7"> |
| | | <a-form-item label="设å¤åç§°"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤åç§°" v-model="queryParam.name"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="3" :sm="3"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button @click="searchReset" icon="reload">éç½®</a-button> |
| | | </a-space> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | | <a-table bordered rowKey="id" :scroll="{Â y: 300Â }" :columns="columns" :customRow="customRow" |
| | | :dataSource="dataSource" :pagination="ipagination" :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" |
| | | @change="handleTableChange"> |
| | | </a-table> |
| | | </div> |
| | | <!-- tableåºå-end --> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAction } from '@/api/manage' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { filterObj } from '@/utils/util' |
| | | |
| | | export default { |
| | | name: 'EamEquipmentListModal', |
| | | mixins: [JeecgListMixin], |
| | | data() { |
| | | return { |
| | | title: 'éæ©è®¾å¤', |
| | | visible: false, |
| | | disableMixinCreated: true, |
| | | columns: [ |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'num' |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'name' |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: 'center', |
| | | dataIndex: 'useId_dictText' |
| | | }, |
| | | { |
| | | title: 'ä¸å¿', |
| | | align: 'center', |
| | | dataIndex: 'workCenterId_dictText' |
| | | }, |
| | | { |
| | | title: 'å·¥åº', |
| | | align: 'center', |
| | | dataIndex: 'factoryModelId_dictText' |
| | | }, |
| | | { |
| | | title: '工段', |
| | | align: 'center', |
| | | dataIndex: 'areaId_dictText' |
| | | }, |
| | | ], |
| | | url: { |
| | | list: '/eam/equipment/getEquipmentTZList' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | openPage() { |
| | | this.visible = true |
| | | this.onClearSelected() |
| | | this.dataSource = [] |
| | | this.loadData(1) |
| | | }, |
| | | |
| | | getQueryParams() { |
| | | //è·åæ¥è¯¢æ¡ä»¶ |
| | | let sqp = {} |
| | | if (this.superQueryParams) { |
| | | sqp['superQueryParams'] = encodeURI(this.superQueryParams) |
| | | sqp['superQueryMatchType'] = this.superQueryMatchType |
| | | } |
| | | const param = Object.assign(sqp, this.queryParam) |
| | | param.pageNo = this.ipagination.current |
| | | param.pageSize = this.ipagination.pageSize |
| | | |
| | | return filterObj(param) |
| | | }, |
| | | |
| | | loadData(arg) { |
| | | if (!this.url.list) { |
| | | this.$message.error('请设置url.list屿§!') |
| | | return |
| | | } |
| | | //å è½½æ°æ® è¥ä¼ å
¥åæ°1åå 载第ä¸é¡µçå
容 |
| | | if (arg === 1) { |
| | | this.ipagination.current = 1 |
| | | } |
| | | const params = this.getQueryParams()//æ¥è¯¢æ¡ä»¶ |
| | | |
| | | if (!params) { |
| | | return false |
| | | } |
| | | |
| | | this.loading = true |
| | | getAction(this.url.list, params).then((res) => { |
| | | if (res.success) { |
| | | this.dataSource = res.result.records || res.result |
| | | if (res.result.total) { |
| | | this.ipagination.total = res.result.total |
| | | } else { |
| | | this.ipagination.total = 0 |
| | | } |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | customRow(record) { |
| | | return { |
| | | style: { |
| | | cursor: 'pointer' |
| | | }, |
| | | on: { |
| | | click: () => { |
| | | this.onSelectChange([record.id], [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | modalFormOk(val) { |
| | | // æ°å¢/ä¿®æ¹ æåæ¶ï¼éè½½å表 |
| | | this.loadData() |
| | | this.selectedRowKeys = [val.id] |
| | | }, |
| | | searchQuery() { |
| | | this.loadData() |
| | | this.onClearSelected() |
| | | }, |
| | | searchReset() { |
| | | this.queryParam = {} |
| | | this.loadData() |
| | | this.onClearSelected() |
| | | }, |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | handleOk() { |
| | | this.$emit('sendSelectionRows', this.selectionRows[0]) |
| | | this.close() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | | <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{Â y: 300Â }" :columns="columns" |
| | | <a-table ref="table" size="middle" bordered rowKey="equipmentid" :scroll="{Â y: 300Â }" :columns="columns" |
| | | :dataSource="dataSource" :pagination="ipagination" :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" |
| | | @change="handleTableChange"> |
| | | @change="handleTableChange" :customRow="customRow"> |
| | | </a-table> |
| | | </div> |
| | | <!-- tableåºå-end --> |
| | |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import JDate from '@/components/jeecg/JDate' |
| | | import moment from 'moment' |
| | | import { filterObj } from '@/utils/util'; |
| | | import { filterObj } from '@/utils/util' |
| | | |
| | | export default { |
| | | name: 'DeviceListModel', |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | title:'', |
| | | title: '', |
| | | visible: false, |
| | | disableMixinCreated: true, |
| | | queryParam: {}, |
| | | columns: [{ |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'equipmentid', |
| | | dataIndex: 'equipmentid' |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'equipmentname', |
| | | dataIndex: 'equipmentname' |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | align: 'center', |
| | | dataIndex: 'equipmentmodel', |
| | | dataIndex: 'equipmentmodel' |
| | | }, |
| | | // { |
| | | // title: '设å¤ç±»å', |
| | |
| | | { |
| | | title: 'æºåºIP', |
| | | align: 'center', |
| | | dataIndex: 'equipmentip', |
| | | dataIndex: 'equipmentip' |
| | | }, |
| | | { |
| | | title: '驱å¨ç±»å', |
| | | align: 'center', |
| | | dataIndex: 'drivetype', |
| | | dataIndex: 'drivetype' |
| | | }, |
| | | { |
| | | title: '端å£', |
| | | align: 'center', |
| | | dataIndex: 'dataport', |
| | | dataIndex: 'dataport' |
| | | }, |
| | | { |
| | | title: 'æ°æ§ç³»ç»', |
| | | align: 'center', |
| | | dataIndex: 'controlsystem', |
| | | dataIndex: 'controlsystem' |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/mdc/equipment/list', |
| | | }, |
| | | list: '/mdc/equipment/list' |
| | | } |
| | | |
| | | } |
| | | }, |
| | |
| | | openPage() { |
| | | this.visible = true |
| | | this.onClearSelected() |
| | | this.dataSource = []; |
| | | this.dataSource = [] |
| | | // this.queryParam = { |
| | | // status: this.status |
| | | // }; |
| | | this.loadData(); |
| | | this.loadData() |
| | | }, |
| | | getQueryParams() { |
| | | //è·åæ¥è¯¢æ¡ä»¶ |
| | | let sqp = {} |
| | | if(this.superQueryParams){ |
| | | sqp['superQueryParams']=encodeURI(this.superQueryParams) |
| | | if (this.superQueryParams) { |
| | | sqp['superQueryParams'] = encodeURI(this.superQueryParams) |
| | | sqp['superQueryMatchType'] = this.superQueryMatchType |
| | | } |
| | | var param = Object.assign(sqp, this.queryParam); |
| | | var param = Object.assign(sqp, this.queryParam) |
| | | // param.field = this.getQueryField(); |
| | | param.pageNo = this.ipagination.current; |
| | | param.pageSize = this.ipagination.pageSize; |
| | | param.pageNo = this.ipagination.current |
| | | param.pageSize = this.ipagination.pageSize |
| | | //è·åç¨æ·å®å¶ç忰屿§ |
| | | // if (this.getCustomQueryParams) { |
| | | // param = this.getCustomQueryParams(param); |
| | |
| | | // } |
| | | // } |
| | | |
| | | return filterObj(param); |
| | | return filterObj(param) |
| | | }, |
| | | loadData(arg) { |
| | | if(!this.url.list){ |
| | | this.$message.error("请设置url.list屿§!") |
| | | if (!this.url.list) { |
| | | this.$message.error('请设置url.list屿§!') |
| | | return |
| | | } |
| | | //å è½½æ°æ® è¥ä¼ å
¥åæ°1åå 载第ä¸é¡µçå
容 |
| | | if (arg === 1) { |
| | | this.ipagination.current = 1; |
| | | this.ipagination.current = 1 |
| | | } |
| | | var params = this.getQueryParams();//æ¥è¯¢æ¡ä»¶ |
| | | var params = this.getQueryParams()//æ¥è¯¢æ¡ä»¶ |
| | | |
| | | if(!params){ |
| | | return false; |
| | | if (!params) { |
| | | return false |
| | | } |
| | | |
| | | this.loading = true; |
| | | this.loading = true |
| | | getAction(this.url.list, params).then((res) => { |
| | | if (res.success) { |
| | | // console.log(res) |
| | | //update-begin---author:zhangyafei Date:20201118 forï¼éé
ä¸åé¡µçæ°æ®å表------------ |
| | | this.dataSource = res.result.records||res.result; |
| | | if(res.result.total) |
| | | { |
| | | this.ipagination.total = res.result.total; |
| | | }else{ |
| | | this.ipagination.total = 0; |
| | | this.dataSource = res.result.records || res.result |
| | | if (res.result.total) { |
| | | this.ipagination.total = res.result.total |
| | | } else { |
| | | this.ipagination.total = 0 |
| | | } |
| | | //update-end---author:zhangyafei Date:20201118 forï¼éé
ä¸åé¡µçæ°æ®å表------------ |
| | | }else{ |
| | | } else { |
| | | // this.$message.warning(res.message) |
| | | this.$notification.warning({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | |
| | | // }); |
| | | // return str; |
| | | }, |
| | | customRow(record) { |
| | | return { |
| | | style: { |
| | | cursor: 'pointer' |
| | | }, |
| | | on: { |
| | | click: () => { |
| | | console.log('触åç¹å»') |
| | | this.onSelectChange([record.equipmentid], [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | modalFormOk(val) { |
| | | // æ°å¢/ä¿®æ¹ æåæ¶ï¼éè½½å表 |
| | | this.loadData(); |
| | | this.selectedRowKeys = [val.id]; |
| | | this.loadData() |
| | | this.selectedRowKeys = [val.id] |
| | | }, |
| | | searchQuery() { |
| | | this.loadData(); |
| | | this.loadData() |
| | | this.onClearSelected() |
| | | }, |
| | | searchReset() { |
| | | this.queryParam = {} |
| | | this.loadData(); |
| | | this.loadData() |
| | | this.onClearSelected() |
| | | }, |
| | | close() { |
| | |
| | | handleOk() { |
| | | this.$emit('sendSelectionRows', this.selectionRows[0]) |
| | | this.close() |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | |
| | | </a-col> |
| | | <a-col :md="6" :sm="6"> |
| | | <a-form-item label="æ¶é´"> |
| | | <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" |
| | | <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" |
| | | @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange" |
| | | format="YYYYMMDD" v-model="dates" |
| | | :allowClear="false"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!-- <a-col :md="5" :sm="5" :xs="5">--> |
| | | <!-- <a-form-item label="设å¤ç§ç±»">--> |
| | | <!-- <a-select--> |
| | | <!-- :value="queryParams.deviceCategory"--> |
| | | <!-- mode="multiple"--> |
| | | <!-- placeholder="è¯·éæ©è®¾å¤ç§ç±»"--> |
| | | <!-- allow-clear--> |
| | | <!-- :maxTagCount="1"--> |
| | | <!-- @change="selectChange($event,'deviceCategory')"--> |
| | | <!-- >--> |
| | | <!-- <a-select-option v-for="(item,index) in device_category_list" :value="item.value" :key="index">--> |
| | | <!-- {{item.label}}--> |
| | | <!-- </a-select-option>--> |
| | | <!-- </a-select>--> |
| | | <!-- </a-form-item>--> |
| | | <!-- </a-col>--> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | | <a-form-item label="设å¤çº§å«"> |
| | | <a-select |
| | |
| | | <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-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'EfficiencyPO:feedback'">å¼å¸¸åé¦</a-button> |
| | | <a-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'EfficiencyPO:feedback'"> |
| | | å¼å¸¸åé¦ |
| | | </a-button> |
| | | <a-button type="primary" icon="printer" v-print="'#EfficiencyPO'" |
| | | v-has="'EfficiencyPO:print'">æå° |
| | | </a-button> |
| | |
| | | queryParams: { |
| | | equipmentType: [], |
| | | driveType: [], |
| | | deviceLevel: [], |
| | | deviceLevel: [] |
| | | }, |
| | | queryParamEquip: {}, |
| | | queryParamPeople: {}, |
| | |
| | | tableHeads: [], |
| | | spinning: false, |
| | | toggleSearchStatus: false, |
| | | modalVisible: false// å¼å¸¸åé¦å¼¹çªæ¯å¦å¼¹åº |
| | | modalVisible: false,// å¼å¸¸åé¦å¼¹çªæ¯å¦å¼¹åº |
| | | preSelectFirstDate: null |
| | | } |
| | | }, |
| | | props: { nodeTree: '', Type: '', nodePeople: '' }, |
| | |
| | | }, |
| | | // åå¹¶ |
| | | combineCell() { |
| | | console.log(this.dataList) |
| | | let list = this.dataList |
| | | for (let field in list[0]) { |
| | | var k = 0 |
| | |
| | | } |
| | | return list |
| | | }, |
| | | disabledDate(current) { |
| | | //Can not slect days before today and today |
| | | return current && current > moment().subtract('days', 1) |
| | | |
| | | /** |
| | | * æ¶é´éæ©å¨é¢æ¿ä¸çå¼åçæ¹åæ¶è§¦å |
| | | * @param dates 颿¿ä¸ç两个å¼ç»æçæ°ç» |
| | | */ |
| | | handleCalendarChange(dates) { |
| | | if (dates.length === 1) this.preSelectFirstDate = dates[0] |
| | | }, |
| | | |
| | | /** |
| | | * æ§å¶æ¶é´éæ©å¨é¢æ¿å¼å¯ä¸å
³é |
| | | * @param status å¼å¯ç¶æ |
| | | */ |
| | | handleCalendarOpenChange(status) { |
| | | if (status) this.preSelectFirstDate = null |
| | | }, |
| | | |
| | | /** |
| | | * 颿¿ä¸ç¦æ¢éæ©çæ¥æ |
| | | * @param current ç¦æ¢çæ¶é´èå´ |
| | | */ |
| | | disabledDate(current) { |
| | | if (!this.preSelectFirstDate) { |
| | | return current > moment().startOf('days') |
| | | } else { |
| | | return current < moment(this.preSelectFirstDate).subtract(365, 'days').startOf('days') |
| | | || current > moment().startOf('days') |
| | | || current > moment(this.preSelectFirstDate).add(365, 'days').endOf('days') |
| | | } |
| | | }, |
| | | |
| | | initDeviceType(deviceList) { |
| | | let dictCode = 'mdc_equipmentType' |
| | | let items = [] |
| | |
| | | dateParamChange(v1, v2) { |
| | | this.queryParam.startTime = v2[0] |
| | | this.queryParam.endTime = v2[1] |
| | | // ç¹å»æ¶é´éæ©å¨çæ¸
空æé®æ¶ä¼è§¦åæ¤å¤æ(ç¹å»éç½®æé®ä¸ä¼è§¦å)ï¼å®ç°éç½®å表åè½ï¼å宿¹åå表æ¾ç¤ºææ |
| | | if (!this.queryParam.startTime && !this.queryParam.endTime) this.searchReset() |
| | | }, |
| | | efficiencyOptionsOnChange(checkedList) { |
| | | // let index = checkedList.indexOf('lyl') |
| | | // if (index < 0) { |
| | | // // this.$message.warn('ä¸è½åæ¶æ¥è¯¢å©ç¨ç') |
| | | // this.$notification.warning({ |
| | | // message:'æ¶æ¯', |
| | | // description:"ä¸è½åæ¶æ¥è¯¢å©ç¨ç" |
| | | // }) |
| | | // return false |
| | | // } |
| | | this.checkedList = checkedList |
| | | }, |
| | | searchQuery() { |
| | |
| | | this.queryParams = { |
| | | equipmentType: [], |
| | | driveType: [], |
| | | deviceLevel: [], |
| | | deviceLevel: [] |
| | | } |
| | | this.loadData() |
| | | }, |
| | |
| | | this.dataList = [] |
| | | getAction(this.url.list, this.queryParam).then(res => { |
| | | if (res.success) { |
| | | // console.log(res.result) |
| | | this.tableHeads = res.result.dates |
| | | this.dataList = res.result.mdcEfficiencyList |
| | | if (res.result.mdcEfficiencyList && !res.result.mdcEfficiencyList.length) { |
| | |
| | | </a-col> |
| | | <a-col :md="6" :sm="6"> |
| | | <a-form-item label="æ¶é´"> |
| | | <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" |
| | | <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" |
| | | @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange" |
| | | format="YYYYMMDD" |
| | | v-model="dates" :allowClear="false"/> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | <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-button type="primary" @click="exportOneYearExcel('设å¤TEEP')" icon="download">å¤§æ°æ®å¯¼åº</a-button>--> |
| | | <a-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiency:feedback'">å¼å¸¸åé¦</a-button> |
| | | <a-button type="primary" @click="exportLongTimeExcel('设å¤TEEP')" icon="download">å¤§æ°æ®å¯¼åº</a-button> |
| | | <a-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiency:feedback'"> |
| | | å¼å¸¸åé¦ |
| | | </a-button> |
| | | <a-button type="primary" icon="printer" v-print="'#Efficiency'" |
| | | v-has="'efficiency:print'">æå° |
| | | </a-button> |
| | |
| | | list: '/mdc/efficiencyReport/efficiencyList', |
| | | listByType: '/mdc/MdcUtilizationRate/getByType', |
| | | queryEquipmentType: '/mdc/mdcEquipmentType/queryEquipmentType', |
| | | exportOneYearXlsUrl: '' |
| | | exportLongTimeXlsUrl: '/mdc/efficiencyReport/exportEfficiencyXls' |
| | | }, |
| | | tableHeads: [], |
| | | utilizationRateRowAverage: '', |
| | |
| | | requestAllDataSize: 8,// æ»å
±è¯·æ±çå表项æ°ç®(é»è®¤å¼ä¸ºé»è®¤æ¥æçå·®å¼+1) |
| | | everyRequestDataSize: 15,// æ¯æ¬¡è¯·æ±çå表项æ°ç® |
| | | toggleSearchStatus: false, |
| | | modalVisible: false// å¼å¸¸åé¦å¼¹çªæ¯å¦å¼¹åº |
| | | modalVisible: false,// å¼å¸¸åé¦å¼¹çªæ¯å¦å¼¹åº |
| | | preSelectFirstDate: null |
| | | } |
| | | }, |
| | | props: { nodeTree: '', Type: '', nodePeople: '' }, |
| | |
| | | } |
| | | return list |
| | | }, |
| | | disabledDate(current) { |
| | | //Can not slect days before today and today |
| | | return current && current > moment().subtract('days', 1) |
| | | |
| | | dateParamChange(v1, v2) { |
| | | this.queryParam.startTime = v2[0] |
| | | this.queryParam.endTime = v2[1] |
| | | }, |
| | | |
| | | /** |
| | | * æ¶é´éæ©å¨é¢æ¿ä¸çå¼åçæ¹åæ¶è§¦å |
| | | * @param dates 颿¿ä¸ç两个å¼ç»æçæ°ç» |
| | | */ |
| | | handleCalendarChange(dates) { |
| | | if (dates.length === 1) this.preSelectFirstDate = dates[0] |
| | | }, |
| | | |
| | | /** |
| | | * æ§å¶æ¶é´éæ©å¨é¢æ¿å¼å¯ä¸å
³é |
| | | * @param status å¼å¯ç¶æ |
| | | */ |
| | | handleCalendarOpenChange(status) { |
| | | if (status) this.preSelectFirstDate = null |
| | | }, |
| | | |
| | | /** |
| | | * 颿¿ä¸ç¦æ¢éæ©çæ¥æ |
| | | * @param current ç¦æ¢çæ¶é´èå´ |
| | | */ |
| | | disabledDate(current) { |
| | | if (!this.preSelectFirstDate) { |
| | | return current > moment().startOf('days') |
| | | } else { |
| | | return current < moment(this.preSelectFirstDate).subtract(365, 'days').startOf('days') |
| | | || current > moment().startOf('days') |
| | | || current > moment(this.preSelectFirstDate).add(365, 'days').endOf('days') |
| | | } |
| | | }, |
| | | |
| | | exportExcel() { |
| | | $('#Efficiency').table2excel({ |
| | | exclude: '.noExl', |
| | |
| | | exclude_inputs: false |
| | | }) |
| | | }, |
| | | exportOneYearExcel(fileName) { |
| | | exportLongTimeExcel(fileName) { |
| | | // let param = this.getQueryParams() |
| | | // console.log('导åºåæ°', param) |
| | | downFile(this.url.exportOneYearXlsUrl) |
| | | const param = { |
| | | startTime: moment(this.dates[0]).format('YYYYMMDD'), |
| | | endTime: moment(this.dates[1]).format('YYYYMMDD') |
| | | } |
| | | downFile(this.url.exportLongTimeXlsUrl, param) |
| | | .then((data) => { |
| | | if (!data) { |
| | | this.$notification.warning({ |
| | |
| | | this.identifying = res.result |
| | | } |
| | | }) |
| | | }, |
| | | dateParamChange(v1, v2) { |
| | | this.queryParam.startTime = v2[0] |
| | | this.queryParam.endTime = v2[1] |
| | | this.dates = [v1[0], v1[1]] |
| | | }, |
| | | efficiencyOptionsOnChange(checkedList) { |
| | | this.checkedList = checkedList |
| | |
| | | </a-col> |
| | | <a-col :md="4" :sm="4" :xs="4"> |
| | | <a-form-item label="æ¶é´"> |
| | | <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" |
| | | <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" |
| | | @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange" |
| | | format="YYYYMMDD" |
| | | v-model="dates" :allowClear="false"/> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24" v-if="toggleSearchStatus"> |
| | | <!-- <a-col :md="5" :sm="5" :xs="5">--> |
| | | <!-- <a-form-item label="设å¤ç§ç±»">--> |
| | | <!-- <a-select--> |
| | | <!-- :value="queryParams.deviceCategory"--> |
| | | <!-- mode="multiple"--> |
| | | <!-- placeholder="è¯·éæ©è®¾å¤ç§ç±»"--> |
| | | <!-- allow-clear--> |
| | | <!-- :maxTagCount="1"--> |
| | | <!-- @change="selectChange($event,'deviceCategory')"--> |
| | | <!-- >--> |
| | | <!-- <a-select-option v-for="(item,index) in device_category_list" :value="item.value" :key="index">--> |
| | | <!-- {{item.label}}--> |
| | | <!-- </a-select-option>--> |
| | | <!-- </a-select>--> |
| | | <!-- </a-form-item>--> |
| | | <!-- </a-col>--> |
| | | <a-col :md="5" :sm="5" :xs="5"> |
| | | <a-form-item label="设å¤çº§å«"> |
| | | <a-select |
| | |
| | | <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-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiencyShiftReport:feedback'">å¼å¸¸åé¦</a-button> |
| | | <a-button type="primary" @click="handleShowFeedbackModal" icon="plus" |
| | | v-has="'efficiencyShiftReport:feedback'">å¼å¸¸åé¦ |
| | | </a-button> |
| | | <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'" |
| | | v-has="'efficiencyShiftReport:print'">æå° |
| | | </a-button> |
| | |
| | | shiftSubList: [], |
| | | spinning: false, |
| | | toggleSearchStatus: false, |
| | | modalVisible: false// å¼å¸¸åé¦å¼¹çªæ¯å¦å¼¹åº |
| | | modalVisible: false,// å¼å¸¸åé¦å¼¹çªæ¯å¦å¼¹åº |
| | | preSelectFirstDate: null |
| | | } |
| | | }, |
| | | props: { nodeTree: '', Type: '', nodePeople: '' }, |
| | |
| | | } |
| | | return list |
| | | }, |
| | | disabledDate(current) { |
| | | //Can not slect days before today and today |
| | | return current && current > moment().subtract('days', 1) |
| | | |
| | | /** |
| | | * æ¶é´éæ©å¨é¢æ¿ä¸çå¼åçæ¹åæ¶è§¦å |
| | | * @param dates 颿¿ä¸ç两个å¼ç»æçæ°ç» |
| | | */ |
| | | handleCalendarChange(dates) { |
| | | if (dates.length === 1) this.preSelectFirstDate = dates[0] |
| | | }, |
| | | |
| | | /** |
| | | * æ§å¶æ¶é´éæ©å¨é¢æ¿å¼å¯ä¸å
³é |
| | | * @param status å¼å¯ç¶æ |
| | | */ |
| | | handleCalendarOpenChange(status) { |
| | | if (status) this.preSelectFirstDate = null |
| | | }, |
| | | |
| | | /** |
| | | * 颿¿ä¸ç¦æ¢éæ©çæ¥æ |
| | | * @param current ç¦æ¢çæ¶é´èå´ |
| | | */ |
| | | disabledDate(current) { |
| | | if (!this.preSelectFirstDate) { |
| | | return current > moment().startOf('days') |
| | | } else { |
| | | return current < moment(this.preSelectFirstDate).subtract(365, 'days').startOf('days') |
| | | || current > moment().startOf('days') |
| | | || current > moment(this.preSelectFirstDate).add(365, 'days').endOf('days') |
| | | } |
| | | }, |
| | | |
| | | initDeviceType(deviceList) { |
| | | let dictCode = 'mdc_equipmentType' |
| | | let items = [] |
| | |
| | | dateParamChange(v1, v2) { |
| | | this.queryParam.startTime = v2[0] |
| | | this.queryParam.endTime = v2[1] |
| | | // ç¹å»æ¶é´éæ©å¨çæ¸
空æé®æ¶ä¼è§¦åæ¤å¤æ(ç¹å»éç½®æé®ä¸ä¼è§¦å)ï¼å®ç°éç½®å表åè½ï¼å宿¹åå表æ¾ç¤ºææ |
| | | // if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset() |
| | | }, |
| | | efficiencyOptionsOnChange(checkedList) { |
| | | this.checkedList = checkedList |
| | |
| | | if (this.queryParams[item].length === 0) delete this.queryParam[item] |
| | | }) |
| | | this.loadData() |
| | | // this.onClearSelected() |
| | | }, |
| | | searchReset() { |
| | | this.typeTree = this.queryParam.typeTree |