diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/src/utils/applyBtns.ts b/src/utils/applyBtns.ts new file mode 100644 index 0000000..e08ffe1 --- /dev/null +++ b/src/utils/applyBtns.ts @@ -0,0 +1,100 @@ +// 操作栏 编辑按钮 +export const editTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return false + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return false + break + } +} +// 编辑栏删除按钮 +export const delTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return true + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return true + break + } +} +// 编辑页面中编辑按钮 +export const editBtn = (applyStatus: string, type: string) => { + if (applyStatus === '审批' && type === 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'detail') { + return true + } + else if (applyStatus === '未通过' && type === 'detail') { + return true + } + else if (applyStatus === '已取消' && type === 'detail') { + return true + } + else { + return false + } +} +// 编辑页面中提交保存按钮 +export const submitBtn = (applyStatus: string, type: string) => { + if (applyStatus === '全部' && type !== 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'update') { + return true + } + else if (applyStatus === '未通过' && type === 'update') { + return true + } + else if (applyStatus === '已取消' && type === 'update') { + return true + } + else { + return false + } +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/src/utils/applyBtns.ts b/src/utils/applyBtns.ts new file mode 100644 index 0000000..e08ffe1 --- /dev/null +++ b/src/utils/applyBtns.ts @@ -0,0 +1,100 @@ +// 操作栏 编辑按钮 +export const editTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return false + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return false + break + } +} +// 编辑栏删除按钮 +export const delTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return true + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return true + break + } +} +// 编辑页面中编辑按钮 +export const editBtn = (applyStatus: string, type: string) => { + if (applyStatus === '审批' && type === 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'detail') { + return true + } + else if (applyStatus === '未通过' && type === 'detail') { + return true + } + else if (applyStatus === '已取消' && type === 'detail') { + return true + } + else { + return false + } +} +// 编辑页面中提交保存按钮 +export const submitBtn = (applyStatus: string, type: string) => { + if (applyStatus === '全部' && type !== 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'update') { + return true + } + else if (applyStatus === '未通过' && type === 'update') { + return true + } + else if (applyStatus === '已取消' && type === 'update') { + return true + } + else { + return false + } +} diff --git a/src/utils/buttonPerm.ts b/src/utils/buttonPerm.ts index a71d150..da0001f 100644 --- a/src/utils/buttonPerm.ts +++ b/src/utils/buttonPerm.ts @@ -10,7 +10,7 @@ agree: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2, 3].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -19,7 +19,7 @@ reject: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -37,8 +37,8 @@ edit: { if: (row: any, permPath: string) => { error(permPath) - // eslint-disable-next-line no-mixed-operators - return hasPermission(permPath) && row.approvalStatusName === '未通过-驳回' || row.approvalStatusName === '草稿箱' || row.approvalStatusName === '已取消' + + return hasPermission(permPath) && row.approvalStatusName === '全部' }, }, submit: { @@ -59,7 +59,7 @@ delete: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName !== '未通过' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '未通过-驳回' && row.approvalStatusName !== '审批中' + return hasPermission(permPath) && row.approvalStatusName !== '待审批' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '审批中' && row.approvalStatusName !== '审批' && row.approvalStatusName !== '已审批' }, disabled: (row: any) => { return row.approvalStatusName === '未通过' || row.approvalStatusName === '已通过' diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/src/utils/applyBtns.ts b/src/utils/applyBtns.ts new file mode 100644 index 0000000..e08ffe1 --- /dev/null +++ b/src/utils/applyBtns.ts @@ -0,0 +1,100 @@ +// 操作栏 编辑按钮 +export const editTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return false + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return false + break + } +} +// 编辑栏删除按钮 +export const delTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return true + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return true + break + } +} +// 编辑页面中编辑按钮 +export const editBtn = (applyStatus: string, type: string) => { + if (applyStatus === '审批' && type === 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'detail') { + return true + } + else if (applyStatus === '未通过' && type === 'detail') { + return true + } + else if (applyStatus === '已取消' && type === 'detail') { + return true + } + else { + return false + } +} +// 编辑页面中提交保存按钮 +export const submitBtn = (applyStatus: string, type: string) => { + if (applyStatus === '全部' && type !== 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'update') { + return true + } + else if (applyStatus === '未通过' && type === 'update') { + return true + } + else if (applyStatus === '已取消' && type === 'update') { + return true + } + else { + return false + } +} diff --git a/src/utils/buttonPerm.ts b/src/utils/buttonPerm.ts index a71d150..da0001f 100644 --- a/src/utils/buttonPerm.ts +++ b/src/utils/buttonPerm.ts @@ -10,7 +10,7 @@ agree: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2, 3].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -19,7 +19,7 @@ reject: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -37,8 +37,8 @@ edit: { if: (row: any, permPath: string) => { error(permPath) - // eslint-disable-next-line no-mixed-operators - return hasPermission(permPath) && row.approvalStatusName === '未通过-驳回' || row.approvalStatusName === '草稿箱' || row.approvalStatusName === '已取消' + + return hasPermission(permPath) && row.approvalStatusName === '全部' }, }, submit: { @@ -59,7 +59,7 @@ delete: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName !== '未通过' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '未通过-驳回' && row.approvalStatusName !== '审批中' + return hasPermission(permPath) && row.approvalStatusName !== '待审批' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '审批中' && row.approvalStatusName !== '审批' && row.approvalStatusName !== '已审批' }, disabled: (row: any) => { return row.approvalStatusName === '未通过' || row.approvalStatusName === '已通过' diff --git a/src/utils/scheduleDict.ts b/src/utils/scheduleDict.ts index e7a6597..b6cd934 100644 --- a/src/utils/scheduleDict.ts +++ b/src/utils/scheduleDict.ts @@ -2,5 +2,15 @@ * 流程字典, 流程代号:流程id-对应表单中的formId */ export enum SCHEDULE { - DEVICE_INFO_APPROVAL = 'sbxxgl', // 设备信息管理, + DEVICE_INFO_APPROVAL = 'sbtzgl ', // 设备台账, + METERING_PLAN_APPROVAL = 'jljhgl', // 计量计划 + METERING_PLAN_EARLY = 'tqsjsq', // 提前送检申请 + METERING_PLAN_DEALY = 'ycsjsq', // 延迟送检申请 + SUBCONTRACTOR_APPROVAL = 'fbfmlgl', // 分包方名录管理 + SUBCONTRACT_REVIEW_APPROVAL = 'fbfpsbgl', // 分包方评审表 + EQUIPMENT_SEALED_APPROVAL = 'sbfcsq', // 设备封存申请 + EQUIPMENT_UNSEALED_APPROVAL = 'sbgfsq', // 设备启封由请 + EQUIPMENT_DISABLE_APPROVAL = 'sbjysq', // 设备禁用申请 + EQUIPMENT_SCRAP_APPROVAL = 'sbbfsq', // 设备报废申请 + EQUIPMENT_DELAY_APPROVAL = 'sbyysq"', // 设备延用申请 } diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/src/utils/applyBtns.ts b/src/utils/applyBtns.ts new file mode 100644 index 0000000..e08ffe1 --- /dev/null +++ b/src/utils/applyBtns.ts @@ -0,0 +1,100 @@ +// 操作栏 编辑按钮 +export const editTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return false + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return false + break + } +} +// 编辑栏删除按钮 +export const delTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return true + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return true + break + } +} +// 编辑页面中编辑按钮 +export const editBtn = (applyStatus: string, type: string) => { + if (applyStatus === '审批' && type === 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'detail') { + return true + } + else if (applyStatus === '未通过' && type === 'detail') { + return true + } + else if (applyStatus === '已取消' && type === 'detail') { + return true + } + else { + return false + } +} +// 编辑页面中提交保存按钮 +export const submitBtn = (applyStatus: string, type: string) => { + if (applyStatus === '全部' && type !== 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'update') { + return true + } + else if (applyStatus === '未通过' && type === 'update') { + return true + } + else if (applyStatus === '已取消' && type === 'update') { + return true + } + else { + return false + } +} diff --git a/src/utils/buttonPerm.ts b/src/utils/buttonPerm.ts index a71d150..da0001f 100644 --- a/src/utils/buttonPerm.ts +++ b/src/utils/buttonPerm.ts @@ -10,7 +10,7 @@ agree: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2, 3].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -19,7 +19,7 @@ reject: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -37,8 +37,8 @@ edit: { if: (row: any, permPath: string) => { error(permPath) - // eslint-disable-next-line no-mixed-operators - return hasPermission(permPath) && row.approvalStatusName === '未通过-驳回' || row.approvalStatusName === '草稿箱' || row.approvalStatusName === '已取消' + + return hasPermission(permPath) && row.approvalStatusName === '全部' }, }, submit: { @@ -59,7 +59,7 @@ delete: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName !== '未通过' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '未通过-驳回' && row.approvalStatusName !== '审批中' + return hasPermission(permPath) && row.approvalStatusName !== '待审批' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '审批中' && row.approvalStatusName !== '审批' && row.approvalStatusName !== '已审批' }, disabled: (row: any) => { return row.approvalStatusName === '未通过' || row.approvalStatusName === '已通过' diff --git a/src/utils/scheduleDict.ts b/src/utils/scheduleDict.ts index e7a6597..b6cd934 100644 --- a/src/utils/scheduleDict.ts +++ b/src/utils/scheduleDict.ts @@ -2,5 +2,15 @@ * 流程字典, 流程代号:流程id-对应表单中的formId */ export enum SCHEDULE { - DEVICE_INFO_APPROVAL = 'sbxxgl', // 设备信息管理, + DEVICE_INFO_APPROVAL = 'sbtzgl ', // 设备台账, + METERING_PLAN_APPROVAL = 'jljhgl', // 计量计划 + METERING_PLAN_EARLY = 'tqsjsq', // 提前送检申请 + METERING_PLAN_DEALY = 'ycsjsq', // 延迟送检申请 + SUBCONTRACTOR_APPROVAL = 'fbfmlgl', // 分包方名录管理 + SUBCONTRACT_REVIEW_APPROVAL = 'fbfpsbgl', // 分包方评审表 + EQUIPMENT_SEALED_APPROVAL = 'sbfcsq', // 设备封存申请 + EQUIPMENT_UNSEALED_APPROVAL = 'sbgfsq', // 设备启封由请 + EQUIPMENT_DISABLE_APPROVAL = 'sbjysq', // 设备禁用申请 + EQUIPMENT_SCRAP_APPROVAL = 'sbbfsq', // 设备报废申请 + EQUIPMENT_DELAY_APPROVAL = 'sbyysq"', // 设备延用申请 } diff --git a/src/utils/useCheckList.ts b/src/utils/useCheckList.ts new file mode 100644 index 0000000..31a16b9 --- /dev/null +++ b/src/utils/useCheckList.ts @@ -0,0 +1,29 @@ +import { ElMessage } from 'element-plus' +import type { TableColumn } from '@/components/NormalTable/table_interface' + +/** + * 检查列表 + * @param list 要检查的表格数据 + * @param columns // 表头信息 + * @param tableTitle // 表格名称 + */ +export function useCheckList(list: { [key: string]: string }[], columns: TableColumn, tableTitle = '') { + for (let index = 0; index < list.length; index++) { + const item = list[index] + for (const prop of columns) { + // 检查必填 + if (prop.required && !item[prop.value]) { + ElMessage.warning(`请先完善${tableTitle}第${index + 1}行中${prop.text}`) + return false + } + // 验证正则 + if (prop.reg && typeof prop.reg === 'function') { + if (!prop.reg(item[prop.value])) { + ElMessage.warning(`${tableTitle}第${index + 1}行中${prop.text}输入不合法`) + return false + } + } + } + } + return true +} diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/src/utils/applyBtns.ts b/src/utils/applyBtns.ts new file mode 100644 index 0000000..e08ffe1 --- /dev/null +++ b/src/utils/applyBtns.ts @@ -0,0 +1,100 @@ +// 操作栏 编辑按钮 +export const editTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return false + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return false + break + } +} +// 编辑栏删除按钮 +export const delTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return true + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return true + break + } +} +// 编辑页面中编辑按钮 +export const editBtn = (applyStatus: string, type: string) => { + if (applyStatus === '审批' && type === 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'detail') { + return true + } + else if (applyStatus === '未通过' && type === 'detail') { + return true + } + else if (applyStatus === '已取消' && type === 'detail') { + return true + } + else { + return false + } +} +// 编辑页面中提交保存按钮 +export const submitBtn = (applyStatus: string, type: string) => { + if (applyStatus === '全部' && type !== 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'update') { + return true + } + else if (applyStatus === '未通过' && type === 'update') { + return true + } + else if (applyStatus === '已取消' && type === 'update') { + return true + } + else { + return false + } +} diff --git a/src/utils/buttonPerm.ts b/src/utils/buttonPerm.ts index a71d150..da0001f 100644 --- a/src/utils/buttonPerm.ts +++ b/src/utils/buttonPerm.ts @@ -10,7 +10,7 @@ agree: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2, 3].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -19,7 +19,7 @@ reject: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -37,8 +37,8 @@ edit: { if: (row: any, permPath: string) => { error(permPath) - // eslint-disable-next-line no-mixed-operators - return hasPermission(permPath) && row.approvalStatusName === '未通过-驳回' || row.approvalStatusName === '草稿箱' || row.approvalStatusName === '已取消' + + return hasPermission(permPath) && row.approvalStatusName === '全部' }, }, submit: { @@ -59,7 +59,7 @@ delete: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName !== '未通过' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '未通过-驳回' && row.approvalStatusName !== '审批中' + return hasPermission(permPath) && row.approvalStatusName !== '待审批' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '审批中' && row.approvalStatusName !== '审批' && row.approvalStatusName !== '已审批' }, disabled: (row: any) => { return row.approvalStatusName === '未通过' || row.approvalStatusName === '已通过' diff --git a/src/utils/scheduleDict.ts b/src/utils/scheduleDict.ts index e7a6597..b6cd934 100644 --- a/src/utils/scheduleDict.ts +++ b/src/utils/scheduleDict.ts @@ -2,5 +2,15 @@ * 流程字典, 流程代号:流程id-对应表单中的formId */ export enum SCHEDULE { - DEVICE_INFO_APPROVAL = 'sbxxgl', // 设备信息管理, + DEVICE_INFO_APPROVAL = 'sbtzgl ', // 设备台账, + METERING_PLAN_APPROVAL = 'jljhgl', // 计量计划 + METERING_PLAN_EARLY = 'tqsjsq', // 提前送检申请 + METERING_PLAN_DEALY = 'ycsjsq', // 延迟送检申请 + SUBCONTRACTOR_APPROVAL = 'fbfmlgl', // 分包方名录管理 + SUBCONTRACT_REVIEW_APPROVAL = 'fbfpsbgl', // 分包方评审表 + EQUIPMENT_SEALED_APPROVAL = 'sbfcsq', // 设备封存申请 + EQUIPMENT_UNSEALED_APPROVAL = 'sbgfsq', // 设备启封由请 + EQUIPMENT_DISABLE_APPROVAL = 'sbjysq', // 设备禁用申请 + EQUIPMENT_SCRAP_APPROVAL = 'sbbfsq', // 设备报废申请 + EQUIPMENT_DELAY_APPROVAL = 'sbyysq"', // 设备延用申请 } diff --git a/src/utils/useCheckList.ts b/src/utils/useCheckList.ts new file mode 100644 index 0000000..31a16b9 --- /dev/null +++ b/src/utils/useCheckList.ts @@ -0,0 +1,29 @@ +import { ElMessage } from 'element-plus' +import type { TableColumn } from '@/components/NormalTable/table_interface' + +/** + * 检查列表 + * @param list 要检查的表格数据 + * @param columns // 表头信息 + * @param tableTitle // 表格名称 + */ +export function useCheckList(list: { [key: string]: string }[], columns: TableColumn, tableTitle = '') { + for (let index = 0; index < list.length; index++) { + const item = list[index] + for (const prop of columns) { + // 检查必填 + if (prop.required && !item[prop.value]) { + ElMessage.warning(`请先完善${tableTitle}第${index + 1}行中${prop.text}`) + return false + } + // 验证正则 + if (prop.reg && typeof prop.reg === 'function') { + if (!prop.reg(item[prop.value])) { + ElMessage.warning(`${tableTitle}第${index + 1}行中${prop.text}输入不合法`) + return false + } + } + } + } + return true +} diff --git a/src/views/dashboard.vue b/src/views/dashboard.vue index 968f136..6294ad5 100644 --- a/src/views/dashboard.vue +++ b/src/views/dashboard.vue @@ -322,3 +322,16 @@ color: #fff !important; } + + diff --git a/.env.development b/.env.development index d0d78d2..35bd2f1 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 页面标题 VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:21611 -# VITE_APP_API_BASEURL = http://111.198.10.15:11638 -# VITE_APP_API_BASEURL = http://111.198.10.15:21609 +# VITE_APP_API_BASEURL = http://139.198.29.133:8089 +# VITE_APP_API_BASEURL = http://111.198.10.15:21611 +VITE_APP_API_BASEURL = http://192.168.8.107:5909 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.production b/.env.production index 4d63cc4..c9ea810 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 西昌计量信息系统 +VITE_APP_TITLE = 计量信息系统 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:21611 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/package.json b/package.json index e3741e8..e7ce0c1 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@types/path-browserify": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", + "@types/vue": "^2.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad08515..4ffa026 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ '@types/path-browserify': ^1.0.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 + '@types/vue': ^2.0.0 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 '@vueuse/core': ^9.5.0 @@ -116,6 +117,7 @@ '@types/path-browserify': 1.0.0 '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.5.0 '@types/qs': 6.9.7 + '@types/vue': 2.0.0 '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 autoprefixer: 10.4.13 @@ -950,6 +952,13 @@ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/vue/2.0.0: + resolution: {integrity: sha512-WDElkBv/o4lVwu6wYHB06AXs4Xo2fwDjJUpvPRc1QQdzkUSiGFjrYuSCy8raxLE5FObgKq8ND7R5gSZTFLK60w==} + deprecated: This is a stub types definition for vuejs (https://github.com/vuejs/vue). vuejs provides its own type definitions, so you don't need @types/vue installed! + dependencies: + vue: 3.2.44 + dev: true + /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} diff --git a/public/config/config.json b/public/config/config.json index 3bd0a89..0127d2f 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -1,4 +1,4 @@ { "title":"计量业务系统", - "baseUrl": "http://111.198.10.15:21611" + "baseUrl": "http://192.168.8.107:5909" } diff --git a/src/api/eqpt/device/certificate.ts b/src/api/eqpt/device/certificate.ts new file mode 100644 index 0000000..85e510d --- /dev/null +++ b/src/api/eqpt/device/certificate.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-证书管理管理 + */ +import request from '@/api/index' +// 分组列表 +export function getCertificateList(data: object) { + return request({ + url: '/equipment/certificate/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/device/group.ts b/src/api/eqpt/device/group.ts new file mode 100644 index 0000000..d534327 --- /dev/null +++ b/src/api/eqpt/device/group.ts @@ -0,0 +1,43 @@ +/** + * 设备台账-设备分组管理 + */ +import request from '@/api/index' +// 分组列表 +export function getGroupList(params: object) { + return request({ + url: '/equipment/group/listPage', + method: 'get', + params, + }) +} +// 编辑 +export function updateGroup(data: object) { + return request({ + url: '/equipment/group/update', + method: 'post', + data, + }) +} +// 编辑 +export function addGroup(data: object) { + return request({ + url: '/equipment/group/add', + method: 'post', + data, + }) +} +// 删除 +export function delGroup(id: string) { + return request({ + url: `/equipment/group/delete?groupId=${id}`, + method: 'post', + }) +} +// 详情 +export function detailGroup(params: object) { + return request({ + url: '/equipment/group/detail', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/device/info.ts b/src/api/eqpt/device/info.ts index 3af7a85..97e82c3 100644 --- a/src/api/eqpt/device/info.ts +++ b/src/api/eqpt/device/info.ts @@ -9,22 +9,29 @@ if (statusName === '全部') { return request({ url: `${prefix}/listPage`, - method: 'get', - params, + method: 'post', + data: params, }) } else if (statusName === '已审批') { return request({ url: '/equipment/approval/approvedListPage', - method: 'get', - params, + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/equipment/approval/toApprovalListPage', + method: 'post', + data: params, }) } else { return request({ url: '/equipment/approval/listPage', - method: 'get', - params, + method: 'post', + data: params, }) } } @@ -32,14 +39,30 @@ export function getInfoListTogether(params: object) { return request({ url: `${prefix}/groupByName`, - method: 'get', - params, + method: 'post', + data: params, }) } // 获取设备列表 export function getInfoList(params: object) { return request({ url: `${prefix}/list`, + method: 'post', + data: params, + }) +} +// 获取设备详情 +export function getInfoDetail(params: object) { + return request({ + url: '/equipment/info/detail', + method: 'get', + params, + }) +} +// 获取设备审批状态基本信息 +export function getApprovalDetail(params: object) { + return request({ + url: 'equipment/approval/detail', method: 'get', params, }) @@ -60,3 +83,56 @@ data, }) } +// 删除记录 +export function deleteInfo(data: object) { + return request({ + url: `/equipment/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 删除设备 +// export function deleteDevice(data: object) { +// return request({ +// url: '/equipment/approval/delete', +// method: 'post', +// data, +// }) +// } +// 取消 +export function cancelInfo(data: object) { + return request({ + url: '/equipment/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/equipment/approval/${type}`, + method: 'post', + data, + }) +} +// 审批记录 +export function getApprovalRecord(id: string) { + return request({ + url: `/equipment/approval/equipmentLog?equipmentId=${id}`, + method: 'get', + }) +} +// 设备流转日志 + +export function getTurnoverLogRecord(id: string) { + return request({ + url: `/equipment/turnoverLog/list?equipmentId=${id}`, + method: 'get', + }) +} +// 设备状态变更记录 +export function getStatusLogRecord(id: string) { + return request({ + url: `/equipment/statusLog/list?equipmentId=${id}`, + method: 'get', + }) +} diff --git a/src/api/eqpt/device/remind.ts b/src/api/eqpt/device/remind.ts new file mode 100644 index 0000000..4f6097e --- /dev/null +++ b/src/api/eqpt/device/remind.ts @@ -0,0 +1,12 @@ +/** + * 设备台账-到期提醒管理 + */ +import request from '@/api/index' +// 列表 +export function getRemindList(data: object) { + return request({ + url: '/equipment/remind/listPage', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/document/index.ts b/src/api/eqpt/document/index.ts new file mode 100644 index 0000000..636a5e4 --- /dev/null +++ b/src/api/eqpt/document/index.ts @@ -0,0 +1,42 @@ +/** + * 文档管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/file/listPage', + method: 'get', + params, + }) +} +// 新建 +export function addDocument(data: object) { + return request({ + url: '/file/add', + method: 'post', + data, + }) +} +// 更新 +export function updateDocument(data: object) { + return request({ + url: '/file/update', + method: 'post', + data, + }) +} +// 详情 +export function detailDocument(id: string) { + return request({ + url: `/file/log?fileId=${id}`, + method: 'get', + }) +} +// 删除 +export function delDocument(id: string) { + return request({ + url: `/file/remove?fileId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/dept.ts b/src/api/eqpt/measurementPlan/dept.ts new file mode 100644 index 0000000..2634685 --- /dev/null +++ b/src/api/eqpt/measurementPlan/dept.ts @@ -0,0 +1,28 @@ +/** + * 部门/负责人送检通知接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(params: object) { + return request({ + url: '/planNotify/listPage', + method: 'get', + params, + }) +} +// 聚合列表 +export function getListTogether(params: object) { + return request({ + url: '/planNotify/equipmentAggr', + method: 'get', + params, + }) +} +// 展开列表 +export function getListExpand(params: object) { + return request({ + url: '/planNotify/relationList', + method: 'get', + params, + }) +} diff --git a/src/api/eqpt/measurementPlan/early.ts b/src/api/eqpt/measurementPlan/early.ts new file mode 100644 index 0000000..4e00d72 --- /dev/null +++ b/src/api/eqpt/measurementPlan/early.ts @@ -0,0 +1,91 @@ +/** + * 延迟/送检申请接口 + */ +import request from '@/api/index' + +// 延迟/送检列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/inspection/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/inspection/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/inspection/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/inspection/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存编辑 +export function editApply(data: object) { + return request({ + url: '/inspection/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitApply(data: object) { + return request({ + url: '/inspection/approval/submit', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/inspection/approval/${type}`, + method: 'post', + data, + }) +} +// 取消 +export function cancelApply(data: object) { + return request({ + url: '/inspection/approval/cancel', + method: 'post', + data, + }) +} +// 详情信息 +export function detailApply(id: string) { + return request({ + url: `/inspection/detail?id=${id}`, + method: 'get', + }) +} +// 删除 +export function delApply(data: object) { + return request({ + url: '/inspection/approval/delete', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/measurementPlan/paln.ts b/src/api/eqpt/measurementPlan/paln.ts new file mode 100644 index 0000000..e1723ec --- /dev/null +++ b/src/api/eqpt/measurementPlan/paln.ts @@ -0,0 +1,119 @@ +/** + * 计量计划接口 + */ +import request from '@/api/index' + +// 计量计划列表-(不同状态) +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/plan/allPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/plan/approval/approvedListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/plan/approval/toApprovalListPage', + method: 'post', + data: { + ...params, + }, + }) + } + else { + return request({ + url: '/plan/approval/listPage', + method: 'post', + data: { + ...params, + }, + }) + } +} +// 保存 +export function editPlan(data: object) { + return request({ + url: '/plan/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitPlan(data: object) { + return request({ + url: '/plan/approval/submit', + method: 'post', + data, + }) +} +// 详情 +export function detailPlan(id: string) { + return request({ + url: `/plan/detail?id=${id}`, + }) +} +// 删除 +export function delPlan(id: string) { + return request({ + url: '/plan/approval/delete', + method: 'post', + data: { + id, + }, + }) +} +// 取消 +export function cancelPlan(data: object) { + return request({ + url: '/plan/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/plan/approval/${type}`, + method: 'post', + data, + }) +} +// 获取聚合数据 +export function getInfoListTogether(id: string) { + return request({ + url: '/plan/equipmentAggr', + params: { + planId: id, + }, + }) +} +// 获取展开数据 +export function getInfoList(id: string, name: string) { + return request({ + url: '/plan/relationList', + params: { + planId: id, + equipmentName: name, + }, + }) +} +// 发送送检通知 + +export function sendNotify(id: string) { + return request({ + url: `/planNotify/notify?planId=${id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/measurementPlan/task.ts b/src/api/eqpt/measurementPlan/task.ts new file mode 100644 index 0000000..3d2901a --- /dev/null +++ b/src/api/eqpt/measurementPlan/task.ts @@ -0,0 +1,44 @@ +/** + * r任务单管理接口 + */ +import request from '@/api/index' +// 分页列表 +export function getListPage(data: object) { + return request({ + url: '/business/order/listPage', + method: 'post', + data, + }) +} +// 新建 +export function addTask(data: object) { + return request({ + url: '/business/order/add', + method: 'post', + data, + }) +} +// 更新 +export function updateTask(data: object) { + return request({ + url: '/business/order/update', + method: 'post', + data, + }) +} +// 详情 +export function detailTask(data: object) { + return request({ + url: '/business/order/detail', + method: 'post', + data, + }) +} +// 取消任务单 +export function cancelTask(data: object) { + return request({ + url: '/business/order/cancel', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/status/index.ts b/src/api/eqpt/status/index.ts new file mode 100644 index 0000000..993c9d9 --- /dev/null +++ b/src/api/eqpt/status/index.ts @@ -0,0 +1,83 @@ +/** + * 状态管理相关接口 + */ +import request from '@/api/index' + +// 不同状态的列表 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/status/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/status/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/status/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/status/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 保存编辑 +export function editStatus(data: object) { + return request({ + url: '/status/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitStatus(data: object) { + return request({ + url: '/status/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteStatus(id: string) { + return request({ + url: `/status/approval/delete?id=${id}`, + method: 'post', + }) +} +// 取消 +export function cancelStatus(data: object) { + return request({ + url: '/status/approval/cancel', + method: 'post', + data, + }) +} +// 详情 +export function detailStatus(params: object) { + return request({ + url: '/status/approval/detail', + method: 'get', + params, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/status/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/certificate.ts b/src/api/eqpt/subpackage/certificate.ts new file mode 100644 index 0000000..f6f3ea6 --- /dev/null +++ b/src/api/eqpt/subpackage/certificate.ts @@ -0,0 +1,27 @@ +/** + * 分包证书管理接口 + */ +import request from '@/api/index' +// 列表 +export function getListPage(params: object) { + return request({ + url: '/subcontract/certificate/listPage', + method: 'get', + params, + }) +} +// 新建编辑 +export function editCertificate(data: object) { + return request({ + url: '/subcontract/certificate/addOrUpdate', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteCertificate(data: object) { + return request({ + url: `/subcontract/certificate/remove?id=${data.id}`, + method: 'post', + }) +} diff --git a/src/api/eqpt/subpackage/directory.ts b/src/api/eqpt/subpackage/directory.ts new file mode 100644 index 0000000..e1bbc12 --- /dev/null +++ b/src/api/eqpt/subpackage/directory.ts @@ -0,0 +1,83 @@ +/** + * 分包名录管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontractor/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontractor/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontractor/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontractor/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontractor/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editDirectory(data: object) { + return request({ + url: '/subcontractor/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitDirectory(data: object) { + return request({ + url: '/subcontractor/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteDirectory(data: object) { + return request({ + url: `/subcontractor/remove?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelDirectory(data: object) { + return request({ + url: '/subcontractor/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontractor/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/subpackage/review.ts b/src/api/eqpt/subpackage/review.ts new file mode 100644 index 0000000..d5bb694 --- /dev/null +++ b/src/api/eqpt/subpackage/review.ts @@ -0,0 +1,83 @@ +/** + * 分包评审表管理接口 + */ +import request from '@/api/index' + +// 不同状态列表分页 +export function getListPage(params: object, statusName: string) { + if (statusName === '全部') { + return request({ + url: '/subcontract/review/allPage', + method: 'post', + data: params, + }) + } + else if (statusName === '已审批') { + return request({ + url: '/subcontract/review/approval/approvedListPage', + method: 'post', + data: params, + }) + } + else if (statusName === '待审批') { + return request({ + url: '/subcontract/review/approval/toApprovalListPage', + method: 'post', + data: params, + }) + } + else { + return request({ + url: '/subcontract/review/approval/listPage', + method: 'post', + data: params, + }) + } +} +// 详情 +export function getDetail(params: object) { + return request({ + url: '/subcontract/review/detail', + method: 'get', + params, + }) +} +// 保存编辑 +export function editReview(data: object) { + return request({ + url: '/subcontract/review/approval/saveOrUpdate', + method: 'post', + data, + }) +} +// 提交 +export function submitReview(data: object) { + return request({ + url: '/subcontract/review/approval/submit', + method: 'post', + data, + }) +} +// 删除记录 +export function deleteReview(data: object) { + return request({ + url: `/subcontract/review/approval/delete?id=${data.id}`, + method: 'post', + }) +} +// 取消 +export function cancelReview(data: object) { + return request({ + url: '/subcontract/review/approval/cancel', + method: 'post', + data, + }) +} +// 审批操作 +export function handlerApproval(type: string, data: { processId?: string; taskId?: string; comments: string }) { + return request({ + url: `/subcontract/review/approval/${type}`, + method: 'post', + data, + }) +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts index befae46..363a960 100644 --- a/src/api/system/dept.ts +++ b/src/api/system/dept.ts @@ -41,7 +41,7 @@ // 添加组织机构 export function addDept(data: object) { return request({ - url: '/sys/extend/dept/add', + url: '/sys/dept/add', method: 'post', data, }) @@ -49,7 +49,7 @@ // 修改组织机构 export function updateDept(data: object) { return request({ - url: '/sys/extend/dept/update', + url: '/sys/dept/update', method: 'post', data, }) @@ -57,7 +57,7 @@ // 删除组织机构 export function delDept(id: string) { return request({ - url: '/sys/extend/dept/delete', + url: '/sys/dept/delete', method: 'post', data: { id, diff --git a/src/api/system/user.ts b/src/api/system/user.ts index b76afc5..1f8697d 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -16,11 +16,11 @@ // 添加用户 export function addUser(data: object) { - return request.post(`${prefix}mgr/add`, data) + return request.post('system/mgr/add', data) } // 修改用户 export function updateUser(data: object) { - return request.post(`${prefix}mgr/update`, data) + return request.post('system/mgr/update', data) } // 删除用户 export function delUser(data: { id: string }) { @@ -69,3 +69,9 @@ // paramsSerializer: (params) => qs.stringify(params, { indices: false }) }) } +// 获取用户所在单位 +export function getUserDept() { + return request({ + url: '/system/company', + }) +} diff --git a/src/assets/icons/icon-jidu.svg b/src/assets/icons/icon-jidu.svg new file mode 100644 index 0000000..54fe8d2 --- /dev/null +++ b/src/assets/icons/icon-jidu.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-month.svg b/src/assets/icons/icon-month.svg new file mode 100644 index 0000000..a862c8a --- /dev/null +++ b/src/assets/icons/icon-month.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/icon-year.svg b/src/assets/icons/icon-year.svg new file mode 100644 index 0000000..de4220d --- /dev/null +++ b/src/assets/icons/icon-year.svg @@ -0,0 +1 @@ + diff --git a/src/components/Approval/ApprovalDialog.vue b/src/components/Approval/ApprovalDialog.vue index 2fb919e..2bb0eef 100644 --- a/src/components/Approval/ApprovalDialog.vue +++ b/src/components/Approval/ApprovalDialog.vue @@ -3,7 +3,7 @@ import { ElMessage } from 'element-plus' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' -import { submitApproval } from '@/api/approval' +import { handlerApproval } from '@/api/eqpt/device/info' /** * 审批弹窗 */ @@ -26,6 +26,8 @@ comments: '', // 备注 user: '', // 当前用户 approvalTime: '', // 当前时间 + processInstanceId: '', + id: '', } // 弹窗类型 agree同意 refuse拒绝 reject驳回 revoke取消 const type = ref('agree') @@ -50,9 +52,11 @@ * @param type 审批类型 * @param taskId 任务id */ -function initDialog(type: string, taskId: string) { +function initDialog(type: string, taskId: string, processInstanceId: string, id: string) { formData.type = type formData.taskId = taskId + formData.processInstanceId = processInstanceId + formData.id = id formData.user = userInfo.name formData.approvalTime = dayjs().format('YYYY-MM-DD HH:mm:ss') formData.comments = '' @@ -65,7 +69,7 @@ if (valid) { btnLoading.value = true if (formData.type) { - submitApproval(formData.type, { taskId: formData.taskId, comments: formData.comments }).then((res) => { + handlerApproval(formData.type, { taskId: formData.taskId, comments: formData.comments, processInstanceId: formData.processInstanceId, id: formData.id }).then((res) => { ElMessage.success('审批完成') btnLoading.value = false dialogVisible.value = false @@ -108,9 +112,9 @@ 同意 - + 拒绝 diff --git a/src/components/DetailPage/DetailBlockCom.vue b/src/components/DetailPage/DetailBlockCom.vue index 13bd2aa..3eee911 100644 --- a/src/components/DetailPage/DetailBlockCom.vue +++ b/src/components/DetailPage/DetailBlockCom.vue @@ -40,7 +40,7 @@ .content { background-color: #fff; - // padding: 0 10px 20px; + padding: 0 10px 20px; margin-top: 10px; } } diff --git a/src/components/dialog/selectEmployeesDialog.vue b/src/components/dialog/selectEmployeesDialog.vue index b3c1920..54ca54c 100644 --- a/src/components/dialog/selectEmployeesDialog.vue +++ b/src/components/dialog/selectEmployeesDialog.vue @@ -51,7 +51,7 @@ endTime: '', deptId: '', offset: 1, - limit: 20, + limit: 30, sort: 'id', deptType: '', }) diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 9f30b7e..f5bc3c9 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -64,6 +64,8 @@ eventBus.emit('global-hotkeys-intro-toggle') break case 'logout': + localStorage.removeItem('currentSys') + routeStore.removeRoutes() userStore.logout().then(() => { router.push({ name: 'login', @@ -98,7 +100,7 @@ - + diff --git a/src/router/modules/tested.ts b/src/router/modules/tested.ts index c105f62..c91417a 100644 --- a/src/router/modules/tested.ts +++ b/src/router/modules/tested.ts @@ -66,6 +66,30 @@ activeMenu: '/planlist', }, }, + { + path: '/plan/:type', + name: 'PlanEdit', + component: () => import('@/views/tested/MeasurementPlan/plan/components/edit.vue'), + meta: { + title: '计量计划编辑', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, + { + path: '/plan/detail', + name: 'PlanDetail', + component: () => import('@/views/tested/MeasurementPlan/plan/components/detail.vue'), + meta: { + title: '计量计划详情', + auth: '/tested/metering/plan', + sidebar: false, + breadcrumb: false, + activeMenu: '/planlist', + }, + }, ], }, { @@ -107,7 +131,7 @@ { path: '/ealypage', name: 'EalyPage', - component: () => import('@/views/tested/MeasurementPlan/ealy/index.vue'), + component: () => import('@/views/tested/MeasurementPlan/early/index.vue'), meta: { title: '提前送检申请', auth: '/tested/metering/ealy', @@ -116,6 +140,30 @@ activeMenu: '/meteringealy', }, }, + { + path: '/ealy/:type', + name: 'EalyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, + { + path: '/ealy/detail', + name: 'EalyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '提前送检编辑', + auth: '/tested/metering/ealy', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringealy', + }, + }, ], }, { @@ -141,6 +189,30 @@ activeMenu: '/meteringdelay', }, }, + { + path: '/delay/:type', + name: 'DealyEdit', + component: () => import('@/views/tested/MeasurementPlan/early/components/edit.vue'), + meta: { + title: '延迟送检编辑', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, + { + path: '/delay/detail', + name: 'DealyDetail', + component: () => import('@/views/tested/MeasurementPlan/early/components/detail.vue'), + meta: { + title: '延迟送检详情', + auth: '/tested/metering/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdelay', + }, + }, ], }, { @@ -191,6 +263,18 @@ activeMenu: '/meteringdept', }, }, + { + path: '/meteringdept/:type', + name: 'MeteringdetEdit', + component: () => import('@/views/tested/MeasurementPlan/dept/components/edit.vue'), + meta: { + title: '部门送检通知编辑', + auth: '/tested/metering/dept', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringdept', + }, + }, ], }, { @@ -216,6 +300,18 @@ activeMenu: '/meteringtask', }, }, + { + path: '/meteringtask/:type', + name: 'MeteringtaskEdit', + component: () => import('@/views/tested/MeasurementPlan/task/components/edit.vue'), + meta: { + title: '任务单管理编辑', + auth: '/tested/metering/task', + sidebar: false, + breadcrumb: false, + activeMenu: '/meteringtask', + }, + }, ], }, ], @@ -267,6 +363,18 @@ activeMenu: '/devicelist', }, }, + { + path: '/info/detail', + name: 'DeviceDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息详情', + auth: '/tested/device/info', + sidebar: false, + breadcrumb: false, + activeMenu: '/devicelist', + }, + }, ], }, { @@ -292,6 +400,30 @@ activeMenu: '/speciallist', }, }, + { + path: '/speciallist/:type', + name: 'SpeciaEdit', + component: () => import('@/views/tested/device/info/components/edit.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, + { + path: '/speciallist/detail', + name: 'SpeciaDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '设备信息编辑', + auth: '/tested/device/special', + sidebar: false, + breadcrumb: false, + activeMenu: '/speciallist', + }, + }, ], }, { @@ -317,6 +449,18 @@ activeMenu: '/grouplist', }, }, + { + path: '/group/:type', + name: 'GroupEdit', + component: () => import('@/views/tested/device/group/components/edit.vue'), + meta: { + title: '分组信息编辑', + auth: '/tested/device/group', + sidebar: false, + breadcrumb: false, + activeMenu: '/grouplist', + }, + }, ], }, { @@ -342,6 +486,18 @@ activeMenu: '/dcertificatelist', }, }, + { + path: '/certificate/:type', + name: 'CertificateEdit', + component: () => import('@/views/tested/device/certificate/components/edit.vue'), + meta: { + title: '证书管理编辑', + auth: '/tested/device/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/dcertificatelist', + }, + }, ], }, { @@ -367,6 +523,30 @@ activeMenu: '/dremindlist', }, }, + { + path: '/dremindlist/:type', + name: 'DremindlistEdit', + component: () => import('@/views/tested/device/remind/components/edit.vue'), + meta: { + title: '到期提醒编辑', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, + { + path: '/dremindlist/detail', + name: 'dremindlistDetail', + component: () => import('@/views/tested/device/info/components/detail.vue'), + meta: { + title: '到期提醒详情', + auth: '/tested/device/remind', + sidebar: false, + breadcrumb: false, + activeMenu: '/dremindlist', + }, + }, ], }, ], @@ -406,6 +586,18 @@ activeMenu: '/seallist', }, }, + { + path: '/sealpage/:type', + name: 'SealEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '封存申请', + auth: '/tested/status/seal', + sidebar: false, + breadcrumb: false, + activeMenu: '/seallist', + }, + }, ], }, { @@ -431,6 +623,18 @@ activeMenu: '/unseallist', }, }, + { + path: '/unsealpage/:type', + name: 'UnSealPageEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '启封申请', + auth: '/tested/status/unseal', + sidebar: false, + breadcrumb: false, + activeMenu: '/unseallist', + }, + }, ], }, { @@ -456,6 +660,18 @@ activeMenu: '/disablelist', }, }, + { + path: '/disablepage/:type', + name: 'SDiaableEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '禁用申请', + auth: '/tested/status/disable', + sidebar: false, + breadcrumb: false, + activeMenu: '/disablelist', + }, + }, ], }, { @@ -481,6 +697,18 @@ activeMenu: '/scraplist', }, }, + { + path: '/scrappage/:type', + name: 'SCrapEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '报废申请', + auth: '/tested/status/scrap', + sidebar: false, + breadcrumb: false, + activeMenu: '/scraplist', + }, + }, ], }, { @@ -506,6 +734,18 @@ activeMenu: '/sdelaylist', }, }, + { + path: '/sdelaypage/:type', + name: 'SDealyEdit', + component: () => import('@/views/tested/status/delay/components/edit.vue'), + meta: { + title: '延用申请', + auth: '/tested/status/delay', + sidebar: false, + breadcrumb: false, + activeMenu: '/sdelaylist', + }, + }, ], }, ], @@ -535,6 +775,19 @@ activeMenu: '/documentlist', }, }, + { + path: '/documentlist/:type', + component: () => import('@/views/tested/document/list/edit.vue'), + name: 'docuemntEdit', + meta: { + title: '文档管理', + icon: 'ep:key', + auth: '/tested/document', + sidebar: false, + breadcrumb: false, + activeMenu: '/documentlist', + }, + }, ], }, // 计量业务管理 @@ -711,6 +964,18 @@ activeMenu: '/directorylist', }, }, + { + path: '/directorypage/:type', + name: 'DirectoryEdit', + component: () => import('@/views/tested/subpackage/directory/components/edit.vue'), + meta: { + title: '测试、校准或检定合格分包方名录', + auth: '/tested/subpackage/directory', + sidebar: false, + breadcrumb: false, + activeMenu: '/directorylist', + }, + }, ], }, { @@ -733,7 +998,19 @@ auth: '/tested/subpackage/review', sidebar: false, breadcrumb: false, - activeMenu: '/reviewpage', + activeMenu: '/reviewlist', + }, + }, + { + path: '/reviewpage/:type', + name: 'ReviewPageEdit', + component: () => import('@/views/tested/subpackage/review/components/edit.vue'), + meta: { + title: '测试、校准或检定工作分包评审表', + auth: '/tested/subpackage/review', + sidebar: false, + breadcrumb: false, + activeMenu: '/reviewlist', }, }, ], @@ -761,6 +1038,18 @@ activeMenu: '/pcertificatelist', }, }, + { + path: '/pcertificatepage/:type', + name: 'PcertificatePageEdit', + component: () => import('@/views/tested/subpackage/certificate/components/edit.vue'), + meta: { + title: '分包证书管理编辑', + auth: '/tested/subpackage/certificate', + sidebar: false, + breadcrumb: false, + activeMenu: '/pcertificatelist', + }, + }, ], }, ], diff --git a/src/utils/applyBtns.ts b/src/utils/applyBtns.ts new file mode 100644 index 0000000..e08ffe1 --- /dev/null +++ b/src/utils/applyBtns.ts @@ -0,0 +1,100 @@ +// 操作栏 编辑按钮 +export const editTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return false + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return false + break + } +} +// 编辑栏删除按钮 +export const delTextBtn = (applyStatus: string) => { + switch (applyStatus) { + case '全部': + return true + break + case '已审批': + return false + break + case '待审批': + return false + break + case '审批': + return false + break + case '草稿箱': + return true + break + case '审批中': + return false + break + case '已通过': + return false + break + case '未通过': + return false + break + case '已取消': + return true + break + } +} +// 编辑页面中编辑按钮 +export const editBtn = (applyStatus: string, type: string) => { + if (applyStatus === '审批' && type === 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'detail') { + return true + } + else if (applyStatus === '未通过' && type === 'detail') { + return true + } + else if (applyStatus === '已取消' && type === 'detail') { + return true + } + else { + return false + } +} +// 编辑页面中提交保存按钮 +export const submitBtn = (applyStatus: string, type: string) => { + if (applyStatus === '全部' && type !== 'detail') { + return true + } + else if (applyStatus === '草稿箱' && type === 'update') { + return true + } + else if (applyStatus === '未通过' && type === 'update') { + return true + } + else if (applyStatus === '已取消' && type === 'update') { + return true + } + else { + return false + } +} diff --git a/src/utils/buttonPerm.ts b/src/utils/buttonPerm.ts index a71d150..da0001f 100644 --- a/src/utils/buttonPerm.ts +++ b/src/utils/buttonPerm.ts @@ -10,7 +10,7 @@ agree: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2, 3].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -19,7 +19,7 @@ reject: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName === '待审批' && [1, 2].includes(row.decisionItem) + return hasPermission(permPath) && row.approvalStatusName === '待审批' }, disabled: (row: any) => { return row.approvalStatusName !== '待审批' && row.approvalStatusName !== '审批中' @@ -37,8 +37,8 @@ edit: { if: (row: any, permPath: string) => { error(permPath) - // eslint-disable-next-line no-mixed-operators - return hasPermission(permPath) && row.approvalStatusName === '未通过-驳回' || row.approvalStatusName === '草稿箱' || row.approvalStatusName === '已取消' + + return hasPermission(permPath) && row.approvalStatusName === '全部' }, }, submit: { @@ -59,7 +59,7 @@ delete: { if: (row: any, permPath: string) => { error(permPath) - return hasPermission(permPath) && row.approvalStatusName !== '未通过' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '未通过-驳回' && row.approvalStatusName !== '审批中' + return hasPermission(permPath) && row.approvalStatusName !== '待审批' && row.approvalStatusName !== '已通过' && row.approvalStatusName !== '审批中' && row.approvalStatusName !== '审批' && row.approvalStatusName !== '已审批' }, disabled: (row: any) => { return row.approvalStatusName === '未通过' || row.approvalStatusName === '已通过' diff --git a/src/utils/scheduleDict.ts b/src/utils/scheduleDict.ts index e7a6597..b6cd934 100644 --- a/src/utils/scheduleDict.ts +++ b/src/utils/scheduleDict.ts @@ -2,5 +2,15 @@ * 流程字典, 流程代号:流程id-对应表单中的formId */ export enum SCHEDULE { - DEVICE_INFO_APPROVAL = 'sbxxgl', // 设备信息管理, + DEVICE_INFO_APPROVAL = 'sbtzgl ', // 设备台账, + METERING_PLAN_APPROVAL = 'jljhgl', // 计量计划 + METERING_PLAN_EARLY = 'tqsjsq', // 提前送检申请 + METERING_PLAN_DEALY = 'ycsjsq', // 延迟送检申请 + SUBCONTRACTOR_APPROVAL = 'fbfmlgl', // 分包方名录管理 + SUBCONTRACT_REVIEW_APPROVAL = 'fbfpsbgl', // 分包方评审表 + EQUIPMENT_SEALED_APPROVAL = 'sbfcsq', // 设备封存申请 + EQUIPMENT_UNSEALED_APPROVAL = 'sbgfsq', // 设备启封由请 + EQUIPMENT_DISABLE_APPROVAL = 'sbjysq', // 设备禁用申请 + EQUIPMENT_SCRAP_APPROVAL = 'sbbfsq', // 设备报废申请 + EQUIPMENT_DELAY_APPROVAL = 'sbyysq"', // 设备延用申请 } diff --git a/src/utils/useCheckList.ts b/src/utils/useCheckList.ts new file mode 100644 index 0000000..31a16b9 --- /dev/null +++ b/src/utils/useCheckList.ts @@ -0,0 +1,29 @@ +import { ElMessage } from 'element-plus' +import type { TableColumn } from '@/components/NormalTable/table_interface' + +/** + * 检查列表 + * @param list 要检查的表格数据 + * @param columns // 表头信息 + * @param tableTitle // 表格名称 + */ +export function useCheckList(list: { [key: string]: string }[], columns: TableColumn, tableTitle = '') { + for (let index = 0; index < list.length; index++) { + const item = list[index] + for (const prop of columns) { + // 检查必填 + if (prop.required && !item[prop.value]) { + ElMessage.warning(`请先完善${tableTitle}第${index + 1}行中${prop.text}`) + return false + } + // 验证正则 + if (prop.reg && typeof prop.reg === 'function') { + if (!prop.reg(item[prop.value])) { + ElMessage.warning(`${tableTitle}第${index + 1}行中${prop.text}输入不合法`) + return false + } + } + } + } + return true +} diff --git a/src/views/dashboard.vue b/src/views/dashboard.vue index 968f136..6294ad5 100644 --- a/src/views/dashboard.vue +++ b/src/views/dashboard.vue @@ -322,3 +322,16 @@ color: #fff !important; } + + diff --git a/src/views/login.vue b/src/views/login.vue index 714b44f..01c0cba 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -211,7 +211,7 @@