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 @@
+
+
+