diff --git a/Dockerfile_prod b/Dockerfile_prod new file mode 100644 index 0000000..a1078c3 --- /dev/null +++ b/Dockerfile_prod @@ -0,0 +1,7 @@ +# 设置基础镜像 +FROM win-nginx + +WORKDIR /opt/eam +COPY nginx_prod.conf /usr/local/nginx/conf/nginx.conf +# 将dist文件中的内容复制到 /opt/eam 这个目录下面 +COPY eam/ /opt/eam diff --git a/nginx_prod.conf b/nginx_prod.conf new file mode 100644 index 0000000..8cb1610 --- /dev/null +++ b/nginx_prod.conf @@ -0,0 +1,60 @@ +user root; +worker_processes 2; + +events { + worker_connections 1024; +} + +http { + include mime.types; + charset utf-8,gbk; + default_type application/octet-stream; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for" "$request_time $upstream_response_time"'; + + proxy_cache_path /opt/nginx_cache/ levels=1:2 keys_zone=my_zone:10m inactive=300s max_size=5g; + access_log logs/access.log main; + sendfile on; + #tcp_nopush on; + keepalive_timeout 600s; + client_max_body_size 200m; + gzip on; + gzip_min_length 10k; + gzip_comp_level 9; + gzip_buffers 4 16k; + gzip_types text/plain application/javascript text/css application/xml text/javascript image/jpeg image/gif image/png; + gzip_vary on; + gzip_disable "MSIE [1-6]\."; + upstream eam { + server localhost:90 weight=10 max_fails=3 fail_timeout=10s; + } + server { + listen 80; + server_name_in_redirect off; + server_name dev.ccwin-in.com; + location /api/ { + proxy_pass http://eam/; + proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; + proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $http_x_forwarded_for; + } + location /profile/ { + proxy_cache my_zone; + proxy_cache_valid 200 304 12h; + proxy_cache_key $host$uri$is_args$args; + alias /opt/profile/; + index index.html index.htm; + } + location / { + proxy_cache my_zone; + proxy_cache_valid 200 304 12h; + proxy_cache_key $host$uri$is_args$args; + try_files $uri $uri/ /index.html; + root /opt/eam; + index index.html index.htm; + } + } +} diff --git a/src/api/eam/basic/deviceMaintenance/index.ts b/src/api/eam/basic/deviceMaintenance/index.ts index 2b4a946..85247fe 100644 --- a/src/api/eam/basic/deviceMaintenance/index.ts +++ b/src/api/eam/basic/deviceMaintenance/index.ts @@ -49,8 +49,8 @@ export const updateDeviceMoldItems = async (data: DeviceMoldItemsVO) => { } // 删除项记录表(设备 模具 保养 维修 巡检点检) -export const deleteDeviceMoldItems = async (id: number) => { - return await request.delete({ url: `/eam/device-mold-items/delete?id=` + id }) +export const deleteDeviceMoldItems = async (id: number,remark: string) => { + return await request.delete({ url: `/eam/device-mold-items/delete?id=` + id + `&remark=` + remark }) } // 导出项记录表(设备 模具 保养 维修 巡检点检) Excel diff --git a/src/api/eam/basic/deviceMoldItemsHistory/index.ts b/src/api/eam/basic/deviceMoldItemsHistory/index.ts new file mode 100644 index 0000000..10c620e --- /dev/null +++ b/src/api/eam/basic/deviceMoldItemsHistory/index.ts @@ -0,0 +1,60 @@ +import request from '@/config/axios' + +export interface DeviceMoldItemsHistoryVO { + id: number + name: string + deviceNumber: string + executionCycle: string + equipmentParts: string + type: string + status: string + peoples: number + estimatedMinutes: number + remark: string + siteId: string + available: string + concurrencyStamp: number + peopleNum: number + maintenanceTime: number +} + +// 查询项记录历史表(设备 模具 保养 维修 巡检点检)列表 +export const getDeviceMoldItemsHistoryPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/record/device-mold-items-history/senior', data }) + } else { + return await request.get({ url: `/record/device-mold-items-history/page`, params }) + } +} + +// 查询项记录历史表(设备 模具 保养 维修 巡检点检)详情 +export const getDeviceMoldItemsHistory = async (id: number) => { + return await request.get({ url: `/record/device-mold-items-history/get?id=` + id }) +} + +// 新增项记录历史表(设备 模具 保养 维修 巡检点检) +export const createDeviceMoldItemsHistory = async (data: DeviceMoldItemsHistoryVO) => { + return await request.post({ url: `/record/device-mold-items-history/create`, data }) +} + +// 修改项记录历史表(设备 模具 保养 维修 巡检点检) +export const updateDeviceMoldItemsHistory = async (data: DeviceMoldItemsHistoryVO) => { + return await request.put({ url: `/record/device-mold-items-history/update`, data }) +} + +// 删除项记录历史表(设备 模具 保养 维修 巡检点检) +export const deleteDeviceMoldItemsHistory = async (id: number) => { + return await request.delete({ url: `/record/device-mold-items-history/delete?id=` + id }) +} + +// 导出项记录历史表(设备 模具 保养 维修 巡检点检) Excel +export const exportDeviceMoldItemsHistory = async (params) => { + return await request.download({ url: `/record/device-mold-items-history/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/record/device-mold-items-history/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/basic/inspection/index.ts b/src/api/eam/basic/inspection/index.ts index d03b962..4931600 100644 --- a/src/api/eam/basic/inspection/index.ts +++ b/src/api/eam/basic/inspection/index.ts @@ -77,8 +77,8 @@ export const updateMoldItems = async (data: DeviceMoldItemsVO) => { } // 删除项记录表(设备 模具 保养 维修 巡检点检) -export const deleteDeviceMoldItems = async (id: number) => { - return await request.delete({ url: `/eam/device-mold-items/delete?id=` + id }) +export const deleteDeviceMoldItems = async (id: number, remark: string) => { + return await request.delete({ url: `/eam/device-mold-items/delete?id=` + id + `&remark=` + remark }) } // 导出项记录表(设备 模具 保养 维修 巡检点检) Excel diff --git a/src/api/eam/basic/moldMaintenance/index.ts b/src/api/eam/basic/moldMaintenance/index.ts index 058610a..4a1fdbc 100644 --- a/src/api/eam/basic/moldMaintenance/index.ts +++ b/src/api/eam/basic/moldMaintenance/index.ts @@ -49,8 +49,8 @@ export const updateDeviceMoldItems = async (data: DeviceMoldItemsVO) => { } // 删除项记录表(设备 模具 保养 维修 巡检点检) -export const deleteDeviceMoldItems = async (id: number) => { - return await request.delete({ url: `/eam/device-mold-items/delete?id=` + id }) +export const deleteDeviceMoldItems = async (id: number, remark: string) => { + return await request.delete({ url: `/eam/device-mold-items/delete?id=` + id + `&remark=` + remark }) } // 导出项记录表(设备 模具 保养 维修 巡检点检) Excel diff --git a/src/api/eam/device/deviceMaintainOrderMain/index.ts b/src/api/eam/device/deviceMaintainOrderMain/index.ts index dbf554e..a79189c 100644 --- a/src/api/eam/device/deviceMaintainOrderMain/index.ts +++ b/src/api/eam/device/deviceMaintainOrderMain/index.ts @@ -70,3 +70,7 @@ export const orderClickFinish = (id: number) => { return request.get({ url: '/eam/device-maintain-job-main/orderClickFinish?id=' + id }) } +// 验证 +export const orderClickApprove = (id: number,status: string,verifyContent: string) => { + return request.get({ url: '/eam/device-maintain-job-main/orderClickVerify?id=' + id + '&status=' + status + '&verifyContent=' + verifyContent }) +} diff --git a/src/api/eam/device/deviceMaintenanceMain/index.ts b/src/api/eam/device/deviceMaintenanceMain/index.ts index b87f9aa..cbf5469 100644 --- a/src/api/eam/device/deviceMaintenanceMain/index.ts +++ b/src/api/eam/device/deviceMaintenanceMain/index.ts @@ -87,5 +87,8 @@ export const verifyOrder = async (params) => { } - +// 确认维修工单 +export const confirmOrder = async (params) => { + return await request.get({ url: `/eam/device-maintenance-job-main/orderClick`, params}) +} diff --git a/src/api/eam/device/deviceRepair/index.ts b/src/api/eam/device/deviceRepair/index.ts index 42b4864..149e64b 100644 --- a/src/api/eam/device/deviceRepair/index.ts +++ b/src/api/eam/device/deviceRepair/index.ts @@ -59,4 +59,10 @@ export const importTemplate = () => { // 撤销申请 export const rejected = (id: Number) => { return request.delete({ url: '/eam/device-repair-request/rejected?id=' + id }) -} \ No newline at end of file +} + + +// 根据单号查询申请工单信息 +export const getOrderByNumber = (number: Number) => { + return request.get({ url: '/eam/device-repair-request/getOrderByNumber?number=' + number }) +} diff --git a/src/api/eam/mold/moldMaintainOrderMain/index.ts b/src/api/eam/mold/moldMaintainOrderMain/index.ts index 87a13ef..91f5c03 100644 --- a/src/api/eam/mold/moldMaintainOrderMain/index.ts +++ b/src/api/eam/mold/moldMaintainOrderMain/index.ts @@ -71,3 +71,10 @@ export const orderClickFinish = (id: number) => { return request.get({ url: '/eam/device-maintain-job-main/orderClickFinish?id=' + id }) } +// 验证 +export const orderClickApprove = (id: number,status: string,verifyContent: string) => { + return request.get({ url: '/eam/device-maintain-job-main/orderClickApprove?id=' + id + '&status=' + status + '&approveOpinion=' + verifyContent }) +} + + + diff --git a/src/api/eam/mold/moldMaintenanceMain/index.ts b/src/api/eam/mold/moldMaintenanceMain/index.ts index c131617..783a57f 100644 --- a/src/api/eam/mold/moldMaintenanceMain/index.ts +++ b/src/api/eam/mold/moldMaintenanceMain/index.ts @@ -80,6 +80,12 @@ export const finishOrder = async (params) => { } +// 申请人确认工单 +export const confirmOrder = async (params) => { + return await request.get({ url: `/eam/device-maintenance-job-main/orderClick`, params}) +} + + // 校验维修工单 export const verifyOrder = async (params) => { return await request.get({ url: `/eam/device-maintenance-job-main/orderClick`, params}) diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index 2deef46..5ba2ead 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -1039,6 +1039,34 @@ export function selectQrCodeBatchBtn(option:any) { }) } +// 保养 +export function maintainBtn(option:any) { + return __defaultBtnOption(option,{ + label: '保养', + name: 'maintain', + hide: false, + type: 'warning', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} + +// 确认 +export function confirmOrderBtn(option:any) { + return __defaultBtnOption(option,{ + label: '确认', + name: 'confirmOrder', + hide: false, + type: 'success', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} + + + // 默认按钮规则 function __defaultBtnOption(option:any,specific:any){ return { diff --git a/src/views/eam/basic/deviceMaintenance/index.vue b/src/views/eam/basic/deviceMaintenance/index.vue index ca0574d..a1f4fbe 100644 --- a/src/views/eam/basic/deviceMaintenance/index.vue +++ b/src/views/eam/basic/deviceMaintenance/index.vue @@ -54,6 +54,33 @@ + + + + + + + + + diff --git a/src/views/eam/basic/fixedAssets/fixedAssets.data.ts b/src/views/eam/basic/fixedAssets/fixedAssets.data.ts index 2f172f0..9ed3285 100644 --- a/src/views/eam/basic/fixedAssets/fixedAssets.data.ts +++ b/src/views/eam/basic/fixedAssets/fixedAssets.data.ts @@ -138,6 +138,9 @@ export const FixedAssets = useCrudSchemas(reactive([ table: { width: '150', }, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return supplierList.find((account) => account.number == cellValue)?.name + }, form:{ component: 'Select', componentProps: { diff --git a/src/views/eam/basic/inspection/index.vue b/src/views/eam/basic/inspection/index.vue index d6fc1b2..5a9a669 100644 --- a/src/views/eam/basic/inspection/index.vue +++ b/src/views/eam/basic/inspection/index.vue @@ -53,6 +53,34 @@ + + + + + + + + + + diff --git a/src/views/eam/device/devicemaintenancejob/deviceMaintenanceMain.data.ts b/src/views/eam/device/devicemaintenancejob/deviceMaintenanceMain.data.ts index 5e052e9..bedc9dd 100644 --- a/src/views/eam/device/devicemaintenancejob/deviceMaintenanceMain.data.ts +++ b/src/views/eam/device/devicemaintenancejob/deviceMaintenanceMain.data.ts @@ -334,6 +334,129 @@ export const DeviceMaintenanceMain = useCrudSchemas(reactive([ dictType: DICT_TYPE.ORDER_COMPLETE_RESULT, dictClass: 'string', }, + { + label: '报修人', + field: 'declarer', + sort: 'custom', + isDetail: false, + table: { + width: '150', + }, + api: () => userListAll, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userListAll.find((account) => account.id == cellValue)?.nickname + }, + form: { + component: 'Select', + api: () => userListAll, + componentProps: { + disabled: true, + optionsAlias: { + labelField: 'nickname', + valueField: 'id' + }, + filterable: true, + placeholder: "请先选择设备" + }, + }, + isSearch: true, + search: { + component: 'Select', + api: () => userListAll, + componentProps: { + collapseTags: true, + collapseTagsTooltip: true, + optionsAlias: { + labelField: 'nickname', + valueField: 'id' + }, + filterable: true, + } + } + }, + { + label: '报修人', + field: 'declarerDetail', + sort: 'custom', + isDetail: true, + isForm: false, + isSearch: false, + isTable: false, + isTableForm: false, + table: { + width: 150 + } + }, + { + label: '报修人意见', + field: 'applyContent', + sort: 'custom', + table: { + width: 150 + } + }, + { + label: '验证人', + field: 'verifyer', + sort: 'custom', + isDetail: false, + table: { + width: '150', + }, + api: () => userListAll, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userListAll.find((account) => account.id == cellValue)?.nickname + }, + form: { + component: 'Select', + api: () => userListAll, + componentProps: { + disabled: true, + optionsAlias: { + labelField: 'nickname', + valueField: 'id' + }, + filterable: true, + placeholder: "请先选择设备" + }, + }, + isSearch: true, + search: { + component: 'Select', + api: () => userListAll, + componentProps: { + collapseTags: true, + collapseTagsTooltip: true, + optionsAlias: { + labelField: 'nickname', + valueField: 'id' + }, + filterable: true, + } + } + }, + { + label: '验证人', + field: 'verifyerDetail', + sort: 'custom', + table: { + width: 150 + }, + isDetail: true, + isForm: false, + isSearch: false, + isTable: false, + isTableForm: false, + }, + { + label: '验证人意见', + field: 'verifyContent', + sort: 'custom', + table: { + width: 150 + } + }, + { label: '操作', field: 'action', diff --git a/src/views/eam/device/devicemaintenancejob/index.vue b/src/views/eam/device/devicemaintenancejob/index.vue index 817110d..909b6f8 100644 --- a/src/views/eam/device/devicemaintenancejob/index.vue +++ b/src/views/eam/device/devicemaintenancejob/index.vue @@ -143,6 +143,68 @@ + + + + + + 通过 + 驳回 + + + + + + + + + + + + + + + + +