From 0810edc966a5fac3f1a25a56fd3b5357a2480715 Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期二, 24 十月 2023 17:05:42 +0800 Subject: [PATCH] 设备台账大全 --- src/views/eam/EquipmentListOfFilesCarousel.vue | 9 src/views/eam/EquipmentListOfPressureVessel.vue | 925 ++++++++ src/views/eam/EquipmentListOfTester.vue | 925 ++++++++ src/views/eam/EquipmentListOfProduct.vue | 9 src/views/eam/EquipmentListOfTruck.vue | 925 ++++++++ src/views/eam/EquipmentListOfEnvProEquipment.vue | 928 ++++++++ src/views/eam/EquipmentListOfCrane.vue | 925 ++++++++ src/views/eam/EquipmentListOfAll.vue | 924 ++++++++ src/views/eam/EquipmentListOfRide.vue | 925 ++++++++ src/views/eam/EquipmentListOfWeldingMachine.vue | 9 src/views/eam/modules/equipmentNew/EquipmentModal.vue | 11 src/views/eam/modules/equipmentNew/StandardOfMaintenance.vue | 164 + src/views/eam/modules/equipmentNew/StandardOfInspection.vue | 169 + 13 files changed, 6,841 insertions(+), 7 deletions(-) diff --git a/src/views/eam/EquipmentListOfAll.vue b/src/views/eam/EquipmentListOfAll.vue new file mode 100644 index 0000000..ff4aad0 --- /dev/null +++ b/src/views/eam/EquipmentListOfAll.vue @@ -0,0 +1,924 @@ +<template> + <a-card :bordered="false" title="鎵�鏈夎澶�"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + dictCode="mom_eam_equipment_category,name,id" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'all', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfCrane.vue b/src/views/eam/EquipmentListOfCrane.vue new file mode 100644 index 0000000..0b438ca --- /dev/null +++ b/src/views/eam/EquipmentListOfCrane.vue @@ -0,0 +1,925 @@ +<template> + <a-card :bordered="false" title="璧烽噸璁惧"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1='+'\''+caytegoryParam+'\''" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'crane', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + this.queryParam.equipmentCategoryUda1 = this.caytegoryParam; + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfEnvProEquipment.vue b/src/views/eam/EquipmentListOfEnvProEquipment.vue new file mode 100644 index 0000000..2e2f8ff --- /dev/null +++ b/src/views/eam/EquipmentListOfEnvProEquipment.vue @@ -0,0 +1,928 @@ +<template> + <a-card :bordered="false" title="鐜繚璁惧"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1='+'\''+caytegoryParam+'\''" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="缁翠繚鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'envProEquipment', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + this.queryParam.equipmentCategoryUda1 = this.caytegoryParam; + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfFilesCarousel.vue b/src/views/eam/EquipmentListOfFilesCarousel.vue index 383ad22..85900d3 100644 --- a/src/views/eam/EquipmentListOfFilesCarousel.vue +++ b/src/views/eam/EquipmentListOfFilesCarousel.vue @@ -450,6 +450,9 @@ <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> <equipment-update-warranty-list :mainId="selectedMainId" /> </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> </a-tabs> <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> <process-edit-model ref ="processEditModel"></process-edit-model> @@ -480,6 +483,8 @@ import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' export default { name: "EquipmentList", mixins:[JeecgListMixin,mixinDevice], @@ -497,7 +502,9 @@ ABCUpdateEditModel, WarrantyUpdateModel, EquipmentSpareParts, - EquipmentSparePartsModal + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, }, data () { return { diff --git a/src/views/eam/EquipmentListOfPressureVessel.vue b/src/views/eam/EquipmentListOfPressureVessel.vue new file mode 100644 index 0000000..509ecb2 --- /dev/null +++ b/src/views/eam/EquipmentListOfPressureVessel.vue @@ -0,0 +1,925 @@ +<template> + <a-card :bordered="false" title="鍘嬪姏瀹瑰櫒"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1='+'\''+caytegoryParam+'\''" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'pressureVessel', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + this.queryParam.equipmentCategoryUda1 = this.caytegoryParam; + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfProduct.vue b/src/views/eam/EquipmentListOfProduct.vue index d3d3de5..fb42211 100644 --- a/src/views/eam/EquipmentListOfProduct.vue +++ b/src/views/eam/EquipmentListOfProduct.vue @@ -450,6 +450,9 @@ <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> <equipment-update-warranty-list :mainId="selectedMainId" /> </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> </a-tabs> <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> <process-edit-model ref ="processEditModel"></process-edit-model> @@ -480,6 +483,8 @@ import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' export default { name: "EquipmentList", mixins:[JeecgListMixin,mixinDevice], @@ -497,7 +502,9 @@ ABCUpdateEditModel, WarrantyUpdateModel, EquipmentSpareParts, - EquipmentSparePartsModal + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, }, data () { return { diff --git a/src/views/eam/EquipmentListOfRide.vue b/src/views/eam/EquipmentListOfRide.vue new file mode 100644 index 0000000..d94d750 --- /dev/null +++ b/src/views/eam/EquipmentListOfRide.vue @@ -0,0 +1,925 @@ +<template> + <a-card :bordered="false" title="杞﹀彴"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1='+'\''+caytegoryParam+'\''" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'ride', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + this.queryParam.equipmentCategoryUda1 = this.caytegoryParam; + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfTester.vue b/src/views/eam/EquipmentListOfTester.vue new file mode 100644 index 0000000..7146466 --- /dev/null +++ b/src/views/eam/EquipmentListOfTester.vue @@ -0,0 +1,925 @@ +<template> + <a-card :bordered="false" title="璇曢獙鍣�"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1='+'\''+caytegoryParam+'\''" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'tester', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + this.queryParam.equipmentCategoryUda1 = this.caytegoryParam; + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfTruck.vue b/src/views/eam/EquipmentListOfTruck.vue new file mode 100644 index 0000000..ccd1cfa --- /dev/null +++ b/src/views/eam/EquipmentListOfTruck.vue @@ -0,0 +1,925 @@ +<template> + <a-card :bordered="false" title="杩愯緭杞�"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :span="5"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1='+'\''+caytegoryParam+'\''" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁熶竴缂栫爜" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囩粺涓�缂栫爜鏌ヨ" + v-model="queryParam.num" + ></a-input> + </a-form-item> + </a-col> + <a-col + :span="5" + > + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璁惧鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉版煡璇�" + v-model="queryParam.name" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="5"> + <a-form-item + label="鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + v-model="queryParam.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + ></a-input> + </a-form-item> + </a-col> + <a-col :span="4"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> + + </a-row> + <template v-if="toggleSearchStatus"> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="浜х嚎" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨浜х嚎" + :triggerChange="true" + dictCode="mom_base_work_center,name,id,del_flag!='1'" + v-model="queryParam.workCenterId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="杞﹂棿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勮溅闂�" + :triggerChange="true" + dictCode="mom_base_factory_model,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="缁存姢閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨缁存姢閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.manageId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="浣跨敤閮ㄩ棬" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-tree-select + style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :tree-data="treeData" + placeholder="璇烽�夋嫨浣跨敤閮ㄩ棬" + tree-default-expand-all + v-model="queryParam.useId" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-item + label="ABC鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨ABC鏍囪瘑" + :triggerChange="true" + dictCode="ABC-standard-result" + v-model="queryParam.equipmentImportanceId" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鎶�鏈姸鎬�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + :triggerChange="true" + dictCode="technology_status" + v-model="queryParam.technologyStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="璁惧鐘舵��" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璁惧鐘舵��" + :triggerChange="true" + dictCode="equipment_status" + v-model="queryParam.equipmentStatus" + /> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + label="鍏抽敭璁惧鏍囪瘑" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-dict-select-tag + allow-clear + :triggerChange="true" + placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚寮�濮嬫棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date> + </a-form-model-item> + </a-col> + <a-col :span="6"> + <a-form-model-item + label="璐ㄤ繚缁撴潫鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date style="width: 100%;" placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date> + </a-form-model-item> + </a-col> + </a-row> + </template> + </a-form> + </div> + <!-- 鏌ヨ鍖哄煙-END --> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">鏂板</a-button> + <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')" v-has="'equipmentAccount:outport'">瀵煎嚭</a-button> + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-button type="primary" icon="import" v-has="'equipmentAccount:add&delete&import&Edit'">瀵煎叆</a-button> + </a-upload> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateABC" type="primary" icon="font-colors" v-has="'equipmentAccount:add&delete&import&Edit'">ABC鏍囪瘑鍙樻洿</a-button> + <a-button :disabled="selectedRowKeys.length==0" @click="handleUpdateWarranty" type="primary" icon="calendar" v-has="'equipmentAccount:add&delete&import&Edit'">璐ㄤ繚鏈熷彉鏇�</a-button> + </div> + <!-- table鍖哄煙-begin --> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" + :customRow="clickThenSelect" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <!--宸ヨ壓鍙傛暟涓�у睍绀�--> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="processParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.processParameters==1" + status="success" + /> + <span + v-if="record.processParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.processParameters==0" + status="error" + /> + <span + v-if="record.processParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="precisionParameters" + slot-scope="text,record" + > + <a-badge + v-if="record.precisionParameters==1" + status="success" + /> + <span + v-if="record.precisionParameters==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.precisionParameters==0" + status="error" + /> + <span + v-if="record.precisionParameters==0" + class="error" + >鍚�</span> + </span> + <span + slot="verification" + slot-scope="text,record" + > + <a-badge + v-if="record.verification==1" + status="success" + /> + <span + v-if="record.verification==1" + class="success" + >鏄�</span> + <a-badge + v-if="record.verification==0" + status="error" + /> + <span + v-if="record.verification==0" + class="error" + >鍚�</span> + </span> + + <span + slot="action" + slot-scope="text, record" + > + <!-- class="table-operation" --> + <!-- <a + href="javascript:;" + @click="equipmentStructuresShow(record)" + >璁惧缁撴瀯</a> + <a-divider type="vertical" /> --> + <a + href="javascript:;" + @click='handleDetail(record)' + >璇︽儏</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1"> + <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1"> + <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEdit(record)" >缂栬緫</a> + </a-menu-item> + <a-menu-item v-has="'equipmentAccount:add&delete&import&Edit'"> + <a @click="handleEditSpareParts(record)" >缂栬緫澶囦欢</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + v-has="'equipmentAccount:add&delete&import&Edit'" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + </div> + <equipment-resume-drawer + ref="EquipmentResumeDrawer" + @ok="modalFormOk" + ></equipment-resume-drawer> + + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="宸ヨ壓鍙傛暟" key="1" > + <EquipmentProcessParametersList + :mainId="selectedMainId" + :isOpen="isOpenProcess" + /> + </a-tab-pane> + <a-tab-pane tab="璁惧绮惧害" key="2" forceRender> + <EquipmentPrecisionParametersList + :isOpen="isOpenPrecision" + :mainId="precisionParametersTemplateId" /> + </a-tab-pane> + <a-tab-pane tab="璁惧鏂囨。" key="3" forceRender> + <EquipmentDocumentList :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="澶囦欢" key="4" forceRender> + <EquipmentSpareParts :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="ABC鏍囪瘑鍙樻洿璁板綍" key="5" forceRender> + <equipment-update-ABC-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> + <equipment-update-warranty-list :mainId="selectedMainId" /> + </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> + </a-tabs> + <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> + <process-edit-model ref ="processEditModel"></process-edit-model> + <precision-edit-model ref ="precisionEditModel"></precision-edit-model> + <aBC-update-edit-model @ok="modalFormOk" :updateList="selectionRows" ref="updateABC"></aBC-update-edit-model> + <warranty-update-model :updateList="selectionRows" ref="updateWarranty"></warranty-update-model> + <EquipmentSparePartsModal ref="modalFormSpareParts" @ok="modalFormOk" /> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { mixinDevice } from '@/utils/mixin' + import EquipmentModal from './modules/equipmentNew/EquipmentModal' + import { getAction } from '@/api/manage' + import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' + import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' + import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' + import '@/assets/less/TableExpand.less' + import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer' + import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue' + import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue' + import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel' + import EquipmentUpdateABCList from './modules/equipmentNew/EquipmentUpdateABCList.vue' + import EquipmentUpdateWarrantyList from './modules/equipmentNew/EquipmentUpdateWarrantyList.vue' + import ABCUpdateEditModel from './modules/equipmentNew/edit/ABCUpdateEditModel.vue' + import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' + import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' + import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' + export default { + name: "EquipmentList", + mixins:[JeecgListMixin,mixinDevice], + components: { + EquipmentProcessParametersList, + EquipmentDocumentList, + EquipmentPrecisionParametersList, + EquipmentModal, + EquipmentResumeDrawer, + JSearchSelectTag, + ProcessEditModel, + PrecisionEditModel, + EquipmentUpdateABCList , + EquipmentUpdateWarrantyList, + ABCUpdateEditModel, + WarrantyUpdateModel, + EquipmentSpareParts, + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, + }, + data () { + return { + description: '璁惧鍙拌处绠$悊椤甸潰', + caytegoryParam:'truck', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '璁惧绫诲瀷', + align: "center", + dataIndex: 'equipmentCategoryId_dictText', + }, + { + title: '缁熶竴缂栫爜', + align: "center", + dataIndex: 'num', + }, + { + title: '璁惧鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'model', + }, + { + title: '瑙勬牸', + align: "center", + dataIndex: 'specification', + }, + { + title: '鎬诲姛鐜�', + align: "center", + dataIndex: 'gpo', + }, + { + title: '浣跨敤閮ㄩ棬', + align: "center", + dataIndex: 'useId_dictText', + }, + { + title: '缁存姢閮ㄩ棬', + align: "center", + dataIndex: 'manageId_dictText', + }, + { + title: '缁翠慨鐝粍', + align: "center", + dataIndex: 'teamId_dictText', + }, + { + title: 'ABC鏍囪瘑', + align: "center", + dataIndex: 'equipmentImportanceId', + }, + { + title: '鍏抽敭璁惧鏍囪瘑', + align: "center", + dataIndex: 'specificEquipment_dictText', + }, + // { + // title: '宸ュ尯', + // align: "center", + // dataIndex: 'equipmentUda1', + // }, + // { + // title: '瀹夊叏閰嶇疆', + // align: "center", + // dataIndex: 'securityConfiguration', + // }, + // { + // title: '鍐峰嵈绯荤粺', + // align: "center", + // dataIndex: 'coolingSystem', + // }, + // { + // title: '鐏伀鍣�', + // align: "center", + // dataIndex: 'fireExtinguisher', + // }, + + // { + // title: '鐏伀鍣ㄦ湁鏁堟湡', + // align: "center", + // dataIndex: 'fireExtinguisherValidityPeriod', + // }, + // { + // title: '鎿嶄綔绯荤粺', + // align: "center", + // dataIndex: 'operatingSystem', + // }, + // { + // title: '绯荤粺', + // align: "center", + // dataIndex: 'system', + // }, + // { + // title: '璁惧绔彛', + // align: "center", + // dataIndex: 'port', + // }, + // { + // title: '鍧愭爣鏁伴噺', + // align: "center", + // dataIndex: 'coordinateNum', + // }, + // { + // title: '璁惧鐘舵��', + // align: "center", + // dataIndex: 'equipmentStatus_dictText', + // }, + // { + // title: '閲嶉噺', + // align: "center", + // dataIndex: 'equipmentUda3', + // }, + // { + // title: '閲嶉噺璁¢噺鍗曚綅', + // align: "center", + // dataIndex: 'equipmentUda4_dictText', + // }, + // { + // title: '鍔熻兘浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda5', + // }, + // { + // title: '瀹夎浣嶇疆', + // align: "center", + // dataIndex: 'equipmentUda2', + // }, + // { + // title: '鍑哄巶鏃ユ湡', + // align: "center", + // dataIndex: 'leaveFactoryDate', + // }, + // { + // title: '绔嬮」鍗″彿', + // align: "center", + // dataIndex: 'projectApprovalNo', + // }, + // { + // title: '璧勯噾鏉ユ簮', + // align: "center", + // dataIndex: 'fundSource', + // }, + // { + // title: '楠屾敹鏃ユ湡', + // align: "center", + // dataIndex: 'acceptanceCheckDate', + // }, + // { + // title: '鍑哄巶缂栧彿', + // align: "center", + // dataIndex: 'factoryNo', + // }, + // { + // title: '璧勪骇鍒堕�犲晢', + // align: "center", + // dataIndex: 'constructorId_dictText', + // }, + // { + // title: '璧勪骇鐨勬潵婧愬浗瀹�', + // align: "center", + // dataIndex: 'sourceCountry', + // }, + { + title: '宸ヨ壓鍙傛暟绠$悊', + align: "center", + dataIndex: 'processParameters', + scopedSlots: { customRender: 'processParameters' }, + }, + { + title: '宸ヨ壓鍙傛暟妯℃澘', + align: "center", + dataIndex: 'processParametersTemplateId_dictText', + }, + { + title: '璁惧绮惧害绠$悊', + align: "center", + dataIndex: 'precisionParameters', + scopedSlots: { customRender: 'precisionParameters' }, + }, + { + title: '绮惧害鍙傛暟妯℃澘', + align: "center", + dataIndex: 'precisionParametersTemplateId_dictText', + }, + // { + // title: '澶囨敞', + // align: "center", + // dataIndex: 'remark', + // }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 147, + fixed: 'right', + }, + ], + url: { + list: "/eam/equipment/getEquipmentList", + delete: "/eam/equipment/delete", + deleteBatch: "/eam/equipment/deleteBatch", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: "/eam/equipment/importExcel", + loadOptions: '/sys/sysDepart/loadDepartTreeOptions', + }, + dictOptions:{ + }, + /* 鍒嗛〉鍙傛暟 */ + ipagination:{ + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '50'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedMainId:'', + superFieldList:[], + equipmentProcessParametersMainId: '', + equipmentDocumentMainId: '', + equipmentPrecisionParametersMainId: '', + precisionParametersTemplateId:'', + isOpenPrecision:true, + isOpenProcess:true, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + mainId:'', + } + }, + created() { + this.getSuperFieldList(); + this.initOptions(); + }, + computed: { + importExcelUrl: function(){ + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + initDictConfig(){ + }, + equipmentResumeShow(record) { + this.$refs.EquipmentResumeDrawer.visible = true + this.$refs.EquipmentResumeDrawer.title = '璁惧灞ュ巻' + this.$refs.EquipmentResumeDrawer.handleShow(record) + }, + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + this.selectedMainId='' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if(selectedRowKeys.length==1){ + this.selectedMainId=selectedRowKeys[0] + this.precisionParametersTemplateId = selectionRows[0].precisionParametersTemplateId; + this.isOpenProcess = selectionRows[0].processParameters==1; + this.isOpenPrecision = selectionRows[0].precisionParameters==1; + }else{ + this.selectedMainId='' + this.precisionParametersTemplateId = '' + } + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + loadData(arg) { + if(!this.url.list){ + this.$message.error("璇疯缃畊rl.list灞炴��!") + return + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) { + this.ipagination.current = 1; + } + this.onClearSelected() + this.queryParam.equipmentCategoryUda1 = this.caytegoryParam; + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + getSuperFieldList(){ + let fieldList=[]; + fieldList.push({type:'string',value:'num',text:'缁熶竴缂栫爜',dictCode:''}) + fieldList.push({type:'string',value:'name',text:'璁惧鍚嶇О',dictCode:''}) + fieldList.push({type:'string',value:'model',text:'鍨嬪彿',dictCode:''}) + fieldList.push({type:'string',value:'specification',text:'瑙勬牸',dictCode:''}) + fieldList.push({type:'string',value:'equipmentStatus',text:'璁惧鐘舵��',dictCode:''}) + fieldList.push({type:'string',value:'technologyStatus',text:'technologyStatus',dictCode:''}) + fieldList.push({type:'string',value:'assetNumber',text:'assetNumber',dictCode:''}) + fieldList.push({type:'string',value:'equipmentCategoryId',text:'equipmentCategoryId',dictCode:''}) + fieldList.push({type:'string',value:'specificEquipment',text:'specificEquipment',dictCode:''}) + fieldList.push({type:'string',value:'equipmentPhoto',text:'equipmentPhoto',dictCode:''}) + fieldList.push({type:'string',value:'constructorId',text:'璧勪骇鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'supplierId',text:'supplierId',dictCode:''}) + fieldList.push({type:'string',value:'factoryNumber',text:'factoryNumber',dictCode:''}) + fieldList.push({type:'string',value:'leaveFactoryDate',text:'鍑哄巶鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'acceptanceCheckDate',text:'楠屾敹鏃ユ湡',dictCode:''}) + fieldList.push({type:'string',value:'affiliationId',text:'affiliationId',dictCode:''}) + fieldList.push({type:'string',value:'manageId',text:'缁存姢閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'manager',text:'manager',dictCode:''}) + fieldList.push({type:'string',value:'useId',text:'浣跨敤閮ㄩ棬ID',dictCode:''}) + fieldList.push({type:'string',value:'functionary',text:'functionary',dictCode:''}) + fieldList.push({type:'string',value:'location',text:'location',dictCode:''}) + fieldList.push({type:'string',value:'equipmentImportanceId',text:'ABC鏍囪瘑ID',dictCode:''}) + fieldList.push({type:'string',value:'processParameters',text:'processParameters',dictCode:''}) + fieldList.push({type:'string',value:'processParametersTemplateId',text:'processParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'precisionParameters',text:'precisionParameters',dictCode:''}) + fieldList.push({type:'string',value:'precisionParametersTemplateId',text:'precisionParametersTemplateId',dictCode:''}) + fieldList.push({type:'string',value:'verification',text:'verification',dictCode:''}) + fieldList.push({type:'string',value:'verificationPeriod',text:'verificationPeriod',dictCode:''}) + fieldList.push({type:'string',value:'lastVerificationDate',text:'lastVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'nextVerificationDate',text:'nextVerificationDate',dictCode:''}) + fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) + fieldList.push({type:'string',value:'remark',text:'remark',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda1',text:'宸ュ尯',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda2',text:'瀹夎浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda3',text:'閲嶉噺',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda4',text:'閲嶉噺璁¢噺鍗曚綅ID',dictCode:''}) + fieldList.push({type:'string',value:'equipmentUda5',text:'鍔熻兘浣嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'tenantId',text:'tenantId',dictCode:''}) + fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) + fieldList.push({type:'string',value:'teamId',text:'缁翠慨鐝粍ID',dictCode:''}) + fieldList.push({type:'string',value:'sourceId',text:'sourceId',dictCode:''}) + fieldList.push({type:'string',value:'fundSource',text:'璧勯噾鏉ユ簮',dictCode:''}) + fieldList.push({type:'string',value:'factoryNo',text:'鍑哄巶缂栧彿',dictCode:''}) + fieldList.push({type:'string',value:'mfr',text:'鍒堕�犲晢',dictCode:''}) + fieldList.push({type:'string',value:'sourceCountry',text:'璧勪骇鏉ユ簮鍥藉',dictCode:''}) + fieldList.push({type:'string',value:'gpo',text:'鎬诲姛鐜�',dictCode:''}) + fieldList.push({type:'string',value:'keyEquipmentIdentification',text:'鍏抽敭璁惧鏍囪瘑',dictCode:''}) + fieldList.push({type:'string',value:'securityConfiguration',text:'瀹夊叏閰嶇疆',dictCode:''}) + fieldList.push({type:'string',value:'coolingSystem',text:'鍐峰嵈绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisher',text:'鐏伀鍣�',dictCode:''}) + fieldList.push({type:'string',value:'fireExtinguisherValidityPeriod',text:'鐏伀鍣ㄦ湁鏁堟湡',dictCode:''}) + fieldList.push({type:'string',value:'operatingSystem',text:'鎿嶄綔绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'system',text:'绯荤粺',dictCode:''}) + fieldList.push({type:'string',value:'port',text:'绔彛',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''}) + fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''}) + this.superFieldList = fieldList + }, + editProcess(record){ + this.$refs.processEditModel.edit(record); + }, + editPrecision(record){ + this.$refs.precisionEditModel.edit(record); + }, + initOptions() { + getAction(this.url.loadOptions).then(res => { + if (res.success) { + this.treeData = res.result + } else { + this.$message.warning(res.message) + } + }) + }, + handleUpdateABC(){ + this.$refs.updateABC.add(); + }, + handleUpdateWarranty(){ + this.$refs.updateWarranty.add(); + }, + handleEditSpareParts(record){ + this.$refs.modalFormSpareParts.edit(record); + } + + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> \ No newline at end of file diff --git a/src/views/eam/EquipmentListOfWeldingMachine.vue b/src/views/eam/EquipmentListOfWeldingMachine.vue index 98df9f9..58034a4 100644 --- a/src/views/eam/EquipmentListOfWeldingMachine.vue +++ b/src/views/eam/EquipmentListOfWeldingMachine.vue @@ -450,6 +450,9 @@ <a-tab-pane tab="璐ㄤ繚鏈熷彉鏇磋褰�" key="6" forceRender> <equipment-update-warranty-list :mainId="selectedMainId" /> </a-tab-pane> + <a-tab-pane tab="淇濆吇鐐规鏍囧噯" key="7" forceRender> + <standard-of-maintenance :mainId="selectedMainId"/> + </a-tab-pane> </a-tabs> <equipment-modal ref="modalForm" @ok="modalFormOk" :caytegoryParam="caytegoryParam"></equipment-modal> <process-edit-model ref ="processEditModel"></process-edit-model> @@ -480,6 +483,8 @@ import WarrantyUpdateModel from './modules/equipmentNew/edit/WarrantyUpdateModel.vue' import EquipmentSpareParts from './modules/equipmentNew/EquipmentSpareParts.vue' import EquipmentSparePartsModal from './modules/equipmentNew/EquipmentSparePartsModal' + import StandardOfInspection from './modules/equipmentNew/StandardOfInspection.vue' + import StandardOfMaintenance from './modules/equipmentNew/StandardOfMaintenance.vue' export default { name: "EquipmentList", mixins:[JeecgListMixin,mixinDevice], @@ -497,7 +502,9 @@ ABCUpdateEditModel, WarrantyUpdateModel, EquipmentSpareParts, - EquipmentSparePartsModal + EquipmentSparePartsModal, + StandardOfInspection, + StandardOfMaintenance, }, data () { return { diff --git a/src/views/eam/modules/equipmentNew/EquipmentModal.vue b/src/views/eam/modules/equipmentNew/EquipmentModal.vue index dfa309e..49b27b5 100644 --- a/src/views/eam/modules/equipmentNew/EquipmentModal.vue +++ b/src/views/eam/modules/equipmentNew/EquipmentModal.vue @@ -32,7 +32,7 @@ placeholder="璇烽�夋嫨璁惧鎵�灞炲垎绫�" :disabled="formDisabled" :triggerChange="true" - :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1 = '+'\''+caytegoryParam+'\''" + :dictCode="caytegoryParam==='all'?'mom_eam_equipment_category,name,id':'mom_eam_equipment_category,name,id,equipment_category_uda1 = '+'\''+caytegoryParam+'\''" v-model="model.equipmentCategoryId" @change="categoryChange" /> @@ -47,7 +47,7 @@ > <a-input v-model="model.num" - placeholder="璇疯緭鍏ヨ澶囩紪鍙�" + placeholder="璇疯緭鍏ョ粺涓� 缂栧彿" :disabled="formDisabled" ></a-input> </a-form-model-item> @@ -262,11 +262,14 @@ :wrapperCol="wrapperCol" prop="coolingSystem" > - <a-input + <j-dict-select-tag + allow-clear v-model="model.coolingSystem" :disabled="formDisabled" placeholder="璇疯緭鍏ュ喎鍗寸郴缁�" - ></a-input> + :triggerChange="true" + dictCode="cooling_system" + /> </a-form-model-item> </a-col> <a-col :span="6"> diff --git a/src/views/eam/modules/equipmentNew/StandardOfInspection.vue b/src/views/eam/modules/equipmentNew/StandardOfInspection.vue new file mode 100644 index 0000000..c2713aa --- /dev/null +++ b/src/views/eam/modules/equipmentNew/StandardOfInspection.vue @@ -0,0 +1,169 @@ +<template> + <a-card :bordered="false" :class="'cust-erp-sub-tab'"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + </a-row> + </a-form> + </div> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + @change="handleTableChange"> + + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + <a-divider type="vertical" /> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + + </a-table> + </div> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + export default { + name: "UpdateABC", + mixins:[JeecgListMixin], + components: { }, + props:{ + mainId:{ + type:String, + default:'', + required:false + } + }, + watch:{ + mainId:{ + immediate: true, + handler(val) { + if(!this.mainId){ + this.clearList() + }else{ + this.queryParam['equipmentId'] = val + this.queryParam['updateType'] = 'ABC' + this.loadData(1); + + } + } + } + }, + data () { + return { + description: '鏉愭枡鍑哄簱鍗曠鐞嗛〉闈�', + disableMixinCreated:true, + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title:'ABC鏍囪瘑锛堟棫锛�', + align:"center", + dataIndex: 'oldAbcTag_dictText', + width:300 + }, + { + title:'ABC鏍囪瘑锛堟柊锛�', + align:"center", + dataIndex: 'newAbcTag_dictText', + width:300 + }, + { + title:'鍙樻洿鏃ユ湡', + align:"center", + dataIndex: 'updateDate', + width:300 + }, + { + title:'鍙樻洿浜�', + align:"center", + dataIndex: 'updatePerson_dictText', + width:300 + }, + { + title:'澶囨敞', + align:"center", + dataIndex: 'remark', + width:300 + }, + ], + url: { + list: "/eam/equipmentUpdateInfo/list", + }, + dictOptions:{ + } + } + }, + created() { + }, + computed: { + importExcelUrl(){ + return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; + } + }, + methods: { + clearList(){ + this.dataSource=[] + this.selectedRowKeys=[] + this.ipagination.current = 1 + } + + }, + mounted(){ + this.$bus.$on('loadData', (data) => { + this.loadData(); + }); + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> diff --git a/src/views/eam/modules/equipmentNew/StandardOfMaintenance.vue b/src/views/eam/modules/equipmentNew/StandardOfMaintenance.vue new file mode 100644 index 0000000..d32c9e2 --- /dev/null +++ b/src/views/eam/modules/equipmentNew/StandardOfMaintenance.vue @@ -0,0 +1,164 @@ +<template> + <a-card :bordered="false" :class="'cust-erp-sub-tab'"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + </a-row> + </a-form> + </div> + <div> + <div 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>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + + @change="handleTableChange"> + <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" --> + <template slot="htmlSlot" slot-scope="text"> + <div v-html="text"></div> + </template> + <template slot="imgSlot" slot-scope="text,record"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> + <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + </template> + <template slot="fileSlot" slot-scope="text"> + <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> + <a-button + v-else + :ghost="true" + type="primary" + icon="download" + size="small" + @click="downloadFile(text)"> + 涓嬭浇 + </a-button> + </template> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)">缂栬緫</a> + <a-divider type="vertical" /> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + + </a-table> + </div> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + export default { + name: "UpdateABC", + mixins:[JeecgListMixin], + components: { }, + props:{ + mainId:{ + type:String, + default:'', + required:false + } + }, + watch:{ + mainId:{ + immediate: true, + handler(val) { + if(!this.mainId){ + this.clearList() + }else{ + this.queryParam['equipmentId'] = val + this.loadData(1); + + } + } + } + }, + data () { + return { + description: '鏉愭枡鍑哄簱鍗曠鐞嗛〉闈�', + disableMixinCreated:true, + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + } + }, + { + title: '淇濆吇绫诲瀷', + align: 'center', + dataIndex: 'type_dictText', + width: 250, + }, + { + title: '淇濆吇椤圭洰', + align: 'center', + dataIndex: 'projectName', + width: 250, + + }, + { + title: '淇濆吇鏍囧噯', + align: 'center', + dataIndex: 'standard', + width: 250, + + }, + { + title: '淇濆吇鍛ㄦ湡', + align: "center", + dataIndex: 'cycleName', + width: 250, + } + ], + url: { + list: "/eam/equipment/getEquipmentStansdardList", + }, + dictOptions:{ + } + } + }, + created() { + }, + computed: { + importExcelUrl(){ + return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; + } + }, + methods: { + clearList(){ + this.dataSource=[] + this.selectedRowKeys=[] + this.ipagination.current = 1 + } + + }, + mounted(){ + this.$bus.$on('loadData', (data) => { + this.loadData(); + }); + } + } +</script> +<style scoped> + @import '~@assets/less/common.less' +</style> -- Gitblit v1.9.3