Compare commits
	
		
			1 Commits
		
	
	
		
			0789decfd9
			...
			projects/m
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e28cd67e20 | 
							
								
								
									
										9
									
								
								.env.dev
									
									
									
									
									
								
							
							
						
						@@ -1,8 +1,8 @@
 | 
				
			|||||||
###
 | 
					###
 | 
				
			||||||
 # @Author: Do not edit
 | 
					 # @Author: Do not edit
 | 
				
			||||||
 # @Date: 2023-08-29 09:40:39
 | 
					 # @Date: 2023-08-29 09:40:39
 | 
				
			||||||
 # @LastEditTime: 2023-12-29 08:57:36
 | 
					 # @LastEditTime: 2023-11-21 10:36:47
 | 
				
			||||||
 # @LastEditors: zhp
 | 
					 # @LastEditors: DY
 | 
				
			||||||
 # @Description:
 | 
					 # @Description:
 | 
				
			||||||
###
 | 
					###
 | 
				
			||||||
# 开发环境配置
 | 
					# 开发环境配置
 | 
				
			||||||
@@ -19,9 +19,8 @@ VUE_APP_BASE_API = 'http://192.168.0.33:48082'
 | 
				
			|||||||
# VUE_APP_BASE_API = 'http://192.168.1.49:48082'
 | 
					# VUE_APP_BASE_API = 'http://192.168.1.49:48082'
 | 
				
			||||||
# VUE_APP_BASE_API = 'http://192.168.1.8:48082'
 | 
					# VUE_APP_BASE_API = 'http://192.168.1.8:48082'
 | 
				
			||||||
# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
 | 
					# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
 | 
				
			||||||
# VUE_APP_BASE_API = 'http://192.168.1.104:48082'
 | 
					# VUE_APP_BASE_API = 'http://192.168.1.56:48082'
 | 
				
			||||||
# VUE_APP_BASE_API = 'http://192.168.1.62:48082'
 | 
					# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
 | 
				
			||||||
# VUE_APP_BASE_API = 'http://192.168.1.78:48082'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 积木报表指向地址
 | 
					# 积木报表指向地址
 | 
				
			||||||
VUE_APP_JIMU_API = 'http://192.168.0.33:48082'
 | 
					VUE_APP_JIMU_API = 'http://192.168.0.33:48082'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,14 +15,15 @@ VUE_APP_TITLE = MES系统
 | 
				
			|||||||
VUE_APP_BASE_API = '/prod-api'
 | 
					VUE_APP_BASE_API = '/prod-api'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 积木报表指向地址
 | 
					# 积木报表指向地址
 | 
				
			||||||
VUE_APP_JIMU_API = 'http://10.70.2.22:8080'
 | 
					VUE_APP_JIMU_API = 'http://192.168.0.33:48082'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 根据服务器或域名修改
 | 
					# 根据服务器或域名修改
 | 
				
			||||||
PUBLIC_PATH = 'http://10.70.2.32'
 | 
					# PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
 | 
				
			||||||
 | 
					PUBLIC_PATH = 'http://192.168.0.33:8889/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 二级部署路径
 | 
					# 二级部署路径
 | 
				
			||||||
# VUE_APP_APP_NAME ='yudao-admin'
 | 
					VUE_APP_APP_NAME ='yudao-admin'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 多租户的开关
 | 
					# 多租户的开关
 | 
				
			||||||
VUE_APP_TENANT_ENABLE = true
 | 
					VUE_APP_TENANT_ENABLE = true
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								.env.stage
									
									
									
									
									
								
							
							
						
						@@ -1,21 +1,16 @@
 | 
				
			|||||||
# 生产环境配置
 | 
					NODE_ENV = production
 | 
				
			||||||
ENV = 'production'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 页面标题
 | 
					# 页面标题
 | 
				
			||||||
VUE_APP_TITLE = MES系统
 | 
					VUE_APP_TITLE = 产线监控系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 芋道管理系统/生产环境
 | 
					# 测试环境配置
 | 
				
			||||||
VUE_APP_BASE_API = '/prod-api'
 | 
					ENV = 'staging'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 积木报表指向地址
 | 
					# 芋道管理系统/测试环境
 | 
				
			||||||
VUE_APP_JIMU_API = 'http://192.168.0.33:48082'
 | 
					VUE_APP_BASE_API = 'http://api-dashboard.yudao.iocoder.cn'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 静态资源地址
 | 
				
			||||||
# 根据服务器或域名修改
 | 
					PUBLIC_PATH = 'http://static.yudao.iocoder.cn/'
 | 
				
			||||||
PUBLIC_PATH = 'http://192.168.0.33:8889/'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 二级部署路径
 | 
					 | 
				
			||||||
# VUE_APP_APP_NAME ='yudao-admin'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 多租户的开关
 | 
					# 多租户的开关
 | 
				
			||||||
VUE_APP_TENANT_ENABLE = true
 | 
					VUE_APP_TENANT_ENABLE = true
 | 
				
			||||||
