From 4ba27c99841134d0389589af25737fa1ce3aa3c7 Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期五, 05 九月 2025 11:14:17 +0800 Subject: [PATCH] 设备台账统计 --- src/views/eam/equipment/EamEquipmentList.vue | 1186 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 563 insertions(+), 623 deletions(-) diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue index 9686308..4cc5160 100644 --- a/src/views/eam/equipment/EamEquipmentList.vue +++ b/src/views/eam/equipment/EamEquipmentList.vue @@ -102,12 +102,12 @@ :md="8" :sm="24" > - <a-form-item label="鏈哄簥鍘傚"> - <a-input - placeholder="璇疯緭鍏ユ満搴婂巶瀹�" - v-model="queryParam.manufacturingEnterprise" - ></a-input> - </a-form-item> + <a-form-item label="鏈哄簥鍘傚"> + <a-input + placeholder="璇疯緭鍏ユ満搴婂巶瀹�" + v-model="queryParam.manufacturingEnterprise" + ></a-input> + </a-form-item> </a-col> <a-col :xl="6" @@ -115,12 +115,12 @@ :md="8" :sm="24" > - <a-form-item label="鍘熷��(鍏�)"> - <a-input - placeholder="璇疯緭鍏ュ師鍊�(鍏�)" - v-model="queryParam.originalValue" - ></a-input> - </a-form-item> + <a-form-item label="鍘熷��(鍏�)"> + <a-input + placeholder="璇疯緭鍏ュ師鍊�(鍏�)" + v-model="queryParam.originalValue" + ></a-input> + </a-form-item> </a-col> <a-col :xl="6" @@ -128,12 +128,12 @@ :md="8" :sm="24" > - <a-form-item label="鎬ц兘鎸囨爣"> - <a-input - placeholder="璇疯緭鍏ユ�ц兘鎸囨爣" - v-model="queryParam.performanceIndicators" - ></a-input> - </a-form-item> + <a-form-item label="鎬ц兘鎸囨爣"> + <a-input + placeholder="璇疯緭鍏ユ�ц兘鎸囨爣" + v-model="queryParam.performanceIndicators" + ></a-input> + </a-form-item> </a-col> <a-col :xl="6" @@ -200,7 +200,7 @@ style="margin-left: 8px" > {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} - <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> </a> </span> </a-col> @@ -215,12 +215,14 @@ @click="handleAdd" type="primary" icon="plus" - >鏂板</a-button> + >鏂板 + </a-button> <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" - >瀵煎嚭</a-button> + >瀵煎嚭 + </a-button> <a-upload name="file" :showUploadList="false" @@ -232,13 +234,20 @@ <a-button type="primary" icon="import" - >瀵煎叆</a-button> + >瀵煎叆 + </a-button> </a-upload> <a-button type="primary" icon="download" @click="handleTemplateXlsDownload" - >瀵煎叆妯℃澘涓嬭浇</a-button> + >瀵煎叆妯℃澘涓嬭浇 + </a-button> + <a-button + @click="EquipmentCategoryStatistics" + type="primary" + icon="area-chart" + >鍙拌处缁熻</a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> <!-- <a-menu-item key="1" @click="handleOpenNameplateModal(selectionRows)">--> @@ -250,12 +259,12 @@ @click="batchDel" v-if="isShowAuth('eam:equipment:delete')" > - <a-icon type="delete" /> + <a-icon type="delete"/> 鍒犻櫎 </a-menu-item> </a-menu> <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 - <a-icon type="down" /> + <a-icon type="down"/> </a-button> </a-dropdown> </div> @@ -266,7 +275,8 @@ class="ant-alert ant-alert-info" style="margin-bottom: 16px;" > - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ + selectedRowKeys.length }}</a>椤� <a style="margin-left: 24px" @click="onSelectChange([])" @@ -281,63 +291,42 @@ :dataSource="dataSource" :pagination="ipagination" :loading="loading" - :scroll="{ x: 'max-content' }" + :scroll="{ x: 'max-content',y:465 }" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange" :customRow="customTableRow" > - <span - slot="processParametersFlag" - slot-scope="text" - > - <lx-switch - v-model="text" - disabled - checked-children="鏈�" - un-checked-children="鏃�" - /> + + <!--闇�瑕佽秴鍑虹渷鐣ョ殑瀛楁--> + <template slot="ellipsisText" slot-scope="text"> + <template v-if="(text&&text.length<=6)||!text">{{text}}</template> + <j-ellipsis v-else :value="text" :length="6"/> + </template> + + <span slot="processParametersFlag" slot-scope="text"> + <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/> </span> - <span - slot="precisionParametersFlag" - slot-scope="text" - > - <lx-switch - v-model="text" - disabled - checked-children="鏈�" - un-checked-children="鏃�" - /> + <span slot="precisionParametersFlag" slot-scope="text"> + <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/> </span> - <span - slot="action" - slot-scope="text, record" - > + <span slot="action" slot-scope="text, record"> <a @click.stop="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical" /> + <a-divider type="vertical"/> <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a> <a-menu slot="overlay"> <!-- <a-menu-item>--> <!-- <a href="javascript:;" @click="handleOpenNameplateModal([record])">閾墝</a>--> <!-- </a-menu-item>--> <a-menu-item> - <a - href="javascript:;" - @click="handleOpenResumeDrawer(record)" - >灞ュ巻</a> + <a href="javascript:;" @click="handleOpenResumeDrawer(record)">灞ュ巻</a> </a-menu-item> <a-menu-item> - <a - href="javascript:;" - @click="handleDetail(record)" - >璇︽儏</a> + <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a> </a-menu-item> <a-menu-item v-if="isShowAuth('eam:equipment:delete')"> - <a-popconfirm - title="纭畾鍒犻櫎鍚�?" - @confirm="() => handleDelete(record.id)" - > + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> <a>鍒犻櫎</a> </a-popconfirm> </a-menu-item> @@ -349,602 +338,553 @@ </div> <!-- table鍖哄煙-end --> - <a-tabs - v-model="activeTabKey" - @change="handleTabChange" - > - <a-tab-pane - tab="璁惧鏂囨。" - :key="1" - > - <eam-equipment-attachment-list ref="tabPaneTableListRef1" /> + <a-tabs v-model="activeTabKey" @change="handleTabChange"> + <a-tab-pane tab="璁惧鏂囨。" :key="1"> + <eam-equipment-attachment-list ref="tabPaneTableListRef1"/> </a-tab-pane> - <a-tab-pane - tab="鐐规宸ュ崟" - :key="2" - > - <eam-inspection-order-list - ref="tabPaneTableListRef2" - :isDisplayOperation="false" - /> + <a-tab-pane tab="鐐规宸ュ崟" :key="2"> + <eam-inspection-order-list ref="tabPaneTableListRef2" :isDisplayOperation="false"/> </a-tab-pane> - <!-- <a-tab-pane tab="鍛ㄤ繚宸ュ崟" :key="3"> - <eam-week-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false"/> - </a-tab-pane>--> - <a-tab-pane - tab="浜屼繚宸ュ崟" - :key="3" - > - <eam-second-maintenance-order-list - ref="tabPaneTableListRef3" - :isDisplayOperation="false" - /> + <a-tab-pane tab="浜屼繚宸ュ崟" :key="3"> + <eam-second-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false"/> </a-tab-pane> - <a-tab-pane - tab="涓変繚宸ュ崟" - :key="4" - > - <eam-third-maintenance-order-list - ref="tabPaneTableListRef4" - :isDisplayOperation="false" - /> + <a-tab-pane tab="涓変繚宸ュ崟" :key="4"> + <eam-third-maintenance-order-list ref="tabPaneTableListRef4" :isDisplayOperation="false"/> </a-tab-pane> - <a-tab-pane - tab="缁翠慨宸ュ崟" - :key="5" - > - <eam-repair-order-list - ref="tabPaneTableListRef5" - :isDisplayOperation="false" - /> + <a-tab-pane tab="缁翠慨宸ュ崟" :key="5"> + <eam-repair-order-list ref="tabPaneTableListRef5" :isDisplayOperation="false"/> </a-tab-pane> - <a-tab-pane - tab="淇濆吇鏍囧噯" - :key="6" - > - <eam-maintenance-standard-list - ref="tabPaneTableListRef6" - :isDisplayOperation="false" - /> + <a-tab-pane tab="淇濆吇鏍囧噯" :key="6"> + <eam-maintenance-standard-list ref="tabPaneTableListRef6" :isDisplayOperation="false"/> </a-tab-pane> - <a-tab-pane - tab="宸ヨ壓鍙傛暟" - :key="7" - v-if="isOpenProcess" - > - <eam-equipment-process-list - ref="tabPaneTableListRef7" - :isDisplayOperation="false" - /> + <a-tab-pane tab="宸ヨ壓鍙傛暟" :key="7" v-if="isOpenProcess"> + <eam-equipment-process-list ref="tabPaneTableListRef7" :isDisplayOperation="false"/> </a-tab-pane> - <a-tab-pane - tab="璁惧绮惧害" - :key="8" - v-if="isOpenPrecision" - > - <eam-equipment-precision-list - ref="tabPaneTableListRef8" - :isDisplayOperation="false" - /> + <a-tab-pane tab="璁惧绮惧害" :key="8" v-if="isOpenPrecision"> + <eam-equipment-precision-list ref="tabPaneTableListRef8" :isDisplayOperation="false"/> </a-tab-pane> - <a-tab-pane - tab="璁惧娌规恫" - :key="9" - > - <eam-equipment-fluid-list - ref="tabPaneTableListRef9" - :isDisplayOperation="false" - /> + <a-tab-pane tab="璁惧娌规恫" :key="9"> + <eam-equipment-fluid-list ref="tabPaneTableListRef9" :isDisplayOperation="false"/> </a-tab-pane> </a-tabs> <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipment-modal - ref="modalForm" - @ok="modalFormOk" - ></eamEquipment-modal> + <eamEquipment-modal ref="modalForm" @ok="modalFormOk"/> <!--閾墝寮圭獥--> - <nameplate-modal - ref="nameplateModalRef" - :printedRows="printedRows" - /> + <nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/> <!--灞ュ巻寮圭獥--> - <resume-drawer - ref="resumeDrawerRef" - :currentTableRowRecord="currentTableRowRecord" - /> + <resume-drawer ref="resumeDrawerRef" :currentTableRowRecord="currentTableRowRecord"/> + <!--鍙拌处缁熻--> + <equipment-category-statistics-list ref="EquipmentCategoryStatistics"/> + </a-card> </template> <script> -import '@/assets/less/TableExpand.less' -import EamEquipmentModal from './modules/EamEquipmentModal' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { getAction, templateXlsDownload } from '@api/manage' -import NameplateModal from '@views/eam/equipment/modules/NameplateModal.vue' -import { getSystemConfigValue } from '@api/api' -import ResumeDrawer from '@views/eam/equipment/modules/ResumeDrawer.vue' -import EamMaintenanceStandardList from '@views/eam/base/EamMaintenanceStandardList.vue' -import EamRepairOrderList from '../repair/EamRepairOrderList' -import EamInspectionOrderList from '../maintenance/EamInspectionOrderList' -import EamEquipmentAttachmentList from '@views/eam/equipment/EamEquipmentAttachmentList.vue' -// import EamWeekMaintenanceOrderList from '@views/eam/maintenance/EamWeekMaintenanceOrderList.vue' -import EamEquipmentProcessList from '@views/eam/equipment/modules/EamEquipmentProcessList.vue' -import EamEquipmentPrecisionList from '@views/eam/equipment/modules/EamEquipmentPrecisionList.vue' -import EamSecondMaintenanceOrderList from '@views/eam/maintenance/EamSecondMaintenanceOrderList.vue' -import EamThirdMaintenanceOrderList from '@views/eam/maintenance/EamThirdMaintenanceOrderList.vue' -import EamEquipmentFluidList from '@views/eam/equipment/modules/EamEquipmentFluidList.vue' + import '@/assets/less/TableExpand.less' + import EamEquipmentModal from './modules/EamEquipmentModal' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { getAction, templateXlsDownload } from '@api/manage' + import NameplateModal from '@views/eam/equipment/modules/NameplateModal.vue' + import { getSystemConfigValue } from '@api/api' + import ResumeDrawer from '@views/eam/equipment/modules/ResumeDrawer.vue' + import EamMaintenanceStandardList from '@views/eam/base/EamMaintenanceStandardList.vue' + import EamRepairOrderList from '../repair/EamRepairOrderList' + import EamInspectionOrderList from '../maintenance/EamInspectionOrderList' + import EamEquipmentAttachmentList from '@views/eam/equipment/EamEquipmentAttachmentList.vue' + import EamEquipmentProcessList from '@views/eam/equipment/modules/EamEquipmentProcessList.vue' + import EamEquipmentPrecisionList from '@views/eam/equipment/modules/EamEquipmentPrecisionList.vue' + import EamSecondMaintenanceOrderList from '@views/eam/maintenance/EamSecondMaintenanceOrderList.vue' + import EamThirdMaintenanceOrderList from '@views/eam/maintenance/EamThirdMaintenanceOrderList.vue' + import EamEquipmentFluidList from '@views/eam/equipment/modules/EamEquipmentFluidList.vue' + import EquipmentCategoryStatisticsList from '@views/eam/equipment/modules/EquipmentCategoryStatisticsList.vue' -export default { - name: 'EamEquipmentList', - mixins: [JeecgListMixin], - components: { - EamInspectionOrderList, - EamRepairOrderList, - EamMaintenanceStandardList, - ResumeDrawer, - NameplateModal, - EamEquipmentModal, - EamEquipmentAttachmentList, - // EamWeekMaintenanceOrderList, - EamEquipmentProcessList, - EamEquipmentPrecisionList, - EamSecondMaintenanceOrderList, - EamThirdMaintenanceOrderList, - EamEquipmentFluidList - }, - data() { - return { - description: '璁惧鍙拌处绠$悊椤甸潰', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function (t, r, index) { - return parseInt(index) + 1 - }, - fixed: 'left' - }, - { - title: '璁惧缂栧彿', - align: 'center', - width: 100, - dataIndex: 'equipmentCode', - ellipsis: true, - fixed: 'left', - sorter: true - }, - { - title: '璁惧鍚嶇О', - align: 'center', - width: 100, - dataIndex: 'equipmentName', - ellipsis: true, - fixed: 'left' - }, - { - title: '璁惧鍨嬪彿', - align: 'center', - width: 200, - dataIndex: 'equipmentModel' - }, - { - title: '鍑哄巶鏃ユ湡', - align: 'center', - width: 100, - dataIndex: 'leaveFactoryDate' - }, - { - title: '鎶曠敤鏃ユ湡', - align: 'center', - width: 100, - dataIndex: 'acceptanceCheckDate' - }, - { - title: '鍘熷��(鍏�)', - align: 'center', - dataIndex: 'originalValue' - }, - { - title: '浣跨敤杞﹂棿', - align: 'center', - width: 100, - dataIndex: 'orgId_dictText' - }, - { - title: '璧勪骇浣跨敤鐘舵��', - align: 'center', - width: 120, - dataIndex: 'assetStatus_dictText' - }, - { - title: '缁翠慨鐘舵��', - align: 'center', - width: 100, - dataIndex: 'repairStatus_dictText' - }, - { - title: '淇濆吇鐘舵��', - align: 'center', - width: 100, - dataIndex: 'maintenanceStatus_dictText' - }, - { - title: '璁惧鐢ㄩ��', - align: 'center', - width: 100, - dataIndex: 'equipmentUse_dictText' - }, - { - title: '鎿嶄綔宸�', - align: 'center', - width: 100, - dataIndex: 'operator' - }, - { - title: '绠$悊鍒嗙被', - align: 'center', - width: 120, - dataIndex: 'equipmentImportance_dictText', - }, - { - title: '鎶�鏈姸鎬�', - align: 'center', - width: 100, - dataIndex: 'technologyStatus_dictText' - }, - { - title: '璁惧璐d换浜�', - align: 'center', - width: 100, - dataIndex: 'equipmentManager_dictText' - }, - { - title: '璁惧绫诲埆', - align: 'center', - dataIndex: 'equipmentCategory_dictText' - }, - { - title: '璁惧绉嶇被', - align: 'center', - dataIndex: 'equipmentType_dictText' - }, - { - title: '璁惧瑙勬牸', - align: 'center', - width: 100, - dataIndex: 'equipmentSpecification' - }, - { - title: '鐢垫満鍙版暟', - align: 'center', - width: 100, - dataIndex: 'motorsNumber' - }, - { - title: '鎬诲姛鐜�(KW)', - align: 'center', - width: 100, - dataIndex: 'equipmentPower' - }, - { - title: '閲嶉噺(鍚�)', - align: 'center', - width: 100, - dataIndex: 'equipmentWeight' - }, - { - title: '瀹夎浣嶇疆', - align: 'center', - width: 100, - ellipsis: true, - dataIndex: 'installationPosition' - }, - { - title: '鍑哄巶缂栧彿', - align: 'center', - dataIndex: 'factoryNumber' - }, - { - title: '鏈哄簥鍘傚', - align: 'center', - width: 300, - ellipsis: true, - dataIndex: 'manufacturingEnterprise' - }, - { - title: '鏉ユ簮鍥藉', - align: 'center', - width: 100, - dataIndex: 'originCountry' - }, - { - title: '璁惧渚涘簲鍟�', - align: 'center', - width: 100, - ellipsis: true, - dataIndex: 'supplier' - }, - { - title: '鏈夋棤宸ヨ壓鍙傛暟', - align: 'center', - width: 120, - dataIndex: 'processParametersFlag', - scopedSlots: { customRender: 'processParametersFlag' } - }, - { - title: '鏈夋棤绮惧害鍙傛暟', - align: 'center', - width: 120, - dataIndex: 'precisionParametersFlag', - scopedSlots: { customRender: 'precisionParametersFlag' } - }, - { - title: '澶栧舰灏哄', - align: 'center', - dataIndex: 'overallDimensions' - }, - { - title: '璧勯噾鏉ユ簮', - align: 'center', - dataIndex: 'fundingSource' - }, - { - title: '鍔熻兘鐢ㄩ��', - align: 'center', - ellipsis: true, - dataIndex: 'functionUse' - }, - { - title: '鎬ц兘鎸囨爣', - align: 'center', - ellipsis: true, - dataIndex: 'performanceIndicators' - }, - { - title: '鍏ュ笎鏃堕棿', - align: 'center', - width: 100, - dataIndex: 'bookingTime' - }, - { - title: '鍒涘缓浜�', - align: 'center', - width: 100, - dataIndex: 'createBy_dictText' - }, - { - title: '鍒涘缓鏃堕棿', - align: 'center', - width: 200, - dataIndex: 'createTime' - }, - { - title: '鏇存柊浜�', - align: 'center', - dataIndex: 'updateBy_dictText' - }, - { - title: '鏇存柊鏃堕棿', - align: 'center', - dataIndex: 'updateTime' - }, - { - title: '澶囨敞', - align: 'center', - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - width: 150, - scopedSlots: { customRender: 'action' }, - fixed: 'right' - } - ], - url: { - list: '/eam/equipment/list', - delete: '/eam/equipment/delete', - deleteBatch: '/eam/equipment/deleteBatch', - exportXlsUrl: 'eam/equipment/exportXls', - importExcelUrl: 'eam/equipment/importExcel', - loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions', - templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx' - }, - treeData: [], - printedRows: [], - activeTabKey: 1, - appHomeUrl: '', - currentTableRowRecord: {}, - isOpenProcess: false, - isOpenPrecision: false, - treeDataAlias: [], - leaveFactoryDate: [], - acceptanceCheckDate: [], - } - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` + export default { + name: 'EamEquipmentList', + mixins: [JeecgListMixin], + components: { + EquipmentCategoryStatisticsList, + EamInspectionOrderList, + EamRepairOrderList, + EamMaintenanceStandardList, + ResumeDrawer, + NameplateModal, + EamEquipmentModal, + EamEquipmentAttachmentList, + EamEquipmentProcessList, + EamEquipmentPrecisionList, + EamSecondMaintenanceOrderList, + EamThirdMaintenanceOrderList, + EamEquipmentFluidList }, - }, - created() { - this.loadAllProductionTree() - this.loadAppHomeUrlConfigValue() - }, - methods: { - leaveFactoryRangeChange(valueArray) { - this.queryParam.leaveFactoryStartTime = valueArray[0] - this.queryParam.leaveFactoryEndTime = valueArray[1] - }, - acceptanceCheckRangeChange(valueArray) { - this.queryParam.acceptanceCheckStartTime = valueArray[0] - this.queryParam.acceptanceCheckEndTime = valueArray[1] - }, - loadAllProductionTree() { - //鍔犺浇杞﹂棿閫夋嫨鏍� - getAction(this.url.loadProductionOptions).then(res => { - if (res.success) { - this.treeData = [...res.result] - this.treeDataAlias = this.deepCopyAndModify(res.result) - console.info('treeDataAlias====', this.treeDataAlias) - } else { - that.$message.warning(res.message) - } - }) - }, - - /** - * 寮�鍚摥鐗屽脊绐� - * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚� - */ - handleOpenNameplateModal(recordArray) { - this.printedRows = recordArray - this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl - this.$refs.nameplateModalRef.visible = true - }, - - /** - * 寮�鍚饱鍘嗘娊灞� - * @param record 琛ㄦ牸琛屼俊鎭� - */ - handleOpenResumeDrawer(record) { - this.currentTableRowRecord = Object.assign({}, record) - this.$refs.resumeDrawerRef.title = '璁惧灞ュ巻' + `锛�${record.equipmentCode}锛塦 - this.$refs.resumeDrawerRef.dataSource = [] - this.$refs.resumeDrawerRef.visible = true - this.$nextTick(() => this.$refs.resumeDrawerRef.getEquipmentResumeByApi()) - }, - - /** - * 鑷畾涔夎澶囧彴璐﹁〃鏍艰 - * @param record 琛ㄦ牸琛屼俊鎭� - * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉� - */ - customTableRow(record) { + data() { return { - style: { - cursor: 'pointer' - }, - on: { - click: () => { - this.onSelectChange([record.id]) + description: '璁惧鍙拌处绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + }, + fixed: 'left' + }, + { + title: '璁惧缂栧彿', + align: 'center', + width: 150, + dataIndex: 'equipmentCode', + fixed: 'left', + sorter: true + }, + { + title: '璁惧鍚嶇О', + align: 'center', + width: 150, + dataIndex: 'equipmentName', + scopedSlots: { customRender: 'ellipsisText' }, + fixed: 'left' + }, + { + title: '璁惧鍨嬪彿', + align: 'center', + width: 150, + dataIndex: 'equipmentModel' + }, + { + title: '鍑哄巶鏃ユ湡', + align: 'center', + width: 100, + dataIndex: 'leaveFactoryDate' + }, + { + title: '鎶曠敤鏃ユ湡', + align: 'center', + width: 100, + dataIndex: 'acceptanceCheckDate' + }, + { + title: '鍘熷��(鍏�)', + align: 'center', + dataIndex: 'originalValue', + width: 120 + }, + { + title: '浣跨敤杞﹂棿', + align: 'center', + width: 150, + dataIndex: 'orgId_dictText' + }, + { + title: '璧勪骇浣跨敤鐘舵��', + align: 'center', + width: 120, + dataIndex: 'assetStatus_dictText' + }, + { + title: '缁翠慨鐘舵��', + align: 'center', + width: 100, + dataIndex: 'repairStatus_dictText' + }, + { + title: '淇濆吇鐘舵��', + align: 'center', + width: 100, + dataIndex: 'maintenanceStatus_dictText' + }, + { + title: '璁惧鐢ㄩ��', + align: 'center', + width: 100, + dataIndex: 'equipmentUse_dictText' + }, + { + title: '鎿嶄綔宸�', + align: 'center', + width: 100, + dataIndex: 'operator' + }, + { + title: '绠$悊鍒嗙被', + align: 'center', + width: 100, + dataIndex: 'equipmentImportance_dictText' + }, + { + title: '鎶�鏈姸鎬�', + align: 'center', + width: 100, + dataIndex: 'technologyStatus_dictText' + }, + { + title: '璁惧璐d换浜�', + align: 'center', + width: 100, + dataIndex: 'equipmentManager_dictText' + }, + { + title: '璁惧绫诲埆', + align: 'center', + dataIndex: 'equipmentCategory_dictText', + width: 100 + }, + { + title: '璁惧绉嶇被', + align: 'center', + dataIndex: 'equipmentType_dictText', + width: 150 + }, + { + title: '璁惧瑙勬牸', + align: 'center', + width: 150, + dataIndex: 'equipmentSpecification' + }, + { + title: '鐢垫満鍙版暟', + align: 'center', + width: 100, + dataIndex: 'motorsNumber' + }, + { + title: '鎬诲姛鐜�(KW)', + align: 'center', + width: 100, + dataIndex: 'equipmentPower' + }, + { + title: '閲嶉噺(鍚�)', + align: 'center', + width: 100, + dataIndex: 'equipmentWeight' + }, + { + title: '瀹夎浣嶇疆', + align: 'center', + width: 150, + dataIndex: 'installationPosition', + scopedSlots: { customRender: 'ellipsisText' } + }, + { + title: '鍑哄巶缂栧彿', + align: 'center', + dataIndex: 'factoryNumber', + width: 150 + }, + { + title: '鏈哄簥鍘傚', + align: 'center', + width: 150, + dataIndex: 'manufacturingEnterprise', + scopedSlots: { customRender: 'ellipsisText' } + }, + { + title: '鏉ユ簮鍥藉', + align: 'center', + width: 100, + dataIndex: 'originCountry' + }, + { + title: '璁惧渚涘簲鍟�', + align: 'center', + width: 150, + scopedSlots: { customRender: 'ellipsisText' }, + dataIndex: 'supplier' + }, + { + title: '鏈夋棤宸ヨ壓鍙傛暟', + align: 'center', + width: 120, + dataIndex: 'processParametersFlag', + scopedSlots: { customRender: 'processParametersFlag' } + }, + { + title: '鏈夋棤绮惧害鍙傛暟', + align: 'center', + width: 120, + dataIndex: 'precisionParametersFlag', + scopedSlots: { customRender: 'precisionParametersFlag' } + }, + { + title: '澶栧舰灏哄', + align: 'center', + dataIndex: 'overallDimensions', + width: 120 + }, + { + title: '璧勯噾鏉ユ簮', + align: 'center', + dataIndex: 'fundingSource', + width: 120 + }, + { + title: '鍔熻兘鐢ㄩ��', + align: 'center', + scopedSlots: { customRender: 'ellipsisText' }, + dataIndex: 'functionUse', + width: 150 + }, + { + title: '鎬ц兘鎸囨爣', + align: 'center', + ellipsis: true, + dataIndex: 'performanceIndicators', + width: 120 + }, + { + title: '鍏ュ笎鏃堕棿', + align: 'center', + width: 100, + dataIndex: 'bookingTime' + }, + { + title: '鍒涘缓浜�', + align: 'center', + width: 100, + dataIndex: 'createBy_dictText' + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + width: 200, + dataIndex: 'createTime' + }, + { + title: '鏇存柊浜�', + align: 'center', + dataIndex: 'updateBy_dictText', + width: 100 + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + dataIndex: 'updateTime', + width: 200 + }, + { + title: '澶囨敞', + align: 'center', + dataIndex: 'remark', + width: 150, + scopedSlots: { customRender: 'ellipsisText' } + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + width: 150, + scopedSlots: { customRender: 'action' }, + fixed: 'right' } - } + ], + url: { + list: '/eam/equipment/list', + delete: '/eam/equipment/delete', + deleteBatch: '/eam/equipment/deleteBatch', + exportXlsUrl: 'eam/equipment/exportXls', + importExcelUrl: 'eam/equipment/importExcel', + loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions', + templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx' + }, + treeData: [], + printedRows: [], + activeTabKey: 1, + appHomeUrl: '', + currentTableRowRecord: {}, + isOpenProcess: false, + isOpenPrecision: false, + treeDataAlias: [], + leaveFactoryDate: [], + acceptanceCheckDate: [] } }, - - /** - * 椤电鏀瑰彉鏃惰Е鍙� - * @param activeTabKey 褰撳墠婵�娲荤殑椤电key - */ - handleTabChange(activeTabKey) { - if (this.selectedRowKeys.length !== 1) return - this.$nextTick(() => this.loadTabPaneTableData(this.selectedRowKeys[0])) + computed: { + importExcelUrl: function() { + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` + } }, - - /** - * 鍔犺浇椤电琛ㄦ牸鏁版嵁 - * @param id 璁惧鍙拌处琛岃褰旾d - */ - loadTabPaneTableData(id) { - this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = id - this.$refs['tabPaneTableListRef' + this.activeTabKey].loadData(1) + created() { + this.loadAllProductionTree() + this.loadAppHomeUrlConfigValue() }, + methods: { + leaveFactoryRangeChange(valueArray) { + this.queryParam.leaveFactoryStartTime = valueArray[0] + this.queryParam.leaveFactoryEndTime = valueArray[1] + }, + acceptanceCheckRangeChange(valueArray) { + this.queryParam.acceptanceCheckStartTime = valueArray[0] + this.queryParam.acceptanceCheckEndTime = valueArray[1] + }, + loadAllProductionTree() { + //鍔犺浇杞﹂棿閫夋嫨鏍� + getAction(this.url.loadProductionOptions).then(res => { + if (res.success) { + this.treeData = [...res.result] + this.treeDataAlias = this.deepCopyAndModify(res.result) + console.info('treeDataAlias====', this.treeDataAlias) + } else { + that.$message.warning(res.message) + } + }) + }, - /** - * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂 - * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎 - * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎 - */ - onSelectChange(selectedRowKeys, selectionRows) { - this.selectedRowKeys = selectedRowKeys - this.selectionRows = selectionRows - this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = null - this.$refs['tabPaneTableListRef' + this.activeTabKey].dataSource = [] - this.$refs['tabPaneTableListRef' + this.activeTabKey].onClearSelected() - if (selectedRowKeys.length === 1) { - let row = this.dataSource.find(row => row.id === selectedRowKeys[0]); - if (row) { - this.isOpenProcess = (row.processParametersFlag === '1') - this.isOpenPrecision = (row.precisionParametersFlag === '1') + /** + * 寮�鍚摥鐗屽脊绐� + * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚� + */ + handleOpenNameplateModal(recordArray) { + this.printedRows = recordArray + this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl + this.$refs.nameplateModalRef.visible = true + }, + + /** + * 寮�鍚饱鍘嗘娊灞� + * @param record 琛ㄦ牸琛屼俊鎭� + */ + handleOpenResumeDrawer(record) { + this.currentTableRowRecord = Object.assign({}, record) + this.$refs.resumeDrawerRef.title = '璁惧灞ュ巻' + `锛�${record.equipmentCode}锛塦 + this.$refs.resumeDrawerRef.dataSource = [] + this.$refs.resumeDrawerRef.visible = true + this.$nextTick(() => this.$refs.resumeDrawerRef.getEquipmentResumeByApi()) + }, + + /** + * 鑷畾涔夎澶囧彴璐﹁〃鏍艰 + * @param record 琛ㄦ牸琛屼俊鎭� + * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉� + */ + customTableRow(record) { + return { + style: { + cursor: 'pointer' + }, + on: { + click: () => { + this.onSelectChange([record.id]) + } + } + } + }, + + /** + * 椤电鏀瑰彉鏃惰Е鍙� + * @param activeTabKey 褰撳墠婵�娲荤殑椤电key + */ + handleTabChange(activeTabKey) { + if (this.selectedRowKeys.length !== 1) return + this.$nextTick(() => this.loadTabPaneTableData(this.selectedRowKeys[0])) + }, + + /** + * 鍔犺浇椤电琛ㄦ牸鏁版嵁 + * @param id 璁惧鍙拌处琛岃褰旾d + */ + loadTabPaneTableData(id) { + this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = id + this.$refs['tabPaneTableListRef' + this.activeTabKey].loadData(1) + }, + + /** + * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂 + * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎 + * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎 + */ + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys + this.selectionRows = selectionRows + this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = null + this.$refs['tabPaneTableListRef' + this.activeTabKey].dataSource = [] + this.$refs['tabPaneTableListRef' + this.activeTabKey].onClearSelected() + if (selectedRowKeys.length === 1) { + let row = this.dataSource.find(row => row.id === selectedRowKeys[0]) + if (row) { + this.isOpenProcess = (row.processParametersFlag === '1') + this.isOpenPrecision = (row.precisionParametersFlag === '1') + } else { + this.isOpenProcess = false + this.isOpenPrecision = false + } + this.loadTabPaneTableData(selectedRowKeys[0]) } else { this.isOpenProcess = false this.isOpenPrecision = false } - this.loadTabPaneTableData(selectedRowKeys[0]) - } else { - this.isOpenProcess = false - this.isOpenPrecision = false - } - //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab - if (!this.isOpenProcess && this.activeTabKey === 6) { - this.activeTabKey = 1; - } - if (!this.isOpenPrecision && this.activeTabKey === 7) { - this.activeTabKey = 1; - } - }, - - handleTemplateXlsDownload() { - templateXlsDownload(this.url.templateXlsDownloadUrl) - }, - - loadAppHomeUrlConfigValue() { - let params = { settingKey: 'app_home_url' } - getSystemConfigValue(params).then(res => { - if (res.success) { - this.appHomeUrl = res.result.settingValue + //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab + if (!this.isOpenProcess && this.activeTabKey === 6) { + this.activeTabKey = 1 } - }) - }, - deepCopyAndModify(arr) { - // 濡傛灉褰撳墠鍏冪礌涓嶆槸鏁扮粍鎴栧璞★紝鐩存帴杩斿洖 - if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) { - return arr; - } - - // 濡傛灉鏄暟缁勶紝鍒涘缓涓�涓柊鏁扮粍骞堕�掑綊澶勭悊姣忎釜鍏冪礌 - if (Array.isArray(arr)) { - const newArray = []; - for (let i = 0; i < arr.length; i++) { - newArray.push(this.deepCopyAndModify(arr[i])); + if (!this.isOpenPrecision && this.activeTabKey === 7) { + this.activeTabKey = 1 } - return newArray; - } + }, - // 濡傛灉鏄璞★紝鍒涘缓涓�涓柊瀵硅薄骞堕�掑綊澶勭悊姣忎釜灞炴�� - const newObj = {}; - for (const key in arr) { - if (arr.hasOwnProperty(key)) { - if (key === 'selectable') { - newObj[key] = true; - } else if (key === 'children') { - newObj[key] = this.deepCopyAndModify(arr[key]); - } else { - newObj[key] = arr[key]; + handleTemplateXlsDownload() { + templateXlsDownload(this.url.templateXlsDownloadUrl) + }, + + EquipmentCategoryStatistics() { + this.$refs.EquipmentCategoryStatistics.visible = true; // 鏄剧ず寮圭獥 + this.$refs.EquipmentCategoryStatistics.loadData() + }, + + loadAppHomeUrlConfigValue() { + let params = { settingKey: 'app_home_url' } + getSystemConfigValue(params).then(res => { + if (res.success) { + this.appHomeUrl = res.result.settingValue } - + }) + }, + deepCopyAndModify(arr) { + // 濡傛灉褰撳墠鍏冪礌涓嶆槸鏁扮粍鎴栧璞★紝鐩存帴杩斿洖 + if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) { + return arr } + + // 濡傛灉鏄暟缁勶紝鍒涘缓涓�涓柊鏁扮粍骞堕�掑綊澶勭悊姣忎釜鍏冪礌 + if (Array.isArray(arr)) { + const newArray = [] + for (let i = 0; i < arr.length; i++) { + newArray.push(this.deepCopyAndModify(arr[i])) + } + return newArray + } + + // 濡傛灉鏄璞★紝鍒涘缓涓�涓柊瀵硅薄骞堕�掑綊澶勭悊姣忎釜灞炴�� + const newObj = {} + for (const key in arr) { + if (arr.hasOwnProperty(key)) { + if (key === 'selectable') { + newObj[key] = true + } else if (key === 'children') { + newObj[key] = this.deepCopyAndModify(arr[key]) + } else { + newObj[key] = arr[key] + } + + } + } + return newObj + }, + searchReset() { + this.leaveFactoryDate = [] + this.acceptanceCheckDate = [] + this.queryParam = {} + this.onClearSelected() + this.loadTabPaneTableData('-1') + this.loadData(1) } - return newObj; - }, - searchReset() { - this.leaveFactoryDate = [] - this.acceptanceCheckDate = [] - this.queryParam = {} - this.onClearSelected() - this.loadTabPaneTableData('-1') - this.loadData(1); - }, + } } -} </script> <style scoped> -@import '~@assets/less/common.less'; + @import '~@assets/less/common.less'; </style> \ No newline at end of file -- Gitblit v1.9.3