20 changed files with 22755 additions and 0 deletions
-
4src/api/chooselist/chooselist.js
-
6src/api/eam/com_eam_object_add_update.js
-
4src/api/eam/com_eam_object_upload_file.js
-
239src/api/eam/eam.js
-
41src/api/eam/eamProject.js
-
66src/api/eam/eamProofing.js
-
6src/api/eam/eamReport.js
-
60src/api/eam/eam_object_list.js
-
2src/api/table.js
-
65src/utils/ajax.js
-
159src/utils/excel-util.js
-
274src/views/modules/common/Chooselist_eam.vue
-
4202src/views/modules/qc/FAIResultEntry.vue
-
4173src/views/modules/qc/FQCResultEntry.vue
-
4240src/views/modules/qc/IPQCResultEntry.vue
-
222src/views/modules/qc/IQCFileTable.vue
-
3439src/views/modules/qc/IQCResultEntry.vue
-
746src/views/modules/qc/OperationForResource.vue
-
4614src/views/modules/qc/PQCResultEntry.vue
-
193src/views/modules/qc/com_qc_itemImage_upload_file.vue
@ -0,0 +1,6 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
/*新增设备*/ |
||||
|
export const insertEamObject = data => createAPI('/pms/eamObject/insertEamObject','post',data) |
||||
|
/*修改设备*/ |
||||
|
export const updateEamObject = data => createAPI('/pms/eamObject/updateEamObject','post',data) |
||||
@ -0,0 +1,4 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
/*图片上传*/ |
||||
|
export const uploadEamObjectFile = data => createAPI('/sys/file/upload','post',data) |
||||
@ -0,0 +1,239 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
//---------------机修人员-------------------
|
||||
|
export const eamAdminSearch = data => createAPI(`/pms/eam/eamAdminSearch`,'post',data) |
||||
|
|
||||
|
export const eamAdminSave = data => createAPI(`/pms/eam/eamAdminSave`,'post',data) |
||||
|
|
||||
|
export const eamAdminEdit = data => createAPI(`/pms/eam/eamAdminEdit`,'post',data) |
||||
|
|
||||
|
export const eamAdminDelete = data => createAPI(`/pms/eam/eamAdminDelete`,'post',data) |
||||
|
|
||||
|
export const initAdminLevel = data => createAPI(`/pms/eam/initAdminLevel`,'post',data) |
||||
|
//获取所有部门
|
||||
|
export const getEmpyDeptList = data => createAPI(`/pms/eam/getEmpyDeptList`,'post',data) |
||||
|
|
||||
|
export const getMesList = data => createAPI(`/pms/eam/getMesList`,'post',data) |
||||
|
|
||||
|
|
||||
|
//---------------设备分类-------------------
|
||||
|
export const eamFamilySearch = data => createAPI(`/pms/eam/eamFamilySearch`,'post',data) |
||||
|
|
||||
|
export const eamFamilySave = data => createAPI(`/pms/eam/eamFamilySave`,'post',data) |
||||
|
|
||||
|
export const eamFamilyEdit = data => createAPI(`/pms/eam/eamFamilyEdit`,'post',data) |
||||
|
|
||||
|
export const eamFamilyDelete = data => createAPI(`/pms/eam/eamFamilyDelete`,'post',data) |
||||
|
//---------------设备分组-------------------
|
||||
|
export const eamGroupSearch = data => createAPI(`/pms/eam/eamGroupSearch`,'post',data) |
||||
|
|
||||
|
export const eamGroupSave = data => createAPI(`/pms/eam/eamGroupSave`,'post',data) |
||||
|
|
||||
|
export const eamGroupEdit = data => createAPI(`/pms/eam/eamGroupEdit`,'post',data) |
||||
|
|
||||
|
export const eamGroupDelete = data => createAPI(`/pms/eam/eamGroupDelete`,'post',data) |
||||
|
|
||||
|
//---------------设备区域-------------------
|
||||
|
export const eamLocationSearch = data => createAPI(`/pms/eam/eamLocationSearch`,'post',data) |
||||
|
|
||||
|
export const eamLocationSave = data => createAPI(`/pms/eam/eamLocationSave`,'post',data) |
||||
|
|
||||
|
export const eamLocationEdit = data => createAPI(`/pms/eam/eamLocationEdit`,'post',data) |
||||
|
|
||||
|
export const eamLocationDelete = data => createAPI(`/pms/eam/eamLocationDelete`,'post',data) |
||||
|
//---------------设备供应商-------------------
|
||||
|
export const eamSupplierSearch = data => createAPI(`/pms/eam/eamSupplierSearch`,'post',data) |
||||
|
|
||||
|
export const eamSupplierSave = data => createAPI(`/pms/eam/eamSupplierSave`,'post',data) |
||||
|
|
||||
|
export const eamSupplierEdit = data => createAPI(`/pms/eam/eamSupplierEdit`,'post',data) |
||||
|
|
||||
|
export const eamSupplierDelete = data => createAPI(`/pms/eam/eamSupplierDelete`,'post',data) |
||||
|
//---------------设备制造商-------------------
|
||||
|
export const eamManufacturerSearch = data => createAPI(`/pms/eam/eamManufacturerSearch`,'post',data) |
||||
|
|
||||
|
export const eamManufacturerSave = data => createAPI(`/pms/eam/eamManufacturerSave`,'post',data) |
||||
|
|
||||
|
export const eamManufacturerEdit = data => createAPI(`/pms/eam/eamManufacturerEdit`,'post',data) |
||||
|
|
||||
|
export const eamManufacturerDelete = data => createAPI(`/pms/eam/eamManufacturerDelete`,'post',data) |
||||
|
//---------------设备人员等级-------------------
|
||||
|
export const eamAdminLevelSearch = data => createAPI(`/pms/eam/eamAdminLevelSearch`,'post',data) |
||||
|
|
||||
|
export const eamAdminLevelSave = data => createAPI(`/pms/eam/eamAdminLevelSave`,'post',data) |
||||
|
|
||||
|
export const eamAdminLevelEdit = data => createAPI(`/pms/eam/eamAdminLevelEdit`,'post',data) |
||||
|
|
||||
|
export const eamAdminLevelDelete = data => createAPI(`/pms/eam/eamAdminLevelDelete`,'post',data) |
||||
|
|
||||
|
//----------------点检项目------------------------
|
||||
|
export const eamPropertiesItemSearch = data => createAPI(`/pms/eam/eamPropertiesItemSearch`,'post',data) |
||||
|
export const eamPropertiesItemSave = data => createAPI(`/pms/eam/eamPropertiesItemSave`,'post',data) |
||||
|
export const eamPropertiesItemEdit = data => createAPI(`/pms/eam/eamPropertiesItemEdit`,'post',data) |
||||
|
export const eamPropertiesItemDelete = data => createAPI(`/pms/eam/eamPropertiesItemDelete`,'post',data) |
||||
|
export const saveItemAvailable = data => createAPI(`/pms/eam/saveItemAvailable`,'post',data) |
||||
|
export const searchItemAvailable = data => createAPI(`/pms/eam/searchItemAvailable`,'post',data) |
||||
|
export const deleteItemAvailable = data => createAPI(`/pms/eam/deleteItemAvailable`,'post',data) |
||||
|
export const deleteModalDetail = data => createAPI(`/pms/eam/deleteModalDetail`,'post',data) |
||||
|
|
||||
|
//---------------点检模板-------------------
|
||||
|
export const eamPropertiesModelSearch = data => createAPI(`/pms/eam/eamPropertiesModelSearch`,'post',data) |
||||
|
export const eamPropertiesModelSave = data => createAPI(`/pms/eam/eamPropertiesModelSave`,'post',data) |
||||
|
export const eamPropertiesModelEdit = data => createAPI(`/pms/eam/eamPropertiesModelEdit`,'post',data) |
||||
|
export const eamPropertiesModelDelete = data => createAPI(`/pms/eam/eamPropertiesModelDelete`,'post',data) |
||||
|
export const searchModalDetails = data => createAPI(`/pms/eam/searchModalDetails`,'post',data) |
||||
|
export const saveModalDetails = data => createAPI(`/pms/eam/saveModalDetails`,'post',data) |
||||
|
export const deleteModalDetails = data => createAPI(`/pms/eam/deleteModalDetails`,'post',data) |
||||
|
|
||||
|
//---------------点检计划-------------------
|
||||
|
export const eamWorkPlanSearch = data => createAPI(`/pms/eam/eamWorkPlanSearch`,'post',data) |
||||
|
export const eamWorkPlanSave = data => createAPI(`/pms/eam/eamWorkPlanSave`,'post',data) |
||||
|
export const eamWorkPlanEdit = data => createAPI(`/pms/eam/eamWorkPlanEdit`,'post',data) |
||||
|
export const eamWorkPlanDelete = data => createAPI(`/pms/eam/eamWorkPlanDelete`,'post',data) |
||||
|
export const searchPlanItems = data => createAPI(`/pms/eam/searchPlanItems`,'post',data) |
||||
|
export const updatePlanItems = data => createAPI(`/pms/eam/updatePlanItems`,'post',data) |
||||
|
export const searchPlanItemAvailable = data => createAPI(`/pms/eam/searchPlanItemAvailable`,'post',data) |
||||
|
export const savePlanItemAvailable = data => createAPI(`/pms/eam/savePlanItemAvailable`,'post',data) |
||||
|
export const deletePlanItemAvailable = data => createAPI(`/pms/eam/deletePlanItemAvailable`,'post',data) |
||||
|
export const createEamWorkOrder = data => createAPI(`/pms/eam/createEamWorkOrder`,'post',data) |
||||
|
export const objectIDBlur = data => createAPI(`/pms/eam/objectIDBlur`,'post',data) |
||||
|
export const modalCodeBlur = data => createAPI(`/pms/eam/modalCodeBlur`,'post',data) |
||||
|
export const planOrder = data => createAPI(`/pms/eam/planOrder`,'post',data) |
||||
|
export const cancelPlan = data => createAPI(`/pms/eam/cancelPlan`,'post',data) |
||||
|
export const getOperatorList = data => createAPI(`/pms/eam/getOperatorList`,'post',data) // 获取机修人员列表
|
||||
|
export const getCheckerList = data => createAPI(`/pms/eam/getCheckerList`,'post',data) // 获取审核人员列表
|
||||
|
|
||||
|
//---------------点检工单-------------------
|
||||
|
export const eamWorkOrderSearch = data => createAPI(`/pms/eam/eamWorkOrderSearch`,'post',data) |
||||
|
export const cancelOrder= data => createAPI(`/pms/eam/cancelOrder`,'post',data) |
||||
|
export const eamWorkOrderReportSearch= data => createAPI(`/pms/eam/eamWorkOrderReportSearch`,'post',data) |
||||
|
export const eamWorkOrderSearchForDefect= data => createAPI(`/pms/eam/eamWorkOrderSearchForDefect`,'post',data) |
||||
|
export const updateWorkOrder= data => createAPI(`/pms/eam/updateWorkOrder`,'post',data) |
||||
|
|
||||
|
//---------------故障-------------------
|
||||
|
export const eamDefectSearch = data => createAPI(`/pms/eam/eamDefectSearch`,'post',data) |
||||
|
|
||||
|
export const eamDefectSave = data => createAPI(`/pms/eam/eamDefectSave`,'post',data) |
||||
|
|
||||
|
export const eamDefectEdit = data => createAPI(`/pms/eam/eamDefectEdit`,'post',data) |
||||
|
|
||||
|
export const eamDefectDelete = data => createAPI(`/pms/eam/eamDefectDelete`,'post',data) |
||||
|
|
||||
|
//---------------设备故障-------------------
|
||||
|
export const eamObjectDefectSearch = data => createAPI(`/pms/eam/eamObjectDefectSearch`,'post',data) |
||||
|
|
||||
|
export const eamObjectDefectSave = data => createAPI(`/pms/eam/eamObjectDefectSave`,'post',data) |
||||
|
|
||||
|
export const eamObjectDefectEdit = data => createAPI(`/pms/eam/eamObjectDefectEdit`,'post',data) |
||||
|
|
||||
|
export const eamObjectDefectDelete = data => createAPI(`/pms/eam/eamObjectDefectDelete`,'post',data) |
||||
|
|
||||
|
export const getObjectList = data => createAPI(`/pms/eam/getObjectList`,'post',data) |
||||
|
export const searchFileUrl = data => createAPI(`/pms/eam/searchFileUrl`,'post',data) |
||||
|
|
||||
|
//---------------点检执行-------------------
|
||||
|
export const eamWorkOrderItemSearch = data => createAPI(`/pms/eam/eamWorkOrderItemSearch`,'post',data) |
||||
|
export const saveCheckOrderReport = data => createAPI(`/pms/eam/saveCheckOrderReport`,'post',data) |
||||
|
export const changeOrderOperator = data => createAPI(`/pms/eam/changeOrderOperator`,'post',data) |
||||
|
export const saveOrderReportForDefect= data => createAPI(`/pms/eam/saveOrderReportForDefect`,'post',data) |
||||
|
export const checkWorkOrder= data => createAPI(`/pms/eam/checkWorkOrder`,'post',data) |
||||
|
export const returnWorkOrder= data => createAPI(`/pms/eam/returnWorkOrder`,'post',data) |
||||
|
export const selectNameByMes= data => createAPI(`/pms/eam/selectNameByMes`,'post',data) |
||||
|
export const submitDefect= data => createAPI(`/pms/eam/submitDefect`,'post',data) |
||||
|
export const submitDefects= data => createAPI(`/pms/eam/submitDefects`,'post',data) |
||||
|
export const eamWorkPlanOverviewSearch= data => createAPI(`/pms/eam/eamWorkPlanOverviewSearch`,'post',data) |
||||
|
export const getPlanDetailList= data => createAPI(`/pms/eam/getPlanDetailList`,'post',data) |
||||
|
export const delPlanDetail= data => createAPI(`/pms/eam/delPlanDetail`,'post',data) |
||||
|
export const getObjList= data => createAPI(`/pms/eam/getObjList`,'post',data) |
||||
|
export const addObject= data => createAPI(`/pms/eam/addObject`,'post',data) |
||||
|
export const delObject= data => createAPI(`/pms/eam/delObject`,'post',data) |
||||
|
export const planObjectSearch= data => createAPI(`/pms/eam/planObjectSearch`,'post',data) |
||||
|
export const queryHistoryRecord= data => createAPI(`/pms/eam/queryHistoryRecord`,'post',data) |
||||
|
//---------------设备清单-------------------
|
||||
|
export const getSpareSelectList= data => createAPI(`/pms/eam/getSpareSelectList`,'post',data) |
||||
|
export const saveObjectSparesData= data => createAPI(`/pms/eam/saveObjectSparesData`,'post',data) |
||||
|
export const copyObjectSparesData= data => createAPI(`/pms/eam/copyObjectSparesData`,'post',data) |
||||
|
export const getWorkPlanDataWithObjectID= data => createAPI(`/pms/eam/getWorkPlanDataWithObjectID`,'post',data) |
||||
|
export const getObjectItemList= data => createAPI(`/pms/eam/getObjectItemList`,'post',data) |
||||
|
export const getDefectWithObject= data => createAPI(`/pms/eam/getDefectWithObject`,'post',data) |
||||
|
export const saveObjectItemData= data => createAPI(`/pms/eam/saveObjectItemData`,'post',data) |
||||
|
export const deleteObjectItem= data => createAPI(`/pms/eam/deleteObjectItem`,'post',data) |
||||
|
export const searchObjectItemAvailable= data => createAPI(`/pms/eam/searchObjectItemAvailable`,'post',data) |
||||
|
export const saveObjectItemAvailable= data => createAPI(`/pms/eam/saveObjectItemAvailable`,'post',data) |
||||
|
export const deleteObjectItemAvailable= data => createAPI(`/pms/eam/deleteObjectItemAvailable`,'post',data) |
||||
|
|
||||
|
//---------------故障反馈-------------------
|
||||
|
export const eamFeedBackSearch= data => createAPI(`/pms/eam/eamFeedBackSearch`,'post',data) |
||||
|
export const cancelFeedBack= data => createAPI(`/pms/eam/cancelFeedBack`,'post',data) |
||||
|
export const saveDefectOrder= data => createAPI(`/pms/eam/saveDefectOrder`,'post',data) |
||||
|
export const imageDelete= data => createAPI(`/pms/eam/imageDelete`,'post',data) |
||||
|
export const getDeptList= data => createAPI(`/pms/eam/getDeptList`,'post',data) |
||||
|
export const updateReportResult= data => createAPI(`/pms/eam/updateReportResult`,'post',data) |
||||
|
export const saveEamGzBbData= data => createAPI(`/pms/eam/saveEamGzBbData`,'post',data) |
||||
|
export const getFeedBackId= data => createAPI(`/pms/eam/getFeedBackId`,'post',data) |
||||
|
export const updateEamDefectFeedBackPlanOperator= data => createAPI(`/pms/eam/updateEamDefectFeedBackPlanOperator`,'post',data) |
||||
|
|
||||
|
//---------------文档类型定义-------------------
|
||||
|
export const eamDocumentTypeSearch= data => createAPI(`/pms/eam/eamDocumentTypeSearch`,'post',data) |
||||
|
export const queryEamDocumentType= data => createAPI(`/pms/eam/queryEamDocumentType`,'post',data) |
||||
|
export const eamDocumentTypeSave= data => createAPI(`/pms/eam/eamDocumentTypeSave`,'post',data) |
||||
|
export const eamDocumentTypeEdit= data => createAPI(`/pms/eam/eamDocumentTypeEdit`,'post',data) |
||||
|
export const eamDocumentTypeDelete= data => createAPI(`/pms/eam/eamDocumentTypeDelete`,'post',data) |
||||
|
|
||||
|
//---------------BU文档清单定义-------------------
|
||||
|
export const eamBuDocumentSearch= data => createAPI(`/pms/eam/eamBuDocumentSearch`,'post',data) |
||||
|
export const queryEamBuDocument= data => createAPI(`/pms/eam/queryEamBuDocument`,'post',data) |
||||
|
export const eamBuDocumentSave= data => createAPI(`/pms/eam/eamBuDocumentSave`,'post',data) |
||||
|
export const eamBuDocumentEdit= data => createAPI(`/pms/eam/eamBuDocumentEdit`,'post',data) |
||||
|
export const eamBuDocumentDelete= data => createAPI(`/pms/eam/eamBuDocumentDelete`,'post',data) |
||||
|
|
||||
|
//---------------快速添加-------------------
|
||||
|
export const getItemLists= data => createAPI(`/pms/eam/getItemLists`,'post',data) |
||||
|
export const deleteObjectFile= data => createAPI(`/pms/eam/deleteObjectFile`,'post',data) |
||||
|
export const checkSparPartImage= data => createAPI(`/pms/eam/checkSparPartImage`,'post',data) |
||||
|
export const refreshItem= data => createAPI(`/pms/eam/refreshItem`,'post',data) |
||||
|
export const reach= data => createAPI(`/pms/eam/reach`,'post',data) |
||||
|
export const searchItemFileUrl= data => createAPI(`/pms/eam/searchItemFileUrl`,'post',data) |
||||
|
|
||||
|
//---------------树形结构-------------------
|
||||
|
export const getFamilyTree= data => createAPI(`/pms/eam/getFamilyTree`,'post',data) |
||||
|
export const getDetail= data => createAPI(`/pms/eam/getDetail`,'post',data) |
||||
|
export const AddTreeselect= data => createAPI(`/pms/eam/AddTreeselect`,'post',data) |
||||
|
export const EditTreeselect= data => createAPI(`/pms/eam/EditTreeselect`,'post',data) |
||||
|
export const getSiteAndBuByUserName= data => createAPI(`/pms/eam/getSiteAndBuByUserName`,'post',data) |
||||
|
|
||||
|
export const eamCheckRecordSearch= data => createAPI(`/pms/eam/eamCheckRecordSearch`,'post',data) |
||||
|
export const eamDefectRecordSearch= data => createAPI(`/pms/eam/eamDefectRecordSearch`,'post',data) |
||||
|
|
||||
|
// 获取用户角色列表
|
||||
|
export const getUserRoleList= data => createAPI(`/pms/eam/getUserRoleList`,'post',data) |
||||
|
// 获取确认权限人员列表
|
||||
|
export const getConfirmButtonOperator= data => createAPI(`/pms/eam/getConfirmButtonOperator`,'post',data) |
||||
|
// 获取故障图片
|
||||
|
export const getFeedBackImages= data => createAPI(`/pms/eam/getFeedBackImages`,'post',data) |
||||
|
// 获取领用出库信息
|
||||
|
export const getInventoryStockList= data => createAPI(`/pms/eam/getInventoryStockList`,'post',data) |
||||
|
// 维修出库
|
||||
|
export const saveTrans= data => createAPI(`/pms/eam/saveTrans`,'post',data) |
||||
|
export const saveCoreComponent= data => createAPI(`/pms/eam/saveCoreComponent`,'post',data) |
||||
|
export const deleteCoreComponents= data => createAPI(`/pms/eam/deleteCoreComponents`,'post',data) |
||||
|
export const confirmDefectOrder= data => createAPI(`/pms/eam/confirmDefectOrder`,'post',data) |
||||
|
export const cancelDefectOrder= data => createAPI(`/pms/eam/cancelDefectOrder`,'post',data) |
||||
|
export const getSparPartImages= data => createAPI(`/pms/eam/getSparPartImages`,'post',data) |
||||
|
export const getRoleByUserName= data => createAPI(`/pms/eam/getRoleByUserName`,'post',data) |
||||
|
export const eamWorkOrderSearch2 = data => createAPI(`/pms/eam/eamWorkOrderSearch2`,'post',data) |
||||
|
export const searchFeedMatterRecord = data => createAPI(`/pms/eam/searchFeedMatterRecord`,'post',data) |
||||
|
export const saveFeedMatter = data => createAPI(`/pms/eam/saveFeedMatter`,'post',data) |
||||
|
export const updateFeedMatter = data => createAPI(`/pms/eam/updateFeedMatter`,'post',data) |
||||
|
export const deleteFeedMatter = data => createAPI(`/pms/eam/deleteFeedMatter`,'post',data) |
||||
|
export const getOperatorListByOrder = data => createAPI(`/pms/eam/getOperatorListByOrder`,'post',data) |
||||
|
export const checkWorkOrders = data => createAPI(`/pms/eam/checkWorkOrders`,'post',data) |
||||
|
export const exportEmployeeAttendanceSearch = data => createAPI(`/pms/eam/exportEmployeeAttendanceSearch`,'post',data) |
||||
|
|
||||
|
// 换线专家组维修执行 转单
|
||||
|
export const updateRepairTypes = data => createAPI(`/pms/eam/updateRepairTypes`,'post',data) |
||||
|
|
||||
|
// 维保模版点检模版项目上下移
|
||||
|
export const goUpItemEam = data => createAPI(`/pms/eam/goUpItemEam`,'post',data) |
||||
|
export const goDownItemEam = data => createAPI(`/pms/eam/goDownItemEam`,'post',data) |
||||
|
|
||||
@ -0,0 +1,41 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
//---------------项目信息-------------------
|
||||
|
export const eamProjectInfoSearch= data => createAPI(`/pms/eamProject/eamProjectInfoSearch`,'post',data) |
||||
|
export const queryEamProjectInfo= data => createAPI(`/pms/eamProject/queryEamProjectInfo`,'post',data) |
||||
|
export const eamProjectInfoSave= data => createAPI(`/pms/eamProject/eamProjectInfoSave`,'post',data) |
||||
|
export const eamProjectInfoEdit= data => createAPI(`/pms/eamProject/eamProjectInfoEdit`,'post',data) |
||||
|
export const eamProjectInfoDelete= data => createAPI(`/pms/eamProject/eamProjectInfoDelete`,'post',data) |
||||
|
export const saveFormalPartNo= data => createAPI(`/pms/eamProject/saveFormalPartNo`,'post',data) |
||||
|
export const getFinalPartDesc= data => createAPI(`/pms/eamProject/getFinalPartDesc`,'post',data) |
||||
|
export const getCustomerNo= data => createAPI(`/pms/eamProject/getCustomerNo`,'post',data) |
||||
|
export const saveNewCustomer= data => createAPI(`/pms/eamProject/saveNewCustomer`,'post',data) |
||||
|
export const eamProjectPartSearch= data => createAPI(`/pms/eamProject/eamProjectPartSearch`,'post',data) |
||||
|
export const queryEamProjectPart= data => createAPI(`/pms/eamProject/queryEamProjectPart`,'post',data) |
||||
|
export const eamProjectPartInfoSave= data => createAPI(`/pms/eamProject/eamProjectPartInfoSave`,'post',data) |
||||
|
export const eamProjectPartInfoEdit= data => createAPI(`/pms/eamProject/eamProjectPartInfoEdit`,'post',data) |
||||
|
export const eamProjectPartInfoCancelEdit= data => createAPI(`/pms/eamProject/eamProjectPartInfoCancelEdit`,'post',data) |
||||
|
export const eamProjectPartInfoDelete= data => createAPI(`/pms/eamProject/eamProjectPartInfoDelete`,'post',data) |
||||
|
export const searchConfirmatorList= data => createAPI(`/pms/eamProject/searchConfirmatorList`,'post',data) |
||||
|
export const addConfirmatory= data => createAPI(`/pms/eamProject/addConfirmatory`,'post',data) |
||||
|
export const deleteConfirmatory= data => createAPI(`/pms/eamProject/deleteConfirmatory`,'post',data) |
||||
|
export const saveProductionValidationDocumentConfirmator= data => createAPI(`/pms/eamProject/saveProductionValidationDocumentConfirmator`,'post',data) |
||||
|
export const saveProductionValidationDocument= data => createAPI(`/pms/eamProject/saveProductionValidationDocument`,'post',data) |
||||
|
export const deleteConfirmatorInformation= data => createAPI(`/pms/eamProject/deleteConfirmatorInformation`,'post',data) |
||||
|
export const deleteDocumentInformation= data => createAPI(`/pms/eamProject/deleteDocumentInformation`,'post',data) |
||||
|
export const checkProductionValidationDocument= data => createAPI(`/pms/eamProject/checkProductionValidationDocument`,'post',data) |
||||
|
export const checkConfirmationRecord= data => createAPI(`/pms/eamProject/checkConfirmationRecord`,'post',data) |
||||
|
export const searchConfirmProgressDocumentList= data => createAPI(`/pms/eamProject/searchConfirmProgressDocumentList`,'post',data) |
||||
|
export const searchConfirmProgressPusherList= data => createAPI(`/pms/eamProject/searchConfirmProgressPusherList`,'post',data) |
||||
|
export const uploadProjectFile= data => createAPI(`/base/uploadProjectFile`,'post',data) |
||||
|
export const updateProjectDocumentConfirm= data => createAPI(`/pms/eamProject/updateProjectDocumentConfirm`,'post',data) |
||||
|
export const searchProjectConfirmatorFileList= data => createAPI(`/pms/eamProject/searchProjectConfirmatorFileList`,'post',data) |
||||
|
export const deleteProjectFile= data => createAPI(`/base/deleteProjectFile`,'post',data) |
||||
|
export const sendMailHandle= data => createAPI(`/pms/eamProject/sendMailHandle`,'post',data) |
||||
|
export const warnSendMailHandle= data => createAPI(`/pms/eamProject/warnSendMailHandle`,'post',data) |
||||
|
export const confirmatorSendMailHandle= data => createAPI(`/pms/eamProject/confirmatorSendMailHandle`,'post',data) |
||||
|
export const agencyMatter= data => createAPI(`/pms/agencyMatter/project-counts`,'post',data) |
||||
|
export const deleteAndSaveHandle= data => createAPI(`/pms/eamProject/deleteAndSaveHandle`,'post',data) |
||||
|
export const saveHandle= data => createAPI(`/pms/eamProject/saveHandle`,'post',data) |
||||
|
|
||||
|
export const searchMassProductionBomList= data => createAPI(`/pms/eamProject/searchMassProductionBomList`,'post',data) |
||||
|
export const searchRoutingList= data => createAPI(`/pms/eamProject/searchRoutingList`,'post',data) |
||||
@ -0,0 +1,66 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
//---------------打样信息-------------------
|
||||
|
export const proofingInformationSearch= data => createAPI(`plm/proofingInformation/proofingInformationSearch`,'post',data) |
||||
|
|
||||
|
//proofingInformationSearchForCheck
|
||||
|
export const proofingInformationSearchForCheck= data => createAPI(`/pms/eamProofing/proofingInformationSearchForCheck`,'post',data) |
||||
|
//proofingInformationSave
|
||||
|
export const proofingInformationSave= data => createAPI(`/plm/proofingInformation/proofingInformationSave`,'post',data) |
||||
|
//deleteProofingRecord
|
||||
|
export const deleteProofingRecord= data => createAPI(`/plm/proofingInformation/deleteProofingRecord`,'post',data) |
||||
|
//getProofDocument
|
||||
|
export const getProofDocument= data => createAPI(`/plm/proofingInformation/getProofDocument`,'post',data) |
||||
|
|
||||
|
export const deleteDocumentType= data => createAPI(`/plm/proofingInformation/deleteDocumentType`,'post',data) |
||||
|
|
||||
|
//proofingDocumentSave
|
||||
|
export const proofingDocumentSave = data => createAPI(`/plm/proofingInformation/proofingDocumentSave`,'post',data) |
||||
|
//editProofingRecord
|
||||
|
export const editProofingRecord = data => createAPI(`/plm/proofingInformation/editProofingRecord`,'post',data) |
||||
|
//getExtraDocumentList
|
||||
|
export const getExtraDocumentList= data => createAPI(`/plm/proofingInformation/getExtraDocumentList`,'post',data) |
||||
|
//proofingDocumentNEW
|
||||
|
export const proofingDocumentNEW= data => createAPI(`/plm/proofingInformation/proofingDocumentNEW`,'post',data) |
||||
|
|
||||
|
export const getProjectOtherDocument= data => createAPI(`/plm/proofingInformation/getProofDocument`,'post',data) |
||||
|
|
||||
|
export const projectDocumentSave= data => createAPI(`/plm/proofingInformation/projectDocumentSave`,'post',data) |
||||
|
|
||||
|
export const editProjectDocument= data => createAPI(`/plm/proofingInformation/editProjectDocument`,'post',data) |
||||
|
|
||||
|
export const searchProjectAllDocument= data => createAPI(`/plm/proofingInformation/searchProjectAllDocument`,'post',data) |
||||
|
|
||||
|
export const deleteProofDocument= data => createAPI(`/plm/proofingInformation/deleteProofDocument`,'post',data) |
||||
|
|
||||
|
export const searchProjectUploadsDocumentList= data => createAPI(`/plm/proofingInformation/searchProjectUploadsDocumentList`,'post',data) |
||||
|
|
||||
|
export const searchProjectOverUploadsDocumentList= data => createAPI(`/plm/proofingInformation/searchProjectOverUploadsDocumentList`,'post',data) |
||||
|
|
||||
|
export const searchAllProjectUploadsDocumentList= data => createAPI(`/plm/proofingInformation/searchAllProjectUploadsDocumentList`,'post',data) |
||||
|
|
||||
|
export const queryProjectUploadsDocumentList= data => createAPI(`/plm/proofingInformation/queryProjectUploadsDocumentList`,'post',data) |
||||
|
|
||||
|
export const queryProjectOverUploadsDocumentList= data => createAPI(`/plm/proofingInformation/queryProjectOverUploadsDocumentList`,'post',data) |
||||
|
|
||||
|
export const queryAllProjectUploadsDocumentList= data => createAPI(`/plm/proofingInformation/queryAllProjectUploadsDocumentList`,'post',data) |
||||
|
|
||||
|
export const searchConfirmProgressList= data => createAPI(`/plm/proofingInformation/searchConfirmProgressList`,'post',data) |
||||
|
|
||||
|
export const searchAllConfirmProgressList= data => createAPI(`/plm/proofingInformation/searchAllConfirmProgressList`,'post',data) |
||||
|
|
||||
|
export const searchOverConfirmProgressList= data => createAPI(`/plm/proofingInformation/searchOverConfirmProgressList`,'post',data) |
||||
|
|
||||
|
export const queryOverConfirmProgressList= data => createAPI(`/plm/proofingInformation/queryOverConfirmProgressList`,'post',data) |
||||
|
|
||||
|
export const queryAllConfirmProgressList= data => createAPI(`/plm/proofingInformation/queryAllConfirmProgressList`,'post',data) |
||||
|
|
||||
|
export const queryConfirmProgressList= data => createAPI(`/plm/proofingInformation/searchConfirmProgressDocumentList`,'post',data) |
||||
|
|
||||
|
export const searchAllProofing= data => createAPI(`/plm/proofingInformation/searchAllProofing`,'post',data) |
||||
|
|
||||
|
export const queryAllProofing= data => createAPI(`/plm/proofingInformation/queryAllProofing2`,'post',data) |
||||
|
|
||||
|
export const getCopyDocumentFileList= data => createAPI(`/plm/proofingInformation/getCopyDocumentFileList`,'post',data) |
||||
|
|
||||
|
export const copyDocumentFileToDoc= data => createAPI(`/plm/proofingInformation/copyDocumentFileToDoc`,'post',data) |
||||
@ -0,0 +1,6 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
//---------------设备点检报表-------------------
|
||||
|
export const searchEamObjectSumReport = data => createAPI(`/pms/eamReport/searchEamObjectSumReport`,'post',data) |
||||
|
|
||||
|
export const searchEamOperatorSumReport = data => createAPI(`/pms/eamReport/searchEamOperatorSumReport`,'post',data) |
||||
@ -0,0 +1,60 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
/*查询设备清单*/ |
||||
|
export const getEamObjectList = data => createAPI('pms/eamObject/getEamObjectList','post',data) |
||||
|
/*查询设备的文件内容*/ |
||||
|
export const getFileContentList = data => createAPI('sys/file/getSysFileByOrderRef2','post',data) |
||||
|
/*查询设备的备件清单*/ |
||||
|
export const getDevicePartList = data => createAPI('pms/resourcespare/getResourceSpareListByResourceId','post',data) |
||||
|
/*查询设备的核心备件清单*/ |
||||
|
export const getDeviceCorePartList = data => createAPI('pms/resourcespare/getDeviceCorePartList','post',data) |
||||
|
// 查询核心备件清单
|
||||
|
export const getDeviceCorePartListAll = data => createAPI('pms/resourcespare/getDeviceCorePartListAll','post',data) |
||||
|
/*查询设备的点检项目列表*/ |
||||
|
export const getCheckItemList = data => createAPI('pms/eamObject/getCheckItemList','post',data) |
||||
|
/*查询设备的维保项目列表*/ |
||||
|
export const getMaintenanceItemList = data => createAPI('pms/eamObject/getMaintenanceItemList','post',data) |
||||
|
/*查询设备的维保计划列表*/ |
||||
|
export const getMaintenancePlanList = data => createAPI('pms/eamObject/getMaintenancePlanList','post',data) |
||||
|
/*查询设备的历史工单列表*/ |
||||
|
export const getHistoryOrderList = data => createAPI('pms/eamObject/getHistoryOrderList','post',data) |
||||
|
/*查询设备的故障现象列表*/ |
||||
|
export const getFaultBehaviorList = data => createAPI('pms/eamObject/getFaultBehaviorList','post',data) |
||||
|
/*删除当前设备*/ |
||||
|
export const deleteEamObject = data => createAPI('pms/eamObject/deleteEamObject','post',data) |
||||
|
/*图片上传*/ |
||||
|
export const uploadEamObjectFile = data => createAPI('/sys/file/upload','post',data) |
||||
|
|
||||
|
export const downLoadObjectFile = data => createAPI(`pms/eamObject/downLoadObjectFile?id=`+data.id,'post',777) |
||||
|
|
||||
|
export const downLoadObjectFile2 = data => createAPI(`pms/eamObject/downLoadObjectFile2?id=${data.id}&orderRef3=${data.orderRef3}`,'post',777) |
||||
|
|
||||
|
// ===================================== 设备知识库 =====================================
|
||||
|
export const getObjectList = data => createAPI('pms/eamKnowledgeBase/getObjectList','post',data) // 查设备清单
|
||||
|
export const getKnowledgeBaseList = data => createAPI('/pms/eamKnowledgeBase/getKnowledgeBaseList','post',data) // 查询文件列表
|
||||
|
export const getDefectList = data => createAPI('/pms/eamKnowledgeBase/getDefectList','post',data) // 获取故障列表
|
||||
|
export const saveKnowledgeBase = data => createAPI('/pms/eamKnowledgeBase/saveKnowledgeBase','post',data) // 新增知识库文件
|
||||
|
export const knowledgeBaseUpdate = data => createAPI('/pms/eamKnowledgeBase/knowledgeBaseUpdate','post',data) // 修改知识库文件
|
||||
|
export const knowledgeBaseDelete = data => createAPI('/pms/eamKnowledgeBase/knowledgeBaseDelete','post',data) // 删除知识库文件
|
||||
|
export const knowledgeBaseUpload = data => createAPI('/pms/eamKnowledgeBase/knowledgeBaseUpload','post',data) // 上传知识库文件
|
||||
|
export const knowledgeBaseDeleteSome = data => createAPI('/pms/eamKnowledgeBase/knowledgeBaseDeleteSome','post',data) // 批量删除知识库文件
|
||||
|
export const getKnowledgeBaseListByObjectId = data => createAPI('/pms/eamKnowledgeBase/getKnowledgeBaseListByObjectId','post',data) // 根据设备id查知识库记录
|
||||
|
export const searchKnowledgeBaseFile = data => createAPI('/pms/eamKnowledgeBase/searchKnowledgeBaseFile','post',data) // 查看图片
|
||||
|
|
||||
|
export const getInspectionFile = data => createAPI('sys/file/getInspectionFile','post',data) |
||||
|
|
||||
|
export const downLoadObjectFileMes = data => createAPI(`pms/eamObject/downLoadObjectFileMes?id=`+data.id,'post',777) |
||||
|
|
||||
|
// ===================================== 设备SOP清单 =====================================
|
||||
|
export const eamObjectSopListSearch = data => createAPI('pms/eamObject/eamObjectSopListSearch','post',data) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,65 @@ |
|||||
|
import Vue from "vue"; |
||||
|
import axios from 'axios'; |
||||
|
const qs = require('qs'); |
||||
|
var apiServer = (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl); |
||||
|
var http = axios.create({ |
||||
|
timeout: 10000, |
||||
|
headers: {}, |
||||
|
transformRequest: data => { |
||||
|
if (typeof data === 'object') { |
||||
|
return qs.stringify(data, { arrayFormat: 'brackets' }); |
||||
|
} |
||||
|
return data; |
||||
|
} |
||||
|
}); |
||||
|
export default { |
||||
|
axios: http, |
||||
|
$post(url, data, callback, error) { |
||||
|
// 添加 headers 配置项
|
||||
|
const config = { |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json;charset=UTF-8', |
||||
|
'token': Vue.cookie.get('token') |
||||
|
} |
||||
|
}; |
||||
|
let p = http.post(apiServer +url, JSON.stringify(data), config); |
||||
|
if (callback) { |
||||
|
p.then(res => { |
||||
|
callback(res); |
||||
|
}) |
||||
|
} |
||||
|
if (error) { |
||||
|
p.catch(err => { |
||||
|
error(err); |
||||
|
}); |
||||
|
} |
||||
|
return p; |
||||
|
}, |
||||
|
file:(url, data, succ, err )=>{ |
||||
|
let requestUrl = apiServer + url; |
||||
|
var xhr = new XMLHttpRequest(); |
||||
|
xhr.open('POST', requestUrl, true); |
||||
|
xhr.responseType = "blob"; |
||||
|
xhr.withCredentials = true; |
||||
|
xhr.setRequestHeader("X-API", "true"); |
||||
|
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); |
||||
|
xhr.setRequestHeader("token", Vue.cookie.get('token') ); |
||||
|
xhr.onreadystatechange = function (e) { |
||||
|
if (xhr.readyState === 4) { |
||||
|
if (xhr.status === 200) { |
||||
|
succ(xhr.response) |
||||
|
} else { |
||||
|
var fr = new FileReader(); |
||||
|
fr.onload = function(e) { |
||||
|
var text = fr.result; |
||||
|
console.log(text); |
||||
|
err ? err(text) : alert("请求发生错误:" + text) |
||||
|
}; |
||||
|
fr.readAsText(xhr.response); |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
xhr.send(data); |
||||
|
}, |
||||
|
apiServer: apiServer |
||||
|
}; |
||||
@ -0,0 +1,159 @@ |
|||||
|
import XLSX from "xlsx"; |
||||
|
import ajax from '@/utils/ajax' |
||||
|
import { |
||||
|
Message |
||||
|
} from 'element-ui'; |
||||
|
const excelHeaderName = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; |
||||
|
/** |
||||
|
* excel导出默认选项 |
||||
|
*/ |
||||
|
const exportOptionDefault = { |
||||
|
url: "",//*必填,导出请求地址
|
||||
|
tableRef: undefined,//#1组合必填 导出数据对应列信息,el-table引用
|
||||
|
columnMapping: undefined,//#1组合必填 自定义导出列映射
|
||||
|
fileName: "export.xlsx",//导出文件名
|
||||
|
params: {},//导出请求参数
|
||||
|
rowFetcher: res => {//从请求结果中获取导出行的方式,默认取请求结果中的data作为导出数据
|
||||
|
return (res || {data: []}).data; |
||||
|
}, |
||||
|
columnFormatter: [],//需要格式化的列
|
||||
|
mergeSetting: { |
||||
|
refs: [], //检测需要合并的数据列属性名
|
||||
|
columns: [] //检测需要合并后,要合并的列,以第一条数据为准合并
|
||||
|
}, |
||||
|
dropColumns: [],//导出时需要过滤掉的列
|
||||
|
}; |
||||
|
let HEADERS = []; |
||||
|
for (let i =0;i< 200;i++) { |
||||
|
let c = parseInt(i / 26); |
||||
|
let m = i % 26; |
||||
|
HEADERS.push((c > 0 ? excelHeaderName[c - 1] : "") + excelHeaderName[m]); |
||||
|
} |
||||
|
let validOption = opt => { |
||||
|
let option = Object.assign({}, opt); |
||||
|
if (!option.url) { |
||||
|
throw new Error("request url is required."); |
||||
|
} |
||||
|
if (!option.tableRef && !option.columnMapping) { |
||||
|
throw new Error("element table ref object or columnMapping is required."); |
||||
|
} |
||||
|
if (option.rowFetcher != undefined && typeof option.rowFetcher != "function") { |
||||
|
throw new Error("rowFetcher must be a function with one param."); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
let getMergeSetting = (data, s, allCols) => { |
||||
|
let refCols = s.refs; |
||||
|
let mcols = s.columns; |
||||
|
let mergeList = []; |
||||
|
|
||||
|
let refRow = data[0]; |
||||
|
let mergeSetting = { |
||||
|
s: 0, |
||||
|
e: 0 |
||||
|
}; |
||||
|
for (let i = 0; i < data.length; i++) { |
||||
|
let same = refCols.map(c => data[i][c] === refRow[c]).filter(r => !!r).length == refCols.length; |
||||
|
if (!same) { |
||||
|
mergeSetting.e > mergeSetting.s && (mergeList.push(mergeSetting)); |
||||
|
refRow = data[i]; |
||||
|
mergeSetting = { |
||||
|
s: i, |
||||
|
e: i |
||||
|
}; |
||||
|
} else { |
||||
|
i > mergeSetting.e && (mergeSetting.e = i); |
||||
|
i == data.length - 1 && (mergeList.push(mergeSetting)); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
let setting = []; |
||||
|
mergeList.forEach(e => { |
||||
|
mcols.forEach(c => { |
||||
|
let ci = allCols.indexOf(c); |
||||
|
setting.push({ |
||||
|
s: { |
||||
|
r: e.s + 1, |
||||
|
c: ci |
||||
|
}, |
||||
|
e: { |
||||
|
r: e.e + 1, |
||||
|
c: ci |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
}); |
||||
|
return setting; |
||||
|
} |
||||
|
|
||||
|
let setStyle = (ws, s) => {} |
||||
|
|
||||
|
let getColSetting = (mapping,dropColums) => { |
||||
|
let columns = []; |
||||
|
for (let i = 0; i < mapping.length; i++) { |
||||
|
let c = mapping[i]; |
||||
|
if (dropColums.indexOf(c.columnProp) == -1) { |
||||
|
columns.push({ |
||||
|
property: c.columnProp || c.property, |
||||
|
label: c.columnLabel, |
||||
|
type: "default" |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
return { |
||||
|
columns: columns |
||||
|
}; |
||||
|
} |
||||
|
let export2Excel = opt => { |
||||
|
validOption(opt); |
||||
|
let options = Object.assign({}, exportOptionDefault, opt); |
||||
|
let expColSetting = !!options.tableRef ? options.tableRef : getColSetting(options.columnMapping, options.dropColumns); |
||||
|
ajax.$post(options.url, options.params, resp => { |
||||
|
if (resp.status !== 200) { |
||||
|
Message.error({ |
||||
|
message: resp.description |
||||
|
}); |
||||
|
} |
||||
|
let rows = !!resp.data.rows?options.rowFetcher(resp).rows:resp.data.page.list; |
||||
|
var columns = [ |
||||
|
[] |
||||
|
]; |
||||
|
var keys = []; |
||||
|
let formaters = new Array(); |
||||
|
expColSetting.columns.forEach(column => { |
||||
|
if (!!column.label && column.type === "default") { |
||||
|
columns[0].push(column.label); |
||||
|
keys.push(column.property); |
||||
|
let formater = options.columnFormatter.find(f => !!f[column.property] && typeof f[column.property] == 'function'); |
||||
|
!!formater && (formaters[column.property] = formater[column.property]); |
||||
|
} |
||||
|
}); |
||||
|
rows.forEach(o => { |
||||
|
let list = []; |
||||
|
keys.forEach(k => { |
||||
|
let formater = formaters[k]; |
||||
|
if (!!formater) { |
||||
|
list.push(formater(o[k])); |
||||
|
} else { |
||||
|
list.push(o[k]); |
||||
|
} |
||||
|
}); |
||||
|
columns.push(list); |
||||
|
}); |
||||
|
const ws = XLSX.utils.aoa_to_sheet(columns); |
||||
|
if (!!options.mergeSetting && !!options.mergeSetting.refs && options.mergeSetting.refs.length > 0) { |
||||
|
let merges = getMergeSetting(rows, options.mergeSetting, keys); |
||||
|
ws["!merges"] = merges; |
||||
|
setStyle(ws, merges); |
||||
|
} |
||||
|
// console.log(ws);
|
||||
|
const wb = XLSX.utils.book_new(); |
||||
|
XLSX.utils.book_append_sheet(wb, ws, options.fileName.replace(/\.xlsx/, "")); |
||||
|
XLSX.writeFile(wb, options.fileName); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
export default { |
||||
|
exportTable: export2Excel |
||||
|
} |
||||
@ -0,0 +1,274 @@ |
|||||
|
<template> |
||||
|
<el-dialog class="yzzInput" :title="baseListData.description" append-to-body :close-on-click-modal="false" :close-on-press-escape="false" @close="closeDialog" :visible.sync="visible" width="685px" v-drag> |
||||
|
<el-form label-position="top" inline="inline" size="mini" > |
||||
|
<el-row :gutter="10"> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption1" v-if="baseListData.caption1 != '' && baseListData.caption1 != null"> |
||||
|
<el-input v-model="param1"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption2" v-if="baseListData.caption2 != '' && baseListData.caption2 != null"> |
||||
|
<el-input v-model="param2"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption3" v-if="baseListData.caption3 != '' && baseListData.caption3 != null"> |
||||
|
<el-input v-model="param3"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption4" v-if="baseListData.caption4 != '' && baseListData.caption4 != null"> |
||||
|
<el-input v-model="param4"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption5" v-if="baseListData.caption5 != '' && baseListData.caption5 != null"> |
||||
|
<el-input v-model="param5"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption6" v-if="baseListData.caption6 != '' && baseListData.caption6 != null "> |
||||
|
<el-select v-model="param6" style="width: 120px"> |
||||
|
<el-option label="全部" value=""></el-option> |
||||
|
<el-option label="在用" value="Y"></el-option> |
||||
|
<el-option label="不在用" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-form-item :label="baseListData.caption7" v-if="baseListData.caption7 != '' && baseListData.caption7 != null"> |
||||
|
<el-input v-model="param7"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" > |
||||
|
<el-button style="margin-top: 18px" type="primary" @click="getDataList(false)">查询 |
||||
|
</el-button> |
||||
|
</el-col> |
||||
|
|
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
@row-dblclick="getRowData" |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
{{ scope.row[item.columnProp] }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<span slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="visible = false" type="primary">关闭</el-button> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
|
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
|
||||
|
import { |
||||
|
getChooselistEam, |
||||
|
getChooselistDataEam, |
||||
|
} from "@/api/chooselist/chooselist.js" |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
height: 200, |
||||
|
tagNo: '', |
||||
|
title: '列表', |
||||
|
columnList: [], |
||||
|
queryTable: {}, |
||||
|
visible: false, |
||||
|
dataListLoading: true, |
||||
|
fullscreenLoading: false, |
||||
|
param1: '', |
||||
|
param2: '', |
||||
|
param3: '', |
||||
|
param4: '', |
||||
|
param5: '', |
||||
|
param6: '', |
||||
|
param7: this.$store.state.user.name, |
||||
|
param: '', |
||||
|
conSql: '', |
||||
|
dataList: [], |
||||
|
baseListData: { |
||||
|
caption1: '', |
||||
|
caption2: '', |
||||
|
caption3: '', |
||||
|
caption4: '', |
||||
|
caption5: '', |
||||
|
caption6: '', |
||||
|
caption7: '', |
||||
|
description: '', |
||||
|
fieldname1: '', |
||||
|
fieldname2: '', |
||||
|
fieldname3: '', |
||||
|
fieldname4: '', |
||||
|
fieldname5: '', |
||||
|
fieldname6: '', |
||||
|
sqlcode: '', |
||||
|
tagno: '', |
||||
|
}, |
||||
|
defaultParam: false |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
|
||||
|
// 获取 用户的配置 |
||||
|
init (tagNo, param, conSql) { |
||||
|
this.tagNo = tagNo |
||||
|
this.visible = true |
||||
|
this.param = param |
||||
|
this.conSql = conSql ? conSql : '' |
||||
|
// 根据 tagNo 获取列表 |
||||
|
getChooselistEam({"tagNo": tagNo}).then(({data}) => { |
||||
|
this.columnList = [] |
||||
|
this.baseListData = data.data |
||||
|
let start = data.data.sqlcode.toUpperCase().indexOf("Select".toUpperCase()) |
||||
|
let end = data.data.sqlcode.toUpperCase().indexOf("from".toUpperCase()) |
||||
|
let length = end - start |
||||
|
let columns = data.data.sqlcode.trim().substring(start + 6, length).trim() |
||||
|
let props = columns.split(",") |
||||
|
props.forEach((item, index) => { |
||||
|
let name = '信息列' |
||||
|
switch (index) { |
||||
|
case 0: |
||||
|
name = this.baseListData.caption1 |
||||
|
break; |
||||
|
case 1: |
||||
|
name = this.baseListData.caption2 |
||||
|
break; |
||||
|
case 2: |
||||
|
name = this.baseListData.caption3 |
||||
|
break; |
||||
|
case 3: |
||||
|
name = this.baseListData.caption4 |
||||
|
break; |
||||
|
case 4: |
||||
|
name = this.baseListData.caption5 |
||||
|
break; |
||||
|
case 5: |
||||
|
name = this.baseListData.caption6 |
||||
|
break; |
||||
|
case 6: |
||||
|
name = this.baseListData.caption7 |
||||
|
break; |
||||
|
} |
||||
|
let index1 = item.indexOf(" as ") |
||||
|
let index2 = item.indexOf(".") |
||||
|
let l = item.length |
||||
|
let prop = item |
||||
|
if (index1 > 0) { |
||||
|
prop = item.substring(index1 + 3, l).trim() |
||||
|
} |
||||
|
if (index1 < 0 && index2 > 0) { |
||||
|
prop = item.substring(index2 + 1, l) |
||||
|
} |
||||
|
let column = { |
||||
|
"columnProp": prop.trim(), |
||||
|
"columnLabel": name, |
||||
|
"columnHidden": false, |
||||
|
"columnImage": false, |
||||
|
"columnSortable": false, |
||||
|
"columnWidth": null, |
||||
|
"format": null, |
||||
|
"sortLv": index, |
||||
|
"status": true, |
||||
|
"fixed": false, |
||||
|
"serialNumber": null, |
||||
|
"columnType": null, |
||||
|
"align": null |
||||
|
} |
||||
|
this.columnList.push(column) |
||||
|
}) |
||||
|
this.getDataList(true) |
||||
|
}) |
||||
|
this.dataListLoading = false |
||||
|
}, |
||||
|
|
||||
|
getDataList (bool) { |
||||
|
let sql = this.baseListData.sqlcode |
||||
|
if (bool) { |
||||
|
sql += " and (" + this.baseListData.fieldname1 + " like '%" + this.param + "%' OR " + this.baseListData.fieldname2 + " like '%" + this.param + "%'" + " ) " |
||||
|
} |
||||
|
if (this.param1) { |
||||
|
sql += " and " + this.baseListData.fieldname1 + " like '%" + this.param1 + "%'" |
||||
|
} |
||||
|
if (this.param2) { |
||||
|
sql += " and " + this.baseListData.fieldname2 + " like '%" + this.param2 + "%'" |
||||
|
} |
||||
|
if (this.param3) { |
||||
|
sql += " and " + this.baseListData.fieldname3 + " like '%" + this.param3 + "%'" |
||||
|
} |
||||
|
if (this.param4) { |
||||
|
sql += " and " + this.baseListData.fieldname4 + " like '%" + this.param4 + "%'" |
||||
|
} |
||||
|
if (this.param5) { |
||||
|
sql += " and " + this.baseListData.fieldname5 + " like '%" + this.param5 + "%'" |
||||
|
} |
||||
|
if (this.param6 ) { |
||||
|
sql += " and active like '%" + this.param6 + "%'" |
||||
|
} |
||||
|
if (this.tagNo == 1042) { |
||||
|
sql += " and site = '" + this.$store.state.user.site + "' " |
||||
|
} |
||||
|
// if (this.tagNo <= 500 && this.tagNo !== 93 && this.tagNo !== 201) { |
||||
|
// if (this.param7) { |
||||
|
// sql += " and site in (select site from eam_access_site where username = '" + this.param7 + "') " + " and (site + '-' + bu_no) in (select (a.site + '-' + a.bu_no) from AccessBu as a left join eam_access_site as b on a.site = b.site and a.username = b.username where a.username = '" + this.param7 + "')" |
||||
|
// } |
||||
|
// } |
||||
|
// if (this.tagNo > 500 && this.tagNo < 1000) { |
||||
|
// if (this.param7) { |
||||
|
// sql += " and site in (select site from eam_access_site where username = '" + this.param7 + "') " |
||||
|
// } |
||||
|
// } |
||||
|
sql += this.conSql |
||||
|
getChooselistDataEam({"sqlcode": sql}).then(({data}) => { |
||||
|
if (data.code == 0) { |
||||
|
this.dataList = data.baseListData; |
||||
|
} else { |
||||
|
this.$message.error(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
getRowData (row) { |
||||
|
this.visible = false |
||||
|
this.$emit('getBaseData',row) |
||||
|
}, |
||||
|
|
||||
|
closeDialog () { |
||||
|
this.param1 = '' |
||||
|
this.param2 = '' |
||||
|
this.param3 = '' |
||||
|
this.param4 = '' |
||||
|
this.param5 = '' |
||||
|
this.param6 = '' |
||||
|
this.param7 = this.$store.state.user.name |
||||
|
this.param = '' |
||||
|
this.dataList = [] |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style> |
||||
|
|
||||
|
|
||||
|
</style> |
||||
4202
src/views/modules/qc/FAIResultEntry.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
4173
src/views/modules/qc/FQCResultEntry.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
4240
src/views/modules/qc/IPQCResultEntry.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,222 @@ |
|||||
|
<script> |
||||
|
import {downLoadObjectFile, downLoadObjectFileMes} from '@/api/eam/eam_object_list.js' |
||||
|
import {deleteObjectFile} from '@/api/eam/eam.js' |
||||
|
export default { |
||||
|
name: "iqcFileTable", |
||||
|
props:{ |
||||
|
dataList:{ |
||||
|
type:Array, |
||||
|
required:true |
||||
|
}, |
||||
|
queryLoading:{ |
||||
|
type:Boolean, |
||||
|
default:false, |
||||
|
}, |
||||
|
columns:{ |
||||
|
type:Array, |
||||
|
required: true, |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// 预览 |
||||
|
previewFile (row) { |
||||
|
// 预览文件 |
||||
|
let image = ['jpg', 'jpeg', 'png', 'gif', 'bmp'] |
||||
|
let type = '' |
||||
|
if (image.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'image/' + row.fileType |
||||
|
} |
||||
|
let video = ['mp4', 'avi', 'mov', 'wmv', 'flv'] |
||||
|
if (video.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'video/' + row.fileType |
||||
|
} |
||||
|
let txt = ['txt'] |
||||
|
if (txt.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'text/plain' |
||||
|
} |
||||
|
let office = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'] |
||||
|
if (office.includes(row.fileType.toLowerCase())) { |
||||
|
this.$message.warning(`暂不支持预览${row.fileType.toLowerCase()}文件`) |
||||
|
return |
||||
|
} |
||||
|
let pdf = ['pdf'] |
||||
|
if (pdf.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'application/pdf' |
||||
|
} |
||||
|
if (type === ''){ |
||||
|
this.$message.warning(`暂不支持预览${row.fileType.toLowerCase()}文件`) |
||||
|
return; |
||||
|
} |
||||
|
downLoadObjectFile(row).then(({data}) => { |
||||
|
const blob = new Blob([data], { type: type }); |
||||
|
// 创建URL来生成预览 |
||||
|
const fileURL = URL.createObjectURL(blob); |
||||
|
// 在新标签页中打开文件预览 |
||||
|
const newTab = window.open(fileURL, '_blank') |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 预览 |
||||
|
previewFileMes (row) { |
||||
|
// 预览文件 |
||||
|
let image = ['jpg', 'jpeg', 'png', 'gif', 'bmp'] |
||||
|
let type = '' |
||||
|
if (image.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'image/' + row.fileType |
||||
|
} |
||||
|
let video = ['mp4', 'avi', 'mov', 'wmv', 'flv'] |
||||
|
if (video.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'video/' + row.fileType |
||||
|
} |
||||
|
let txt = ['txt'] |
||||
|
if (txt.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'text/plain' |
||||
|
} |
||||
|
let office = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'] |
||||
|
if (office.includes(row.fileType.toLowerCase())) { |
||||
|
this.$message.warning(`暂不支持预览${row.fileType.toLowerCase()}文件`) |
||||
|
return |
||||
|
} |
||||
|
let pdf = ['pdf'] |
||||
|
if (pdf.includes(row.fileType.toLowerCase())) { |
||||
|
type = 'application/pdf' |
||||
|
} |
||||
|
if (type === ''){ |
||||
|
this.$message.warning(`暂不支持预览${row.fileType.toLowerCase()}文件`) |
||||
|
return; |
||||
|
} |
||||
|
downLoadObjectFileMes(row).then(({data}) => { |
||||
|
const blob = new Blob([data], { type: type }); |
||||
|
// 创建URL来生成预览 |
||||
|
const fileURL = URL.createObjectURL(blob); |
||||
|
// 在新标签页中打开文件预览 |
||||
|
const newTab = window.open(fileURL, '_blank') |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 文件下载 |
||||
|
downloadFile (row) { |
||||
|
downLoadObjectFile(row) |
||||
|
.then(({data}) => { |
||||
|
// 不限制文件下载类型 |
||||
|
const blob = new Blob([data], {type: "application/octet-stream"}) |
||||
|
// 下载文件名称 |
||||
|
const fileName = row.fileName |
||||
|
// a标签下载 |
||||
|
const linkNode = document.createElement('a') |
||||
|
// a标签的download属性规定下载文件的名称 |
||||
|
linkNode.download = fileName |
||||
|
linkNode.style.display = 'none' |
||||
|
// 生成一个Blob URL |
||||
|
linkNode.href = URL.createObjectURL(blob) |
||||
|
document.body.appendChild(linkNode) |
||||
|
// 模拟在按钮上的一次鼠标单击 |
||||
|
linkNode.click() |
||||
|
// 释放URL 对象 |
||||
|
URL.revokeObjectURL(linkNode.href) |
||||
|
document.body.removeChild(linkNode) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 文件下载 |
||||
|
downloadFileMes (row) { |
||||
|
downLoadObjectFileMes(row) |
||||
|
.then(({data}) => { |
||||
|
// 不限制文件下载类型 |
||||
|
const blob = new Blob([data], {type: "application/octet-stream"}) |
||||
|
// 下载文件名称 |
||||
|
const fileName = row.fileName |
||||
|
// a标签下载 |
||||
|
const linkNode = document.createElement('a') |
||||
|
// a标签的download属性规定下载文件的名称 |
||||
|
linkNode.download = fileName |
||||
|
linkNode.style.display = 'none' |
||||
|
// 生成一个Blob URL |
||||
|
linkNode.href = URL.createObjectURL(blob) |
||||
|
document.body.appendChild(linkNode) |
||||
|
// 模拟在按钮上的一次鼠标单击 |
||||
|
linkNode.click() |
||||
|
// 释放URL 对象 |
||||
|
URL.revokeObjectURL(linkNode.href) |
||||
|
document.body.removeChild(linkNode) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 删除文件 |
||||
|
deleteFile (row) { |
||||
|
let tempData = { |
||||
|
site: row.orderRef1, |
||||
|
inspectionNo: row.orderRef2, |
||||
|
buNo: row.orderRef4 |
||||
|
} |
||||
|
this.$confirm('确定要删除此文件?', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
deleteObjectFile(row).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
this.getFileContentData(tempData) |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => {} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<template> |
||||
|
<el-table |
||||
|
:height="350" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="queryLoading" |
||||
|
element-loading-text="拼命加载中" |
||||
|
style="width: 100%; "> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columns" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed===''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="100" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-link v-if="scope.row.orderReftype !== 'mes'" style="cursor: pointer" @click="previewFile(scope.row)">预览</el-link> |
||||
|
<el-link v-if="scope.row.orderReftype !== 'mes'" style="cursor: pointer" @click="downloadFile(scope.row)">下载</el-link> |
||||
|
<el-link v-if="scope.row.orderReftype !== 'mes'" style="cursor: pointer" @click="deleteFile(scope.row)">删除</el-link> |
||||
|
<el-link v-if="scope.row.orderReftype === 'mes'" style="cursor: pointer" @click="previewFileMes(scope.row)">预览</el-link> |
||||
|
<el-link v-if="scope.row.orderReftype === 'mes'" style="cursor: pointer" @click="downloadFileMes(scope.row)">下载</el-link> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</template> |
||||
|
|
||||
|
<style scoped> |
||||
|
|
||||
|
</style> |
||||
3439
src/views/modules/qc/IQCResultEntry.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,746 @@ |
|||||
|
<script> |
||||
|
import {queryOperationForResourceList, |
||||
|
saveOperationForResource, |
||||
|
queytOperationList, |
||||
|
queryResourceList, |
||||
|
deleteOperationForResource, |
||||
|
deleteOperationForResource2, |
||||
|
getResourceDataOperationForResource, |
||||
|
getSiteAndBuByUserName, |
||||
|
queryResourceList2 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
export default { |
||||
|
name: 'OperationForResource', |
||||
|
data () { |
||||
|
return { |
||||
|
queryParams: { |
||||
|
page: 1, |
||||
|
pageCount: 50, |
||||
|
bu:'', |
||||
|
operation: '', |
||||
|
resource: '' |
||||
|
}, |
||||
|
dataList: [], |
||||
|
resourceDataList: [], |
||||
|
total: 0, |
||||
|
modalFlag: false, |
||||
|
resourceFlag:false, |
||||
|
resourceDataFlag:false, |
||||
|
addResourceDataFlag:false, |
||||
|
resourceData:{ |
||||
|
buDesc:'', |
||||
|
operation:'', |
||||
|
operationDesc:'' |
||||
|
}, |
||||
|
ifexist:0, |
||||
|
resourData:{ |
||||
|
resourceId:'', |
||||
|
resourceDesc:'' |
||||
|
}, |
||||
|
itemList1:[], |
||||
|
itemSelections1:[], |
||||
|
itemList2:[], |
||||
|
itemSelections2:[], |
||||
|
operationList:[], |
||||
|
// resourceList:[], |
||||
|
userBuList: [], |
||||
|
modalData: { |
||||
|
page: 1, |
||||
|
pageCount: 50, |
||||
|
operation: '', |
||||
|
resource: '', |
||||
|
resourceList: [] |
||||
|
}, |
||||
|
columns: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 200101106, |
||||
|
serialNumber: '200101106Table1Operation', |
||||
|
tableId: '200101106Table1', |
||||
|
tableName: '用户默认工序设置表', |
||||
|
columnProp: 'buDesc', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: 'BU', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 200101106, |
||||
|
serialNumber: '200101106Table1Operation', |
||||
|
tableId: '200101106Table1', |
||||
|
tableName: '用户默认工序设置表', |
||||
|
columnProp: 'operation', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '工序编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 200101106, |
||||
|
serialNumber: '200101106Table1Operation', |
||||
|
tableId: '200101106Table1', |
||||
|
tableName: '用户默认工序设置表', |
||||
|
columnProp: 'operationDesc', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '工序名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
}, |
||||
|
// { |
||||
|
// userId: this.$store.state.user.name, |
||||
|
// functionId: 200101107, |
||||
|
// serialNumber: '200101107Table1Resource', |
||||
|
// tableId: '200101107Table1', |
||||
|
// tableName: '用户默认工序设置表', |
||||
|
// columnProp: 'resource', |
||||
|
// headerAlign: 'center', |
||||
|
// align: 'center', |
||||
|
// columnLabel: '机台编码', |
||||
|
// columnHidden: false, |
||||
|
// columnImage: false, |
||||
|
// columnSortable: false, |
||||
|
// sortLv: 0, |
||||
|
// status: true, |
||||
|
// fixed: '', |
||||
|
// columnWidth: 80 |
||||
|
// }, |
||||
|
// { |
||||
|
// userId: this.$store.state.user.name, |
||||
|
// functionId: 200101107, |
||||
|
// serialNumber: '200101107Table1Resource', |
||||
|
// tableId: '200101107Table1', |
||||
|
// tableName: '用户默认工序设置表', |
||||
|
// columnProp: 'resourceDesc', |
||||
|
// headerAlign: 'center', |
||||
|
// align: 'center', |
||||
|
// columnLabel: '机台名称', |
||||
|
// columnHidden: false, |
||||
|
// columnImage: false, |
||||
|
// columnSortable: false, |
||||
|
// sortLv: 0, |
||||
|
// status: true, |
||||
|
// fixed: '', |
||||
|
// columnWidth: 80 |
||||
|
// } |
||||
|
], |
||||
|
resourceColomn: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 200101106, |
||||
|
serialNumber: '200101106Table1Operation', |
||||
|
tableId: '200101106Table1', |
||||
|
tableName: '机台基础信息表', |
||||
|
columnProp: 'resourceId', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '机台编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 200101106, |
||||
|
serialNumber: '200101106Table1Operation', |
||||
|
tableId: '200101106Table1', |
||||
|
tableName: '机台基础信息表', |
||||
|
columnProp: 'resourceDesc', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '机台名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
handleQuery () { |
||||
|
queryOperationForResourceList(this.queryParams).then(({data}) => { |
||||
|
if (data.code==0||data.code==3) { |
||||
|
this.dataList = data.rows |
||||
|
this.total = data.total |
||||
|
} |
||||
|
}).catch((errer) => { |
||||
|
this.$message.error(errer) |
||||
|
}) |
||||
|
}, |
||||
|
// 获取用户的bu |
||||
|
getSiteAndBuByUserName () { |
||||
|
let tempData = { |
||||
|
username: this.$store.state.user.name, |
||||
|
} |
||||
|
getSiteAndBuByUserName(tempData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.userBuList = data.rows |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
addDialog () { |
||||
|
this.modalData = { |
||||
|
page: 1, |
||||
|
pageCount: 50, |
||||
|
resource: '', |
||||
|
operation: '', |
||||
|
resourceList: [] |
||||
|
} |
||||
|
this.addResourceDataFlag = false |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
addResourceData(){ |
||||
|
this.addResourceDataFlag = true |
||||
|
this.modalData = { |
||||
|
page: 1, |
||||
|
pageCount: 50, |
||||
|
resource: '', |
||||
|
bu: this.resourceData.bu, |
||||
|
operation: this.resourceData.operation |
||||
|
} |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
async saveModalData(){ |
||||
|
if (this.modalData.bu==null ||this.modalData.bu==''){ |
||||
|
this.$message.warning("请选择BU!") |
||||
|
return |
||||
|
} |
||||
|
if (this.modalData.operation==null ||this.modalData.operation==''){ |
||||
|
this.$message.warning("工序类别不能为空!") |
||||
|
return |
||||
|
} |
||||
|
if (this.modalData.resourceList.length < 1){ |
||||
|
this.$message.warning("请添加机台!") |
||||
|
return |
||||
|
} |
||||
|
// await queryOperationForResourceList(this.modalData).then(({data})=>{ |
||||
|
// if (data.code==3){ |
||||
|
// this.$message.warning("该工序和机台存在记录") |
||||
|
// this.ifexist = data.code |
||||
|
// } |
||||
|
// }).catch() |
||||
|
// if (this.ifexist==3){ |
||||
|
// return |
||||
|
// } |
||||
|
saveOperationForResource(this.modalData).then(({data})=>{ |
||||
|
if (data.code==0){ |
||||
|
this.$message.success("保存成功") |
||||
|
if (this.addResourceDataFlag){ |
||||
|
let param = { |
||||
|
bu: this.resourceData.bu, |
||||
|
operation: this.resourceData.operation |
||||
|
} |
||||
|
getResourceDataOperationForResource(param).then(({data})=>{ |
||||
|
if (data && data.code==0) { |
||||
|
this.resourceDataList = data.rows |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}).catch() |
||||
|
this.modalFlag = false |
||||
|
this.handleQuery() |
||||
|
}, |
||||
|
queryOperationList(){ |
||||
|
queytOperationList().then(({data})=>{ |
||||
|
if (data && data.code === 0) { |
||||
|
this.operationList = data.rows |
||||
|
} |
||||
|
}).catch((error)=>{ |
||||
|
console.log("失败") |
||||
|
console.log(error) |
||||
|
}) |
||||
|
}, |
||||
|
deleteData3(row){ |
||||
|
this.modalData.resourceList = this.modalData.resourceList.filter(item => row.resourceId != item.resourceId) |
||||
|
}, |
||||
|
queryResourceList(){ |
||||
|
let resourceDataList; |
||||
|
if (this.modalData.bu==null ||this.modalData.bu==''){ |
||||
|
this.$message.warning("请选择BU!") |
||||
|
return |
||||
|
} |
||||
|
if (this.modalData.operation==null ||this.modalData.operation==''){ |
||||
|
this.$message.warning("工序类别不能为空!") |
||||
|
return |
||||
|
} |
||||
|
this.resourceData.bu = this.modalData.bu |
||||
|
this.resourceData.operation = this.modalData.operation |
||||
|
getResourceDataOperationForResource(this.resourceData).then(({data})=>{ |
||||
|
if (data && data.code==0) { |
||||
|
resourceDataList = data.rows |
||||
|
// this.itemList2 = resourceDataList |
||||
|
} |
||||
|
}) |
||||
|
this.resourData.site = this.modalData.bu.split('_')[0] |
||||
|
queryResourceList2(this.resourData).then(({data}) => { |
||||
|
if (data.code == 0) { |
||||
|
let itemList = data.rows |
||||
|
if (this.itemList2.length > 0) { |
||||
|
itemList = itemList.filter(item => |
||||
|
!this.itemList2.some(i => i.resourceId === item.resourceId) |
||||
|
) |
||||
|
} |
||||
|
if (resourceDataList != null && resourceDataList.length > 0){ |
||||
|
itemList = itemList.filter(item => |
||||
|
!resourceDataList.some(i => i.resourceId === item.resourceId) |
||||
|
) |
||||
|
} |
||||
|
this.itemList1 = itemList |
||||
|
this.itemList2 = this.modalData.resourceList |
||||
|
this.resourceFlag = true |
||||
|
} |
||||
|
}).catch() |
||||
|
}, |
||||
|
// 添加矩阵 |
||||
|
addItem () { |
||||
|
if (this.itemSelections1 == null || this.itemSelections1.length === 0) { |
||||
|
this.$message.warning('请选择可选机台!') |
||||
|
return |
||||
|
} |
||||
|
let resourceId = [] |
||||
|
this.itemSelections1.forEach(data => { |
||||
|
resourceId.push(data.resourceId) |
||||
|
}) |
||||
|
this.itemList1 = this.itemList1.filter(item => |
||||
|
!resourceId.includes(item.resourceId) |
||||
|
) |
||||
|
this.itemList2.push(...this.itemSelections1) |
||||
|
this.$set(this.modalData, 'resourceList', this.itemList2) |
||||
|
}, |
||||
|
|
||||
|
// 删除矩阵 |
||||
|
deleteItem () { |
||||
|
if (this.itemSelections2 == null || this.itemSelections2.length === 0) { |
||||
|
this.$message.warning('请选择已有机台!') |
||||
|
return |
||||
|
} |
||||
|
this.itemList1.push(...this.itemSelections2) |
||||
|
this.itemList2 = this.itemList2.filter(item => !this.itemSelections2.includes(item)) |
||||
|
this.modalData.resourceList = this.itemList2 |
||||
|
}, |
||||
|
// 可选项目 |
||||
|
itemClickRow1 (row) { |
||||
|
this.$refs.itemTable1.toggleRowSelection(row) |
||||
|
}, |
||||
|
|
||||
|
// 已有项目 |
||||
|
itemClickRow2 (row) { |
||||
|
this.$refs.itemTable2.toggleRowSelection(row) |
||||
|
}, |
||||
|
selectionItem1 (val) { |
||||
|
this.itemSelections1 = val |
||||
|
}, |
||||
|
|
||||
|
selectionItem2 (val) { |
||||
|
this.itemSelections2 = val |
||||
|
}, |
||||
|
selectFlag () { |
||||
|
return true |
||||
|
}, |
||||
|
getRowData (row) { |
||||
|
this.modalData.resource = row.resourceId |
||||
|
this.modalData.resourceDesc = row.resourceDesc |
||||
|
this.resourceFlag = false |
||||
|
}, |
||||
|
deleteData(row){ |
||||
|
this.$confirm(`确认删除该工序及其所有机台信息?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(()=>{ |
||||
|
deleteOperationForResource(row).then(({data})=>{ |
||||
|
if (data.code==0){ |
||||
|
this.$message.success("删除成功") |
||||
|
this.handleQuery() |
||||
|
} |
||||
|
}).catch() |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
deleteData2(row){ |
||||
|
deleteOperationForResource2(row).then(({data})=>{ |
||||
|
if (data&&data.code == 0){ |
||||
|
this.$message.success("删除成功") |
||||
|
let param = { |
||||
|
bu: this.resourceData.bu, |
||||
|
operation: this.resourceData.operation |
||||
|
} |
||||
|
getResourceDataOperationForResource(param).then(({data})=>{ |
||||
|
if (data && data.code==0) { |
||||
|
this.resourceDataList = data.rows |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
getResourceData(row){ |
||||
|
this.resourceData.bu = row.bu |
||||
|
this.resourceData.buDesc = row.buDesc |
||||
|
this.resourceData.operation = row.operation |
||||
|
this.resourceData.operationDesc = row.operationDesc |
||||
|
getResourceDataOperationForResource(row).then(({data})=>{ |
||||
|
if (data && data.code==0) { |
||||
|
this.resourceDataList = data.rows |
||||
|
this.resourceDataFlag = true |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
created () { |
||||
|
// 查询主列表 |
||||
|
this.handleQuery() |
||||
|
//查询工序类别信息 |
||||
|
this.queryOperationList() |
||||
|
// 获取用户的 site 和 bu |
||||
|
this.getSiteAndBuByUserName() |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<template> |
||||
|
<div class="box-container"> |
||||
|
<!-- 查询条件--> |
||||
|
<el-form :inline="true" label-position="top" :model="queryParams"> |
||||
|
<el-form-item :label="'BU'"> |
||||
|
<el-select v-model="queryParams.bu" placeholder="请选择" clearable style="width: 80px"> |
||||
|
<el-option |
||||
|
v-for = "i in userBuList" |
||||
|
:key = "i.buNo" |
||||
|
:label = "i.buDesc" |
||||
|
:value = "i.buNo"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'工序类型'"> |
||||
|
<!-- <el-input v-model="queryParams.operation" clearable style="width: 120px"></el-input>--> |
||||
|
<el-select v-model="queryParams.operation" clearable style="width: 120px"> |
||||
|
<el-option |
||||
|
v-for = "i in operationList" |
||||
|
:key = "i.code" |
||||
|
:label = "i.description" |
||||
|
:value = "i.code"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'机台编码'"> |
||||
|
<el-input v-model="queryParams.resource" clearable style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label=" "> |
||||
|
<el-button type="primary" @click="handleQuery">查询</el-button> |
||||
|
<el-button type="primary" @click="addDialog()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<!-- 主表信息--> |
||||
|
<div style="height: 90%"> |
||||
|
<el-table :data="dataList" border |
||||
|
height="100%" ref="table"> |
||||
|
<el-table-column label="操作" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a @click="deleteData(scope.row)" type="primary" style="margin-left: 2px">{{'删除'}}</a> |
||||
|
<a @click="getResourceData(scope.row,1)" type="primary" style="margin-left: 2px">{{'机台信息'}}</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columns" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed===''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<!-- 分页信息--> |
||||
|
<el-pagination |
||||
|
style="margin-top: 5px" |
||||
|
:current-page="queryParams.page" |
||||
|
:page-sizes="[50, 100, 500, 1000]" |
||||
|
:page-size="queryParams.pageCount" |
||||
|
:total="total" |
||||
|
layout="total, sizes, prev, pager, next, jumper"> |
||||
|
</el-pagination> |
||||
|
|
||||
|
<!-- 新增数据dialog--> |
||||
|
<el-dialog title="新增记录" :visible.sync="modalFlag" width="495px"> |
||||
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="BU" prop="bu"> |
||||
|
<el-select v-model="modalData.bu" placeholder="请选择" :disabled="addResourceDataFlag" style="width: 221px"> |
||||
|
<el-option |
||||
|
v-for = "i in userBuList" |
||||
|
:key = "i.buNo" |
||||
|
:label = "i.sitename" |
||||
|
:value = "i.buNo"> |
||||
|
<span style="float: left;width: 100px">{{ i.sitename }}</span> |
||||
|
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px"> |
||||
|
{{ i.buDesc }} |
||||
|
</span> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'工序类型'"> |
||||
|
<el-select v-model="modalData.operation" :disabled="addResourceDataFlag" style="width: 221px"> |
||||
|
<el-option |
||||
|
v-for = "i in operationList" |
||||
|
:key = "i.code" |
||||
|
:label = "i.description" |
||||
|
:value = "i.code"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item :label="'机台编码'">--> |
||||
|
<!-- <span style="cursor: pointer" slot="label" @click="queryResourceList"><a>机台编码</a></span>--> |
||||
|
<!-- <el-input v-model="modalData.resource" readonly style="width: 100px"></el-input>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<!-- <el-form-item :label="'机台名称'">--> |
||||
|
<!-- <el-input v-model="modalData.resourceDesc" disabled style="width: 342px"></el-input>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="queryResourceList()">添加机台</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="modalData.resourceList" |
||||
|
border |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
prop="resourceId" |
||||
|
label="机台编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="resourceDesc" |
||||
|
label="机台名称"> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="操作" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a @click="deleteData3(scope.row)" type="primary" style="margin-left: 2px">{{'删除'}}</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveModalData()">保 存</el-button> |
||||
|
<el-button @click="modalFlag = false">取 消</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 机台详情->快速新增 --> |
||||
|
<el-dialog title="机台新增" :close-on-click-modal="false" v-drag :visible.sync="resourceFlag" width="900px"> |
||||
|
<div style="font-size: 12px"> |
||||
|
<el-form :inline="true" label-position="top" :model="resourData"> |
||||
|
<el-form-item :label="'机台编码'"> |
||||
|
<el-input v-model="resourData.resourceId" clearable style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'机台名称'"> |
||||
|
<el-input v-model="resourData.resourceDesc" clearable style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="queryResourceList">查询</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<el-container style="margin-top: 0px;"> |
||||
|
<el-main style="width: 400px;padding: 0px"> |
||||
|
<span style="font-size: 12px" >可选机台:</span> |
||||
|
<el-table |
||||
|
height="400px" |
||||
|
:data="itemList1" |
||||
|
border |
||||
|
ref="itemTable1" |
||||
|
@row-click="itemClickRow1" |
||||
|
@selection-change="selectionItem1" |
||||
|
highlight-current-row |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
type="selection" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:selectable="selectFlag" |
||||
|
width="50"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="resourceId" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
min-width="110" |
||||
|
label="机台编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="resourceDesc" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
min-width="170" |
||||
|
label="机台名称"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-main> |
||||
|
<el-main style="width: 100px;padding: 0px"> |
||||
|
<div style="margin-top: 182px;margin-left: 18px"> |
||||
|
<el-button type="primary" @click="addItem()">添加>></el-button> |
||||
|
</div> |
||||
|
<div style="margin-top: 15px;margin-left: 18px"> |
||||
|
<el-button type="primary" @click="deleteItem()">删除<<</el-button> |
||||
|
</div> |
||||
|
</el-main> |
||||
|
<el-main style="width: 400px;padding: 0px"> |
||||
|
<span style="font-size: 12px">选中机台:</span> |
||||
|
<el-table |
||||
|
height="400px" |
||||
|
:data="itemList2" |
||||
|
border |
||||
|
ref="itemTable2" |
||||
|
@row-click="itemClickRow2" |
||||
|
@selection-change="selectionItem2" |
||||
|
highlight-current-row |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
type="selection" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:selectable="selectFlag" |
||||
|
width="50"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="resourceId" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
min-width="110" |
||||
|
label="机台编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="resourceDesc" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
min-width="170" |
||||
|
label="机台名称"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-main> |
||||
|
</el-container> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="resourceFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 新增时机台选择dialog--> |
||||
|
<!-- <el-dialog title="选择机台" :close-on-click-modal="false" v-drag :visible.sync="resourceFlag1" width="520px">--> |
||||
|
<!-- <div class="rq">--> |
||||
|
<!-- <el-form :inline="true" label-position="top" :model="resourData">--> |
||||
|
<!-- <el-form-item :label="'机台编码'">--> |
||||
|
<!-- <el-input v-model="resourData.resourceId" clearable style="width: 120px"></el-input>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<!-- <el-form-item :label="'机台名称'">--> |
||||
|
<!-- <el-input v-model="resourData.resourceDesc" clearable style="width: 120px"></el-input>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<!-- <el-form-item :label="' '">--> |
||||
|
<!-- <el-button type="primary" @click="queryResourceList">查询</el-button>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<!-- </el-form>--> |
||||
|
<!-- <el-table--> |
||||
|
<!-- :height="300"--> |
||||
|
<!-- :data="resourceList"--> |
||||
|
<!-- @row-dblclick="getRowData"--> |
||||
|
<!-- border--> |
||||
|
<!-- style="width: 100%;">--> |
||||
|
<!-- <el-table-column--> |
||||
|
<!-- v-for="(item,index) in resourceColomn" :key="index"--> |
||||
|
<!-- :sortable="item.columnSortable"--> |
||||
|
<!-- :prop="item.columnProp"--> |
||||
|
<!-- :header-align="item.headerAlign"--> |
||||
|
<!-- :show-overflow-tooltip="item.showOverflowTooltip"--> |
||||
|
<!-- :align="item.align"--> |
||||
|
<!-- :fixed="item.fixed==''?false:item.fixed"--> |
||||
|
<!-- :min-width="item.columnWidth"--> |
||||
|
<!-- :label="item.columnLabel">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>--> |
||||
|
<!-- <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
<!-- </el-table>--> |
||||
|
<!-- </div>--> |
||||
|
<!-- <el-footer style="height:40px;margin-top: 20px;text-align:center">--> |
||||
|
<!-- <el-button type="primary" @click="resourceFlag=false">关闭</el-button>--> |
||||
|
<!-- </el-footer>--> |
||||
|
<!-- </el-dialog>--> |
||||
|
|
||||
|
<!-- 机台详细信息--> |
||||
|
<el-dialog title="机台信息" :close-on-click-modal="false" v-drag :visible.sync="resourceDataFlag" width="520px"> |
||||
|
<div class="rq"> |
||||
|
<el-form :inline="true" label-position="top"> |
||||
|
<el-form-item :label="'BU'"> |
||||
|
<el-input v-model="resourceData.buDesc" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'工序编码'"> |
||||
|
<el-input v-model="resourceData.operation" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'工序名称'"> |
||||
|
<el-input v-model="resourceData.operationDesc" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item :label="' '">--> |
||||
|
<!-- <el-button type="primary" @click="addResourceData">新增</el-button>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="resourceDataList" |
||||
|
border |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
prop="resource" |
||||
|
label="机台编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="resourceDesc" |
||||
|
label="机台名称"> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="操作" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a @click="deleteData2(scope.row)" type="primary" style="margin-left: 2px">{{'删除'}}</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="resourceDataFlag=false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<style scoped> |
||||
|
|
||||
|
</style> |
||||
4614
src/views/modules/qc/PQCResultEntry.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,193 @@ |
|||||
|
<template> |
||||
|
<div class="customer-css"> |
||||
|
<el-dialog :title="titleCon" :close-on-click-modal="false" :visible.sync="visible" :before-close="closeDialog" :showClose="false" width="390px" style="height: 530px;" class="customer-dialog"> |
||||
|
<el-form :inline="true" label-position="top" label-width="80px"> |
||||
|
<el-row> |
||||
|
<el-col :span="12" style="width:36%"> |
||||
|
<el-form-item class="customer-item" label="检验单号"> |
||||
|
<el-input v-model="pageData.inspectionNo" style="width: 120px;" disabled ></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item class="customer-item" label="项目编码"> |
||||
|
<el-input v-model="pageData.itemNo" style="width: 120px;" disabled ></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<!-- 图像区域 --> |
||||
|
<ul class="content-image" v-viewer> |
||||
|
<li v-for="(item, index) in descImgs" :key="index" style="float: left;display: inline"> |
||||
|
<img :src="item.url" style="width:70px;height: 70px"/> |
||||
|
<!-- 删除图标 --> |
||||
|
<div class="delete-img"> |
||||
|
<i class="el-icon-delete" @click="deleteImage(index,item.id)"></i> |
||||
|
</div> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<el-upload class="customer-upload" drag multiple :file-list="fileList" |
||||
|
action="javascript:void(0);" ref="uploadFile" |
||||
|
:before-upload="beforeUploadHandle" :on-change="onChange" |
||||
|
accept=".jpg,.jpeg,.png,.gif" :auto-upload="false" |
||||
|
style="text-align: left;"> |
||||
|
<i class="el-icon-upload"></i> |
||||
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> |
||||
|
</el-upload> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
<span slot="footer" class="dialog-footer"> |
||||
|
<el-button type="primary" @click="saveUploadFile">保存</el-button> |
||||
|
<el-button type="primary" @click="closeDialog">关闭</el-button> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import {uploadEamObjectFile} from '@/api/eam/com_eam_object_upload_file.js'; |
||||
|
import { |
||||
|
searchItemFileUrl, // 查询文件路径 |
||||
|
imageDelete, // 删除图片 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
/* 引入组件 */ |
||||
|
var functionId = 'C10000002'; |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
titleCon: '项目图片上传', |
||||
|
visible: false, |
||||
|
userId: this.$store.state.user.name, |
||||
|
fileList: [], |
||||
|
pageData: { |
||||
|
site: '', |
||||
|
buNo: '', |
||||
|
username: this.$store.state.user.name, |
||||
|
inspectionNo: '', |
||||
|
itemNo: '', |
||||
|
fileRemark: '', |
||||
|
folder: '' |
||||
|
}, |
||||
|
dataListLoading: false, |
||||
|
descImgs: [], |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// 初始化组件的参数 |
||||
|
init (currentRow) { |
||||
|
// 初始化参数 |
||||
|
this.pageData = JSON.parse(JSON.stringify(currentRow)) |
||||
|
// 打开页面 |
||||
|
this.visible = true |
||||
|
this.descImgs = [] |
||||
|
this.searchItemFileUrl() |
||||
|
}, |
||||
|
// 查询图片列表 |
||||
|
searchItemFileUrl () { |
||||
|
this.descImgs = [] |
||||
|
searchItemFileUrl(this.pageData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
for (let i = 0; i < data.rows.length; i++) { |
||||
|
this.descImgs.push(data.rows[i]) |
||||
|
} |
||||
|
} else { |
||||
|
this.$message.warning(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 上传之前 |
||||
|
beforeUploadHandle (file) { |
||||
|
if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/gif') { |
||||
|
this.$message.error('只支持图片!') |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
// 选择上传文件时 |
||||
|
onChange (file, fileList) { |
||||
|
this.fileList = fileList |
||||
|
}, |
||||
|
// 关闭modal |
||||
|
closeDialog () { |
||||
|
this.fileList = [] |
||||
|
// 清空文件上传记录 |
||||
|
this.$refs.uploadFile.clearFiles() |
||||
|
// 刷新报工的页面 |
||||
|
//this.$emit('refreshPageTables2') |
||||
|
// 关闭当前的页面 |
||||
|
this.visible = false |
||||
|
}, |
||||
|
|
||||
|
// 保修当前的数据 |
||||
|
saveUploadFile () { |
||||
|
// 判断文件是否上传 |
||||
|
if (null == this.fileList || 0 === this.fileList.length) { |
||||
|
this.$message.error("请先上传图片!") |
||||
|
return false |
||||
|
} |
||||
|
const formData = new FormData() |
||||
|
// 片接文件 |
||||
|
for (let i = 0; i < this.fileList.length; i++) { |
||||
|
formData.append("file",this.fileList[i].raw) |
||||
|
} |
||||
|
//formData.append("file", this.fileList[0].raw) |
||||
|
formData.append("site", this.pageData.site) |
||||
|
formData.append("folder", this.pageData.folder) |
||||
|
formData.append("objectID", this.pageData.inspectionNo) |
||||
|
formData.append("orderRef1", this.pageData.itemNo) |
||||
|
formData.append("orderRef4", this.pageData.buNo) |
||||
|
uploadEamObjectFile(formData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.$message.success(data.msg) |
||||
|
// 清空文件上传记录 |
||||
|
this.$refs.uploadFile.clearFiles() |
||||
|
this.searchItemFileUrl() |
||||
|
this.fileList = [] |
||||
|
} else { |
||||
|
this.$message.warning(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 删除图片 |
||||
|
deleteImage (index, id) { |
||||
|
let param = { |
||||
|
id: id |
||||
|
} |
||||
|
this.$confirm(`是否删除该图片?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
imageDelete(param).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.searchItemFileUrl() |
||||
|
this.$message.success(data.msg) |
||||
|
}else { |
||||
|
this.$message.warning(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 点击 X 关闭对话框的回调 |
||||
|
**/ |
||||
|
handleDialogClose () { |
||||
|
this.fileList = [] |
||||
|
// 清空文件上传记录 |
||||
|
this.$refs.uploadFile.clearFiles() |
||||
|
// 刷新报工的页面 |
||||
|
//this.$emit('refreshPageTables2') |
||||
|
} |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped lang="scss"> |
||||
|
|
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue