Compare commits
	
		
			85 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 251d507db7 | |||
| 8502f5d7d1 | |||
| 9eea286c08 | |||
| d4e0384e10 | |||
| 983be7801c | |||
| d725cb7a0c | |||
| ef8a7ef497 | |||
| 6ac3fcb572 | |||
|  | 3e6389f0eb | ||
|  | afde4d5225 | ||
| 8da50584fc | |||
| 2351e96c9e | |||
| 5277788174 | |||
| 127092be26 | |||
| 21d45adf22 | |||
| 3d3c802d01 | |||
|  | 4263eb79a0 | ||
|  | 7775d15b67 | ||
| d21c69e883 | |||
| 4921ba62ed | |||
| c58d4fb90b | |||
| f273bd32de | |||
| 7fd51b5211 | |||
| 5dda7cd772 | |||
| 60fb71791a | |||
| e7629a6ea0 | |||
| 633313c34e | |||
| 7a798d354b | |||
| ddcae6d119 | |||
| cf1e32049c | |||
|  | 44411b19cd | ||
|  | 7afe3c3ec7 | ||
| c5f564797b | |||
| 0b6f2ea996 | |||
| 3a8debc3be | |||
| 2876f44536 | |||
| 6361c3a47f | |||
| 73ac7e04ce | |||
| 0adf1dad1e | |||
| 77f1831fc2 | |||
| 3112915398 | |||
| 507b9da319 | |||
| 6b6eb66145 | |||
| 02ac7ee486 | |||
| 83fdc49dbb | |||
| 68902f0f6c | |||
| 76dba55bae | |||
| 66302849a3 | |||
| 238d8ba41c | |||
| 27786fb197 | |||
| b6d0d32b6f | |||
| 9f42c5e33e | |||
| a2adcc0fd3 | |||
| 0c0679cb1e | |||
| 4743fdc191 | |||
| cf888de5d8 | |||
| ba3983e085 | |||
| c9d77e20a0 | |||
| 1ed431e10a | |||
| cbcbe5ccfa | |||
| a214eb9bad | |||
| e3be286a50 | |||
| f5a003876f | |||
| de76ca416c | |||
|  | 95afd175a3 | ||
|  | 9f1a4226c3 | ||
|  | 90344983b3 | ||
|  | 97997681a2 | ||
|  | 82f44b5a62 | ||
| 28316462aa | |||
|  | b5081ba279 | ||
|  | 913e03230e | ||
|  | 81e92cdb3f | ||
|  | aec5bcaf85 | ||
|  | 581ca3d60b | ||
|  | cb7718c340 | ||
| 7501849be6 | |||
|  | 2a4fdeef04 | ||
| 33a27dd810 | |||
|  | 8801c44b98 | ||
|  | 04cc50f504 | ||
| 878c9b22f7 | |||
|  | ffdcbf6fa7 | ||
|  | f655b4d718 | ||
|  | a0adee8ce5 | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -22,4 +22,4 @@ selenium-debug.log | ||||
| package-lock.json | ||||
| yarn.lock | ||||
| /.env.development | ||||
| /vue.config.js | ||||
| vue.config.js | ||||
|   | ||||
| @@ -97,7 +97,7 @@ | ||||
|     "@vue/test-utils": "1.0.0-beta.29", | ||||
|     "autoprefixer": "^9.5.1", | ||||
|     "babel-core": "7.0.0-bridge.0", | ||||
|     "babel-eslint": "10.0.1", | ||||
|     "babel-eslint": "^8.2.2", | ||||
|     "babel-jest": "23.6.0", | ||||
|     "chalk": "2.4.2", | ||||
|     "chokidar": "2.1.5", | ||||
|   | ||||
| @@ -1,15 +1,15 @@ | ||||
| /* | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:00:14 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-01-28 09:38:31 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-03 14:29:17 | ||||
|  * @Description: | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
|  | ||||
| export function locationList(data) { // 获取库位信息列表 | ||||
|   return request({ | ||||
|     url: '/basic/stock/page', | ||||
|     url: '/api/wms/area/locationByShelf', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -17,7 +17,7 @@ export function locationList(data) { // 获取库位信息列表 | ||||
|  | ||||
| export function locationDetail(id) { // 获取库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/stock/get', | ||||
|     url: '/api/wms/area/locationById', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| @@ -25,7 +25,7 @@ export function locationDetail(id) { // 获取库位信息单条数据 | ||||
|  | ||||
| export function locationUpdate(data) { // 更新库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/stock/update', | ||||
|     url: '/api/wms/area/updatelocation', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -33,7 +33,7 @@ export function locationUpdate(data) { // 更新库位信息单条数据 | ||||
|  | ||||
| export function locationAdd(data) { // 新增库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/stock/add', | ||||
|     url: '/api/wms/area/addlocation', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -41,14 +41,14 @@ export function locationAdd(data) { // 新增库位信息单条数据 | ||||
|  | ||||
| export function locationCode() { // 获取库位信息code | ||||
|   return request({ | ||||
|     url: '/basic/stock/get-code', | ||||
|     url: '/api/wms/area/getCode', | ||||
|     method: 'post' | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function locationDelete(id) { // 删除库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/stock/delete', | ||||
|     url: '/api/wms/area/deletelocation', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
|   | ||||
							
								
								
									
										72
									
								
								src/api/basicData/Cache/processLocation.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								src/api/basicData/Cache/processLocation.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| /* | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-06 18:13:49 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-09 10:44:04 | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
|  | ||||
| export function list(data) { // 获取工序库位信息列表 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function detail(id) { // 获取工序库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/getById', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| } | ||||
| export function update(data) { // 更新工序库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function add(data) { // 手动绑定工序库位 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/add', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function locaDelete(id) { // 删除工序库位信息单条数据 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/delete', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function locationList(data) { // 获取库位id列表 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/locationList', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function portAttrList(data) { // 获取库位属性列表,关联数据字典 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/portAttrList', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function workSequenList(data) { // 获取工序id列表 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/workSequenList', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:00:14 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-10 17:00:16 | ||||
|  * @LastEditTime: 2022-03-04 09:06:58 | ||||
|  * @Description: | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
| @@ -15,6 +15,14 @@ export function equipmentInfoList(data) { // 获取设备信息列表 | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function equipmentlistList(data) { // 获取设备信息列表 | ||||
|   return request({ | ||||
|     url: '/api/process/work-sequence/equipmentlistList', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function equipmentInfoDetail(id) { // 获取设备信息单条数据 | ||||
|   return request({ | ||||
|     url: '/api/wms/equipment/get', | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:00:14 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-01-20 12:00:52 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-05 10:22:28 | ||||
|  * @Description: | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
| @@ -10,7 +10,7 @@ import request from '@/utils/request' | ||||
| export function equipmentInfoAttrList(data) { // 获取设备属性列表 | ||||
|   return request({ | ||||
|     // url: '/basic/equipment-attr/page', | ||||
|     url: '/api/wms/equipment/page', | ||||
|     url: '/api/wms/equipment/attr', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -27,7 +27,7 @@ export function equipmentInfoAttrDetail(id) { // 获取设备属性单条数据 | ||||
|  | ||||
| export function equipmentInfoAttrUpdate(data) { // 更新设备属性单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/equipment-attr/update', | ||||
|     url: '/api/wms/equipment/updateattr', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -35,7 +35,7 @@ export function equipmentInfoAttrUpdate(data) { // 更新设备属性单条数 | ||||
|  | ||||
| export function equipmentInfoAttrAdd(data) { // 新增设备属性单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/equipment-attr/add', | ||||
|     url: '/api/wms/equipment/addattr', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -43,14 +43,14 @@ export function equipmentInfoAttrAdd(data) { // 新增设备属性单条数据 | ||||
|  | ||||
| export function equipmentInfoAttrCode() { // 获取设备属性code | ||||
|   return request({ | ||||
|     url: '/basic/equipment-attr/get-code', | ||||
|     url: '/api/wms/equipment/getCode', | ||||
|     method: 'post' | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function equipmentInfoAttrDelete(id) { // 删除设备属性单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/equipment-attr/delete', | ||||
|     url: '/api/wms/equipment/deleteattr', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
|   | ||||
| @@ -2,14 +2,14 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:00:14 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-03 15:10:05 | ||||
|  * @LastEditTime: 2022-03-04 10:05:02 | ||||
|  * @Description: | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
|  | ||||
| export function staffList(data) { // 获取员工列表 | ||||
|   return request({ | ||||
|     url: '/basic/worker/page', | ||||
|     url: '/api/wms/worker/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -17,7 +17,7 @@ export function staffList(data) { // 获取员工列表 | ||||
|  | ||||
| export function staffDetail(id) { // 获取员工单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/worker/get', | ||||
|     url: '/api/wms/worker/get', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| @@ -25,7 +25,7 @@ export function staffDetail(id) { // 获取员工单条数据 | ||||
|  | ||||
| export function staffUpdate(data) { // 更新员工单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/worker/update', | ||||
|     url: '/api/wms/worker/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -33,7 +33,7 @@ export function staffUpdate(data) { // 更新员工单条数据 | ||||
|  | ||||
| export function staffAdd(data) { // 新增员工单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/worker/add', | ||||
|     url: '/api/wms/worker/add', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -41,14 +41,14 @@ export function staffAdd(data) { // 新增员工单条数据 | ||||
|  | ||||
| export function staffCode() { // 获取员工code | ||||
|   return request({ | ||||
|     url: '/basic/worker/get-code', | ||||
|     url: '/api/wms/worker/get-code', | ||||
|     method: 'post' | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function staffDelete(id) { // 删除员工单条数据 | ||||
|   return request({ | ||||
|     url: '/basic/worker/delete', | ||||
|     url: '/api/wms/worker/delete', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:00:14 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 13:59:54 | ||||
|  * @LastEditTime: 2022-03-11 16:23:43 | ||||
|  * @Description: | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
| @@ -84,3 +84,19 @@ export function StorageBoxRackDelete(id) { // 删除存储箱上架单条数据 | ||||
|     data: { id } | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function batchListAdd(data) { // 新增工序库位关联 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/batchList', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function locationByProcessList(data) { // 工序库位列表获取 | ||||
|   return request({ | ||||
|     url: '/api/wms/processlocation/locationByProcess', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Date: 2020-12-28 20:46:53 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-04-25 14:52:11 | ||||
|  * @LastEditTime: 2022-03-11 09:16:13 | ||||
|  * @FilePath: \basic-admin\src\api\menu.js | ||||
|  * @Description: 菜单api接口定义 | ||||
|  */ | ||||
| @@ -10,7 +10,7 @@ import request from '@/utils/request' | ||||
| // 获取菜单列表 | ||||
| export function getMenuList(data) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/list', | ||||
|     url: '/api/upms/menu/list', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -19,7 +19,7 @@ export function getMenuList(data) { | ||||
| // 获取菜单详情 | ||||
| export function getMenuDetail(id) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/get', | ||||
|     url: '/api/upms/menu/get', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| @@ -28,7 +28,7 @@ export function getMenuDetail(id) { | ||||
| // 新增菜单 | ||||
| export function addMenu(data) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/add', | ||||
|     url: '/api/upms/menu/add', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -37,7 +37,7 @@ export function addMenu(data) { | ||||
| // 删除菜单 | ||||
| export function delMenu(id) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/delete', | ||||
|     url: '/api/upms/menu/delete', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| @@ -46,7 +46,7 @@ export function delMenu(id) { | ||||
| // 启停菜单 | ||||
| export function enableMenu(data) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/enabled', | ||||
|     url: '/api/upms/menu/enabled', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -55,7 +55,7 @@ export function enableMenu(data) { | ||||
| // 修改菜单 | ||||
| export function editMenu(data) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/update', | ||||
|     url: '/api/upms/menu/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -64,7 +64,7 @@ export function editMenu(data) { | ||||
| // 菜单-角色关联授权 | ||||
| export function saveRoleMenu(data) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/saveRoleMenu', | ||||
|     url: '/api/upms/menu/saveRoleMenu', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -73,7 +73,7 @@ export function saveRoleMenu(data) { | ||||
| // 菜单-角色关联获取 | ||||
| export function listByRole(id) { | ||||
|   return request({ | ||||
|     url: '/upms/menu/listByRole', | ||||
|     url: '/api/upms/menu/listByRole', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2022-01-17 14:55:09 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 14:59:07 | ||||
|  * @LastEditTime: 2022-03-10 14:13:22 | ||||
|  * @Description: | ||||
|  */ | ||||
|  | ||||
| @@ -16,6 +16,14 @@ export function ProcessInfoList(data) { // 获取工单工艺列表 | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function ProcessInfoUpdata(data) { // 获取工单工艺列表 | ||||
|   return request({ | ||||
|     url: '/api/wms/work/order/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function ProcessInfoDetail(id) { // 获取工单工艺单条数据 | ||||
|   const data = { | ||||
|     'id': id | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:00:14 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-03 13:57:00 | ||||
|  * @LastEditTime: 2022-03-04 09:35:14 | ||||
|  * @Description: | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
| @@ -15,6 +15,14 @@ export function workOrderList(data) { // 获取工单列表 | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function workOrderListList(data) { // 00A获取工单列表 | ||||
|   return request({ | ||||
|     url: '/api/wms/work/order/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function workOrderDetail(id) { // 获取工单单条数据 | ||||
|   const data = { | ||||
|     'id': id | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Date: 2021-01-04 17:34:38 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-04-12 14:23:30 | ||||
|  * @LastEditTime: 2022-03-10 16:42:55 | ||||
|  * @FilePath: \basic-admin\src\api\org.js | ||||
|  * @Description: 框架基础模块——组织结构 | ||||
|  */ | ||||
| @@ -10,7 +10,7 @@ import request from '@/utils/request' | ||||
| // 获取组织结构列表 | ||||
| export function getOrgList(data) { | ||||
|   return request({ | ||||
|     url: '/upms/org/page', | ||||
|     url: '/api/upms/org/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -18,7 +18,7 @@ export function getOrgList(data) { | ||||
|  | ||||
| export function getOrgDetail(id) { // 获取组织结构单条数据 | ||||
|   return request({ | ||||
|     url: '/upms/org/get', | ||||
|     url: '/api/upms/org/get', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
| @@ -26,7 +26,7 @@ export function getOrgDetail(id) { // 获取组织结构单条数据 | ||||
|  | ||||
| // export function getOrgAllList(data) { | ||||
| //   return request({ | ||||
| //     url: '/upms/org/list', | ||||
| //     url: '/api/upms/org/list', | ||||
| //     method: 'post', | ||||
| //     data | ||||
| //   }) | ||||
| @@ -35,7 +35,7 @@ export function getOrgDetail(id) { // 获取组织结构单条数据 | ||||
| // 添加组织结构 | ||||
| export function addOrg(data) { | ||||
|   return request({ | ||||
|     url: '/upms/org/add', | ||||
|     url: '/api/upms/org/add', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -44,7 +44,7 @@ export function addOrg(data) { | ||||
| // 修改组织 | ||||
| export function editOrg(data) { | ||||
|   return request({ | ||||
|     url: '/upms/org/update', | ||||
|     url: '/api/upms/org/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -53,7 +53,7 @@ export function editOrg(data) { | ||||
| // 删除组织结构 | ||||
| export function delOrg(id) { | ||||
|   return request({ | ||||
|     url: '/upms/org/delete', | ||||
|     url: '/api/upms/org/delete', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
|   | ||||
| @@ -1,19 +1,37 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-07 18:39:03 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-02-25 09:05:53 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-08 15:31:13 | ||||
|  * @Description: file content | ||||
|  */ | ||||
| import request from '@/utils/request' | ||||
|  | ||||
| export function page(data) { | ||||
| // 获取当前库存存储箱列表 | ||||
| export function list(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-sheet/page', | ||||
|     url: '/api/report/report-storage-box/list', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| // 获取当前库存存储箱分页报表 | ||||
| export function page(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-storage-box/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| // 导出当前库存存储箱列表 | ||||
| export function download(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-storage-box/excel-download', | ||||
|     method: 'post', | ||||
|     data, | ||||
|     responseType: 'blob', | ||||
|     timeout: 60000 | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function del(data) { | ||||
|   return request({ | ||||
| @@ -47,3 +65,44 @@ export function listCategory(data) { | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| // 获取当前存储箱对应基板列表 | ||||
| export function listSubstrate(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-substrate/list', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| // 删除基板信息 | ||||
| export function deleSubstrate(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-substrate/delete', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| // 获取当前存储箱对应基板分页报表 | ||||
| export function pageSubstrate(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-substrate/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| // 更新基板信息 | ||||
| export function updateSubstrate(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-substrate/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
| // 导出当前存储箱对应基板列表 | ||||
| export function downloadSubstrate(data) { | ||||
|   return request({ | ||||
|     url: '/api/report/report-substrate/excel-download', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import request from '@/utils/request' | ||||
| // 获取角色详细信息 | ||||
| export function getRoleInfo(data) { | ||||
|   return request({ | ||||
|     url: `/upms/role/get`, | ||||
|     url: `/api/upms/role/get`, | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -18,7 +18,7 @@ export function getRoleInfo(data) { | ||||
|  | ||||
| export function RoleCode() { // 获取code | ||||
|   return request({ | ||||
|     url: '/upms/role/get-code', | ||||
|     url: '/api/upms/role/get-code', | ||||
|     method: 'post' | ||||
|   }) | ||||
| } | ||||
| @@ -26,7 +26,7 @@ export function RoleCode() { // 获取code | ||||
| // 获取角色列表 | ||||
| export function getRoleList(data) { | ||||
|   return request({ | ||||
|     url: '/upms/role/list', | ||||
|     url: '/api/upms/role/list', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -35,7 +35,7 @@ export function getRoleList(data) { | ||||
| // 添加角色 | ||||
| export function addRole(data) { | ||||
|   return request({ | ||||
|     url: '/upms/role/add', | ||||
|     url: '/api/upms/role/add', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -44,7 +44,7 @@ export function addRole(data) { | ||||
| // 修改角色 | ||||
| export function updateRole(data) { | ||||
|   return request({ | ||||
|     url: '/upms/role/update', | ||||
|     url: '/api/upms/role/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -53,7 +53,7 @@ export function updateRole(data) { | ||||
| // 删除角色 | ||||
| export function deleteRole(data) { | ||||
|   return request({ | ||||
|     url: `/upms/role/delete`, | ||||
|     url: `/api/upms/role/delete`, | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -62,7 +62,7 @@ export function deleteRole(data) { | ||||
| // 启停角色 | ||||
| export function enableRole(data) { | ||||
|   return request({ | ||||
|     url: `/upms/role/enabled`, | ||||
|     url: `/api/upms/role/enabled`, | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -71,7 +71,7 @@ export function enableRole(data) { | ||||
| // 用户-角色关联授权 | ||||
| export function saveUserRole(data) { | ||||
|   return request({ | ||||
|     url: '/upms/role/saveUserRole', | ||||
|     url: '/api/upms/role/saveUserRole', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -80,7 +80,7 @@ export function saveUserRole(data) { | ||||
| // 用户-角色关联获取 | ||||
| export function listByUser(id) { | ||||
|   return request({ | ||||
|     url: '/upms/role/listByUser', | ||||
|     url: '/api/upms/role/listByUser', | ||||
|     method: 'post', | ||||
|     data: { id } | ||||
|   }) | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Date: 2020-12-14 09:07:03 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-11 15:45:54 | ||||
|  * @LastEditTime: 2022-03-10 16:41:55 | ||||
|  * @FilePath: \basic-admin\src\api\user.js | ||||
|  * @Description: 用户管理 & 登录用户的相关api接口定义 | ||||
|  */ | ||||
| @@ -38,7 +38,7 @@ export function getUserInfo(data) { | ||||
| // 修改当前用户密码 | ||||
| export function editUserPW(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/modifyPassword', | ||||
|     url: '/api/upms/user/modifyPassword', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -47,17 +47,17 @@ export function editUserPW(data) { | ||||
| // 当前用户 找回密码 | ||||
| export function findUserPW(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/findPassword', | ||||
|     url: '/api/upms/user/findPassword', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| } | ||||
|  | ||||
| // 下面为:用户管理列表 | ||||
| // 获取用户列表 (根据需求可以考虑换成带分页的 /upms/user/page) | ||||
| // 获取用户列表 (根据需求可以考虑换成带分页的 /api/upms/user/page) | ||||
| export function getUserList(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/page', | ||||
|     url: '/api/upms/user/page', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -66,7 +66,7 @@ export function getUserList(data) { | ||||
| // 新增用户 | ||||
| export function addUser(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/add', | ||||
|     url: '/api/upms/user/add', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -75,7 +75,7 @@ export function addUser(data) { | ||||
| // 删除用户 | ||||
| export function delUser(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/delete', | ||||
|     url: '/api/upms/user/delete', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -84,7 +84,7 @@ export function delUser(data) { | ||||
| // 修改用户信息 | ||||
| export function editUser(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/update', | ||||
|     url: '/api/upms/user/update', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -93,7 +93,7 @@ export function editUser(data) { | ||||
| // 获取用户详细信息 | ||||
| export function getUserDetail(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/get', | ||||
|     url: '/api/upms/user/get', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -102,7 +102,7 @@ export function getUserDetail(data) { | ||||
| // 管理员重置用户的密码 | ||||
| export function resetUserPW(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/resetPassword', | ||||
|     url: '/api/upms/user/resetPassword', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
| @@ -111,7 +111,7 @@ export function resetUserPW(data) { | ||||
| // 启停用户信息 | ||||
| export function enableUser(data) { | ||||
|   return request({ | ||||
|     url: '/upms/user/enabled', | ||||
|     url: '/api/upms/user/enabled', | ||||
|     method: 'post', | ||||
|     data | ||||
|   }) | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Date: 2020-12-14 09:07:03 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @LastEditTime: 2021-07-22 09:12:23 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-05 11:13:00 | ||||
|  * @FilePath: \basic-admin\src\filters\index.js | ||||
|  * @Description: 过滤器定义、多语言过滤器修改 | ||||
|  */ | ||||
|   | ||||
| @@ -68,6 +68,10 @@ export default { | ||||
|       zh: '返回', | ||||
|       en: 'Back' | ||||
|     }, | ||||
|     export: { | ||||
|       zh: '导出', | ||||
|       en: 'Export' | ||||
|     }, | ||||
|     checkLog: { | ||||
|       zh: '查看日志', | ||||
|       en: 'Check Log' | ||||
| @@ -254,8 +258,8 @@ export default { | ||||
|   }, | ||||
|   routerTitle: { | ||||
|     dashboard: { | ||||
|       zh: '仪表盘', | ||||
|       en: 'Dashboard' | ||||
|       zh: '首页', | ||||
|       en: 'Home' | ||||
|     }, | ||||
|     basic: { | ||||
|       zh: '系统管理', | ||||
| @@ -571,10 +575,18 @@ export default { | ||||
|           zh: '货架信息', | ||||
|           en: 'Shelf Add' | ||||
|         }, | ||||
|         shelfInfo: { | ||||
|           zh: '货位管理', | ||||
|           en: 'Shelf Info' | ||||
|         }, | ||||
|         locationAdd: { | ||||
|           zh: '库位信息', | ||||
|           en: 'Location Add' | ||||
|         }, | ||||
|         location: { | ||||
|           zh: '添加库位', | ||||
|           en: 'Location Management' | ||||
|         }, | ||||
|         storageBox: { | ||||
|           zh: '存储箱', | ||||
|           en: 'Storage Box' | ||||
| @@ -584,6 +596,18 @@ export default { | ||||
|           en: 'Position Detail Info' | ||||
|         } | ||||
|       }, | ||||
|       process: { | ||||
|         zh: '工序信息', | ||||
|         en: 'ProcessLocation Info', | ||||
|         processInfo: { | ||||
|           zh: '工序库位信息', | ||||
|           en: 'ProcessLocation Info' | ||||
|         }, | ||||
|         processInfoAdd: { | ||||
|           zh: '工序库位信息管理', | ||||
|           en: 'ProcessLocation Manage' | ||||
|         } | ||||
|       }, | ||||
|       equipment: { | ||||
|         zh: '设备信息', | ||||
|         en: 'Equipment Info', | ||||
| @@ -727,6 +751,10 @@ export default { | ||||
|       HistoricalTask: { | ||||
|         zh: '历史任务', | ||||
|         en: 'Historical Task' | ||||
|       }, | ||||
|       ProcessStorageManagement: { | ||||
|         zh: '工序存储区域管理', | ||||
|         en: 'Process Storage Management' | ||||
|       } | ||||
|     }, | ||||
|     order: { | ||||
| @@ -737,8 +765,8 @@ export default { | ||||
|         en: 'Power Classification' | ||||
|       }, | ||||
|       ProcessInfo: { | ||||
|         zh: '工艺信息', | ||||
|         en: 'Process Info' | ||||
|         zh: '工单工艺信息', | ||||
|         en: 'Order Process Info' | ||||
|       }, | ||||
|       ExecutionInfo: { | ||||
|         zh: '执行信息', | ||||
| @@ -920,6 +948,26 @@ export default { | ||||
|     form: { | ||||
|       zh: '报表管理', | ||||
|       en: 'Report Form', | ||||
|       currentInventory: { | ||||
|         zh: '当前库存', | ||||
|         en: 'Current Inventory' | ||||
|       }, | ||||
|       currentEmptyBox: { | ||||
|         zh: '当前仓库空箱信息', | ||||
|         en: 'Current Empty Box' | ||||
|       }, | ||||
|       currentSubstrate: { | ||||
|         zh: '当前基板流转情况', | ||||
|         en: 'Current Substrate' | ||||
|       }, | ||||
|       viewSubstrate: { | ||||
|         zh: '查看基板', | ||||
|         en: 'View Substrate' | ||||
|       }, | ||||
|       editSubstrate: { | ||||
|         zh: '编辑基板', | ||||
|         en: 'Edit Substrate' | ||||
|       }, | ||||
|       report: { | ||||
|         zh: '报表列表', | ||||
|         en: 'Report List' | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-04 16:19:14 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @LastEditTime: 2021-07-13 20:32:02 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-08 15:48:54 | ||||
|  * @Description: file content | ||||
|  */ | ||||
|  | ||||
| @@ -90,5 +90,9 @@ export default { | ||||
|   download: { | ||||
|     zh: '下载', | ||||
|     en: 'download' | ||||
|   }, | ||||
|   export: { | ||||
|     zh: '导出', | ||||
|     en: 'export' | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-08 09:45:54 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-15 19:34:46 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-04 15:07:12 | ||||
|  * @Description: file content | ||||
|  */ | ||||
|  | ||||
| @@ -47,6 +47,7 @@ export default { | ||||
|   sameEqError: 'Can not choice same equipment!', | ||||
|   processList: { | ||||
|     processName: 'Process Step Name', | ||||
|     processCode: 'process Code', | ||||
|     processEq: 'Process Step Equipment', | ||||
|     description: 'Description', | ||||
|     addProcess: 'Add a Process Step', | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-04 16:13:51 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:12:18 | ||||
|  * @LastEditTime: 2022-03-15 10:17:01 | ||||
|  * @Description: file content | ||||
|  */ | ||||
| export default { | ||||
| @@ -30,6 +30,7 @@ export default { | ||||
|     cancelButtonText: 'cancel', | ||||
|     Tips: 'Tips', | ||||
|     TipsBefore: 'Are you sure you want to delete', | ||||
|     TipsStorageBefore: 'Confirm to add location:', | ||||
|     Description: 'Description', | ||||
|     Remarks: 'Remarks', | ||||
|     Yes: 'Yes', | ||||
| @@ -53,7 +54,8 @@ export default { | ||||
|     editLocation: 'Edit Location Point', | ||||
|     location: 'Location', | ||||
|     locationTip: 'Click the picture below to select a point. After selecting a point, select a location in the pop-up box. If you do not select a location when adding a new point, you cannot select the next point. If you want to adjust the order of the points, drag the label at the bottom of the picture to the position you want to adjust. Click to confirm the submission point information and click Reset to reset the point information to the state when the pop-up box is opened', | ||||
|     locationInfo: 'Location Point Info' | ||||
|     locationInfo: 'Location Point Info', | ||||
|     storageCode: 'storageBoxCode' | ||||
|   }, | ||||
|   factory: { | ||||
|     placeholderName: 'Name Or Code', | ||||
| @@ -126,6 +128,20 @@ export default { | ||||
|     AlarmTypeCode: 'Alarm Type Code', | ||||
|     LevelCode: 'Level Code' | ||||
|   }, | ||||
|   processLocation: { | ||||
|     sequence: 'Sequence', | ||||
|     locationName: 'Location Name', | ||||
|     isProcess: 'Location Type', | ||||
|     locationId: 'Location Id', | ||||
|     workSequenId: 'Work Sequence Id', | ||||
|     equipmentMark: 'Equipment Mark', | ||||
|     portAttrId: 'Port Attribute Id', | ||||
|     goodsShelves: 'Goods Shelves', | ||||
|     ProcessLocation: 'Process Location', | ||||
|     CacheLocation: 'Cache Location', | ||||
|     aShelf: 'Shelf A', | ||||
|     bShelf: 'Shelf B' | ||||
|   }, | ||||
|   cache: { | ||||
|     CacheCode: 'Ports Code', | ||||
|     CacheName: 'Ports Name', | ||||
| @@ -147,7 +163,13 @@ export default { | ||||
|     LocationName: 'Location Name', | ||||
|     anotherName: 'Another Name', | ||||
|     place: 'Place', | ||||
|     addCacheArea: 'add Ports Shelf' | ||||
|     addCacheArea: 'add Ports Shelf', | ||||
|     warning: 'Layers and Columns must be integer!', | ||||
|     logisticsEquipment: 'Logistics Equipment', | ||||
|     processEquipment: 'Process Equipment', | ||||
|     sheCode: 'Shelf Code', | ||||
|     sheName: 'Shelf Name', | ||||
|     locaNum: 'Location Number' | ||||
|   }, | ||||
|   storageBox: { | ||||
|     name: 'Name', | ||||
| @@ -159,7 +181,10 @@ export default { | ||||
|     remark: 'Remark', | ||||
|     PositionNo: 'PositionNo', | ||||
|     PositionCode: 'PositionCode', | ||||
|     PositionCodeAlias: 'PositionCodeAlias' | ||||
|     PositionCodeAlias: 'PositionCodeAlias', | ||||
|     scrapped: 'Scrapped', | ||||
|     normal: 'Normal', | ||||
|     repairing: 'Repairing' | ||||
|   }, | ||||
|   equipment: { | ||||
|     EquipmentName: 'Equipment Name', | ||||
| @@ -225,6 +250,7 @@ export default { | ||||
|     wasteGrade: 'Waste Grade', | ||||
|     RegisterPerson: 'Register Person', | ||||
|     updateTime: 'Update Time', | ||||
|     registrationPlace: 'Registration Place', | ||||
|     cause: 'Cause', | ||||
|     causeCode: 'Cause Code', | ||||
|     WasteName: 'Waste Name', | ||||
| @@ -236,7 +262,7 @@ export default { | ||||
|     entryType: 'Manual/Automatic', | ||||
|     automatic: 'automatic', | ||||
|     manual: 'Manual', | ||||
|     workOrderId: 'workOrderId' | ||||
|     workOrderName: 'Work Order Name' | ||||
|   }, | ||||
|   productPool: { | ||||
|     productName: 'Product Name', | ||||
| @@ -286,6 +312,7 @@ export default { | ||||
|     BoxStatus: 'Box Status', | ||||
|     BoxNumber: 'Box Number', | ||||
|     PreviousOperation: 'Previous Operation', | ||||
|     ExecutionOperation: 'Execution Operation', | ||||
|     NextOperation: 'Next Operation', | ||||
|     CompletionTime: 'Completion Time', | ||||
|     StartLocation: 'Start Location', | ||||
| @@ -293,15 +320,20 @@ export default { | ||||
|     TaskLocation: 'Task Location', | ||||
|     TargetLocation: 'Target Location', | ||||
|     OrderName: 'Order Name', | ||||
|     OrderType: 'Order Type', | ||||
|     OrderCode: 'Order Code', | ||||
|     IssueOrderTime: 'Issue Order Time', | ||||
|     startProduceTime: 'Start Produce Time', | ||||
|     TotalProcessName: 'Total Process Name', | ||||
|     Priority: 'Priority', | ||||
|     OrderStatus: 'Order Status', | ||||
|     triggerOrigin: 'Trigger Origin', | ||||
|     ProcessOrNot: 'Process Or Not', | ||||
|     Unit: 'Unit', | ||||
|     scrapQuantity: 'Scrap Quantity', | ||||
|     RelateProcess: 'Relate Process', | ||||
|     PlanProcessQuantity: 'Plan Process Quantity', | ||||
|     actualProcessQuantity: 'Actual Process Quantity', | ||||
|     SubProcessName: 'Sub Process Name', | ||||
|     TaskBoxNumber: 'Task Box Number', | ||||
|     FullBoxNumber: 'Full Box Number', | ||||
| @@ -314,6 +346,14 @@ export default { | ||||
|     IsEmpty: 'Is Empty', | ||||
|     IsEmptyBox: 'Is Empty Box', | ||||
|     LocationName: 'Location Name', | ||||
|     LocationCode: 'Location Code' | ||||
|     LocationCode: 'Location Code', | ||||
|     PerformTaskManual: 'Perform Task Manual', | ||||
|     processStorageLink: 'Process Storage Link', | ||||
|     SelectStorageType: 'Select Storage Type', | ||||
|     LocationStorageSetting: 'Location Storage Setting', | ||||
|     publishTask: 'Publish The Task', | ||||
|     startPosition: 'Start', | ||||
|     endPosition: 'End', | ||||
|     taskType: 'Task Type' | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										16
									
								
								src/lang/i18n/en/module/dashboard.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/lang/i18n/en/module/dashboard.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2022-03-15 16:42:34 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2022-03-15 16:58:26 | ||||
|  * @Description: file content | ||||
|  * @FilePath: \mt-ck-wms-ui\src\lang\i18n\en\module\dashboard.js | ||||
|  */ | ||||
|  | ||||
| export default { | ||||
|   first: 'First Row', | ||||
|   second: 'Second Row', | ||||
|   title: 'WMS Inventory Information', | ||||
|   pageHeader: 'No.', | ||||
|   pageFooter: ' Page' | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-04 16:12:46 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-22 19:49:39 | ||||
|  * @LastEditTime: 2022-03-15 16:44:11 | ||||
|  * @Description: file content | ||||
|  */ | ||||
|  | ||||
| @@ -17,6 +17,7 @@ import quality from './quality' | ||||
| import factory from './factory' | ||||
| import formManage from './formManage' | ||||
| import report from './report' | ||||
| import dashboard from './dashboard' | ||||
|  | ||||
| export default { | ||||
|   basicData, | ||||
| @@ -29,5 +30,6 @@ export default { | ||||
|   quality, | ||||
|   factory, | ||||
|   formManage, | ||||
|   report | ||||
|   report, | ||||
|   dashboard | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Date: 2021-03-13 13:49:16 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-04-15 09:59:15 | ||||
|  * @LastEditTime: 2022-03-04 09:21:36 | ||||
|  * @FilePath: \basic-admin\src\lang\i18n\en\module\quality.js | ||||
|  * @Description: | ||||
|  */ | ||||
| @@ -90,5 +90,10 @@ export default { | ||||
|     subTitle: 'Scrap Category Statistics', | ||||
|     completeWaste: 'Complete Waste', | ||||
|     CanBeUsedAfterProcessing: 'Can be used after processing' | ||||
|   }, | ||||
|   QCPplan: { | ||||
|     QCPcode: 'QCP Code', | ||||
|     getTime: 'Get Time', | ||||
|     detail: 'Detail' | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-08 09:46:00 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-15 19:35:00 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-04 15:07:02 | ||||
|  * @Description: file content | ||||
|  */ | ||||
|  | ||||
| @@ -47,6 +47,7 @@ export default { | ||||
|   sameEqError: '不能选择相同的设备!', | ||||
|   processList: { | ||||
|     processName: '工序名称', | ||||
|     processCode: '工序编码', | ||||
|     processEq: '工序设备', | ||||
|     description: '描述', | ||||
|     addProcess: '添加一道工序', | ||||
|   | ||||
| @@ -2,8 +2,7 @@ | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-04 16:13:51 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:12:12 | ||||
|  * @Description: file content | ||||
|  * @LastEditTime: 2022-03-15 10:16:52 | ||||
|  */ | ||||
| export default { | ||||
|   visual: { | ||||
| @@ -30,6 +29,7 @@ export default { | ||||
|     cancelButtonText: '取消', | ||||
|     Tips: '提示', | ||||
|     TipsBefore: '确定删除', | ||||
|     TipsStorageBefore: '确定添加库位:', | ||||
|     Description: '描述', | ||||
|     Remarks: '备注', | ||||
|     Or: '或', | ||||
| @@ -53,7 +53,8 @@ export default { | ||||
|     editLocation: '编辑库位点', | ||||
|     location: '库位', | ||||
|     locationTip: '点击下方图片选点,选点后在弹出框内选择库位,新增点位时未选择库位无法进行下一个选点,若想调整点位顺序可拖动图片下方的标签到你想调整的位置,点击确定提交点位信息,点击重置将点位信息重置到打开弹出框时的状态', | ||||
|     locationInfo: '库位点信息' | ||||
|     locationInfo: '库位点信息', | ||||
|     storageCode: '存储箱号' | ||||
|   }, | ||||
|   factory: { | ||||
|     placeholderName: '名称或编码', | ||||
| @@ -135,6 +136,8 @@ export default { | ||||
|     AreaName: '货架名称', | ||||
|     rowNum: '行数', | ||||
|     columnNum: '列数', | ||||
|     rowMark: '行标', | ||||
|     columnMark: '列标', | ||||
|     Shelf: '货架', | ||||
|     ManageShelves: '管理货架', | ||||
|     ShelfCode: '货架编码', | ||||
| @@ -145,13 +148,22 @@ export default { | ||||
|     ManageLocation: '管理货位', | ||||
|     LocationCode: '库位编码', | ||||
|     LocationName: '库位名称', | ||||
|     anotherName: '别名', | ||||
|     locationType: '库位类型', | ||||
|     anotherName: '库位别名', | ||||
|     place: '位置', | ||||
|     addCacheArea: '添加货架' | ||||
|     addCacheArea: '添加货架', | ||||
|     addLocation: '添加库位', | ||||
|     status: '状态', | ||||
|     warning: '行列标必须为整数!', | ||||
|     logisticsEquipment: '物流设备', | ||||
|     processEquipment: '工艺设备', | ||||
|     sheCode: '货架编码', | ||||
|     sheName: '货架名', | ||||
|     locaNum: '库存数量' | ||||
|   }, | ||||
|   storageBox: { | ||||
|     name: '名称', | ||||
|     code: '编码', | ||||
|     name: '存储箱名称', | ||||
|     code: '存储箱编码', | ||||
|     alias: '别名', | ||||
|     StorageQuantity: '存储数量', | ||||
|     status: '状态', | ||||
| @@ -159,9 +171,15 @@ export default { | ||||
|     remark: '备注', | ||||
|     PositionNo: '位置序号', | ||||
|     PositionCode: '位置编码', | ||||
|     PositionCodeAlias: '位置编码别名' | ||||
|     PositionCodeAlias: '位置编码别名', | ||||
|     scrapped: '报废', | ||||
|     normal: '正常', | ||||
|     repairing: '维修中' | ||||
|  | ||||
|   }, | ||||
|   equipment: { | ||||
|     shortName: '名称缩写', | ||||
|     enName: '英文名称', | ||||
|     EquipmentName: '设备名称', | ||||
|     EquipmentCode: '设备编码', | ||||
|     EquipmentType: '设备类型', | ||||
| @@ -225,6 +243,7 @@ export default { | ||||
|     wasteGrade: '废品等级', | ||||
|     RegisterPerson: '登记人', | ||||
|     updateTime: '登记时间', | ||||
|     registrationPlace: '登记地点', | ||||
|     cause: '报废原因', | ||||
|     causeCode: '报废原因编码', | ||||
|     WasteName: '废品报废名称', | ||||
| @@ -236,7 +255,21 @@ export default { | ||||
|     entryType: '手动/自动', | ||||
|     automatic: '自动', | ||||
|     manual: '手动', | ||||
|     workOrderId: '工单名称' | ||||
|     workOrderName: '工单名称' | ||||
|   }, | ||||
|   processLocation: { | ||||
|     sequence: '顺序', | ||||
|     locationName: '库位名', | ||||
|     isProcess: '库位类型', | ||||
|     locationId: '库位ID', | ||||
|     workSequenId: '工序ID', | ||||
|     equipmentMark: '设备标记', | ||||
|     portAttrId: '库位属性ID', | ||||
|     goodsShelves: '货架', | ||||
|     CacheLocation: '缓存区库位', | ||||
|     ProcessLocation: '工序库位', | ||||
|     aShelf: 'a货架', | ||||
|     bShelf: 'b货架' | ||||
|   }, | ||||
|   productPool: { | ||||
|     productName: '产品名称', | ||||
| @@ -286,6 +319,7 @@ export default { | ||||
|     BoxStatus: '箱状态', | ||||
|     BoxNumber: '箱号', | ||||
|     PreviousOperation: '上一个工序', | ||||
|     ExecutionOperation: '执行工序', | ||||
|     NextOperation: '下一个工序', | ||||
|     CompletionTime: '完成时间', | ||||
|     StartLocation: '开始库位', | ||||
| @@ -293,15 +327,20 @@ export default { | ||||
|     TaskLocation: '任务库位', | ||||
|     TargetLocation: '目标库位', | ||||
|     OrderName: '工单名', | ||||
|     OrderType: '工单类型', | ||||
|     OrderCode: '工单编码', | ||||
|     IssueOrderTime: '下发工单时间', | ||||
|     startProduceTime: '开始生产时间', | ||||
|     TotalProcessName: '总工艺名称', | ||||
|     Priority: '优先级', | ||||
|     scrapQuantity: '废片数量', | ||||
|     OrderStatus: '工单状态', | ||||
|     triggerOrigin: '工单发起方', | ||||
|     ProcessOrNot: '是否关联工艺', | ||||
|     Unit: '单位', | ||||
|     RelateProcess: '关联工艺', | ||||
|     PlanProcessQuantity: '计划加工数量', | ||||
|     actualProcessQuantity: '实际加工数量', | ||||
|     SubProcessName: '分工艺', | ||||
|     TaskBoxNumber: '任务箱号', | ||||
|     FullBoxNumber: '空箱号', | ||||
| @@ -314,7 +353,14 @@ export default { | ||||
|     IsEmpty: '是否有基板', | ||||
|     IsEmptyBox: '是否空箱', | ||||
|     LocationName: '库位名', | ||||
|     LocationCode: '库位编码' | ||||
|  | ||||
|     LocationCode: '库位编码', | ||||
|     PerformTaskManual: '手动执行任务', | ||||
|     processStorageLink: '工序关联库位', | ||||
|     SelectStorageType: '选择库位类型', | ||||
|     LocationStorageSetting: '库位存储箱设置', | ||||
|     publishTask: '发布任务', | ||||
|     startPosition: '起点', | ||||
|     endPosition: '终点', | ||||
|     taskType: '任务类型' | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										16
									
								
								src/lang/i18n/zh/module/dashboard.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/lang/i18n/zh/module/dashboard.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2022-03-15 16:42:34 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2022-03-15 16:58:30 | ||||
|  * @Description: file content | ||||
|  * @FilePath: \mt-ck-wms-ui\src\lang\i18n\zh\module\dashboard.js | ||||
|  */ | ||||
|  | ||||
| export default { | ||||
|   first: '第一排', | ||||
|   second: '第二排', | ||||
|   title: 'WMS库存信息', | ||||
|   pageHeader: '第', | ||||
|   pageFooter: '页' | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-03-04 16:12:46 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-22 19:49:47 | ||||
|  * @LastEditTime: 2022-03-15 16:44:05 | ||||
|  * @Description: file content | ||||
|  */ | ||||
|  | ||||
| @@ -17,6 +17,7 @@ import quality from './quality' | ||||
| import factory from './factory' | ||||
| import formManage from './formManage' | ||||
| import report from './report' | ||||
| import dashboard from './dashboard' | ||||
|  | ||||
| export default { | ||||
|   basicData, | ||||
| @@ -29,5 +30,6 @@ export default { | ||||
|   quality, | ||||
|   factory, | ||||
|   formManage, | ||||
|   report | ||||
|   report, | ||||
|   dashboard | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Date: 2021-03-13 13:49:07 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-04-15 09:58:18 | ||||
|  * @LastEditTime: 2022-03-04 09:21:04 | ||||
|  * @FilePath: \basic-admin\src\lang\i18n\zh\module\quality.js | ||||
|  * @Description: | ||||
|  */ | ||||
| @@ -90,5 +90,10 @@ export default { | ||||
|     subTitle: '废品分类统计', | ||||
|     completeWaste: '完全废品', | ||||
|     CanBeUsedAfterProcessing: '加工可用' | ||||
|   }, | ||||
|   QCPplan: { | ||||
|     QCPcode: 'QCP项目编码', | ||||
|     getTime: '获取时间', | ||||
|     detail: '详情' | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-04-22 19:48:46 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-27 12:13:25 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-06 16:50:50 | ||||
|  * @Description: file content | ||||
|  */ | ||||
|  | ||||
| @@ -11,7 +11,30 @@ export default { | ||||
|     reportName: '报表名称', | ||||
|     reportSort: '报表分类', | ||||
|     createTime: '添加时间', | ||||
|     operation: '操作' | ||||
|     operation: '操作', | ||||
|     storageBoxNumber: '存储箱号', | ||||
|     queryFiltering: '查询过滤' | ||||
|   }, | ||||
|   inventory: { | ||||
|     code: '存储箱号', | ||||
|     status: '存储箱状态', | ||||
|     inprocessCode: '完成工序', | ||||
|     nextprocessCode: '下一个工序', | ||||
|     currentLocation: '当前库位', | ||||
|     storeTime: '存放时间', | ||||
|     orderName: '工单名', | ||||
|     substrateDetails: '详情基板', | ||||
|     viewSubstrates: '查看基板', | ||||
|     manual: '使用流程', | ||||
|     downl: '导出' | ||||
|   }, | ||||
|   substrate: { | ||||
|     substrateCode: '基板编码', | ||||
|     location: '当前位置', | ||||
|     storeTime: '入库时间', | ||||
|     substrateStatus: '基板状态', | ||||
|     editSubstrate: '编辑基板', | ||||
|     interCode: '内部编码' | ||||
|   }, | ||||
|   reportSort: { | ||||
|     all: '全部' | ||||
|   | ||||
| @@ -34,16 +34,6 @@ | ||||
|           <!-- <i class="el-icon-caret-bottom" /> --> | ||||
|         </div> | ||||
|         <el-dropdown-menu slot="dropdown"> | ||||
|           <router-link to="/profile/index"> | ||||
|             <el-dropdown-item> | ||||
|               <svg-icon class="item-icon" icon-class="user" /> | ||||
|               {{ 'navbar.profile' | i18nFilter }} | ||||
|             </el-dropdown-item> | ||||
|           </router-link> | ||||
|           <el-dropdown-item @click.native="toHome"> | ||||
|             <svg-icon class="item-icon" icon-class="help" /> | ||||
|             {{ 'navbar.help' | i18nFilter }} | ||||
|           </el-dropdown-item> | ||||
|           <el-dropdown-item @click.native="logout"> | ||||
|             <svg-icon class="item-icon" icon-class="logout" /> | ||||
|             {{ 'navbar.logOut' | i18nFilter }} | ||||
|   | ||||
| @@ -57,19 +57,19 @@ export const constantRoutes = [ | ||||
|     component: () => import('@/views/login/index'), | ||||
|     hidden: true | ||||
|   }, | ||||
|   // { | ||||
|   //   path: '/', | ||||
|   //   component: Layout, | ||||
|   //   redirect: '/dashboard', | ||||
|   //   children: [ | ||||
|   //     { | ||||
|   //       path: 'dashboard', | ||||
|   //       component: () => import('@/views/dashboard/index'), | ||||
|   //       name: 'Dashboard', | ||||
|   //       meta: { title: routerTitle.dashboard?.[language] || routerTitle.dashboard.en, icon: 'form', iconPart: 'dashboard', affix: true, required: true, requireToken: true } | ||||
|   //     } | ||||
|   //   ] | ||||
|   // }, | ||||
|   { | ||||
|     path: '/', | ||||
|     component: Layout, | ||||
|     redirect: '/dashboard', | ||||
|     children: [ | ||||
|       { | ||||
|         path: 'dashboard', | ||||
|         component: () => import('@/views/dashboard/index'), | ||||
|         name: 'Dashboard', | ||||
|         meta: { title: routerTitle.dashboard?.[language] || routerTitle.dashboard.en, icon: 'form', iconPart: 'dashboard', affix: true, required: true, requireToken: true } | ||||
|       } | ||||
|     ] | ||||
|   }, | ||||
|   // { | ||||
|   //   path: '/', | ||||
|   //   component: () => import('@/views/ChoicePart'), | ||||
| @@ -98,11 +98,19 @@ export const constantRoutes = [ | ||||
|     name: 'basicData', | ||||
|     meta: { title: routerTitle.basicData?.[language] || routerTitle.basicData.en, icon: 'form', iconPart: 'basicData', affix: true, required: true, requireToken: true }, | ||||
|     children: [ | ||||
|       // 缓存区信息 | ||||
|       { | ||||
|         path: 'cache', | ||||
|         component: () => import('@/views/basicData/Cache/cache'), | ||||
|         name: 'cache', | ||||
|         hidden: true, | ||||
|         meta: { title: routerTitle.basicData.ports.ports?.[language] || routerTitle.basicData.ports.ports.en, icon: 'form', affix: true } | ||||
|       }, | ||||
|       { | ||||
|         path: 'ports', | ||||
|         component: () => import('@/views/basicData/Cache/cache'), | ||||
|         component: () => import('@/views/basicData/Cache/shelf'), | ||||
|         name: 'ports', | ||||
|         meta: { title: routerTitle.basicData.ports.ports?.[language] || routerTitle.basicData.ports.ports.en, icon: 'form', affix: true } | ||||
|         meta: { title: routerTitle.basicData.ports.shelfInfo?.[language] || routerTitle.basicData.ports.shelfInfo.en, icon: 'form', affix: true } | ||||
|       }, | ||||
|       { | ||||
|         path: 'area', | ||||
| @@ -147,6 +155,20 @@ export const constantRoutes = [ | ||||
|         hidden: true, | ||||
|         meta: { title: routerTitle.basicData.ports.PositionDetailInfo?.[language] || routerTitle.basicData.ports.PositionDetailInfo.en, icon: 'form', affix: true } | ||||
|       }, | ||||
|       { | ||||
|         path: 'processInfo', | ||||
|         component: () => import('@/views/basicData/Process/processInfo'), | ||||
|         name: 'processInfo', | ||||
|         hidden: true, | ||||
|         meta: { title: routerTitle.basicData.process.processInfo?.[language] || routerTitle.basicData.process.processInfo.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       }, | ||||
|       { | ||||
|         path: 'processInfoAdd', | ||||
|         component: () => import('@/views/basicData/Process/components/processInfo-add'), | ||||
|         name: 'processInfoAdd', | ||||
|         hidden: true, | ||||
|         meta: { title: routerTitle.basicData.process.processInfoAdd?.[language] || routerTitle.basicData.process.processInfoAdd.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       }, | ||||
|       { | ||||
|         path: 'equipmentInfo', | ||||
|         component: () => import('@/views/basicData/Equipment/equipmentInfo'), | ||||
| @@ -164,6 +186,7 @@ export const constantRoutes = [ | ||||
|         path: '/Materials', | ||||
|         component: () => import('@/views/basicData/index'), | ||||
|         name: 'Materials', | ||||
|         hidden: true, | ||||
|         meta: { title: routerTitle.basicData.materials?.[language] || routerTitle.basicData.materials.en, icon: 'form', affix: true, required: true, requireToken: true }, | ||||
|         children: [ | ||||
|           { | ||||
| @@ -189,9 +212,15 @@ export const constantRoutes = [ | ||||
|         ] | ||||
|       }, | ||||
|       { | ||||
|         path: '/dataDictionary', | ||||
|         path: 'staff', | ||||
|         component: () => import('@/views/basicData/GroupModule/staff'), | ||||
|         name: 'staff', | ||||
|         meta: { title: routerTitle.basicData.teamManage.staff?.[language] || routerTitle.basicData.teamManage.staff.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       }, | ||||
|       { | ||||
|         path: '/DataDictionary', | ||||
|         component: () => import('@/views/basicData/index'), | ||||
|         name: 'dataDictionary', | ||||
|         name: 'DataDictionary', | ||||
|         meta: { title: routerTitle.basicData.dataDictionaryType.dataDictionary?.[language] || routerTitle.basicData.dataDictionaryType.dataDictionary.en, icon: 'form', affix: true, required: true, requireToken: true }, | ||||
|         children: [{ | ||||
|           path: 'dataDictionary', | ||||
| @@ -231,7 +260,7 @@ export const constantRoutes = [ | ||||
|       { | ||||
|         path: 'processList', | ||||
|         component: () => import('@/views/art/processList'), | ||||
|         name: 'Process', | ||||
|         name: 'processList', | ||||
|         meta: { title: routerTitle.technology.processList?.[language] || routerTitle.technology.processList.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       } | ||||
|     ] | ||||
| @@ -239,7 +268,7 @@ export const constantRoutes = [ | ||||
|   { | ||||
|     path: '/Warehouse', | ||||
|     component: Layout, | ||||
|     redirect: '/Warehouse/workOrderManage', | ||||
|     redirect: '/Warehouse/StorageBoxInfo', | ||||
|     name: 'Warehouse', | ||||
|     meta: { title: routerTitle.Warehouse?.[language] || routerTitle.Warehouse.en, icon: 'form', iconPart: 'orderManage', affix: true, required: true, requireToken: true }, | ||||
|     children: [ | ||||
| @@ -252,6 +281,7 @@ export const constantRoutes = [ | ||||
|       }, | ||||
|       { | ||||
|         path: '/StorageBoxRack', | ||||
|         hidden: true, | ||||
|         component: () => | ||||
|           import('@/views/basicData/Warehouse/StorageBoxRack'), | ||||
|         name: 'StorageBoxRack', | ||||
| @@ -270,6 +300,29 @@ export const constantRoutes = [ | ||||
|           import('@/views/basicData/Warehouse/HistoricalTask'), | ||||
|         name: 'HistoricalTask', | ||||
|         meta: { title: routerTitle.Warehouse.HistoricalTask?.[language] || routerTitle.Warehouse.HistoricalTask.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       }, | ||||
|       { | ||||
|         path: '/ProcessStorageManagement', | ||||
|         component: () => | ||||
|           import('@/views/basicData/Warehouse/ProcessStorageManagement'), | ||||
|         name: 'ProcessStorageManagement', | ||||
|         meta: { title: routerTitle.Warehouse.ProcessStorageManagement?.[language] || routerTitle.Warehouse.ProcessStorageManagement.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       }, | ||||
|       { | ||||
|         path: '/ProcessStorageManagementInfo', | ||||
|         hidden: true, | ||||
|         component: () => | ||||
|           import('@/views/basicData/Warehouse/components/ProcessStorageManagement-info'), | ||||
|         name: 'ProcessStorageManagementInfo', | ||||
|         meta: { title: routerTitle.Warehouse.ProcessStorageManagement?.[language] || routerTitle.Warehouse.ProcessStorageManagement.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       }, | ||||
|       { | ||||
|         path: '/ProcessStorageLink', | ||||
|         hidden: true, | ||||
|         component: () => | ||||
|           import('@/views/basicData/Warehouse/components/processStorageLink'), | ||||
|         name: 'ProcessStorageLink', | ||||
|         meta: { title: routerTitle.Warehouse.ProcessStorageManagement?.[language] || routerTitle.Warehouse.ProcessStorageManagement.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       } | ||||
|     ] | ||||
|   }, | ||||
| @@ -345,12 +398,12 @@ export const constantRoutes = [ | ||||
|             name: 'ScrapType', | ||||
|             meta: { title: routerTitle.basicData.scrap.scrapType?.[language] || routerTitle.basicData.scrap.scrapType.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|           }, | ||||
|           { | ||||
|             path: 'EquipmentScrapGrade', | ||||
|             component: () => import('@/views/basicData/EquipmentScrapGrade'), | ||||
|             name: 'EquipmentScrapGrade', | ||||
|             meta: { title: routerTitle.basicData.EquipmentScrapGrade?.[language] || routerTitle.basicData.EquipmentScrapGrade.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|           }, | ||||
|           // { | ||||
|           //   path: 'EquipmentScrapGrade', | ||||
|           //   component: () => import('@/views/basicData/EquipmentScrapGrade'), | ||||
|           //   name: 'EquipmentScrapGrade', | ||||
|           //   meta: { title: routerTitle.basicData.EquipmentScrapGrade?.[language] || routerTitle.basicData.EquipmentScrapGrade.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|           // }, | ||||
|           { | ||||
|             path: 'scrap', | ||||
|             component: () => import('@/views/QualityManager/scrap'), | ||||
| @@ -368,36 +421,37 @@ export const constantRoutes = [ | ||||
|     name: 'formManage', | ||||
|     meta: { title: routerTitle.form?.[language] || routerTitle.form.en, icon: 'form', iconPart: 'formManage', affix: true, required: true, requireToken: true, unuse: false }, | ||||
|     children: [{ | ||||
|       path: 'report', | ||||
|       component: () => import('@/views/report-manage/ReportSortChoise'), | ||||
|       name: 'Report', | ||||
|       meta: { title: routerTitle.form.report?.[language] || routerTitle.form.report.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       path: 'currentInventory', | ||||
|       component: () => import('@/views/report-manage/CurrentInventory'), | ||||
|       name: 'currentInventory', | ||||
|       meta: { title: routerTitle.form.currentInventory?.[language] || routerTitle.form.currentInventory.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|     }, | ||||
|     { | ||||
|       path: 'report-sort-list', | ||||
|       component: () => import('@/views/report-manage/Report'), | ||||
|       name: 'ReportSortList', | ||||
|       path: 'currentEmptyBox', | ||||
|       component: () => import('@/views/report-manage/CurrentEmptyBox'), | ||||
|       name: 'currentEmptyBox', | ||||
|       meta: { title: routerTitle.form.currentEmptyBox?.[language] || routerTitle.form.currentEmptyBox.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|     }, | ||||
|     { | ||||
|       path: 'currentSubstrate', | ||||
|       component: () => import('@/views/report-manage/CurrentSubstrate'), | ||||
|       name: 'currentSubstrate', | ||||
|       hidden: true, | ||||
|       meta: { title: routerTitle.form.reportSortList?.[language] || routerTitle.form.reportSortList.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       meta: { title: routerTitle.form.currentSubstrate?.[language] || routerTitle.form.currentSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|     }, | ||||
|     { | ||||
|       path: 'report-view', | ||||
|       component: () => import('@/views/report-manage/ReportView'), | ||||
|       name: 'ReportDesign', | ||||
|       meta: { title: routerTitle.form.reportView?.[language] || routerTitle.form.reportView.en, icon: 'form', affix: true, required: true, requireToken: true }, | ||||
|       hidden: true | ||||
|       path: 'editSubstrate', | ||||
|       component: () => import('@/views/report-manage/components/edit-substrate'), | ||||
|       name: 'editSubstrate', | ||||
|       hidden: true, | ||||
|       meta: { title: routerTitle.form.editSubstrate?.[language] || routerTitle.form.editSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|     }, | ||||
|     { | ||||
|       path: 'report-design', | ||||
|       component: () => import('@/views/report-manage/ReportDesign'), | ||||
|       name: 'ReportDesign', | ||||
|       meta: { title: routerTitle.form.reportDesign?.[language] || routerTitle.form.reportDesign.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|     }, | ||||
|     { | ||||
|       path: 'report-sort', | ||||
|       component: () => import('@/views/report-manage/ReportSort/index'), | ||||
|       name: 'ReportSort', | ||||
|       meta: { title: routerTitle.form.reportSort?.[language] || routerTitle.form.reportSort.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|       path: 'viewSubstrate', | ||||
|       component: () => import('@/views/report-manage/components/viewSubstrate'), | ||||
|       name: 'viewSubstrate', | ||||
|       hidden: true, | ||||
|       meta: { title: routerTitle.form.viewSubstrate?.[language] || routerTitle.form.viewSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true } | ||||
|     }] | ||||
|   }, | ||||
|   { | ||||
| @@ -443,7 +497,7 @@ export const constantRoutes = [ | ||||
|     path: '/basic', | ||||
|     component: Layout, | ||||
|     redirect: '/user/manager', | ||||
|     name: 'ArticleManager', | ||||
|     name: 'basic', | ||||
|     meta: { title: routerTitle.basic?.[language] || routerTitle.basic.en, icon: 'form', iconPart: 'ArticleManager', affix: true, required: true, requireToken: true }, | ||||
|     children: [ | ||||
|       { | ||||
|   | ||||
| @@ -198,3 +198,40 @@ aside { | ||||
| .el-dialog__wrapper { | ||||
|   backdrop-filter: blur(5px); | ||||
| } | ||||
|  | ||||
| ::-webkit-scrollbar { | ||||
|   width: 8px; | ||||
|   height: 8px; | ||||
|   background-color: transparent; | ||||
| } | ||||
|  | ||||
| ::-webkit-scrollbar-track-piece { | ||||
|   background-color:rgba(144,147,153,0); | ||||
| } | ||||
|  | ||||
| ::-webkit-scrollbar-corner { | ||||
|   background-color:rgba(144,147,153,0); | ||||
| } | ||||
|  | ||||
| ::-webkit-scrollbar-track { | ||||
|   width: 6px; | ||||
|   background: rgba(144,147,153,0); | ||||
|   -webkit-border-radius: 2em; | ||||
|   -moz-border-radius: 2em; | ||||
|   border-radius: 2em; | ||||
| } | ||||
|  | ||||
| ::-webkit-scrollbar-thumb { | ||||
|   background-color: rgba(144,147,153,.5); | ||||
|   background-clip: padding-box; | ||||
|   min-height: 28px; | ||||
|   -webkit-border-radius: 2em; | ||||
|   -moz-border-radius: 2em; | ||||
|   border-radius: 2em; | ||||
|   transition: background-color .3s; | ||||
|   cursor: pointer; | ||||
| } | ||||
|  | ||||
| ::-webkit-scrollbar-thumb:hover { | ||||
|   background-color: rgba(144,147,153,.3); | ||||
| } | ||||
|   | ||||
| @@ -2,18 +2,35 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-03 14:28:58 | ||||
|  * @LastEditTime: 2022-03-04 09:22:58 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <head-form | ||||
|       :placeholder-name="placeholderName" | ||||
|       :key-name="keyName" | ||||
|       :show-add="showAdd" | ||||
|       @getDataList="getList" | ||||
|       @add="addNew" | ||||
|     /> | ||||
|     <el-form | ||||
|       ref="formData" | ||||
|       :rules="rules" | ||||
|       :model="listQuery" | ||||
|       :inline="true" | ||||
|       size="medium" | ||||
|       label-width="100px" | ||||
|     > | ||||
|       <el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time"> | ||||
|         <el-date-picker | ||||
|           v-model="listQuery.timeSlot" | ||||
|           type="daterange" | ||||
|           format="yyyy-MM-dd" | ||||
|           value-format="yyyy-MM-dd" | ||||
|           :start-placeholder="$t('module.orderManage.order.StartTime')" | ||||
|           :end-placeholder="$t('module.orderManage.order.StartTime')" | ||||
|           :range-separator="$t('module.orderManage.order.To')" | ||||
|           clearable | ||||
|         /> | ||||
|       </el-form-item> | ||||
|       <el-form-item> | ||||
|         <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
| @@ -35,18 +52,17 @@ | ||||
|       :limit.sync="listQuery.size" | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|     <Factory-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import i18n from '@/lang' | ||||
| import { StateConfigList, StateConfigDelete } from '@/api/basicData/StateConfig' | ||||
| import HeadForm from '@/components/basicData/HeadForm' | ||||
| import FactoryAdd from './components/ExecutionInfoDetail.vue' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import { timeFormatter } from '@/filters' | ||||
| import basicData from '@/filters/basicData' | ||||
| import i18n from '@/lang' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
| @@ -65,62 +81,51 @@ import basicData from '@/filters/basicData' | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
|     btnName: 'btn.edit' | ||||
|     type: 'see', | ||||
|     btnName: 'btn.see' | ||||
|   } | ||||
|   // { | ||||
|   //   type: 'delete', | ||||
|   //   btnName: 'btn.delete' | ||||
|   // } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.quality.QCPplan.QCPcode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.factory.createTime'), | ||||
|     label: i18n.t('module.quality.QCPplan.getTime'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'status', | ||||
|     label: i18n.t('module.basicData.StateConfig.status'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'twinkle', | ||||
|     label: i18n.t('module.basicData.StateConfig.Twinkle'), | ||||
|     filter: basicData('onDuty'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'colour', | ||||
|     label: i18n.t('module.basicData.StateConfig.DisplayColor'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'description', | ||||
|     label: i18n.t('module.basicData.visual.Remarks'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'QCPplan', | ||||
|   components: { Pagination, BaseTable, MethodBtn, HeadForm }, | ||||
|   name: 'ExecutionInfo', | ||||
|   components: { Pagination, BaseTable, MethodBtn, FactoryAdd }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       keyName: i18n.t('module.basicData.visual.keyword'), | ||||
|       placeholderName: this.$t('module.basicData.StateConfig.status'), | ||||
|       addOrUpdateVisible: false, | ||||
|       tableBtn, | ||||
|       trueWidth: 150, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       total: 0, | ||||
|       showAdd: false, | ||||
|       listLoading: true, | ||||
|       rules: {}, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10 | ||||
|         size: 10, | ||||
|         timeSlot: [] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
| @@ -129,37 +134,32 @@ export default { | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       console.log(raw) | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.status}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
|         }).then(() => { | ||||
|           StateConfigDelete(raw.data.id).then(response => { | ||||
|             this.$message({ | ||||
|               message: this.$t('module.basicData.visual.success'), | ||||
|               type: 'success', | ||||
|               duration: 1500, | ||||
|               onClose: () => { | ||||
|                 this.getList() | ||||
|               } | ||||
|             }) | ||||
|           }) | ||||
|         }).catch(() => {}) | ||||
|       } | ||||
|       this.addNew(raw.data.id) | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.status = key | ||||
|       StateConfigList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|         this.listLoading = false | ||||
|     getList() { | ||||
|       // this.listLoading = true | ||||
|       if (this.listQuery.timeSlot) { | ||||
|         this.listQuery.startTime = this.listQuery.timeSlot[0] | ||||
|         this.listQuery.endTime = this.listQuery.timeSlot[1] | ||||
|       } else { | ||||
|         this.listQuery.startTime = '' | ||||
|         this.listQuery.endTime = '' | ||||
|       } | ||||
|       // ExecutionInfoList(this.listQuery).then(response => { | ||||
|       //   if (response.data.records) { | ||||
|       //     this.list = response.data.records | ||||
|       //   } else { | ||||
|       //     this.list.splice(0, this.list.length) | ||||
|       //   } | ||||
|       //   this.total = response.data.total | ||||
|       this.listLoading = false | ||||
|       // }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|     addNew(id) { | ||||
|       this.addOrUpdateVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.addOrUpdate.init(id) | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
|   | ||||
							
								
								
									
										115
									
								
								src/views/QualityManager/components/ExecutionInfoDetail.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								src/views/QualityManager/components/ExecutionInfoDetail.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,115 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:21:50 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <el-dialog | ||||
|     :title="'btn.see' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-row :gutter="10"> | ||||
|       <el-form | ||||
|         ref="dataForm" | ||||
|         :model="dataForm" | ||||
|         size="medium" | ||||
|         label-width="110px" | ||||
|         label-position="left" | ||||
|       > | ||||
|         <el-col :span="8"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderName')" prop="name"> | ||||
|                 <el-input v-model="dataForm.name" :placeholder="$t('module.basicData.Warehouse.OrderName')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.IssueOrderTime')" prop="createTime"> | ||||
|                 <el-input v-model="dataForm.createTime" :placeholder="$t('module.basicData.Warehouse.IssueOrderTime')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.PlanProcessQuantity')" prop="planQuantity"> | ||||
|                 <el-input v-model="dataForm.planQuantity" :placeholder="$t('module.basicData.Warehouse.PlanProcessQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|         <el-col :span="8"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="taskCode"> | ||||
|                 <el-input v-model="dataForm.taskCode" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="taskType"> | ||||
|                 <el-input v-model="dataForm.taskType" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|         <el-col :span="8"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.TotalProcessName')" prop="craftName"> | ||||
|                 <el-input v-model="dataForm.craftName" :placeholder="$t('module.basicData.Warehouse.TotalProcessName')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.SubProcessName')" prop="subProccessName"> | ||||
|                 <el-input | ||||
|                   v-model="dataForm.subProccessName" | ||||
|                   :placeholder="$t('module.basicData.Warehouse.SubProcessName')" | ||||
|                   readonly | ||||
|                   :style="{width: '100%'}" | ||||
|                 /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-form> | ||||
|     </el-row> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
|     </span> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { ExecutionInfoDetail } from '@/api/orderManage/00A' | ||||
|  | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       dataForm: { | ||||
|         id: 0, | ||||
|         name: undefined, | ||||
|         createTime: undefined, | ||||
|         taskCode: undefined, | ||||
|         taskType: undefined, | ||||
|         craftName: undefined, | ||||
|         planQuantity: undefined, | ||||
|         subProccessName: undefined | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     init(id) { | ||||
|       this.dataForm.id = id || '' | ||||
|       this.visible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.dataForm.id) { | ||||
|           ExecutionInfoDetail(this.dataForm.id).then(res => { | ||||
|             this.dataForm = res.data | ||||
|           }) | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @LastEditTime: 2021-07-20 11:03:09 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-11 10:55:27 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -66,10 +66,10 @@ | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item :label="$t('module.basicData.ScrapInfo.workOrderId')" prop="workOrderId"> | ||||
|         <el-form-item :label="$t('module.basicData.ScrapInfo.workOrderName')" prop="workOrderId"> | ||||
|           <el-select | ||||
|             v-model="dataForm.workOrderId" | ||||
|             :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderId')])" | ||||
|             :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderName')])" | ||||
|             clearable | ||||
|             :style="{width: '100%'}" | ||||
|           > | ||||
| @@ -91,7 +91,7 @@ | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item :label="$t('module.basicData.ScrapInfo.name')" prop="equipmentId"> | ||||
|           <el-select v-model="dataForm.equipmentId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.name')])" clearable :style="{width: '100%'}" @change="getScrapGrade"> | ||||
|           <el-select v-model="dataForm.equipmentId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.name')])" clearable :style="{width: '100%'}"> | ||||
|             <el-option | ||||
|               v-for="(item, index) in device" | ||||
|               :key="index" | ||||
| @@ -101,10 +101,6 @@ | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item v-if="tag" :label="$t('module.basicData.ScrapInfo.wasteGrade')" prop="ewasteGrade"> | ||||
|           <el-input v-model="wasteGrade" clear readonly :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.wasteGrade')])" :disabled="true" /> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item :label="$t('module.basicData.ScrapInfo.cause')" prop="scrapReasonId"> | ||||
|           <!-- <el-input v-model="dataForm.registerPerson" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.RegisterPerson')])" clearable :style="{width: '100%'}" /> --> | ||||
|           <el-select | ||||
| @@ -122,6 +118,9 @@ | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|  | ||||
|         <el-form-item :label="$t('module.basicData.ScrapInfo.registrationPlace')" prop="placeOfRegis"> | ||||
|           <el-input v-model="dataForm.placeOfRegis" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.registrationPlace')])" clearable :style="{width: '100%'}" /> | ||||
|         </el-form-item> | ||||
|         <el-form-item :label="$t('module.basicData.ScrapInfo.remark')" prop="remark"> | ||||
|           <el-input v-model="dataForm.remark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.remark')])" clearable :style="{width: '100%'}" /> | ||||
|         </el-form-item> | ||||
| @@ -136,12 +135,13 @@ | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import moment from 'moment' | ||||
| import i18n from '@/lang' | ||||
| import { getScrapInfo, editScrapInfo, addScrapInfo, getScrap } from '@/api/quality-manage/scrap' | ||||
| import { getScrapInfo, editScrapInfo, addScrapInfo } from '@/api/quality-manage/scrap' | ||||
| import { scrapReasonList } from '@/api/dict' | ||||
| import { getDictWorker } from '@/api/dict' | ||||
| import { getEqList } from '@/api/equipment/maintain' | ||||
| import { workOrderList } from '@/api/orderManage/workOrder/workOrder' | ||||
| import { workOrderListList } from '@/api/orderManage/workOrder/workOrder' | ||||
|  | ||||
| const wasteGradeArr = [{ | ||||
|   value: '加工可用', | ||||
| @@ -165,6 +165,7 @@ export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       moment, | ||||
|       dataForm: { | ||||
|         id: 0, | ||||
|         source: undefined, | ||||
| @@ -173,24 +174,15 @@ export default { | ||||
|         scrapGrade: undefined, | ||||
|         description: undefined, | ||||
|         substrateId: undefined, | ||||
|         placeOfRegis: '00A', | ||||
|         remark: undefined | ||||
|       }, | ||||
|       wasteGradeArr, | ||||
|       entryType, | ||||
|       rules: { | ||||
|         name: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.ScrapInfo.WasteName')]), | ||||
|           trigger: 'blur' | ||||
|         }], | ||||
|         code: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.ScrapInfo.WasteCode')]), | ||||
|           trigger: 'blur' | ||||
|         }], | ||||
|         equipmentId: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.ScrapInfo.equipmentId')]), | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.ScrapInfo.name')]), | ||||
|           trigger: 'change' | ||||
|         }], | ||||
|         substrateId: [{ | ||||
| @@ -202,6 +194,11 @@ export default { | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.ScrapInfo.registerPerson')]), | ||||
|           trigger: 'change' | ||||
|         }], | ||||
|         scrapReasonId: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.ScrapInfo.cause')]), | ||||
|           trigger: 'change' | ||||
|         }] | ||||
|       }, | ||||
|       dict: { | ||||
| @@ -210,7 +207,6 @@ export default { | ||||
|         orderList: [] | ||||
|       }, | ||||
|       device: [], | ||||
|       wasteGrade: '', | ||||
|       tag: false | ||||
|     } | ||||
|   }, | ||||
| @@ -218,19 +214,6 @@ export default { | ||||
|     this.getDict() | ||||
|   }, | ||||
|   methods: { | ||||
|     getScrapGrade(val) { | ||||
|       getScrap(val).then(res => { | ||||
|         if (res.code === 0) { | ||||
|           if (res.data) { | ||||
|             this.tag = true | ||||
|             this.wasteGrade = res.data.dataName | ||||
|           } else { | ||||
|             this.tag = false | ||||
|             this.wasteGrade = '' | ||||
|           } | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     onClose() { | ||||
|       this.$refs['dataForm'].resetFields() | ||||
|     }, | ||||
| @@ -242,6 +225,8 @@ export default { | ||||
|           getScrapInfo({ id: this.dataForm.id }).then(res => { | ||||
|             this.dataForm = res.data | ||||
|           }) | ||||
|         } else { | ||||
|           this.dataForm.registerTime = this.moment().format('YYYY-MM-DD HH:mm:ss') | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
| @@ -279,7 +264,7 @@ export default { | ||||
|       }) | ||||
|     }, | ||||
|     async getDict() { | ||||
|       const result3 = await workOrderList({ | ||||
|       const result3 = await workOrderListList({ | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       }) | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @LastEditTime: 2021-07-26 13:39:35 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-11 11:24:48 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -11,10 +11,10 @@ | ||||
|       :model="formData" | ||||
|       :inline="true" | ||||
|       size="medium" | ||||
|       label-width="130px" | ||||
|       label-width="80px" | ||||
|     > | ||||
|       <el-form-item v-if="false" :label="$t('module.basicData.ScrapInfo.PlateId')" prop="basalId"> | ||||
|         <el-input v-model="formData.basalId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.PlateId')])" style="width:200px" clearable /> | ||||
|       <el-form-item :label="$t('module.basicData.ScrapInfo.PlateId')" prop="substrateId"> | ||||
|         <el-input v-model="formData.substrateId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.PlateId')])" style="width:200px" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.ScrapInfo.TimePeriod')" prop="time"> | ||||
|         <el-date-picker | ||||
| @@ -38,6 +38,16 @@ | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.ScrapInfo.workOrderName')" prop="orderId"> | ||||
|         <el-select v-model="formData.orderId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderName')])" clearable :style="{width: '100%'}" filterable> | ||||
|           <el-option | ||||
|             v-for="(item, index) in orderList" | ||||
|             :key="index" | ||||
|             :label="item.name" | ||||
|             :value="item.id" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item> | ||||
|         <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> | ||||
|         <el-button type="primary" @click="addNew()"> {{ 'btn.add' | i18nFilter }} </el-button> | ||||
| @@ -79,6 +89,7 @@ import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import { timeFormatter } from '@/filters' | ||||
| import i18n from '@/lang' | ||||
| import { getEqList } from '@/api/equipment/maintain' | ||||
| import { ExecutionInfoList } from '@/api/orderManage/00A' | ||||
| // import DictFilter from '@/components/BaseTable/subcomponents/DataDictFilter' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
| @@ -113,13 +124,13 @@ const tableProps = [ | ||||
|   //   filter: timeFormatter | ||||
|   // }, | ||||
|   { | ||||
|     prop: 'source', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.source'), | ||||
|     prop: 'substrateId', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.PlateId'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'scrapGradeDic', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.wasteGrade'), | ||||
|     prop: 'workOrderName', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.workOrderName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -127,11 +138,6 @@ const tableProps = [ | ||||
|     label: i18n.t('module.basicData.ScrapInfo.name'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'substrateId', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.PlateId'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'registerPersonName', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.RegisterPerson'), | ||||
| @@ -143,6 +149,11 @@ const tableProps = [ | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'placeOfRegis', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.registrationPlace'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'scrapReason', | ||||
|     label: i18n.t('module.basicData.ScrapInfo.cause'), | ||||
| @@ -171,7 +182,9 @@ export default { | ||||
|       listLoading: true, | ||||
|       formData: { | ||||
|         timeSlot: null, | ||||
|         basalId: '', | ||||
|         substrateId: '', | ||||
|         orderId: '', | ||||
|         equipmentId: '', | ||||
|         current: 1, | ||||
|         size: 10, | ||||
|         id: '' | ||||
| @@ -183,6 +196,7 @@ export default { | ||||
|       dict: { | ||||
|         scrap: [] | ||||
|       }, | ||||
|       orderList: [], | ||||
|       device: [] | ||||
|     } | ||||
|   }, | ||||
| @@ -241,6 +255,13 @@ export default { | ||||
|       if (result1.code === 0) { | ||||
|         this.device = result1.data.records | ||||
|       } | ||||
|       const result2 = await ExecutionInfoList({ | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       }) | ||||
|       if (result2.code === 0) { | ||||
|         this.orderList = result2.data.records | ||||
|       } | ||||
|       const result = await scrapReasonList() | ||||
|       this.dict.scrap = result | ||||
|     }, | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2021-04-06 19:33:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-07-09 09:42:54 | ||||
|  * @LastEditTime: 2022-03-10 16:54:48 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -257,7 +257,7 @@ export default { | ||||
|       if (res.code === 0) { | ||||
|         this.list = res.data.records | ||||
|         this.list.forEach(item => { | ||||
|           item.roleName = item.stringList.toString() | ||||
|           item.roleName = item.stringList?.toString() | ||||
|         }) | ||||
|         this.total = res.data.total | ||||
|         this.listLoading = false | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @LastEditTime: 2021-07-26 14:39:36 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-09 16:53:23 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -19,12 +19,12 @@ | ||||
|           <el-option v-for="item in eqList" :key="item.id" :value="item.id" :label="item.name" /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.art.processList.type')" prop="type"> | ||||
|       <!-- <el-form-item :label="$t('module.art.processList.type')" prop="type"> | ||||
|         <el-select v-model="dataForm.type" clearable filterable> | ||||
|           <el-option v-for="item in typeList" :key="item.id" :value="item.id" :label="item.name" /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.art.processList.description')" prop="address"> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.art.processList.description')" prop="description"> | ||||
|         <el-input v-model="dataForm.description" :placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.description')])" clearable /> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
| @@ -88,10 +88,7 @@ export default { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.dataForm.id) { | ||||
|           getInfo({ id: this.dataForm.id }).then(res => { | ||||
|             this.dataForm.id = res.data.id | ||||
|             this.dataForm.name = res.data.name | ||||
|             this.dataForm.type = res.data.type | ||||
|             this.dataForm.description = res.data.description | ||||
|             this.dataForm = res.data | ||||
|             this.dataForm.equipmentIds = res.data.equipments.map(item => { | ||||
|               return item.id | ||||
|             }) | ||||
| @@ -101,7 +98,6 @@ export default { | ||||
|     }, | ||||
|     // 表单提交 | ||||
|     dataFormSubmit() { | ||||
|       console.log(!this.dataForm.id) | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           const data = { | ||||
|   | ||||
| @@ -32,7 +32,7 @@ | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item v-if="false" :label="$t('module.art.artBOM')" prop="bomId"> | ||||
|       <!-- <el-form-item v-if="false" :label="$t('module.art.artBOM')" prop="bomId"> | ||||
|         <el-select | ||||
|           v-model="obj.bomId" | ||||
|           :class="$style.select" | ||||
| @@ -47,7 +47,7 @@ | ||||
|             :value="item.id" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.art.description')" prop="description"> | ||||
|         <el-input v-model="obj.description" /> | ||||
|       </el-form-item> | ||||
| @@ -63,7 +63,7 @@ | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { add, update, getInfo, listSubstrate, listBom, getCode } from '@/api/art-manage/art.js' | ||||
| import { add, update, getInfo, getCode } from '@/api/art-manage/art.js' | ||||
| import SubmitBar from '@/views/art/components/submit-bar' | ||||
|  | ||||
| export default { | ||||
| @@ -91,8 +91,6 @@ export default { | ||||
|         substrateId: '', | ||||
|         bomId: '' | ||||
|       }, | ||||
|       substrateList: [], | ||||
|       bomList: [], | ||||
|       rules: { | ||||
|         name: [ | ||||
|           { required: true, message: this.$t('module.art.artName') + this.$t('module.art.notNull'), trigger: 'blur' }, | ||||
| @@ -129,14 +127,6 @@ export default { | ||||
|   }, | ||||
|   methods: { | ||||
|     init: async function() { | ||||
|       if (this.substrateList.length === 0) { | ||||
|         const substrateRes = await listSubstrate() | ||||
|         this.substrateList = substrateRes.data | ||||
|       } | ||||
|       if (this.bomList.length === 0) { | ||||
|         const bomRes = await listBom() | ||||
|         this.bomList = bomRes.data | ||||
|       } | ||||
|       if (this.id) { | ||||
|         const res = await getInfo({ id: this.id }) | ||||
|         this.obj = res.data | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: gtz | ||||
|  * @Date: 2021-04-06 20:07:22 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-06-23 16:22:06 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-09 16:19:15 | ||||
|  * @Description: file content | ||||
| --> | ||||
| <template> | ||||
| @@ -23,7 +23,7 @@ | ||||
|  | ||||
| <script> | ||||
| // edit here | ||||
| import DataDict from './filters' | ||||
| // import DataDict from './filters' | ||||
| const tableBtn = [{ | ||||
|   type: 'edit', | ||||
|   btnName: 'btn.edit' | ||||
| @@ -35,12 +35,14 @@ const tableProps = [{ | ||||
|   prop: 'name', | ||||
|   label: i18n.t('module.art.processList.processName'), | ||||
|   align: 'center' | ||||
| }, { | ||||
|   prop: 'type', | ||||
|   label: i18n.t('module.art.processList.type'), | ||||
|   align: 'center', | ||||
|   filter: DataDict('typeFilter') | ||||
| }, { | ||||
| }, | ||||
| // { | ||||
| //   prop: 'type', | ||||
| //   label: i18n.t('module.art.processList.type'), | ||||
| //   align: 'center', | ||||
| //   filter: DataDict('typeFilter') | ||||
| // }, | ||||
| { | ||||
|   prop: 'description', | ||||
|   label: i18n.t('module.art.processList.description'), | ||||
|   align: 'center' | ||||
| @@ -48,7 +50,7 @@ const tableProps = [{ | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| // edit here | ||||
| import { list, del } from '@/api/art-manage/process' | ||||
| import { equipmentInfoList } from '@/api/basicData/Equipment/equipmentInfo' | ||||
| import { equipmentlistList } from '@/api/basicData/Equipment/equipmentInfo' | ||||
| import HeadForm from '@/components/basicData/HeadForm' | ||||
| import ProcessAdd from './components/Process-add' | ||||
| import Pagination from '@/components/Pagination' | ||||
| @@ -124,12 +126,9 @@ export default { | ||||
|     }, | ||||
|     async getEqList(key) { | ||||
|       // edit here | ||||
|       const res = await equipmentInfoList({ | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       }) | ||||
|       const res = await equipmentlistList() | ||||
|       if (res.code === 0) { | ||||
|         this.eqList = res.data.records | ||||
|         this.eqList = res.data | ||||
|       } | ||||
|       this.getList() | ||||
|     }, | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-11 15:48:58 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-03 16:35:32 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -158,8 +158,9 @@ export default { | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.name = key | ||||
|       this.listQuery.tareaName = key | ||||
|       this.listQuery.code = key | ||||
|       console.log(this.listQuery) | ||||
|       cacheList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-11 16:26:29 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-03 14:21:53 | ||||
|  * @enName: | ||||
| --> | ||||
| <template> | ||||
| @@ -104,11 +104,11 @@ | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import { cacheDetail, cacheUpdate, cacheAdd, cacheCode } from '@/api/basicData/Cache/cache' | ||||
| import { areaList, areaDelete } from '@/api/basicData/Cache/area' | ||||
| import { shelfList, shelfDelete } from '@/api/basicData/Cache/shelf' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import shelfAttrAdd from './shelfAttr-add.vue' | ||||
| import shelfBtn from './shelfBtn.vue' | ||||
| import locationBtn from './locationBtn.vue' | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
| @@ -121,7 +121,7 @@ const tableBtn = [ | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'name', | ||||
|     prop: 'shelfName', | ||||
|     label: i18n.t('module.basicData.cache.AreaName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
| @@ -131,7 +131,7 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'shelfNum', | ||||
|     prop: 'total', | ||||
|     label: i18n.t('module.basicData.cache.StorageQuantity'), | ||||
|     align: 'center' | ||||
|   }, | ||||
| @@ -148,7 +148,7 @@ const tableProps = [ | ||||
|   { | ||||
|     prop: 'shelf', | ||||
|     label: i18n.t('module.basicData.cache.Location'), | ||||
|     subcomponent: shelfBtn, | ||||
|     subcomponent: locationBtn, | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
| @@ -219,9 +219,20 @@ export default { | ||||
|         if (this.id) { | ||||
|           cacheDetail(this.id).then(res => { | ||||
|             this.dataForm = res.data | ||||
|             // console.log(this.dataForm) | ||||
|           }) | ||||
|           this.listQuery.id = this.id | ||||
|           areaList(this.listQuery).then(response => { | ||||
|           console.log(this.listQuery.id) | ||||
|           // shelfDetail(this.listQuery).then(response => { | ||||
|           //   console.log(response) | ||||
|           //   if (response.data.records) { | ||||
|           //     this.list = response.data.records | ||||
|           //   } else { | ||||
|           //     this.list.splice(0, this.list.length) | ||||
|           //   } | ||||
|           // }) | ||||
|           shelfList(this.listQuery).then(response => { | ||||
|             console.log(response) | ||||
|             if (response.data.records) { | ||||
|               this.list = response.data.records | ||||
|             } else { | ||||
| @@ -236,7 +247,7 @@ export default { | ||||
|       }) | ||||
|     }, | ||||
|     getList() { | ||||
|       areaList(this.listQuery).then(response => { | ||||
|       shelfList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } | ||||
| @@ -249,7 +260,7 @@ export default { | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
|         }).then(() => { | ||||
|           areaDelete(raw.data.id).then(response => { | ||||
|           shelfDelete(raw.data.id).then(response => { | ||||
|             this.$message({ | ||||
|               message: this.$t('module.basicData.visual.success'), | ||||
|               type: 'success', | ||||
|   | ||||
| @@ -1,15 +1,24 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-11 16:44:10 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-15 09:45:30 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <div style="margin:10px 50px"> | ||||
|     <!-- <div style="margin:10px 50px"> | ||||
|       <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button> | ||||
|     </div> --> | ||||
|     <head-form | ||||
|       :placeholder-name="placeholderName" | ||||
|       :key-name="keyNameAdd" | ||||
|       @getDataList="getList" | ||||
|       @add="addNew" | ||||
|     /> | ||||
|     <div style="title">{{ sheCode }}:{{ shCode }}    {{ sheName }}:{{ shName }}    {{ locaNum }}:{{ num }} | ||||
|       <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> | ||||
|     </div> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
| @@ -30,11 +39,11 @@ | ||||
| </template> | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import HeadForm from '@/components/basicData/HeadForm' | ||||
| import { locationList, locationDelete } from '@/api/basicData/Cache/location' | ||||
| import locationAttrAdd from './locationAttr-add.vue' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import { timeFormatter } from '@/filters' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
| @@ -62,10 +71,15 @@ const tableBtn = [ | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   // { | ||||
|   //   prop: 'createTime', | ||||
|   //   label: i18n.t('module.basicData.factory.createTime'), | ||||
|   //   filter: timeFormatter, | ||||
|   //   align: 'center' | ||||
|   // }, | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.factory.createTime'), | ||||
|     filter: timeFormatter, | ||||
|     prop: 'locationName', | ||||
|     label: i18n.t('module.basicData.cache.LocationName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -74,30 +88,35 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.cache.LocationName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'anotherName', | ||||
|     prop: 'locationNameAlias', | ||||
|     label: i18n.t('module.basicData.cache.anotherName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'place', | ||||
|     label: i18n.t('module.basicData.cache.place'), | ||||
|     prop: 'layers', | ||||
|     label: i18n.t('module.basicData.cache.rowMark'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'remark', | ||||
|     label: i18n.t('module.basicData.visual.Remarks'), | ||||
|     prop: 'columns', | ||||
|     label: i18n.t('module.basicData.cache.columnMark'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   // { | ||||
|   //   prop: 'locationType', | ||||
|   //   label: i18n.t('module.basicData.cache.locationType'), | ||||
|   //   align: 'center' | ||||
|   // }, | ||||
|   { | ||||
|     prop: 'statusName', | ||||
|     label: i18n.t('module.basicData.cache.status'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'Location', | ||||
|   components: { BaseTable, MethodBtn, locationAttrAdd }, | ||||
|   components: { BaseTable, MethodBtn, locationAttrAdd, HeadForm }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
| @@ -110,27 +129,42 @@ export default { | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       shCode: '', | ||||
|       shName: '', | ||||
|       num: 0, | ||||
|       addOrUpdateVisible: false, | ||||
|       keyNameAdd: i18n.t('module.basicData.visual.keyword'), | ||||
|       placeholderName: this.$t('module.basicData.cache.LocationName'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       list: [{ | ||||
|         statusName: '' | ||||
|       }], | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 990, | ||||
|         shelfId: '' | ||||
|       } | ||||
|         shelfId: '', | ||||
|         id: '' | ||||
|       }, | ||||
|       sheCode: this.$t('module.basicData.cache.sheCode'), | ||||
|       sheName: this.$t('module.basicData.cache.sheName'), | ||||
|       locaNum: this.$t('module.basicData.cache.locaNum') | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.listQuery.shelfId = this.$route.query.id | ||||
|     this.shCode = this.$route.query.code | ||||
|     this.shName = this.$route.query.shelfName | ||||
|     this.num = this.$route.query.total | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.name}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|         console.log(raw.data) | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.locationName}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
| @@ -153,9 +187,22 @@ export default { | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.name = key | ||||
|       // shelfId与查询参数id关联 | ||||
|       this.listQuery.id = this.listQuery.shelfId | ||||
|       locationList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|           console.log(this.list) | ||||
|           // 1是Working Port,2是Buffer Port,3是Exception Port与status进行替换 | ||||
|           for (var x = 0; x < this.list.length; x++) { | ||||
|             if (this.list[x].status === 1) { | ||||
|               this.list[x].statusName = 'Working Port' | ||||
|             } else if (this.list[x].status === 2) { | ||||
|               this.list[x].statusName = 'Buffer Port' | ||||
|             } else if (this.list[x].status === 3) { | ||||
|               this.list[x].statusName = 'Exception Port' | ||||
|             } | ||||
|           } | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|   | ||||
| @@ -1,30 +1,49 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-25 16:23:03 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-15 09:54:52 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <el-dialog | ||||
|     :title="!dataForm.shelfId ? 'btn.add' : 'btn.edit' | i18nFilter" | ||||
|     :title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()"> | ||||
|       <el-form-item :label="$t('module.basicData.cache.LocationName')" prop="name"> | ||||
|         <el-input v-model="dataForm.name" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.LocationName')])" clearable /> | ||||
|       <el-form-item :label="$t('module.basicData.cache.LocationName')" prop="locationName"> | ||||
|         <el-input v-model="dataForm.locationName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.LocationName')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.cache.LocationCode')" prop="code"> | ||||
|         <el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.LocationCode')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.cache.anotherName')" prop="anotherName"> | ||||
|         <el-input v-model="dataForm.anotherName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.anotherName')])" clearable /> | ||||
|       <el-form-item :label="$t('module.basicData.cache.anotherName')" prop="locationNameAlias"> | ||||
|         <el-input v-model="dataForm.locationNameAlias" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.anotherName')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.cache.place')" prop="place"> | ||||
|         <el-input v-model="dataForm.place" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.place')])" clearable /> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.cache.rowMark')" prop="layers"> | ||||
|         <el-input v-model="dataForm.layers" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.rowMark')])" clearable /> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.basicData.cache.rowMark')" prop="layers"> | ||||
|         <el-input-number v-model="dataForm.layers" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.rowMark')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark"> | ||||
|         <el-input v-model="dataForm.remark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable /> | ||||
|       <el-form-item :label="$t('module.basicData.cache.columnMark')" prop="columns"> | ||||
|         <el-input-number v-model="dataForm.columns" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.columnMark')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.cache.locationType')" prop="locationType"> | ||||
|         <el-input v-model="dataForm.locationType" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.locationType')])" clearable /> | ||||
|       </el-form-item> --> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.cache.status')" prop="status"> | ||||
|         <el-input v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.status')])" clearable /> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.basicData.cache.status')" prop="status"> | ||||
|         <el-select v-model="dataForm.status"> | ||||
|           <el-option | ||||
|             v-for="item in options" | ||||
|             :key="item.value" | ||||
|             :label="item.label" | ||||
|             :value="item.value" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
| @@ -51,18 +70,39 @@ export default { | ||||
|       visible: false, | ||||
|       dataForm: { | ||||
|         id: 0, | ||||
|         name: '', | ||||
|         locationName: '', | ||||
|         code: '', | ||||
|         anotherName: '', | ||||
|         place: '', | ||||
|         remark: '' | ||||
|         locationNameAlias: '', | ||||
|         rowNum: '', | ||||
|         status: null, | ||||
|         locationType: '' | ||||
|       }, | ||||
|       options: [ | ||||
|         { | ||||
|           value: 1, | ||||
|           label: 'Working Port' | ||||
|         }, | ||||
|         { | ||||
|           value: 2, | ||||
|           label: 'Buffer Port' | ||||
|         }, | ||||
|         { | ||||
|           value: 3, | ||||
|           label: 'Exception Port' | ||||
|         } | ||||
|       ], | ||||
|       dataRule: { | ||||
|         name: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationName')]), trigger: 'blur' } | ||||
|         ], | ||||
|         code: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationCode')]), trigger: 'blur' } | ||||
|         ], | ||||
|         layers: [ | ||||
|           { pattern: /^[1-9]\d*$/, message: this.$t('module.basicData.cache.warning'), trigger: 'blur' } | ||||
|         ], | ||||
|         columns: [ | ||||
|           { pattern: /^[1-9]\d*$/, message: this.$t('module.basicData.cache.warning'), trigger: 'blur' } | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
| @@ -76,6 +116,7 @@ export default { | ||||
|         if (this.dataForm.id) { | ||||
|           locationDetail(this.dataForm.id).then(res => { | ||||
|             this.dataForm = res.data | ||||
|             // console.log(this.dataForm) | ||||
|           }) | ||||
|         } else { | ||||
|           locationCode().then(res => { | ||||
| @@ -89,13 +130,15 @@ export default { | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           const data = { | ||||
|             'name': this.dataForm.name, | ||||
|             'locationName': this.dataForm.locationName, | ||||
|             'code': this.dataForm.code, | ||||
|             'anotherName': this.dataForm.anotherName, | ||||
|             'place': this.dataForm.place, | ||||
|             'remark': this.dataForm.remark, | ||||
|             'locationNameAlias': this.dataForm.locationNameAlias, | ||||
|             'columns': this.dataForm.columns, | ||||
|             'layers': this.dataForm.layers, | ||||
|             'shelfId': this.shelfId, | ||||
|             'id': this.dataForm.id | ||||
|             'id': this.dataForm.id, | ||||
|             'status': this.dataForm.status, | ||||
|             'locationType': this.dataForm.locationType | ||||
|           } | ||||
|           if (this.dataForm.id) { | ||||
|             locationUpdate(data).then(res => { | ||||
| @@ -111,6 +154,8 @@ export default { | ||||
|             }) | ||||
|           } else { | ||||
|             locationAdd(data).then(res => { | ||||
|               console.log(data) | ||||
|               console.log(res) | ||||
|               this.$message({ | ||||
|                 message: this.$t('module.basicData.visual.success'), | ||||
|                 type: 'success', | ||||
| @@ -125,6 +170,28 @@ export default { | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|     // isInt(value){ | ||||
|     //   for(var i = 0; i < value.length; i++) { | ||||
|     //     if(charAt[i] == '.'){ | ||||
|     //     } | ||||
|     //   } | ||||
|     // } | ||||
|     // isInt(value) { | ||||
|     //   let zero = /^0+\d*$/ // 过滤以0开头的数据(不含小数点) | ||||
|     //   let dublue = /^0{2,}\.\d+$/ // 过滤小数点前有两个以上0的数字 | ||||
|     //   let point = /^\d+\.?\d+$/ //  以数字开头,可以允许出现一次或0次小数点,以数字结尾(这里的数字必须有两个) | ||||
|     //   let reg = /^[1-9]{1}$/ // 匹配只有一个数字的情况 | ||||
|     //   if (!value) { | ||||
|     //     return false | ||||
|     //   } | ||||
|     //   if (zero.test(value) || dublue.test(value)) { // 首先过滤掉错误的数据 | ||||
|     //     return false | ||||
|     //   } else if (point.test(value) || reg.test(value)) { // 匹配数据,如果输入的数字只有一位数时用reg匹配 | ||||
|     //     return true | ||||
|     //   } else { | ||||
|     //     return false | ||||
|     //   } | ||||
|     // } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| <!-- | ||||
|  * @Date: 2021-01-07 20:09:37 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-06 13:12:47 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-15 09:48:09 | ||||
|  * @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <span> | ||||
|     <el-button type="text" size="small" @click="emitClick">{{ $t('module.basicData.cache.ManageLocation') }}</el-button> | ||||
|     <el-button type="text" size="small" @click="emitClick">{{ $t('module.basicData.cache.addLocation') }}</el-button> | ||||
|   </span> | ||||
| </template> | ||||
|  | ||||
| @@ -24,7 +24,10 @@ export default { | ||||
|       this.$router.push({ | ||||
|         name: 'locationAdd', | ||||
|         query: { | ||||
|           id: this.injectData.id | ||||
|           id: this.injectData.id, | ||||
|           code: this.injectData.code, | ||||
|           total: this.injectData.total, | ||||
|           shelfName: this.injectData.shelfName | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-11 09:22:52 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 19:20:22 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -25,7 +25,7 @@ | ||||
|         @clickBtn="handleClick" | ||||
|       /> | ||||
|     </base-table> | ||||
|     <shelfAttr-add v-if="addOrUpdateVisible" ref="addOrUpdate" :area-id="listQuery.areaId" @refreshDataList="getList" /> | ||||
|     <shelfAttr-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| @@ -163,7 +163,7 @@ export default { | ||||
|     addNew(id) { | ||||
|       this.addOrUpdateVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.addOrUpdate.init(id) | ||||
|         this.$refs.addOrUpdate.init(id, true) | ||||
|       }) | ||||
|     }, | ||||
|     goback() { | ||||
|   | ||||
| @@ -1,13 +1,14 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-16 15:01:45 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 19:38:31 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <!-- 新增/编辑识别 :title="!dataForm.areaId ? 'btn.add' : 'btn.edit' | i18nFilter" --> | ||||
|   <el-dialog | ||||
|     :title="!dataForm.areaId ? 'btn.add' : 'btn.edit' | i18nFilter" | ||||
|     :title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()"> | ||||
| @@ -17,6 +18,7 @@ | ||||
|       <el-form-item :label="$t('module.basicData.cache.ShelfCode')" prop="code"> | ||||
|         <el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.ShelfCode')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <!-- 选择货架code的下拉框 | ||||
|       <el-form-item v-if="isPage" :label="$t('module.basicData.cache.AreaName')" prop="areaId"> | ||||
|         <el-select v-model="dataForm.areaId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.AreaName')])" clearable> | ||||
|           <el-option | ||||
| @@ -26,9 +28,15 @@ | ||||
|             :value="item.id" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.basicData.cache.StorageQuantity')" prop="total"> | ||||
|         <el-input-number v-model="dataForm.total" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.StorageQuantity')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.cache.StorageQuantity')" prop="shelfNumber"> | ||||
|         <el-input-number v-model="dataForm.shelfNumber" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.StorageQuantity')])" clearable /> | ||||
|       <el-form-item :label="$t('module.basicData.cache.rowNum')" prop="rowNum"> | ||||
|         <el-input-number v-model="dataForm.rowNum" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.rowNum')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.cache.columnNum')" prop="columnNum"> | ||||
|         <el-input-number v-model="dataForm.columnNum" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.columnNum')])" clearable /> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
| @@ -40,7 +48,6 @@ | ||||
|  | ||||
| <script> | ||||
| import { shelfDetail, shelfUpdate, shelfAdd, shelfCode } from '@/api/basicData/Cache/shelf' | ||||
| import { areaList } from '@/api/basicData/Cache/area' | ||||
|  | ||||
| export default { | ||||
|   props: { | ||||
| @@ -79,42 +86,66 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     init(id, isPage) { | ||||
|       this.isPage = isPage || false | ||||
|     // init(id, isPage) { | ||||
|     //   this.isPage = isPage || false | ||||
|     //   this.dataForm.id = id || '' | ||||
|     //   if (!this.isPage) { | ||||
|     //     this.dataForm.areaId = this.areaId | ||||
|     //   } | ||||
|     //   this.areaArr.splice(0, this.areaArr.length) | ||||
|     //   const params = { | ||||
|     //     current: 1, | ||||
|     //     size: 500 | ||||
|     //   } | ||||
|     //   shelfList(params).then(response => { | ||||
|     //     if (response.data.records) { | ||||
|     //       this.areaArr = response.data.records | ||||
|     //     } | ||||
|     //   }) | ||||
|     //   this.visible = true | ||||
|     //   this.$nextTick(() => { | ||||
|     //     this.$refs['dataForm'].resetFields() | ||||
|     //     if (this.dataForm.id) { | ||||
|     //       shelfDetail(this.dataForm.id).then(res => { | ||||
|     //         this.dataForm = res.data | ||||
|     //       }) | ||||
|     //     } else { | ||||
|     //       shelfCode().then(res => { | ||||
|     //         this.dataForm.code = res.data | ||||
|     //       }) | ||||
|     //     } | ||||
|     //   }) | ||||
|     // }, | ||||
|     init(id) { | ||||
|       this.dataForm.id = id || '' | ||||
|       if (!this.isPage) { | ||||
|         this.dataForm.areaId = this.areaId | ||||
|       } | ||||
|       this.areaArr.splice(0, this.areaArr.length) | ||||
|       const params = { | ||||
|         current: 1, | ||||
|         size: 500 | ||||
|       } | ||||
|       areaList(params).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.areaArr = response.data.records | ||||
|         } | ||||
|       }) | ||||
|       this.visible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.dataForm.id) { | ||||
|           // console.log(this.dataForm) | ||||
|           shelfDetail(this.dataForm.id).then(res => { | ||||
|             // console.log(res) | ||||
|             this.dataForm = res.data | ||||
|           }) | ||||
|         } else { | ||||
|           this.dataForm.shelfName = '' | ||||
|           shelfCode().then(res => { | ||||
|             this.dataForm.code = res.data | ||||
|           }) | ||||
|         } | ||||
|       }) | ||||
|       // console.log(this.dataForm) | ||||
|     }, | ||||
|     // getClose() { | ||||
|     //   this.dataForm.shelfName = '' | ||||
|     //   console.log(this.dataForm) | ||||
|     // }, | ||||
|     // 表单提交 | ||||
|     dataFormSubmit() { | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           const data = this.dataForm | ||||
|           console.log(data) | ||||
|           // console.log(data) | ||||
|           if (this.dataForm.id) { | ||||
|             shelfUpdate(data).then(res => { | ||||
|               this.$message({ | ||||
| @@ -129,6 +160,7 @@ export default { | ||||
|             }) | ||||
|           } else { | ||||
|             shelfAdd(data).then(res => { | ||||
|               // console.log(res) | ||||
|               this.$message({ | ||||
|                 message: this.$t('module.basicData.visual.success'), | ||||
|                 type: 'success', | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| <!-- | ||||
|  * @Date: 2021-01-07 20:09:37 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-06 13:03:40 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-02 19:00:47 | ||||
|  * @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <span> | ||||
|     <el-button type="text" size="small" @click="emitClick">{{ $t('module.basicData.cache.ManageShelves') }}</el-button> | ||||
|     <el-button type="text" size="small" @click="emitClick">{{ $t('module.basicData.cache.addLocation') }}</el-button> | ||||
|   </span> | ||||
| </template> | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-11 16:45:30 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-14 16:23:19 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -52,22 +52,22 @@ export default { | ||||
|         id: 0, | ||||
|         storageBoxName: '', | ||||
|         code: '', | ||||
|         status: 0, | ||||
|         status: '', | ||||
|         enName: '', | ||||
|         note: '' | ||||
|       }, | ||||
|       options: [ | ||||
|         { | ||||
|           value: 0, | ||||
|           label: '正常' | ||||
|           label: this.$t('module.basicData.storageBox.normal') | ||||
|         }, | ||||
|         { | ||||
|           value: 1, | ||||
|           label: '维修中' | ||||
|           label: this.$t('module.basicData.storageBox.repairing') | ||||
|         }, | ||||
|         { | ||||
|           value: 2, | ||||
|           label: '报废' | ||||
|           label: this.$t('module.basicData.storageBox.scrapped') | ||||
|         } | ||||
|       ], | ||||
|       dataRule: { | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-25 16:13:19 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 20:18:52 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -44,10 +44,8 @@ import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import { shelfList, shelfDelete } from '@/api/basicData/Cache/shelf' | ||||
| import { areaList } from '@/api/basicData/Cache/area' | ||||
| import shelfAttrAdd from './components/shelfAttr-add.vue' | ||||
| import locationBtn from './components/locationBtn.vue' | ||||
| import { timeFormatter } from '@/filters' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
| @@ -76,34 +74,33 @@ const tableBtn = [ | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.factory.createTime'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.cache.ShelfName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.basicData.cache.ShelfCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'areaName', | ||||
|     prop: 'shelfName', | ||||
|     label: i18n.t('module.basicData.cache.AreaName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'shelfNumber', | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.basicData.cache.AreaCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'total', | ||||
|     label: i18n.t('module.basicData.cache.StorageQuantity'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'location', | ||||
|     label: i18n.t('module.basicData.cache.Location'), | ||||
|     prop: 'rowNum', | ||||
|     label: i18n.t('module.basicData.cache.rowNum'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'columnNum', | ||||
|     label: i18n.t('module.basicData.cache.columnNum'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'shelf', | ||||
|     label: i18n.t('module.basicData.visual.location'), | ||||
|     subcomponent: locationBtn, | ||||
|     align: 'center' | ||||
|   } | ||||
| @@ -125,7 +122,7 @@ export default { | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       keyName: i18n.t('module.basicData.visual.keyword'), | ||||
|       keyName: this.$t('module.basicData.cache.ShelfName'), | ||||
|       placeholderName: this.$t('module.basicData.cache.ShelfName'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
| @@ -141,21 +138,22 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     const params = { | ||||
|       current: 1, | ||||
|       size: 500 | ||||
|     } | ||||
|     areaList(params).then(response => { | ||||
|       if (response.data.records) { | ||||
|         this.areaList = response.data.records | ||||
|       } | ||||
|       this.getList() | ||||
|     }) | ||||
|     // const params = { | ||||
|     //   current: 1, | ||||
|     //   size: 500 | ||||
|     // } | ||||
|     // shelfList(params).then(response => { | ||||
|     //   if (response.data.records) { | ||||
|     //     this.areaList = response.data.records | ||||
|     //   } | ||||
|     //   this.getList() | ||||
|     // }) | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.name}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.shelfName}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
| @@ -179,7 +177,8 @@ export default { | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.name = key | ||||
|       this.listQuery.shelfName = key | ||||
|       // console.log(this.listQuery) | ||||
|       shelfList(this.listQuery).then(response => { | ||||
|         console.log(response) | ||||
|         if (response.data.records) { | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-11 16:46:48 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 10:55:34 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -81,13 +81,13 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'storageBoxName', | ||||
|     label: i18n.t('module.basicData.storageBox.name'), | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.basicData.storageBox.code'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.basicData.storageBox.code'), | ||||
|     prop: 'storageBoxName', | ||||
|     label: i18n.t('module.basicData.storageBox.name'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -124,8 +124,8 @@ export default { | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       keyName: i18n.t('module.basicData.visual.keyword'), | ||||
|       placeholderName: this.$t('module.basicData.storageBox.name') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.storageBox.code'), | ||||
|       keyName: this.$t('module.basicData.storageBox.name'), | ||||
|       placeholderName: this.$t('module.basicData.storageBox.name'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|   | ||||
| @@ -37,7 +37,7 @@ | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType"> | ||||
|             <!-- <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType"> | ||||
|               <el-select | ||||
|                 v-model="dataForm.equipmentType" | ||||
|                 :disabled="isdetail" | ||||
| @@ -53,9 +53,35 @@ | ||||
|                   :disabled="item.disabled" | ||||
|                 /> | ||||
|               </el-select> | ||||
|             </el-form-item> --> | ||||
|             <!-- <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType"> | ||||
|               <el-input v-model="dataForm.equipmentType" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.EquipmentType')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> --> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="EquipmentType"> | ||||
|               <el-select v-model="dataForm.equipmentType" :placeholder="this.$t('module.basicData.cache.logisticsEquipment')" default> | ||||
|                 <el-option | ||||
|                   v-for="item in options" | ||||
|                   :key="item.value" | ||||
|                   :label="item.label" | ||||
|                   :value="item.value" | ||||
|                 /> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.enterTime')" prop="enterTime"> | ||||
|               <el-date-picker | ||||
|                 v-model="dataForm.enterTime" | ||||
|                 :disabled="isdetail" | ||||
|                 format="yyyy-MM-dd" | ||||
|                 value-format="yyyy-MM-ddT00:00:00" | ||||
|                 :style="{width: '100%'}" | ||||
|                 :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.enterTime')])" | ||||
|                 clearable | ||||
|               /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <!-- <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.EquipmentGrouping')" prop="groupId"> | ||||
|               <el-select | ||||
|                 v-model="dataForm.groupId" | ||||
| @@ -73,18 +99,18 @@ | ||||
|                 /> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           </el-col> --> | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|           <el-col :span="8"> | ||||
|           <!-- <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.Specs')" prop="spec"> | ||||
|               <el-input v-model="dataForm.spec" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Specs')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.productionTime')" prop="productionTime"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.productionTime')" prop="createTime"> | ||||
|               <el-date-picker | ||||
|                 v-model="dataForm.productionTime" | ||||
|                 v-model="dataForm.createTime" | ||||
|                 :disabled="isdetail" | ||||
|                 format="yyyy-MM-dd" | ||||
|                 value-format="yyyy-MM-dd" | ||||
| @@ -93,23 +119,10 @@ | ||||
|                 clearable | ||||
|               /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.enterTime')" prop="enterTime"> | ||||
|               <el-date-picker | ||||
|                 v-model="dataForm.enterTime" | ||||
|                 :disabled="isdetail" | ||||
|                 format="yyyy-MM-dd" | ||||
|                 value-format="yyyy-MM-dd" | ||||
|                 :style="{width: '100%'}" | ||||
|                 :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.enterTime')])" | ||||
|                 clearable | ||||
|               /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           </el-col> --> | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|           <el-col :span="8"> | ||||
|           <!-- <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.debugTime')" prop="debugTime"> | ||||
|               <el-date-picker | ||||
|                 v-model="dataForm.debugTime" | ||||
| @@ -126,7 +139,7 @@ | ||||
|             <el-form-item :label="$t('module.basicData.equipment.DebugPeriod')" prop="debugPeriod"> | ||||
|               <el-input v-model="dataForm.debugPeriod" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.DebugPeriod')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           </el-col> --> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.Manufacturer')" prop="manufacturer"> | ||||
|               <el-input | ||||
| @@ -138,9 +151,19 @@ | ||||
|               /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark"> | ||||
|               <el-input v-model="dataForm.remark" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.Description')" prop="description"> | ||||
|               <el-input v-model="dataForm.description" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Description')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|           <el-col :span="8"> | ||||
|           <!-- <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.intellectualProperty')" prop="intellectualProperty"> | ||||
|               <el-input | ||||
|                 v-model="dataForm.intellectualProperty" | ||||
| @@ -162,20 +185,8 @@ | ||||
|                 :style="{width: '100%'}" | ||||
|               /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark"> | ||||
|               <el-input v-model="dataForm.remark" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.visual.Description')" prop="description"> | ||||
|               <el-input v-model="dataForm.description" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Description')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|           </el-col> --> | ||||
|           <!-- <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.plcVersion')" prop="plcVersion"> | ||||
|               <el-input v-model="dataForm.plcVersion" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.plcVersion')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
| @@ -184,9 +195,9 @@ | ||||
|             <el-form-item :label="$t('module.basicData.equipment.eapVersion')" prop="eapVersion"> | ||||
|               <el-input v-model="dataForm.eapVersion" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.eapVersion')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           </el-col> --> | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|         <!-- <el-row> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.maintenanceCycle')" prop="maintenanceCycle"> | ||||
|               <el-input v-model="dataForm.maintenanceCycle" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.maintenanceCycle')])" clearable :style="{width: '100%'}" /> | ||||
| @@ -197,9 +208,9 @@ | ||||
|               <el-input v-model="dataForm.maintenanceTime" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.maintenanceTime')])" clearable :style="{width: '100%'}" /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
|         </el-row> --> | ||||
|         <el-row> | ||||
|           <el-col :span="4"> | ||||
|           <!-- <el-col :span="4"> | ||||
|             <el-form-item :label="$t('module.basicData.equipment.E10Status')" prop="estatus"> | ||||
|               <el-switch | ||||
|                 v-model="dataForm.estatus" | ||||
| @@ -248,11 +259,11 @@ | ||||
|                 inactive-color="#AAAAAA" | ||||
|               /> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           </el-col> --> | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|           <el-col :span="9"> | ||||
|             <el-form-item v-if="listQuery.equipmentId && !isdetail" :label="$t('module.basicData.equipment.equipmentImg')" prop="eImg"> | ||||
|             <!-- <el-form-item v-if="listQuery.equipmentId && !isdetail" :label="$t('module.basicData.equipment.equipmentImg')" prop="eImg"> | ||||
|               <el-upload | ||||
|                 ref="eImg" | ||||
|                 name="files" | ||||
| @@ -265,7 +276,7 @@ | ||||
|               > | ||||
|                 <el-button size="small" type="primary" icon="el-icon-upload">{{ 'btn.upload' | i18nFilter }}</el-button> | ||||
|               </el-upload> | ||||
|             </el-form-item> | ||||
|             </el-form-item> --> | ||||
|             <el-form-item v-if="isdetail" :label="$t('module.basicData.equipment.equipmentImg')" prop="upInfo"> | ||||
|               <div v-for="item in imgList" :key="item.id"> | ||||
|                 {{ item.fileName }} <el-button size="small" type="primary" icon="el-icon-upload" @click="downloadFile(item.fileId)">{{ 'btn.download' | i18nFilter }}</el-button> | ||||
| @@ -330,12 +341,9 @@ import { | ||||
|   equipmentInfoUpdate, | ||||
|   equipmentInfoAdd, | ||||
|   equipmentInfoCode, | ||||
|   equipmentInfoFileAdd, | ||||
|   getEquipmentInfoFile | ||||
|   equipmentInfoFileAdd | ||||
| } from '@/api/basicData/Equipment/equipmentInfo' | ||||
| import { equipmentGroupList } from '@/api/basicData/Equipment/equipmentGroup' | ||||
| import { equipmentInfoAttrList, equipmentInfoAttrDelete } from '@/api/basicData/Equipment/equipmentInfoAttr' | ||||
| import { equipmentTypeList } from '@/api/basicData/Equipment/equipmentType' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import equipmentInfoAttrAdd from './equipmentInfoAttr-add' | ||||
| @@ -365,15 +373,15 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'attrValue', | ||||
|     prop: 'attrContent', | ||||
|     label: i18n.t('module.basicData.visual.AttributeValue'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'remark', | ||||
|     label: i18n.t('module.basicData.visual.Remarks'), | ||||
|     align: 'center' | ||||
|   } | ||||
|   // { | ||||
|   //   prop: 'remark', | ||||
|   //   label: i18n.t('module.basicData.visual.Remarks'), | ||||
|   //   align: 'center' | ||||
|   // } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
| @@ -391,9 +399,9 @@ export default { | ||||
|         code: '', | ||||
|         enName: '', | ||||
|         abbr: '', | ||||
|         equipmentType: '', | ||||
|         equipmentType: this.$t('module.basicData.cache.logisticsEquipment'), | ||||
|         spec: '', | ||||
|         productionTime: '', | ||||
|         createTime: '', | ||||
|         enterTime: '', | ||||
|         debugTime: '', | ||||
|         debugPeriod: '', | ||||
| @@ -414,6 +422,16 @@ export default { | ||||
|         maintenanceTime: '', | ||||
|         maintenanceCycle: '' | ||||
|       }, | ||||
|       options: [ | ||||
|         { | ||||
|           value: '1', | ||||
|           label: this.$t('module.basicData.cache.logisticsEquipment') | ||||
|         }, | ||||
|         { | ||||
|           value: '2', | ||||
|           label: this.$t('module.basicData.cache.processEquipment') | ||||
|         } | ||||
|       ], | ||||
|       rules: { | ||||
|         name: [{ | ||||
|           required: true, | ||||
| @@ -424,22 +442,17 @@ export default { | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentCode')]), | ||||
|           trigger: 'blur' | ||||
|         }], | ||||
|         equipmentType: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentType')]), | ||||
|           trigger: 'change' | ||||
|         }], | ||||
|         maintenanceCycle: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceCycle')]), | ||||
|           trigger: 'blur' | ||||
|         }], | ||||
|         maintenanceTime: [{ | ||||
|           required: true, | ||||
|           message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceTime')]), | ||||
|           trigger: 'blur' | ||||
|         }] | ||||
|         // maintenanceCycle: [{ | ||||
|         //   required: true, | ||||
|         //   message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceCycle')]), | ||||
|         //   trigger: 'blur' | ||||
|         // }], | ||||
|         // maintenanceTime: [{ | ||||
|         //   required: true, | ||||
|         //   message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceTime')]), | ||||
|         //   trigger: 'blur' | ||||
|         // }] | ||||
|       }, | ||||
|       typeCode: {}, | ||||
|       eImgAction: uploadPath, | ||||
| @@ -462,40 +475,43 @@ export default { | ||||
|   created() { | ||||
|     this.listQuery.equipmentId = this.$route.query.id | ||||
|     this.init() | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.isdetail = false | ||||
|       this.isdetail = Boolean(this.$route.query.isdetail) | ||||
|       if (this.isdetail) { | ||||
|         const data = | ||||
|           { | ||||
|             'equipmentId': this.listQuery.equipmentId | ||||
|           } | ||||
|         getEquipmentInfoFile(data).then(res => { | ||||
|           this.downloadList = res.data | ||||
|           this.downloadList.forEach(item => { | ||||
|             if (item.typeCode === 'equipmentInfoImage') { | ||||
|               this.imgList.push(item) | ||||
|             } else { | ||||
|               this.fileList.push(item) | ||||
|             } | ||||
|           }) | ||||
|         }) | ||||
|       } | ||||
|       this.list.splice(0, this.list.length) | ||||
|       equipmentTypeList(this.listQuery).then(response => { | ||||
|         this.equipmentTypeOption = response.data.records | ||||
|       }) | ||||
|       equipmentGroupList(this.listQuery).then(response => { | ||||
|         this.equipmentGroupOption = response.data.records | ||||
|       }) | ||||
|       // 设备信息下载接口,暂时未调用 | ||||
|       // if (this.isdetail) { | ||||
|       //   const data = | ||||
|       //     { | ||||
|       //       'equipmentId': this.listQuery.equipmentId | ||||
|       //     } | ||||
|       //   getEquipmentInfoFile(data).then(res => { | ||||
|       //     this.downloadList = res.data | ||||
|       //     this.downloadList.forEach(item => { | ||||
|       //       if (item.typeCode === 'equipmentInfoImage') { | ||||
|       //         this.imgList.push(item) | ||||
|       //       } else { | ||||
|       //         this.fileList.push(item) | ||||
|       //       } | ||||
|       //     }) | ||||
|       //   }) | ||||
|       // } | ||||
|       // this.list.splice(0, this.list.length) | ||||
|       // equipmentTypeList(this.listQuery).then(response => { | ||||
|       //   this.equipmentTypeOption = response.data.records | ||||
|       // }) | ||||
|       // equipmentGroupList(this.listQuery).then(response => { | ||||
|       //   this.equipmentGroupOption = response.data.records | ||||
|       // }) | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.listQuery.equipmentId) { | ||||
|           this.listLoading = true | ||||
|           equipmentInfoDetail(this.listQuery.equipmentId).then(res => { | ||||
|             this.dataForm = res.data | ||||
|             console.log(this.dataForm) | ||||
|           }) | ||||
|           equipmentInfoAttrList(this.listQuery).then(response => { | ||||
|             if (response.data.records) { | ||||
| @@ -514,7 +530,9 @@ export default { | ||||
|     }, | ||||
|     getList() { | ||||
|       this.listLoading = true | ||||
|       // console.log(this.listQuery) | ||||
|       equipmentInfoAttrList(this.listQuery).then(response => { | ||||
|         // console.log(response) | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } else { | ||||
| @@ -525,7 +543,7 @@ export default { | ||||
|     }, | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.attrName}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.name}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
| @@ -547,13 +565,14 @@ export default { | ||||
|     }, | ||||
|     // 表单提交 | ||||
|     dataFormSubmit() { | ||||
|       console.log(this.dataForm) | ||||
|       console.log(this.dataForm.eInfo) | ||||
|       // console.log(this.dataForm) | ||||
|       // console.log(this.dataForm.eInfo) | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           const data = this.dataForm | ||||
|           data.id = this.listQuery.equipmentId | ||||
|           if (this.listQuery.equipmentId) { | ||||
|             // console.log(data) | ||||
|             equipmentInfoUpdate(data).then(res => { | ||||
|               this.$message({ | ||||
|                 message: this.$t('module.basicData.visual.success'), | ||||
| @@ -619,9 +638,9 @@ export default { | ||||
|           'fileUrl': res.data[0].fileUrl, | ||||
|           'typeCode': this.typeCode.typeCode | ||||
|         } | ||||
|       console.log(data) | ||||
|       // console.log(data) | ||||
|       equipmentInfoFileAdd(data).then(res => { | ||||
|         console.log(res) | ||||
|         // console.log(res) | ||||
|       }) | ||||
|     }, | ||||
|     downloadFile(id) { | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-25 16:31:46 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-05 14:08:41 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -19,12 +19,12 @@ | ||||
|       <el-form-item :label="$t('module.basicData.visual.AttributeName')" prop="attrName"> | ||||
|         <el-input v-model="dataForm.attrName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.AttributeName')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.visual.AttributeValue')" prop="attrValue"> | ||||
|         <el-input v-model="dataForm.attrValue" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.AttributeValue')])" clearable /> | ||||
|       <el-form-item :label="$t('module.basicData.visual.AttributeValue')" prop="attrContent"> | ||||
|         <el-input v-model="dataForm.attrContent" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.AttributeValue')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark"> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark"> | ||||
|         <el-input v-model="dataForm.remark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable /> | ||||
|       </el-form-item> | ||||
|       </el-form-item> --> | ||||
|     </el-form> | ||||
|     <div class="drawer-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
| @@ -52,14 +52,14 @@ export default { | ||||
|       dataForm: { | ||||
|         id: 0, | ||||
|         attrName: '', | ||||
|         attrValue: '', | ||||
|         attrContent: '', | ||||
|         remark: '' | ||||
|       }, | ||||
|       dataRule: { | ||||
|         attrName: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.visual.AttributeName')]), trigger: 'blur' } | ||||
|         ], | ||||
|         attrValue: [ | ||||
|         attrContent: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.visual.AttributeValue')]), trigger: 'blur' } | ||||
|         ] | ||||
|       } | ||||
| @@ -74,6 +74,7 @@ export default { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.dataForm.id) { | ||||
|           equipmentInfoAttrDetail(this.dataForm.id).then(res => { | ||||
|             console.log(res) | ||||
|             this.dataForm = res.data | ||||
|           }) | ||||
|         } | ||||
| @@ -86,7 +87,7 @@ export default { | ||||
|         if (valid) { | ||||
|           const data = { | ||||
|             'attrName': this.dataForm.attrName, | ||||
|             'attrValue': this.dataForm.attrValue, | ||||
|             'attrContent': this.dataForm.attrContent, | ||||
|             'remark': this.dataForm.remark, | ||||
|             'equipmentId': this.equipmentId, | ||||
|             'id': this.dataForm.id | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-07-08 09:46:10 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 15:09:41 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -43,7 +43,7 @@ import HeadForm from '@/components/basicData/HeadForm' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| // import { timeFormatter } from '@/filters' | ||||
| import { timeFormatter } from '@/filters' | ||||
| // import dataDict from '@/filters/DataDict' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
| @@ -76,20 +76,15 @@ const tableBtn = [ | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   // { | ||||
|   //   prop: 'createTime', | ||||
|   //   label: i18n.t('module.basicData.factory.createTime'), | ||||
|   //   filter: timeFormatter, | ||||
|   //   align: 'center' | ||||
|   // }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.equipment.EquipmentName'), | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.factory.createTime'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'equipmentTypeName', | ||||
|     label: i18n.t('module.basicData.equipment.EquipmentType'), | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.equipment.EquipmentName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -98,8 +93,8 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'equipmentGroupName', | ||||
|     label: i18n.t('module.basicData.equipment.EquipmentGrouping'), | ||||
|     prop: 'typeName', | ||||
|     label: i18n.t('module.basicData.equipment.EquipmentType'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -108,26 +103,11 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'maintenanceCycle', | ||||
|     label: i18n.t('module.basicData.equipment.maintenanceCycle'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'maintenanceTime', | ||||
|     label: i18n.t('module.basicData.equipment.maintenanceTime'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'description', | ||||
|     label: i18n.t('module.basicData.equipment.FunctionDescription'), | ||||
|     prop: 'abbr', | ||||
|     label: i18n.t('module.basicData.equipment.shortName'), | ||||
|     align: 'center' | ||||
|   } | ||||
|   // { | ||||
|   //   prop: 'abbr', | ||||
|   //   label: i18n.t('module.basicData.visual.Abbreviation'), | ||||
|   //   align: 'center' | ||||
|   // } | ||||
|   // { | ||||
|   //   prop: 'estatus', | ||||
|   //   label: i18n.t('module.basicData.visual.CurrentState'), | ||||
|   //   filter: dataDict('enableState'), | ||||
| @@ -150,12 +130,14 @@ export default { | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       keyName: i18n.t('module.basicData.visual.keyword'), | ||||
|       placeholderName: this.$t('module.basicData.equipment.EquipmentName') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.equipment.EquipmentCode'), | ||||
|       keyName: this.$t('module.basicData.equipment.EquipmentCode'), | ||||
|       placeholderName: this.$t('module.basicData.equipment.EquipmentCode'), | ||||
|       tableBtn, | ||||
|       trueWidth: 240, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       list: [{ | ||||
|         typeName: '' | ||||
|       }], | ||||
|       total: 0, | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
| @@ -197,13 +179,23 @@ export default { | ||||
|       this.listQuery.name = key | ||||
|       this.listQuery.code = key | ||||
|       equipmentInfoList(this.listQuery).then(response => { | ||||
|         console.log(response) | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|           // 1是物流设备,2是工艺设备,与equipmentType进行替换 | ||||
|           for (var x = 0; x < this.list.length; x++) { | ||||
|             if (this.list[x].equipmentType === '1') { | ||||
|               this.list[x].typeName = this.$t('module.basicData.cache.logisticsEquipment') | ||||
|             } else if (this.list[x].equipmentType === '2') { | ||||
|               this.list[x].typeName = this.$t('module.basicData.cache.processEquipment') | ||||
|             } | ||||
|           } | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|         this.listLoading = false | ||||
|         console.log(this.list) | ||||
|       }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2021-04-17 16:33:37 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-04 10:06:01 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -62,23 +62,8 @@ | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="20"> | ||||
|               <el-form-item :label="$t('module.basicData.staff.Profession')" prop="majorId"> | ||||
|                 <el-select | ||||
|                   v-model="staffData.majorId" | ||||
|                   :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.staff.Profession')])" | ||||
|                   multiple | ||||
|                   filterable | ||||
|                   clearable | ||||
|                   :style="{width: '100%'}" | ||||
|                 > | ||||
|                   <el-option | ||||
|                     v-for="(item, index) in majorArr" | ||||
|                     :key="index" | ||||
|                     :label="item.name" | ||||
|                     :value="item.id" | ||||
|                     :disabled="item.disabled" | ||||
|                   /> | ||||
|                 </el-select> | ||||
|               <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="description"> | ||||
|                 <el-input v-model="staffData.description" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
| @@ -122,11 +107,6 @@ | ||||
|                 </el-radio-group> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="20"> | ||||
|               <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="description"> | ||||
|                 <el-input v-model="staffData.description" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-form> | ||||
| @@ -140,7 +120,6 @@ | ||||
|  | ||||
| <script> | ||||
| import { staffDetail, staffUpdate, staffAdd, staffCode } from '@/api/basicData/GroupModule/staff' | ||||
| import { majorList } from '@/api/basicData/GroupModule/major' | ||||
|  | ||||
| export default { | ||||
|   props: { | ||||
| @@ -152,7 +131,6 @@ export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       majorArr: [], | ||||
|       staffData: { | ||||
|         name: undefined, | ||||
|         sex: '', | ||||
| @@ -211,13 +189,6 @@ export default { | ||||
|       staffCode().then(res => { | ||||
|         this.staffData.code = res.data | ||||
|       }) | ||||
|       majorList({ | ||||
|         current: 1, | ||||
|         size: 999, | ||||
|         name: '' | ||||
|       }).then(response => { | ||||
|         this.majorArr = response.data.records | ||||
|       }) | ||||
|       this.staffData.id = id || '' | ||||
|       this.visible = true | ||||
|       this.$nextTick(() => { | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-05-21 14:41:36 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 13:43:01 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -127,11 +127,6 @@ const tableProps = [ | ||||
|     label: i18n.t('module.basicData.staff.Wechat'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'majorArr', | ||||
|     label: i18n.t('module.basicData.staff.Profession'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'workshop', | ||||
|     label: i18n.t('module.basicData.staff.Workshop'), | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-03-11 16:48:22 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-03 18:33:17 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -180,6 +180,7 @@ export default { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.name = key | ||||
|       this.listQuery.code = key | ||||
|       console.log(this.listQuery) | ||||
|       materialList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|   | ||||
							
								
								
									
										201
									
								
								src/views/basicData/Process/components/processInfo-add.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								src/views/basicData/Process/components/processInfo-add.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,201 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-04 11:12:42 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-09 16:12:04 | ||||
| --> | ||||
| <template> | ||||
|   <el-dialog | ||||
|     :title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-form ref="dataForm" :model="dataForm" label-width="130px" @keyup.enter.native="dataFormSubmit()"> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.workSequenId')" prop="workSequenId"> | ||||
|         <el-input v-model="dataForm.workSequenId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.workSequenId')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.processLocation.locationName')" prop="locationName"> | ||||
|         <el-input v-model="dataForm.locationId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationName')])" clearable /> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.locationName')" prop="locationName"> | ||||
|         <el-select v-model="dataForm.locationName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationName')])"> | ||||
|           <el-option | ||||
|             v-for="item in dataForm" | ||||
|             :key="item.locationName" | ||||
|             :label="item.locationName" | ||||
|             :value="item.locationName" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.portAttrId')" prop="portAttrId"> | ||||
|         <el-input v-model="dataForm.portAttrId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.portAttrId')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.processLocation.isProcess')" prop="isProcess"> | ||||
|         <el-input v-model="dataForm.isProcess" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.isProcess')])" clearable /> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.isProcess')" prop="isProcess"> | ||||
|         <el-select v-model="dataForm.isProcess" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.isProcess')])"> | ||||
|           <el-option | ||||
|             v-for="item in options" | ||||
|             :key="item.value" | ||||
|             :label="item.label" | ||||
|             :value="item.value" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.equipmentMark')" prop="equipmentMark"> | ||||
|         <el-input v-model="dataForm.equipmentMark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.equipmentMark')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.sequence')" prop="sequence"> | ||||
|         <el-input v-model="dataForm.sequence" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.sequence')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.processLocation.goodsShelves')" prop="goodsShelves"> | ||||
|         <el-input v-model="dataForm.goodsShelves" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.goodsShelves')])" clearable /> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item :label="$t('module.basicData.processLocation.goodsShelves')" prop="goodsShelves"> | ||||
|         <el-select v-model="dataForm.goodsShelves" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.goodsShelves')])"> | ||||
|           <el-option | ||||
|             v-for="item in options2" | ||||
|             :key="item.value" | ||||
|             :label="item.label" | ||||
|             :value="item.value" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="dataFormSubmit()">{{ 'btn.confirm' | i18nFilter }}</el-button> | ||||
|     </span> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { detail, update, add, locationList } from '@/api/basicData/Cache/processLocation' | ||||
|  | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       dataForm: { | ||||
|         workSequenId: '', | ||||
|         locationId: '', | ||||
|         portAttrId: '', | ||||
|         isProcess: '', | ||||
|         equipmentMark: '', | ||||
|         sequence: '', | ||||
|         goodsShelves: '', | ||||
|         locationName: '' | ||||
|       }, | ||||
|       options: [ | ||||
|         { | ||||
|           value: 0, | ||||
|           label: this.$t('module.basicData.processLocation.CacheLocation') | ||||
|         }, | ||||
|         { | ||||
|           value: 1, | ||||
|           label: this.$t('module.basicData.processLocation.ProcessLocation') | ||||
|         } | ||||
|       ], | ||||
|       options2: [ | ||||
|         { | ||||
|           value: 0, | ||||
|           label: this.$t('module.basicData.processLocation.aShelf') | ||||
|         }, | ||||
|         { | ||||
|           value: 1, | ||||
|           label: this.$t('module.basicData.processLocation.bShelf') | ||||
|         } | ||||
|       ], | ||||
|       // options3: [ | ||||
|       //   { | ||||
|       //     value: this.dataForm.locationId, | ||||
|       //     label: this.dataForm.locationName | ||||
|       //   } | ||||
|       // ], | ||||
|       listQuery: { | ||||
|         id: '' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     init(id) { | ||||
|       this.listQuery.id = id || '' | ||||
|       this.visible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         locationList().then(res => { | ||||
|           // console.log(res) | ||||
|           // this.dataForm.locationId = res.data.id' | ||||
|           for (var i = 0; i < res.data.length; i++) { | ||||
|             this.dataForm.locationId = res.data[i].id | ||||
|             this.dataForm.locationName = res.data[i].locationName | ||||
|           } | ||||
|           // console.log(this.dataForm) | ||||
|         }) | ||||
|         // portAttrList().then(res => { | ||||
|         //   console.log(res) | ||||
|         // }) | ||||
|         // workSequenList().then(res => { | ||||
|         //   console.log(res) | ||||
|         // }) | ||||
|         // console.log(this.listQuery) | ||||
|         if (this.listQuery.id) { | ||||
|           // list(this.listQuery).then(res =>{ | ||||
|           //   this.list = response.data.records | ||||
|           // }) | ||||
|           detail(this.listQuery.id).then(res => { | ||||
|             this.dataForm.equipmentMark = res.data.equipmentMark | ||||
|             this.dataForm.goodsShelves = res.data.goodsShelves | ||||
|             this.dataForm.id = res.data.id | ||||
|             this.dataForm.isProcess = res.data.isProcess | ||||
|             this.dataForm.portAttrId = res.data.portAttrId | ||||
|             this.dataForm.sequence = res.data.sequence | ||||
|             this.dataForm.workSequenId = res.data.workSequenId | ||||
|             console.log(this.dataForm) | ||||
|           }) | ||||
|         } else { | ||||
|           // storageBoxCode().then(res => { | ||||
|           //   this.dataForm.code = res.data | ||||
|           // }) | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     // 表单提交 | ||||
|     dataFormSubmit() { | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           const data = this.dataForm | ||||
|           data.id = this.dataForm.id | ||||
|           if (this.dataForm.id) { | ||||
|             update(data).then(res => { | ||||
|               this.$message({ | ||||
|                 message: this.$t('module.basicData.visual.success'), | ||||
|                 type: 'success', | ||||
|                 duration: 1500, | ||||
|                 onClose: () => { | ||||
|                   this.visible = false | ||||
|                   this.$emit('refreshDataList') | ||||
|                 } | ||||
|               }) | ||||
|             }) | ||||
|           } else { | ||||
|             add(data).then(res => { | ||||
|               this.$message({ | ||||
|                 message: this.$t('module.basicData.visual.success'), | ||||
|                 type: 'success', | ||||
|                 duration: 1500, | ||||
|                 onClose: () => { | ||||
|                   this.visible = false | ||||
|                   this.$emit('refreshDataList') | ||||
|                 } | ||||
|               }) | ||||
|             }) | ||||
|           } | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										214
									
								
								src/views/basicData/Process/processInfo.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										214
									
								
								src/views/basicData/Process/processInfo.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,214 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-03 09:51:25 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-08 16:56:40 | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <head-form | ||||
|       :placeholder-name="placeholderName" | ||||
|       :key-name="keyName" | ||||
|       @getDataList="getList" | ||||
|       @add="addNew" | ||||
|     /> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> | ||||
|     </base-table> | ||||
|     <pagination | ||||
|       v-show="total > 0" | ||||
|       :total="total" | ||||
|       :page.sync="listQuery.current" | ||||
|       :limit.sync="listQuery.size" | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|     <processInfo-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import HeadForm from '@/components/basicData/HeadForm' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import processInfoAdd from './components/processInfo-add' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import { list, locaDelete } from '@/api/basicData/Cache/processLocation' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
|     btnName: 'btn.edit' | ||||
|   }, | ||||
|   { | ||||
|     type: 'delete', | ||||
|     btnName: 'btn.delete' | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'workSequenId', | ||||
|     label: i18n.t('module.basicData.processLocation.workSequenId'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'locationId', | ||||
|     label: i18n.t('module.basicData.processLocation.locationId'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'portAttrId', | ||||
|     label: i18n.t('module.basicData.processLocation.portAttrId'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'isProcess', | ||||
|     label: i18n.t('module.basicData.processLocation.isProcess'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'equipmentMark', | ||||
|     label: i18n.t('module.basicData.processLocation.equipmentMark'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'sequence', | ||||
|     label: i18n.t('module.basicData.processLocation.sequence'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'goodsShelves', | ||||
|     label: i18n.t('module.basicData.processLocation.goodsShelves'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'locationName', | ||||
|     label: i18n.t('module.basicData.processLocation.locationName'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'Area', | ||||
|   components: { Pagination, BaseTable, MethodBtn, HeadForm, processInfoAdd }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       keyName: i18n.t('module.basicData.visual.keyword'), | ||||
|       placeholderName: i18n.t('module.basicData.processLocation.locationName'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       areaList: [], | ||||
|       total: 0, | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10, | ||||
|         locationId: '', | ||||
|         workSequenId: '', | ||||
|         locationName: '' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.id}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
|         }).then(() => { | ||||
|           locaDelete(raw.data.id).then(response => { | ||||
|             this.$message({ | ||||
|               message: this.$t('module.basicData.visual.success'), | ||||
|               type: 'success', | ||||
|               duration: 1500, | ||||
|               onClose: () => { | ||||
|                 this.getList() | ||||
|               } | ||||
|             }) | ||||
|           }) | ||||
|         }).catch(() => {}) | ||||
|       } else if (raw.type === 'edit') { | ||||
|         this.addNew(raw.data.id) | ||||
|       } else { | ||||
|         this.addNew(raw.data.id, true) | ||||
|       } | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.locationName = key | ||||
|       list(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|         // console.log(response) | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|     addNew(id) { | ||||
|       this.addOrUpdateVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.addOrUpdate.init(id, true) | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| </style> | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-14 15:54:12 | ||||
|  * @LastEditTime: 2022-03-14 10:35:17 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -46,6 +46,8 @@ | ||||
|       </el-form-item> | ||||
|       <el-form-item> | ||||
|         <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> | ||||
|         <el-button type="primary" @click="manualTask()"> {{ $t('module.basicData.Warehouse.PerformTaskManual') | i18nFilter }} </el-button> | ||||
|         <el-button type="primary" @click="publishTask()"> {{ $t('module.basicData.Warehouse.publishTask') | i18nFilter }} </el-button> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <base-table | ||||
| @@ -70,17 +72,21 @@ | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|     <current-task-info v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" /> | ||||
|     <current-task-add v-if="manualTaskVisible" ref="manualTaskRef" @refreshDataList="getList" /> | ||||
|     <publish-task v-if="publishTaskVisible" ref="publishTask" /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { CurrentTaskList } from '@/api/basicData/Warehouse/HistoricalTask' | ||||
| import CurrentTaskInfo from './components/CurrentTaskInfo.vue' | ||||
| import CurrentTaskAdd from './components/CurrentTask-add.vue' | ||||
| import PublishTask from './components/PublishTask.vue' | ||||
| import i18n from '@/lang' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| // import { timeFormatter } from '@/filters' | ||||
| import { timeFormatter } from '@/filters' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
| @@ -112,6 +118,7 @@ const tableProps = [ | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.Warehouse.ExecutionTime'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -168,11 +175,13 @@ const tableProps = [ | ||||
|  | ||||
| export default { | ||||
|   name: 'ScrapInfo', | ||||
|   components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo }, | ||||
|   components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo, CurrentTaskAdd, PublishTask }, | ||||
|   data() { | ||||
|     return { | ||||
|       trueWidth: 100, | ||||
|       addOrUpdateVisible: false, | ||||
|       manualTaskVisible: false, | ||||
|       publishTaskVisible: false, | ||||
|       tableProps, | ||||
|       tableBtn, | ||||
|       list: [], | ||||
| @@ -237,6 +246,20 @@ export default { | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.addOrUpdate.init(id) | ||||
|       }) | ||||
|     }, | ||||
|     // 手动执行任务 | ||||
|     manualTask() { | ||||
|       this.manualTaskVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.manualTaskRef.init() | ||||
|       }) | ||||
|     }, | ||||
|     // 发布任务 | ||||
|     publishTask() { | ||||
|       this.publishTaskVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.publishTask.init() | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-13 15:49:01 | ||||
|  * @LastEditTime: 2022-03-14 10:37:13 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -44,7 +44,7 @@ | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time"> | ||||
|       <!-- <el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time"> | ||||
|         <el-date-picker | ||||
|           v-model="formData.timeSlot" | ||||
|           type="daterange" | ||||
| @@ -55,7 +55,7 @@ | ||||
|           :range-separator="$t('module.orderManage.order.To')" | ||||
|           clearable | ||||
|         /> | ||||
|       </el-form-item> | ||||
|       </el-form-item> --> | ||||
|       <el-form-item> | ||||
|         <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> | ||||
|       </el-form-item> | ||||
| @@ -92,7 +92,7 @@ import i18n from '@/lang' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| // import { timeFormatter } from '@/filters' | ||||
| import { timeFormatter } from '@/filters' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
| @@ -124,31 +124,27 @@ const tableProps = [ | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.Warehouse.ExecutionTime'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'status', | ||||
|     label: i18n.t('module.basicData.Warehouse.TaskStatus'), | ||||
|     prop: 'taskSource', | ||||
|     label: i18n.t('module.basicData.Warehouse.TaskSource'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   // { | ||||
|   //   prop: 'taskType', | ||||
|   //   label: i18n.t('module.basicData.Warehouse.TaskType'), | ||||
|   //   align: 'center' | ||||
|   // }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.Warehouse.VehicleName'), | ||||
|     prop: 'taskType', | ||||
|     label: i18n.t('module.basicData.Warehouse.TaskType'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   // { | ||||
|   //   prop: 'substrateNo', | ||||
|   //   label: i18n.t('module.basicData.Warehouse.BoxStatus'), | ||||
|   //   align: 'center' | ||||
|   // }, | ||||
|   { | ||||
|     prop: 'wcode', | ||||
|     label: i18n.t('module.basicData.Warehouse.BoxNumber'), | ||||
|     prop: 'fullCode', | ||||
|     label: i18n.t('module.basicData.Warehouse.TaskBoxNumber'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'emptyCode', | ||||
|     label: i18n.t('module.basicData.Warehouse.FullBoxNumber'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
| @@ -162,19 +158,24 @@ const tableProps = [ | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'updateTime', | ||||
|     label: i18n.t('module.basicData.Warehouse.CompletionTime'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'currLocation', | ||||
|     prop: 'anotherCurrLocation', | ||||
|     label: i18n.t('module.basicData.Warehouse.StartLocation'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'targetLocation', | ||||
|     prop: 'anotherTargetLocation', | ||||
|     label: i18n.t('module.basicData.Warehouse.TargetLocation'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'currLocation', | ||||
|     label: i18n.t('module.basicData.Warehouse.FullBoxStartLocation'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.Warehouse.VehicleName'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| @@ -194,9 +195,9 @@ export default { | ||||
|         taskType: '', | ||||
|         status: '', | ||||
|         equipmentId: '', | ||||
|         timeSlot: [], | ||||
|         endTime: '', | ||||
|         startTime: '', | ||||
|         // timeSlot: [], | ||||
|         // endTime: '', | ||||
|         // startTime: '', | ||||
|         current: 1, | ||||
|         size: 10 | ||||
|       }, | ||||
| @@ -231,13 +232,13 @@ export default { | ||||
|   }, | ||||
|   methods: { | ||||
|     getList() { | ||||
|       if (this.formData.timeSlot) { | ||||
|         this.formData.startTime = this.formData.timeSlot[0] | ||||
|         this.formData.endTime = this.formData.timeSlot[1] | ||||
|       } else { | ||||
|         this.formData.startTime = '' | ||||
|         this.formData.endTime = '' | ||||
|       } | ||||
|       // if (this.formData.timeSlot) { | ||||
|       //   this.formData.startTime = this.formData.timeSlot[0] | ||||
|       //   this.formData.endTime = this.formData.timeSlot[1] | ||||
|       // } else { | ||||
|       //   this.formData.startTime = '' | ||||
|       //   this.formData.endTime = '' | ||||
|       // } | ||||
|       this.listLoading = true | ||||
|       HistoricalTaskList(this.formData).then(response => { | ||||
|         if (response.data.records) { | ||||
|   | ||||
							
								
								
									
										196
									
								
								src/views/basicData/Warehouse/ProcessStorageManagement.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								src/views/basicData/Warehouse/ProcessStorageManagement.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,196 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-14 10:35:21 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <el-form | ||||
|       ref="formData" | ||||
|       :rules="rules" | ||||
|       :model="listQuery" | ||||
|       :inline="true" | ||||
|       size="medium" | ||||
|       label-width="100px" | ||||
|     > | ||||
|       <el-form-item :label="$t('module.art.processList.processName')" prop="key"> | ||||
|         <el-select | ||||
|           v-model="listQuery.key" | ||||
|           :placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.processName')])" | ||||
|           clearable | ||||
|           filterable | ||||
|           :style="{width: '100%'}" | ||||
|         > | ||||
|           <el-option | ||||
|             v-for="(item, index) in processArr" | ||||
|             :key="index" | ||||
|             :label="item.name" | ||||
|             :value="item.name" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item> | ||||
|         <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> | ||||
|     </base-table> | ||||
|     <pagination | ||||
|       v-show="total > 0" | ||||
|       :total="total" | ||||
|       :page.sync="listQuery.current" | ||||
|       :limit.sync="listQuery.size" | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { list } from '@/api/art-manage/process' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import i18n from '@/lang' | ||||
| import { timeFormatter } from '@/filters' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'see', | ||||
|     btnName: i18n.t('module.basicData.Warehouse.processStorageLink') | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.art.processList.processCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.art.processList.processName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.art.eqName'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'ExecutionInfo', | ||||
|   components: { Pagination, BaseTable, MethodBtn }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       processArr: [], | ||||
|       total: 0, | ||||
|       listLoading: true, | ||||
|       rules: {}, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10, | ||||
|         key: '' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|     this.init() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       this.addNew(raw.data.id) | ||||
|     }, | ||||
|     init() { | ||||
|       const lparams = { | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       } | ||||
|       list(lparams).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.processArr = response.data.records | ||||
|         } else { | ||||
|           this.processArr.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|       }) | ||||
|     }, | ||||
|     getList() { | ||||
|       this.listLoading = true | ||||
|       list(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|     addNew(id) { | ||||
|       this.$router.push({ | ||||
|         name: 'ProcessStorageManagementInfo', | ||||
|         query: { | ||||
|           id | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| </style> | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-18 14:30:25 | ||||
|  * @LastEditTime: 2022-03-14 09:33:28 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -92,7 +92,7 @@ const tableProps = [ | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'StorageBoxInfo', | ||||
|   name: 'ScrapInfo', | ||||
|   components: { Pagination, BaseTable }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
| @@ -123,15 +123,18 @@ export default { | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|     const listQuery1 = { | ||||
|       current: 1, | ||||
|       size: 100 | ||||
|     } | ||||
|     StorageBoxRackCode(listQuery1).then(res => { | ||||
|       this.storageBoxList = res.data.records | ||||
|     }) | ||||
|     this.init() | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       const listQuery1 = { | ||||
|         current: 1, | ||||
|         size: 100 | ||||
|       } | ||||
|       StorageBoxRackCode(listQuery1).then(res => { | ||||
|         this.storageBoxList = res.data.records | ||||
|       }) | ||||
|     }, | ||||
|     getList() { | ||||
|       this.listLoading = true | ||||
|       StorageBoxInfoList(this.listQuery).then(response => { | ||||
|   | ||||
							
								
								
									
										205
									
								
								src/views/basicData/Warehouse/components/CurrentTask-add.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								src/views/basicData/Warehouse/components/CurrentTask-add.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,205 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-14 10:55:22 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <el-dialog | ||||
|     :title="$t('module.basicData.Warehouse.PerformTaskManual')" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-row :gutter="10"> | ||||
|       <el-form | ||||
|         ref="dataForm" | ||||
|         :model="dataForm" | ||||
|         size="medium" | ||||
|         label-width="110px" | ||||
|         label-position="left" | ||||
|       > | ||||
|         <el-col :span="12"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.TaskBoxNumber')" prop="taskCode"> | ||||
|                 <el-select | ||||
|                   v-model="dataForm.taskCode" | ||||
|                   :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.StorageBoxNumber')])" | ||||
|                   clearable | ||||
|                   filterable | ||||
|                   :style="{width: '100%'}" | ||||
|                 > | ||||
|                   <el-option | ||||
|                     v-for="(item, index) in storageBoxList" | ||||
|                     :key="index" | ||||
|                     :label="item.code" | ||||
|                     :value="item.code" | ||||
|                   /> | ||||
|                 </el-select> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.FullBoxNumber')" prop="orderName"> | ||||
|                 <el-input v-model="dataForm.orderName" :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.ExecutionOperation')" prop="fullCode"> | ||||
|                 <el-select | ||||
|                   v-model="dataForm.fullCode" | ||||
|                   :placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.processName')])" | ||||
|                   clearable | ||||
|                   filterable | ||||
|                   :style="{width: '100%'}" | ||||
|                 > | ||||
|                   <el-option | ||||
|                     v-for="(item, index) in processArr" | ||||
|                     :key="index" | ||||
|                     :label="item.name" | ||||
|                     :value="item.id" | ||||
|                   /> | ||||
|                 </el-select> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.TaskStatus')" prop="TaskStatus"> | ||||
|                 <el-select | ||||
|                   v-model="dataForm.TaskStatus" | ||||
|                   :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskStatus')])" | ||||
|                   clearable | ||||
|                   filterable | ||||
|                   :style="{width: '100%'}" | ||||
|                 > | ||||
|                   <el-option | ||||
|                     v-for="(item, index) in TaskStatusArr" | ||||
|                     :key="index" | ||||
|                     :label="item.dataName" | ||||
|                     :value="item.dataCode" | ||||
|                   /> | ||||
|                 </el-select> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.ScrapInfo.remark')" prop="remark"> | ||||
|                 <el-input v-model="dataForm.remark" :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|         <el-col :span="12"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.TaskLocation')" prop="createTime"> | ||||
|                 <el-input v-model="dataForm.createTime" :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.FullBoxStartLocation')" prop="taskType"> | ||||
|                 <el-input v-model="dataForm.taskType" :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.Priority')" prop="emptyCode"> | ||||
|                 <el-input v-model="dataForm.emptyCode" :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.NextOperation')" prop="anotherCurrLocation"> | ||||
|                 <el-select | ||||
|                   v-model="dataForm.anotherCurrLocation" | ||||
|                   :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.NextOperation')])" | ||||
|                   clearable | ||||
|                   filterable | ||||
|                   :style="{width: '100%'}" | ||||
|                 > | ||||
|                   <el-option | ||||
|                     v-for="(item, index) in processArr" | ||||
|                     :key="index" | ||||
|                     :label="item.name" | ||||
|                     :value="item.id" | ||||
|                   /> | ||||
|                 </el-select> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-form> | ||||
|     </el-row> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="visible = false">{{ $t('module.basicData.Warehouse.PerformTaskManual') | i18nFilter }} </el-button> | ||||
|     </span> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| // import { CurrentTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask' | ||||
| import { list } from '@/api/art-manage/process' | ||||
| import { dataDictionaryDataList } from '@/api/basicData/dataDictionary' | ||||
| import { StorageBoxRackCode } from '@/api/basicData/Warehouse/StorageBoxInfo' | ||||
|  | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       processArr: [], | ||||
|       TaskStatusArr: [], | ||||
|       storageBoxList: [], | ||||
|       dataForm: { | ||||
|         id: '', | ||||
|         taskCode: undefined, | ||||
|         orderName: undefined, | ||||
|         fullCode: undefined, | ||||
|         TaskStatus: undefined, | ||||
|         remark: undefined, | ||||
|         field119: undefined, | ||||
|         createTime: undefined, | ||||
|         taskType: undefined, | ||||
|         emptyCode: undefined, | ||||
|         anotherCurrLocation: undefined, | ||||
|         field121: undefined, | ||||
|         taskSource: undefined, | ||||
|         anotherCurrProcessCode: undefined, | ||||
|         anotherNextProcessCode: undefined, | ||||
|         anotherTargetLocation: undefined, | ||||
|         field126: undefined | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     init(id) { | ||||
|       this.dataForm.id = id | ||||
|       this.visible = true | ||||
|       const lparams = { | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       } | ||||
|       list(lparams).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.processArr = response.data.records | ||||
|         } else { | ||||
|           this.processArr.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|       }) | ||||
|       StorageBoxRackCode(lparams).then(res => { | ||||
|         this.storageBoxList = res.data.records | ||||
|       }) | ||||
|       dataDictionaryDataList({ | ||||
|         current: 1, | ||||
|         size: 999, | ||||
|         dictTypeId: '6' | ||||
|       }).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.TaskStatusArr = response.data.records | ||||
|         } else { | ||||
|           this.TaskStatusArr.splice(0, this.scrapsArr.length) | ||||
|         } | ||||
|       }) | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| @@ -0,0 +1,164 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-15 14:15:30 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <div style="margin:10px 50px"> | ||||
|       <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button> | ||||
|     </div> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <!-- <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> --> | ||||
|     </base-table> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { locationByProcessList } from '@/api/basicData/Warehouse/StorageBoxInfo' | ||||
| import i18n from '@/lang' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| // import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| // const tableBtn = [ | ||||
| //   { | ||||
| //     type: 'delete', | ||||
| //     btnName: 'btn.delete' | ||||
| //   } | ||||
| // ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.basicData.cache.LocationCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'name', | ||||
|     label: i18n.t('module.basicData.cache.LocationName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'shelfName', | ||||
|     label: i18n.t('module.basicData.cache.locationType'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'Shelf', | ||||
|   components: { BaseTable }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       // tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 990, | ||||
|         workSequenId: '' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.listQuery.workSequenId = this.$route.query.id | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.name}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
|         }).then(() => { | ||||
|           // shelfDelete(raw.data.id).then(response => { | ||||
|           //   this.$message({ | ||||
|           //     message: this.$t('module.basicData.visual.success'), | ||||
|           //     type: 'success', | ||||
|           //     duration: 1500, | ||||
|           //     onClose: () => { | ||||
|           //       this.getList() | ||||
|           //     } | ||||
|           //   }) | ||||
|           // }) | ||||
|         }).catch(() => {}) | ||||
|       } | ||||
|     }, | ||||
|     getList() { | ||||
|       this.listLoading = true | ||||
|       locationByProcessList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|     addNew() { | ||||
|       this.$router.push({ | ||||
|         name: 'ProcessStorageLink', | ||||
|         query: { | ||||
|           id: this.listQuery.workSequenId | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     goback() { | ||||
|       this.$router.go(-1) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										75
									
								
								src/views/basicData/Warehouse/components/PublishTask.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								src/views/basicData/Warehouse/components/PublishTask.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| <!-- | ||||
|  * @Author: gtz | ||||
|  * @Date: 2022-03-12 14:17:55 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2022-03-12 14:23:43 | ||||
|  * @Description: file content | ||||
|  * @FilePath: \mt-ck-wms-ui\src\views\basicData\Warehouse\components\PublishTask.vue | ||||
| --> | ||||
| <template> | ||||
|   <el-dialog | ||||
|     :title="'btn.see' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-row :gutter="10"> | ||||
|       <el-form | ||||
|         ref="dataForm" | ||||
|         :model="dataForm" | ||||
|         :rules="dataRule" | ||||
|         size="medium" | ||||
|         label-width="110px" | ||||
|         label-position="left" | ||||
|       > | ||||
|         <el-form-item :label="$t('module.basicData.Warehouse.startPosition')" prop="startPosition"> | ||||
|           <el-input v-model="dataForm.startPosition" readonly :style="{width: '100%'}" /> | ||||
|         </el-form-item> | ||||
|         <el-form-item :label="$t('module.basicData.Warehouse.endPosition')" prop="endPosition"> | ||||
|           <el-input v-model="dataForm.endPosition" readonly :style="{width: '100%'}" /> | ||||
|         </el-form-item> | ||||
|         <el-form-item :label="$t('module.basicData.Warehouse.taskType')" prop="taskType"> | ||||
|           <el-input v-model="dataForm.taskType" readonly :style="{width: '100%'}" /> | ||||
|         </el-form-item> | ||||
|       </el-form> | ||||
|     </el-row> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="visible = false">{{ 'btn.submit' | i18nFilter }} </el-button> | ||||
|     </span> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| // import { CurrentTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask' | ||||
|  | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       dataForm: { | ||||
|         startPosition: null, | ||||
|         endPosition: null, | ||||
|         taskType: null | ||||
|       }, | ||||
|       dataRule: { | ||||
|         startPosition: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.startPosition')]), trigger: 'blur' } | ||||
|         ], | ||||
|         endPosition: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.endPosition')]), trigger: 'blur' } | ||||
|         ], | ||||
|         taskType: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.taskType')]), trigger: 'blur' } | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.visible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| @@ -1,8 +1,8 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 11:21:26 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-10 18:44:36 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   | ||||
							
								
								
									
										444
									
								
								src/views/basicData/Warehouse/components/processStorageLink.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										444
									
								
								src/views/basicData/Warehouse/components/processStorageLink.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,444 @@ | ||||
| <!-- | ||||
|  * @Author: gtz | ||||
|  * @Date: 2022-03-03 09:16:10 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-15 14:27:57 | ||||
|  * @Description: file content | ||||
|  * @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue | ||||
| --> | ||||
| <template> | ||||
|   <div class="dashboard-container"> | ||||
|     <el-card class="dashboard-main"> | ||||
|       <el-row class="dashboard-title"> | ||||
|         <div class="dashboard-header-line" /> | ||||
|         <div class="dashboard-header-title">WMS库存信息</div> | ||||
|       </el-row> | ||||
|       <el-row class="dashboard-legend"> | ||||
|         <div | ||||
|           v-for="item in cassetteStatusList" | ||||
|           :key="'cassette' + item.id" | ||||
|           class="dashboard-legend-cassette" | ||||
|         > | ||||
|           <div | ||||
|             class="dashboard-legend-cassette-cricle" | ||||
|             :style="{ background: item.color }" | ||||
|           /> | ||||
|           {{ item.name }} | ||||
|         </div> | ||||
|         | | ||||
|         <div | ||||
|           v-for="item in portAttributeList" | ||||
|           :key="'port' + item.id" | ||||
|           class="dashboard-legend-port" | ||||
|           :style="{ background: item.color }" | ||||
|         > | ||||
|           {{ item.name }} | ||||
|         </div> | ||||
|         <div class="dashboard-legend-btn"> | ||||
|           <el-button type="primary" size="mini" @click="submitLinkList">{{ | ||||
|             "btn.submit" | i18nFilter | ||||
|           }}</el-button> | ||||
|           <el-button type="warning" size="mini" @click="init()">{{ 'btn.reset' | i18nFilter }}</el-button> | ||||
|           <el-button type="success" size="mini" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> | ||||
|         </div> | ||||
|         <div class="dashboard-legend-search"> | ||||
|           <el-select | ||||
|             v-model="current" | ||||
|             size="mini" | ||||
|             placeholder="请选择库存范围" | ||||
|             @change="handleChange" | ||||
|           > | ||||
|             <el-option | ||||
|               v-for="item in totalPage" | ||||
|               :key="'select' + item" | ||||
|               :label="'第' + item + '页'" | ||||
|               :value="item" | ||||
|             /> | ||||
|           </el-select> | ||||
|         </div> | ||||
|       </el-row> | ||||
|       <el-row | ||||
|         v-if="current * 80 < shelfList[0].rowList[0].portList.length" | ||||
|         class="dashboard-layout" | ||||
|         :gutter="12" | ||||
|       > | ||||
|         <el-col | ||||
|           v-for="item in 4" | ||||
|           :key="'shelfbox' + item" | ||||
|           class="dashboard-layout-shelf-box" | ||||
|           :span="6" | ||||
|         > | ||||
|           <el-row> | ||||
|             <el-col | ||||
|               v-for="(i, index) in shelfList" | ||||
|               :key="item + 'shelf' + i.id" | ||||
|               :span="12" | ||||
|               class="dashboard-layout-shelf" | ||||
|             > | ||||
|               <el-row> | ||||
|                 <el-col | ||||
|                   v-for="z in i.rowList" | ||||
|                   :key="item + 'shelf' + i + 'row' + z.id" | ||||
|                   :span="12" | ||||
|                   class="dashboard-layout-row" | ||||
|                 > | ||||
|                   <div | ||||
|                     v-for="x in 20" | ||||
|                     :key="item + 'shelf' + i + 'row' + z + 'item' + x" | ||||
|                     class="dashboard-layout-item" | ||||
|                     :style="{ | ||||
|                       background: | ||||
|                         portAttributeObj[ | ||||
|                           z.portList[ | ||||
|                             (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                           ].attribute | ||||
|                         ], | ||||
|                       cursor: | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ].attribute === 3 | ||||
|                           ? 'not-allowed' | ||||
|                           : 'pointer', | ||||
|                       color: | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ].attribute === 3 | ||||
|                           ? '#A2A8B5' | ||||
|                           : '', | ||||
|                       border: | ||||
|                         selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) | ||||
|                           ? '1px solid red' : '' | ||||
|                     }" | ||||
|                     @click=" | ||||
|                       setType( | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ] | ||||
|                       ) | ||||
|                     " | ||||
|                   > | ||||
|                     <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" /> | ||||
|                     {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }} | ||||
|                   </div> | ||||
|                 </el-col> | ||||
|               </el-row> | ||||
|               <div class="dashboard-layout-footer"> | ||||
|                 {{ | ||||
|                   "第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")" | ||||
|                 }} | ||||
|               </div> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
|       <el-row v-else class="dashboard-layout" :gutter="12"> | ||||
|         <el-col | ||||
|           v-for="item in Math.ceil( | ||||
|             (shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20 | ||||
|           )" | ||||
|           :key="'shelfbox' + item" | ||||
|           class="dashboard-layout-shelf-box" | ||||
|           :span="6" | ||||
|         > | ||||
|           <el-row> | ||||
|             <el-col | ||||
|               v-for="(i, index) in shelfList" | ||||
|               :key="item + 'shelf' + i.id" | ||||
|               :span="12" | ||||
|               class="dashboard-layout-shelf" | ||||
|             > | ||||
|               <el-row | ||||
|                 v-if=" | ||||
|                   item < | ||||
|                     Math.ceil( | ||||
|                       (shelfList[0].rowList[0].portList.length - | ||||
|                         (current - 1) * 80) / | ||||
|                         20 | ||||
|                     ) | ||||
|                 " | ||||
|               > | ||||
|                 <el-col | ||||
|                   v-for="z in i.rowList" | ||||
|                   :key="item + 'shelf' + i + 'row' + z.id" | ||||
|                   :span="12" | ||||
|                   class="dashboard-layout-row" | ||||
|                 > | ||||
|                   <div | ||||
|                     v-for="x in 20" | ||||
|                     :key="item + 'shelf' + i + 'row' + z + 'item' + x" | ||||
|                     class="dashboard-layout-item" | ||||
|                     :style="{ | ||||
|                       background: | ||||
|                         portAttributeObj[ | ||||
|                           z.portList[ | ||||
|                             (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                           ].attribute | ||||
|                         ], | ||||
|                       cursor: | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ].attribute === 3 | ||||
|                           ? 'not-allowed' | ||||
|                           : 'pointer', | ||||
|                       color: | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ].attribute === 3 | ||||
|                           ? '#A2A8B5' | ||||
|                           : '', | ||||
|                       border: | ||||
|                         selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) | ||||
|                           ? '1px solid red' : '' | ||||
|                     }" | ||||
|                     @click=" | ||||
|                       setType( | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ] | ||||
|                       ) | ||||
|                     " | ||||
|                   > | ||||
|                     <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" /> | ||||
|                     {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }} | ||||
|                   </div> | ||||
|                 </el-col> | ||||
|               </el-row> | ||||
|               <el-row v-else> | ||||
|                 <el-col | ||||
|                   v-for="z in i.rowList" | ||||
|                   :key="item + 'shelf' + i + 'row' + z.id" | ||||
|                   :span="12" | ||||
|                   class="dashboard-layout-row" | ||||
|                 > | ||||
|                   <div | ||||
|                     v-for="x in shelfList[0].rowList[0].portList.length - | ||||
|                       (item - 1) * 20 - | ||||
|                       (current - 1) * 80" | ||||
|                     :key="item + 'shelf' + i + 'row' + z + 'item' + x" | ||||
|                     class="dashboard-layout-item" | ||||
|                     :style="{ | ||||
|                       background: | ||||
|                         portAttributeObj[ | ||||
|                           z.portList[ | ||||
|                             (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                           ].attribute | ||||
|                         ], | ||||
|                       cursor: | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ].attribute === 3 | ||||
|                           ? 'not-allowed' | ||||
|                           : 'pointer', | ||||
|                       color: | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ].attribute === 3 | ||||
|                           ? '#A2A8B5' | ||||
|                           : '', | ||||
|                       border: | ||||
|                         selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) | ||||
|                           ? '1px solid red' : '' | ||||
|                     }" | ||||
|                     @click=" | ||||
|                       setType( | ||||
|                         z.portList[ | ||||
|                           (current - 1) * 80 + (item - 1) * 20 + (x - 1) | ||||
|                         ] | ||||
|                       ) | ||||
|                     " | ||||
|                   > | ||||
|                     <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" /> | ||||
|                     {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }} | ||||
|                   </div> | ||||
|                 </el-col> | ||||
|               </el-row> | ||||
|               <div class="dashboard-layout-footer"> | ||||
|                 {{ | ||||
|                   "第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")" | ||||
|                 }} | ||||
|               </div> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
|     </el-card> | ||||
|     <process-storage-type | ||||
|       v-if="typeVisible" | ||||
|       ref="typeRef" | ||||
|       @refreshDataList="setStorageList" | ||||
|     /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { batchListAdd } from '@/api/basicData/Warehouse/StorageBoxInfo' | ||||
| import testdata from './testdata' | ||||
| import processStorageType from './processStorageType' | ||||
|  | ||||
| export default { | ||||
|   name: 'ProcessStorageLink1', | ||||
|   components: { processStorageType }, | ||||
|   data() { | ||||
|     return testdata | ||||
|   }, | ||||
|   created() { | ||||
|     this.id = this.$route.query.id | ||||
|     this.totalPage = Math.ceil( | ||||
|       this.shelfList[0].rowList[0].portList.length / 80 | ||||
|     ) | ||||
|     this.init() | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.selectStorageList.splice(0, this.selectStorageList.length) | ||||
|     }, | ||||
|     setType(item) { | ||||
|       if (item.attribute !== 3) { | ||||
|         if (this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id) + 1) { | ||||
|           this.selectStorageList.splice(this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id), 1) | ||||
|         } else { | ||||
|           this.typeVisible = true | ||||
|           this.$nextTick(() => { | ||||
|             this.$refs.typeRef.init(item.id, item.name) | ||||
|           }) | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     setStorageList(locationId, locationName, dataForm) { | ||||
|       const obj = Object.assign({ locationId, locationName }, dataForm) | ||||
|       this.selectStorageList.push(obj) | ||||
|     }, | ||||
|     handleChange(v) { | ||||
|       console.log(v) | ||||
|     }, | ||||
|     submitLinkList() { | ||||
|       const tipArr = this.selectStorageList.map(item => { | ||||
|         return item.locationName | ||||
|       }) | ||||
|       const obj = { | ||||
|         workSequenId: this.id, | ||||
|         processLocationStorageList: this.selectStorageList | ||||
|       } | ||||
|       this.$confirm(`${this.$t('module.basicData.visual.TipsStorageBefore')}[${tipArr.join(',')}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|         confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|         cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|         type: 'warning' | ||||
|       }).then(() => { | ||||
|         batchListAdd(obj).then(res => { | ||||
|           this.$message({ | ||||
|             message: this.$t('module.basicData.visual.success'), | ||||
|             type: 'success', | ||||
|             duration: 1500, | ||||
|             onClose: () => { | ||||
|               this.selectStorageList.splice(0, this.selectStorageList.length) | ||||
|             } | ||||
|           }) | ||||
|         }) | ||||
|       }).catch(() => {}) | ||||
|     }, | ||||
|     goback() { | ||||
|       this.selectStorageList.splice(0, this.selectStorageList.length) | ||||
|       this.$router.go(-1) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .dashboard-container { | ||||
|   background: #f2f4f9; | ||||
|   min-height: calc(100vh - 134px); | ||||
|   overflow-x: scroll; | ||||
|   padding: 0 16px; | ||||
|   padding-top: 24px; | ||||
|   font-size: 14px; | ||||
|   .dashboard-main { | ||||
|     width: 100%; | ||||
|     min-width: 1380px; | ||||
|     background-color: #fff; | ||||
|     border-radius: 8px; | ||||
|     min-height: calc(100vh - 186px); | ||||
|     .dashboard-title { | ||||
|       .dashboard-header-line { | ||||
|         display: inline-block; | ||||
|         width: 4px; | ||||
|         height: 16px; | ||||
|         background: #0b58ff; | ||||
|         border-radius: 1px; | ||||
|         position: relative; | ||||
|         top: 2px; | ||||
|         margin-right: 4px; | ||||
|       } | ||||
|       .dashboard-header-title { | ||||
|         display: inline-block; | ||||
|         font-size: 16px; | ||||
|         font-family: PingFangSC-Regular, PingFang SC; | ||||
|         font-weight: 400; | ||||
|         color: #000000; | ||||
|         line-height: 16px; | ||||
|       } | ||||
|     } | ||||
|     .dashboard-legend { | ||||
|       margin-top: 20px; | ||||
|       .dashboard-legend-cassette { | ||||
|         display: inline-block; | ||||
|         margin-right: 24px; | ||||
|         .dashboard-legend-cassette-cricle { | ||||
|           display: inline-block; | ||||
|           width: 12px; | ||||
|           height: 12px; | ||||
|           border-radius: 6px; | ||||
|         } | ||||
|       } | ||||
|       .dashboard-legend-port { | ||||
|         display: inline-block; | ||||
|         height: 24px; | ||||
|         line-height: 24px; | ||||
|         border-radius: 4px; | ||||
|         padding: 0 16px; | ||||
|         margin-left: 24px; | ||||
|       } | ||||
|       .dashboard-legend-btn { | ||||
|         margin: 0 20px; | ||||
|         float: right; | ||||
|       } | ||||
|       .dashboard-legend-search { | ||||
|         float: right; | ||||
|       } | ||||
|     } | ||||
|     .dashboard-layout { | ||||
|       margin: 20px 0; | ||||
|       .dashboard-layout-shelf-box { | ||||
|         .dashboard-layout-footer { | ||||
|           text-align: center; | ||||
|           margin-top: 12px; | ||||
|         } | ||||
|         .dashboard-layout-shelf { | ||||
|           padding: 0 8px; | ||||
|           .dashboard-layout-row { | ||||
|             padding: 0 1px; | ||||
|             .dashboard-layout-item { | ||||
|               width: 100%; | ||||
|               text-align: center; | ||||
|               height: 32px; | ||||
|               box-shadow: 0px 3px 6px 0px rgba(166, 174, 190, 0.8); | ||||
|               border-radius: 2px 4px 4px 2px; | ||||
|               margin-bottom: 8px; | ||||
|               display: flex; | ||||
|               align-items: center; | ||||
|               justify-content: center; | ||||
|               .dashboard-layout-item-cricle { | ||||
|                 display: inline-block; | ||||
|                 width: 12px; | ||||
|                 height: 12px; | ||||
|                 border-radius: 6px; | ||||
|                 margin-right: 6px; | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
| @@ -0,0 +1,99 @@ | ||||
| <!-- | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-03-15 11:02:46 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
|   <el-dialog | ||||
|     :title="$t('module.basicData.Warehouse.LocationStorageSetting') | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-form | ||||
|       ref="dataForm" | ||||
|       :model="dataForm" | ||||
|       size="medium" | ||||
|       :rules="dataRule" | ||||
|       label-width="110px" | ||||
|       label-position="left" | ||||
|     > | ||||
|       <el-form-item :label="$t('module.basicData.Warehouse.SelectStorageType')" prop="portAttrId"> | ||||
|         <el-radio v-model="dataForm.portAttrId" :label="1">Working Port</el-radio> | ||||
|         <el-radio v-model="dataForm.portAttrId" :label="2">Buffer Port</el-radio> | ||||
|         <el-radio v-model="dataForm.portAttrId" :label="3">Exception Port</el-radio> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.basicData.storageBox.name')" prop="storageId"> | ||||
|         <el-select v-model="dataForm.storageId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable> | ||||
|           <el-option | ||||
|             v-for="item in storageBoxArr" | ||||
|             :key="item.id" | ||||
|             :label="item.storageBoxName" | ||||
|             :value="item.id" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="dataFormSubmit()">{{ 'btn.confirm' | i18nFilter }}</el-button> | ||||
|     </span> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { storageBoxList } from '@/api/basicData/Cache/storageBox' | ||||
|  | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       locationId: '', | ||||
|       locationName: '', | ||||
|       dataForm: { | ||||
|         portAttrId: 1, | ||||
|         storageId: '' | ||||
|       }, | ||||
|       dataRule: { | ||||
|         storageId: [ | ||||
|           { | ||||
|             required: true, | ||||
|             message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]), | ||||
|             trigger: 'change' } | ||||
|         ] | ||||
|       }, | ||||
|       storageBoxArr: [] | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     init(id, name) { | ||||
|       this.locationId = id | ||||
|       this.locationName = name | ||||
|       const listQuery = { | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       } | ||||
|       storageBoxList(listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.storageBoxArr = response.data.records | ||||
|         } else { | ||||
|           this.storageBoxArr.splice(0, this.list.length) | ||||
|         } | ||||
|       }) | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|       }) | ||||
|       this.visible = true | ||||
|     }, | ||||
|     // 表单提交 | ||||
|     dataFormSubmit() { | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           this.visible = false | ||||
|           this.$emit('refreshDataList', this.locationId, this.locationName, this.dataForm) | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										2611
									
								
								src/views/basicData/Warehouse/components/testdata.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2611
									
								
								src/views/basicData/Warehouse/components/testdata.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2021-07-06 11:26:28 | ||||
|  * @LastEditTime: 2022-03-03 16:49:10 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -83,7 +83,7 @@ export default { | ||||
|       dataDictionaryDataList({ | ||||
|         current: 1, | ||||
|         size: 999, | ||||
|         dictTypeId: '1412216979622785026' | ||||
|         dictTypeId: '2' | ||||
|       }).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.scrapsArr = response.data.records | ||||
|   | ||||
| @@ -1,15 +1,194 @@ | ||||
| <!-- | ||||
|  * @Author: gtz | ||||
|  * @Date: 2022-03-03 09:16:10 | ||||
|  * @LastEditors: gtz | ||||
|  * @LastEditTime: 2022-03-15 16:47:57 | ||||
|  * @Description: file content | ||||
|  * @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue | ||||
| --> | ||||
| <template> | ||||
|   <div class="dashboard-container"> | ||||
|     <!-- <component :is="currentRole" /> --> | ||||
|     <admin-dashboard /> | ||||
|     <el-card class="dashboard-main"> | ||||
|       <el-row class="dashboard-title"> | ||||
|         <div class="dashboard-header-line" /> | ||||
|         <div class="dashboard-header-title">{{ $t('module.dashboard.title') }}</div> | ||||
|       </el-row> | ||||
|       <el-row class="dashboard-legend"> | ||||
|         <div v-for="item in cassetteStatusList" :key="'cassette' + item.id" class="dashboard-legend-cassette"> | ||||
|           <div class="dashboard-legend-cassette-cricle" :style="{background: item.color}" /> | ||||
|           {{ item.name }} | ||||
|         </div> | ||||
|         | | ||||
|         <div v-for="item in portAttributeList" :key="'port' + item.id" class="dashboard-legend-port" :style="{background: item.color}"> | ||||
|           {{ item.name }} | ||||
|         </div> | ||||
|         <div class="dashboard-legend-search"> | ||||
|           <el-select v-model="current" size="mini" placeholder="请选择库存范围" @change="handleChange"> | ||||
|             <el-option v-for="item in totalPage" :key="'select' + item" :label="$t('module.dashboard.pageHeader') + item + $t('module.dashboard.pageFooter')" :value="item" /> | ||||
|           </el-select> | ||||
|         </div> | ||||
|       </el-row> | ||||
|       <el-row v-if="current * 80 < shelfList[0].rowList[0].portList.length" class="dashboard-layout" :gutter="12"> | ||||
|         <el-col v-for="item in 4" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6"> | ||||
|           <el-row> | ||||
|             <el-col v-for="(i, index) in shelfList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf"> | ||||
|               <el-row> | ||||
|                 <el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row"> | ||||
|                   <div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}"> | ||||
|                     <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" /> | ||||
|                     {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }} | ||||
|                   </div> | ||||
|                 </el-col> | ||||
|               </el-row> | ||||
|               <div class="dashboard-layout-footer"> | ||||
|                 {{ $t(rowIndex[index]) + '(' + ((current - 1) * 4 + item) + ')' }} | ||||
|               </div> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
|       <el-row v-else class="dashboard-layout" :gutter="12"> | ||||
|         <el-col v-for="item in Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6"> | ||||
|           <el-row> | ||||
|             <el-col v-for="(i, index) in shelfList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf"> | ||||
|               <el-row v-if="item < Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)"> | ||||
|                 <el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row"> | ||||
|                   <div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}"> | ||||
|                     <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" /> | ||||
|                     {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }} | ||||
|                   </div> | ||||
|                 </el-col> | ||||
|               </el-row> | ||||
|               <el-row v-else> | ||||
|                 <el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row"> | ||||
|                   <div v-for="x in shelfList[0].rowList[0].portList.length - (item - 1) * 20 - (current - 1) * 80" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}"> | ||||
|                     <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" /> | ||||
|                     {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }} | ||||
|                   </div> | ||||
|                 </el-col> | ||||
|               </el-row> | ||||
|               <div class="dashboard-layout-footer"> | ||||
|                 {{ $t(rowIndex[index]) + '(' + ((current - 1) * 4 + item) + ')' }} | ||||
|               </div> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
|     </el-card> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import AdminDashboard from './admin' | ||||
| import testdata from './testdata' | ||||
|  | ||||
| export default { | ||||
|   name: 'Dashboard', | ||||
|   components: { AdminDashboard } | ||||
|   data() { | ||||
|     return testdata | ||||
|   }, | ||||
|   created() { | ||||
|     console.log(this.shelfList) | ||||
|     this.totalPage = Math.ceil(this.shelfList[0].rowList[0].portList.length / 80) | ||||
|   }, | ||||
|   methods: { | ||||
|     handleChange(v) { | ||||
|       console.log(v) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .dashboard-container { | ||||
|   background: #F2F4F9; | ||||
|   min-height: calc(100vh - 134px); | ||||
|   overflow-x: scroll; | ||||
|   padding: 0 16px; | ||||
|   padding-top: 24px; | ||||
|   font-size: 14px; | ||||
|   .dashboard-main { | ||||
|     width: 100%; | ||||
|     min-width: 1380px; | ||||
|     background-color: #fff; | ||||
|     border-radius: 8px; | ||||
|     min-height: calc(100vh - 186px); | ||||
|     .dashboard-title { | ||||
|       .dashboard-header-line{ | ||||
|         display: inline-block; | ||||
|         width: 4px; | ||||
|         height: 16px; | ||||
|         background: #0B58FF; | ||||
|         border-radius: 1px; | ||||
|         position: relative; | ||||
|         top: 2px; | ||||
|         margin-right: 4px; | ||||
|       } | ||||
|       .dashboard-header-title{ | ||||
|         display: inline-block; | ||||
|         font-size: 16px; | ||||
|         font-family: PingFangSC-Regular, PingFang SC; | ||||
|         font-weight: 400; | ||||
|         color: #000000; | ||||
|         line-height: 16px; | ||||
|       } | ||||
|     } | ||||
|     .dashboard-legend { | ||||
|       margin-top: 20px; | ||||
|       .dashboard-legend-cassette { | ||||
|         display: inline-block; | ||||
|         margin-right: 24px; | ||||
|         .dashboard-legend-cassette-cricle { | ||||
|           display: inline-block; | ||||
|           width: 12px; | ||||
|           height: 12px; | ||||
|           border-radius: 6px; | ||||
|         } | ||||
|       } | ||||
|       .dashboard-legend-port { | ||||
|         display: inline-block; | ||||
|         height: 24px; | ||||
|         line-height: 24px; | ||||
|         border-radius: 4px; | ||||
|         padding: 0 16px; | ||||
|         margin-left: 24px; | ||||
|       } | ||||
|       .dashboard-legend-search { | ||||
|         float: right; | ||||
|       } | ||||
|     } | ||||
|     .dashboard-layout { | ||||
|       margin: 20px 0; | ||||
|       .dashboard-layout-shelf-box { | ||||
|         .dashboard-layout-footer { | ||||
|           text-align: center; | ||||
|           margin-top: 12px; | ||||
|         } | ||||
|         .dashboard-layout-shelf { | ||||
|           padding: 0 8px; | ||||
|           .dashboard-layout-row { | ||||
|             padding: 0 1px; | ||||
|             .dashboard-layout-item { | ||||
|               width: 100%; | ||||
|               text-align: center; | ||||
|               height: 32px; | ||||
|               box-shadow: 0px 3px 6px 0px rgba(166, 174, 190, 0.8); | ||||
|               border-radius: 2px 4px 4px 2px; | ||||
|               margin-bottom: 8px; | ||||
|               display: flex; | ||||
|               align-items: center; | ||||
|               justify-content: center; | ||||
|               .dashboard-layout-item-cricle{ | ||||
|                 display: inline-block; | ||||
|                 width: 12px; | ||||
|                 height: 12px; | ||||
|                 border-radius: 6px; | ||||
|                 margin-right: 6px; | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|   | ||||
							
								
								
									
										2608
									
								
								src/views/dashboard/testdata.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2608
									
								
								src/views/dashboard/testdata.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:26:35 | ||||
|  * @LastEditTime: 2022-03-09 14:46:12 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -143,7 +143,7 @@ export default { | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.code = key | ||||
|       this.listQuery.name = key | ||||
|       ExecutionInfoList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 15:41:11 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:32:00 | ||||
|  * @LastEditTime: 2022-03-09 14:44:58 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -150,7 +150,7 @@ export default { | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.code = key | ||||
|       this.listQuery.name = key | ||||
|       ProcessInfoList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:21:50 | ||||
|  * @LastEditTime: 2022-03-15 10:50:00 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -26,8 +26,8 @@ | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.IssueOrderTime')" prop="createTime"> | ||||
|                 <el-input v-model="dataForm.createTime" :placeholder="$t('module.basicData.Warehouse.IssueOrderTime')" readonly :style="{width: '100%'}" /> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="status"> | ||||
|                 <el-input v-model="dataForm.status" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
| @@ -35,18 +35,43 @@ | ||||
|                 <el-input v-model="dataForm.planQuantity" :placeholder="$t('module.basicData.Warehouse.PlanProcessQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.Priority')" prop="priority"> | ||||
|                 <el-input v-model="dataForm.priority" :placeholder="$t('module.basicData.Warehouse.Priority')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.CompletionTime')" prop="finishProduceTime"> | ||||
|                 <el-input v-model="dataForm.finishProduceTime" :placeholder="$t('module.basicData.Warehouse.CompletionTime')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|         <el-col :span="8"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="taskCode"> | ||||
|                 <el-input v-model="dataForm.taskCode" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" /> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="code"> | ||||
|                 <el-input v-model="dataForm.code" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="taskType"> | ||||
|                 <el-input v-model="dataForm.taskType" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" /> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.startProduceTime')" prop="startProduceTime"> | ||||
|                 <el-input v-model="dataForm.startProduceTime" :placeholder="$t('module.basicData.Warehouse.startProduceTime')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.actualProcessQuantity')" prop="actualQuantity"> | ||||
|                 <el-input v-model="dataForm.actualQuantity" :placeholder="$t('module.basicData.Warehouse.actualProcessQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.triggerOrigin')" prop="triggerOrigin"> | ||||
|                 <el-input v-model="dataForm.triggerOrigin" :placeholder="$t('module.basicData.Warehouse.triggerOrigin')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.ProcessOrNot')" prop="ProcessOrNot"> | ||||
|                 <el-input v-model="dataForm.ProcessOrNot" :placeholder="$t('module.basicData.Warehouse.ProcessOrNot')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
| @@ -68,6 +93,16 @@ | ||||
|                 /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.scrapQuantity')" prop="scrapQuantity"> | ||||
|                 <el-input v-model="dataForm.scrapQuantity" :placeholder="$t('module.basicData.Warehouse.scrapQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderType')" prop="type"> | ||||
|                 <el-input v-model="dataForm.type" :placeholder="$t('module.basicData.Warehouse.OrderType')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-form> | ||||
| @@ -89,8 +124,15 @@ export default { | ||||
|         id: 0, | ||||
|         name: undefined, | ||||
|         createTime: undefined, | ||||
|         taskCode: undefined, | ||||
|         taskType: undefined, | ||||
|         priority: '', | ||||
|         actualQuantity: '', | ||||
|         startProduceTime: '', | ||||
|         finishProduceTime: '', | ||||
|         scrapQuantity: '', | ||||
|         triggerOrigin: '', | ||||
|         type: '', | ||||
|         code: undefined, | ||||
|         status: undefined, | ||||
|         craftName: undefined, | ||||
|         planQuantity: undefined, | ||||
|         subProccessName: undefined | ||||
| @@ -105,10 +147,44 @@ export default { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.dataForm.id) { | ||||
|           ExecutionInfoDetail(this.dataForm.id).then(res => { | ||||
|             res.data.status = this.statusfilter('orderStatus', res.data.status) | ||||
|             res.data.type = this.statusfilter('orderType', res.data.type) | ||||
|             res.data.priority = this.statusfilter('priority', res.data.priority) | ||||
|             res.data.triggerOrigin = this.statusfilter('triggerOrigin', res.data.triggerOrigin) | ||||
|             res.data.ProcessOrNot = res.data.processId ? '是' : '否' | ||||
|             this.dataForm = res.data | ||||
|           }) | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     statusfilter(type, val) { | ||||
|       const filterObj = { | ||||
|         orderStatus: { | ||||
|           '1': '未激活', | ||||
|           '2': '等待', | ||||
|           '3': '激活', | ||||
|           '4': '暂停', | ||||
|           '9': '完成' | ||||
|         }, | ||||
|         priority: { | ||||
|           '1': '低', | ||||
|           '2': '正常', | ||||
|           '3': '高' | ||||
|         }, | ||||
|         orderType: { | ||||
|           '1': '生产工单', | ||||
|           '2': '重工工单', | ||||
|           '3': '测试工单' | ||||
|         }, | ||||
|         triggerOrigin: { | ||||
|           '1': 'MES', | ||||
|           '2': 'ERP', | ||||
|           '3': 'PID1', | ||||
|           '4': '00A', | ||||
|           '5': '00C' | ||||
|         } | ||||
|       } | ||||
|       return filterObj?.[type]?.[val] | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * @Author: zwq | ||||
|  * @Date: 2020-12-29 16:37:56 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:22:08 | ||||
|  * @LastEditTime: 2022-03-09 16:40:11 | ||||
|  * @Description: | ||||
| --> | ||||
| <template> | ||||
| @@ -26,8 +26,8 @@ | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.IssueOrderTime')" prop="createTime"> | ||||
|                 <el-input v-model="dataForm.createTime" :placeholder="$t('module.basicData.Warehouse.IssueOrderTime')" readonly :style="{width: '100%'}" /> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="status"> | ||||
|                 <el-input v-model="dataForm.status" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
| @@ -35,18 +35,33 @@ | ||||
|                 <el-input v-model="dataForm.planQuantity" :placeholder="$t('module.basicData.Warehouse.PlanProcessQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.Priority')" prop="priority"> | ||||
|                 <el-input v-model="dataForm.priority" :placeholder="$t('module.basicData.Warehouse.Priority')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|         <el-col :span="8"> | ||||
|           <el-row> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="taskCode"> | ||||
|                 <el-input v-model="dataForm.taskCode" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" /> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="code"> | ||||
|                 <el-input v-model="dataForm.code" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="taskType"> | ||||
|                 <el-input v-model="dataForm.taskType" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" /> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.startProduceTime')" prop="startProduceTime"> | ||||
|                 <el-input v-model="dataForm.startProduceTime" :placeholder="$t('module.basicData.Warehouse.startProduceTime')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.actualProcessQuantity')" prop="actualQuantity"> | ||||
|                 <el-input v-model="dataForm.actualQuantity" :placeholder="$t('module.basicData.Warehouse.actualProcessQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.triggerOrigin')" prop="triggerOrigin"> | ||||
|                 <el-input v-model="dataForm.triggerOrigin" :placeholder="$t('module.basicData.Warehouse.triggerOrigin')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
| @@ -68,6 +83,16 @@ | ||||
|                 /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.scrapQuantity')" prop="scrapQuantity"> | ||||
|                 <el-input v-model="dataForm.scrapQuantity" :placeholder="$t('module.basicData.Warehouse.scrapQuantity')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|             <el-col :span="24"> | ||||
|               <el-form-item :label="$t('module.basicData.Warehouse.OrderType')" prop="type"> | ||||
|                 <el-input v-model="dataForm.type" :placeholder="$t('module.basicData.Warehouse.OrderType')" readonly :style="{width: '100%'}" /> | ||||
|               </el-form-item> | ||||
|             </el-col> | ||||
|           </el-row> | ||||
|         </el-col> | ||||
|       </el-form> | ||||
| @@ -89,8 +114,14 @@ export default { | ||||
|         id: 0, | ||||
|         name: undefined, | ||||
|         createTime: undefined, | ||||
|         taskCode: undefined, | ||||
|         taskType: undefined, | ||||
|         priority: '', | ||||
|         actualQuantity: '', | ||||
|         startProduceTime: '', | ||||
|         scrapQuantity: '', | ||||
|         triggerOrigin: '', | ||||
|         type: '', | ||||
|         code: undefined, | ||||
|         status: undefined, | ||||
|         craftName: undefined, | ||||
|         planQuantity: undefined, | ||||
|         subProccessName: undefined | ||||
| @@ -105,10 +136,43 @@ export default { | ||||
|         this.$refs['dataForm'].resetFields() | ||||
|         if (this.dataForm.id) { | ||||
|           ProcessInfoDetail(this.dataForm.id).then(res => { | ||||
|             res.data.status = this.statusfilter('orderStatus', res.data.status) | ||||
|             res.data.type = this.statusfilter('orderType', res.data.type) | ||||
|             res.data.priority = this.statusfilter('priority', res.data.priority) | ||||
|             res.data.triggerOrigin = this.statusfilter('triggerOrigin', res.data.triggerOrigin) | ||||
|             this.dataForm = res.data | ||||
|           }) | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     statusfilter(type, val) { | ||||
|       const filterObj = { | ||||
|         orderStatus: { | ||||
|           '1': '未激活', | ||||
|           '2': '等待', | ||||
|           '3': '激活', | ||||
|           '4': '暂停', | ||||
|           '9': '完成' | ||||
|         }, | ||||
|         priority: { | ||||
|           '1': '低', | ||||
|           '2': '正常', | ||||
|           '3': '高' | ||||
|         }, | ||||
|         orderType: { | ||||
|           '1': '生产工单', | ||||
|           '2': '重工工单', | ||||
|           '3': '测试工单' | ||||
|         }, | ||||
|         triggerOrigin: { | ||||
|           '1': 'MES', | ||||
|           '2': 'ERP', | ||||
|           '3': 'PID1', | ||||
|           '4': '00A', | ||||
|           '5': '00C' | ||||
|         } | ||||
|       } | ||||
|       return filterObj?.[type]?.[val] | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Date: 2021-01-07 20:09:37 | ||||
|  * @LastEditors: zwq | ||||
|  * @LastEditTime: 2022-01-17 15:16:29 | ||||
|  * @LastEditTime: 2022-03-10 14:25:50 | ||||
|  * @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue | ||||
|  * @Description: | ||||
| --> | ||||
| @@ -16,9 +16,9 @@ | ||||
|         <el-select v-model="value" placeholder="请选择"> | ||||
|           <el-option | ||||
|             v-for="item in options" | ||||
|             :key="item.value" | ||||
|             :label="item.label" | ||||
|             :value="item.value" | ||||
|             :key="item.id" | ||||
|             :label="item.name" | ||||
|             :value="item.id" | ||||
|           /> | ||||
|         </el-select> | ||||
|       </div> | ||||
| @@ -32,6 +32,8 @@ | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { list } from '@/api/art-manage/art.js' | ||||
| import { ProcessInfoUpdata } from '@/api/orderManage/00A' | ||||
| export default { | ||||
|   props: { | ||||
|     injectData: { | ||||
| @@ -42,22 +44,37 @@ export default { | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       options: [{ | ||||
|         value: '选项1', | ||||
|         label: '黄金糕' | ||||
|       }, { | ||||
|         value: '选项2', | ||||
|         label: '双皮奶' | ||||
|       } | ||||
|       ], | ||||
|       options: [], | ||||
|       value: '' | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.init() | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       list({ | ||||
|         current: 1, | ||||
|         size: 999 | ||||
|       }).then(response => { | ||||
|         this.options = response.data.records | ||||
|       }) | ||||
|     }, | ||||
|     emitClick() { | ||||
|       console.log(this.injectData) | ||||
|       console.log(this.value) | ||||
|       this.visible = false | ||||
|       const data = { | ||||
|         id: this.injectData.id, | ||||
|         subProcessId: this.value | ||||
|       } | ||||
|       ProcessInfoUpdata(data).then(res => { | ||||
|         this.$message({ | ||||
|           message: this.$t('module.basicData.visual.success'), | ||||
|           type: 'success', | ||||
|           duration: 1500, | ||||
|           onClose: () => { | ||||
|             this.visible = false | ||||
|           } | ||||
|         }) | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										199
									
								
								src/views/report-manage/CurrentEmptyBox.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								src/views/report-manage/CurrentEmptyBox.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-04 20:54:54 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-06 16:37:29 | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <head-form | ||||
|       :placeholder-name="placeholderName" | ||||
|       :key-name="keyName" | ||||
|       :show-add="false" | ||||
|       @getDataList="getList" | ||||
|     /> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <!-- <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> --> | ||||
|     </base-table> | ||||
|     <pagination | ||||
|       v-show="total > 0" | ||||
|       :total="total" | ||||
|       :page.sync="listQuery.current" | ||||
|       :limit.sync="listQuery.size" | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|     <!-- <storageBox-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" /> --> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import HeadForm from '@/components/basicData/HeadForm' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import { list } from '@/api/report-manage/report' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
|     btnName: 'btn.edit' | ||||
|   }, | ||||
|   { | ||||
|     type: 'delete', | ||||
|     btnName: 'btn.delete' | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.report.inventory.code'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'status', | ||||
|     label: i18n.t('module.report.inventory.status'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'inprocessCode', | ||||
|     label: i18n.t('module.report.inventory.inprocessCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'currentLocation', | ||||
|     label: i18n.t('module.report.inventory.currentLocation'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'storeTime', | ||||
|     label: i18n.t('module.report.inventory.storeTime'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'manual', | ||||
|     label: i18n.t('module.report.inventory.manual'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'Inventory', | ||||
|   components: { Pagination, BaseTable, HeadForm }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       keyName: i18n.t('module.report.reportList.storageBoxNumber'), | ||||
|       placeholderName: this.$t('module.report.reportList.queryFiltering'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       total: 0, | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10 | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     // handleClick(raw) { | ||||
|     //   if (raw.type === 'delete') { | ||||
|     //     this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.storageBoxName}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|     //       confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|     //       cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|     //       type: 'warning' | ||||
|     //     }).then(() => { | ||||
|     //       storageBoxDelete(raw.data.id).then(response => { | ||||
|     //         this.$message({ | ||||
|     //           message: this.$t('module.basicData.visual.success'), | ||||
|     //           type: 'success', | ||||
|     //           duration: 1500, | ||||
|     //           onClose: () => { | ||||
|     //             this.getList() | ||||
|     //           } | ||||
|     //         }) | ||||
|     //       }) | ||||
|     //     }).catch(() => {}) | ||||
|     //   } else if (raw.type === 'edit') { | ||||
|     //     this.addNew(raw.data.id) | ||||
|     //   } else { | ||||
|     //     this.addNew(raw.data.id, true) | ||||
|     //   } | ||||
|     // }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.code = key | ||||
|       console.log(this.listQuery) | ||||
|       list(this.listQuery).then(response => { | ||||
|         console.log(response) | ||||
|         if (response.data) { | ||||
|           this.list = response.data | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         // this.total = response.data.total | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     } | ||||
|     // 新增 / 修改 | ||||
|     // addNew(id) { | ||||
|     //   this.addOrUpdateVisible = true | ||||
|     //   this.$nextTick(() => { | ||||
|     //     this.$refs.addOrUpdate.init(id, true) | ||||
|     //   }) | ||||
|     // } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										247
									
								
								src/views/report-manage/CurrentInventory.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										247
									
								
								src/views/report-manage/CurrentInventory.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,247 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-04 20:54:54 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-07 09:46:36 | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <head-form | ||||
|       :placeholder-name="placeholderName" | ||||
|       :key-name="keyName" | ||||
|       :show-add="false" | ||||
|       @getDataList="getList" | ||||
|       @downl="downl" | ||||
|     /> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <!-- <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> --> | ||||
|     </base-table> | ||||
|     <pagination | ||||
|       v-show="total > 0" | ||||
|       :total="total" | ||||
|       :page.sync="listQuery.current" | ||||
|       :limit.sync="listQuery.size" | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|     <!-- <storageBox-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" /> --> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import HeadForm from './components/HeadForm' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import { list, download } from '@/api/report-manage/report' | ||||
| import substrateBtn from './components/substrateBtn.vue' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
|     btnName: 'btn.edit' | ||||
|   }, | ||||
|   { | ||||
|     type: 'delete', | ||||
|     btnName: 'btn.delete' | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.report.inventory.code'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'status', | ||||
|     label: i18n.t('module.report.inventory.status'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'inprocessCode', | ||||
|     label: i18n.t('module.report.inventory.inprocessCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'nextprocessCode', | ||||
|     label: i18n.t('module.report.inventory.nextprocessCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'currentLocation', | ||||
|     label: i18n.t('module.report.inventory.currentLocation'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'storeTime', | ||||
|     label: i18n.t('module.report.inventory.storeTime'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'orderName', | ||||
|     label: i18n.t('module.report.inventory.orderName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'substrateDetails', | ||||
|     label: i18n.t('module.report.inventory.substrateDetails'), | ||||
|     subcomponent: substrateBtn, | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'Inventory', | ||||
|   components: { Pagination, BaseTable, HeadForm }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       keyName: i18n.t('module.report.reportList.storageBoxNumber'), | ||||
|       placeholderName: this.$t('module.report.reportList.queryFiltering'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       total: 0, | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10, | ||||
|         enabled: 1 | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     // handleClick(raw) { | ||||
|     //   if (raw.type === 'delete') { | ||||
|     //     this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.storageBoxName}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|     //       confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|     //       cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|     //       type: 'warning' | ||||
|     //     }).then(() => { | ||||
|     //       storageBoxDelete(raw.data.id).then(response => { | ||||
|     //         this.$message({ | ||||
|     //           message: this.$t('module.basicData.visual.success'), | ||||
|     //           type: 'success', | ||||
|     //           duration: 1500, | ||||
|     //           onClose: () => { | ||||
|     //             this.getList() | ||||
|     //           } | ||||
|     //         }) | ||||
|     //       }) | ||||
|     //     }).catch(() => {}) | ||||
|     //   } else if (raw.type === 'edit') { | ||||
|     //     this.addNew(raw.data.id) | ||||
|     //   } else { | ||||
|     //     this.addNew(raw.data.id, true) | ||||
|     //   } | ||||
|     // }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.code = key | ||||
|       // console.log(this.listQuery) | ||||
|       list(this.listQuery).then(response => { | ||||
|         console.log(response) | ||||
|         if (response.data) { | ||||
|           this.list = response.data | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         // this.total = response.data.total | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     downl(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.code = key | ||||
|       // console.log(this.listQuery) | ||||
|       download(this.listQuery).then(res => { | ||||
|         let fileName = '' | ||||
|         const contentDisposition = res.headers['content-disposition'] | ||||
|         if (contentDisposition) { | ||||
|           fileName = contentDisposition.slice(contentDisposition.indexOf('filename=') + 9) | ||||
|         } | ||||
|         const blob = new Blob([res.data]) | ||||
|         const reader = new FileReader() | ||||
|         reader.readAsDataURL(blob) | ||||
|         reader.onload = (e) => { | ||||
|           const a = document.createElement('a') | ||||
|           a.download = fileName | ||||
|           a.href = e.target.result | ||||
|           document.body.appendChild(a) | ||||
|           a.click() | ||||
|           document.body.removeChild(a) | ||||
|         } | ||||
|         // const fileName = `${+new Date()}.xlsx` | ||||
|         // const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' }) | ||||
|         // if (navigator.msSaveBlob) { | ||||
|         //   navigator.msSaveBlob(blob, fileName) | ||||
|         // } else { | ||||
|         //   const link = document.createElement('a') | ||||
|         //   link.href = URL.createObjectURL(blob) | ||||
|         //   link.download = fileName | ||||
|         //   link.click() | ||||
|         //   URL.revokeObjectURL(link.href) | ||||
|         // } | ||||
|       }) | ||||
|     } | ||||
|     // 新增 / 修改 | ||||
|     // addNew(id) { | ||||
|     //   this.addOrUpdateVisible = true | ||||
|     //   this.$nextTick(() => { | ||||
|     //     this.$refs.addOrUpdate.init(id, true) | ||||
|     //   }) | ||||
|     // } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										203
									
								
								src/views/report-manage/CurrentSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								src/views/report-manage/CurrentSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,203 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-04 20:54:54 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-04 21:09:41 | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <head-form | ||||
|       :placeholder-name="placeholderName" | ||||
|       :key-name="keyName" | ||||
|       @getDataList="getList" | ||||
|       @add="addNew" | ||||
|     /> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> | ||||
|     </base-table> | ||||
|     <pagination | ||||
|       v-show="total > 0" | ||||
|       :total="total" | ||||
|       :page.sync="listQuery.current" | ||||
|       :limit.sync="listQuery.size" | ||||
|       @pagination="getList()" | ||||
|     /> | ||||
|     <!-- <storageBox-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" /> --> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import HeadForm from '@/components/basicData/HeadForm' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import Pagination from '@/components/Pagination' // Secondary package based on el-pagination | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| import { storageBoxList, storageBoxDelete } from '@/api/basicData/Cache/storageBox' | ||||
| import { timeFormatter } from '@/filters' | ||||
| import basicData from '@/filters/basicData' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
|     btnName: 'btn.edit' | ||||
|   }, | ||||
|   { | ||||
|     type: 'delete', | ||||
|     btnName: 'btn.delete' | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'createTime', | ||||
|     label: i18n.t('module.basicData.factory.createTime'), | ||||
|     filter: timeFormatter, | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'storageBoxName', | ||||
|     label: i18n.t('module.basicData.storageBox.name'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'code', | ||||
|     label: i18n.t('module.basicData.storageBox.code'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'enName', | ||||
|     label: i18n.t('module.basicData.visual.EnglishName'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'status', | ||||
|     label: i18n.t('module.basicData.storageBox.status'), | ||||
|     filter: basicData('storage'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'note', | ||||
|     label: i18n.t('module.basicData.storageBox.remark'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'Area', | ||||
|   components: { Pagination, BaseTable, MethodBtn, HeadForm }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       keyName: i18n.t('module.basicData.visual.keyword'), | ||||
|       placeholderName: this.$t('module.basicData.storageBox.name') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.storageBox.code'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       areaList: [], | ||||
|       total: 0, | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10 | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.storageBoxName}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
|         }).then(() => { | ||||
|           storageBoxDelete(raw.data.id).then(response => { | ||||
|             this.$message({ | ||||
|               message: this.$t('module.basicData.visual.success'), | ||||
|               type: 'success', | ||||
|               duration: 1500, | ||||
|               onClose: () => { | ||||
|                 this.getList() | ||||
|               } | ||||
|             }) | ||||
|           }) | ||||
|         }).catch(() => {}) | ||||
|       } else if (raw.type === 'edit') { | ||||
|         this.addNew(raw.data.id) | ||||
|       } else { | ||||
|         this.addNew(raw.data.id, true) | ||||
|       } | ||||
|     }, | ||||
|     getList(key) { | ||||
|       this.listLoading = true | ||||
|       this.listQuery.storageBoxName = key | ||||
|       storageBoxList(this.listQuery).then(response => { | ||||
|         if (response.data.records) { | ||||
|           this.list = response.data.records | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.total = response.data.total | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|     addNew(id) { | ||||
|       this.addOrUpdateVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.addOrUpdate.init(id, true) | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										67
									
								
								src/views/report-manage/components/HeadForm.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								src/views/report-manage/components/HeadForm.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-06 17:06:51 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-07 10:35:29 | ||||
| --> | ||||
| <template> | ||||
|   <el-form :inline="true" @keyup.enter.native="getDataList()"> | ||||
|     <el-form-item :label="keyName"> | ||||
|       <el-input v-model="key" style="width:300px" :placeholder="placeholderName" clearable /> | ||||
|     </el-form-item> | ||||
|     <el-form-item> | ||||
|       <el-button type="primary" @click="getDataList()">{{ 'btn.search' | i18nFilter }}</el-button> | ||||
|       <el-button v-if="showAdd" type="primary" @click="add()">{{ 'btn.add' | i18nFilter }}</el-button> | ||||
|       <el-button type="success" @click="downl()">{{ 'btn.export' | i18nFilter }}</el-button> | ||||
|     </el-form-item> | ||||
|   </el-form> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { string } from 'jszip/lib/support' | ||||
|  | ||||
| export default { | ||||
|   props: { | ||||
|     keyName: { | ||||
|       type: string, | ||||
|       default: () => { | ||||
|         return '关键字' | ||||
|       } | ||||
|     }, | ||||
|     showAdd: { | ||||
|       type: Boolean, | ||||
|       default: () => { | ||||
|         return true | ||||
|       } | ||||
|     }, | ||||
|     placeholderName: { | ||||
|       type: string, | ||||
|       default: () => { | ||||
|         return '请输入关键字' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       key: '' | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     getDataList() { | ||||
|       this.$emit('getDataList', this.key) | ||||
|     }, | ||||
|     add() { | ||||
|       this.$emit('add') | ||||
|     }, | ||||
|     downl() { | ||||
|       this.$emit('downl', this.key) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style> | ||||
|  | ||||
| </style> | ||||
							
								
								
									
										157
									
								
								src/views/report-manage/components/edit-substrate.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								src/views/report-manage/components/edit-substrate.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,157 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-05 17:45:46 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-07 09:19:34 | ||||
| --> | ||||
| <template> | ||||
|   <!-- <el-dialog | ||||
|     :title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > --> | ||||
|   <el-dialog | ||||
|     :title="'btn.edit' | i18nFilter" | ||||
|     :visible.sync="visible" | ||||
|   > | ||||
|     <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()"> | ||||
|       <el-form-item :label="$t('module.report.substrate.substrateCode')" prop="substrateCode"> | ||||
|         <el-input v-model="dataForm.substrateCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateCode')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.report.substrate.location')" prop="location"> | ||||
|         <el-input v-model="dataForm.location" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.location')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.report.substrate.storeTime')" prop="storeTime"> | ||||
|         <el-input v-model="dataForm.storeTime" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.storeTime')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.report.substrate.substrateStatus')" prop="substrateStatus"> | ||||
|         <el-input v-model="dataForm.substrateStatus" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateStatus')])" clearable /> | ||||
|       </el-form-item> | ||||
|       <el-form-item :label="$t('module.report.substrate.interCode')" prop="interCode"> | ||||
|         <el-input v-model="dataForm.interCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.interCode')])" clearable /> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <span slot="footer" class="dialog-footer"> | ||||
|       <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="dataFormSubmit()">{{ 'btn.confirm' | i18nFilter }}</el-button> | ||||
|     </span> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { updateSubstrate, listSubstrate } from '@/api/report-manage/report' | ||||
|  | ||||
| export default { | ||||
|   props: { | ||||
|     id: { | ||||
|       type: String, | ||||
|       default: () => { | ||||
|         return '' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       visible: false, | ||||
|       dataForm: { | ||||
|         id: '', | ||||
|         substrateCode: '', | ||||
|         location: '', | ||||
|         storeTime: '', | ||||
|         substrateStatus: '', | ||||
|         code: '', | ||||
|         storageBoxId: '', | ||||
|         storageCode: '', | ||||
|         interCode: '' | ||||
|       }, | ||||
|       list: { | ||||
|         id: '', | ||||
|         location: '', | ||||
|         storeTime: '', | ||||
|         substrateCode: '', | ||||
|         substrateStatus: '' | ||||
|       }, | ||||
|       dataRule: { | ||||
|         substrateCode: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' } | ||||
|         ], | ||||
|         code: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' } | ||||
|         ], | ||||
|         interCode: [ | ||||
|           { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' } | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.init() | ||||
|   }, | ||||
|   methods: { | ||||
|     // init(id) { | ||||
|     //   // this.dataForm.id = id || '' | ||||
|     //   this.dataForm.storageBoxId = this.$route.query.id | ||||
|     //   this.dataForm.storageCode = this.$route.query.code | ||||
|     //   this.visible = true | ||||
|     //   this.$nextTick(() => { | ||||
|     //     this.$refs['dataForm'].resetFields() | ||||
|     //     // console.log(this.dataForm) | ||||
|     //     listSubstrate(this.dataForm).then(res => { | ||||
|     //       this.dataForm.id = res.data.id | ||||
|     //       this.dataForm.location = res.data.location | ||||
|     //       this.dataForm.storeTime = res.data.storeTime | ||||
|     //       this.dataForm.substrateCode = res.data.substrateCode | ||||
|     //       this.dataForm.substrateStatus = res.data.substrateStatus | ||||
|     //       // console.log(this.dataForm) | ||||
|     //     }) | ||||
|     //   }) | ||||
|     // }, | ||||
|     init(id) { | ||||
|       // this.dataForm.id = id || '' | ||||
|       this.dataForm.storageBoxId = this.$route.query.id | ||||
|       this.dataForm.storageCode = this.$route.query.code | ||||
|       this.visible = true | ||||
|       // console.log(this.dataForm) | ||||
|       listSubstrate(this.dataForm).then(res => { | ||||
|         console.log(res.data[0]) | ||||
|         this.dataForm.id = res.data[0].id | ||||
|         this.dataForm.location = res.data[0].location | ||||
|         this.dataForm.storeTime = res.data[0].storeTime | ||||
|         this.dataForm.substrateCode = res.data[0].substrateCode | ||||
|         this.dataForm.substrateStatus = res.data[0].substrateStatus | ||||
|         this.dataForm.interCode = res.data[0].interCode | ||||
|         // console.log(this.dataForm) | ||||
|       }) | ||||
|     }, | ||||
|     // 表单提交 | ||||
|     dataFormSubmit() { | ||||
|       this.$refs['dataForm'].validate((valid) => { | ||||
|         if (valid) { | ||||
|           const data = { | ||||
|             'substrateStatus': this.dataForm.substrateStatus, | ||||
|             'storeTime': this.dataForm.storeTime, | ||||
|             'id': this.dataForm.id, | ||||
|             'substrateCode': this.dataForm.substrateCode, | ||||
|             'location': this.dataForm.location, | ||||
|             'interCode': this.dataForm.interCode, | ||||
|             'storageBoxId': this.dataForm.storageBoxId | ||||
|           } | ||||
|           console.log(data) | ||||
|           updateSubstrate(data).then(res => { | ||||
|             this.$message({ | ||||
|               message: this.$t('module.basicData.visual.success'), | ||||
|               type: 'success', | ||||
|               duration: 1500, | ||||
|               onClose: () => { | ||||
|                 this.visible = false | ||||
|                 this.$emit('refreshDataList') | ||||
|               } | ||||
|             }) | ||||
|           }) | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										35
									
								
								src/views/report-manage/components/substrateBtn.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								src/views/report-manage/components/substrateBtn.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-05 14:35:07 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-05 16:44:43 | ||||
| --> | ||||
| <template> | ||||
|   <span> | ||||
|     <el-button type="text" size="small" @click="emitClick">{{ $t('module.report.inventory.viewSubstrates') }}</el-button> | ||||
|   </span> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|   props: { | ||||
|     injectData: { | ||||
|       type: Object, | ||||
|       default: () => ({}) | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     emitClick() { | ||||
|       this.$router.push({ | ||||
|         name: 'viewSubstrate', | ||||
|         query: { | ||||
|           id: this.injectData.id, | ||||
|           code: this.injectData.code | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										195
									
								
								src/views/report-manage/components/viewSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								src/views/report-manage/components/viewSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,195 @@ | ||||
| <!-- | ||||
|  * @Descripttion: | ||||
|  * @version: | ||||
|  * @Author: fzq | ||||
|  * @Date: 2022-03-05 15:55:45 | ||||
|  * @LastEditors: fzq | ||||
|  * @LastEditTime: 2022-03-11 11:08:53 | ||||
| --> | ||||
| <template> | ||||
|   <div class="app-container"> | ||||
|     <!-- <div style="margin:10px 50px"> | ||||
|       <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> | ||||
|       <el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button> | ||||
|     </div> --> | ||||
|     <div style="title">{{ storageCode }}:{{ num }} | ||||
|       <el-button type="success" style="back" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> | ||||
|     </div> | ||||
|     <base-table | ||||
|       :page="listQuery.current" | ||||
|       :limit="listQuery.size" | ||||
|       :table-config="tableProps" | ||||
|       :table-data="list" | ||||
|       :is-loading="listLoading" | ||||
|     > | ||||
|       <method-btn | ||||
|         slot="handleBtn" | ||||
|         :width="trueWidth" | ||||
|         :method-list="tableBtn" | ||||
|         @clickBtn="handleClick" | ||||
|       /> | ||||
|     </base-table> | ||||
|     <edit-substrate v-if="addOrUpdateVisible" :id="listQuery.id" ref="addOrUpdate" @refreshDataList="getList" /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script>import i18n from '@/lang' | ||||
| import { listSubstrate, deleSubstrate } from '@/api/report-manage/report' | ||||
| import editSubstrate from './edit-substrate.vue' | ||||
| import BaseTable from '@/components/BaseTable' | ||||
| import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' | ||||
| /** | ||||
|  * 表格表头配置项 TypeScript接口注释 | ||||
|  * tableConfig<ConfigItem> = [] | ||||
|  * | ||||
|  * Interface ConfigItem = { | ||||
|  *  prop: string, | ||||
|  *  label: string, | ||||
|  *  width: string, | ||||
|  *  align: string, | ||||
|  *  subcomponent: function, | ||||
|  *  filter: function | ||||
|  * } | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| const tableBtn = [ | ||||
|   { | ||||
|     type: 'edit', | ||||
|     btnName: 'btn.edit' | ||||
|   }, | ||||
|   { | ||||
|     type: 'delete', | ||||
|     btnName: 'btn.delete' | ||||
|   } | ||||
| ] | ||||
| const tableProps = [ | ||||
|   { | ||||
|     prop: 'substrateCode', | ||||
|     label: i18n.t('module.report.substrate.substrateCode'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'location', | ||||
|     label: i18n.t('module.report.substrate.location'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'storeTime', | ||||
|     label: i18n.t('module.report.substrate.storeTime'), | ||||
|     align: 'center' | ||||
|   }, | ||||
|   { | ||||
|     prop: 'substrateStatus', | ||||
|     label: i18n.t('module.report.substrate.substrateStatus'), | ||||
|     align: 'center' | ||||
|   } | ||||
| ] | ||||
|  | ||||
| export default { | ||||
|   name: 'ViewSubstrate', | ||||
|   components: { BaseTable, MethodBtn, editSubstrate }, | ||||
|   filters: { | ||||
|     statusFilter(status) { | ||||
|       const statusMap = { | ||||
|         published: 'success', | ||||
|         draft: 'info', | ||||
|         deleted: 'danger' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       addOrUpdateVisible: false, | ||||
|       num: '', | ||||
|       storageCode: this.$t('module.basicData.visual.TipsBefore'), | ||||
|       tableBtn, | ||||
|       trueWidth: 200, | ||||
|       tableProps, | ||||
|       list: [], | ||||
|       listLoading: true, | ||||
|       listQuery: { | ||||
|         current: 1, | ||||
|         size: 10, | ||||
|         storageBoxCode: '', | ||||
|         storageBoxId: '' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.listQuery.storageBoxCode = this.$route.query.code | ||||
|     this.listQuery.storageBoxId = this.$route.query.id | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     handleClick(raw) { | ||||
|       if (raw.type === 'delete') { | ||||
|         this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.substrateCode}]?`, this.$t('module.basicData.visual.Tips'), { | ||||
|           confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), | ||||
|           cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), | ||||
|           type: 'warning' | ||||
|         }).then(() => { | ||||
|         //   console.log(raw.data) | ||||
|           deleSubstrate(raw.data).then(response => { | ||||
|             this.$message({ | ||||
|               message: this.$t('module.basicData.visual.success'), | ||||
|               type: 'success', | ||||
|               duration: 1500, | ||||
|               onClose: () => { | ||||
|                 this.getList() | ||||
|               } | ||||
|             }) | ||||
|           }) | ||||
|         }).catch(() => {}) | ||||
|       } else { | ||||
|         this.addNew(raw.data.id) | ||||
|       } | ||||
|     }, | ||||
|     getList() { | ||||
|       this.listLoading = true | ||||
|       this.num = this.listQuery.storageBoxCode | ||||
|       this.listQuery.code = this.$route.query.code | ||||
|       console.log(this.listQuery) | ||||
|       listSubstrate(this.listQuery).then(response => { | ||||
|         console.log(response) | ||||
|         if (response.data) { | ||||
|           this.list = response.data | ||||
|           console.log(this.list) | ||||
|         } else { | ||||
|           this.list.splice(0, this.list.length) | ||||
|         } | ||||
|         this.listLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     // 新增 / 修改 | ||||
|     addNew(id) { | ||||
|       this.addOrUpdateVisible = true | ||||
|       this.$nextTick(() => { | ||||
|         this.$refs.addOrUpdate.init(id) | ||||
|       }) | ||||
|     }, | ||||
|     goback() { | ||||
|       this.$router.go(-1) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .title { | ||||
|   left: 150px; | ||||
| } | ||||
| .edit-input { | ||||
|   padding-right: 100px; | ||||
| } | ||||
| .cancel-btn { | ||||
|   position: absolute; | ||||
|   right: 15px; | ||||
|   top: 10px; | ||||
| } | ||||
| .back { | ||||
|   right: 20px; | ||||
| } | ||||
| </style> | ||||
		Reference in New Issue
	
	Block a user