@@ -25,3 +20,4 @@ VUE_APP_DOC_ENABLE = false
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# 百度统计
 | 
					# 百度统计
 | 
				
			||||||
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
 | 
					VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,7 +48,7 @@
 | 
				
			|||||||
    "benz-amr-recorder": "^1.1.5",
 | 
					    "benz-amr-recorder": "^1.1.5",
 | 
				
			||||||
    "bpmn-js-token-simulation": "0.10.0",
 | 
					    "bpmn-js-token-simulation": "0.10.0",
 | 
				
			||||||
    "clipboard": "2.0.8",
 | 
					    "clipboard": "2.0.8",
 | 
				
			||||||
    "code-brick-zj": "^1.0.5",
 | 
					    "code-brick-zj": "^1.0.2",
 | 
				
			||||||
    "core-js": "^3.26.0",
 | 
					    "core-js": "^3.26.0",
 | 
				
			||||||
    "crypto-js": "^4.0.0",
 | 
					    "crypto-js": "^4.0.0",
 | 
				
			||||||
    "diagram-js": "^12.3.0",
 | 
					    "diagram-js": "^12.3.0",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-10-21 11:50:46
 | 
					 * @Date: 2023-10-21 11:50:46
 | 
				
			||||||
 * @LastEditTime: 2023-12-14 10:57:24
 | 
					 * @LastEditTime: 2023-11-15 15:56:14
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -65,31 +65,4 @@ export function getHotMaterialList(query) {
 | 
				
			|||||||
    method: 'get',
 | 
					    method: 'get',
 | 
				
			||||||
    params: query
 | 
					    params: query
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建原料质量检测条目
 | 
					 | 
				
			||||||
export function createHotMaterialCheck(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-hot-material-check/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新原料质量检测条目
 | 
					 | 
				
			||||||
export function updateHotMaterialCheck(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-hot-material-check/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得质量检测条目列表
 | 
					 | 
				
			||||||
export function getHotCheckList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-hot-material-check/listByMaterial',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1,56 +0,0 @@
 | 
				
			|||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得分页数据
 | 
					 | 
				
			||||||
export function energyQuantityManualPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/energy-quantity-manual/page',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建
 | 
					 | 
				
			||||||
export function energyQuantityManualCreate(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/energy-quantity-manual/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新
 | 
					 | 
				
			||||||
export function energyQuantityManualUpdate(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/energy-quantity-manual/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//获得能源抄表(手动)
 | 
					 | 
				
			||||||
export function energyQuantityManualGet(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/energy-quantity-manual/get',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//删除
 | 
					 | 
				
			||||||
export function energyQuantityManualDelete(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/energy-quantity-manual/delete',
 | 
					 | 
				
			||||||
    method: 'delete',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//导出
 | 
					 | 
				
			||||||
export function energyQuantityManualExport(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/energy-quantity-manual/export-excel',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,125 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zhp
 | 
					 | 
				
			||||||
 * @Date: 2023-11-06 15:38:12
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-15 15:29:16
 | 
					 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建质量检测类型基础
 | 
					 | 
				
			||||||
export function createQualityHotMaterial(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新质量检测类型基础
 | 
					 | 
				
			||||||
export function updateQualityHotMaterial(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 删除质量检测类型基础
 | 
					 | 
				
			||||||
export function deleteQualityHotMaterial(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material/delete?id=' + id,
 | 
					 | 
				
			||||||
    method: 'delete'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得质量检测类型基础
 | 
					 | 
				
			||||||
export function getQualityHotMaterial(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material/get?id=' + id,
 | 
					 | 
				
			||||||
    method: 'get'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得质量检测类型基础分页
 | 
					 | 
				
			||||||
export function getQualityHotMaterialPage(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: 'base/quality-hot-material/page',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出质量检测类型基础 Excel
 | 
					 | 
				
			||||||
// export function exportQualityScrapTypeExcel(query) {
 | 
					 | 
				
			||||||
//   return request({
 | 
					 | 
				
			||||||
//     url: '/base/quality-scrap-type/export-excel',
 | 
					 | 
				
			||||||
//     method: 'get',
 | 
					 | 
				
			||||||
//     params: query,
 | 
					 | 
				
			||||||
//     responseType: 'blob'
 | 
					 | 
				
			||||||
//   })
 | 
					 | 
				
			||||||
// }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getCode(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material/getCode',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
export function getHotMaterialAllList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-hot-material/listAll',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getSupplierList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-supplier/listAll',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getWorkerList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-worker/listAll',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getMaterialCheckList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/core-hot-material-check/listByMaterial',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function createQualityHotMaterialDet(query){
 | 
					 | 
				
			||||||
   return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material-det/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function updateQualityHotMaterialDet(query){
 | 
					 | 
				
			||||||
   return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material-det/listbyfilter',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityHotMaterialDetList(query){
 | 
					 | 
				
			||||||
   return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-hot-material-det/listbyfilter',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,17 +1,10 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zhp
 | 
					 | 
				
			||||||
 * @Date: 2023-12-04 14:10:37
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-14 10:06:03
 | 
					 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					import request from '@/utils/request'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 创建安灯按钮16键对应
 | 
					// 创建安灯按钮16键对应
 | 
				
			||||||
export function createQualityInspectionBoxBtn(data) {
 | 
					export function createQualityInspectionBoxBtn(data) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/base/quality-inspection-box-btn/updateBatch',
 | 
					    url: '/base/quality-inspection-box-btn/create',
 | 
				
			||||||
    method: 'put',
 | 
					    method: 'post',
 | 
				
			||||||
    data: data
 | 
					    data: data
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -19,7 +12,7 @@ export function createQualityInspectionBoxBtn(data) {
 | 
				
			|||||||
// 更新安灯按钮16键对应
 | 
					// 更新安灯按钮16键对应
 | 
				
			||||||
export function updateQualityInspectionBoxBtn(data) {
 | 
					export function updateQualityInspectionBoxBtn(data) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/base/quality-inspection-box-btn/updateBatch',
 | 
					    url: '/base/quality-inspection-box-btn/update',
 | 
				
			||||||
    method: 'put',
 | 
					    method: 'put',
 | 
				
			||||||
    data: data
 | 
					    data: data
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
@@ -44,7 +37,7 @@ export function getQualityInspectionBoxBtn(id) {
 | 
				
			|||||||
// 获得安灯按钮16键对应分页
 | 
					// 获得安灯按钮16键对应分页
 | 
				
			||||||
export function getQualityInspectionBoxBtnPage(query) {
 | 
					export function getQualityInspectionBoxBtnPage(query) {
 | 
				
			||||||
  return request({
 | 
					  return request({
 | 
				
			||||||
    url: '/base/quality-inspection-box-btn/listGroupByLineSection',
 | 
					    url: '/base/quality-inspection-box-btn/page',
 | 
				
			||||||
    method: 'get',
 | 
					    method: 'get',
 | 
				
			||||||
    params: query
 | 
					    params: query
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
@@ -59,19 +52,3 @@ export function exportQualityInspectionBoxBtnExcel(query) {
 | 
				
			|||||||
    responseType: 'blob'
 | 
					    responseType: 'blob'
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getAllDetByTypeList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-scrap-det/scrapMap',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
export function getListByLineSection(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-inspection-box-btn/detListByLineSection',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-11-06 15:38:12
 | 
					 * @Date: 2023-11-06 15:38:12
 | 
				
			||||||
 * @LastEditTime: 2023-12-08 09:46:55
 | 
					 * @LastEditTime: 2023-11-06 15:39:39
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -67,4 +67,3 @@ export function getCode(query) {
 | 
				
			|||||||
    params: query
 | 
					    params: query
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,78 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2023-11-23 14:57:00
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-07 09:37:18
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建能源自动记录报
 | 
					 | 
				
			||||||
export function createCostEneryAutoReport(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-enery-auto-report/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新能源自动记录报
 | 
					 | 
				
			||||||
export function updateCostEneryAutoReport(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-enery-auto-report/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 删除能源自动记录报
 | 
					 | 
				
			||||||
export function deleteCostEneryAutoReport(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-enery-auto-report/delete?id=' + id,
 | 
					 | 
				
			||||||
    method: 'delete'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得能源自动记录报
 | 
					 | 
				
			||||||
export function getCostEneryAutoReport(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-enery-auto-report/get?id=' + id,
 | 
					 | 
				
			||||||
    method: 'get'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得能源自动记录报分页历史
 | 
					 | 
				
			||||||
export function getCostEneryAutoReportPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-enery-auto-report/page',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
// 获得能源查询
 | 
					 | 
				
			||||||
export function getCostEneryAutoPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-energy-search/getData',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
// 导出能源自动记录报 Excel
 | 
					 | 
				
			||||||
export function exportCostEneryAutoReportExcel(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-enery-auto-report/export-excel',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出能源自动记录报 Excel 查询
 | 
					 | 
				
			||||||
export function exportCostEneryExcel(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-energy-search/export-excel',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,73 +0,0 @@
 | 
				
			|||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建原料成本自动统计报
 | 
					 | 
				
			||||||
export function createCostMaterialAutoReport(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-auto-report/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新原料成本自动统计报
 | 
					 | 
				
			||||||
export function updateCostMaterialAutoReport(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-auto-report/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 删除原料成本自动统计报
 | 
					 | 
				
			||||||
export function deleteCostMaterialAutoReport(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-auto-report/delete?id=' + id,
 | 
					 | 
				
			||||||
    method: 'delete'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原料成本自动统计报
 | 
					 | 
				
			||||||
export function getCostMaterialAutoReport(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-auto-report/get?id=' + id,
 | 
					 | 
				
			||||||
    method: 'get'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原料成本自动统计报分页历史
 | 
					 | 
				
			||||||
export function getCostMaterialAutoReportPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-auto-report/page',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原料成本查询
 | 
					 | 
				
			||||||
export function getCostMaterialSearchPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-search/getData',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出原料成本自动统计报 Excel
 | 
					 | 
				
			||||||
export function exportCostMaterialAutoReportExcel(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-auto-report/export-excel',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出原料成本自动统计报 Excel查询
 | 
					 | 
				
			||||||
export function exportCostMaterialSearch(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-search/export-excel',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,61 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2023-11-15 09:24:30
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-05 14:38:48
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建原料价位配置
 | 
					 | 
				
			||||||
export function createCostMaterialSet(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-set/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新原料价位配置
 | 
					 | 
				
			||||||
export function updateCostMaterialSet(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-set/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 删除原料价位配置
 | 
					 | 
				
			||||||
export function deleteCostMaterialSet(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-set/delete?id=' + id,
 | 
					 | 
				
			||||||
    method: 'delete'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原料价位配置
 | 
					 | 
				
			||||||
export function getCostMaterialSet(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-set/get?id=' + id,
 | 
					 | 
				
			||||||
    method: 'get'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原料价位配置分页
 | 
					 | 
				
			||||||
export function getCostMaterialSetPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-set/page',
 | 
					 | 
				
			||||||
    method: 'POST',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出原料价位配置 Excel
 | 
					 | 
				
			||||||
export function exportCostMaterialSetExcel(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/extend/cost-material-set/export-excel',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,63 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zhp
 | 
					 | 
				
			||||||
 * @Date: 2023-12-08 15:26:59
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-11 15:21:44
 | 
					 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
export function getQualityIsraPage(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: 'base/quality-isra-statistics/getIsraData',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityIsraDayMap(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-isra-statistics/dayMap',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityIsraWeekMap(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-isra-statistics/weekMap',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityIsraMonthMap(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-isra-statistics/monthMap',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityIsraDayList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-isra-statistics/dayList',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityIsraWeekList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-isra-statistics/weekList',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getQualityIsraMonthList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/quality-isra-statistics/monthList',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-10-31 10:55:20
 | 
					 * @Date: 2023-10-31 10:55:20
 | 
				
			||||||
 * @LastEditTime: 2023-12-06 14:09:14
 | 
					 * @LastEditTime: 2023-10-31 15:05:30
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -33,12 +33,3 @@ export function exportEnergyPlcExcel(query) {
 | 
				
			|||||||
    responseType: 'blob'
 | 
					    responseType: 'blob'
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getOriginalGlassRetrace(query) {
 | 
					 | 
				
			||||||
   return request({
 | 
					 | 
				
			||||||
    url: '/base/original-glass-statistics/originalGlassRetrace',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,61 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: Do not edit
 | 
					 | 
				
			||||||
 * @Date: 2023-12-08 10:26:48
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-13 17:16:00
 | 
					 | 
				
			||||||
 * @LastEditors: DY
 | 
					 | 
				
			||||||
 * @Description: 
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建原片自动报
 | 
					 | 
				
			||||||
export function createGlass(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-original-glass/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 批量更新原片自动报
 | 
					 | 
				
			||||||
export function updateGlass(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-original-glass/updatePlus',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
// 更新原片自动报
 | 
					 | 
				
			||||||
export function updateGlassRemark(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-original-glass/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原片自动报
 | 
					 | 
				
			||||||
export function getGlass(id) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-original-glass/get?id=' + id,
 | 
					 | 
				
			||||||
    method: 'get'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得原片分页
 | 
					 | 
				
			||||||
export function getGlassPage(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-original-glass/listPlus',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出原片自动报 Excel
 | 
					 | 
				
			||||||
export function exportGlasscExcel(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-original-glass/export-excel',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,57 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zhp
 | 
					 | 
				
			||||||
 * @Date: 2023-12-12 13:49:02
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-14 14:21:43
 | 
					 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得质量检查信息记录表分页
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getProductionDataList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-production/listPlus',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    data: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function updateProductionDataList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-production/updatePlus',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
export function updateSumProductionDataList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-production/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function getAutoDeliveDataList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-delive/listPlus',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function updateAutoDeliveDataList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-delive/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function updateSumAutoDeliveDataList(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/report-auto-delive/updatePlus',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: query,
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,92 +0,0 @@
 | 
				
			|||||||
import request from '@/utils/request'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得环保检测指标实时数据
 | 
					 | 
				
			||||||
export function environmentalCheckRealtime(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/realtime',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得环保检测指标趋势数据
 | 
					 | 
				
			||||||
export function environmentalCheckRealtimeTrend(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check-record/trend',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得环保检测指标分页
 | 
					 | 
				
			||||||
export function environmentalCheckPage(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/page',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 创建环保检测指标
 | 
					 | 
				
			||||||
export function environmentalCheckCreate(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/create',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 更新环保检测指标
 | 
					 | 
				
			||||||
export function environmentalCheckUpdate(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/update',
 | 
					 | 
				
			||||||
    method: 'put',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得环保检测指标
 | 
					 | 
				
			||||||
export function environmentalCheckGet(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/get',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 删除环保检测指标
 | 
					 | 
				
			||||||
export function environmentalCheckDelete(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/delete',
 | 
					 | 
				
			||||||
    method: 'delete',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获得环保检测记录分页
 | 
					 | 
				
			||||||
export function environmentalCheckRecordPage(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check-record/page',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出环保检测记录 Excel
 | 
					 | 
				
			||||||
export function environmentalCheckRecordExport(data) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check-record/export-excel',
 | 
					 | 
				
			||||||
    method: 'post',
 | 
					 | 
				
			||||||
    data: data,
 | 
					 | 
				
			||||||
    responseType: 'blob'
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 获取环保检测指标code
 | 
					 | 
				
			||||||
export function getEnvironmentalCheckCode(query) {
 | 
					 | 
				
			||||||
  return request({
 | 
					 | 
				
			||||||
    url: '/base/environmental-check/getCode',
 | 
					 | 
				
			||||||
    method: 'get',
 | 
					 | 
				
			||||||
    params: query
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>能源监控</title>
 | 
					 | 
				
			||||||
    <g id="mes-看板/驾驶舱" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="冷端看板" transform="translate(-685.000000, -149.000000)" fill-rule="nonzero">
 | 
					 | 
				
			||||||
            <g id="编组-26备份-4" transform="translate(661.000000, 127.000000)">
 | 
					 | 
				
			||||||
                <g id="能源监控" transform="translate(24.000000, 22.000000)">
 | 
					 | 
				
			||||||
                    <rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
 | 
					 | 
				
			||||||
                    <path d="M5.56606392,22 L5.56606392,8.69394435 C5.56606392,8.16339333 5.15113542,7.75513729 4.65294365,7.75513729 L1.91312026,7.75513729 C1.41539106,7.75513729 1,8.20385524 1,8.69394435 L1,22 L5.56606392,22 L5.56606392,22 Z M11.3773759,22 L11.3773759,2.97972358 C11.3773759,2.44871795 10.9624474,2 10.4642557,2 L7.72443229,2 C7.22624054,2 6.81131201,2.44871795 6.81131201,2.97972358 L6.81131201,22 L11.3773759,22 Z M17.188688,22 L17.188688,13.591653 C17.188688,13.061102 16.7737595,12.6123841 16.2755677,12.6123841 L13.5362069,12.6123841 C13.0380151,12.6123841 12.622624,13.061102 12.622624,13.591653 L12.622624,22 L17.188688,22 Z M23,22 L23,8.69394435 C23,8.16339333 22.5850715,7.75513729 22.0868797,7.75513729 L19.3470564,7.75513729 C18.8493272,7.75513729 18.4339361,8.20385524 18.4339361,8.69394435 L18.4339361,22 L23,22 L23,22 Z" id="形状" fill="#59D0E2"></path>
 | 
					 | 
				
			||||||
                </g>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
@@ -1,14 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>报警</title>
 | 
					 | 
				
			||||||
    <g id="新增看板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="深加工看板" transform="translate(-64.000000, -149.000000)" fill-rule="nonzero">
 | 
					 | 
				
			||||||
            <g id="编组-26" transform="translate(40.000000, 127.000000)">
 | 
					 | 
				
			||||||
                <g id="报警" transform="translate(24.000000, 22.000000)">
 | 
					 | 
				
			||||||
                    <rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
 | 
					 | 
				
			||||||
                    <path d="M20.7657338,18.1387399 L13.9284614,22.3462921 C13.4025174,22.6969215 12.8765734,22.3462921 12.8765734,21.6450334 L12.8765734,11.8274116 C12.8765734,11.6520969 13.0518881,11.3014676 13.2272027,11.1261529 L20.0644751,6.91860067 C20.5904191,6.56797132 21.1163631,6.91860067 21.1163631,7.61985938 L21.1163631,17.6127959 C21.1163631,17.7881106 20.9410485,18.1387399 20.7657338,18.1387399 Z M3.23426622,18.1387399 L10.0715386,22.3462921 C10.5974826,22.6969215 11.1234266,22.3462921 11.1234266,21.6450334 L11.1234266,11.8274116 C11.1234266,11.6520969 10.9481119,11.3014676 10.7727973,11.1261529 L3.93552492,6.91860067 C3.58489557,6.743286 2.88363686,7.09391535 2.88363686,7.61985938 L2.88363686,17.6127959 C2.88363686,17.7881106 3.05895154,18.1387399 3.23426622,18.1387399 Z M11.8246853,1.48384573 L3.93552492,4.46419521 C3.58489557,4.63950989 3.58489557,5.16545392 3.93552492,5.34076859 L11.8246853,10.2495795 C12,10.2495795 12.1753147,10.2495795 12.1753147,10.2495795 L20.2397898,5.34076859 C20.5904191,5.16545392 20.5904191,4.63950989 20.2397898,4.46419521 L12.1753147,1.48384573 C12,1.48384573 12,1.48384573 11.8246853,1.48384573 Z" id="形状" fill="#59D0E2"></path>
 | 
					 | 
				
			||||||
                </g>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
@@ -1,17 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="19.7127155px" height="19.7127155px" viewBox="0 0 19.7127155 19.7127155" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>设备监控</title>
 | 
					 | 
				
			||||||
    <g id="mes-看板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="深加工看板" transform="translate(-1309.143642, -151.143642)">
 | 
					 | 
				
			||||||
            <g id="编组-26备份-4" transform="translate(1283.000000, 127.000000)">
 | 
					 | 
				
			||||||
                <g id="设备监控" transform="translate(24.000000, 22.000000)">
 | 
					 | 
				
			||||||
                    <rect id="矩形" x="0" y="0" width="24" height="24"></rect>
 | 
					 | 
				
			||||||
                    <g id="异常" transform="translate(2.143642, 2.143642)" fill-rule="nonzero">
 | 
					 | 
				
			||||||
                        <rect id="矩形" fill="#000000" opacity="0" x="0.856357767" y="0.856357767" width="17" height="17"></rect>
 | 
					 | 
				
			||||||
                        <path d="M9.85640228,0.000116285784 C7.94997171,-0.0106702658 6.11587607,0.729338602 4.75082135,2.0602014 C3.41793975,3.37801839 2.66584368,5.173105 2.66128994,7.04744966 L2.66128994,16.6671387 L16.9726637,16.6671387 L16.9726637,7.04743041 C16.9710126,5.1705386 16.2144177,3.37320892 14.8732566,2.06018215 C13.5319151,0.748116476 11.7327241,0.00936885323 9.85638303,0.000116285784 L9.85640228,0.000116285784 Z M9.26502002,14.3607842 L9.05803623,9.69875531 L5.52947465,9.69875531 L10.1619113,3.85402838 L10.5561661,7.61911494 L13.9073323,7.73739052 L9.22555602,14.3607842 L9.26502002,14.3607842 Z M4.37471863e-05,18.6383791 C-0.00254075641,18.3517467 0.109484124,18.0759491 0.311244358,17.8723357 C0.513004592,17.6687223 0.787767718,17.5541863 1.07441422,17.5541863 L18.6383903,17.5541863 C18.9225391,17.5577245 19.1943787,17.6707029 19.3973309,17.8696071 C19.5968337,18.0761491 19.7096866,18.3512359 19.7127155,18.6383791 C19.7127155,19.2317112 19.2317269,19.7127155 18.6383903,19.7127155 L1.07441422,19.7127155 C0.481077682,19.7127155 4.37471863e-05,19.2317112 4.37471863e-05,18.6383791 L4.37471863e-05,18.6383791 Z" id="形状" fill="#59D0E2"></path>
 | 
					 | 
				
			||||||
                    </g>
 | 
					 | 
				
			||||||
                </g>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 2.1 KiB  | 
@@ -1,12 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>编组 54</title>
 | 
					 | 
				
			||||||
    <g id="驾驶舱" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="运营总览_生产线监控驾驶舱" transform="translate(-1866.000000, -36.000000)">
 | 
					 | 
				
			||||||
            <g id="编组-54" transform="translate(1866.000000, 36.000000)">
 | 
					 | 
				
			||||||
                <rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="21" height="21"></rect>
 | 
					 | 
				
			||||||
                <path d="M18.4001211,1 L18.574731,1.00571398 C18.8641421,1.02474925 19.1451559,1.09128771 19.4122178,1.20447947 C19.7221027,1.33395436 19.9991094,1.52058631 20.2392616,1.76073844 C20.4776764,1.99915325 20.6652172,2.27804627 20.7953442,2.58736464 C20.9313506,2.90825642 21,3.24882158 21,3.59987893 L21,3.59987893 L21,18.4001211 L20.994286,18.574731 C20.9752507,18.8641421 20.9087123,19.1451559 20.7955205,19.4122178 C20.6660456,19.7221027 20.4794137,19.9991094 20.2392616,20.2392616 C20.0008468,20.4776764 19.7219537,20.6652172 19.4126354,20.7953442 C19.0917436,20.9313506 18.7511784,21 18.4001211,21 L18.4001211,21 L3.59987893,21 L3.42526905,20.994286 C3.13585794,20.9752507 2.85484405,20.9087123 2.58778224,20.7955205 C2.2778973,20.6660456 2.00089057,20.4794137 1.76073844,20.2392616 C1.52232363,20.0008468 1.33478285,19.7219537 1.20465581,19.4126354 C1.06864936,19.0917436 1,18.7511784 1,18.4001211 L1,18.4001211 L1,3.59987893 L1.00571398,3.42526905 C1.02474925,3.13585794 1.09128771,2.85484405 1.20447947,2.58778224 C1.33395436,2.2778973 1.52058631,2.00089057 1.76073844,1.76073844 C1.99915325,1.52232363 2.27804627,1.33478285 2.58736464,1.20465581 C2.90825642,1.06864936 3.24882158,1 3.59987893,1 L3.59987893,1 L18.4001211,1 Z M18.4001211,2.29539952 L3.59987893,2.29539952 L3.49797651,2.2993263 C2.82542992,2.35136056 2.29539952,2.9140495 2.29539952,3.59987893 L2.29539952,3.59987893 L2.29539952,18.4001211 L2.2993263,18.5020235 C2.35136056,19.1745701 2.9140495,19.7046005 3.59987893,19.7046005 L3.59987893,19.7046005 L18.4001211,19.7046005 L18.5020235,19.7006737 C19.1745701,19.6486394 19.7046005,19.0859505 19.7046005,18.4001211 L19.7046005,18.4001211 L19.7046005,3.59987893 L19.7006737,3.49797651 C19.6486394,2.82542992 19.0859505,2.29539952 18.4001211,2.29539952 L18.4001211,2.29539952 Z M4.56580299,11.8731508 L4.63987359,11.8789244 C4.95620444,11.9219442 5.20096852,12.1943435 5.20096852,12.5208838 L5.20096852,12.5208838 L5.20096852,15.8606113 L8.39814764,12.6634321 L8.45892035,12.6098356 C8.71226443,12.4133149 9.08161636,12.4311804 9.3138681,12.6634321 C9.56547415,12.9150382 9.56547415,13.3275466 9.3138681,13.5791526 L9.3138681,13.5791526 L6.09149511,16.7990315 L9.4155569,16.7990315 L9.49368756,16.8035151 C9.82695229,16.8420028 10.0864105,17.123441 10.081435,17.4601165 C10.0742517,17.8119637 9.78624591,18.094431 9.43371671,18.094431 L9.43371671,18.094431 L4.5691586,18.094431 L4.49163938,18.0899766 C4.16113157,18.051728 3.90556901,17.7718105 3.90556901,17.4308414 L3.90556901,17.4308414 L3.90556901,12.5367736 L3.91007171,12.4587841 C3.94871707,12.1260764 4.23118526,11.8665247 4.56580299,11.8731508 L4.56580299,11.8731508 Z M17.4353814,3.90556901 L17.512257,3.91000958 C17.8400885,3.94813523 18.094431,4.22707005 18.094431,4.56461864 L18.094431,4.56461864 L18.094431,9.46095642 L18.0899283,9.53894589 C18.0512829,9.87165361 17.7688147,10.1312053 17.434197,10.1245792 C17.0828999,10.1173731 16.7990315,9.82850504 16.7990315,9.47684625 L16.7990315,9.47684625 L16.7990315,6.13938874 L13.6018524,9.33656786 L13.5410796,9.39016441 C13.2877356,9.58668512 12.9183836,9.5688196 12.6861319,9.33656786 C12.4345258,9.08496181 12.4345258,8.67245345 12.6861319,8.4208474 L12.6861319,8.4208474 L15.9060108,5.20096852 L12.5821731,5.20096852 L12.5040246,5.19648608 C12.170734,5.1580095 11.9119308,4.876675 11.9185506,4.54071802 C11.9257483,4.18803625 12.2137541,3.90556901 12.5662833,3.90556901 L12.5662833,3.90556901 L17.4353814,3.90556901 Z" id="形状结合" fill="#52FFF1" fill-rule="nonzero" opacity="0.79078311"></path>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 4.1 KiB  | 
							
								
								
									
										1
									
								
								src/assets/icons/svg/fullscreen.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z"/></svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 421 B  | 
@@ -1,12 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>制度流程</title>
 | 
					 | 
				
			||||||
    <g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="栏" transform="translate(-383.000000, -639.000000)" fill="#FFFFFF" fill-rule="nonzero">
 | 
					 | 
				
			||||||
            <g id="制度流程" transform="translate(383.000000, 639.000000)">
 | 
					 | 
				
			||||||
                <rect id="矩形" opacity="0" x="0" y="0" width="24" height="24"></rect>
 | 
					 | 
				
			||||||
                <path d="M4.37117174,17.071929 L2.37885068,17.071929 C2.0028361,17.071929 1.69692899,17.3771995 1.69692899,17.7524526 L1.69692899,19.7475474 C1.69692899,20.1227781 2.00283612,20.428071 2.37885068,20.428071 L4.37117174,20.428071 C4.74718632,20.428071 5.05307101,20.1228005 5.05307101,19.7475474 L5.05307101,17.7524526 C5.05307101,17.3771996 4.74718632,17.071929 4.37117174,17.071929 Z M7.36536289,6.40073051 L21.8846371,6.40073051 C22.2245029,6.40073051 22.5,6.06492662 22.5,5.65073051 C22.5,5.2365344 22.2245029,4.90073051 21.8846371,4.90073051 L7.36536289,4.90073051 C7.02549709,4.90073051 6.75,5.23653442 6.75,5.65073054 C6.75,6.06492665 7.02549711,6.40073051 7.36536289,6.40073051 Z M3.14077284,5.95492436 L2.03265569,4.84248673 C1.8767502,4.68597337 1.62348469,4.6854806 1.46697133,4.84138609 C1.4665023,4.8418533 1.46603442,4.84232168 1.46556772,4.84279121 L1.18448184,5.12557972 C1.0295067,5.28149361 1.02939503,5.5332514 1.1842318,5.6893027 L2.85590574,7.37408916 C3.01150401,7.53090793 3.26476807,7.53189735 3.42158685,7.37629907 C3.42263304,7.37526103 3.42367349,7.3742172 3.42470814,7.37316765 L5.7220224,5.04277966 C5.87599957,4.88658572 5.87547971,4.63552909 5.72085699,4.47997417 L5.4403523,4.19777835 C5.28461275,4.04109986 5.0313479,4.04033871 4.87466942,4.19607825 C4.87370895,4.19703297 4.87275333,4.19799256 4.8718026,4.19895698 L3.14077284,5.95492436 L3.14077284,5.95492436 Z M21.8846371,11.25 L7.36536289,11.25 C7.02549709,11.25 6.75,11.5857972 6.75,11.999985 C6.75,12.4141729 7.02552167,12.75 7.36536289,12.75 L21.8846371,12.75 C22.2245029,12.75 22.5,12.4142028 22.5,11.999985 C22.5,11.5857672 22.2245029,11.25 21.8846371,11.25 Z M21.8846371,17.972656 L7.36536289,17.972656 C7.02549709,17.972656 6.75,18.30843 6.75,18.722656 C6.75,19.1368821 7.02552167,19.472656 7.36536289,19.472656 L21.8846371,19.472656 C22.2245029,19.472656 22.5,19.1368821 22.5,18.722656 C22.5,18.30843 22.2245029,17.972656 21.8846371,17.972656 Z M4.37117174,10.321929 L2.37885068,10.321929 C2.0028361,10.321929 1.69692899,10.6271975 1.69692899,11.0024481 L1.69692899,12.9975519 C1.69692899,13.3727801 2.00283612,13.678071 2.37885068,13.678071 L4.37117174,13.678071 C4.74718632,13.678071 5.05307101,13.3728025 5.05307101,12.9975519 L5.05307101,11.0024481 C5.05307101,10.6271975 4.74718632,10.321929 4.37117174,10.321929 Z" id="形状"></path>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 2.9 KiB  | 
@@ -1 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1702606455297" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1590" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M614.4 59.136l238.592 137.728a204.8 204.8 0 0 1 102.4 177.3568v275.5584a204.8 204.8 0 0 1-102.4 177.3568L614.4 964.864a204.8 204.8 0 0 1-204.8 0l-238.592-137.728a204.8 204.8 0 0 1-102.4-177.3568V374.2208a204.8 204.8 0 0 1 102.4-177.3568L409.6 59.136a204.8 204.8 0 0 1 204.8 0z" fill="#EE1609" p-id="1591"></path><path d="M471.04 261.9904v315.392a40.96 40.96 0 1 0 81.92 0v-315.392a40.96 40.96 0 1 0-81.92 0z" fill="#FFFFFF" p-id="1592"></path><path d="M512 706.56m-51.2 0a51.2 51.2 0 1 0 102.4 0 51.2 51.2 0 1 0-102.4 0Z" fill="#FFFFFF" p-id="1593"></path></svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 895 B  | 
@@ -1,14 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>库存管理</title>
 | 
					 | 
				
			||||||
    <g id="新增看板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="周转看板" transform="translate(-64.000000, -618.000000)" fill-rule="nonzero">
 | 
					 | 
				
			||||||
            <g id="编组-26备份" transform="translate(40.000000, 596.000000)">
 | 
					 | 
				
			||||||
                <g id="库存管理" transform="translate(24.000000, 22.000000)">
 | 
					 | 
				
			||||||
                    <rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
 | 
					 | 
				
			||||||
                    <path d="M17.5599807,5.95300863 L17.5599807,7.05052701 L6.39641163,7.05052701 L6.39641163,5.95300863 L5.15061552,5.95300863 C4.59833077,5.95300863 4.15061552,6.40072388 4.15061552,6.95300863 L4.15061552,21.465846 C4.15061552,22.0181307 4.59833077,22.465846 5.15061552,22.465846 L18.8493845,22.465846 C19.4016692,22.465846 19.8493845,22.0181307 19.8493845,21.465846 L19.8493845,6.95300863 C19.8493845,6.40072388 19.4016692,5.95300863 18.8493845,5.95300863 L17.5599807,5.95300863 L17.5599807,5.95300863 Z M6.35280394,9.22062017 L17.516373,9.22062017 L17.516373,11.3240808 L6.35280394,11.3240808 L6.35280394,9.22062017 Z M14.2456217,20.2200499 L6.3962372,20.2200499 L6.3962372,18.0396653 L14.2456217,18.0396653 L14.2456217,20.2200499 Z M17.5709698,15.8758516 L6.40740077,15.8758516 L6.40740077,13.6570923 L17.5709698,13.6570923 L17.5709698,15.8758516 Z M10.7650186,1.53415402 L13.234807,1.53415402 C13.7870917,1.53415402 14.234807,1.98186927 14.234807,2.53415402 L14.234807,4.82653474 L14.234807,4.82653474 L9.76501859,4.82653474 L9.76501859,2.53415402 C9.76501859,1.98186927 10.2127338,1.53415402 10.7650186,1.53415402 Z M16.4807775,4.75814629 L16.4807775,5.95300863 L16.4807775,5.95300863 L7.51922248,5.95300863 L7.51922248,4.75814629 C7.51922248,4.20586154 7.96693773,3.75814629 8.51922248,3.75814629 L15.4807775,3.75814629 C16.0330623,3.75814629 16.4807775,4.20586154 16.4807775,4.75814629 Z" id="形状" fill="#59D0E2"></path>
 | 
					 | 
				
			||||||
                </g>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 2.1 KiB  | 
@@ -1,16 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="23.9999981px" height="23.9999981px" viewBox="0 0 23.9999981 23.9999981" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>缺陷</title>
 | 
					 | 
				
			||||||
    <g id="mes-看板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="深加工看板" transform="translate(-686.000000, -149.000000)" fill-rule="nonzero">
 | 
					 | 
				
			||||||
            <g id="编组-26备份-2" transform="translate(662.000000, 127.000000)">
 | 
					 | 
				
			||||||
                <g id="编组-24" transform="translate(24.000000, 22.000000)">
 | 
					 | 
				
			||||||
                    <g id="缺陷" transform="translate(0.000000, 0.000000)">
 | 
					 | 
				
			||||||
                        <rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="23.9999981" height="23.9999981"></rect>
 | 
					 | 
				
			||||||
                        <path d="M20.2321175,10.4550863 L18.9032068,10.4550863 L18.9032068,6.47221732 C18.9010796,5.9702116 18.4935224,5.56438134 17.9915122,5.56438585 L13.108538,5.56438585 L13.108538,3.98437284 C13.1108007,3.21607553 12.8028771,2.47938539 12.2545397,1.94122931 C11.7062023,1.40307324 10.9638711,1.1090093 10.1957511,1.12566955 C8.60430329,1.19855778 7.3587693,2.52279309 7.38340516,4.11571867 L7.38340516,5.56438585 L2.5004309,5.56438585 C1.99842068,5.56438134 1.59086349,5.9702116 1.58870356,6.47221732 L1.58870356,9.53566556 C1.58667583,9.77879788 1.68181868,10.0126808 1.85301841,10.1853314 C2.02421815,10.3579819 2.25728984,10.4550951 2.5004309,10.4550863 L3.01036175,10.4550863 C4.60185595,10.4303757 5.92550348,11.6736467 6.00041086,13.2635692 C6.0149973,14.0317095 5.71894789,14.773225 5.17934105,15.3201042 C4.63973421,15.8669834 3.90224815,16.1729324 3.13398136,16.1686298 L2.5004309,16.1686298 C1.9969159,16.1686298 1.58870356,16.5768093 1.58870356,17.0803243 L1.58870356,21.9632986 C1.58870356,22.4668136 1.9969159,22.8750014 2.5004309,22.8750014 L6.47171061,22.8750014 C6.71382208,22.8760256 6.94631552,22.780304 7.11751574,22.6091037 C7.28871596,22.4379035 7.38443764,22.2054101 7.38340516,21.9632986 L7.38340516,21.5113144 C7.3587693,19.9183889 8.60430329,18.5941536 10.1957511,18.5212653 C10.9638711,18.5046051 11.7062023,18.798669 12.2545397,19.3368251 C12.8028771,19.8749812 13.1108007,20.6116713 13.108538,21.3799686 L13.108538,21.9632986 C13.1075105,22.2047391 13.202703,22.4366433 13.3730659,22.6077311 C13.5434288,22.778819 13.7749267,22.8750014 14.0163694,22.8750014 L17.9915122,22.8750014 C18.4950272,22.8750014 18.9032068,22.4668136 18.9032068,21.9632986 L18.9032068,16.1686298 L20.3596002,16.1686298 C21.127882,16.1719118 21.8649697,15.8649752 22.403851,15.3173671 C22.9427323,14.769759 23.2377892,14.027836 23.2221666,13.259706 C23.1452437,11.6713093 21.8221825,10.4302984 20.2321175,10.4550863 Z" id="路径" fill="#59D0E2"></path>
 | 
					 | 
				
			||||||
                    </g>
 | 
					 | 
				
			||||||
                </g>
 | 
					 | 
				
			||||||
            </g>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 2.8 KiB  | 
@@ -1 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1702606467176" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1824" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M622.812817 29.238717l258.222014 146.7694A217.658893 217.658893 0 0 1 991.847648 365.004111v293.666761c0 77.991238-42.226593 150.032365-110.812817 188.995994l-258.222014 146.7694a224.568699 224.568699 0 0 1-221.625634 0l-258.222014-146.7694A217.658893 217.658893 0 0 1 32.152352 658.670872v-293.666761c0-77.991238 42.226593-150.032365 110.812817-188.995994L401.187183 29.238717a224.568699 224.568699 0 0 1 221.625634 0z" fill="#4AA468" p-id="1825"></path><path d="M448.852049 592.899754l-124.120591-140.883269a37.108218 37.108218 0 0 0-56.877941 1.087654 51.631607 51.631607 0 0 0-0.447858 65.067342l151.567877 172.105356c15.355125 17.466454 39.987304 18.042272 55.982226 1.407553l279.39929-290.403797a50.863851 50.863851 0 0 0 12.667978-44.529861 44.84976 44.84976 0 0 0-27.511265-34.67699 36.980259 36.980259 0 0 0-39.859345 10.17277l-250.800371 260.653242z" fill="#FFFFFF" p-id="1826"></path></svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 1.2 KiB  | 
@@ -1,10 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
					 | 
				
			||||||
    <title>编组 54备份</title>
 | 
					 | 
				
			||||||
    <g id="驾驶舱" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
					 | 
				
			||||||
        <g id="编组-54备份">
 | 
					 | 
				
			||||||
            <rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="21" height="21"></rect>
 | 
					 | 
				
			||||||
            <path d="M18.4001211,1 L18.574731,1.00571398 C18.8641421,1.02474925 19.1451559,1.09128771 19.4122178,1.20447947 C19.7221027,1.33395436 19.9991094,1.52058631 20.2392616,1.76073844 C20.4776764,1.99915325 20.6652172,2.27804627 20.7953442,2.58736464 C20.9313506,2.90825642 21,3.24882158 21,3.59987893 L21,3.59987893 L21,18.4001211 L20.994286,18.574731 C20.9752507,18.8641421 20.9087123,19.1451559 20.7955205,19.4122178 C20.6660456,19.7221027 20.4794137,19.9991094 20.2392616,20.2392616 C20.0008468,20.4776764 19.7219537,20.6652172 19.4126354,20.7953442 C19.0917436,20.9313506 18.7511784,21 18.4001211,21 L18.4001211,21 L3.59987893,21 L3.42526905,20.994286 C3.13585794,20.9752507 2.85484405,20.9087123 2.58778224,20.7955205 C2.2778973,20.6660456 2.00089057,20.4794137 1.76073844,20.2392616 C1.52232363,20.0008468 1.33478285,19.7219537 1.20465581,19.4126354 C1.06864936,19.0917436 1,18.7511784 1,18.4001211 L1,18.4001211 L1,3.59987893 L1.00571398,3.42526905 C1.02474925,3.13585794 1.09128771,2.85484405 1.20447947,2.58778224 C1.33395436,2.2778973 1.52058631,2.00089057 1.76073844,1.76073844 C1.99915325,1.52232363 2.27804627,1.33478285 2.58736464,1.20465581 C2.90825642,1.06864936 3.24882158,1 3.59987893,1 L3.59987893,1 L18.4001211,1 Z M18.4001211,2.29539952 L3.59987893,2.29539952 L3.49797651,2.2993263 C2.82542992,2.35136056 2.29539952,2.9140495 2.29539952,3.59987893 L2.29539952,3.59987893 L2.29539952,18.4001211 L2.2993263,18.5020235 C2.35136056,19.1745701 2.9140495,19.7046005 3.59987893,19.7046005 L3.59987893,19.7046005 L18.4001211,19.7046005 L18.5020235,19.7006737 C19.1745701,19.6486394 19.7046005,19.0859505 19.7046005,18.4001211 L19.7046005,18.4001211 L19.7046005,3.59987893 L19.7006737,3.49797651 C19.6486394,2.82542992 19.0859505,2.29539952 18.4001211,2.29539952 L18.4001211,2.29539952 Z M9.43538136,11.905569 L9.512257,11.9100096 C9.84008849,11.9481352 10.094431,12.2270701 10.094431,12.5646186 L10.094431,12.5646186 L10.094431,17.4609564 L10.0899283,17.5389459 C10.0512829,17.8716536 9.76881474,18.1312053 9.43419701,18.1245792 C9.08289988,18.1173731 8.79903148,17.828505 8.79903148,17.4768462 L8.79903148,17.4768462 L8.79903148,14.1393887 L5.60185236,17.3365679 L5.54107965,17.3901644 C5.28773557,17.5866851 4.91838364,17.5688196 4.6861319,17.3365679 C4.43452585,17.0849618 4.43452585,16.6724534 4.6861319,16.4208474 L4.6861319,16.4208474 L7.90601077,13.2009685 L4.58217312,13.2009685 L4.50402457,13.1964861 C4.17073404,13.1580095 3.9119308,12.876675 3.91855064,12.540718 C3.92574827,12.1880363 4.21375409,11.905569 4.56628329,11.905569 L4.56628329,11.905569 L9.43538136,11.905569 Z M12.565803,3.8731508 L12.6398736,3.87892442 C12.9562044,3.92194416 13.2009685,4.19434347 13.2009685,4.52088378 L13.2009685,4.52088378 L13.2009685,7.86061126 L16.3981476,4.66343214 L16.4589204,4.60983559 C16.7122644,4.41331488 17.0816164,4.4311804 17.3138681,4.66343214 C17.5654742,4.91503819 17.5654742,5.32754655 17.3138681,5.5791526 L17.3138681,5.5791526 L14.0914951,8.79903148 L17.4155569,8.79903148 L17.4936876,8.80351509 C17.8269523,8.84200281 18.0864105,9.12344101 18.081435,9.46011654 C18.0742517,9.81196375 17.7862459,10.094431 17.4337167,10.094431 L17.4337167,10.094431 L12.5691586,10.094431 L12.4916394,10.0899766 C12.1611316,10.051728 11.905569,9.77181051 11.905569,9.4308414 L11.905569,9.4308414 L11.905569,4.53677361 L11.9100717,4.45878413 C11.9487171,4.12607641 12.2311853,3.86652471 12.565803,3.8731508 L12.565803,3.8731508 Z" id="形状结合" fill="#52FFF1" fill-rule="nonzero" opacity="0.79078311"></path>
 | 
					 | 
				
			||||||
        </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 3.9 KiB  | 
| 
		 Before Width: | Height: | Size: 15 KiB  | 
| 
		 Before Width: | Height: | Size: 12 KiB  | 
| 
		 Before Width: | Height: | Size: 15 KiB  | 
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
| 
		 Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 2.0 KiB  | 
| 
		 Before Width: | Height: | Size: 2.0 KiB  | 
| 
		 Before Width: | Height: | Size: 1.2 MiB  | 
@@ -139,7 +139,7 @@ $base1px: 0.15vh; // 1px / 1080px;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				.title {
 | 
									.title {
 | 
				
			||||||
					margin: 0;
 | 
										margin: 0;
 | 
				
			||||||
					margin-left: calc(18px * 0.12vh);
 | 
										margin-left: calc(28 * 0.12vh);
 | 
				
			||||||
					font-weight: 400;
 | 
										font-weight: 400;
 | 
				
			||||||
					user-select: none;
 | 
										user-select: none;
 | 
				
			||||||
					color: #000;
 | 
										color: #000;
 | 
				
			||||||
@@ -148,8 +148,8 @@ $base1px: 0.15vh; // 1px / 1080px;
 | 
				
			|||||||
					letter-spacing: calc(2 * 0.12vh);
 | 
										letter-spacing: calc(2 * 0.12vh);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					.cnbm_logo {
 | 
										.cnbm_logo {
 | 
				
			||||||
						height: calc(160 * 0.12vh);
 | 
											height: calc(40 * 0.12vh);
 | 
				
			||||||
						width: calc(182 * 0.12vh);
 | 
											width: calc(40 * 0.12vh);
 | 
				
			||||||
						position: relative;
 | 
											position: relative;
 | 
				
			||||||
						top: calc(8 * 0.12vh);
 | 
											top: calc(8 * 0.12vh);
 | 
				
			||||||
						right: calc(8 * 0.12vh);
 | 
											right: calc(8 * 0.12vh);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,8 +86,8 @@
 | 
				
			|||||||
						</span>
 | 
											</span>
 | 
				
			||||||
						<!-- :file-list="uploadedFileList" -->
 | 
											<!-- :file-list="uploadedFileList" -->
 | 
				
			||||||
						<el-upload
 | 
											<el-upload
 | 
				
			||||||
							v-if="col.upload"
 | 
					 | 
				
			||||||
							class="upload-in-dialog"
 | 
												class="upload-in-dialog"
 | 
				
			||||||
 | 
												v-if="col.upload"
 | 
				
			||||||
							:key="col.prop + '__el-upload'"
 | 
												:key="col.prop + '__el-upload'"
 | 
				
			||||||
							:action="uploadUrl"
 | 
												:action="uploadUrl"
 | 
				
			||||||
							:headers="uploadHeaders"
 | 
												:headers="uploadHeaders"
 | 
				
			||||||
@@ -101,9 +101,7 @@
 | 
				
			|||||||
								}
 | 
													}
 | 
				
			||||||
							"
 | 
												"
 | 
				
			||||||
							v-bind="col.bind">
 | 
												v-bind="col.bind">
 | 
				
			||||||
							<el-button
 | 
												<el-button size="mini" :disabled="col.bind?.disabled || false">
 | 
				
			||||||
								size="mini"
 | 
					 | 
				
			||||||
								:disabled="disabled || col.bind?.disabled || false">
 | 
					 | 
				
			||||||
								<svg-icon
 | 
													<svg-icon
 | 
				
			||||||
									icon-class="icon-upload"
 | 
														icon-class="icon-upload"
 | 
				
			||||||
									style="color: inherit"></svg-icon>
 | 
														style="color: inherit"></svg-icon>
 | 
				
			||||||
@@ -119,7 +117,6 @@
 | 
				
			|||||||
							v-for="file in form[col.prop]"
 | 
												v-for="file in form[col.prop]"
 | 
				
			||||||
							:file="file"
 | 
												:file="file"
 | 
				
			||||||
							:key="file.fileUrl"
 | 
												:key="file.fileUrl"
 | 
				
			||||||
							:disabled="disabled"
 | 
					 | 
				
			||||||
							@delete="!disabled && handleDeleteFile(file, col.prop)" />
 | 
												@delete="!disabled && handleDeleteFile(file, col.prop)" />
 | 
				
			||||||
					</div>
 | 
										</div>
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
@@ -146,7 +143,7 @@ function findMaxLabelWidth(rows) {
 | 
				
			|||||||
			if (opt.label.length > max) {
 | 
								if (opt.label.length > max) {
 | 
				
			||||||
				max = opt.label.length;
 | 
									max = opt.label.length;
 | 
				
			||||||
				if (opt.label.includes('(')) {
 | 
									if (opt.label.includes('(')) {
 | 
				
			||||||
					max = max - 3;
 | 
										max = max - 3
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
@@ -156,7 +153,7 @@ function findMaxLabelWidth(rows) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const uploadedFile = {
 | 
					const uploadedFile = {
 | 
				
			||||||
	name: 'UploadedFile',
 | 
						name: 'UploadedFile',
 | 
				
			||||||
	props: ['file', 'disabled'],
 | 
						props: ['file'],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {};
 | 
							return {};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -201,15 +198,13 @@ const uploadedFile = {
 | 
				
			|||||||
					display: 'inline-block',
 | 
										display: 'inline-block',
 | 
				
			||||||
				}}>
 | 
									}}>
 | 
				
			||||||
				{this.file.fileName}
 | 
									{this.file.fileName}
 | 
				
			||||||
				{!this.disabled && (
 | 
									<el-button
 | 
				
			||||||
					<el-button
 | 
										type="text"
 | 
				
			||||||
						type="text"
 | 
										icon="el-icon-close"
 | 
				
			||||||
						icon="el-icon-close"
 | 
										style="float: right; position: relative; top: 2px; left: 8px; z-index: 100"
 | 
				
			||||||
						style="float: right; position: relative; top: 2px; left: 8px; z-index: 100"
 | 
										class="dialog__upload_component__close"
 | 
				
			||||||
						class="dialog__upload_component__close"
 | 
										onClick={this.handleDelete}
 | 
				
			||||||
						onClick={this.handleDelete}
 | 
									/>
 | 
				
			||||||
					/>
 | 
					 | 
				
			||||||
				)}
 | 
					 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
		);
 | 
							);
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -247,7 +242,7 @@ export default {
 | 
				
			|||||||
		size: {
 | 
							size: {
 | 
				
			||||||
			type: String,
 | 
								type: String,
 | 
				
			||||||
			default: '',
 | 
								default: '',
 | 
				
			||||||
		},
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
@@ -412,26 +407,8 @@ export default {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
			if (!promiseList.length) this.formLoading = false;
 | 
								if (!promiseList.length) this.formLoading = false;
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					 | 
				
			||||||
		// 上传成功的特殊处理
 | 
							// 上传成功的特殊处理
 | 
				
			||||||
		beforeUpload(file) {
 | 
							beforeUpload() {},
 | 
				
			||||||
			const checkFileSize = () => {
 | 
					 | 
				
			||||||
				const isLt2M = file.size / 1024 / 1024 < 2;
 | 
					 | 
				
			||||||
				if (!isLt2M) {
 | 
					 | 
				
			||||||
					this.$modal.msgError('上传文件大小不能超过 2MB!');
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				return isLt2M;
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
			const checkFileType = () => {
 | 
					 | 
				
			||||||
				const isJPG =
 | 
					 | 
				
			||||||
					file.type === 'image/jpeg' ||
 | 
					 | 
				
			||||||
					file.type === 'image/png' ||
 | 
					 | 
				
			||||||
					file.type === 'image/jpg';
 | 
					 | 
				
			||||||
				return isJPG;
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
			return checkFileSize() && checkFileType();
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// 上传前的验证规则可通过 bind 属性传入
 | 
							// 上传前的验证规则可通过 bind 属性传入
 | 
				
			||||||
		handleUploadSuccess(response, file, prop) {
 | 
							handleUploadSuccess(response, file, prop) {
 | 
				
			||||||
			console.log('[handleUploadSuccess]', response, file, prop);
 | 
								console.log('[handleUploadSuccess]', response, file, prop);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,7 +83,7 @@ export default {
 | 
				
			|||||||
					],
 | 
										],
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				placeholder: '请输入内容',
 | 
									placeholder: '请输入内容',
 | 
				
			||||||
				readOnly: true,
 | 
									// readOnly: false,
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -123,9 +123,13 @@ export default {
 | 
				
			|||||||
			const editor = this.$refs.editor;
 | 
								const editor = this.$refs.editor;
 | 
				
			||||||
			this.Quill = new Quill(editor, this.options);
 | 
								this.Quill = new Quill(editor, this.options);
 | 
				
			||||||
			// 取消自动聚焦 start
 | 
								// 取消自动聚焦 start
 | 
				
			||||||
 | 
								this.Quill?.enable(false);
 | 
				
			||||||
			this.$nextTick(() => {
 | 
								this.$nextTick(() => {
 | 
				
			||||||
				this.Quill?.blur();
 | 
					 | 
				
			||||||
				this.Quill?.enable(true);
 | 
									this.Quill?.enable(true);
 | 
				
			||||||
 | 
									this.Quill?.blur();
 | 
				
			||||||
 | 
									// if (!this.readOnly) {
 | 
				
			||||||
 | 
									// 	this.Quill?.enable();
 | 
				
			||||||
 | 
									// }
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
			// 如果设置了上传地址则自定义图片上传事件
 | 
								// 如果设置了上传地址则自定义图片上传事件
 | 
				
			||||||
			if (this.type === 'url') {
 | 
								if (this.type === 'url') {
 | 
				
			||||||
@@ -194,7 +198,7 @@ export default {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style>
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
.editor-wrapper {
 | 
					.editor-wrapper {
 | 
				
			||||||
	position: relative;
 | 
						position: relative;
 | 
				
			||||||
  cursor: not-allowed;
 | 
					  cursor: not-allowed;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,6 @@
 | 
				
			|||||||
        :headers="headers"
 | 
					        :headers="headers"
 | 
				
			||||||
        :file-list="fileList"
 | 
					        :file-list="fileList"
 | 
				
			||||||
        :on-preview="handlePictureCardPreview"
 | 
					        :on-preview="handlePictureCardPreview"
 | 
				
			||||||
        :disabled="disabled"
 | 
					 | 
				
			||||||
        :class="{hide: this.fileList.length >= this.limit}"
 | 
					        :class="{hide: this.fileList.length >= this.limit}"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <i class="el-icon-plus"></i>
 | 
					      <i class="el-icon-plus"></i>
 | 
				
			||||||
@@ -45,7 +44,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getAccessToken } from "@/utils/auth";
 | 
					import { getAccessToken } from "@/utils/auth";
 | 
				
			||||||
import { flatten } from 'min-dash';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  props: {
 | 
					  props: {
 | 
				
			||||||
@@ -69,10 +67,6 @@ export default {
 | 
				
			|||||||
    isShowTip: {
 | 
					    isShowTip: {
 | 
				
			||||||
      type: Boolean,
 | 
					      type: Boolean,
 | 
				
			||||||
      default: true
 | 
					      default: true
 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    disabled: {
 | 
					 | 
				
			||||||
      type: Boolean,
 | 
					 | 
				
			||||||
      default: false
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
@@ -128,16 +122,14 @@ export default {
 | 
				
			|||||||
    // 上传成功回调
 | 
					    // 上传成功回调
 | 
				
			||||||
    handleUploadSuccess(res) {
 | 
					    handleUploadSuccess(res) {
 | 
				
			||||||
      // edit by 芋道源码
 | 
					      // edit by 芋道源码
 | 
				
			||||||
      if (res.code !== 500) {
 | 
					      this.uploadList.push({ name: res.data, url: res.data });
 | 
				
			||||||
        this.uploadList.push({ name: res.data, url: res.data });
 | 
					      if (this.uploadList.length === this.number) {
 | 
				
			||||||
        if (this.uploadList.length === this.number) {
 | 
					        this.fileList = this.fileList.concat(this.uploadList);
 | 
				
			||||||
          this.fileList = this.fileList.concat(this.uploadList);
 | 
					        this.uploadList = [];
 | 
				
			||||||
          this.uploadList = [];
 | 
					        this.number = 0;
 | 
				
			||||||
          this.number = 0;
 | 
					        this.$emit("input", this.listToString(this.fileList));
 | 
				
			||||||
          this.$emit("input", this.listToString(this.fileList));
 | 
					        this.$modal.closeLoading();
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      this.$modal.closeLoading();
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 上传前loading加载
 | 
					    // 上传前loading加载
 | 
				
			||||||
    handleBeforeUpload(file) {
 | 
					    handleBeforeUpload(file) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,9 +17,7 @@ export default {
 | 
				
			|||||||
    const vnodes = []
 | 
					    const vnodes = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (icon) {
 | 
					    if (icon) {
 | 
				
			||||||
      vnodes.push(<svg-icon style="font-size: 18px;margin-right: 10px;vertical-align: middle;" icon-class={icon}/>)
 | 
					      vnodes.push(<svg-icon icon-class={icon}/>)
 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      vnodes.push(<span style="display: inline-block; width: 10px;"/>)
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (title) {
 | 
					    if (title) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
				key="collapse"
 | 
									key="collapse"
 | 
				
			||||||
				class="sidebar-logo-link"
 | 
									class="sidebar-logo-link"
 | 
				
			||||||
				to="/">
 | 
									to="/">
 | 
				
			||||||
				<img v-if="logo" :src="logo" class="sidebar-logo-close" />
 | 
									<img v-if="logo" :src="logo" class="sidebar-logo" />
 | 
				
			||||||
				<h1
 | 
									<h1
 | 
				
			||||||
					v-else
 | 
										v-else
 | 
				
			||||||
					class="sidebar-title"
 | 
										class="sidebar-title"
 | 
				
			||||||
@@ -67,7 +67,7 @@ export default {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			title: '许昌安彩新能科技有限公司',
 | 
								title: '中建材智能化院',
 | 
				
			||||||
			logo: logoImg,
 | 
								logo: logoImg,
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -98,8 +98,8 @@ export default {
 | 
				
			|||||||
		width: 100%;
 | 
							width: 100%;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		& .sidebar-logo {
 | 
							& .sidebar-logo {
 | 
				
			||||||
			width: 67px;
 | 
								width: 32px;
 | 
				
			||||||
			height: 24px;
 | 
								height: 40px;
 | 
				
			||||||
			vertical-align: middle;
 | 
								vertical-align: middle;
 | 
				
			||||||
			margin-right: 12px;
 | 
								margin-right: 12px;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -108,23 +108,17 @@ export default {
 | 
				
			|||||||
			display: inline-block;
 | 
								display: inline-block;
 | 
				
			||||||
			margin: 0;
 | 
								margin: 0;
 | 
				
			||||||
			color: #fff;
 | 
								color: #fff;
 | 
				
			||||||
			font-weight: 500;
 | 
								font-weight: 600;
 | 
				
			||||||
			width: 147px;
 | 
								line-height: 50px;
 | 
				
			||||||
			letter-spacing: 2px;
 | 
								font-size: 18px;
 | 
				
			||||||
			font-size: 10px;
 | 
								letter-spacing: 1px;
 | 
				
			||||||
			font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
 | 
								font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
 | 
				
			||||||
			vertical-align: middle;
 | 
								vertical-align: middle;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	&.collapse {
 | 
						&.collapse {
 | 
				
			||||||
		// .sidebar-logo {
 | 
							.sidebar-logo {
 | 
				
			||||||
		// 	margin-right: 0px;
 | 
					 | 
				
			||||||
		// }
 | 
					 | 
				
			||||||
		.sidebar-logo-close {
 | 
					 | 
				
			||||||
			width: 54px;
 | 
					 | 
				
			||||||
			height: 19px;
 | 
					 | 
				
			||||||
			vertical-align: middle;
 | 
					 | 
				
			||||||
			margin-right: 0px;
 | 
								margin-right: 0px;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,16 +3,16 @@
 | 
				
			|||||||
    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
 | 
					    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
 | 
				
			||||||
      <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
 | 
					      <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
 | 
				
			||||||
        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
 | 
					        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
 | 
				
			||||||
          <item icon="" :title="onlyOneChild.meta.title" />
 | 
					          <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />
 | 
				
			||||||
        </el-menu-item>
 | 
					        </el-menu-item>
 | 
				
			||||||
      </app-link>
 | 
					      </app-link>
 | 
				
			||||||
    </template>
 | 
					    </template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
 | 
					    <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
 | 
				
			||||||
      <template slot="title">
 | 
					      <template slot="title">
 | 
				
			||||||
        <item v-if="item.meta" icon="" :title="item.meta.title" />
 | 
					        <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
 | 
				
			||||||
      </template>
 | 
					      </template>
 | 
				
			||||||
      <sidebar-item-sub
 | 
					      <sidebar-item
 | 
				
			||||||
        v-for="(child, index) in item.children"
 | 
					        v-for="(child, index) in item.children"
 | 
				
			||||||
        :key="child.path + index"
 | 
					        :key="child.path + index"
 | 
				
			||||||
        :is-nest="true"
 | 
					        :is-nest="true"
 | 
				
			||||||
@@ -32,7 +32,7 @@ import AppLink from './Link'
 | 
				
			|||||||
import FixiOSBug from './FixiOSBug'
 | 
					import FixiOSBug from './FixiOSBug'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'SidebarItemSub',
 | 
					  name: 'SidebarItem',
 | 
				
			||||||
  components: { Item, AppLink },
 | 
					  components: { Item, AppLink },
 | 
				
			||||||
  mixins: [FixiOSBug],
 | 
					  mixins: [FixiOSBug],
 | 
				
			||||||
  props: {
 | 
					  props: {
 | 
				
			||||||
@@ -3,16 +3,16 @@
 | 
				
			|||||||
    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
 | 
					    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
 | 
				
			||||||
      <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
 | 
					      <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
 | 
				
			||||||
        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
 | 
					        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
 | 
				
			||||||
          <item icon="menuIcon" :title="onlyOneChild.meta.title" />
 | 
					          <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />
 | 
				
			||||||
        </el-menu-item>
 | 
					        </el-menu-item>
 | 
				
			||||||
      </app-link>
 | 
					      </app-link>
 | 
				
			||||||
    </template>
 | 
					    </template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
 | 
					    <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
 | 
				
			||||||
      <template slot="title">
 | 
					      <template slot="title">
 | 
				
			||||||
        <item v-if="item.meta" icon="menuIcon" :title="item.meta.title" />
 | 
					        <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
 | 
				
			||||||
      </template>
 | 
					      </template>
 | 
				
			||||||
      <sidebar-item-sub
 | 
					      <sidebar-item
 | 
				
			||||||
        v-for="(child, index) in item.children"
 | 
					        v-for="(child, index) in item.children"
 | 
				
			||||||
        :key="child.path + index"
 | 
					        :key="child.path + index"
 | 
				
			||||||
        :is-nest="true"
 | 
					        :is-nest="true"
 | 
				
			||||||
@@ -30,11 +30,10 @@ import { isExternal } from '@/utils/validate'
 | 
				
			|||||||
import Item from './Item'
 | 
					import Item from './Item'
 | 
				
			||||||
import AppLink from './Link'
 | 
					import AppLink from './Link'
 | 
				
			||||||
import FixiOSBug from './FixiOSBug'
 | 
					import FixiOSBug from './FixiOSBug'
 | 
				
			||||||
import SidebarItemSub from './SidebarItemSub'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'SidebarItem',
 | 
					  name: 'SidebarItem',
 | 
				
			||||||
  components: { Item, AppLink, SidebarItemSub },
 | 
					  components: { Item, AppLink },
 | 
				
			||||||
  mixins: [FixiOSBug],
 | 
					  mixins: [FixiOSBug],
 | 
				
			||||||
  props: {
 | 
					  props: {
 | 
				
			||||||
    // route object
 | 
					    // route object
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										71
									
								
								src/layout/components/Sidebar/index copy.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					<template>
 | 
				
			||||||
 | 
						<div
 | 
				
			||||||
 | 
							:class="{ 'has-logo': showLogo }"
 | 
				
			||||||
 | 
							:style="{
 | 
				
			||||||
 | 
								backgroundColor:
 | 
				
			||||||
 | 
									settings.sideTheme === 'theme-dark'
 | 
				
			||||||
 | 
										? variables.menuBackground
 | 
				
			||||||
 | 
										: variables.menuLightBackground,
 | 
				
			||||||
 | 
							}">
 | 
				
			||||||
 | 
							<logo v-if="showLogo" :collapse="isCollapse" />
 | 
				
			||||||
 | 
							<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
 | 
				
			||||||
 | 
								<el-menu
 | 
				
			||||||
 | 
									:default-active="activeMenu"
 | 
				
			||||||
 | 
									:collapse="isCollapse"
 | 
				
			||||||
 | 
									:background-color="
 | 
				
			||||||
 | 
										settings.sideTheme === 'theme-dark'
 | 
				
			||||||
 | 
											? variables.menuBackground
 | 
				
			||||||
 | 
											: variables.menuLightBackground
 | 
				
			||||||
 | 
									"
 | 
				
			||||||
 | 
									:text-color="
 | 
				
			||||||
 | 
										settings.sideTheme === 'theme-dark'
 | 
				
			||||||
 | 
											? variables.menuColor
 | 
				
			||||||
 | 
											: variables.menuLightColor
 | 
				
			||||||
 | 
									"
 | 
				
			||||||
 | 
									:unique-opened="true"
 | 
				
			||||||
 | 
									active-text-color="#fff"
 | 
				
			||||||
 | 
									:collapse-transition="false"
 | 
				
			||||||
 | 
									mode="vertical">
 | 
				
			||||||
 | 
									<!-- 根据 sidebarRouters 路由,生成菜单 -->
 | 
				
			||||||
 | 
									<sidebar-item
 | 
				
			||||||
 | 
										v-for="(route, index) in sidebarRouters"
 | 
				
			||||||
 | 
										:key="route.path + index"
 | 
				
			||||||
 | 
										:item="route"
 | 
				
			||||||
 | 
										:base-path="route.path" />
 | 
				
			||||||
 | 
								</el-menu>
 | 
				
			||||||
 | 
							</el-scrollbar>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import { mapGetters, mapState } from 'vuex';
 | 
				
			||||||
 | 
					import Logo from './Logo';
 | 
				
			||||||
 | 
					import SidebarItem from './SidebarItem';
 | 
				
			||||||
 | 
					import variables from '@/assets/styles/variables.scss';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
						components: { SidebarItem, Logo },
 | 
				
			||||||
 | 
						computed: {
 | 
				
			||||||
 | 
							...mapState(['settings']),
 | 
				
			||||||
 | 
							...mapGetters(['sidebarRouters', 'sidebar']),
 | 
				
			||||||
 | 
							activeMenu() {
 | 
				
			||||||
 | 
								const route = this.$route;
 | 
				
			||||||
 | 
								const { meta, path } = route;
 | 
				
			||||||
 | 
								// if set path, the sidebar will highlight the path you set
 | 
				
			||||||
 | 
								if (meta.activeMenu) {
 | 
				
			||||||
 | 
									return meta.activeMenu;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								return path;
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							showLogo() {
 | 
				
			||||||
 | 
								return this.$store.state.settings.sidebarLogo;
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							variables() {
 | 
				
			||||||
 | 
								return variables;
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							isCollapse() {
 | 
				
			||||||
 | 
								return !this.sidebar.opened;
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
@@ -28,10 +28,10 @@
 | 
				
			|||||||
				mode="vertical">
 | 
									mode="vertical">
 | 
				
			||||||
				<!-- 根据 sidebarRouters 路由,生成菜单 -->
 | 
									<!-- 根据 sidebarRouters 路由,生成菜单 -->
 | 
				
			||||||
				<sidebar-item
 | 
									<sidebar-item
 | 
				
			||||||
					v-for="(route, index) in routeList.children"
 | 
										v-for="(route, index) in routeList"
 | 
				
			||||||
					:key="route.path + index"
 | 
										:key="route.path + index"
 | 
				
			||||||
					:item="route"
 | 
										:item="route"
 | 
				
			||||||
					:base-path="routeList.path+ '/'+ route.path" />
 | 
										:base-path="route.path" />
 | 
				
			||||||
			</el-menu>
 | 
								</el-menu>
 | 
				
			||||||
		</el-scrollbar>
 | 
							</el-scrollbar>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
@@ -49,7 +49,9 @@ export default {
 | 
				
			|||||||
		...mapState(['settings']),
 | 
							...mapState(['settings']),
 | 
				
			||||||
		...mapGetters(['sidebarRouters', 'sidebar', 'choicepart']),
 | 
							...mapGetters(['sidebarRouters', 'sidebar', 'choicepart']),
 | 
				
			||||||
    routeList() {
 | 
					    routeList() {
 | 
				
			||||||
			return this.sidebarRouters[this.choicepart]
 | 
					      // return [this.partList[this.choicepart]]
 | 
				
			||||||
 | 
								// return [this.sidebarRouters[29]]
 | 
				
			||||||
 | 
								return [this.sidebarRouters[this.choicepart]]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
		activeMenu() {
 | 
							activeMenu() {
 | 
				
			||||||
			const route = this.$route;
 | 
								const route = this.$route;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,7 +28,7 @@ export default {
 | 
				
			|||||||
			// tableBtn: [], // 占位
 | 
								// tableBtn: [], // 占位
 | 
				
			||||||
			// searchBarFormConfig: [], // 占位
 | 
								// searchBarFormConfig: [], // 占位
 | 
				
			||||||
			// // 弹窗表单配置
 | 
								// // 弹窗表单配置
 | 
				
			||||||
			// dialogFormConfig: [], //
 | 
								// dialogFormConfig: [], // 
 | 
				
			||||||
			updateUrl: '',
 | 
								updateUrl: '',
 | 
				
			||||||
			addUrl: '',
 | 
								addUrl: '',
 | 
				
			||||||
			pageUrl: '',
 | 
								pageUrl: '',
 | 
				
			||||||
@@ -78,6 +78,7 @@ export default {
 | 
				
			|||||||
			return this.http(this.infoUrl == '' ? this.infoPath : this.infoUrl, 'get', payload);
 | 
								return this.http(this.infoUrl == '' ? this.infoPath : this.infoUrl, 'get', payload);
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		del(payload) {
 | 
							del(payload) {
 | 
				
			||||||
 | 
								debugger;
 | 
				
			||||||
			return this.http(this.deleteUrl == '' ? this.deletePath : this.deleteUrl, 'delete', payload);
 | 
								return this.http(this.deleteUrl == '' ? this.deletePath : this.deleteUrl, 'delete', payload);
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -118,9 +119,9 @@ export default {
 | 
				
			|||||||
							this.queryParams['startTime'] = btn.timeVal[0];
 | 
												this.queryParams['startTime'] = btn.timeVal[0];
 | 
				
			||||||
							this.queryParams['endTime'] = btn.timeVal[1];
 | 
												this.queryParams['endTime'] = btn.timeVal[1];
 | 
				
			||||||
							return;
 | 
												return;
 | 
				
			||||||
            }
 | 
											}
 | 
				
			||||||
						this.queryParams[key] = btn[key] || null;
 | 
											this.queryParams[key] = btn[key] || null;
 | 
				
			||||||
          });
 | 
										});
 | 
				
			||||||
					this.handleQuery();
 | 
										this.handleQuery();
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
				case 'add':
 | 
									case 'add':
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,9 +19,6 @@ const getters = {
 | 
				
			|||||||
  sidebarRouters:state => state.permission.sidebarRouters,
 | 
					  sidebarRouters:state => state.permission.sidebarRouters,
 | 
				
			||||||
  choicepart: state => state.app.choicepart,
 | 
					  choicepart: state => state.app.choicepart,
 | 
				
			||||||
  // 数据字典
 | 
					  // 数据字典
 | 
				
			||||||
  dict_datas: state => state.dict.dictDatas,
 | 
					  dict_datas: state => state.dict.dictDatas
 | 
				
			||||||
  //ws
 | 
					 | 
				
			||||||
  fanFrequencyInfo: state => state.websocket.FanFrequencyInfo,
 | 
					 | 
				
			||||||
  kilnInfo: state => state.websocket.kilnInfo,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
export default getters
 | 
					export default getters
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,6 @@ import tagsView from './modules/tagsView'
 | 
				
			|||||||
import permission from './modules/permission'
 | 
					import permission from './modules/permission'
 | 
				
			||||||
import settings from './modules/settings'
 | 
					import settings from './modules/settings'
 | 
				
			||||||
import dict from './modules/dict'
 | 
					import dict from './modules/dict'
 | 
				
			||||||
import websocket from './modules/websocket'
 | 
					 | 
				
			||||||
import getters from './getters'
 | 
					import getters from './getters'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Vue.use(Vuex)
 | 
					Vue.use(Vuex)
 | 
				
			||||||
@@ -18,8 +17,7 @@ const store = new Vuex.Store({
 | 
				
			|||||||
    tagsView,
 | 
					    tagsView,
 | 
				
			||||||
    permission,
 | 
					    permission,
 | 
				
			||||||
    settings,
 | 
					    settings,
 | 
				
			||||||
    dict,
 | 
					    dict
 | 
				
			||||||
    websocket
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  getters
 | 
					  getters
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,52 +0,0 @@
 | 
				
			|||||||
const state = {
 | 
					 | 
				
			||||||
  fanFrequencyInfo:{},// 分机运行频率
 | 
					 | 
				
			||||||
  kilnInfo:{},// 窑炉信息
 | 
					 | 
				
			||||||
  gasInfo:{},// 天然气
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  israKiln:[],// ISRA缺陷检测
 | 
					 | 
				
			||||||
  material:[]// 原料
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
const mutations = {
 | 
					 | 
				
			||||||
  SET_FANFREQUENCYINFO: (state, fanFrequencyInfo) => {
 | 
					 | 
				
			||||||
    state.fanFrequencyInfo = fanFrequencyInfo
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  SET_KILNINFO: (state, kilnInfo) => {
 | 
					 | 
				
			||||||
    state.kilnInfo = kilnInfo
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  SET_GASINFO: (state, gasInfo) => {
 | 
					 | 
				
			||||||
    state.gasInfo = gasInfo
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  SET_ISRAKILN: (state, israKiln) => {
 | 
					 | 
				
			||||||
    state.israKiln = israKiln
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  SET_MATERIAL: (state, material) => {
 | 
					 | 
				
			||||||
    state.material = material
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
const actions = {
 | 
					 | 
				
			||||||
  setFanFrequencyInfo({ commit }, fanFrequencyInfo) {
 | 
					 | 
				
			||||||
    commit('SET_FANFREQUENCYINFO', fanFrequencyInfo.payload)
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  setKilnInfo({ commit }, kilnInfo) {
 | 
					 | 
				
			||||||
    commit('SET_KILNINFO', kilnInfo.payload)
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  setGasInfo({ commit }, gasInfo) {
 | 
					 | 
				
			||||||
    commit('SET_GASINFO', gasInfo.payload)
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  setIsraKiln({ commit }, israKiln) {
 | 
					 | 
				
			||||||
    commit('SET_ISRAKILN', israKiln.payload)
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  setMaterial({ commit }, material) {
 | 
					 | 
				
			||||||
    commit('SET_MATERIAL', material.payload)
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
  namespaced: true,
 | 
					 | 
				
			||||||
  state,
 | 
					 | 
				
			||||||
  mutations,
 | 
					 | 
				
			||||||
  actions,
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -94,22 +94,16 @@ export const DICT_TYPE = {
 | 
				
			|||||||
  OBJECT_TYPE: 'object_type',
 | 
					  OBJECT_TYPE: 'object_type',
 | 
				
			||||||
  STATISTIC_TYPE: 'statistic_type',
 | 
					  STATISTIC_TYPE: 'statistic_type',
 | 
				
			||||||
  TIME_DIM: 'time_dim',
 | 
					  TIME_DIM: 'time_dim',
 | 
				
			||||||
  TABLE_NAME: 'table_name',
 | 
					 | 
				
			||||||
  METHOD: 'method',
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // ============== ORDER - 订单模块 =============
 | 
					  // ============== ORDER - 订单模块 =============
 | 
				
			||||||
  ORDER_STATUS: 'order_status',
 | 
					  ORDER_STATUS: 'order_status',
 | 
				
			||||||
  ORDER_ORIGIN: 'order_Origin',
 | 
					  ORDER_ORIGIN: 'order_Origin',
 | 
				
			||||||
  ORDER_PRIORITY: 'order_priority',
 | 
					  ORDER_PRIORITY: 'order_priority',
 | 
				
			||||||
  PACK_SPEC: 'pack_spec',
 | 
					  PACK_SPEC: 'pack_spec',
 | 
				
			||||||
  WORK_ORDER_STATUS: 'work_order_status',
 | 
					 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  // ============== EQUIPMENT - 设备模块 =============
 | 
					  // ============== EQUIPMENT - 设备模块 =============
 | 
				
			||||||
  MAINTAIN_TYPE: 'maintain_type',
 | 
					  MAINTAIN_TYPE: 'maintain_type',
 | 
				
			||||||
  FAULT_LEVEL: 'fault-level',
 | 
					  FAULT_LEVEL: 'fault-level',
 | 
				
			||||||
 | 
					 | 
				
			||||||
  // ============== ENVIRONMENTAL - 环保模块 =============
 | 
					 | 
				
			||||||
  ENVIRONMENT_CHECK_UNIT: 'environment_check_unit'
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const baseURL = process.env.VUE_APP_BASE_API
 | 
					const baseURL = process.env.VUE_APP_BASE_API
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 日期格式化(通用)
 | 
					// 日期格式化
 | 
				
			||||||
export function parseTime(time, pattern) {
 | 
					export function parseTime(time, pattern) {
 | 
				
			||||||
  if (arguments.length === 0 || !time) {
 | 
					  if (arguments.length === 0 || !time) {
 | 
				
			||||||
    return null
 | 
					    return null
 | 
				
			||||||
@@ -48,51 +48,6 @@ export function parseTime(time, pattern) {
 | 
				
			|||||||
  return time_str
 | 
					  return time_str
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 日期格式化(仅适用表格)
 | 
					 | 
				
			||||||
export function parseTimeTable(pattern) {
 | 
					 | 
				
			||||||
  return function(time){
 | 
					 | 
				
			||||||
    if (arguments.length === 0 || !time) {
 | 
					 | 
				
			||||||
      return null
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
 | 
					 | 
				
			||||||
    let date
 | 
					 | 
				
			||||||
    if (typeof time === 'object') {
 | 
					 | 
				
			||||||
      date = time
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
 | 
					 | 
				
			||||||
        time = parseInt(time)
 | 
					 | 
				
			||||||
      } else if (typeof time === 'string') {
 | 
					 | 
				
			||||||
        time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.\d{3}/gm),'');
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if ((typeof time === 'number') && (time.toString().length === 10)) {
 | 
					 | 
				
			||||||
        time = time * 1000
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      date = new Date(time)
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    const formatObj = {
 | 
					 | 
				
			||||||
      y: date.getFullYear(),
 | 
					 | 
				
			||||||
      m: date.getMonth() + 1,
 | 
					 | 
				
			||||||
      d: date.getDate(),
 | 
					 | 
				
			||||||
      h: date.getHours(),
 | 
					 | 
				
			||||||
      i: date.getMinutes(),
 | 
					 | 
				
			||||||
      s: date.getSeconds(),
 | 
					 | 
				
			||||||
      a: date.getDay()
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
 | 
					 | 
				
			||||||
      let value = formatObj[key]
 | 
					 | 
				
			||||||
      // Note: getDay() returns 0 on Sunday
 | 
					 | 
				
			||||||
      if (key === 'a') {
 | 
					 | 
				
			||||||
        return ['日', '一', '二', '三', '四', '五', '六'][value]
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (result.length > 0 && value < 10) {
 | 
					 | 
				
			||||||
        value = '0' + value
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return value || 0
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    return time_str
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 表单重置
 | 
					// 表单重置
 | 
				
			||||||
export function resetForm(refName) {
 | 
					export function resetForm(refName) {
 | 
				
			||||||
  if (this.$refs[refName]) {
 | 
					  if (this.$refs[refName]) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Date: 2020-12-14 09:07:03
 | 
					 * @Date: 2020-12-14 09:07:03
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @LastEditTime: 2023-12-28 09:00:44
 | 
					 * @LastEditTime: 2023-11-14 10:11:09
 | 
				
			||||||
 * @FilePath: \mt-bus-fe\src\views\OperationalOverview\components\baseTable.vue
 | 
					 * @FilePath: \mt-bus-fe\src\views\OperationalOverview\components\baseTable.vue
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -16,8 +16,9 @@
 | 
				
			|||||||
      style="width: 100%; background: transparent"
 | 
					      style="width: 100%; background: transparent"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <el-table-column
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					        v-if="page && limit && showIndex"
 | 
				
			||||||
        prop="_pageIndex"
 | 
					        prop="_pageIndex"
 | 
				
			||||||
        label="序号"
 | 
					        :label="'tableHeader.index' | i18nFilter"
 | 
				
			||||||
        :width="70"
 | 
					        :width="70"
 | 
				
			||||||
        align="center"
 | 
					        align="center"
 | 
				
			||||||
      />
 | 
					      />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-09-21 09:06:28
 | 
					 * @Date: 2023-09-21 09:06:28
 | 
				
			||||||
 * @LastEditTime: 2023-12-27 18:28:45
 | 
					 * @LastEditTime: 2023-10-16 14:20:45
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -60,17 +60,98 @@ export default {
 | 
				
			|||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      chart: null,
 | 
					      chart: null,
 | 
				
			||||||
      nameList: [],
 | 
					      series: []
 | 
				
			||||||
      series: [{
 | 
					 | 
				
			||||||
        type: 'bar',
 | 
					 | 
				
			||||||
        data: [],
 | 
					 | 
				
			||||||
        barWidth: 6
 | 
					 | 
				
			||||||
      }]
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    console.log('mounted')
 | 
					    console.log('mounted')
 | 
				
			||||||
    console.log('borderRadius: ', this.borderRadius)
 | 
					    console.log('borderRadius: ', this.borderRadius)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.series = [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[0].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[0].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[0].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[0].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[1].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[1].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[1].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[1].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[2].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[2].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[2].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[2].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[3].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[3].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[3].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[3].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[4].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[4].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[4].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[4].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[5].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[5].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[5].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[5].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.$nextTick(() => {
 | 
					    this.$nextTick(() => {
 | 
				
			||||||
      this.initChart()
 | 
					      this.initChart()
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
@@ -83,50 +164,8 @@ export default {
 | 
				
			|||||||
    this.chart = null
 | 
					    this.chart = null
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    initChart(nameList, passRateList, outputNumList) {
 | 
					    initChart() {
 | 
				
			||||||
     let  series= [
 | 
					      console.log(1)
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          name: '产线产量',
 | 
					 | 
				
			||||||
          type: 'bar',
 | 
					 | 
				
			||||||
          yAxisIndex: 1,
 | 
					 | 
				
			||||||
          itemStyle: {
 | 
					 | 
				
			||||||
            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
					 | 
				
			||||||
              { offset: 0, color: '#9DD5FF' },
 | 
					 | 
				
			||||||
              { offset: 1, color: '#1295FF' }
 | 
					 | 
				
			||||||
            ])
 | 
					 | 
				
			||||||
            // barBorderRadius: this.borderRadius
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          barWidth: 12,
 | 
					 | 
				
			||||||
         data: outputNumList
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          name: '产线良品率',
 | 
					 | 
				
			||||||
          type: 'line',
 | 
					 | 
				
			||||||
          yAxisIndex: 0,
 | 
					 | 
				
			||||||
          areaStyle: {
 | 
					 | 
				
			||||||
            opacity: 0.8,
 | 
					 | 
				
			||||||
            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                offset: 0,
 | 
					 | 
				
			||||||
                color: 'rgba(255, 209, 96, 0.18)'
 | 
					 | 
				
			||||||
              },
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                offset: 1,
 | 
					 | 
				
			||||||
                color: 'rgba(255, 234, 153, 0)'
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ])
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          itemStyle: {
 | 
					 | 
				
			||||||
            normal: {
 | 
					 | 
				
			||||||
              color: 'rgba(255, 209, 96, 1)', //改变折线点的颜色
 | 
					 | 
				
			||||||
              lineStyle: {
 | 
					 | 
				
			||||||
                color: 'rgba(255, 209, 96, 1)' //改变折线颜色
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          data: passRateList
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
      const colors = ['#5470C6', '#91CC75', '#EE6666']
 | 
					      const colors = ['#5470C6', '#91CC75', '#EE6666']
 | 
				
			||||||
      this.chart = echarts.init(document.getElementById(this.id))
 | 
					      this.chart = echarts.init(document.getElementById(this.id))
 | 
				
			||||||
      this.chart.setOption({
 | 
					      this.chart.setOption({
 | 
				
			||||||
@@ -138,12 +177,7 @@ export default {
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        grid: {
 | 
					        grid: {
 | 
				
			||||||
          left: "3%",
 | 
					          right: '20%'
 | 
				
			||||||
          right: "4%",
 | 
					 | 
				
			||||||
          bottom: "3%",
 | 
					 | 
				
			||||||
          width: 'auto',
 | 
					 | 
				
			||||||
          height: "auto",
 | 
					 | 
				
			||||||
          containLabel: true
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        legend: {
 | 
					        legend: {
 | 
				
			||||||
          data: ['产线产量', '产线良品率'],
 | 
					          data: ['产线产量', '产线良品率'],
 | 
				
			||||||
@@ -171,7 +205,7 @@ export default {
 | 
				
			|||||||
              color: '#213259'
 | 
					              color: '#213259'
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          data: nameList
 | 
					          data: ['钢一线', '钢二线', '钢三线', '钢四线', '钢五线', '钢六线', '钢七线', '钢八线']
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        // yAxis: {
 | 
					        // yAxis: {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -202,7 +236,8 @@ export default {
 | 
				
			|||||||
            axisLabel: {
 | 
					            axisLabel: {
 | 
				
			||||||
              textStyle: {
 | 
					              textStyle: {
 | 
				
			||||||
                color: '#ced1d5', // 坐标值得具体的颜色
 | 
					                color: '#ced1d5', // 坐标值得具体的颜色
 | 
				
			||||||
                formatter: '{value}%'
 | 
					                formatter: '{value} 片'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            splitLine: {
 | 
					            splitLine: {
 | 
				
			||||||
@@ -260,7 +295,29 @@ export default {
 | 
				
			|||||||
            // },
 | 
					            // },
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        series: series
 | 
					        series: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: '产线产量',
 | 
				
			||||||
 | 
					            type: 'bar',
 | 
				
			||||||
 | 
					            yAxisIndex: 1,
 | 
				
			||||||
 | 
					            itemStyle: {
 | 
				
			||||||
 | 
					              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					                { offset: 0, color: '#9DD5FF' },
 | 
				
			||||||
 | 
					                { offset: 1, color: '#1295FF' }
 | 
				
			||||||
 | 
					              ])
 | 
				
			||||||
 | 
					              // barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            data: [
 | 
				
			||||||
 | 
					              2032, 3032, 1802, 2932, 2322, 2613, 2873, 2561
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: '产线良品率',
 | 
				
			||||||
 | 
					            type: 'line',
 | 
				
			||||||
 | 
					            yAxisIndex: 0,
 | 
				
			||||||
 | 
					            data: [98, 97, 94, 97.6, 98.2, 98.2, 97.4, 98.5]
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,39 +41,113 @@ export default {
 | 
				
			|||||||
      type: Boolean,
 | 
					      type: Boolean,
 | 
				
			||||||
      default: false
 | 
					      default: false
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // nameList: {
 | 
					    nameList: {
 | 
				
			||||||
    //   type: Array,
 | 
					      type: Array,
 | 
				
			||||||
    //   default: () => []
 | 
					      default: () => []
 | 
				
			||||||
    // },
 | 
					    },
 | 
				
			||||||
    // dataList: {
 | 
					    dataList: {
 | 
				
			||||||
    //   type: Array,
 | 
					      type: Array,
 | 
				
			||||||
    //   default: () => []
 | 
					      default: () => []
 | 
				
			||||||
    // }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      chart: null,
 | 
					      chart: null,
 | 
				
			||||||
      nameList: [],
 | 
					      series: []
 | 
				
			||||||
      series: [{
 | 
					 | 
				
			||||||
        type: 'bar',
 | 
					 | 
				
			||||||
        data: [],
 | 
					 | 
				
			||||||
        barWidth: 6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      }]
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    console.log('mounted')
 | 
					    console.log('mounted')
 | 
				
			||||||
    console.log('borderRadius: ', this.borderRadius)
 | 
					    console.log('borderRadius: ', this.borderRadius)
 | 
				
			||||||
    // console.log('33333', this.dataList)
 | 
					
 | 
				
			||||||
    // let arr = []
 | 
					    this.series = [
 | 
				
			||||||
    // this.dataList.forEach(ele => {
 | 
					      {
 | 
				
			||||||
      // console.log(ele);
 | 
					        name: this.dataList[0].name,
 | 
				
			||||||
    // this.series = []
 | 
					        type: 'bar',
 | 
				
			||||||
    this.initChart()
 | 
					        itemStyle: {
 | 
				
			||||||
    // this.$nextTick(() => {
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
    //   // this.initChart()
 | 
					            { offset: 0, color: this.dataList[0].topColor },
 | 
				
			||||||
    // })
 | 
					            { offset: 1, color: this.dataList[0].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[0].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[1].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[1].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[1].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[1].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[2].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[2].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[2].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[2].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[3].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[3].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[3].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[3].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[4].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[4].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[4].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[4].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name: this.dataList[5].name,
 | 
				
			||||||
 | 
					        type: 'bar',
 | 
				
			||||||
 | 
					        itemStyle: {
 | 
				
			||||||
 | 
					          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
 | 
				
			||||||
 | 
					            { offset: 0, color: this.dataList[5].topColor },
 | 
				
			||||||
 | 
					            { offset: 1, color: this.dataList[5].bottomColor }
 | 
				
			||||||
 | 
					          ]),
 | 
				
			||||||
 | 
					          // borderRadius: [5, 5, 0, 0]
 | 
				
			||||||
 | 
					          barBorderRadius: this.borderRadius
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        data: this.dataList[5].data,
 | 
				
			||||||
 | 
					        barWidth: 6
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.$nextTick(() => {
 | 
				
			||||||
 | 
					      this.initChart()
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  beforeDestroy() {
 | 
					  beforeDestroy() {
 | 
				
			||||||
    if (!this.chart) {
 | 
					    if (!this.chart) {
 | 
				
			||||||
@@ -83,20 +157,9 @@ export default {
 | 
				
			|||||||
    this.chart = null
 | 
					    this.chart = null
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    initChart(nameList,dataList) {
 | 
					    initChart() {
 | 
				
			||||||
      // console.log(1)
 | 
					      console.log(1)
 | 
				
			||||||
      this.chart = echarts.init(document.getElementById(this.id))
 | 
					      this.chart = echarts.init(document.getElementById(this.id))
 | 
				
			||||||
      if (dataList.length !== 0) {
 | 
					 | 
				
			||||||
        // this.$set(this.series, "data", dataList);
 | 
					 | 
				
			||||||
        this.series = [{
 | 
					 | 
				
			||||||
          type: 'bar',
 | 
					 | 
				
			||||||
          data: dataList,
 | 
					 | 
				
			||||||
          barWidth: 6
 | 
					 | 
				
			||||||
        }]
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (nameList.length !== 0) {
 | 
					 | 
				
			||||||
        this.nameList = nameList
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      this.chart.setOption({
 | 
					      this.chart.setOption({
 | 
				
			||||||
        tooltip: {
 | 
					        tooltip: {
 | 
				
			||||||
          trigger: 'axis',
 | 
					          trigger: 'axis',
 | 
				
			||||||
@@ -153,19 +216,19 @@ export default {
 | 
				
			|||||||
          },
 | 
					          },
 | 
				
			||||||
          type: 'value'
 | 
					          type: 'value'
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        // legend: {
 | 
					        legend: {
 | 
				
			||||||
        //   itemHeight: 10,
 | 
					          itemHeight: 10,
 | 
				
			||||||
        //   itemWidth: 10,
 | 
					          itemWidth: 10,
 | 
				
			||||||
        //   x: 'center', // 可设定图例在左、右、居中
 | 
					          x: 'center', // 可设定图例在左、右、居中
 | 
				
			||||||
        //   y: 'top', // 可设定图例在上、下、居中
 | 
					          y: 'top', // 可设定图例在上、下、居中
 | 
				
			||||||
        //   show: this.showLegend,
 | 
					          show: this.showLegend,
 | 
				
			||||||
        //   data: this.dataList,
 | 
					          data: this.dataList,
 | 
				
			||||||
        //   right: '1%',
 | 
					          right: '1%',
 | 
				
			||||||
        //   textStyle: {
 | 
					          textStyle: {
 | 
				
			||||||
        //     fontSize: 12 * this.beilv,
 | 
					            fontSize: 12 * this.beilv,
 | 
				
			||||||
        //     color: '#ced1d5'
 | 
					            color: '#ced1d5'
 | 
				
			||||||
        //   }
 | 
					          }
 | 
				
			||||||
        // },
 | 
					        },
 | 
				
			||||||
        series: this.series
 | 
					        series: this.series
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,235 +0,0 @@
 | 
				
			|||||||
<!--
 | 
					 | 
				
			||||||
 * @Author: zhp
 | 
					 | 
				
			||||||
 * @Date: 2023-12-27 13:54:52
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-27 19:47:27
 | 
					 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<template>
 | 
					 | 
				
			||||||
  <div>
 | 
					 | 
				
			||||||
    <div :id="id" :class="className" :style="{ height: height + 'px', width: width }" />
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import * as echarts from 'echarts';
 | 
					 | 
				
			||||||
import 'echarts/theme/macarons' // echarts theme
 | 
					 | 
				
			||||||
import resize from './mixins/resize'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
  name: 'OverviewBar',
 | 
					 | 
				
			||||||
  mixins: [resize],
 | 
					 | 
				
			||||||
  props: {
 | 
					 | 
				
			||||||
    id: {
 | 
					 | 
				
			||||||
      type: String,
 | 
					 | 
				
			||||||
      default: 'linearBarChart'
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    className: {
 | 
					 | 
				
			||||||
      type: String,
 | 
					 | 
				
			||||||
      default: 'chart'
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    width: {
 | 
					 | 
				
			||||||
      type: String,
 | 
					 | 
				
			||||||
      default: '100%'
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    borderRadius: {
 | 
					 | 
				
			||||||
      type: Array,
 | 
					 | 
				
			||||||
      default: () => [9, 9, 0, 0]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    beilv: {
 | 
					 | 
				
			||||||
      type: Number,
 | 
					 | 
				
			||||||
      default: 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    height: {
 | 
					 | 
				
			||||||
      type: Number,
 | 
					 | 
				
			||||||
      default: 200
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    showLegend: {
 | 
					 | 
				
			||||||
      type: Boolean,
 | 
					 | 
				
			||||||
      default: false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // nameList: {
 | 
					 | 
				
			||||||
    //   type: Array,
 | 
					 | 
				
			||||||
    //   default: () => []
 | 
					 | 
				
			||||||
    // },
 | 
					 | 
				
			||||||
    // dataList: {
 | 
					 | 
				
			||||||
    //   type: Array,
 | 
					 | 
				
			||||||
    //   default: () => []
 | 
					 | 
				
			||||||
    // }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  data() {
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
      chart: null,
 | 
					 | 
				
			||||||
      nameList: [],
 | 
					 | 
				
			||||||
      series: [{
 | 
					 | 
				
			||||||
        type: 'bar',
 | 
					 | 
				
			||||||
        data: [],
 | 
					 | 
				
			||||||
        barWidth: 6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      }]
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  mounted() {
 | 
					 | 
				
			||||||
    console.log('mounted')
 | 
					 | 
				
			||||||
    // console.log('borderRadius: ', this.borderRadius)
 | 
					 | 
				
			||||||
    // console.log('33333', this.dataList)
 | 
					 | 
				
			||||||
    // let arr = []
 | 
					 | 
				
			||||||
    // this.dataList.forEach(ele => {
 | 
					 | 
				
			||||||
      // console.log(ele);
 | 
					 | 
				
			||||||
    // this.series = []
 | 
					 | 
				
			||||||
    this.initChart()
 | 
					 | 
				
			||||||
    // this.$nextTick(() => {
 | 
					 | 
				
			||||||
    //   // this.initChart()
 | 
					 | 
				
			||||||
    // })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  beforeDestroy() {
 | 
					 | 
				
			||||||
    if (!this.chart) {
 | 
					 | 
				
			||||||
      return
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    this.chart.dispose()
 | 
					 | 
				
			||||||
    this.chart = null
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  methods: {
 | 
					 | 
				
			||||||
    initChart(nameList, topNameList, nameWasteList, passRateList, wasteList) {
 | 
					 | 
				
			||||||
      // console.log(1)
 | 
					 | 
				
			||||||
      this.chart = echarts.init(document.getElementById(this.id))
 | 
					 | 
				
			||||||
      let series = [{
 | 
					 | 
				
			||||||
        name: '成品面积',
 | 
					 | 
				
			||||||
        type: 'bar',
 | 
					 | 
				
			||||||
        stack: 'total',
 | 
					 | 
				
			||||||
        // label: {
 | 
					 | 
				
			||||||
        //   show: true
 | 
					 | 
				
			||||||
        // },
 | 
					 | 
				
			||||||
        emphasis: {
 | 
					 | 
				
			||||||
          focus: 'series'
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        data: passRateList,
 | 
					 | 
				
			||||||
        itemStyle: {
 | 
					 | 
				
			||||||
          normal: { color: '#2359ec' }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        name: '废片面积',
 | 
					 | 
				
			||||||
        type: 'bar',
 | 
					 | 
				
			||||||
        stack: 'total',
 | 
					 | 
				
			||||||
        // label: {
 | 
					 | 
				
			||||||
        //   show: true
 | 
					 | 
				
			||||||
        // },
 | 
					 | 
				
			||||||
        emphasis: {
 | 
					 | 
				
			||||||
          focus: 'series'
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        barWidth: 12,
 | 
					 | 
				
			||||||
        data: wasteList,
 | 
					 | 
				
			||||||
        itemStyle: {
 | 
					 | 
				
			||||||
          normal: { color: '#745fe4' }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },]
 | 
					 | 
				
			||||||
      // for (i = 0; i < 5; i++) {
 | 
					 | 
				
			||||||
      //   series.push({
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      //   })
 | 
					 | 
				
			||||||
      // }
 | 
					 | 
				
			||||||
      const yAxisDataLeft = topNameList;
 | 
					 | 
				
			||||||
      // const yAxisDataRight = ['服装', '矿产', '服务业', '建筑业', '金融业'];
 | 
					 | 
				
			||||||
      const yAxisDataRight = nameWasteList
 | 
					 | 
				
			||||||
      this.chart.setOption({
 | 
					 | 
				
			||||||
        tooltip: {
 | 
					 | 
				
			||||||
          trigger: 'axis',
 | 
					 | 
				
			||||||
          axisPointer: {
 | 
					 | 
				
			||||||
            // Use axis to trigger tooltip
 | 
					 | 
				
			||||||
            type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        // legend: {},
 | 
					 | 
				
			||||||
        grid: {
 | 
					 | 
				
			||||||
          left: '3%',
 | 
					 | 
				
			||||||
          right: '4%',
 | 
					 | 
				
			||||||
          bottom: '3%',
 | 
					 | 
				
			||||||
          width: 'auto',
 | 
					 | 
				
			||||||
          height: 'auto',
 | 
					 | 
				
			||||||
          containLabel: true
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        xAxis: {
 | 
					 | 
				
			||||||
          type: 'value',
 | 
					 | 
				
			||||||
          show: false, // 不显示坐标轴线、坐标轴刻度线和坐标轴上的文字
 | 
					 | 
				
			||||||
          axisTick: {
 | 
					 | 
				
			||||||
            show: false // 不显示坐标轴刻度线
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          axisLine: {
 | 
					 | 
				
			||||||
            show: false, // 不显示坐标轴线
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          axisLabel: {
 | 
					 | 
				
			||||||
            show: false, // 不显示坐标轴上的文字
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          splitLine: {
 | 
					 | 
				
			||||||
            show: false // 不显示网格线
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        yAxis: [
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            inverse: true,
 | 
					 | 
				
			||||||
            data: yAxisDataLeft,
 | 
					 | 
				
			||||||
            axisLabel: {
 | 
					 | 
				
			||||||
              show: true,
 | 
					 | 
				
			||||||
              inside: true,
 | 
					 | 
				
			||||||
              textStyle: {
 | 
					 | 
				
			||||||
                color: '#ffffff',
 | 
					 | 
				
			||||||
                fontSize: 12,
 | 
					 | 
				
			||||||
                align: 'left',
 | 
					 | 
				
			||||||
              },
 | 
					 | 
				
			||||||
              formatter: '{value}\n{a|占位}\n{a|占位}',
 | 
					 | 
				
			||||||
              rich: {
 | 
					 | 
				
			||||||
                a: {
 | 
					 | 
				
			||||||
                  color: 'transparent',
 | 
					 | 
				
			||||||
                  lineHeight: 24,
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            //offset: 30,
 | 
					 | 
				
			||||||
            splitLine: {
 | 
					 | 
				
			||||||
              show: false
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            axisTick: {
 | 
					 | 
				
			||||||
              show: false
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            axisLine: {
 | 
					 | 
				
			||||||
              show: false
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            inverse: false,
 | 
					 | 
				
			||||||
            data: yAxisDataRight,
 | 
					 | 
				
			||||||
            axisLabel: {
 | 
					 | 
				
			||||||
              inside: true,
 | 
					 | 
				
			||||||
              textStyle: {
 | 
					 | 
				
			||||||
                color: '#ffffff',
 | 
					 | 
				
			||||||
                fontSize: 12,
 | 
					 | 
				
			||||||
                align: 'right',
 | 
					 | 
				
			||||||
              },
 | 
					 | 
				
			||||||
              formatter: '{value}\n{a|占位}\n{a|占位}',
 | 
					 | 
				
			||||||
              rich: {
 | 
					 | 
				
			||||||
                a: {
 | 
					 | 
				
			||||||
                  color: 'transparent',
 | 
					 | 
				
			||||||
                  lineHeight: 24,
 | 
					 | 
				
			||||||
                  fontFamily: 'digital'
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            offset: 0,
 | 
					 | 
				
			||||||
            splitLine: {
 | 
					 | 
				
			||||||
              show: false
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            axisTick: {
 | 
					 | 
				
			||||||
              show: false
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            axisLine: {
 | 
					 | 
				
			||||||
              show: false
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        series: series
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
@@ -2,20 +2,21 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-07-19 15:18:30
 | 
					 * @Date: 2021-07-19 15:18:30
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @LastEditTime: 2023-12-28 10:22:06
 | 
					 * @LastEditTime: 2023-11-23 11:11:35
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div id="container" ref="container" class="visual-container" :style="styles">
 | 
					  <div id="container" ref="container" class="visual-container" :style="styles">
 | 
				
			||||||
    <el-row class="container-title" :style="{
 | 
					    <el-row
 | 
				
			||||||
      height: 88 + 'px',
 | 
					      class="container-title"
 | 
				
			||||||
      lineHeight: 88 + 'px',
 | 
					      :style="{
 | 
				
			||||||
      fontSize: 31 + 'px'
 | 
					        height: 88 + 'px',
 | 
				
			||||||
    }">
 | 
					        lineHeight: 88 + 'px',
 | 
				
			||||||
 | 
					        fontSize: 31 + 'px'
 | 
				
			||||||
 | 
					      }"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
      <img src="../../assets/img/logo.png" style="width:1.1em;position:relative;top:.4em" alt="">
 | 
					      <img src="../../assets/img/logo.png" style="width:1.1em;position:relative;top:.4em" alt="">
 | 
				
			||||||
      许昌安彩深加工看板
 | 
					      许昌安彩深加工看板
 | 
				
			||||||
      <h3 class="unit">单位:河南汇融科技服务有限公司</h3>
 | 
					 | 
				
			||||||
      <h3 class="time">{{ times }}</h3>
 | 
					 | 
				
			||||||
      <!-- <el-button
 | 
					      <!-- <el-button
 | 
				
			||||||
        type="text"
 | 
					        type="text"
 | 
				
			||||||
        class="title-button"
 | 
					        class="title-button"
 | 
				
			||||||
@@ -29,21 +30,37 @@
 | 
				
			|||||||
    <el-row class="container-main flex-col" type="flex">
 | 
					    <el-row class="container-main flex-col" type="flex">
 | 
				
			||||||
      <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1">
 | 
					      <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1">
 | 
				
			||||||
        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
 | 
					        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
 | 
				
			||||||
          <base-container :title="'设备报警'" :title-icon="'eqAlarm'">
 | 
					          <base-container  :title="'设备报警'" :title-icon="'5_1'">
 | 
				
			||||||
            <base-table1 :page="1" :limit="9" :show-index="false" :table-config="qualityYearTableProps"
 | 
					            <base-table1
 | 
				
			||||||
              :table-data="equipmentList" />
 | 
					              :page="1"
 | 
				
			||||||
 | 
					              :limit="9"
 | 
				
			||||||
 | 
					              :show-index="false"
 | 
				
			||||||
 | 
					              :table-config="qualityYearTableProps"
 | 
				
			||||||
 | 
					              :table-data="qualityYearList"
 | 
				
			||||||
 | 
					            />
 | 
				
			||||||
          </base-container>
 | 
					          </base-container>
 | 
				
			||||||
        </el-col>
 | 
					        </el-col>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
 | 
					        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
 | 
				
			||||||
          <base-container :title="'各工序缺陷汇总'" :title-icon="'scrap'">
 | 
					          <base-container :title="'各工序缺陷汇总'" :title-icon="'5_2'">
 | 
				
			||||||
            <base-table1 :page="1" :limit="9" :show-index="false" :table-config="qualityMonthTableProps"
 | 
					            <div class="visual-select">
 | 
				
			||||||
              :table-data="qualityMonthList" />
 | 
					              <el-select class="coldSelect" v-model="modelMonth" size="mini" placeholder="">
 | 
				
			||||||
 | 
					                <el-option key="1" value="钢1线" label="钢1线" default />
 | 
				
			||||||
 | 
					              </el-select>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <base-table1
 | 
				
			||||||
 | 
					              :page="1"
 | 
				
			||||||
 | 
					              :limit="9"
 | 
				
			||||||
 | 
					              :show-index="false"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              :table-config="qualityMonthTableProps"
 | 
				
			||||||
 | 
					              :table-data="qualityMonthList"
 | 
				
			||||||
 | 
					            />
 | 
				
			||||||
          </base-container>
 | 
					          </base-container>
 | 
				
			||||||
        </el-col>
 | 
					        </el-col>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
 | 
					        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
 | 
				
			||||||
          <base-container :title="'工单监控'" :title-icon="'eqMonitoring'">
 | 
					          <base-container  :title="'设备监控'" :title-icon="'5_3'">
 | 
				
			||||||
            <!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
 | 
					            <!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
 | 
				
			||||||
              <top-radio-group />
 | 
					              <top-radio-group />
 | 
				
			||||||
            </div> -->
 | 
					            </div> -->
 | 
				
			||||||
@@ -54,15 +71,13 @@
 | 
				
			|||||||
              <!-- <el-row style="margin-bottom: 1em">
 | 
					              <!-- <el-row style="margin-bottom: 1em">
 | 
				
			||||||
                    <p class="now-team-title">加工工单进度</p>
 | 
					                    <p class="now-team-title">加工工单进度</p>
 | 
				
			||||||
                  </el-row> -->
 | 
					                  </el-row> -->
 | 
				
			||||||
              <el-row v-for="op in orderList" :key="op.id" style="margin-bottom: 1em">
 | 
					              <el-row v-for="op in orderProcessList" :key="op.id" style="margin-bottom: 1em">
 | 
				
			||||||
                <!-- <el-col :span="12"> -->
 | 
					                <el-progress :percentage="op.outRate * 100" class="custom-progress-bar" />
 | 
				
			||||||
                  <el-progress :percentage="op.progressRate * 100" class="custom-progress-bar" />
 | 
					                <p v-if="op.outRate === 1" class="now-secondary-title" style="color:#4679FD">
 | 
				
			||||||
                  <!-- <p v-if="op.progressRate === 1" class="now-secondary-title" style="color:#4679FD">
 | 
					 | 
				
			||||||
                  <i class="el-icon-check" />
 | 
					                  <i class="el-icon-check" />
 | 
				
			||||||
                  {{ op.name }}
 | 
					                  {{ op.name }}
 | 
				
			||||||
                </p> -->
 | 
					                </p>
 | 
				
			||||||
                  <p class="now-secondary-title">{{ op.name }}</p>
 | 
					                <p v-else class="now-secondary-title">{{ op.name }}</p>
 | 
				
			||||||
                <!-- </el-col> -->
 | 
					 | 
				
			||||||
              </el-row>
 | 
					              </el-row>
 | 
				
			||||||
              <!-- <el-row>
 | 
					              <!-- <el-row>
 | 
				
			||||||
                    <el-progress :percentage="100" class="custom-progress-bar" />
 | 
					                    <el-progress :percentage="100" class="custom-progress-bar" />
 | 
				
			||||||
@@ -95,14 +110,19 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="12" type="flex" class="flex-1">
 | 
					      <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="12" type="flex" class="flex-1">
 | 
				
			||||||
        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
					        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
				
			||||||
          <base-container :height="256" :title="'能源监控'" :title-icon="'energyMonitoring'">
 | 
					          <base-container  :height="256" :title="'能源监控'" :title-icon="'5_5'">
 | 
				
			||||||
            <!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
 | 
					            <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
 | 
				
			||||||
              <top-radio-group />
 | 
					              <top-radio-group />
 | 
				
			||||||
            </div> -->
 | 
					            </div>
 | 
				
			||||||
            <el-row :gutter="9">
 | 
					            <el-row :gutter="9">
 | 
				
			||||||
              <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24">
 | 
					              <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24">
 | 
				
			||||||
                <linear-bar-chart ref="EnergyMonitoringChart" :name-list="EnergyMonitoringNameList"
 | 
					                <linear-bar-chart
 | 
				
			||||||
                  :data-list="EnergyMonitoringList" :height="359" />
 | 
					                  :name-list="cxNameList"
 | 
				
			||||||
 | 
					                  :data-list="cxDataList"
 | 
				
			||||||
 | 
					                  :height="359"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  :show-legend="true"
 | 
				
			||||||
 | 
					                />
 | 
				
			||||||
              </el-col>
 | 
					              </el-col>
 | 
				
			||||||
              <!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
					              <!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
				
			||||||
                <base-table3
 | 
					                <base-table3
 | 
				
			||||||
@@ -117,13 +137,19 @@
 | 
				
			|||||||
          </base-container>
 | 
					          </base-container>
 | 
				
			||||||
        </el-col>
 | 
					        </el-col>
 | 
				
			||||||
        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
					        <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
 | 
				
			||||||
          <base-container :height="318 + 338 + 16" :title="'产线产量及良品率'" :title-icon="'productLine'">
 | 
					          <base-container  :height="318 + 338 + 16" :title="'产线产量及良品率'" :title-icon="'5_4'">
 | 
				
			||||||
            <!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
 | 
					            <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
 | 
				
			||||||
              <top-radio-group />
 | 
					              <top-radio-group />
 | 
				
			||||||
            </div> -->
 | 
					            </div>
 | 
				
			||||||
            <!-- 像下面这样表格里的limit值,也许可以用js动态计算出来 -->
 | 
					            <!-- 像下面这样表格里的limit值,也许可以用js动态计算出来 -->
 | 
				
			||||||
            <double-y-chart ref="productLineChart" :id=" 'doubleYChart' " :name-list="cxNameList"
 | 
					            <double-y-chart
 | 
				
			||||||
              :data-list="cxDataList" :height="359" :show-legend="true" />
 | 
					              :id=" 'doubleYChart' "
 | 
				
			||||||
 | 
					              :name-list="cxNameList"
 | 
				
			||||||
 | 
					              :data-list="cxDataList"
 | 
				
			||||||
 | 
					              :height="359"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              :show-legend="true"
 | 
				
			||||||
 | 
					            />
 | 
				
			||||||
          </base-container>
 | 
					          </base-container>
 | 
				
			||||||
        </el-col>
 | 
					        </el-col>
 | 
				
			||||||
      </el-row>
 | 
					      </el-row>
 | 
				
			||||||
@@ -398,22 +424,22 @@ const legendData3 = [
 | 
				
			|||||||
]
 | 
					]
 | 
				
			||||||
const qualityYearTableProps = [
 | 
					const qualityYearTableProps = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'name',
 | 
					    prop: 'eqName',
 | 
				
			||||||
    label: '设备名称'
 | 
					    label: '设备名称'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'code',
 | 
					    prop: 'eqCode',
 | 
				
			||||||
    label: '设备编码'
 | 
					    label: '设备编码'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'status',
 | 
					    prop: 'level',
 | 
				
			||||||
    label: '设备状态',
 | 
					    label: '报警级别',
 | 
				
			||||||
    // subcomponent: alarmLevel,
 | 
					    subcomponent: alarmLevel,
 | 
				
			||||||
    align: 'center'
 | 
					    align: 'center'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'error',
 | 
					    prop: 'content',
 | 
				
			||||||
    label: '是否故障'
 | 
					    label: '报警内容'
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -437,39 +463,206 @@ const qualityYearList = [
 | 
				
			|||||||
]
 | 
					]
 | 
				
			||||||
const qualityMonthTableProps = [
 | 
					const qualityMonthTableProps = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'productionLineName',
 | 
					    prop: 'lineName',
 | 
				
			||||||
    label: '产线名'
 | 
					    label: '产线名'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'sectionName',
 | 
					    prop: 'process',
 | 
				
			||||||
    label: '工序'
 | 
					    label: '工序'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'count',
 | 
					    prop: 'eqName',
 | 
				
			||||||
    label: '损耗片数'
 | 
					    label: '设备名'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'inspectionTypeName',
 | 
					    prop: 'eqCode',
 | 
				
			||||||
    label: '缺陷类型'
 | 
					    label: '设备编码'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: 'long',
 | 
				
			||||||
 | 
					    label: '总运行时长(h)'
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  // {
 | 
				
			||||||
 | 
					  //   prop: 'createTime',
 | 
				
			||||||
 | 
					  //   label: '保养时间'
 | 
				
			||||||
 | 
					  // },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: 'status',
 | 
				
			||||||
 | 
					    label: '设备状态'
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  // {
 | 
				
			||||||
 | 
					  //   prop: 'nextCreateTime',
 | 
				
			||||||
 | 
					  //   label: '下次保养时间'
 | 
				
			||||||
 | 
					  // }
 | 
				
			||||||
 | 
					  // {
 | 
				
			||||||
 | 
					  //   prop: 'nextLong',
 | 
				
			||||||
 | 
					  //   label: '距离保养时间(天)',
 | 
				
			||||||
 | 
					  //   // subcomponent: nextDay,
 | 
				
			||||||
 | 
					  //   align: 'center'
 | 
				
			||||||
 | 
					  // }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const qualityMonthList = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢一线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '二次清洗机',
 | 
				
			||||||
 | 
					    eqCode: '2312312',
 | 
				
			||||||
 | 
					    long: '200',
 | 
				
			||||||
 | 
					    // createTime: '2021-02-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '报警'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 365
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢二线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '锻造机',
 | 
				
			||||||
 | 
					    eqCode: '43434',
 | 
				
			||||||
 | 
					    long: '252',
 | 
				
			||||||
 | 
					    // createTime: '2021-11-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '正常'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 4
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢三线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '设备3',
 | 
				
			||||||
 | 
					    eqCode: '23213212',
 | 
				
			||||||
 | 
					    long: '100',
 | 
				
			||||||
 | 
					    // createTime: '2021-10-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '故障停机'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 24
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢四线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '设备4',
 | 
				
			||||||
 | 
					    eqCode: '23213',
 | 
				
			||||||
 | 
					    long: '322',
 | 
				
			||||||
 | 
					    // createTime: '2021-02-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '故障停机'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: -36
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '设备5',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '232',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '待机'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '设备5',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '212',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '待机'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '设备5',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '123',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: '镀膜机'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '清洗机',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '322',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: 'Remote'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '磨边机',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '232',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: 'Non-scheduled'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '磨边机',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '232',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: 'Non-scheduled'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '磨边机',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '232',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: 'Non-scheduled'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '磨边机',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '232',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: 'Non-scheduled'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    lineName: '钢五线',
 | 
				
			||||||
 | 
					    process: '41',
 | 
				
			||||||
 | 
					    eqName: '磨边机',
 | 
				
			||||||
 | 
					    eqCode: '23121312',
 | 
				
			||||||
 | 
					    long: '232',
 | 
				
			||||||
 | 
					    // createTime: '2021-06-25 12:00:01',
 | 
				
			||||||
 | 
					    status: 'Non-scheduled'
 | 
				
			||||||
 | 
					    // nextCreateTime: '2022-12-25 12:00:01',
 | 
				
			||||||
 | 
					    // nextLong: 111
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
const orderProcessList = [
 | 
					const orderProcessList = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    id: '1', outRate: '.8', name: '凯盛0322'
 | 
					    id: '1', outRate: '.8', name: '凯盛0322'
 | 
				
			||||||
  }, {
 | 
					  }, {
 | 
				
			||||||
    id: '2', outRate: '.4', name: '光伏玻璃4.0'
 | 
					    id: '1', outRate: '.4', name: '光伏玻璃4.0'
 | 
				
			||||||
  }, {
 | 
					  }, {
 | 
				
			||||||
    id: '3', outRate: '.5', name: '光伏玻璃3.0'
 | 
					    id: '1', outRate: '.5', name: '光伏玻璃3.0'
 | 
				
			||||||
  }, {
 | 
					  }, {
 | 
				
			||||||
    id: '4', outRate: '.3', name: '光伏玻璃2.0'
 | 
					    id: '1', outRate: '.3', name: '光伏玻璃2.0'
 | 
				
			||||||
  }, {
 | 
					  }, {
 | 
				
			||||||
    id: '5', outRate: '.5', name: '光伏玻璃1.0'
 | 
					    id: '1', outRate: '.5', name: '光伏玻璃1.0'
 | 
				
			||||||
  }, {
 | 
					  }, {
 | 
				
			||||||
    id: '6', outRate: '.8', name: '光伏玻璃'
 | 
					    id: '1', outRate: '.8', name: '光伏玻璃'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    id: '7', outRate: '.8', name: '统计订单'
 | 
					    id: '1', outRate: '.8', name: '统计订单'
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
@@ -492,16 +685,10 @@ export default {
 | 
				
			|||||||
      beilv2: 1,
 | 
					      beilv2: 1,
 | 
				
			||||||
      beilv: 1,
 | 
					      beilv: 1,
 | 
				
			||||||
      value: 100,
 | 
					      value: 100,
 | 
				
			||||||
      orderList:[],
 | 
					 | 
				
			||||||
      times: '',
 | 
					 | 
				
			||||||
      EnergyMonitoringNameList: [],
 | 
					 | 
				
			||||||
      equipmentList:[],
 | 
					 | 
				
			||||||
      EnergyMonitoringList: [],
 | 
					 | 
				
			||||||
      // offsetWidth: null,
 | 
					      // offsetWidth: null,
 | 
				
			||||||
      qualityYearTableProps,
 | 
					      qualityYearTableProps,
 | 
				
			||||||
      cxNameList,
 | 
					      cxNameList,
 | 
				
			||||||
      cxDataList,
 | 
					      cxDataList,
 | 
				
			||||||
      productLineList:[],
 | 
					 | 
				
			||||||
      qualityYearList,
 | 
					      qualityYearList,
 | 
				
			||||||
      clientWidth: 0,
 | 
					      clientWidth: 0,
 | 
				
			||||||
      containerWidth: 111111,
 | 
					      containerWidth: 111111,
 | 
				
			||||||
@@ -509,7 +696,7 @@ export default {
 | 
				
			|||||||
      // orderProcessList: [],
 | 
					      // orderProcessList: [],
 | 
				
			||||||
      orderProcessList,
 | 
					      orderProcessList,
 | 
				
			||||||
      qualityTableProps1,
 | 
					      qualityTableProps1,
 | 
				
			||||||
      qualityMonthList:[],
 | 
					      qualityMonthList,
 | 
				
			||||||
      qualityMonthTableProps,
 | 
					      qualityMonthTableProps,
 | 
				
			||||||
      modelMonth: '',
 | 
					      modelMonth: '',
 | 
				
			||||||
      qualityList1,
 | 
					      qualityList1,
 | 
				
			||||||
@@ -555,17 +742,7 @@ export default {
 | 
				
			|||||||
    this.init()
 | 
					    this.init()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.getList()
 | 
					    this.windowWidth(document.documentElement.clientWidth)
 | 
				
			||||||
    this.initWebSocket()
 | 
					 | 
				
			||||||
    this.getTimes()
 | 
					 | 
				
			||||||
    const _this = this;
 | 
					 | 
				
			||||||
    _this.beilv2 = document.documentElement.clientWidth / 1920
 | 
					 | 
				
			||||||
    window.onresize = () => {
 | 
					 | 
				
			||||||
      return (() => {
 | 
					 | 
				
			||||||
        _this.clientWidth = `${document.documentElement.clientWidth}`
 | 
					 | 
				
			||||||
        this.beilv2 = _this.clientWidth / 1920
 | 
					 | 
				
			||||||
      })()
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    // const _this = this;
 | 
					    // const _this = this;
 | 
				
			||||||
    // window.onresize = () => {
 | 
					    // window.onresize = () => {
 | 
				
			||||||
    //   return (() => {
 | 
					    //   return (() => {
 | 
				
			||||||
@@ -591,206 +768,6 @@ export default {
 | 
				
			|||||||
  //   removeEventListener('resize', resizeFun)
 | 
					  //   removeEventListener('resize', resizeFun)
 | 
				
			||||||
  // },
 | 
					  // },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    getList() {
 | 
					 | 
				
			||||||
      this.$axios.get(
 | 
					 | 
				
			||||||
        'base/core-production-line/listAll',
 | 
					 | 
				
			||||||
        'get',
 | 
					 | 
				
			||||||
        this.queryParams
 | 
					 | 
				
			||||||
      ).then((res) => {
 | 
					 | 
				
			||||||
        console.log('11111', res);
 | 
					 | 
				
			||||||
        this.productLineList = res.data
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
      this.$axios.get(
 | 
					 | 
				
			||||||
        'base/quality-inspection-record/dayStatistics',
 | 
					 | 
				
			||||||
        'get',
 | 
					 | 
				
			||||||
      ).then((res) => {
 | 
					 | 
				
			||||||
        console.log('11111', res);
 | 
					 | 
				
			||||||
        this.qualityMonthList = res.data
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    getTimes() {
 | 
					 | 
				
			||||||
      setInterval(this.getTimesInterval, 1000);
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    getTimesInterval: function () {
 | 
					 | 
				
			||||||
      let _this = this;
 | 
					 | 
				
			||||||
      let year = new Date().getFullYear(); //获取当前时间的年份
 | 
					 | 
				
			||||||
      let month = new Date().getMonth() + 1; //获取当前时间的月份
 | 
					 | 
				
			||||||
      let day = new Date().getDate(); //获取当前时间的天数
 | 
					 | 
				
			||||||
      let hours = new Date().getHours(); //获取当前时间的小时
 | 
					 | 
				
			||||||
      let minutes = new Date().getMinutes(); //获取当前时间的分数
 | 
					 | 
				
			||||||
      let seconds = new Date().getSeconds(); //获取当前时间的秒数
 | 
					 | 
				
			||||||
      //当小于 10 的是时候,在前面加 0
 | 
					 | 
				
			||||||
      if (hours < 10) {
 | 
					 | 
				
			||||||
        hours = "0" + hours;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (minutes < 10) {
 | 
					 | 
				
			||||||
        minutes = "0" + minutes;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (seconds < 10) {
 | 
					 | 
				
			||||||
        seconds = "0" + seconds;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      //拼接格式化当前时间
 | 
					 | 
				
			||||||
      this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    initWebSocket() {
 | 
					 | 
				
			||||||
      if (typeof (WebSocket) === 'undefined') {
 | 
					 | 
				
			||||||
        alert('您的浏览器不支持WebSocket')
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        const wsUrl = `ws://192.168.0.33:48082/websocket/message?userId=EN${date}`
 | 
					 | 
				
			||||||
        // const wsUrl = 'ws://192.168.1.104:48082/websocket/message?userId=SJG'
 | 
					 | 
				
			||||||
        let date = new Date().valueOf()
 | 
					 | 
				
			||||||
        console.log(date);
 | 
					 | 
				
			||||||
        const SJGWsUrl = `ws://192.168.0.33:48082/websocket/message?userId=SJG${date}`
 | 
					 | 
				
			||||||
        this.SJGWebsocket = new WebSocket(SJGWsUrl)
 | 
					 | 
				
			||||||
        // 监听 WebSocket 连接
 | 
					 | 
				
			||||||
        this.SJGWebsocket.onopen = this.SJGWebsocketOnOpen
 | 
					 | 
				
			||||||
        // 监听 WebSocket 错误信息
 | 
					 | 
				
			||||||
        this.SJGWebsocket.onerror = this.SJGWebsocketOnError
 | 
					 | 
				
			||||||
        // 监听 WebSocket 消息
 | 
					 | 
				
			||||||
        this.SJGWebsocket.onmessage = this.SJGWebsocketOnMessage
 | 
					 | 
				
			||||||
        // 监听 webSocket 断开信息
 | 
					 | 
				
			||||||
        this.SJGWebsocket.onclose = this.SJGWebsocketClose
 | 
					 | 
				
			||||||
        // const wsUrl = 'ws://192.168.0.33:48082/websocket/message?userId=EN111'
 | 
					 | 
				
			||||||
        // 实例化 WebSocket
 | 
					 | 
				
			||||||
        this.websocket = new WebSocket(wsUrl)
 | 
					 | 
				
			||||||
        // 监听 WebSocket 连接
 | 
					 | 
				
			||||||
        this.websocket.onopen = this.websocketOnOpen
 | 
					 | 
				
			||||||
        // 监听 WebSocket 错误信息
 | 
					 | 
				
			||||||
        this.websocket.onerror = this.websocketOnError
 | 
					 | 
				
			||||||
        // 监听 WebSocket 消息
 | 
					 | 
				
			||||||
        this.websocket.onmessage = this.websocketOnMessage
 | 
					 | 
				
			||||||
        // 监听 webSocket 断开信息
 | 
					 | 
				
			||||||
        this.websocket.onclose = this.websocketClose
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    SJGWebsocketOnOpen() {
 | 
					 | 
				
			||||||
      console.log('socket连接成功')
 | 
					 | 
				
			||||||
      console.log(this.SJGWebsocket.onmessage);
 | 
					 | 
				
			||||||
      this.SJGWebsocket.onmessage()
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 连接建立失败重连
 | 
					 | 
				
			||||||
    SJGWebsocketOnError(e) {
 | 
					 | 
				
			||||||
      // console.log('11111', e)
 | 
					 | 
				
			||||||
      this.initWebSocket()
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 数据接收
 | 
					 | 
				
			||||||
    SJGWebsocketOnMessage(e) {
 | 
					 | 
				
			||||||
      // console.log(1111, e)
 | 
					 | 
				
			||||||
      this.wsData = JSON.parse(e.data)
 | 
					 | 
				
			||||||
      // console.log(this.wsData.detData);
 | 
					 | 
				
			||||||
      // console.log('22222', this.wsData.data)
 | 
					 | 
				
			||||||
      if (this.wsData.type === 'order') {
 | 
					 | 
				
			||||||
        this.orderList = this.wsData.detData.map((ele, index) => {
 | 
					 | 
				
			||||||
          if (ele.progressRate != 1) {
 | 
					 | 
				
			||||||
            return {
 | 
					 | 
				
			||||||
              id: ele.id,
 | 
					 | 
				
			||||||
              name: ele.name,
 | 
					 | 
				
			||||||
              progressRate: ele.progressRate.toFixed(3)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
        console.log(this.orderList)
 | 
					 | 
				
			||||||
      } else if (this.wsData.type === 'equipment') {
 | 
					 | 
				
			||||||
        this.equipmentList = this.wsData.detData.map((ele, index) => {
 | 
					 | 
				
			||||||
          // if (ele.progressRate != 1) {
 | 
					 | 
				
			||||||
            return {
 | 
					 | 
				
			||||||
              id: ele.id,
 | 
					 | 
				
			||||||
              name: ele.name,
 | 
					 | 
				
			||||||
              code: ele.code,
 | 
					 | 
				
			||||||
              status: ele.status,
 | 
					 | 
				
			||||||
              error: ele.error=== true ? '是' : '否'
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          // }
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
        // console.log(this.orderList)
 | 
					 | 
				
			||||||
      } else if (this.wsData.type === 'productline') {
 | 
					 | 
				
			||||||
        console.log(this.wsData.detData);
 | 
					 | 
				
			||||||
        let nameList = []
 | 
					 | 
				
			||||||
        let passRateList = []
 | 
					 | 
				
			||||||
        let outputNumList = []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // console.log('2222222222', this.productLineList);
 | 
					 | 
				
			||||||
        this.productLineList.forEach((item) => {
 | 
					 | 
				
			||||||
          this.wsData.detData.forEach((ele) => {
 | 
					 | 
				
			||||||
            if (item.id == ele.productionLineId) {
 | 
					 | 
				
			||||||
              nameList.push(item.name)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        console.log(Array.from(new Set(nameList)))
 | 
					 | 
				
			||||||
        // progressRateList = EnergyNameList
 | 
					 | 
				
			||||||
        // let EnergyDataList = []
 | 
					 | 
				
			||||||
        this.wsData.detData.forEach((ele) => {
 | 
					 | 
				
			||||||
          passRateList.push(ele.passRate *100
 | 
					 | 
				
			||||||
          )
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        this.wsData.detData.forEach((ele) => {
 | 
					 | 
				
			||||||
          outputNumList.push(ele.outputNum
 | 
					 | 
				
			||||||
          )
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        // console.log(this.EnergyMonitoringNameList)
 | 
					 | 
				
			||||||
        // console.log(this.EnergyMonitoringList)
 | 
					 | 
				
			||||||
        // this.$nextTick(() => {
 | 
					 | 
				
			||||||
        this.$refs.productLineChart.initChart(nameList, passRateList, outputNumList)
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 数据发送
 | 
					 | 
				
			||||||
    // SJGWebsocketSend() {
 | 
					 | 
				
			||||||
    //   this.websocket.send('11111')
 | 
					 | 
				
			||||||
    // },
 | 
					 | 
				
			||||||
    // // 关闭
 | 
					 | 
				
			||||||
    // SJGWebsocketClose(e) {
 | 
					 | 
				
			||||||
    //   console.log('WebSocket 断开连接', e)
 | 
					 | 
				
			||||||
    // },
 | 
					 | 
				
			||||||
    // // 连接建立之后执行send方法发送数据
 | 
					 | 
				
			||||||
    websocketOnOpen() {
 | 
					 | 
				
			||||||
      console.log('socket连接成功')
 | 
					 | 
				
			||||||
      this.websocket.onmessage()
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 连接建立失败重连
 | 
					 | 
				
			||||||
    websocketOnError(e) {
 | 
					 | 
				
			||||||
      console.log('11111', e)
 | 
					 | 
				
			||||||
      this.initWebSocket()
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 数据接收
 | 
					 | 
				
			||||||
    websocketOnMessage(e) {
 | 
					 | 
				
			||||||
      // console.log(1111, e)
 | 
					 | 
				
			||||||
      this.wsData = JSON.parse(e.data)
 | 
					 | 
				
			||||||
      // console.log('22222', this.wsData.data)
 | 
					 | 
				
			||||||
      if (this.wsData.type === 'EnergyMonitoring') {
 | 
					 | 
				
			||||||
        let EnergyNameList = []
 | 
					 | 
				
			||||||
        this.wsData.data.forEach((ele) => {
 | 
					 | 
				
			||||||
          EnergyNameList.push(ele.lineName)
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        this.EnergyMonitoringNameList = EnergyNameList
 | 
					 | 
				
			||||||
        let EnergyDataList = []
 | 
					 | 
				
			||||||
        this.wsData.data.forEach((ele) => {
 | 
					 | 
				
			||||||
          EnergyDataList.push(ele.useQuantity
 | 
					 | 
				
			||||||
            // {
 | 
					 | 
				
			||||||
            //   type: 'bar',
 | 
					 | 
				
			||||||
            //   data: ele.useQuantity,
 | 
					 | 
				
			||||||
            //   barWidth: 6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // }
 | 
					 | 
				
			||||||
          )
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        this.EnergyMonitoringList = EnergyDataList
 | 
					 | 
				
			||||||
        console.log(EnergyDataList)
 | 
					 | 
				
			||||||
        // console.log(this.EnergyMonitoringNameList)
 | 
					 | 
				
			||||||
        // console.log(this.EnergyMonitoringList)
 | 
					 | 
				
			||||||
        // this.$nextTick(() => {
 | 
					 | 
				
			||||||
        this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList, this.EnergyMonitoringList)
 | 
					 | 
				
			||||||
        // })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 数据发送
 | 
					 | 
				
			||||||
    websocketSend() {
 | 
					 | 
				
			||||||
      this.websocket.send('11111')
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 关闭
 | 
					 | 
				
			||||||
    websocketClose(e) {
 | 
					 | 
				
			||||||
      // console.log('WebSocket 断开连接', e)
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    windowWidth(value) {
 | 
					    windowWidth(value) {
 | 
				
			||||||
      this.clientWidth = value
 | 
					      this.clientWidth = value
 | 
				
			||||||
      this.beilv2 = this.clientWidth / 1920
 | 
					      this.beilv2 = this.clientWidth / 1920
 | 
				
			||||||
@@ -861,19 +838,7 @@ export default {
 | 
				
			|||||||
    background-size: 100% 100%;
 | 
					    background-size: 100% 100%;
 | 
				
			||||||
    color: #00fff0;
 | 
					    color: #00fff0;
 | 
				
			||||||
    text-align: center;
 | 
					    text-align: center;
 | 
				
			||||||
      .unit {
 | 
					 | 
				
			||||||
          position: absolute;
 | 
					 | 
				
			||||||
          left: 260px;
 | 
					 | 
				
			||||||
          top: 25px;
 | 
					 | 
				
			||||||
          font-size: 20px;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .time {
 | 
					 | 
				
			||||||
          position: absolute;
 | 
					 | 
				
			||||||
          left: 1360px;
 | 
					 | 
				
			||||||
          top: 25px;
 | 
					 | 
				
			||||||
          font-size: 20px;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    .title-button {
 | 
					    .title-button {
 | 
				
			||||||
      color: #00fff0;
 | 
					      color: #00fff0;
 | 
				
			||||||
      font-size: 20px;
 | 
					      font-size: 20px;
 | 
				
			||||||
@@ -922,8 +887,8 @@ export default {
 | 
				
			|||||||
   top: 2em;
 | 
					   top: 2em;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// .container-main {
 | 
					//  .container-main {
 | 
				
			||||||
//    padding: 5px;
 | 
					//    padding: 0px;
 | 
				
			||||||
//  }
 | 
					//  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,7 +90,7 @@ export default {
 | 
				
			|||||||
				{
 | 
									{
 | 
				
			||||||
          type: 'datePicker',
 | 
					          type: 'datePicker',
 | 
				
			||||||
          label: '时间段',
 | 
					          label: '时间段',
 | 
				
			||||||
          dateType: 'daterange',
 | 
					          dateType: 'datetimerange',
 | 
				
			||||||
          format: 'yyyy-MM-dd',
 | 
					          format: 'yyyy-MM-dd',
 | 
				
			||||||
          valueFormat: 'yyyy-MM-dd HH:mm:ss',
 | 
					          valueFormat: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
					          rangeSeparator: '-',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-11-18 14:16:25
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-12-12 16:04:44
 | 
					 * @LastEditTime: 2023-11-22 10:27:50
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -15,26 +15,25 @@
 | 
				
			|||||||
		<el-row :gutter="20">
 | 
							<el-row :gutter="20">
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="客户编号" prop="code">
 | 
									<el-form-item label="客户编号" prop="code">
 | 
				
			||||||
					<el-input v-model="dataForm.code" :disabled="isdetail" clearable placeholder="请输入客户编号" />
 | 
										<el-input v-model="dataForm.code" clearable placeholder="请输入客户编号" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="客户名称" prop="name">
 | 
									<el-form-item label="客户名称" prop="name">
 | 
				
			||||||
					<el-input v-model="dataForm.name" :disabled="isdetail" clearable placeholder="请输入客户名称" />
 | 
										<el-input v-model="dataForm.name" clearable placeholder="请输入客户名称" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
		</el-row>
 | 
							</el-row>
 | 
				
			||||||
		<el-row :gutter="20">
 | 
							<el-row :gutter="20">
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="联系人" prop="contact">
 | 
									<el-form-item label="联系人" prop="contact">
 | 
				
			||||||
					<el-input v-model="dataForm.contact" :disabled="isdetail" clearable placeholder="请输入联系人" />
 | 
										<el-input v-model="dataForm.contact" clearable placeholder="请输入联系人" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="联系电话" prop="telephone">
 | 
									<el-form-item label="联系电话" prop="telephone">
 | 
				
			||||||
					<el-input
 | 
										<el-input
 | 
				
			||||||
						v-model="dataForm.telephone"
 | 
											v-model="dataForm.telephone"
 | 
				
			||||||
						:disabled="isdetail"
 | 
					 | 
				
			||||||
						maxlength="11"
 | 
											maxlength="11"
 | 
				
			||||||
						placeholder="请输入联系电话" />
 | 
											placeholder="请输入联系电话" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
@@ -43,34 +42,22 @@
 | 
				
			|||||||
		<el-form-item label="地址" prop="address">
 | 
							<el-form-item label="地址" prop="address">
 | 
				
			||||||
			<el-input
 | 
								<el-input
 | 
				
			||||||
				v-model="dataForm.address"
 | 
									v-model="dataForm.address"
 | 
				
			||||||
				:disabled="isdetail"
 | 
					 | 
				
			||||||
				placeholder="请输入地址" />
 | 
									placeholder="请输入地址" />
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
		<el-form-item label="备注" prop="remark">
 | 
							<el-form-item label="备注" prop="remark">
 | 
				
			||||||
			<el-input
 | 
								<el-input
 | 
				
			||||||
				v-model="dataForm.remark"
 | 
									v-model="dataForm.remark"
 | 
				
			||||||
				:disabled="isdetail"
 | 
					 | 
				
			||||||
				placeholder="请输入备注" />
 | 
									placeholder="请输入备注" />
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
		<el-form-item label="特殊要求" prop="specialRequirements">
 | 
					 | 
				
			||||||
			<el-input
 | 
					 | 
				
			||||||
				type="textarea"
 | 
					 | 
				
			||||||
				v-model="dataForm.specialRequirements"
 | 
					 | 
				
			||||||
				:disabled="isdetail"
 | 
					 | 
				
			||||||
				placeholder="请输入备注" />
 | 
					 | 
				
			||||||
				<imageUpload v-model="files" :disabled="isdetail" :limit="5"/>
 | 
					 | 
				
			||||||
		</el-form-item>
 | 
					 | 
				
			||||||
	</el-form>
 | 
						</el-form>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import basicAdd from '../../core/mixins/basic-add';
 | 
					import basicAdd from '../../core/mixins/basic-add';
 | 
				
			||||||
import { createCustomer, updateCustomer, getCustomer, getCode } from "@/api/base/coreCustomer";
 | 
					import { createCustomer, updateCustomer, getCustomer, getCode } from "@/api/base/coreCustomer";
 | 
				
			||||||
import ImageUpload from '@/components/ImageUpload';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
	mixins: [basicAdd],
 | 
						mixins: [basicAdd],
 | 
				
			||||||
	components: { ImageUpload },
 | 
					 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			urlOptions: {
 | 
								urlOptions: {
 | 
				
			||||||
@@ -80,8 +67,6 @@ export default {
 | 
				
			|||||||
				updateURL: updateCustomer,
 | 
									updateURL: updateCustomer,
 | 
				
			||||||
				infoURL: getCustomer
 | 
									infoURL: getCustomer
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			files: [],
 | 
					 | 
				
			||||||
			isdetail: false,
 | 
					 | 
				
			||||||
			dataForm: {
 | 
								dataForm: {
 | 
				
			||||||
        id: undefined,
 | 
					        id: undefined,
 | 
				
			||||||
        code: undefined,
 | 
					        code: undefined,
 | 
				
			||||||
@@ -89,9 +74,7 @@ export default {
 | 
				
			|||||||
        telephone: undefined,
 | 
					        telephone: undefined,
 | 
				
			||||||
				contact: undefined,
 | 
									contact: undefined,
 | 
				
			||||||
				address: undefined,
 | 
									address: undefined,
 | 
				
			||||||
        remark: undefined,
 | 
					        remark: undefined
 | 
				
			||||||
				specialRequirements: undefined,
 | 
					 | 
				
			||||||
				files: []
 | 
					 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			dataRule: {
 | 
								dataRule: {
 | 
				
			||||||
        code: [{ required: true, message: "客户编号不能为空", trigger: "blur" }],
 | 
					        code: [{ required: true, message: "客户编号不能为空", trigger: "blur" }],
 | 
				
			||||||
@@ -117,66 +100,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	mounted() {},
 | 
						mounted() {},
 | 
				
			||||||
	methods: {
 | 
						methods: {}
 | 
				
			||||||
		init(id, isdetail) {
 | 
					 | 
				
			||||||
      this.dataForm.id = id || "";
 | 
					 | 
				
			||||||
			this.isdetail = isdetail || false;
 | 
					 | 
				
			||||||
      this.visible = true;
 | 
					 | 
				
			||||||
      if (this.urlOptions.getOption) {
 | 
					 | 
				
			||||||
        this.getArr()
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      this.$nextTick(() => {
 | 
					 | 
				
			||||||
        this.$refs["dataForm"].resetFields();
 | 
					 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					 | 
				
			||||||
          this.urlOptions.infoURL(id).then(response => {
 | 
					 | 
				
			||||||
            this.dataForm = response.data;
 | 
					 | 
				
			||||||
            if (this.setData) {
 | 
					 | 
				
			||||||
              this.setDataForm()
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          if (this.urlOptions.isGetCode) {
 | 
					 | 
				
			||||||
            this.getCode()
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
		// 表单提交
 | 
					 | 
				
			||||||
    dataFormSubmit() {
 | 
					 | 
				
			||||||
			console.log('122', this.files)
 | 
					 | 
				
			||||||
      this.$refs["dataForm"].validate((valid) => {
 | 
					 | 
				
			||||||
        if (!valid) {
 | 
					 | 
				
			||||||
          return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				this.dataForm.files = []
 | 
					 | 
				
			||||||
				if (this.files.length > 0) {
 | 
					 | 
				
			||||||
					this.files.forEach(item => {
 | 
					 | 
				
			||||||
						const temp = {
 | 
					 | 
				
			||||||
							fileType: 1,
 | 
					 | 
				
			||||||
							fileUrl: item
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
						this.dataForm.files.push(temp)
 | 
					 | 
				
			||||||
					})
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // 修改的提交
 | 
					 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					 | 
				
			||||||
          this.urlOptions.updateURL(this.dataForm).then(response => {
 | 
					 | 
				
			||||||
            this.$modal.msgSuccess("修改成功");
 | 
					 | 
				
			||||||
            this.visible = false; 
 | 
					 | 
				
			||||||
            this.$emit("refreshDataList");
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
          return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        // 添加的提交
 | 
					 | 
				
			||||||
        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
					 | 
				
			||||||
          this.$modal.msgSuccess("新增成功");
 | 
					 | 
				
			||||||
          this.visible = false;
 | 
					 | 
				
			||||||
          this.$emit("refreshDataList");
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,19 +88,13 @@ export default {
 | 
				
			|||||||
			},
 | 
								},
 | 
				
			||||||
			tableProps,
 | 
								tableProps,
 | 
				
			||||||
			tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
				this.$auth.hasPermi(`base:core-customer:detail`)
 | 
					 | 
				
			||||||
					? {
 | 
					 | 
				
			||||||
							type: 'detail',
 | 
					 | 
				
			||||||
							btnName: '详情',
 | 
					 | 
				
			||||||
					  }
 | 
					 | 
				
			||||||
					: undefined,
 | 
					 | 
				
			||||||
				this.$auth.hasPermi(`base:core-customer:update`)
 | 
									this.$auth.hasPermi(`base:core-customer:update`)
 | 
				
			||||||
					? {
 | 
										? {
 | 
				
			||||||
							type: 'edit',
 | 
												type: 'edit',
 | 
				
			||||||
							btnName: '编辑',
 | 
												btnName: '编辑',
 | 
				
			||||||
					  }
 | 
										  }
 | 
				
			||||||
					: undefined,
 | 
										: undefined,
 | 
				
			||||||
        this.$auth.hasPermi(`base:core-customer:delete`)
 | 
					          this.$auth.hasPermi(`base:core-customer:delete`)
 | 
				
			||||||
					? {
 | 
										? {
 | 
				
			||||||
							type: 'delete',
 | 
												type: 'delete',
 | 
				
			||||||
							btnName: '删除',
 | 
												btnName: '删除',
 | 
				
			||||||
@@ -177,13 +171,6 @@ export default {
 | 
				
			|||||||
					console.log(val);
 | 
										console.log(val);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		otherMethods(val) {
 | 
					 | 
				
			||||||
			this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
			this.addOrEditTitle = "详情";
 | 
					 | 
				
			||||||
			this.$nextTick(() => {
 | 
					 | 
				
			||||||
				this.$refs.addOrUpdate.init(val.data.id, true);
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -248,9 +248,6 @@ export default {
 | 
				
			|||||||
						label: '设备编码',
 | 
											label: '设备编码',
 | 
				
			||||||
						prop: 'code',
 | 
											prop: 'code',
 | 
				
			||||||
						url: '/base/core-equipment/getCode',
 | 
											url: '/base/core-equipment/getCode',
 | 
				
			||||||
						rules: [
 | 
					 | 
				
			||||||
							{ required: true, message: '设备编码不能为空', trigger: 'blur' },
 | 
					 | 
				
			||||||
						],
 | 
					 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						input: true,
 | 
											input: true,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,65 +0,0 @@
 | 
				
			|||||||
<!--
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2023-08-01 15:27:31
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-08-01 16:25:54
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<template>
 | 
					 | 
				
			||||||
	<div :class="[className, { 'p-0': noPadding }]">
 | 
					 | 
				
			||||||
		<slot />
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	props: {
 | 
					 | 
				
			||||||
		size: {
 | 
					 | 
				
			||||||
			// 取值范围:  xl lg md sm
 | 
					 | 
				
			||||||
			type: String,
 | 
					 | 
				
			||||||
			default: 'de',
 | 
					 | 
				
			||||||
			validator: function (val) {
 | 
					 | 
				
			||||||
				return ['xl', 'lg', 'de', 'md', 'sm'].indexOf(val) !== -1;
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		noPadding: {
 | 
					 | 
				
			||||||
			type: Boolean,
 | 
					 | 
				
			||||||
			default: false,
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	computed: {
 | 
					 | 
				
			||||||
		className: function () {
 | 
					 | 
				
			||||||
			return `${this.size}-title`;
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<style lang="scss" scoped>
 | 
					 | 
				
			||||||
$pxls: (xl, 28px) (lg, 24px) (de, 20px) (md, 18px) (sm, 16px);
 | 
					 | 
				
			||||||
$mgr: 8px;
 | 
					 | 
				
			||||||
@each $size, $height in $pxls {
 | 
					 | 
				
			||||||
	.#{$size}-title {
 | 
					 | 
				
			||||||
		font-size: 18px;
 | 
					 | 
				
			||||||
		line-height: $height;
 | 
					 | 
				
			||||||
		color: #000;
 | 
					 | 
				
			||||||
		font-weight: 500;
 | 
					 | 
				
			||||||
		font-family: '微软雅黑', 'Microsoft YaHei', Arial, Helvetica, sans-serif;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		&::before {
 | 
					 | 
				
			||||||
			content: '';
 | 
					 | 
				
			||||||
			display: inline-block;
 | 
					 | 
				
			||||||
			vertical-align: top;
 | 
					 | 
				
			||||||
			width: 4px;
 | 
					 | 
				
			||||||
			height: $height + 2px;
 | 
					 | 
				
			||||||
			border-radius: 1px;
 | 
					 | 
				
			||||||
			margin-right: $mgr;
 | 
					 | 
				
			||||||
			background-color: #0b58ff;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.p-0 {
 | 
					 | 
				
			||||||
	padding: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-11-18 14:16:25
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-12-14 13:52:42
 | 
					 * @LastEditTime: 2023-11-27 20:12:00
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -15,19 +15,19 @@
 | 
				
			|||||||
		<el-row :gutter="20">
 | 
							<el-row :gutter="20">
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="原料名称" prop="name">
 | 
									<el-form-item label="原料名称" prop="name">
 | 
				
			||||||
					<el-input v-model="dataForm.name" :disabled="isdetail" clearable placeholder="请输入原料名称" />
 | 
										<el-input v-model="dataForm.name" clearable placeholder="请输入原料名称" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="原料编号" prop="code">
 | 
									<el-form-item label="原料编号" prop="code">
 | 
				
			||||||
					<el-input v-model="dataForm.code" :disabled="isdetail" clearable placeholder="请输入原料编号" />
 | 
										<el-input v-model="dataForm.code" clearable placeholder="请输入原料编号" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
		</el-row>
 | 
							</el-row>
 | 
				
			||||||
		<el-row :gutter="20">
 | 
							<el-row :gutter="20">
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
				<el-form-item label="每日消耗量" prop="dailyCost">
 | 
									<el-form-item label="每日消耗量" prop="dailyCost">
 | 
				
			||||||
					<el-input-number v-model="dataForm.dailyCost" :disabled="isdetail" :min="0" controls-position="right" clearable placeholder="请输入每日消耗量" style="width: 100%" />
 | 
										<el-input-number v-model="dataForm.dailyCost" controls-position="right" clearable placeholder="请输入每日消耗量" style="width: 100%" />
 | 
				
			||||||
				</el-form-item>
 | 
									</el-form-item>
 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
			<el-col :span="12">
 | 
								<el-col :span="12">
 | 
				
			||||||
@@ -35,7 +35,6 @@
 | 
				
			|||||||
					<el-select
 | 
										<el-select
 | 
				
			||||||
						v-model="dataForm.unit"
 | 
											v-model="dataForm.unit"
 | 
				
			||||||
						filterable
 | 
											filterable
 | 
				
			||||||
						:disabled="isdetail"
 | 
					 | 
				
			||||||
						style="width: 100%"
 | 
											style="width: 100%"
 | 
				
			||||||
						placeholder="请选择单位">
 | 
											placeholder="请选择单位">
 | 
				
			||||||
						<el-option
 | 
											<el-option
 | 
				
			||||||
@@ -48,58 +47,17 @@
 | 
				
			|||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
		</el-row>
 | 
							</el-row>
 | 
				
			||||||
		<el-form-item label="备注" prop="remark">
 | 
							<el-form-item label="备注" prop="remark">
 | 
				
			||||||
			<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
 | 
								<el-input v-model="dataForm.remark" clearable placeholder="请输入备注" />
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
 | 
					 | 
				
			||||||
		<small-title
 | 
					 | 
				
			||||||
		  :size="'sm'"
 | 
					 | 
				
			||||||
			style="margin: 16px 0; padding-left: 8px; font-size: 14px"
 | 
					 | 
				
			||||||
			:no-padding="true">
 | 
					 | 
				
			||||||
			质量信息
 | 
					 | 
				
			||||||
		</small-title>
 | 
					 | 
				
			||||||
		<div v-if="!isdetail" class="action_btn">
 | 
					 | 
				
			||||||
			<template>
 | 
					 | 
				
			||||||
				<span style="display: inline-block;">
 | 
					 | 
				
			||||||
					<el-button type="text" @click="addNew()" icon="el-icon-plus">新增</el-button>
 | 
					 | 
				
			||||||
				</span>
 | 
					 | 
				
			||||||
			</template>
 | 
					 | 
				
			||||||
		</div>
 | 
					 | 
				
			||||||
		<el-row :gutter="20" v-for="(item, index) in test" :key="index">
 | 
					 | 
				
			||||||
			<el-col :span="9">
 | 
					 | 
				
			||||||
				<el-form-item label="成分" label-width="50px" prop="name1">
 | 
					 | 
				
			||||||
					<el-input v-model="item.name" :disabled="isdetail" :min="0" controls-position="right" clearable placeholder="请输入成分" style="width: 100%" />
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="15">
 | 
					 | 
				
			||||||
				<el-form-item label="标准含量" prop="unit1">
 | 
					 | 
				
			||||||
					<el-row :gutter="5">
 | 
					 | 
				
			||||||
						<el-col :span="1">
 | 
					 | 
				
			||||||
							<el-tooltip content="如果标准含量不是一个范围,而是一个值,在最大值、最小值中填入相同数字即可。" placement="top">
 | 
					 | 
				
			||||||
								<span style="margin-left: -15px"><i class="el-icon-question"></i></span>
 | 
					 | 
				
			||||||
							</el-tooltip>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="11">
 | 
					 | 
				
			||||||
							<el-input-number v-model="item.minValue" :disabled="isdetail" :min="0" controls-position="right" clearable placeholder="最小值" style="width: 100%" />
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="11">
 | 
					 | 
				
			||||||
							<el-input-number v-model="item.maxValue" :disabled="isdetail" :min="0" controls-position="right" clearable placeholder="最大值" style="width: 100%" />
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
					</el-row>
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
		</el-row>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	</el-form>
 | 
						</el-form>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import basicAdd from '../../core/mixins/basic-add';
 | 
					import basicAdd from '../../core/mixins/basic-add';
 | 
				
			||||||
import { createHotMaterial, updateHotMaterial, getHotMaterial, getCode, createHotMaterialCheck, updateHotMaterialCheck, getHotCheckList } from "@/api/base/coreHotMaterial";
 | 
					import { createHotMaterial, updateHotMaterial, getHotMaterial, getCode } from "@/api/base/coreHotMaterial";
 | 
				
			||||||
import { getDictDatas} from "@/utils/dict";
 | 
					import { getDictDatas} from "@/utils/dict";
 | 
				
			||||||
import SmallTitle from './SmallTitle';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
	components: { SmallTitle },
 | 
					 | 
				
			||||||
	mixins: [basicAdd],
 | 
						mixins: [basicAdd],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
@@ -118,10 +76,8 @@ export default {
 | 
				
			|||||||
        dailyCost: undefined,
 | 
					        dailyCost: undefined,
 | 
				
			||||||
				remark: undefined
 | 
									remark: undefined
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			test: [],
 | 
					 | 
				
			||||||
			departmentlList: [],
 | 
								departmentlList: [],
 | 
				
			||||||
			menuOptions: [],
 | 
								menuOptions: [],
 | 
				
			||||||
			isdetail: false,
 | 
					 | 
				
			||||||
			dataRule: {
 | 
								dataRule: {
 | 
				
			||||||
        code: [{ required: true, message: "原料编码不能为空", trigger: "blur" }],
 | 
					        code: [{ required: true, message: "原料编码不能为空", trigger: "blur" }],
 | 
				
			||||||
        name: [{ required: true, message: "原料名称不能为空", trigger: "blur" }]
 | 
					        name: [{ required: true, message: "原料名称不能为空", trigger: "blur" }]
 | 
				
			||||||
@@ -129,100 +85,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	mounted() {},
 | 
						mounted() {},
 | 
				
			||||||
	methods: {
 | 
						methods: {}
 | 
				
			||||||
		init(id, isdetail) {
 | 
					 | 
				
			||||||
			this.test = []
 | 
					 | 
				
			||||||
      this.dataForm.id = id || "";
 | 
					 | 
				
			||||||
			this.isdetail = isdetail || false;
 | 
					 | 
				
			||||||
      this.visible = true;
 | 
					 | 
				
			||||||
      this.$nextTick(() => {
 | 
					 | 
				
			||||||
        this.$refs["dataForm"].resetFields();
 | 
					 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					 | 
				
			||||||
          this.urlOptions.infoURL(id).then(response => {
 | 
					 | 
				
			||||||
            this.dataForm = response.data;
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
					getHotCheckList({
 | 
					 | 
				
			||||||
						materialId: this.dataForm.id
 | 
					 | 
				
			||||||
					}).then(res => {
 | 
					 | 
				
			||||||
						this.test = res.data
 | 
					 | 
				
			||||||
					})
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
					this.test = [
 | 
					 | 
				
			||||||
						{
 | 
					 | 
				
			||||||
							name: null,
 | 
					 | 
				
			||||||
							minValue: undefined,
 | 
					 | 
				
			||||||
							maxValue: undefined
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					]
 | 
					 | 
				
			||||||
          if (this.urlOptions.isGetCode) {
 | 
					 | 
				
			||||||
            this.getCode()
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
		// 表单提交
 | 
					 | 
				
			||||||
    dataFormSubmit() {
 | 
					 | 
				
			||||||
      this.$refs["dataForm"].validate((valid) => {
 | 
					 | 
				
			||||||
        if (!valid) {
 | 
					 | 
				
			||||||
          return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        // 修改的提交
 | 
					 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					 | 
				
			||||||
          this.urlOptions.updateURL(this.dataForm).then(response => {
 | 
					 | 
				
			||||||
						if (this.test.length > 1 || this.test[0].name) {
 | 
					 | 
				
			||||||
							this.test.forEach(check => {
 | 
					 | 
				
			||||||
								check.hotMaterialId = this.dataForm.id
 | 
					 | 
				
			||||||
								if (check.id) {
 | 
					 | 
				
			||||||
									updateHotMaterialCheck(check).then(res => {
 | 
					 | 
				
			||||||
										console.log(res)
 | 
					 | 
				
			||||||
									})
 | 
					 | 
				
			||||||
								} else {
 | 
					 | 
				
			||||||
									createHotMaterialCheck(check).then(res1 => {
 | 
					 | 
				
			||||||
										console.log(res1)
 | 
					 | 
				
			||||||
									})
 | 
					 | 
				
			||||||
								}
 | 
					 | 
				
			||||||
							})
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
            this.$modal.msgSuccess("修改成功");
 | 
					 | 
				
			||||||
            this.visible = false; 
 | 
					 | 
				
			||||||
            this.$emit("refreshDataList");
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
          return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        // 添加的提交
 | 
					 | 
				
			||||||
        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
					 | 
				
			||||||
					if (this.test.length > 1 || this.test[0].name) {
 | 
					 | 
				
			||||||
						this.test.forEach(check => {
 | 
					 | 
				
			||||||
							check.hotMaterialId = response.data
 | 
					 | 
				
			||||||
							createHotMaterialCheck(check).then(res => {
 | 
					 | 
				
			||||||
								console.log(res)
 | 
					 | 
				
			||||||
							})
 | 
					 | 
				
			||||||
						})
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
          this.$modal.msgSuccess("新增成功");
 | 
					 | 
				
			||||||
          this.visible = false;
 | 
					 | 
				
			||||||
          this.$emit("refreshDataList");
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
		addNew() {
 | 
					 | 
				
			||||||
			this.test.push({
 | 
					 | 
				
			||||||
				name: null,
 | 
					 | 
				
			||||||
				minValue: undefined,
 | 
					 | 
				
			||||||
				maxValue: undefined
 | 
					 | 
				
			||||||
			})
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					 | 
				
			||||||
<style scoped>
 | 
					 | 
				
			||||||
.action_btn {
 | 
					 | 
				
			||||||
  float: right;
 | 
					 | 
				
			||||||
  margin: -40px 15px;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add {
 | 
					 | 
				
			||||||
	color: #0b58ff;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,19 +83,13 @@ export default {
 | 
				
			|||||||
			},
 | 
								},
 | 
				
			||||||
			tableProps,
 | 
								tableProps,
 | 
				
			||||||
			tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
				this.$auth.hasPermi(`base:core-hot-material-check:detail`)
 | 
									this.$auth.hasPermi(`base:core-hot-material:update`)
 | 
				
			||||||
					? {
 | 
					 | 
				
			||||||
							type: 'detail',
 | 
					 | 
				
			||||||
							btnName: '详情',
 | 
					 | 
				
			||||||
					  }
 | 
					 | 
				
			||||||
					: undefined,
 | 
					 | 
				
			||||||
				this.$auth.hasPermi(`base:core-hot-material-check:update`)
 | 
					 | 
				
			||||||
					? {
 | 
										? {
 | 
				
			||||||
							type: 'edit',
 | 
												type: 'edit',
 | 
				
			||||||
							btnName: '编辑',
 | 
												btnName: '编辑',
 | 
				
			||||||
					  }
 | 
										  }
 | 
				
			||||||
					: undefined,
 | 
										: undefined,
 | 
				
			||||||
          this.$auth.hasPermi(`base:core-hot-material-check:delete`)
 | 
					          this.$auth.hasPermi(`base:core-hot-material:delete`)
 | 
				
			||||||
					? {
 | 
										? {
 | 
				
			||||||
							type: 'delete',
 | 
												type: 'delete',
 | 
				
			||||||
							btnName: '删除',
 | 
												btnName: '删除',
 | 
				
			||||||
@@ -126,7 +120,7 @@ export default {
 | 
				
			|||||||
					type: 'separate',
 | 
										type: 'separate',
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					type: this.$auth.hasPermi('base:core-hot-material-check:create') ? 'button' : '',
 | 
										type: this.$auth.hasPermi('base:core-hot-material:create') ? 'button' : '',
 | 
				
			||||||
					btnName: '新增',
 | 
										btnName: '新增',
 | 
				
			||||||
					name: 'add',
 | 
										name: 'add',
 | 
				
			||||||
					color: 'success',
 | 
										color: 'success',
 | 
				
			||||||
@@ -149,14 +143,6 @@ export default {
 | 
				
			|||||||
    //     this.dataListLoading = false;
 | 
					    //     this.dataListLoading = false;
 | 
				
			||||||
    //   });
 | 
					    //   });
 | 
				
			||||||
    // },
 | 
					    // },
 | 
				
			||||||
		otherMethods(val) {
 | 
					 | 
				
			||||||
			// 详情
 | 
					 | 
				
			||||||
			this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
			this.addOrEditTitle = "详情";
 | 
					 | 
				
			||||||
			this.$nextTick(() => {
 | 
					 | 
				
			||||||
				this.$refs.addOrUpdate.init(val.data.id, true);
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		buttonClick(val) {
 | 
							buttonClick(val) {
 | 
				
			||||||
			switch (val.btnName) {
 | 
								switch (val.btnName) {
 | 
				
			||||||
				case 'search':
 | 
									case 'search':
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-11-18 14:16:25
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-12-06 10:36:56
 | 
					 * @LastEditTime: 2023-11-27 20:07:09
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -91,30 +91,27 @@
 | 
				
			|||||||
						</el-col>
 | 
											</el-col>
 | 
				
			||||||
						<el-col :span="8">
 | 
											<el-col :span="8">
 | 
				
			||||||
							<el-form-item label="单位平方数" prop="area">
 | 
												<el-form-item label="单位平方数" prop="area">
 | 
				
			||||||
								<el-input-number v-model="dataForm.area" :precision="6" :min="0" style="width: 100%" :disabled="isdetail" clearable placeholder="请输入单位平方数" />
 | 
													<el-input-number v-model="dataForm.area" :precision="2" style="width: 100%" :disabled="isdetail" clearable placeholder="请输入单位平方数" />
 | 
				
			||||||
							</el-form-item>
 | 
												</el-form-item>
 | 
				
			||||||
						</el-col>
 | 
											</el-col>
 | 
				
			||||||
					</el-row>
 | 
										</el-row>
 | 
				
			||||||
					<el-row :gutter="20">
 | 
										<el-row :gutter="20">
 | 
				
			||||||
						<el-col :span="8">
 | 
											<el-col :span="8">
 | 
				
			||||||
							<el-form-item label="规格" prop="specifications">
 | 
												<el-form-item label="规格" prop="specifications">
 | 
				
			||||||
								<el-input v-model="dataForm.specifications" :disabled="isdetail" @blur="setArea" @clear="clearArea" clearable placeholder="请输入规格" />
 | 
													<el-input v-model="dataForm.specifications" :disabled="isdetail" clearable placeholder="请输入规格" />
 | 
				
			||||||
							</el-form-item>
 | 
												</el-form-item>
 | 
				
			||||||
						</el-col>
 | 
											</el-col>
 | 
				
			||||||
						<el-col :span="8">
 | 
											<el-col :span="8">
 | 
				
			||||||
							<el-form-item label="产线生产单位用时(S)" prop="processTime">
 | 
												<el-form-item label="产线生产单位用时(S)" prop="processTime">
 | 
				
			||||||
								<el-input v-model.number="dataForm.processTime" :precision="4" :min="0" type="number" :disabled="isdetail" clearable placeholder="请输入产线生产单位用时" />
 | 
													<el-input v-model.number="dataForm.processTime" type="number" :disabled="isdetail" clearable placeholder="请输入产线生产单位用时" />
 | 
				
			||||||
							</el-form-item>
 | 
												</el-form-item>
 | 
				
			||||||
						</el-col>
 | 
											</el-col>
 | 
				
			||||||
						<el-col :span="8">
 | 
											<el-col :span="8">
 | 
				
			||||||
							<el-form-item label="重量" prop="weight">
 | 
												<el-form-item label="备注" prop="remark">
 | 
				
			||||||
								<el-input-number v-model="dataForm.weight" :precision="6" :min="0" style="width: 100%" :disabled="isdetail" clearable placeholder="请输入重量" />
 | 
													<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
 | 
				
			||||||
							</el-form-item>
 | 
												</el-form-item>
 | 
				
			||||||
						</el-col>
 | 
											</el-col>
 | 
				
			||||||
					</el-row>
 | 
										</el-row>
 | 
				
			||||||
					<el-form-item label="备注" prop="remark">
 | 
					 | 
				
			||||||
						<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
 | 
					 | 
				
			||||||
					</el-form-item>
 | 
					 | 
				
			||||||
				</el-form>
 | 
									</el-form>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -243,8 +240,7 @@ export default {
 | 
				
			|||||||
				specifications: undefined,
 | 
									specifications: undefined,
 | 
				
			||||||
				processTime: 0,
 | 
									processTime: 0,
 | 
				
			||||||
        remark: undefined,
 | 
					        remark: undefined,
 | 
				
			||||||
				unit: undefined,
 | 
									unit: undefined
 | 
				
			||||||
				weight: undefined
 | 
					 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			productAttrList: [],
 | 
								productAttrList: [],
 | 
				
			||||||
			visible: false,
 | 
								visible: false,
 | 
				
			||||||
@@ -261,24 +257,6 @@ export default {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
	mounted() {},
 | 
						mounted() {},
 | 
				
			||||||
	methods: {
 | 
						methods: {
 | 
				
			||||||
		clearArea() {
 | 
					 | 
				
			||||||
			this.$set(this.dataForm, 'area', 0)
 | 
					 | 
				
			||||||
			this.$set(this.dataForm, 'weight', 0)
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		setArea() {
 | 
					 | 
				
			||||||
			if (this.dataForm.specifications) {
 | 
					 | 
				
			||||||
				const height = Number(this.dataForm.specifications.slice(2,4))
 | 
					 | 
				
			||||||
				const length = Number(this.dataForm.specifications.slice(4,8))
 | 
					 | 
				
			||||||
				const width = Number(this.dataForm.specifications.slice(8))
 | 
					 | 
				
			||||||
				// this.dataForm.area = length * width
 | 
					 | 
				
			||||||
				// this.dataForm.weight = 2.5 * height * length * width
 | 
					 | 
				
			||||||
				this.$set(this.dataForm, 'area', length * width)
 | 
					 | 
				
			||||||
				this.$set(this.dataForm, 'weight', 2.5 * height * length * width)
 | 
					 | 
				
			||||||
			} else {
 | 
					 | 
				
			||||||
				this.dataForm.area = 0
 | 
					 | 
				
			||||||
				this.dataForm.weight = 0
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		initData() {
 | 
							initData() {
 | 
				
			||||||
			this.productAttrList.splice(0);
 | 
								this.productAttrList.splice(0);
 | 
				
			||||||
			this.listQuery.total = 0;
 | 
								this.listQuery.total = 0;
 | 
				
			||||||
@@ -339,10 +317,6 @@ export default {
 | 
				
			|||||||
					// 获取产品详情
 | 
										// 获取产品详情
 | 
				
			||||||
					this.urlOptions.infoURL(id).then(response => {
 | 
										this.urlOptions.infoURL(id).then(response => {
 | 
				
			||||||
            this.dataForm = response.data
 | 
					            this.dataForm = response.data
 | 
				
			||||||
						// this.dataForm.area = response.data.area || 0
 | 
					 | 
				
			||||||
						// this.dataForm.weight = response.data.weight || 0
 | 
					 | 
				
			||||||
						// this.dataForm.specifications = response.data.specifications || undefined
 | 
					 | 
				
			||||||
						console.log('11res112', this.dataForm.specifications, this.dataForm.weight, this.dataForm.area)
 | 
					 | 
				
			||||||
						if (this.dataForm.unit !== undefined) {
 | 
											if (this.dataForm.unit !== undefined) {
 | 
				
			||||||
							this.dataForm.unit = String(this.dataForm.unit)
 | 
												this.dataForm.unit = String(this.dataForm.unit)
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
@@ -365,7 +339,7 @@ export default {
 | 
				
			|||||||
		goback() {
 | 
							goback() {
 | 
				
			||||||
			this.$emit('refreshDataList');
 | 
								this.$emit('refreshDataList');
 | 
				
			||||||
			this.visible = false;
 | 
								this.visible = false;
 | 
				
			||||||
			this.initData();
 | 
								// this.initData();
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		goEdit() {
 | 
							goEdit() {
 | 
				
			||||||
			this.isdetail = false;
 | 
								this.isdetail = false;
 | 
				
			||||||
@@ -396,7 +370,6 @@ export default {
 | 
				
			|||||||
        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
					        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
				
			||||||
          this.$modal.msgSuccess("新增成功");
 | 
					          this.$modal.msgSuccess("新增成功");
 | 
				
			||||||
					this.idAttrShow = true
 | 
										this.idAttrShow = true
 | 
				
			||||||
					this.dataForm.id = response.data
 | 
					 | 
				
			||||||
          // this.visible = false;
 | 
					          // this.visible = false;
 | 
				
			||||||
          this.$emit("refreshDataList");
 | 
					          this.$emit("refreshDataList");
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-11-18 14:16:25
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-12-26 16:59:25
 | 
					 * @LastEditTime: 2023-11-23 18:45:15
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -12,162 +12,86 @@
 | 
				
			|||||||
		:wrapper-closable="false"
 | 
							:wrapper-closable="false"
 | 
				
			||||||
		class="drawer"
 | 
							class="drawer"
 | 
				
			||||||
		size="50%"> -->
 | 
							size="50%"> -->
 | 
				
			||||||
	<div class="container">
 | 
						<div class="app-container">
 | 
				
			||||||
		<!-- <small-title slot="title" :no-padding="true">
 | 
							<!-- <small-title slot="title" :no-padding="true">
 | 
				
			||||||
			{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
 | 
								{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
 | 
				
			||||||
		</small-title> -->
 | 
							</small-title> -->
 | 
				
			||||||
		<div v-show="workOrderButton.length" class="buttonDiv">
 | 
							<el-button style="float: right" type="primary" @click="goback()">返回</el-button>
 | 
				
			||||||
			<div style="display: flex; width: 100%;">
 | 
							<div v-show="workOrderButton.length">
 | 
				
			||||||
				<el-button v-show="showScroll" type="text" style="width: 30px; background: white; margin-right: 8px" @click="scrollLeft" icon="el-icon-caret-left"></el-button>
 | 
								<el-button  v-for="(work, index) in workOrderButton" :key="index" type="primary" @click="init(work.id, true)">{{ work.name }}</el-button>
 | 
				
			||||||
				<div ref="content" class="scrollDiv">
 | 
					 | 
				
			||||||
					<el-button style="border: none" v-for="(work, index) in workOrderButton" :key="index" @click="init(work.id, true)">{{ work.name }}</el-button>
 | 
					 | 
				
			||||||
				</div>
 | 
					 | 
				
			||||||
				<el-button v-show="showScroll" type="text" @click="scrolRight" style="width: 30px; background: white; margin-left: 8px" icon="el-icon-caret-right"></el-button>
 | 
					 | 
				
			||||||
				<el-button style="float: right" type="primary" size="small" plain @click="goback()">
 | 
					 | 
				
			||||||
					<svg-icon icon-class="return"/>返回
 | 
					 | 
				
			||||||
				</el-button>
 | 
					 | 
				
			||||||
			</div>
 | 
					 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
		<div class="content">
 | 
							<div class="content">
 | 
				
			||||||
			<div class="card">
 | 
								<div>
 | 
				
			||||||
				<div class="boxTitle">
 | 
									<h1>工单编码:{{ dataForm.code }}</h1>
 | 
				
			||||||
					<span class="blueTitle"></span>
 | 
								</div>
 | 
				
			||||||
					<span>工单编码:{{ dataForm.code }}</span>
 | 
								<small-title
 | 
				
			||||||
				</div>
 | 
										style="margin: 16px 0; padding-left: 8px"
 | 
				
			||||||
				<el-button v-if="!workOrderButton.length" style="float: right" type="primary" size="small" plain @click="goback()">
 | 
										:no-padding="true">
 | 
				
			||||||
					<svg-icon icon-class="return"/>返回
 | 
										基本信息
 | 
				
			||||||
				</el-button>
 | 
								</small-title>
 | 
				
			||||||
				<div class="formContent">
 | 
								<div class="formContent">
 | 
				
			||||||
					<el-row :gutter="20">
 | 
									<el-row :gutter="20">
 | 
				
			||||||
						<el-col :span="3">
 | 
										<el-col :span="8">工单名称:{{ dataForm.name }}</el-col>
 | 
				
			||||||
							<div class="blodTip">工单名称</div>
 | 
										<el-col :span="8">工单来源:{{ dataForm.triggerOrigin === 1 ? 'MES' : dataForm.triggerOrigin === 2 ? 'ERP' : ''}}</el-col>
 | 
				
			||||||
							<div class="lightTip">{{ dataForm.name }}</div>
 | 
										<el-col :span="8">所属订单:
 | 
				
			||||||
						</el-col>
 | 
											<span v-for="(item, index) in orderList" :key="index" style="margin-right: 10px">{{ item.orderName }}</span>
 | 
				
			||||||
						<el-col :span="3">
 | 
										</el-col>
 | 
				
			||||||
							<div class="blodTip">工单来源</div>
 | 
									</el-row>
 | 
				
			||||||
							<div class="lightTip">{{ dataForm.triggerOrigin === 1 ? 'MES' : dataForm.triggerOrigin === 2 ? 'ERP' : ''}}</div>
 | 
									<el-row :gutter="20">
 | 
				
			||||||
						</el-col>
 | 
										<el-col :span="8">产品名称:{{ dataForm.productName }}</el-col>
 | 
				
			||||||
						<el-col :span="3">
 | 
										<el-col :span="8">规  格:{{ dataForm.specifications }}</el-col>
 | 
				
			||||||
							<div class="blodTip">所属订单</div>
 | 
										<el-col :span="8">计划生产数量:{{ dataForm.planQuantity }}</el-col>
 | 
				
			||||||
							<div class="lightTip">
 | 
									</el-row>
 | 
				
			||||||
								<span v-for="(item, index) in orderList" :key="index" style="margin-right: 10px">{{ item.orderName }}</span>
 | 
									<el-row :gutter="20">
 | 
				
			||||||
							</div>
 | 
										<el-col :span="8">预计用时(小时):{{ dataForm.remainingTime }}</el-col>
 | 
				
			||||||
						</el-col>
 | 
										<el-col :span="8">计划投入数量:{{ dataForm.planAssignQuantity }}</el-col>
 | 
				
			||||||
						<el-col :span="3">
 | 
										<el-col :span="8">优先级:{{ fitlerP(dataForm.priority) }}</el-col>
 | 
				
			||||||
							<div class="blodTip">产品名称</div>
 | 
									</el-row>
 | 
				
			||||||
							<div class="lightTip">{{ dataForm.productName }}</div>
 | 
									<el-row :gutter="20">
 | 
				
			||||||
						</el-col>
 | 
										<el-col :span="8">负责人:{{ dataForm.workers }}</el-col>
 | 
				
			||||||
						<el-col :span="3">
 | 
										<el-col :span="8">关联产线:
 | 
				
			||||||
							<div class="blodTip">规  格</div>
 | 
											<span v-for="(item, index) in dataForm.productLineNames" :key="index" style="margin-right: 10px">{{ item }}</span>
 | 
				
			||||||
							<div class="lightTip">{{ dataForm.specifications }}</div>
 | 
										</el-col>
 | 
				
			||||||
						</el-col>
 | 
										<el-col :span="8">物料计算方式:{{ dataForm.materialMethod === 1 ? '产品基础' : dataForm.materialMethod === 2 ? '工艺扩展' : '' }}</el-col>
 | 
				
			||||||
						<el-col :span="3">
 | 
									</el-row>
 | 
				
			||||||
							<div class="blodTip">计划生产数量</div>
 | 
									<el-row :gutter="20">
 | 
				
			||||||
							<div class="lightTip">{{ dataForm.planQuantity }}</div>
 | 
										<el-col :span="8">关联工艺:{{ dataForm.processFlowName }}</el-col>
 | 
				
			||||||
						</el-col>
 | 
									</el-row>
 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">预计用时(小时)</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.remainingTime }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">计划投入数量</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.planAssignQuantity }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
					</el-row>
 | 
					 | 
				
			||||||
					<el-row :gutter="20">
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">优先级</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ fitlerP(dataForm.priority) }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">负责人</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.workers }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">关联产线</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">
 | 
					 | 
				
			||||||
								<span v-for="(item, index) in dataForm.productLineNames" :key="index" style="margin-right: 10px">{{ item }}</span>
 | 
					 | 
				
			||||||
							</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">物料计算方式</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.materialMethod === 1 ? '产品基础' : dataForm.materialMethod === 2 ? '工艺扩展' : '' }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">关联工艺</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.processFlowName }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
					</el-row>
 | 
					 | 
				
			||||||
				</div>
 | 
					 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="card">
 | 
								<small-title
 | 
				
			||||||
				<!-- <small-title
 | 
										style="margin: 16px 0; padding-left: 8px"
 | 
				
			||||||
						style="margin: 16px 0; padding-left: 8px"
 | 
										:no-padding="true">
 | 
				
			||||||
						:no-padding="true">
 | 
										生产信息
 | 
				
			||||||
						生产信息
 | 
								</small-title>
 | 
				
			||||||
				</small-title> -->
 | 
								<div class="formContent">
 | 
				
			||||||
				<div class="boxTitle">
 | 
									<el-row :gutter="20">
 | 
				
			||||||
					<span class="blueTitle"></span>
 | 
										<el-col :span="8">工单创建时间:{{ parseTime(dataForm.createTime) }}</el-col>
 | 
				
			||||||
					<span>生产信息</span>
 | 
										<el-col :span="8">计划开始时间:{{ parseTime(dataForm.planStartTime) }}</el-col>
 | 
				
			||||||
				</div>
 | 
										<el-col :span="8">计划完成时间:{{ parseTime(dataForm.planFinishTime) }}</el-col>
 | 
				
			||||||
				<div class="formContent">
 | 
									</el-row>
 | 
				
			||||||
					<el-row :gutter="20">
 | 
									<el-row :gutter="20">
 | 
				
			||||||
						<el-col :span="3">
 | 
										<el-col :span="8">预计结束时间:{{ parseTime(dataForm.computeFinishTime) }}</el-col>
 | 
				
			||||||
							<div class="blodTip">工单创建时间</div>
 | 
										<el-col :span="8">实际开始时间:{{ parseTime(dataForm.startProduceTime) }}</el-col>
 | 
				
			||||||
							<div class="lightTip">{{ parseTime(dataForm.createTime) }}</div>
 | 
										<el-col :span="8">实际完成时间:{{ parseTime(dataForm.finishProduceTime) }}</el-col>
 | 
				
			||||||
						</el-col>
 | 
									</el-row>
 | 
				
			||||||
						<el-col :span="3">
 | 
									<el-row :gutter="20">
 | 
				
			||||||
							<div class="blodTip">计划开始时间</div>
 | 
										<el-col :span="8">工单状态:{{ fitlerS(dataForm.status) }}</el-col>
 | 
				
			||||||
							<div class="lightTip">{{ parseTime(dataForm.planStartTime) }}</div>
 | 
										<el-col :span="8">实际投入数量:{{ dataForm.assignQuantity }}</el-col>
 | 
				
			||||||
						</el-col>
 | 
										<el-col :span="8">实际生产数量:{{ dataForm.actualQuantity }}</el-col>
 | 
				
			||||||
						<el-col :span="3">
 | 
									</el-row>
 | 
				
			||||||
							<div class="blodTip">计划完成时间</div>
 | 
									<el-row :gutter="20">
 | 
				
			||||||
							<div class="lightTip">{{ parseTime(dataForm.planFinishTime) }}</div>
 | 
										<el-col :span="8">废片数量:{{ dataForm.nokQuantity }}</el-col>
 | 
				
			||||||
						</el-col>
 | 
										<el-col :span="8">检测瑕疵数:{{ }}</el-col>
 | 
				
			||||||
						<el-col :span="3">
 | 
									</el-row>
 | 
				
			||||||
							<div class="blodTip">预计结束时间</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ parseTime(dataForm.computeFinishTime) }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">实际开始时间</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ parseTime(dataForm.startProduceTime) }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">实际完成时间</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ parseTime(dataForm.finishProduceTime) }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">工单状态</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ fitlerS(dataForm.status) }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">实际投入数量</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.assignQuantity }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
					</el-row>
 | 
					 | 
				
			||||||
					<el-row :gutter="20">
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">实际生产数量</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.actualQuantity }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">废片数量</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ dataForm.nokQuantity }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
						<el-col :span="3">
 | 
					 | 
				
			||||||
							<div class="blodTip">检测瑕疵数</div>
 | 
					 | 
				
			||||||
							<div class="lightTip">{{ }}</div>
 | 
					 | 
				
			||||||
						</el-col>
 | 
					 | 
				
			||||||
					</el-row>
 | 
					 | 
				
			||||||
				</div>
 | 
					 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="card" style="padding-bottom: 16px; margin-bottom: 10px">
 | 
								<div class="attr-list">
 | 
				
			||||||
				<div class="boxTitle">
 | 
									<small-title
 | 
				
			||||||
					<span class="blueTitle"></span>
 | 
										style="margin: 16px 0; padding-left: 8px"
 | 
				
			||||||
					<span>订单相关信息</span>
 | 
										:no-padding="true">
 | 
				
			||||||
				</div>
 | 
										订单相关信息
 | 
				
			||||||
 | 
									</small-title>
 | 
				
			||||||
				<base-table
 | 
									<base-table
 | 
				
			||||||
					:table-props="tableProps"
 | 
										:table-props="tableProps"
 | 
				
			||||||
					:page="listQuery.pageNo"
 | 
										:page="listQuery.pageNo"
 | 
				
			||||||
@@ -190,11 +114,12 @@
 | 
				
			|||||||
					@pagination="getList" /> -->
 | 
										@pagination="getList" /> -->
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="card" style="padding-bottom: 16px;">
 | 
								<div class="attr-list">
 | 
				
			||||||
				<div class="boxTitle">
 | 
									<small-title
 | 
				
			||||||
					<span class="blueTitle"></span>
 | 
										style="margin: 16px 0; padding-left: 8px"
 | 
				
			||||||
					<span>预计用料信息</span>
 | 
										:no-padding="true">
 | 
				
			||||||
				</div>
 | 
										预计用料信息
 | 
				
			||||||
 | 
									</small-title>
 | 
				
			||||||
				<base-table
 | 
									<base-table
 | 
				
			||||||
					:table-props="tableProps1"
 | 
										:table-props="tableProps1"
 | 
				
			||||||
					:page="listQuery1.pageNo"
 | 
										:page="listQuery1.pageNo"
 | 
				
			||||||
@@ -302,11 +227,8 @@ export default {
 | 
				
			|||||||
			// orderArray: [],
 | 
								// orderArray: [],
 | 
				
			||||||
			visible: false,
 | 
								visible: false,
 | 
				
			||||||
			isdetail: false,
 | 
								isdetail: false,
 | 
				
			||||||
			showScroll: false,
 | 
					 | 
				
			||||||
			workOrderButton: [],
 | 
								workOrderButton: [],
 | 
				
			||||||
			processFlowList: [],
 | 
								processFlowList: []
 | 
				
			||||||
			timer: null
 | 
					 | 
				
			||||||
			// tableH: this.tableHeight(510) / 2
 | 
					 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
@@ -322,38 +244,13 @@ export default {
 | 
				
			|||||||
						name: work.name
 | 
											name: work.name
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
				const contentRef = this.$refs.content
 | 
					 | 
				
			||||||
				if (contentRef.scrollWidth > contentRef.clientWidth) {
 | 
					 | 
				
			||||||
					this.showScroll = true
 | 
					 | 
				
			||||||
				} else {
 | 
					 | 
				
			||||||
					this.showScroll = false
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				console.log(contentRef.scrollWidth, contentRef.clientWidth)
 | 
					 | 
				
			||||||
				this.init(this.workOrderButton[0].id, true)
 | 
									this.init(this.workOrderButton[0].id, true)
 | 
				
			||||||
			})
 | 
								})
 | 
				
			||||||
		} else {
 | 
							}  else {
 | 
				
			||||||
			this.init(this.$route.query.id, true)
 | 
								this.init(this.$route.query.id, true)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	methods: {
 | 
						methods: {
 | 
				
			||||||
		scrolRight() {
 | 
					 | 
				
			||||||
			// let contentRef = this.$refs.content
 | 
					 | 
				
			||||||
			// console.log('你好啊啊', contentRef.scrollWidth, contentRef.clientWidth)
 | 
					 | 
				
			||||||
			this.stopScroll()
 | 
					 | 
				
			||||||
			this.timer = setTimeout(() => {
 | 
					 | 
				
			||||||
				this.$refs.content.scrollLeft += 50
 | 
					 | 
				
			||||||
			}, 100)
 | 
					 | 
				
			||||||
			// if (contentRef.scrollWidth > contentRef.clientWi)
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		scrollLeft() {
 | 
					 | 
				
			||||||
			this.stopScroll()
 | 
					 | 
				
			||||||
			this.timer = setTimeout(() => {
 | 
					 | 
				
			||||||
				this.$refs.content.scrollLeft -= 50
 | 
					 | 
				
			||||||
			}, 100)
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		stopScroll() {
 | 
					 | 
				
			||||||
			clearTimeout(this.timer)
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		getDict() {
 | 
							getDict() {
 | 
				
			||||||
			// 工艺
 | 
								// 工艺
 | 
				
			||||||
      getProcessFlowList().then(res => {
 | 
					      getProcessFlowList().then(res => {
 | 
				
			||||||
@@ -494,26 +391,59 @@ export default {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style scoped>
 | 
					<style scoped>
 | 
				
			||||||
.scrollDiv {
 | 
					.drawer >>> .el-drawer {
 | 
				
			||||||
	width: 100%;
 | 
						border-radius: 8px 0 0 8px;
 | 
				
			||||||
	overflow-x: hidden;
 | 
					 | 
				
			||||||
	/* height: 50px; */
 | 
					 | 
				
			||||||
	display: flex;
 | 
						display: flex;
 | 
				
			||||||
	/* padding-bottom: -10px; */
 | 
						flex-direction: column;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.scrollDiv::-webkit-scrollbar-track {
 | 
					
 | 
				
			||||||
	display: none;
 | 
					.drawer >>> .el-form-item__label {
 | 
				
			||||||
 | 
						padding: 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.buttonDiv {
 | 
					
 | 
				
			||||||
	margin-bottom: 8px;
 | 
					.drawer >>> .el-drawer__header {
 | 
				
			||||||
 | 
						margin: 0;
 | 
				
			||||||
 | 
						padding: 32px 32px 24px;
 | 
				
			||||||
 | 
						border-bottom: 1px solid #dcdfe6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.drawer >>> .el-drawer__body {
 | 
				
			||||||
 | 
						flex: 1;
 | 
				
			||||||
 | 
						height: 1px;
 | 
				
			||||||
	display: flex;
 | 
						display: flex;
 | 
				
			||||||
 | 
						flex-direction: column;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.drawer >>> .content {
 | 
				
			||||||
 | 
						padding: 10px 24px;
 | 
				
			||||||
 | 
						flex: 1;
 | 
				
			||||||
 | 
						display: flex;
 | 
				
			||||||
 | 
						flex-direction: column;
 | 
				
			||||||
 | 
						/* height: 100%; */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.drawer >>> .visual-part {
 | 
				
			||||||
 | 
						flex: 1 auto;
 | 
				
			||||||
 | 
						max-height: 76vh;
 | 
				
			||||||
 | 
						overflow: hidden;
 | 
				
			||||||
 | 
						overflow-y: scroll;
 | 
				
			||||||
 | 
						padding-right: 10px; /* 调整滚动条样式 */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.drawer >>> .el-form,
 | 
				
			||||||
 | 
					.drawer >>> .attr-list {
 | 
				
			||||||
 | 
						padding: 0 16px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.drawer-body__footer {
 | 
				
			||||||
 | 
						display: flex;
 | 
				
			||||||
 | 
						justify-content: flex-end;
 | 
				
			||||||
 | 
						padding: 18px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.formContent {
 | 
					.formContent {
 | 
				
			||||||
	font-size: 16px;
 | 
						font-size: 16px;
 | 
				
			||||||
	line-height: 1.5;
 | 
						line-height: 1.5;
 | 
				
			||||||
	margin-bottom: 10px;
 | 
						margin-bottom: 10px;
 | 
				
			||||||
	width: 100%;
 | 
						width: 100%;
 | 
				
			||||||
	padding: 0 14px;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.action_btn {
 | 
					.action_btn {
 | 
				
			||||||
  float: right;
 | 
					  float: right;
 | 
				
			||||||
@@ -523,43 +453,4 @@ export default {
 | 
				
			|||||||
.add {
 | 
					.add {
 | 
				
			||||||
	color: #0b58ff;
 | 
						color: #0b58ff;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.blodTip {
 | 
					 | 
				
			||||||
	height: 16px;
 | 
					 | 
				
			||||||
	font-size: 14px;
 | 
					 | 
				
			||||||
	font-weight: 600;
 | 
					 | 
				
			||||||
	color: rgba(0,0,0,0.85);
 | 
					 | 
				
			||||||
	margin-bottom: 8px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.lightTip {
 | 
					 | 
				
			||||||
	/* height: 16px; */
 | 
					 | 
				
			||||||
	font-size: 14px;
 | 
					 | 
				
			||||||
	font-weight: 400;
 | 
					 | 
				
			||||||
	color: rgba(102,102,102,0.75);
 | 
					 | 
				
			||||||
	margin-bottom: 12px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.container {
 | 
					 | 
				
			||||||
	background-color: rgb(242, 244, 249);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.card {
 | 
					 | 
				
			||||||
	padding: 16px 16px 0 16px;
 | 
					 | 
				
			||||||
	background-color: #fff;
 | 
					 | 
				
			||||||
  border-radius: 9px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.boxTitle {
 | 
					 | 
				
			||||||
	display: inline-block;
 | 
					 | 
				
			||||||
	font-size: 16px;
 | 
					 | 
				
			||||||
	font-weight: 400;
 | 
					 | 
				
			||||||
	color: #000000;
 | 
					 | 
				
			||||||
	margin:0 10px 20px 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.blueTitle {
 | 
					 | 
				
			||||||
	content: '';
 | 
					 | 
				
			||||||
	display: inline-block;
 | 
					 | 
				
			||||||
	width: 4px;
 | 
					 | 
				
			||||||
	height: 18px;
 | 
					 | 
				
			||||||
	background-color: #0B58FF;
 | 
					 | 
				
			||||||
	border-radius: 1px;
 | 
					 | 
				
			||||||
	margin-right: 8px;
 | 
					 | 
				
			||||||
	vertical-align: bottom;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -140,13 +140,12 @@ export default {
 | 
				
			|||||||
			allocationVisible: false,
 | 
								allocationVisible: false,
 | 
				
			||||||
			tableProps,
 | 
								tableProps,
 | 
				
			||||||
			tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
				// this.$auth.hasPermi(`base:core-work-order:material`)
 | 
									this.$auth.hasPermi(`base:core-work-order:material`)
 | 
				
			||||||
				// 	? {
 | 
										? {
 | 
				
			||||||
				// 			type: 'material',
 | 
												type: 'material',
 | 
				
			||||||
				// 			btnName: '原料信息',
 | 
												btnName: '原料信息',
 | 
				
			||||||
				// 			showTip: '预使用原料信息'
 | 
										  }
 | 
				
			||||||
				// 	  }
 | 
										: undefined,
 | 
				
			||||||
				// 	: undefined,
 | 
					 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						type: 'active',
 | 
											type: 'active',
 | 
				
			||||||
						btnName: '激活',
 | 
											btnName: '激活',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -268,25 +268,17 @@ export default {
 | 
				
			|||||||
          // })
 | 
					          // })
 | 
				
			||||||
        // } else {
 | 
					        // } else {
 | 
				
			||||||
          $('.hiprintEpContainer').empty()
 | 
					          $('.hiprintEpContainer').empty()
 | 
				
			||||||
          console.log(this.modelData || {});
 | 
					          console.log(this.modelData);
 | 
				
			||||||
          hiprint.PrintElementTypeManager.build('.hiprintEpContainer', provider.value)
 | 
					          hiprint.PrintElementTypeManager.build('.hiprintEpContainer', provider.value)
 | 
				
			||||||
          $('.hiprint-printTemplate').empty()
 | 
					          $('.hiprint-printTemplate').empty()
 | 
				
			||||||
          // const templates = this.$ls.get('KEY_TEMPLATES', {})
 | 
					          // const templates = this.$ls.get('KEY_TEMPLATES', {})
 | 
				
			||||||
          const template = provider.value
 | 
					          const template = provider.value
 | 
				
			||||||
        // console.log(template)
 | 
					          // console.log(template)
 | 
				
			||||||
        if (this.modelData) {
 | 
					 | 
				
			||||||
          hiprintTemplate = new hiprint.PrintTemplate({
 | 
					          hiprintTemplate = new hiprint.PrintTemplate({
 | 
				
			||||||
            template: JSON.parse(this.modelData),
 | 
					            template: this.modelData != '' ? JSON.parse(this.modelData) : {},
 | 
				
			||||||
            settingContainer: '#PrintElementOptionSetting',
 | 
					            settingContainer: '#PrintElementOptionSetting',
 | 
				
			||||||
            paginationContainer: '.hiprint-printPagination'
 | 
					            paginationContainer: '.hiprint-printPagination'
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          hiprintTemplate = new hiprint.PrintTemplate({
 | 
					 | 
				
			||||||
            template:{},
 | 
					 | 
				
			||||||
            settingContainer: '#PrintElementOptionSetting',
 | 
					 | 
				
			||||||
            paginationContainer: '.hiprint-printPagination'
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        // }
 | 
					        // }
 | 
				
			||||||
        hiprintTemplate.design('#hiprint-printTemplate')
 | 
					        hiprintTemplate.design('#hiprint-printTemplate')
 | 
				
			||||||
        // console.log(hiprintTemplate)
 | 
					        // console.log(hiprintTemplate)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-11-18 14:16:25
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-12-04 15:10:11
 | 
					 * @LastEditTime: 2023-11-27 15:26:12
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -377,7 +377,6 @@ export default {
 | 
				
			|||||||
        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
					        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
				
			||||||
          this.$modal.msgSuccess("新增成功");
 | 
					          this.$modal.msgSuccess("新增成功");
 | 
				
			||||||
					this.idAttrShow = true
 | 
										this.idAttrShow = true
 | 
				
			||||||
					this.dataForm.id = response.data
 | 
					 | 
				
			||||||
          this.$emit("refreshDataList");
 | 
					          this.$emit("refreshDataList");
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +1,18 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-10-17 16:50:19
 | 
					 * @Date: 2023-10-17 16:50:19
 | 
				
			||||||
 * @LastEditTime: 2023-12-01 16:48:53
 | 
					 * @LastEditTime: 2023-10-30 10:47:13
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-dialog class="baseDialog" :visible.sync="visible" :show-close="false" :wrapper-closable="false" width="40%" show-close="true">
 | 
					  <el-dialog :visible.sync="visible" :show-close="false" :wrapper-closable="false" width="40%">
 | 
				
			||||||
    <small-title slot="title" :no-padding="true">
 | 
					    <small-title slot="title" :no-padding="true">
 | 
				
			||||||
      {{ !dataForm.id ? '新增' : '编辑' }}
 | 
					      {{ !dataForm.id ? '新增' : '编辑' }}
 | 
				
			||||||
    </small-title>
 | 
					    </small-title>
 | 
				
			||||||
<!--
 | 
					
 | 
				
			||||||
    <div class="content">
 | 
					    <div class="content">
 | 
				
			||||||
      <div class="visual-part"> -->
 | 
					      <div class="visual-part">
 | 
				
			||||||
        <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="100px"
 | 
					        <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="100px"
 | 
				
			||||||
          @keyup.enter.native="dataFormSubmit">
 | 
					          @keyup.enter.native="dataFormSubmit">
 | 
				
			||||||
          <el-row :gutter="20">
 | 
					          <el-row :gutter="20">
 | 
				
			||||||
@@ -96,8 +96,8 @@
 | 
				
			|||||||
						:page-sizes="[5, 10, 15]"
 | 
											:page-sizes="[5, 10, 15]"
 | 
				
			||||||
						@pagination="getList" />
 | 
											@pagination="getList" />
 | 
				
			||||||
				</div> -->
 | 
									</div> -->
 | 
				
			||||||
      <!-- </div> -->
 | 
					      </div>
 | 
				
			||||||
    <!-- </div> -->
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- <div style="position: absolute; bottom: 24px; right: 24px">
 | 
					    <!-- <div style="position: absolute; bottom: 24px; right: 24px">
 | 
				
			||||||
			<el-button style="margin-right: 10px" @click="goback()">返回</el-button>
 | 
								<el-button style="margin-right: 10px" @click="goback()">返回</el-button>
 | 
				
			||||||
@@ -416,34 +416,3 @@ export default {
 | 
				
			|||||||
	padding: 18px;
 | 
						padding: 18px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style> -->
 | 
					</style> -->
 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__header {
 | 
					 | 
				
			||||||
  font-size: 16px;
 | 
					 | 
				
			||||||
  color: rgba(0, 0, 0, 0.85);
 | 
					 | 
				
			||||||
  font-weight: 500;
 | 
					 | 
				
			||||||
  padding: 13px 24px;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e9e9e9;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__header .titleStyle::before{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  display: inline-block;
 | 
					 | 
				
			||||||
  width: 4px;
 | 
					 | 
				
			||||||
  height: 16px;
 | 
					 | 
				
			||||||
  background-color: #0B58FF;
 | 
					 | 
				
			||||||
  border-radius: 1px;
 | 
					 | 
				
			||||||
  margin-right: 8px;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  top: 2px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__body {
 | 
					 | 
				
			||||||
  padding-left: 24px;
 | 
					 | 
				
			||||||
  padding-right: 24px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .btnTextStyle {
 | 
					 | 
				
			||||||
  letter-spacing:6px;
 | 
					 | 
				
			||||||
  padding: 9px 10px 9px 16px;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,12 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-10-17 16:50:19
 | 
					 * @Date: 2023-10-17 16:50:19
 | 
				
			||||||
 * @LastEditTime: 2023-12-04 13:43:19
 | 
					 * @LastEditTime: 2023-10-30 10:41:07
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-dialog class="baseDialog" :visible.sync="visible" :show-close="false" :wrapper-closable="false" width="30%" show-close="true">
 | 
					  <el-dialog :visible.sync="visible" :show-close="false" :wrapper-closable="false" width="30%">
 | 
				
			||||||
    <small-title slot="title" :no-padding="true">
 | 
					    <small-title slot="title" :no-padding="true">
 | 
				
			||||||
      {{ !dataForm.id ? '新增' : '编辑' }}
 | 
					      {{ !dataForm.id ? '新增' : '编辑' }}
 | 
				
			||||||
    </small-title>
 | 
					    </small-title>
 | 
				
			||||||
@@ -46,7 +46,7 @@
 | 
				
			|||||||
          <el-row :gutter="20">
 | 
					          <el-row :gutter="20">
 | 
				
			||||||
            <el-col :span="12">
 | 
					            <el-col :span="12">
 | 
				
			||||||
              <el-form-item label="模板设计" prop="content">
 | 
					              <el-form-item label="模板设计" prop="content">
 | 
				
			||||||
                <el-button  icon="el-icon-edit" @click="btnClickDesign()">模板设计</el-button>
 | 
					                <el-button type="primary" @click="btnClickDesign()">模板设计</el-button>
 | 
				
			||||||
              </el-form-item>
 | 
					              </el-form-item>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col>
 | 
				
			||||||
            <!-- <el-col :span="12">
 | 
					            <!-- <el-col :span="12">
 | 
				
			||||||
@@ -439,36 +439,3 @@ export default {
 | 
				
			|||||||
	padding: 18px;
 | 
						padding: 18px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style> -->
 | 
					</style> -->
 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__header {
 | 
					 | 
				
			||||||
  font-size: 16px;
 | 
					 | 
				
			||||||
  color: rgba(0, 0, 0, 0.85);
 | 
					 | 
				
			||||||
  font-weight: 500;
 | 
					 | 
				
			||||||
  padding: 13px 24px;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e9e9e9;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__header .titleStyle::before{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  display: inline-block;
 | 
					 | 
				
			||||||
  width: 4px;
 | 
					 | 
				
			||||||
  height: 16px;
 | 
					 | 
				
			||||||
  background-color: #0B58FF;
 | 
					 | 
				
			||||||
  border-radius: 1px;
 | 
					 | 
				
			||||||
  margin-right: 8px;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  top: 2px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__body {
 | 
					 | 
				
			||||||
  padding-left: 24px;
 | 
					 | 
				
			||||||
  padding-right: 24px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .btnTextStyle {
 | 
					 | 
				
			||||||
  letter-spacing:6px;
 | 
					 | 
				
			||||||
  padding: 9px 10px 9px 16px;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2023-08-01 14:55:51
 | 
					 * @Date: 2023-08-01 14:55:51
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @LastEditTime: 2023-12-04 13:38:45
 | 
					 * @LastEditTime: 2023-11-22 14:40:07
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -71,7 +71,7 @@ export default {
 | 
				
			|||||||
      modelShow:false,
 | 
					      modelShow:false,
 | 
				
			||||||
      tableBtn: [
 | 
					      tableBtn: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: 'detail',
 | 
					          type: 'print',
 | 
				
			||||||
          btnName: '查看',
 | 
					          btnName: '查看',
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        this.$auth.hasPermi(`base:packaging-print-model:update`)
 | 
					        this.$auth.hasPermi(`base:packaging-print-model:update`)
 | 
				
			||||||
@@ -121,12 +121,11 @@ export default {
 | 
				
			|||||||
				// 	name: 'reset',
 | 
									// 	name: 'reset',
 | 
				
			||||||
				// },
 | 
									// },
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
          type: 'label',
 | 
										type: 'separate',
 | 
				
			||||||
          label:'标签模板',
 | 
					 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
          type: this.$auth.hasPermi('base:packaging-print-model:create') ? 'button' : '',
 | 
					          type: this.$auth.hasPermi('base:packaging-print-model:create') ? 'button' : '',
 | 
				
			||||||
					btnName: '新增',
 | 
										btnName: '新增模板',
 | 
				
			||||||
					name: 'add',
 | 
										name: 'add',
 | 
				
			||||||
					color: 'success',
 | 
										color: 'success',
 | 
				
			||||||
					plain: true,
 | 
										plain: true,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,19 +1,19 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-10-17 16:50:19
 | 
					 * @Date: 2023-10-17 16:50:19
 | 
				
			||||||
 * @LastEditTime: 2023-12-04 13:45:45
 | 
					 * @LastEditTime: 2023-10-18 16:07:39
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-dialog class="baseDialog" :visible.sync="visible" :show-close="false" :wrapper-closable="false" width="40%" show-close="true">
 | 
					  <el-dialog :visible.sync="visible" :show-close="false" :wrapper-closable="false" width="40%">
 | 
				
			||||||
    <small-title slot="title" :no-padding="true">
 | 
					    <small-title slot="title" :no-padding="true">
 | 
				
			||||||
      {{ !dataForm.id ? '新增' : '编辑' }}
 | 
					      {{ !dataForm.id ? '新增' : '编辑' }}
 | 
				
			||||||
    </small-title>
 | 
					    </small-title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div class="content">
 | 
					    <div class="content">
 | 
				
			||||||
      <div class="visual-part">
 | 
					      <div class="visual-part">
 | 
				
			||||||
        <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="auto"
 | 
					        <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="100px"
 | 
				
			||||||
          @keyup.enter.native="dataFormSubmit">
 | 
					          @keyup.enter.native="dataFormSubmit">
 | 
				
			||||||
          <el-row :gutter="20">
 | 
					          <el-row :gutter="20">
 | 
				
			||||||
            <el-col :span="12">
 | 
					            <el-col :span="12">
 | 
				
			||||||
@@ -345,37 +345,3 @@ export default {
 | 
				
			|||||||
	padding: 18px;
 | 
						padding: 18px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style> -->
 | 
					</style> -->
 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__header {
 | 
					 | 
				
			||||||
  font-size: 16px;
 | 
					 | 
				
			||||||
  color: rgba(0, 0, 0, 0.85);
 | 
					 | 
				
			||||||
  font-weight: 500;
 | 
					 | 
				
			||||||
  padding: 13px 24px;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e9e9e9;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__header .titleStyle::before{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  display: inline-block;
 | 
					 | 
				
			||||||
  width: 4px;
 | 
					 | 
				
			||||||
  height: 16px;
 | 
					 | 
				
			||||||
  background-color: #0B58FF;
 | 
					 | 
				
			||||||
  border-radius: 1px;
 | 
					 | 
				
			||||||
  margin-right: 8px;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  top: 2px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .el-dialog__body {
 | 
					 | 
				
			||||||
  padding-left: 24px;
 | 
					 | 
				
			||||||
  padding-right: 24px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.baseDialog .btnTextStyle {
 | 
					 | 
				
			||||||
  letter-spacing:6px;
 | 
					 | 
				
			||||||
  padding: 9px 10px 9px 16px;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2023-08-01 14:55:51
 | 
					 * @Date: 2023-08-01 14:55:51
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @LastEditTime: 2023-12-04 13:44:01
 | 
					 * @LastEditTime: 2023-11-22 14:36:33
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -122,8 +122,7 @@ export default {
 | 
				
			|||||||
				// 	name: 'reset',
 | 
									// 	name: 'reset',
 | 
				
			||||||
				// },
 | 
									// },
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
          type: 'label',
 | 
										type: 'separate',
 | 
				
			||||||
          label: '标签类型'
 | 
					 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
          type: this.$auth.hasPermi('base:packaging-print-type:create') ? 'button' : '',
 | 
					          type: this.$auth.hasPermi('base:packaging-print-type:create') ? 'button' : '',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="navbar">
 | 
					  <div class="navbar">
 | 
				
			||||||
    <div style="color: #fff;font-size: 22px; float: left; letter-spacing: 2px; font-weight: 500; padding-left: 24px; marginTop: 13px">
 | 
					    <div style="color: #fff;font-size: 22px; float: left; letter-spacing: 1px; font-weight: 500; padding-left: 24px; marginTop: 13px">
 | 
				
			||||||
      <img src="../../../assets/logo/logo.png" style="width: 79px; height: 28px; position: relative; top: 6px; marginRight: 14px" alt="">
 | 
					      <img src="../../../assets/images/cnbm.png" style="width: 26px; height: 26px; position: relative; top: 6px; marginRight: 14px" alt="">
 | 
				
			||||||
      许昌安彩新能科技有限公司
 | 
					      MES
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <div style="padding-top: 15px; padding-right: 38px;">
 | 
					    <div style="padding-top: 15px; padding-right: 38px;">
 | 
				
			||||||
      <navbar-right />
 | 
					      <navbar-right />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  <div class="choicepart-container">
 | 
					  <div class="choicepart-container">
 | 
				
			||||||
    <navbar />
 | 
					    <navbar />
 | 
				
			||||||
    <div class="choicepart-wrapper">
 | 
					    <div class="choicepart-wrapper">
 | 
				
			||||||
      <div class="choicepart-box" id="choicepartBox" :style="'transform:scale('+scale+');width:1710px;height:538px;'" v-show="showItem">
 | 
					      <div class="choicepart-box" id="choicepartBox" :style="'transform:scale('+scale+');width:1574px;height:538px;'" v-show="showItem">
 | 
				
			||||||
      <div class="choicepart-line1">
 | 
					      <div class="choicepart-line1">
 | 
				
			||||||
        <div
 | 
					        <div
 | 
				
			||||||
          v-for="(item, index) in menuArr1"
 | 
					          v-for="(item, index) in menuArr1"
 | 
				
			||||||
@@ -102,7 +102,9 @@ export default {
 | 
				
			|||||||
          meta: {
 | 
					          meta: {
 | 
				
			||||||
            title: ''
 | 
					            title: ''
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      menuArr2: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: 'Packaging',
 | 
					          name: 'Packaging',
 | 
				
			||||||
          title: '包装管理',
 | 
					          title: '包装管理',
 | 
				
			||||||
@@ -110,9 +112,7 @@ export default {
 | 
				
			|||||||
          meta: {
 | 
					          meta: {
 | 
				
			||||||
            title: ''
 | 
					            title: ''
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        },
 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      menuArr2: [
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: 'Material',
 | 
					          name: 'Material',
 | 
				
			||||||
          title: '物料管理',
 | 
					          title: '物料管理',
 | 
				
			||||||
@@ -129,14 +129,14 @@ export default {
 | 
				
			|||||||
            title: ''
 | 
					            title: ''
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        // {
 | 
					        {
 | 
				
			||||||
        //   name: 'Delivery',
 | 
					          name: 'Delivery',
 | 
				
			||||||
        //   title: '成品发货',
 | 
					          title: '成品发货',
 | 
				
			||||||
        //   visible: false,
 | 
					          visible: false,
 | 
				
			||||||
        //   meta: {
 | 
					          meta: {
 | 
				
			||||||
        //     title: ''
 | 
					            title: ''
 | 
				
			||||||
        //   }
 | 
					          }
 | 
				
			||||||
        // },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: 'Report',
 | 
					          name: 'Report',
 | 
				
			||||||
          title: '报表管理',
 | 
					          title: '报表管理',
 | 
				
			||||||
@@ -145,30 +145,6 @@ export default {
 | 
				
			|||||||
            title: ''
 | 
					            title: ''
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          name: 'Cost',
 | 
					 | 
				
			||||||
          title: '成本管理',
 | 
					 | 
				
			||||||
          visible: false,
 | 
					 | 
				
			||||||
          meta: {
 | 
					 | 
				
			||||||
            title: ''
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          name: 'SafetyEnvironmental',
 | 
					 | 
				
			||||||
          title: '安环管理',
 | 
					 | 
				
			||||||
          visible: false,
 | 
					 | 
				
			||||||
          meta: {
 | 
					 | 
				
			||||||
            title: ''
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          name: 'Databoard',
 | 
					 | 
				
			||||||
          title: '数据驾驶舱',
 | 
					 | 
				
			||||||
          visible: false,
 | 
					 | 
				
			||||||
          meta: {
 | 
					 | 
				
			||||||
            title: ''
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: 'System',
 | 
					          name: 'System',
 | 
				
			||||||
          title: '系统管理',
 | 
					          title: '系统管理',
 | 
				
			||||||
@@ -200,7 +176,7 @@ export default {
 | 
				
			|||||||
      console.log(menuList)
 | 
					      console.log(menuList)
 | 
				
			||||||
      if (menuList.length > 0) {
 | 
					      if (menuList.length > 0) {
 | 
				
			||||||
        for (let i = 0; i < menuList.length; i ++) {
 | 
					        for (let i = 0; i < menuList.length; i ++) {
 | 
				
			||||||
          for (let k = 0; k < 8; k++) {
 | 
					          for (let k = 0; k < 7; k++) {
 | 
				
			||||||
            if (menuList[i].name === this.menuArr1[k].name) {
 | 
					            if (menuList[i].name === this.menuArr1[k].name) {
 | 
				
			||||||
              this.menuArr1[k].visible = true
 | 
					              this.menuArr1[k].visible = true
 | 
				
			||||||
              this.menuArr1[k].id = menuList[i].id
 | 
					              this.menuArr1[k].id = menuList[i].id
 | 
				
			||||||
@@ -209,7 +185,7 @@ export default {
 | 
				
			|||||||
              this.menuArr1[k].meta = menuList[i].meta
 | 
					              this.menuArr1[k].meta = menuList[i].meta
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          for (let j = 0; j < 7; j++) {
 | 
					          for (let j = 0; j < 6; j++) {
 | 
				
			||||||
            if (menuList[i].name === this.menuArr2[j].name) {
 | 
					            if (menuList[i].name === this.menuArr2[j].name) {
 | 
				
			||||||
              this.menuArr2[j].visible = true
 | 
					              this.menuArr2[j].visible = true
 | 
				
			||||||
              this.menuArr2[j].id = menuList[i].id
 | 
					              this.menuArr2[j].id = menuList[i].id
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -84,7 +84,7 @@ export default {
 | 
				
			|||||||
					label: '时间',
 | 
										label: '时间',
 | 
				
			||||||
					dateType: 'monthrange',
 | 
										dateType: 'monthrange',
 | 
				
			||||||
					format: 'yyyy-MM',
 | 
										format: 'yyyy-MM',
 | 
				
			||||||
					valueFormat: 'timestamp',
 | 
										valueFormat: 'yyyy-MM-ddTHH:mm:ss',
 | 
				
			||||||
					rangeSeparator: '-',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
					startPlaceholder: '开始时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
					endPlaceholder: '结束时间',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2022-08-24 11:19:43
 | 
					 * @Date: 2022-08-24 11:19:43
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @LastEditTime: 2023-12-13 15:52:53
 | 
					 * @LastEditTime: 2023-11-06 15:59:53
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
@@ -38,7 +38,7 @@ export default {
 | 
				
			|||||||
        this.$refs["dataForm"].resetFields();
 | 
					        this.$refs["dataForm"].resetFields();
 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
          this.urlOptions.infoURL(id).then(response => {
 | 
					          this.urlOptions.infoURL(id).then(response => {
 | 
				
			||||||
            this.dataForm = response.data
 | 
					            this.dataForm = response.data;
 | 
				
			||||||
            if (this.setData) {
 | 
					            if (this.setData) {
 | 
				
			||||||
              this.setDataForm()
 | 
					              this.setDataForm()
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -80,7 +80,7 @@ export default {
 | 
				
			|||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
          this.urlOptions.updateURL(this.dataForm).then(response => {
 | 
					          this.urlOptions.updateURL(this.dataForm).then(response => {
 | 
				
			||||||
            this.$modal.msgSuccess("修改成功");
 | 
					            this.$modal.msgSuccess("修改成功");
 | 
				
			||||||
            this.visible = false;
 | 
					            this.visible = false; 
 | 
				
			||||||
            this.$emit("refreshDataList");
 | 
					            this.$emit("refreshDataList");
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
          return;
 | 
					          return;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,162 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
	<div class="app-container">
 | 
					 | 
				
			||||||
		<!-- 搜索工作栏 -->
 | 
					 | 
				
			||||||
		<search-bar
 | 
					 | 
				
			||||||
			:formConfigs="formConfig"
 | 
					 | 
				
			||||||
			ref="searchBarForm"
 | 
					 | 
				
			||||||
			@headBtnClick="buttonClick" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<!-- 列表 -->
 | 
					 | 
				
			||||||
		<base-table
 | 
					 | 
				
			||||||
			v-loading="dataListLoading"
 | 
					 | 
				
			||||||
			:table-props="tableProps"
 | 
					 | 
				
			||||||
			:page="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:limit="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:table-data="tableData"></base-table>
 | 
					 | 
				
			||||||
		<pagination
 | 
					 | 
				
			||||||
			:limit.sync="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:page.sync="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:total="listQuery.total"
 | 
					 | 
				
			||||||
			@pagination="getDataList" />
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import basicPage from '../mixins/basic-page';
 | 
					 | 
				
			||||||
import codeFilter from '../mixins/code-filter';
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
	getCostEneryAutoPage,
 | 
					 | 
				
			||||||
	exportCostEneryExcel,
 | 
					 | 
				
			||||||
} from '@/api/cost/costEneryAutoReport';
 | 
					 | 
				
			||||||
import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
					 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'energyTypeName',
 | 
					 | 
				
			||||||
		label: '能源类型',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'objName',
 | 
					 | 
				
			||||||
		label: '监控对象',
 | 
					 | 
				
			||||||
		filter: (val) => (val != null ? val : '--'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'tableName',
 | 
					 | 
				
			||||||
		label: '水/气表名',
 | 
					 | 
				
			||||||
		filter: (val) => (val != null ? val : '--'),
 | 
					 | 
				
			||||||
		filter: publicFormatter('table_name'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalUsed',
 | 
					 | 
				
			||||||
		label: '累计使用量',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalCost',
 | 
					 | 
				
			||||||
		label: '总价',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	mixins: [basicPage],
 | 
					 | 
				
			||||||
	data() {
 | 
					 | 
				
			||||||
		return {
 | 
					 | 
				
			||||||
			urlOptions: {
 | 
					 | 
				
			||||||
				getDataListURL: getCostEneryAutoPage,
 | 
					 | 
				
			||||||
        exportURL: exportCostEneryExcel
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			tableData: [],
 | 
					 | 
				
			||||||
			tableProps,
 | 
					 | 
				
			||||||
			drawerVisible: false,
 | 
					 | 
				
			||||||
			formConfig: [
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '能源类型',
 | 
					 | 
				
			||||||
					selectOptions: [],
 | 
					 | 
				
			||||||
					param: 'energyTypeId',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'datePicker',
 | 
					 | 
				
			||||||
					label: '时间范围',
 | 
					 | 
				
			||||||
					dateType: 'daterange',
 | 
					 | 
				
			||||||
					format: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					valueFormat: 'timestamp',
 | 
					 | 
				
			||||||
					rangeSeparator: '-',
 | 
					 | 
				
			||||||
					startPlaceholder: '开始时间',
 | 
					 | 
				
			||||||
					endPlaceholder: '结束时间',
 | 
					 | 
				
			||||||
					param: 'searchTime',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'button',
 | 
					 | 
				
			||||||
					btnName: '查询',
 | 
					 | 
				
			||||||
					name: 'search',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: this.$auth.hasPermi('cost:energyCost:export')
 | 
					 | 
				
			||||||
						? 'button'
 | 
					 | 
				
			||||||
						: '',
 | 
					 | 
				
			||||||
					btnName: '导出',
 | 
					 | 
				
			||||||
					name: 'export',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
					plain: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
			],
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	components: {},
 | 
					 | 
				
			||||||
	created() {
 | 
					 | 
				
			||||||
		getEnergyTypeListAll().then((response) => {
 | 
					 | 
				
			||||||
			this.formConfig[0].selectOptions = response.data;
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	methods: {
 | 
					 | 
				
			||||||
    // 获取数据列表
 | 
					 | 
				
			||||||
    getDataList() {
 | 
					 | 
				
			||||||
      if(this.listQuery.searchTime){
 | 
					 | 
				
			||||||
      this.dataListLoading = true;
 | 
					 | 
				
			||||||
      this.urlOptions.getDataListURL(this.listQuery).then(response => {
 | 
					 | 
				
			||||||
        if(response.hasOwnProperty('data')){
 | 
					 | 
				
			||||||
          this.tableData = response.data.list;
 | 
					 | 
				
			||||||
          this.listQuery.total = response.data.total;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        this.dataListLoading = false;
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    }else{
 | 
					 | 
				
			||||||
      this.$message.warning('请选择时间范围')
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
		buttonClick(val) {
 | 
					 | 
				
			||||||
			switch (val.btnName) {
 | 
					 | 
				
			||||||
				case 'search':
 | 
					 | 
				
			||||||
					this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
					this.listQuery.pageSize = 10;
 | 
					 | 
				
			||||||
					this.listQuery.energyTypeId = val.energyTypeId;
 | 
					 | 
				
			||||||
          this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
 | 
					 | 
				
			||||||
					this.listQuery.startTime = val.searchTime ? val.searchTime[0] : null;
 | 
					 | 
				
			||||||
					this.listQuery.endTime = val.searchTime ? val.searchTime[1] : null;
 | 
					 | 
				
			||||||
					this.getDataList();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'export':
 | 
					 | 
				
			||||||
          const data = {
 | 
					 | 
				
			||||||
            energyTypeId:val.energyTypeId,
 | 
					 | 
				
			||||||
            startTime : val.searchTime ? val.searchTime[0] : null,
 | 
					 | 
				
			||||||
            endTime : val.searchTime ? val.searchTime[1] : null,
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
					this.handleExport(data);
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				default:
 | 
					 | 
				
			||||||
					console.log(val);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
.app-container .el-table .el-table__cell {
 | 
					 | 
				
			||||||
	padding: 0;
 | 
					 | 
				
			||||||
	height: 35px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
@@ -1,180 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
	<div class="app-container">
 | 
					 | 
				
			||||||
		<!-- 搜索工作栏 -->
 | 
					 | 
				
			||||||
		<search-bar
 | 
					 | 
				
			||||||
			:formConfigs="formConfig"
 | 
					 | 
				
			||||||
			ref="searchBarForm"
 | 
					 | 
				
			||||||
			@headBtnClick="buttonClick" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<!-- 列表 -->
 | 
					 | 
				
			||||||
		<base-table
 | 
					 | 
				
			||||||
			v-loading="dataListLoading"
 | 
					 | 
				
			||||||
			:table-props="tableProps"
 | 
					 | 
				
			||||||
			:page="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:limit="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:table-data="tableData"></base-table>
 | 
					 | 
				
			||||||
		<pagination
 | 
					 | 
				
			||||||
			:limit.sync="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:page.sync="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:total="listQuery.total"
 | 
					 | 
				
			||||||
			@pagination="getDataList" />
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import basicPage from '../mixins/basic-page';
 | 
					 | 
				
			||||||
import codeFilter from '../mixins/code-filter';
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
	getCostEneryAutoReportPage,
 | 
					 | 
				
			||||||
	exportCostEneryAutoReportExcel,
 | 
					 | 
				
			||||||
} from '@/api/cost/costEneryAutoReport';
 | 
					 | 
				
			||||||
import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
					 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					 | 
				
			||||||
import moment from 'moment';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'reportType',
 | 
					 | 
				
			||||||
		label: '维度',
 | 
					 | 
				
			||||||
		filter: codeFilter('reportType'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'reportName',
 | 
					 | 
				
			||||||
		label: '时间',
 | 
					 | 
				
			||||||
		minWidth: 150,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'energyType',
 | 
					 | 
				
			||||||
		label: '能源类型',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'objName',
 | 
					 | 
				
			||||||
		label: '监控对象',
 | 
					 | 
				
			||||||
		filter: (val) => (val != null ? val : '--'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'tableName',
 | 
					 | 
				
			||||||
		label: '水/气表名',
 | 
					 | 
				
			||||||
		filter: (val) => (val != null ? val : '--'),
 | 
					 | 
				
			||||||
		filter: publicFormatter('table_name'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalUsed',
 | 
					 | 
				
			||||||
		label: '累计使用量',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalCost',
 | 
					 | 
				
			||||||
		label: '总价',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	mixins: [basicPage],
 | 
					 | 
				
			||||||
	data() {
 | 
					 | 
				
			||||||
		return {
 | 
					 | 
				
			||||||
			urlOptions: {
 | 
					 | 
				
			||||||
				getDataListURL: getCostEneryAutoReportPage,
 | 
					 | 
				
			||||||
				exportURL: exportCostEneryAutoReportExcel,
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			tableData: [],
 | 
					 | 
				
			||||||
			tableProps,
 | 
					 | 
				
			||||||
			drawerVisible: false,
 | 
					 | 
				
			||||||
			formConfig: [
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '维度',
 | 
					 | 
				
			||||||
					selectOptions: [
 | 
					 | 
				
			||||||
						{ id: 2, name: '日' },
 | 
					 | 
				
			||||||
						{ id: 3, name: '周' },
 | 
					 | 
				
			||||||
						{ id: 4, name: '月' },
 | 
					 | 
				
			||||||
						{ id: 5, name: '年' },
 | 
					 | 
				
			||||||
					],
 | 
					 | 
				
			||||||
					param: 'reportType',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
					clearable: false,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '能源类型',
 | 
					 | 
				
			||||||
					selectOptions: [],
 | 
					 | 
				
			||||||
					param: 'energyTypeId',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'datePicker',
 | 
					 | 
				
			||||||
					label: '时间范围',
 | 
					 | 
				
			||||||
					dateType: 'daterange',
 | 
					 | 
				
			||||||
					format: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					valueFormat: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					rangeSeparator: '-',
 | 
					 | 
				
			||||||
					startPlaceholder: '开始时间',
 | 
					 | 
				
			||||||
					endPlaceholder: '结束时间',
 | 
					 | 
				
			||||||
					param: 'searchTime',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'button',
 | 
					 | 
				
			||||||
					btnName: '查询',
 | 
					 | 
				
			||||||
					name: 'search',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: this.$auth.hasPermi('cost:energyCostHis:export')
 | 
					 | 
				
			||||||
						? 'button'
 | 
					 | 
				
			||||||
						: '',
 | 
					 | 
				
			||||||
					btnName: '导出',
 | 
					 | 
				
			||||||
					name: 'export',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
					plain: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
			],
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	components: {},
 | 
					 | 
				
			||||||
	created() {
 | 
					 | 
				
			||||||
		getEnergyTypeListAll().then((response) => {
 | 
					 | 
				
			||||||
			this.formConfig[1].selectOptions = response.data;
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	methods: {
 | 
					 | 
				
			||||||
		buttonClick(val) {
 | 
					 | 
				
			||||||
			switch (val.btnName) {
 | 
					 | 
				
			||||||
				case 'search':
 | 
					 | 
				
			||||||
					this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
					this.listQuery.pageSize = 10;
 | 
					 | 
				
			||||||
					this.listQuery.reportType = val.reportType;
 | 
					 | 
				
			||||||
					this.listQuery.energyTypeId = val.energyTypeId;
 | 
					 | 
				
			||||||
					this.listQuery.reportTime = val.searchTime
 | 
					 | 
				
			||||||
						? [
 | 
					 | 
				
			||||||
								moment(val.searchTime[0]).startOf('day').format('x'),
 | 
					 | 
				
			||||||
								moment(val.searchTime[1]).endOf('day').format('x'),
 | 
					 | 
				
			||||||
						  ]
 | 
					 | 
				
			||||||
						: null;
 | 
					 | 
				
			||||||
					this.getDataList();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'export':
 | 
					 | 
				
			||||||
					const data = {
 | 
					 | 
				
			||||||
						reportType: val.reportType,
 | 
					 | 
				
			||||||
						energyTypeId: val.energyTypeId,
 | 
					 | 
				
			||||||
						reportTime: val.searchTime
 | 
					 | 
				
			||||||
							? [
 | 
					 | 
				
			||||||
									moment(val.searchTime[0]).startOf('day').format('x'),
 | 
					 | 
				
			||||||
									moment(val.searchTime[1]).endOf('day').format('x'),
 | 
					 | 
				
			||||||
							  ]
 | 
					 | 
				
			||||||
							: null,
 | 
					 | 
				
			||||||
					};
 | 
					 | 
				
			||||||
					this.handleExport(data);
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				default:
 | 
					 | 
				
			||||||
					console.log(val);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
.app-container .el-table .el-table__cell {
 | 
					 | 
				
			||||||
	padding: 0;
 | 
					 | 
				
			||||||
	height: 35px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
@@ -1,121 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2022-08-24 11:19:43
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-11-02 15:33:39
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import { listData } from "@/api/system/dict/data";
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
  data() {
 | 
					 | 
				
			||||||
    /* eslint-disable */
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
      urlOptions: {
 | 
					 | 
				
			||||||
        createURL: '',
 | 
					 | 
				
			||||||
        updateURL: '',
 | 
					 | 
				
			||||||
        infoURL: '',
 | 
					 | 
				
			||||||
        codeURL: '',
 | 
					 | 
				
			||||||
        getOption: false, //是否加载获取下拉框方法
 | 
					 | 
				
			||||||
        isGetCode: false, //是否加载获取code方法
 | 
					 | 
				
			||||||
        getDictList: false, //是否加载获取数据字典方法
 | 
					 | 
				
			||||||
        optionArrUrl: [], //需要获取下拉框的方法数组
 | 
					 | 
				
			||||||
        optionArr: {}, //需要获取下拉框的方法数组的返回结果
 | 
					 | 
				
			||||||
        dictList: {}, //需要获取数据字典的方法数组的返回结果
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      visible: false,
 | 
					 | 
				
			||||||
      setData: false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  created() {
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  activated() {
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  methods: {
 | 
					 | 
				
			||||||
    init(id) {
 | 
					 | 
				
			||||||
      this.dataForm.id = id || "";
 | 
					 | 
				
			||||||
      this.visible = true;
 | 
					 | 
				
			||||||
      if (this.urlOptions.getOption) {
 | 
					 | 
				
			||||||
        this.getArr()
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (this.urlOptions.getDictList) {
 | 
					 | 
				
			||||||
        this.getDict()
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      this.$nextTick(() => {
 | 
					 | 
				
			||||||
        this.$refs["dataForm"].resetFields();
 | 
					 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					 | 
				
			||||||
          this.urlOptions.infoURL(id).then(response => {
 | 
					 | 
				
			||||||
            this.dataForm = response.data;
 | 
					 | 
				
			||||||
            if (this.setData) {
 | 
					 | 
				
			||||||
              this.setDataForm()
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          if (this.urlOptions.isGetCode) {
 | 
					 | 
				
			||||||
            this.getCode()
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
		getCode() {
 | 
					 | 
				
			||||||
			this.urlOptions.codeURL()
 | 
					 | 
				
			||||||
				.then(({ data: res }) => {
 | 
					 | 
				
			||||||
					this.dataForm.code = res;
 | 
					 | 
				
			||||||
				})
 | 
					 | 
				
			||||||
				.catch(() => {});
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
    getArr() {
 | 
					 | 
				
			||||||
      const params = {
 | 
					 | 
				
			||||||
        pageSize: 100,
 | 
					 | 
				
			||||||
        pageNo: 1,
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      this.urlOptions.optionArrUrl.forEach((item, index) => {
 | 
					 | 
				
			||||||
        item(params).then(({ data: res }) => {
 | 
					 | 
				
			||||||
          this.$set(this.urlOptions.optionArr, `arr${index}`, res.list)
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
          .catch(() => {
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    /** 查询字典数据列表 */
 | 
					 | 
				
			||||||
    getDict() {
 | 
					 | 
				
			||||||
      this.nameList.forEach((item,index)=>{
 | 
					 | 
				
			||||||
        const queryParams = {
 | 
					 | 
				
			||||||
          pageNo: 1,
 | 
					 | 
				
			||||||
          pageSize: 99,
 | 
					 | 
				
			||||||
          dictType: item,
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        listData(queryParams).then(response => {
 | 
					 | 
				
			||||||
          this.$set(this.urlOptions.dictList, `dict${index}`, response.data.list)
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 表单提交
 | 
					 | 
				
			||||||
    dataFormSubmit() {
 | 
					 | 
				
			||||||
      this.$refs["dataForm"].validate((valid) => {
 | 
					 | 
				
			||||||
        if (!valid) {
 | 
					 | 
				
			||||||
          return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        // 修改的提交
 | 
					 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					 | 
				
			||||||
          this.urlOptions.updateURL(this.dataForm).then(response => {
 | 
					 | 
				
			||||||
            this.$modal.msgSuccess("修改成功");
 | 
					 | 
				
			||||||
            this.visible = false;
 | 
					 | 
				
			||||||
            this.$emit("refreshDataList");
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
          return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        // 添加的提交
 | 
					 | 
				
			||||||
        this.urlOptions.createURL(this.dataForm).then(response => {
 | 
					 | 
				
			||||||
          this.$modal.msgSuccess("新增成功");
 | 
					 | 
				
			||||||
          this.visible = false;
 | 
					 | 
				
			||||||
          this.$emit("refreshDataList");
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    formClear() {
 | 
					 | 
				
			||||||
      if (this.$refs.dataForm!==undefined) {
 | 
					 | 
				
			||||||
          this.$refs.dataForm.resetFields();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,172 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2022-08-24 11:19:43
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-07 09:35:33
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
  data() {
 | 
					 | 
				
			||||||
    /* eslint-disable */
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
      urlOptions: {
 | 
					 | 
				
			||||||
        getDataListURL: '',
 | 
					 | 
				
			||||||
        deleteURL: '',
 | 
					 | 
				
			||||||
        statusUrl: '',
 | 
					 | 
				
			||||||
        exportURL: ''
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      tableData: [],
 | 
					 | 
				
			||||||
      listQuery: {
 | 
					 | 
				
			||||||
        pageSize: 10,
 | 
					 | 
				
			||||||
        pageNo: 1,
 | 
					 | 
				
			||||||
        total: 1,
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      exportLoading: false,
 | 
					 | 
				
			||||||
      dataListLoading: false,
 | 
					 | 
				
			||||||
      addOrEditTitle: '',
 | 
					 | 
				
			||||||
      addOrUpdateVisible: false,
 | 
					 | 
				
			||||||
      addOrUpdate:'addOrUpdate'
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  created() {
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  mounted() {
 | 
					 | 
				
			||||||
    this.getDataList()
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  methods: {
 | 
					 | 
				
			||||||
    // 获取数据列表
 | 
					 | 
				
			||||||
    getDataList() {
 | 
					 | 
				
			||||||
      this.dataListLoading = true;
 | 
					 | 
				
			||||||
      this.urlOptions.getDataListURL(this.listQuery).then(response => {
 | 
					 | 
				
			||||||
        if(response.hasOwnProperty('data')){
 | 
					 | 
				
			||||||
          this.tableData = response.data.list;
 | 
					 | 
				
			||||||
          this.listQuery.total = response.data.total;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        this.dataListLoading = false;
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 每页数
 | 
					 | 
				
			||||||
    sizeChangeHandle(val) {
 | 
					 | 
				
			||||||
      this.listQuery.pageSize = val;
 | 
					 | 
				
			||||||
      this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
      this.getDataList();
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 当前页
 | 
					 | 
				
			||||||
    currentChangeHandle(val) {
 | 
					 | 
				
			||||||
      this.listQuery.pageNo = val;
 | 
					 | 
				
			||||||
      this.getDataList();
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 新增 / 修改
 | 
					 | 
				
			||||||
    addOrUpdateHandle(id) {
 | 
					 | 
				
			||||||
      this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
      this.$nextTick(() => {
 | 
					 | 
				
			||||||
        this.$refs.addOrUpdate.init(id);
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    cancel(id) {
 | 
					 | 
				
			||||||
      this.$refs["popover-" + id].showPopper = false;
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    //改变状态
 | 
					 | 
				
			||||||
    changeStatus(id) {
 | 
					 | 
				
			||||||
      this.$http
 | 
					 | 
				
			||||||
        .post(this.urlOptions.statusUrl, { id })
 | 
					 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					 | 
				
			||||||
          if (res.code !== 0) {
 | 
					 | 
				
			||||||
            return this.$message.error(res.msg);
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
          this.$refs["popover-" + id].showPopper = false;
 | 
					 | 
				
			||||||
          this.$message({
 | 
					 | 
				
			||||||
            message: this.$t("prompt.success"),
 | 
					 | 
				
			||||||
            type: "success",
 | 
					 | 
				
			||||||
            duration: 500,
 | 
					 | 
				
			||||||
            onClose: () => {
 | 
					 | 
				
			||||||
              this.getDataList();
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        .catch(() => { });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    //tableBtn点击
 | 
					 | 
				
			||||||
    handleClick(val) {
 | 
					 | 
				
			||||||
      if (val.type === "edit") {
 | 
					 | 
				
			||||||
        this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
        this.addOrEditTitle = "编辑";
 | 
					 | 
				
			||||||
        this.$nextTick(() => {
 | 
					 | 
				
			||||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      } else if (val.type === "delete") {
 | 
					 | 
				
			||||||
        this.deleteHandle(val.data.id, val.data.name, val.data._pageIndex)
 | 
					 | 
				
			||||||
      } else if (val.type === "change") {
 | 
					 | 
				
			||||||
        this.changeStatus(val.data.id)
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        this.otherMethods(val)
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // 删除
 | 
					 | 
				
			||||||
    deleteHandle(id, name, index) {
 | 
					 | 
				
			||||||
      this.$confirm(`是否确认删除${name ? '名称为"' + name + '"' : '序号为"' + index + '"'}的数据项?`, "系统提示", {
 | 
					 | 
				
			||||||
        confirmButtonText: "确定",
 | 
					 | 
				
			||||||
        cancelButtonText: "取消",
 | 
					 | 
				
			||||||
        type: "warning",
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
        .then(() => {
 | 
					 | 
				
			||||||
          this.urlOptions.deleteURL(id).then(({ data }) => {
 | 
					 | 
				
			||||||
            this.$message({
 | 
					 | 
				
			||||||
              message: "操作成功",
 | 
					 | 
				
			||||||
              type: "success",
 | 
					 | 
				
			||||||
              duration: 1500,
 | 
					 | 
				
			||||||
              onClose: () => {
 | 
					 | 
				
			||||||
                this.getDataList();
 | 
					 | 
				
			||||||
              },
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
          });
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        .catch(() => { });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    //search-bar点击
 | 
					 | 
				
			||||||
    buttonClick(val) {
 | 
					 | 
				
			||||||
      switch (val.btnName) {
 | 
					 | 
				
			||||||
        case "search":
 | 
					 | 
				
			||||||
          this.listQuery.xm1 = val.xm1;
 | 
					 | 
				
			||||||
          this.listQuery.xm2 = val.xm2;
 | 
					 | 
				
			||||||
          this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
          this.getDataList();
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        case "add":
 | 
					 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
					 | 
				
			||||||
          this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
          this.addOrUpdateHandle()
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        default:
 | 
					 | 
				
			||||||
          console.log(val)
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    handleCancel() {
 | 
					 | 
				
			||||||
      this.$refs[this.addOrUpdate].formClear()
 | 
					 | 
				
			||||||
      this.addOrUpdateVisible = false
 | 
					 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
					 | 
				
			||||||
      this.addOrUpdate = 'addOrUpdate'
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    handleConfirm() {
 | 
					 | 
				
			||||||
      this.$refs[this.addOrUpdate].dataFormSubmit()
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    successSubmit() {
 | 
					 | 
				
			||||||
      this.handleCancel()
 | 
					 | 
				
			||||||
      this.getDataList()
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    /** 导出按钮操作 */
 | 
					 | 
				
			||||||
    handleExport(data) {
 | 
					 | 
				
			||||||
      // 处理查询参数
 | 
					 | 
				
			||||||
      let params = data?{ ...data }:{ ...this.listQuery };
 | 
					 | 
				
			||||||
      params.pageNo = undefined;
 | 
					 | 
				
			||||||
      params.pageSize = undefined;
 | 
					 | 
				
			||||||
      this.$modal.confirm('是否确认导出所有数据项?').then(() => {
 | 
					 | 
				
			||||||
        this.exportLoading = true;
 | 
					 | 
				
			||||||
        return this.urlOptions.exportURL(params);
 | 
					 | 
				
			||||||
      }).then(response => {
 | 
					 | 
				
			||||||
        this.$download.excel(response, '报表.xls');
 | 
					 | 
				
			||||||
        this.exportLoading = false;
 | 
					 | 
				
			||||||
      }).catch(() => { });
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,79 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * @Date: 2020-12-29 16:49:28
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-07 10:00:51
 | 
					 | 
				
			||||||
 * @FilePath: \basic-admin\src\filters\basicData\index.js
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const table = {
 | 
					 | 
				
			||||||
  lineStatus: {
 | 
					 | 
				
			||||||
    1: '生产中',
 | 
					 | 
				
			||||||
    2: '停止',
 | 
					 | 
				
			||||||
    3: '未知',
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  deactivate: {
 | 
					 | 
				
			||||||
    1: '启用',
 | 
					 | 
				
			||||||
    0: '停用',
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  wareType: {
 | 
					 | 
				
			||||||
    1: '缓存',
 | 
					 | 
				
			||||||
    2: '活动',
 | 
					 | 
				
			||||||
    3: '其它',
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  reportType: {
 | 
					 | 
				
			||||||
    2: '日',
 | 
					 | 
				
			||||||
    3: '周',
 | 
					 | 
				
			||||||
    4: '月',
 | 
					 | 
				
			||||||
    5: '年',
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 日期格式化
 | 
					 | 
				
			||||||
export function parseTime(time, pattern) {
 | 
					 | 
				
			||||||
  if (arguments.length === 0 || !time) {
 | 
					 | 
				
			||||||
    return null
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
 | 
					 | 
				
			||||||
  let date
 | 
					 | 
				
			||||||
  if (typeof time === 'object') {
 | 
					 | 
				
			||||||
    date = time
 | 
					 | 
				
			||||||
  } else {
 | 
					 | 
				
			||||||
    if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
 | 
					 | 
				
			||||||
      time = parseInt(time)
 | 
					 | 
				
			||||||
    } else if (typeof time === 'string') {
 | 
					 | 
				
			||||||
      time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.\d{3}/gm),'');
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if ((typeof time === 'number') && (time.toString().length === 10)) {
 | 
					 | 
				
			||||||
      time = time * 1000
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    date = new Date(time)
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  const formatObj = {
 | 
					 | 
				
			||||||
    y: date.getFullYear(),
 | 
					 | 
				
			||||||
    m: date.getMonth() + 1,
 | 
					 | 
				
			||||||
    d: date.getDate(),
 | 
					 | 
				
			||||||
    h: date.getHours(),
 | 
					 | 
				
			||||||
    i: date.getMinutes(),
 | 
					 | 
				
			||||||
    s: date.getSeconds(),
 | 
					 | 
				
			||||||
    a: date.getDay()
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
 | 
					 | 
				
			||||||
    let value = formatObj[key]
 | 
					 | 
				
			||||||
    // Note: getDay() returns 0 on Sunday
 | 
					 | 
				
			||||||
    if (key === 'a') {
 | 
					 | 
				
			||||||
      return ['日', '一', '二', '三', '四', '五', '六'][value]
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (result.length > 0 && value < 10) {
 | 
					 | 
				
			||||||
      value = '0' + value
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return value || 0
 | 
					 | 
				
			||||||
  })
 | 
					 | 
				
			||||||
  return time_str
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
export default function (dictTable) {
 | 
					 | 
				
			||||||
  return function (val) {
 | 
					 | 
				
			||||||
    return table?.[dictTable]?.[val]
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,23 +0,0 @@
 | 
				
			|||||||
<!--
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2023-12-05 13:45:59
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-06 15:54:40
 | 
					 | 
				
			||||||
 * @Description
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<template>
 | 
					 | 
				
			||||||
	<div>
 | 
					 | 
				
			||||||
		<span>{{ parseTime(injectData.enableTime,'{y}年{m}月{d}日') + '-' + (parseTime(injectData.disableTime)?parseTime(injectData.disableTime,'{y}年{m}月{d}日'):'永久') }}</span>
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	name: '',
 | 
					 | 
				
			||||||
	props: {
 | 
					 | 
				
			||||||
		injectData: {
 | 
					 | 
				
			||||||
			type: Object,
 | 
					 | 
				
			||||||
			default: () => ({}),
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
@@ -1,166 +0,0 @@
 | 
				
			|||||||
<!--
 | 
					 | 
				
			||||||
 * @Author: zwq
 | 
					 | 
				
			||||||
 * @Date: 2023-08-01 13:52:10
 | 
					 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 | 
				
			||||||
 * @LastEditTime: 2023-12-05 15:41:39
 | 
					 | 
				
			||||||
 * @Description:
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<template>
 | 
					 | 
				
			||||||
	<el-form
 | 
					 | 
				
			||||||
		:model="dataForm"
 | 
					 | 
				
			||||||
		:rules="dataRule"
 | 
					 | 
				
			||||||
		ref="dataForm"
 | 
					 | 
				
			||||||
		v-if="visible"
 | 
					 | 
				
			||||||
		@keyup.enter.native="dataFormSubmit()"
 | 
					 | 
				
			||||||
		label-width="100px"
 | 
					 | 
				
			||||||
		label-position="top">
 | 
					 | 
				
			||||||
		<el-row :gutter="20">
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="原料名称" prop="materialId">
 | 
					 | 
				
			||||||
					<el-select
 | 
					 | 
				
			||||||
						v-model="dataForm.materialId"
 | 
					 | 
				
			||||||
						filterable
 | 
					 | 
				
			||||||
						clearable
 | 
					 | 
				
			||||||
						@change="setCode"
 | 
					 | 
				
			||||||
						:style="{ width: '100%' }"
 | 
					 | 
				
			||||||
						placeholder="请选择原料名称">
 | 
					 | 
				
			||||||
						<el-option
 | 
					 | 
				
			||||||
							v-for="item in MaterialList"
 | 
					 | 
				
			||||||
							:key="item.id"
 | 
					 | 
				
			||||||
							:label="item.name"
 | 
					 | 
				
			||||||
							:value="item.id"></el-option>
 | 
					 | 
				
			||||||
					</el-select>
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="原料等级" prop="grade">
 | 
					 | 
				
			||||||
					<el-select
 | 
					 | 
				
			||||||
						v-model="dataForm.grade"
 | 
					 | 
				
			||||||
						filterable
 | 
					 | 
				
			||||||
						clearable
 | 
					 | 
				
			||||||
						:style="{ width: '100%' }"
 | 
					 | 
				
			||||||
						placeholder="请选择原料等级">
 | 
					 | 
				
			||||||
						<el-option
 | 
					 | 
				
			||||||
							v-for="item in urlOptions.dictList.dict0"
 | 
					 | 
				
			||||||
							:key="item.id"
 | 
					 | 
				
			||||||
							:label="item.label"
 | 
					 | 
				
			||||||
							:value="parseInt(item.value)"></el-option>
 | 
					 | 
				
			||||||
					</el-select>
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="原料编码" prop="code">
 | 
					 | 
				
			||||||
					<el-input v-model="dataForm.code" clearable readonly />
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="单价" prop="price">
 | 
					 | 
				
			||||||
					<el-input-number
 | 
					 | 
				
			||||||
						:min="0"
 | 
					 | 
				
			||||||
						style="width: 80%"
 | 
					 | 
				
			||||||
						v-model="dataForm.price"
 | 
					 | 
				
			||||||
						clearable
 | 
					 | 
				
			||||||
						placeholder="请输入允许留存时间" />
 | 
					 | 
				
			||||||
					(元/吨)
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="生效开始时间" prop="enabledTime">
 | 
					 | 
				
			||||||
					<el-date-picker
 | 
					 | 
				
			||||||
						v-model="dataForm.enabledTime"
 | 
					 | 
				
			||||||
						type="datetime"
 | 
					 | 
				
			||||||
						value-format="timestamp"
 | 
					 | 
				
			||||||
						:style="{ width: '100%' }"
 | 
					 | 
				
			||||||
						placeholder="选择开始时间"></el-date-picker>
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="生效结束时间" prop="disabledTime">
 | 
					 | 
				
			||||||
					<el-date-picker
 | 
					 | 
				
			||||||
						v-model="dataForm.disabledTime"
 | 
					 | 
				
			||||||
						type="datetime"
 | 
					 | 
				
			||||||
						value-format="timestamp"
 | 
					 | 
				
			||||||
						:style="{ width: '100%' }"
 | 
					 | 
				
			||||||
						placeholder="选择结束时间"></el-date-picker>
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
			<el-col :span="12">
 | 
					 | 
				
			||||||
				<el-form-item label="备注" prop="remark">
 | 
					 | 
				
			||||||
					<el-input
 | 
					 | 
				
			||||||
						v-model="dataForm.remark"
 | 
					 | 
				
			||||||
						clearable
 | 
					 | 
				
			||||||
						placeholder="请输入备注" />
 | 
					 | 
				
			||||||
				</el-form-item>
 | 
					 | 
				
			||||||
			</el-col>
 | 
					 | 
				
			||||||
		</el-row>
 | 
					 | 
				
			||||||
	</el-form>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import basicAdd from '../mixins/basic-add';
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
	createCostMaterialSet,
 | 
					 | 
				
			||||||
	updateCostMaterialSet,
 | 
					 | 
				
			||||||
	getCostMaterialSet,
 | 
					 | 
				
			||||||
} from '@/api/cost/costMaterialSet';
 | 
					 | 
				
			||||||
import { getHotMaterialList } from '@/api/base/coreHotMaterial';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	mixins: [basicAdd],
 | 
					 | 
				
			||||||
	data() {
 | 
					 | 
				
			||||||
		return {
 | 
					 | 
				
			||||||
			urlOptions: {
 | 
					 | 
				
			||||||
				getDictList: true,
 | 
					 | 
				
			||||||
				createURL: createCostMaterialSet,
 | 
					 | 
				
			||||||
				updateURL: updateCostMaterialSet,
 | 
					 | 
				
			||||||
				infoURL: getCostMaterialSet,
 | 
					 | 
				
			||||||
				getOption: true,
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			nameList: ['material_grade'],
 | 
					 | 
				
			||||||
			dataForm: {
 | 
					 | 
				
			||||||
				id: undefined,
 | 
					 | 
				
			||||||
				code: '',
 | 
					 | 
				
			||||||
				materialId: '',
 | 
					 | 
				
			||||||
				price: '',
 | 
					 | 
				
			||||||
				grade: '',
 | 
					 | 
				
			||||||
				enabledTime: new Date().getTime(),
 | 
					 | 
				
			||||||
				disabledTime: null,
 | 
					 | 
				
			||||||
				remark: '',
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			setData: true,
 | 
					 | 
				
			||||||
			MaterialList: [],
 | 
					 | 
				
			||||||
			dataRule: {
 | 
					 | 
				
			||||||
				materialId: [
 | 
					 | 
				
			||||||
					{ required: true, message: '原料不能为空', trigger: 'change' },
 | 
					 | 
				
			||||||
				],
 | 
					 | 
				
			||||||
				price: [{ required: true, message: '单价不能为空', trigger: 'blur' }],
 | 
					 | 
				
			||||||
				enabledTime: [
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						required: true,
 | 
					 | 
				
			||||||
						message: '生效开始时间不能为空',
 | 
					 | 
				
			||||||
						trigger: 'change',
 | 
					 | 
				
			||||||
					},
 | 
					 | 
				
			||||||
				],
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	created() {},
 | 
					 | 
				
			||||||
	methods: {
 | 
					 | 
				
			||||||
		getArr() {
 | 
					 | 
				
			||||||
			getHotMaterialList().then((response) => {
 | 
					 | 
				
			||||||
				this.MaterialList = response.data;
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		setDataForm() {
 | 
					 | 
				
			||||||
			this.setCode();
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		setCode() {
 | 
					 | 
				
			||||||
			this.MaterialList.forEach((item) => {
 | 
					 | 
				
			||||||
				if (item.id === this.dataForm.materialId) {
 | 
					 | 
				
			||||||
					this.dataForm.code = item.code;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
@@ -1,186 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
	<div class="app-container">
 | 
					 | 
				
			||||||
		<!-- 搜索工作栏 -->
 | 
					 | 
				
			||||||
		<search-bar
 | 
					 | 
				
			||||||
			:formConfigs="formConfig"
 | 
					 | 
				
			||||||
			ref="searchBarForm"
 | 
					 | 
				
			||||||
			@headBtnClick="buttonClick" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<!-- 列表 -->
 | 
					 | 
				
			||||||
		<base-table
 | 
					 | 
				
			||||||
			v-loading="dataListLoading"
 | 
					 | 
				
			||||||
			:table-props="tableProps"
 | 
					 | 
				
			||||||
			:page="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:limit="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:table-data="tableData">
 | 
					 | 
				
			||||||
			<method-btn
 | 
					 | 
				
			||||||
				v-if="tableBtn.length"
 | 
					 | 
				
			||||||
				slot="handleBtn"
 | 
					 | 
				
			||||||
				:width="80"
 | 
					 | 
				
			||||||
				label="操作"
 | 
					 | 
				
			||||||
				:method-list="tableBtn"
 | 
					 | 
				
			||||||
				@clickBtn="handleClick" />
 | 
					 | 
				
			||||||
		</base-table>
 | 
					 | 
				
			||||||
		<pagination
 | 
					 | 
				
			||||||
			:limit.sync="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:page.sync="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:total="listQuery.total"
 | 
					 | 
				
			||||||
			@pagination="getDataList" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<!-- 对话框(添加 / 修改) -->
 | 
					 | 
				
			||||||
		<base-dialog
 | 
					 | 
				
			||||||
			:dialogTitle="addOrEditTitle"
 | 
					 | 
				
			||||||
			:dialogVisible="addOrUpdateVisible"
 | 
					 | 
				
			||||||
			@cancel="handleCancel"
 | 
					 | 
				
			||||||
			@confirm="handleConfirm"
 | 
					 | 
				
			||||||
			:before-close="handleCancel"
 | 
					 | 
				
			||||||
			width="40%">
 | 
					 | 
				
			||||||
			<add-or-update
 | 
					 | 
				
			||||||
				ref="addOrUpdate"
 | 
					 | 
				
			||||||
				@refreshDataList="successSubmit"></add-or-update>
 | 
					 | 
				
			||||||
		</base-dialog>
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import AddOrUpdate from './add-or-updata';
 | 
					 | 
				
			||||||
import basicPage from '../mixins/basic-page';
 | 
					 | 
				
			||||||
import { parseTime } from '../mixins/code-filter';
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
	deleteCostMaterialSet,
 | 
					 | 
				
			||||||
	getCostMaterialSetPage,
 | 
					 | 
				
			||||||
} from '@/api/cost/costMaterialSet';
 | 
					 | 
				
			||||||
import { getHotMaterialList } from '@/api/base/coreHotMaterial';
 | 
					 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'rawMaterialName',
 | 
					 | 
				
			||||||
		label: '原料名称',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'code',
 | 
					 | 
				
			||||||
		label: '原料编码',
 | 
					 | 
				
			||||||
		width: 190,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'grade',
 | 
					 | 
				
			||||||
		label: '原料等级',
 | 
					 | 
				
			||||||
		filter: publicFormatter('material_grade'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'dailyUse',
 | 
					 | 
				
			||||||
		label: '单日消耗量(吨)',
 | 
					 | 
				
			||||||
		width: 130,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'price',
 | 
					 | 
				
			||||||
		label: '单价(元/吨)',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'enabledTime',
 | 
					 | 
				
			||||||
		label: '生效时间',
 | 
					 | 
				
			||||||
		filter: parseTime,
 | 
					 | 
				
			||||||
		width: 150,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'remark',
 | 
					 | 
				
			||||||
		label: '备注',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	mixins: [basicPage],
 | 
					 | 
				
			||||||
	data() {
 | 
					 | 
				
			||||||
		return {
 | 
					 | 
				
			||||||
			urlOptions: {
 | 
					 | 
				
			||||||
				getDataListURL: getCostMaterialSetPage,
 | 
					 | 
				
			||||||
				deleteURL: deleteCostMaterialSet,
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			tableProps,
 | 
					 | 
				
			||||||
			tableBtn: [
 | 
					 | 
				
			||||||
				this.$auth.hasPermi(`cost:rawMaterialConfig:update`)
 | 
					 | 
				
			||||||
					? {
 | 
					 | 
				
			||||||
							type: 'edit',
 | 
					 | 
				
			||||||
							btnName: '编辑',
 | 
					 | 
				
			||||||
					  }
 | 
					 | 
				
			||||||
					: undefined,
 | 
					 | 
				
			||||||
				this.$auth.hasPermi(`cost:rawMaterialConfig:delete`)
 | 
					 | 
				
			||||||
					? {
 | 
					 | 
				
			||||||
							type: 'delete',
 | 
					 | 
				
			||||||
							btnName: '删除',
 | 
					 | 
				
			||||||
					  }
 | 
					 | 
				
			||||||
					: undefined,
 | 
					 | 
				
			||||||
			].filter((v) => v),
 | 
					 | 
				
			||||||
			tableData: [],
 | 
					 | 
				
			||||||
			formConfig: [
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '原料名称',
 | 
					 | 
				
			||||||
					selectOptions: [],
 | 
					 | 
				
			||||||
					param: 'name',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'button',
 | 
					 | 
				
			||||||
					btnName: '查询',
 | 
					 | 
				
			||||||
					name: 'search',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'separate',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: this.$auth.hasPermi('cost:rawMaterialConfig:create')
 | 
					 | 
				
			||||||
						? 'button'
 | 
					 | 
				
			||||||
						: '',
 | 
					 | 
				
			||||||
					btnName: '新增',
 | 
					 | 
				
			||||||
					name: 'add',
 | 
					 | 
				
			||||||
					color: 'success',
 | 
					 | 
				
			||||||
					plain: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
			],
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	components: {
 | 
					 | 
				
			||||||
		AddOrUpdate,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	created() {
 | 
					 | 
				
			||||||
		getHotMaterialList().then((response) => {
 | 
					 | 
				
			||||||
			this.formConfig[0].selectOptions = response.data;
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	methods: {
 | 
					 | 
				
			||||||
		buttonClick(val) {
 | 
					 | 
				
			||||||
			switch (val.btnName) {
 | 
					 | 
				
			||||||
				case 'search':
 | 
					 | 
				
			||||||
					this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
					this.listQuery.pageSize = 10;
 | 
					 | 
				
			||||||
					this.listQuery.materialId = val.name;
 | 
					 | 
				
			||||||
					this.getDataList();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'reset':
 | 
					 | 
				
			||||||
					this.$refs.searchBarForm.resetForm();
 | 
					 | 
				
			||||||
					this.listQuery = {
 | 
					 | 
				
			||||||
						pageSize: 10,
 | 
					 | 
				
			||||||
						pageNo: 1,
 | 
					 | 
				
			||||||
						total: 1,
 | 
					 | 
				
			||||||
					};
 | 
					 | 
				
			||||||
					this.getDataList();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'add':
 | 
					 | 
				
			||||||
					this.addOrEditTitle = '新增';
 | 
					 | 
				
			||||||
					this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
					this.addOrUpdateHandle();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'export':
 | 
					 | 
				
			||||||
					this.handleExport();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				default:
 | 
					 | 
				
			||||||
					console.log(val);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
@@ -1,171 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
	<div class="app-container">
 | 
					 | 
				
			||||||
		<!-- 搜索工作栏 -->
 | 
					 | 
				
			||||||
		<search-bar
 | 
					 | 
				
			||||||
			:formConfigs="formConfig"
 | 
					 | 
				
			||||||
			ref="searchBarForm"
 | 
					 | 
				
			||||||
			@headBtnClick="buttonClick" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<!-- 列表 -->
 | 
					 | 
				
			||||||
		<base-table
 | 
					 | 
				
			||||||
			v-loading="dataListLoading"
 | 
					 | 
				
			||||||
			:table-props="tableProps"
 | 
					 | 
				
			||||||
			:page="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:limit="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:table-data="tableData"></base-table>
 | 
					 | 
				
			||||||
		<pagination
 | 
					 | 
				
			||||||
			:limit.sync="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:page.sync="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:total="listQuery.total"
 | 
					 | 
				
			||||||
			@pagination="getDataList" />
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import basicPage from '../mixins/basic-page';
 | 
					 | 
				
			||||||
import connectTime from '../mixins/connectTime';
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
	getCostMaterialSearchPage,
 | 
					 | 
				
			||||||
	exportCostMaterialSearch,
 | 
					 | 
				
			||||||
} from '@/api/cost/costMaterialAutoReport';
 | 
					 | 
				
			||||||
import { getHotMaterialList } from '@/api/base/coreHotMaterial';
 | 
					 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					 | 
				
			||||||
import moment from 'moment';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'rawMaterialName',
 | 
					 | 
				
			||||||
		label: '原料名称',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'grade',
 | 
					 | 
				
			||||||
		label: '原料等级',
 | 
					 | 
				
			||||||
		filter: publicFormatter('material_grade'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'price',
 | 
					 | 
				
			||||||
		label: '单价(元/吨)',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'reportName',
 | 
					 | 
				
			||||||
		label: '单价生效时间',
 | 
					 | 
				
			||||||
		minWidth: 190,
 | 
					 | 
				
			||||||
		subcomponent: connectTime,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalUsed',
 | 
					 | 
				
			||||||
		label: '累计使用量(吨)',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalCost',
 | 
					 | 
				
			||||||
		label: '总价(元)',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	mixins: [basicPage],
 | 
					 | 
				
			||||||
	data() {
 | 
					 | 
				
			||||||
		return {
 | 
					 | 
				
			||||||
			urlOptions: {
 | 
					 | 
				
			||||||
				getDataListURL: getCostMaterialSearchPage,
 | 
					 | 
				
			||||||
				exportURL: exportCostMaterialSearch,
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			tableData: [],
 | 
					 | 
				
			||||||
			tableProps,
 | 
					 | 
				
			||||||
			drawerVisible: false,
 | 
					 | 
				
			||||||
			formConfig: [
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '原料名称',
 | 
					 | 
				
			||||||
					selectOptions: [],
 | 
					 | 
				
			||||||
					param: 'materialId',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'datePicker',
 | 
					 | 
				
			||||||
					label: '时间范围',
 | 
					 | 
				
			||||||
					dateType: 'daterange',
 | 
					 | 
				
			||||||
					format: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					valueFormat: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					rangeSeparator: '-',
 | 
					 | 
				
			||||||
					startPlaceholder: '开始时间',
 | 
					 | 
				
			||||||
					endPlaceholder: '结束时间',
 | 
					 | 
				
			||||||
					param: 'searchTime',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'button',
 | 
					 | 
				
			||||||
					btnName: '查询',
 | 
					 | 
				
			||||||
					name: 'search',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: this.$auth.hasPermi('cost:rawMaterialCost:export')
 | 
					 | 
				
			||||||
						? 'button'
 | 
					 | 
				
			||||||
						: '',
 | 
					 | 
				
			||||||
					btnName: '导出',
 | 
					 | 
				
			||||||
					name: 'export',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
					plain: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
			],
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	components: {},
 | 
					 | 
				
			||||||
	created() {
 | 
					 | 
				
			||||||
		getHotMaterialList().then((response) => {
 | 
					 | 
				
			||||||
			this.formConfig[0].selectOptions = response.data;
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	methods: {
 | 
					 | 
				
			||||||
		// 获取数据列表
 | 
					 | 
				
			||||||
		getDataList() {
 | 
					 | 
				
			||||||
			if (this.listQuery.searchTime) {
 | 
					 | 
				
			||||||
				this.dataListLoading = true;
 | 
					 | 
				
			||||||
				this.urlOptions.getDataListURL(this.listQuery).then((response) => {
 | 
					 | 
				
			||||||
					if (response.hasOwnProperty('data')) {
 | 
					 | 
				
			||||||
						this.tableData = response.data.list;
 | 
					 | 
				
			||||||
						this.listQuery.total = response.data.total;
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
					this.dataListLoading = false;
 | 
					 | 
				
			||||||
				});
 | 
					 | 
				
			||||||
			} else {
 | 
					 | 
				
			||||||
				this.$message.warning('请选择时间范围');
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		buttonClick(val) {
 | 
					 | 
				
			||||||
			switch (val.btnName) {
 | 
					 | 
				
			||||||
				case 'search':
 | 
					 | 
				
			||||||
					this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
					this.listQuery.pageSize = 10;
 | 
					 | 
				
			||||||
					this.listQuery.materialId = val.materialId;
 | 
					 | 
				
			||||||
					this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
 | 
					 | 
				
			||||||
					this.listQuery.startTime = val.searchTime
 | 
					 | 
				
			||||||
						? moment(val.searchTime[0]).startOf('day').format('x')
 | 
					 | 
				
			||||||
						: null;
 | 
					 | 
				
			||||||
					this.listQuery.endTime = val.searchTime
 | 
					 | 
				
			||||||
						? moment(val.searchTime[1]).endOf('day').format('x')
 | 
					 | 
				
			||||||
						: null;
 | 
					 | 
				
			||||||
					this.getDataList();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'export':
 | 
					 | 
				
			||||||
					this.listQuery.materialId = val.materialId;
 | 
					 | 
				
			||||||
					this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
 | 
					 | 
				
			||||||
					this.listQuery.startTime = val.searchTime ? val.searchTime[0] : null;
 | 
					 | 
				
			||||||
					this.listQuery.endTime = val.searchTime ? val.searchTime[1] : null;
 | 
					 | 
				
			||||||
					this.handleExport();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				default:
 | 
					 | 
				
			||||||
					console.log(val);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
.app-container .el-table .el-table__cell {
 | 
					 | 
				
			||||||
	padding: 0;
 | 
					 | 
				
			||||||
	height: 35px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
@@ -1,177 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
	<div class="app-container">
 | 
					 | 
				
			||||||
		<!-- 搜索工作栏 -->
 | 
					 | 
				
			||||||
		<search-bar
 | 
					 | 
				
			||||||
			:formConfigs="formConfig"
 | 
					 | 
				
			||||||
			ref="searchBarForm"
 | 
					 | 
				
			||||||
			@headBtnClick="buttonClick" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<!-- 列表 -->
 | 
					 | 
				
			||||||
		<base-table
 | 
					 | 
				
			||||||
			v-loading="dataListLoading"
 | 
					 | 
				
			||||||
			:table-props="tableProps"
 | 
					 | 
				
			||||||
			:page="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:limit="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:table-data="tableData"></base-table>
 | 
					 | 
				
			||||||
		<pagination
 | 
					 | 
				
			||||||
			:limit.sync="listQuery.pageSize"
 | 
					 | 
				
			||||||
			:page.sync="listQuery.pageNo"
 | 
					 | 
				
			||||||
			:total="listQuery.total"
 | 
					 | 
				
			||||||
			@pagination="getDataList" />
 | 
					 | 
				
			||||||
	</div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
import basicPage from '../mixins/basic-page';
 | 
					 | 
				
			||||||
import codeFilter from '../mixins/code-filter';
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
	getCostMaterialAutoReportPage,
 | 
					 | 
				
			||||||
	exportCostMaterialAutoReportExcel,
 | 
					 | 
				
			||||||
} from '@/api/cost/costMaterialAutoReport';
 | 
					 | 
				
			||||||
import { getHotMaterialList } from '@/api/base/coreHotMaterial';
 | 
					 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					 | 
				
			||||||
import moment from 'moment';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'reportType',
 | 
					 | 
				
			||||||
		label: '维度',
 | 
					 | 
				
			||||||
		filter: codeFilter('reportType'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'reportName',
 | 
					 | 
				
			||||||
		label: '时间',
 | 
					 | 
				
			||||||
		minWidth: 150,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'rawMaterialName',
 | 
					 | 
				
			||||||
		label: '原料名称',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'grade',
 | 
					 | 
				
			||||||
		label: '原料等级',
 | 
					 | 
				
			||||||
		filter: publicFormatter('material_grade'),
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'price',
 | 
					 | 
				
			||||||
		label: '单价(元/吨)',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalUsed',
 | 
					 | 
				
			||||||
		label: '累计使用量(吨)',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'totalCost',
 | 
					 | 
				
			||||||
		label: '总价(元)',
 | 
					 | 
				
			||||||
		align: 'right',
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
	mixins: [basicPage],
 | 
					 | 
				
			||||||
	data() {
 | 
					 | 
				
			||||||
		return {
 | 
					 | 
				
			||||||
			urlOptions: {
 | 
					 | 
				
			||||||
				getDataListURL: getCostMaterialAutoReportPage,
 | 
					 | 
				
			||||||
				exportURL: exportCostMaterialAutoReportExcel,
 | 
					 | 
				
			||||||
			},
 | 
					 | 
				
			||||||
			tableData: [],
 | 
					 | 
				
			||||||
			tableProps,
 | 
					 | 
				
			||||||
			drawerVisible: false,
 | 
					 | 
				
			||||||
			formConfig: [
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '维度',
 | 
					 | 
				
			||||||
					selectOptions: [
 | 
					 | 
				
			||||||
						{ id: 2, name: '日' },
 | 
					 | 
				
			||||||
						{ id: 3, name: '周' },
 | 
					 | 
				
			||||||
						{ id: 4, name: '月' },
 | 
					 | 
				
			||||||
						{ id: 5, name: '年' },
 | 
					 | 
				
			||||||
					],
 | 
					 | 
				
			||||||
					param: 'reportType',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
					clearable: false,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'select',
 | 
					 | 
				
			||||||
					label: '原料名称',
 | 
					 | 
				
			||||||
					selectOptions: [],
 | 
					 | 
				
			||||||
					param: 'materialId',
 | 
					 | 
				
			||||||
					filterable: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'datePicker',
 | 
					 | 
				
			||||||
					label: '时间范围',
 | 
					 | 
				
			||||||
					dateType: 'daterange',
 | 
					 | 
				
			||||||
					format: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					valueFormat: 'yyyy-MM-dd',
 | 
					 | 
				
			||||||
					rangeSeparator: '-',
 | 
					 | 
				
			||||||
					startPlaceholder: '开始时间',
 | 
					 | 
				
			||||||
					endPlaceholder: '结束时间',
 | 
					 | 
				
			||||||
					param: 'searchTime',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: 'button',
 | 
					 | 
				
			||||||
					btnName: '查询',
 | 
					 | 
				
			||||||
					name: 'search',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					type: this.$auth.hasPermi('cost:rawMaterialCostHis:export')
 | 
					 | 
				
			||||||
						? 'button'
 | 
					 | 
				
			||||||
						: '',
 | 
					 | 
				
			||||||
					btnName: '导出',
 | 
					 | 
				
			||||||
					name: 'export',
 | 
					 | 
				
			||||||
					color: 'primary',
 | 
					 | 
				
			||||||
					plain: true,
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
			],
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	components: {},
 | 
					 | 
				
			||||||
	created() {
 | 
					 | 
				
			||||||
		getHotMaterialList().then((response) => {
 | 
					 | 
				
			||||||
			this.formConfig[1].selectOptions = response.data;
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	methods: {
 | 
					 | 
				
			||||||
		buttonClick(val) {
 | 
					 | 
				
			||||||
			switch (val.btnName) {
 | 
					 | 
				
			||||||
				case 'search':
 | 
					 | 
				
			||||||
					this.listQuery.pageNo = 1;
 | 
					 | 
				
			||||||
					this.listQuery.pageSize = 10;
 | 
					 | 
				
			||||||
					this.listQuery.reportType = val.reportType;
 | 
					 | 
				
			||||||
					this.listQuery.materialId = val.materialId;
 | 
					 | 
				
			||||||
					this.listQuery.times = val.searchTime
 | 
					 | 
				
			||||||
						? [
 | 
					 | 
				
			||||||
								moment(val.searchTime[0]).startOf('day').format('x'),
 | 
					 | 
				
			||||||
								moment(val.searchTime[1]).endOf('day').format('x'),
 | 
					 | 
				
			||||||
						  ]
 | 
					 | 
				
			||||||
						: null;
 | 
					 | 
				
			||||||
					this.getDataList();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				case 'export':
 | 
					 | 
				
			||||||
					this.listQuery.reportType = val.reportType;
 | 
					 | 
				
			||||||
					this.listQuery.materialId = val.materialId;
 | 
					 | 
				
			||||||
					this.listQuery.times = val.searchTime
 | 
					 | 
				
			||||||
						? [
 | 
					 | 
				
			||||||
								moment(val.searchTime[0]).startOf('day').format('x'),
 | 
					 | 
				
			||||||
								moment(val.searchTime[1]).endOf('day').format('x'),
 | 
					 | 
				
			||||||
						  ]
 | 
					 | 
				
			||||||
						: null;
 | 
					 | 
				
			||||||
					this.handleExport();
 | 
					 | 
				
			||||||
					break;
 | 
					 | 
				
			||||||
				default:
 | 
					 | 
				
			||||||
					console.log(val);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
<style>
 | 
					 | 
				
			||||||
.app-container .el-table .el-table__cell {
 | 
					 | 
				
			||||||
	padding: 0;
 | 
					 | 
				
			||||||
	height: 35px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 2.7 MiB  | 
| 
		 Before Width: | Height: | Size: 492 B  | 
| 
		 Before Width: | Height: | Size: 322 B  | 
| 
		 Before Width: | Height: | Size: 1.4 KiB  | 
| 
		 Before Width: | Height: | Size: 1.4 KiB  | 
| 
		 Before Width: | Height: | Size: 2.0 KiB  | 
| 
		 Before Width: | Height: | Size: 20 KiB  | 
| 
		 Before Width: | Height: | Size: 54 KiB  | 
| 
		 Before Width: | Height: | Size: 49 KiB  | 
| 
		 Before Width: | Height: | Size: 49 KiB  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
| 
		 Before Width: | Height: | Size: 507 B  |