projects/mes-test #133
8
.env.dev
8
.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-10-17 09:51:48
|
# @LastEditTime: 2023-10-27 16:17:13
|
||||||
# @LastEditors: zhp
|
# @LastEditors: DY
|
||||||
# @Description:
|
# @Description:
|
||||||
###
|
###
|
||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
@ -13,11 +13,11 @@ VUE_APP_TITLE = MES系统
|
|||||||
|
|
||||||
# 芋道管理系统/开发环境
|
# 芋道管理系统/开发环境
|
||||||
|
|
||||||
VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
|
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.49:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.49:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.8:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.8:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.56:48080'
|
VUE_APP_BASE_API = 'http://192.168.1.56:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.188:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.188:48080'
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,12 +26,3 @@ export function autoSet(query) {
|
|||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得排班信息分页 建议size 150
|
|
||||||
export function groupTeamSchedulingPage(query) {
|
|
||||||
return request({
|
|
||||||
url: '/base/group-team-scheduling/page',
|
|
||||||
method: 'get',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
121
src/api/base/material.js
Normal file
121
src/api/base/material.js
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Do not edit
|
||||||
|
* @Date: 2023-10-21 11:50:46
|
||||||
|
* @LastEditTime: 2023-10-24 11:22:28
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 创建物料
|
||||||
|
export function createMaterial(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新物料
|
||||||
|
export function updateMaterial(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除物料
|
||||||
|
export function deleteMaterial(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/delete?id=' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料
|
||||||
|
export function getMaterial(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/get?id=' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料code
|
||||||
|
export function getCode() {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/getMaterialCode',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料分页
|
||||||
|
export function getMaterialPage(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料列表
|
||||||
|
export function getMaterialList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material/listbyfilter',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得供应商所有列表
|
||||||
|
export function getSupplierList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/core-supplier/listAll',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料属性列表
|
||||||
|
export function getMaterialAttrList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-attr/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建物料属性
|
||||||
|
export function createMaterialAttr(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-attr/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新物料属性
|
||||||
|
export function updateMaterialAttr(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-attr/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除物料属性
|
||||||
|
export function deleteMaterialAttr(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-attr/delete?id=' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料属性
|
||||||
|
export function getMaterialAttr(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-attr/get',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
68
src/api/base/materialDate.js
Normal file
68
src/api/base/materialDate.js
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Do not edit
|
||||||
|
* @Date: 2023-10-21 11:50:46
|
||||||
|
* @LastEditTime: 2023-10-24 17:09:59
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 创建物料批次
|
||||||
|
export function createMaterialDate(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新物料批次
|
||||||
|
export function updateMaterialDate(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除物料批次
|
||||||
|
export function deleteMaterialDate(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/delete?id=' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料批次
|
||||||
|
export function getMaterialDate(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/getDetail?id=' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料批次code
|
||||||
|
export function getCode() {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/getMaterialDateCode',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料批次分页
|
||||||
|
export function getMaterDatePage(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料批次列表
|
||||||
|
export function getMaterDateList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-date/listbyfilter',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
112
src/api/base/materialProductBom.js
Normal file
112
src/api/base/materialProductBom.js
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Do not edit
|
||||||
|
* @Date: 2023-10-21 11:50:46
|
||||||
|
* @LastEditTime: 2023-10-26 20:06:29
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 创建产品Bom
|
||||||
|
export function createMaterialPB(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新产品Bom
|
||||||
|
export function updateMaterialPB(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品Bom
|
||||||
|
export function deleteMaterialPB(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/delete?id=' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得产品Bom
|
||||||
|
export function getMaterialPB(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/get?id=' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得产品Bomcode
|
||||||
|
export function getCode() {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/getMaterialProductBomCode',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得产品Bom分页
|
||||||
|
export function getMaterialPBPage(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得产品Bom列表
|
||||||
|
export function getMaterialPBList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom/listbyfilter',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得产品列表
|
||||||
|
export function getProList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/core-product/listAll',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得产品Bom详细分页
|
||||||
|
export function getProBomList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom-det/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建产品Bom详细
|
||||||
|
export function createMaterialPBDet(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom-det/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新产品Bom详细
|
||||||
|
export function updateMaterialPBDet(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom-det/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品Bom详细
|
||||||
|
export function deleteMaterialPBDet(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-product-bom-det/delete?id=' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
69
src/api/base/materialUseLog.js
Normal file
69
src/api/base/materialUseLog.js
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Do not edit
|
||||||
|
* @Date: 2023-10-21 11:50:46
|
||||||
|
* @LastEditTime: 2023-10-26 09:32:21
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 创建物料使用记录
|
||||||
|
export function createMaterialLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-use-log/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新物料使用记录
|
||||||
|
export function updateMaterialLog(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-use-log/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料使用记录
|
||||||
|
export function getMaterialLog(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-use-log/getDetail?id=' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得物料使用记录分页
|
||||||
|
export function getMaterialLogPage(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-use-log/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得所有设备列表
|
||||||
|
export function getEqListAll(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/core-equipment/listAll',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得所有员工列表
|
||||||
|
export function getworkerAll(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/core-worker/listAll',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除物料使用记录
|
||||||
|
export function deleteMaterialLog(id) {
|
||||||
|
return request({
|
||||||
|
url: '/base/material-use-log/delete?id=' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
@ -34,6 +34,14 @@ export function getOrderCode() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取工单code
|
||||||
|
export function getWorkOrderCode() {
|
||||||
|
return request({
|
||||||
|
url: '/base/order/getWorkOrderCode',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 获得订单
|
// 获得订单
|
||||||
export function getOrderById(query) {
|
export function getOrderById(query) {
|
||||||
return request({
|
return request({
|
||||||
@ -41,4 +49,48 @@ export function getOrderById(query) {
|
|||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获得工艺流程列表
|
||||||
|
export function getProcessFlowList() {
|
||||||
|
return request({
|
||||||
|
url: '/extend/process-flow/listAll',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建订单
|
||||||
|
export function orderCreate(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/order/create',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新订单
|
||||||
|
export function orderUpdate(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/order/update',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除订单
|
||||||
|
export function orderDelete(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/order/delete',
|
||||||
|
method: 'delete',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 下发订单,绑定的穿工单id,新建不传
|
||||||
|
export function orderIssue(data) {
|
||||||
|
return request({
|
||||||
|
url: '/base/order/issue',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
19
src/api/monitoring/teamProduction.js
Normal file
19
src/api/monitoring/teamProduction.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 获得排班信息分页 建议size 150
|
||||||
|
export function groupTeamSchedulingPage(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/group-team-scheduling/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得不同产线每小时报废数据,用于班组检测 班组生产情况详情(动态结构)
|
||||||
|
export function getSchedulingMonitoringRecord(query) {
|
||||||
|
return request({
|
||||||
|
url: '/base/quality-inspection-record/getSchedulingMonitoringRecord',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
15
src/assets/icons/svg/table_delete.svg
Normal file
15
src/assets/icons/svg/table_delete.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 60 (88103) - https://sketch.com -->
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<g id="11_系统管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="11-1用户管理" transform="translate(-1822.000000, -159.000000)" fill="#FF5454" fill-rule="nonzero">
|
||||||
|
<g id="编组-10" transform="translate(1821.000000, 158.000000)">
|
||||||
|
<g id="删除">
|
||||||
|
<rect id="矩形" opacity="0" x="0" y="0" width="16" height="16"></rect>
|
||||||
|
<path d="M9.39137788,11.7149165 C9.13431614,11.7149165 8.92716929,11.5077697 8.92716929,11.2507079 L8.92716929,6.14191781 C8.92716929,5.88485607 9.13431613,5.67770922 9.39137788,5.67770922 C9.64843963,5.67770922 9.85558647,5.88485606 9.85558647,6.14191781 L9.85558647,11.2482122 C9.85558647,11.5052739 9.64843961,11.7149165 9.39137788,11.7149165 Z M6.60612639,11.7149165 C6.34906466,11.7149165 6.1419178,11.5077697 6.1419178,11.2507079 L6.1419178,6.14191781 C6.1419178,5.88485607 6.34906466,5.67770922 6.60612641,5.67770922 C6.86318814,5.67770922 7.07033499,5.88485606 7.07033499,6.14191781 L7.07033499,11.2482122 C7.07033499,11.5052739 6.86318814,11.7149165 6.60612639,11.7149165 Z M14.0359594,3.82087491 L11.7149165,3.82087491 L11.7149165,2.89245775 C11.7149165,2.12376827 11.0959718,1.499832 10.3322738,1.499832 L5.67770923,1.499832 C4.90901976,1.499832 4.28508349,2.12376827 4.28508349,2.89245775 L4.28508349,3.82087491 L1.96404059,3.82087491 C1.70697885,3.82087491 1.499832,4.02802174 1.499832,4.28508349 C1.499832,4.54214524 1.70697884,4.74929208 1.96404059,4.74929208 L14.0359594,4.74929208 C14.2930211,4.74929208 14.500168,4.54214524 14.500168,4.28508349 C14.500168,4.02802174 14.2930212,3.82087491 14.0359594,3.82087491 Z M5.21350066,2.89245775 C5.21350066,2.63789175 5.42314324,2.42824916 5.67770925,2.42824916 L10.3322738,2.42824916 C10.5868398,2.42824916 10.7864994,2.63290025 10.7864994,2.89245775 L10.7864994,3.82087491 L5.21350066,3.82087491 L5.21350066,2.89245775 L5.21350066,2.89245775 Z M11.2507079,14.500168 L4.75178782,14.500168 C3.98309834,14.500168 3.35916207,13.8762317 3.35916207,13.1075423 L3.35916207,6.13692631 C3.35916207,5.87986457 3.56630891,5.67271772 3.82337066,5.67271772 C4.08043241,5.67271772 4.28757925,5.87986456 4.28757925,6.13692631 L4.28757925,13.1075423 C4.28757925,13.364604 4.49722183,13.5717508 4.75178783,13.5717508 L11.2532037,13.5717508 C11.5102654,13.5717508 11.7174123,13.364604 11.7174123,13.1075423 L11.7174123,6.15439653 C11.7174123,5.89733479 11.9245591,5.69018794 12.1816209,5.69018794 C12.4386826,5.69018794 12.6458294,5.89733478 12.6458294,6.15439653 L12.6458294,13.1075423 C12.6433337,13.873736 12.0193974,14.500168 11.2507079,14.500168 Z" id="形状"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
@ -89,8 +89,6 @@ export const DICT_TYPE = {
|
|||||||
|
|
||||||
// ============== ENERGY - 能源模块 =============
|
// ============== ENERGY - 能源模块 =============
|
||||||
ENERGY_UNIT: 'energy_unit',
|
ENERGY_UNIT: 'energy_unit',
|
||||||
|
|
||||||
// ============== ENERGY - 能源模块 =============
|
|
||||||
EQU_ALARM_LEVEL: 'equ_alarm_level',
|
EQU_ALARM_LEVEL: 'equ_alarm_level',
|
||||||
MONITOR_INDEX_TYPE: 'monitor_index_type',
|
MONITOR_INDEX_TYPE: 'monitor_index_type',
|
||||||
OBJECT_TYPE: 'object_type',
|
OBJECT_TYPE: 'object_type',
|
||||||
@ -99,8 +97,9 @@ export const DICT_TYPE = {
|
|||||||
|
|
||||||
// ============== 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'
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
65
src/views/base/material/SmallTitle.vue
Normal file
65
src/views/base/material/SmallTitle.vue
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<!--
|
||||||
|
* @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>
|
421
src/views/base/material/add-or-updata.vue
Normal file
421
src/views/base/material/add-or-updata.vue
Normal file
@ -0,0 +1,421 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2021-11-18 14:16:25
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @LastEditTime: 2023-10-27 15:11:02
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-drawer
|
||||||
|
:visible.sync="visible"
|
||||||
|
:show-close="false"
|
||||||
|
:wrapper-closable="false"
|
||||||
|
class="drawer"
|
||||||
|
size="60%">
|
||||||
|
<small-title slot="title" :no-padding="true">
|
||||||
|
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
|
||||||
|
</small-title>
|
||||||
|
<div class="content">
|
||||||
|
<div class="visual-part">
|
||||||
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
ref="dataForm"
|
||||||
|
@keyup.enter.native="dataFormSubmit()"
|
||||||
|
label-width="100px"
|
||||||
|
label-position="top">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料编码" prop="code">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.code"
|
||||||
|
clearable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请输入物料编码" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料名称" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" :disabled="isdetail" clearable placeholder="请输入物料名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="英文名称" prop="engName">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.engName"
|
||||||
|
clearable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请输入英文名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料类型" prop="type">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.type"
|
||||||
|
filterable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请选择物料类型">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in materialList"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="规格" prop="spec">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.spec"
|
||||||
|
clearable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请输入规格" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.supplierId"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请选择供应商">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in supplierList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="单位" prop="unit">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.unit"
|
||||||
|
filterable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请选择物料单位">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in unitList"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="attr-list" v-if="idAttrShow">
|
||||||
|
<small-title
|
||||||
|
style="margin: 16px 0; padding-left: 8px"
|
||||||
|
:no-padding="true">
|
||||||
|
物料属性
|
||||||
|
</small-title>
|
||||||
|
|
||||||
|
<base-table
|
||||||
|
:table-props="tableProps"
|
||||||
|
:page="listQuery.pageNo"
|
||||||
|
:limit="listQuery.pageSize"
|
||||||
|
:add-button-show="isdetail ? null : '添加属性'"
|
||||||
|
@emitButtonClick="addNew()"
|
||||||
|
:table-data="materialAttrList">
|
||||||
|
<method-btn
|
||||||
|
v-if="!isdetail"
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="120"
|
||||||
|
label="操作"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick" />
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
v-show="listQuery.total > 0"
|
||||||
|
:total="listQuery.total"
|
||||||
|
:page.sync="listQuery.pageNo"
|
||||||
|
:limit.sync="listQuery.pageSize"
|
||||||
|
:page-sizes="[5, 10, 15]"
|
||||||
|
@pagination="getList" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="drawer-body__footer">
|
||||||
|
<el-button style="" @click="goback()">取消</el-button>
|
||||||
|
<el-button v-if="isdetail" type="primary" @click="goEdit()">
|
||||||
|
编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button v-else type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<attr-add
|
||||||
|
v-if="addOrUpdateVisible"
|
||||||
|
ref="addOrUpdate"
|
||||||
|
:material-id="dataForm.id"
|
||||||
|
@refreshDataList="getList" />
|
||||||
|
</el-drawer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from '../../core/mixins/basic-add';
|
||||||
|
import { createMaterial, updateMaterial, getMaterial, getCode, getSupplierList, getMaterialAttrList, deleteMaterialAttr } from "@/api/base/material";
|
||||||
|
import { listData } from "@/api/system/dict/data";
|
||||||
|
import SmallTitle from './SmallTitle';
|
||||||
|
import { parseTime } from '../../core/mixins/code-filter';
|
||||||
|
import attrAdd from './attr-add';
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'edit',
|
||||||
|
btnName: '编辑',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'delete',
|
||||||
|
btnName: '删除',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: '添加时间',
|
||||||
|
filter: parseTime,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'attrName',
|
||||||
|
label: '属性名',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'attrValue',
|
||||||
|
label: '属性值',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
components: { SmallTitle, attrAdd },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
tableBtn,
|
||||||
|
tableProps,
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
urlOptions: {
|
||||||
|
isGetCode: true,
|
||||||
|
codeURL: getCode,
|
||||||
|
createURL: createMaterial,
|
||||||
|
updateURL: updateMaterial,
|
||||||
|
infoURL: getMaterial,
|
||||||
|
},
|
||||||
|
listQuery: {
|
||||||
|
pageSize: 10,
|
||||||
|
pageNo: 1,
|
||||||
|
total: 0,
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
id: undefined,
|
||||||
|
code: undefined,
|
||||||
|
name: '',
|
||||||
|
engName: '',
|
||||||
|
type: '',
|
||||||
|
spec: undefined,
|
||||||
|
supplierId: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
unit: ''
|
||||||
|
},
|
||||||
|
materialList: [],
|
||||||
|
supplierList: [],
|
||||||
|
materialAttrList: [],
|
||||||
|
unitList: [],
|
||||||
|
visible: false,
|
||||||
|
isdetail: false,
|
||||||
|
idAttrShow: false,
|
||||||
|
dataRule: {
|
||||||
|
code: [{ required: true, message: "物料编码不能为空", trigger: "blur" }],
|
||||||
|
name: [{ required: true, message: "物料名称不能为空", trigger: "blur" }],
|
||||||
|
type: [{ required: true, message: "物料类型不能为空", trigger: "blur" }]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getDict()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDict() {
|
||||||
|
// 物料类型列表
|
||||||
|
const res = await listData({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 99,
|
||||||
|
dictType: 'material_type',
|
||||||
|
});
|
||||||
|
this.materialList = res.data.list.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.label,
|
||||||
|
value: Number(item.value)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 供应商列表
|
||||||
|
const supplierRes = await getSupplierList();
|
||||||
|
this.supplierList = supplierRes.data;
|
||||||
|
// 物料单位列表
|
||||||
|
const unitRes = await listData({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 99,
|
||||||
|
dictType: 'goods_unit',
|
||||||
|
});
|
||||||
|
this.unitList = unitRes.data.list.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.label,
|
||||||
|
value: Number(item.value)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
this.materialAttrList.splice(0);
|
||||||
|
this.listQuery.total = 0;
|
||||||
|
},
|
||||||
|
handleClick(raw) {
|
||||||
|
if (raw.type === 'delete') {
|
||||||
|
this.$confirm(
|
||||||
|
`确定对${
|
||||||
|
raw.data.attrName
|
||||||
|
? '[名称=' + raw.data.attrName + ']'
|
||||||
|
: '[序号=' + raw.data._pageIndex + ']'
|
||||||
|
}进行删除操作?`,
|
||||||
|
'提示',
|
||||||
|
{
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then(() => {
|
||||||
|
deleteMaterialAttr(raw.data.id).then(({ data }) => {
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
} else {
|
||||||
|
this.addNew(raw.data.id);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
// 获取物料的属性列表
|
||||||
|
getMaterialAttrList({
|
||||||
|
...this.listQuery,
|
||||||
|
materialId: this.dataForm.id,
|
||||||
|
}).then((response) => {
|
||||||
|
this.materialAttrList = response.data.list;
|
||||||
|
this.listQuery.total = response.data.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
init(id, isdetail) {
|
||||||
|
this.initData();
|
||||||
|
this.isdetail = isdetail || false;
|
||||||
|
this.dataForm.id = id || undefined;
|
||||||
|
this.visible = true;
|
||||||
|
if (id) {
|
||||||
|
this.idAttrShow = true
|
||||||
|
} else {
|
||||||
|
this.idAttrShow = false
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields();
|
||||||
|
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
// 获取物料详情
|
||||||
|
this.urlOptions.infoURL(id).then(response => {
|
||||||
|
this.dataForm = response.data;
|
||||||
|
});
|
||||||
|
// 获取物料的属性列表
|
||||||
|
this.getList();
|
||||||
|
} else {
|
||||||
|
if (this.urlOptions.isGetCode) {
|
||||||
|
this.getCode()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
goback() {
|
||||||
|
this.$emit('refreshDataList');
|
||||||
|
this.visible = false;
|
||||||
|
// this.initData();
|
||||||
|
},
|
||||||
|
goEdit() {
|
||||||
|
this.isdetail = false;
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.drawer >>> .el-drawer {
|
||||||
|
border-radius: 8px 0 0 8px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawer >>> .el-form-item__label {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawer >>> .content {
|
||||||
|
padding: 30px 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;
|
||||||
|
}
|
||||||
|
</style>
|
141
src/views/base/material/attr-add.vue
Normal file
141
src/views/base/material/attr-add.vue
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:visible.sync="visible"
|
||||||
|
:width="'35%'"
|
||||||
|
:append-to-body="true"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
class="dialog">
|
||||||
|
<template #title>
|
||||||
|
<slot name="title">
|
||||||
|
<div class="titleStyle">
|
||||||
|
{{ !dataForm.id ? '新增' : '编辑' }}
|
||||||
|
</div>
|
||||||
|
</slot>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<el-form
|
||||||
|
ref="dataForm"
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
label-width="100px"
|
||||||
|
@keyup.enter.native="dataFormSubmit()">
|
||||||
|
<el-form-item label="属性名" prop="attrName">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.attrName"
|
||||||
|
placeholder="请输入属性名"
|
||||||
|
clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="属性值" prop="attrValue">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.attrValue"
|
||||||
|
placeholder="请输入属性值"
|
||||||
|
clearable />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row style="text-align: right">
|
||||||
|
<el-button @click="visible = false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||||
|
</el-row>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
createMaterialAttr,
|
||||||
|
updateMaterialAttr,
|
||||||
|
getMaterialAttr
|
||||||
|
} from '@/api/base/material';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
materialId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: undefined,
|
||||||
|
attrName: '',
|
||||||
|
attrValue: '',
|
||||||
|
},
|
||||||
|
dataRule: {
|
||||||
|
attrName: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || '';
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields();
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
getMaterialAttr({
|
||||||
|
id: this.dataForm.id
|
||||||
|
}).then((res) => {
|
||||||
|
const { attrName, attrValue } = res.data;
|
||||||
|
this.dataForm.attrName = attrName;
|
||||||
|
this.dataForm.attrValue = attrValue;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
// 修改的提交
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
updateMaterialAttr({
|
||||||
|
...this.dataForm,
|
||||||
|
materialId: this.materialId,
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess('修改成功');
|
||||||
|
this.visible = false;
|
||||||
|
this.$emit('refreshDataList');
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 添加的提交
|
||||||
|
createMaterialAttr({
|
||||||
|
...this.dataForm,
|
||||||
|
materialId: this.materialId,
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess('新增成功');
|
||||||
|
this.visible = false;
|
||||||
|
this.$emit('refreshDataList');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.dialog >>> .el-dialog__body {
|
||||||
|
padding: 30px 24px;
|
||||||
|
}
|
||||||
|
.dialog >>> .el-dialog__header {
|
||||||
|
font-size: 16px;
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
font-weight: 500;
|
||||||
|
padding: 13px 24px;
|
||||||
|
border-bottom: 1px solid #e9e9e9;
|
||||||
|
}
|
||||||
|
.dialog >>> .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;
|
||||||
|
}
|
||||||
|
</style>
|
233
src/views/base/material/index.vue
Normal file
233
src/views/base/material/index.vue
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
<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="220"
|
||||||
|
label="操作"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick" />
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
:limit.sync="listQuery.pageSize"
|
||||||
|
:page.sync="listQuery.pageNo"
|
||||||
|
:total="listQuery.total"
|
||||||
|
@pagination="getDataList" />
|
||||||
|
<add-or-update
|
||||||
|
v-if="addOrUpdateVisible"
|
||||||
|
ref="addOrUpdate"
|
||||||
|
@refreshDataList="getDataList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddOrUpdate from './add-or-updata';
|
||||||
|
import basicPage from '../../core/mixins/basic-page';
|
||||||
|
import { parseTime } from '../../core/mixins/code-filter';
|
||||||
|
import {
|
||||||
|
getMaterialPage,
|
||||||
|
deleteMaterial
|
||||||
|
} from '@/api/base/material';
|
||||||
|
import { listData } from "@/api/system/dict/data";
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: '添加时间',
|
||||||
|
filter: parseTime
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'code',
|
||||||
|
label: '物料编码'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: '物料名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'engName',
|
||||||
|
label: '英文名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'abbr',
|
||||||
|
label: '缩写'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'materialType',
|
||||||
|
label: '物料类型'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'supplierName',
|
||||||
|
label: '供应商'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'remark',
|
||||||
|
label: '备注'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicPage],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: getMaterialPage,
|
||||||
|
deleteURL: deleteMaterial
|
||||||
|
// exportURL: exportFactoryExcel,
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
tableBtn: [
|
||||||
|
this.$auth.hasPermi(`base:material:update`)
|
||||||
|
? {
|
||||||
|
type: 'edit',
|
||||||
|
btnName: '编辑',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material:queryAttr`)
|
||||||
|
? {
|
||||||
|
type: 'search',
|
||||||
|
btnName: '查看属性',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material:editAttr`)
|
||||||
|
? {
|
||||||
|
type: 'editAttr',
|
||||||
|
btnName: '编辑属性',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material:delete`)
|
||||||
|
? {
|
||||||
|
type: 'delete',
|
||||||
|
btnName: '删除',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
].filter((v)=>v),
|
||||||
|
tableData: [],
|
||||||
|
typeList: [],
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '关键字',
|
||||||
|
placeholder: '物料名称',
|
||||||
|
param: 'name',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '关键字',
|
||||||
|
placeholder: '物料编码',
|
||||||
|
param: 'code',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '查询',
|
||||||
|
name: 'search',
|
||||||
|
color: 'primary',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: this.$auth.hasPermi('base:material:create') ? 'button' : '',
|
||||||
|
btnName: '新增物料',
|
||||||
|
name: 'add',
|
||||||
|
color: 'success',
|
||||||
|
plain: true
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
AddOrUpdate,
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getDict()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDict() {
|
||||||
|
// 物料类型列表
|
||||||
|
const res = await listData({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 99,
|
||||||
|
dictType: 'material_type',
|
||||||
|
});
|
||||||
|
this.typeList = res.data.list.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.label,
|
||||||
|
value: Number(item.value)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
otherMethods(val) {
|
||||||
|
if (val.type === 'search') {
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.addOrEditTitle = '详情';
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id, true);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.addOrEditTitle = '编辑';
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取数据列表
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.urlOptions.getDataListURL(this.listQuery).then(response => {
|
||||||
|
this.tableData = response.data.records.map(item => {
|
||||||
|
this.typeList.filter(t => {
|
||||||
|
if (item.type === t.value) {
|
||||||
|
item.materialType = t.label
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return item
|
||||||
|
});
|
||||||
|
this.listQuery.total = response.data.total;
|
||||||
|
this.dataListLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case 'search':
|
||||||
|
this.listQuery.pageNo = 1;
|
||||||
|
this.listQuery.pageSize = 10;
|
||||||
|
this.listQuery.name = val.name ? val.name : undefined;
|
||||||
|
this.listQuery.code = val.code ? val.code : undefined;
|
||||||
|
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>
|
107
src/views/base/materialDate/add-or-updata.vue
Normal file
107
src/views/base/materialDate/add-or-updata.vue
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2021-11-18 14:16:25
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @LastEditTime: 2023-10-24 18:34:07
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
ref="dataForm"
|
||||||
|
@keyup.enter.native="dataFormSubmit()"
|
||||||
|
label-width="80px">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料名称" prop="materialId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.materialId"
|
||||||
|
placeholder="请选择物料"
|
||||||
|
@change="setMaterialCode">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in materialList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料编码" prop="materialCode">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.materialCode"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入物料编码" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="批次号" prop="code">
|
||||||
|
<el-input v-model="dataForm.code" clearable placeholder="请输入批次号" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="批次名称" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" clearable placeholder="请输入批次名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" clearable placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from '../../core/mixins/basic-add';
|
||||||
|
import { createMaterialDate, updateMaterialDate, getMaterialDate, getCode } from "@/api/base/materialDate";
|
||||||
|
import { getMaterialList } from "@/api/base/material";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
isGetCode: true,
|
||||||
|
codeURL: getCode,
|
||||||
|
createURL: createMaterialDate,
|
||||||
|
updateURL: updateMaterialDate,
|
||||||
|
infoURL: getMaterialDate,
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
id: undefined,
|
||||||
|
code: undefined,
|
||||||
|
name: undefined,
|
||||||
|
materialId: undefined,
|
||||||
|
materialCode: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
},
|
||||||
|
materialList: [],
|
||||||
|
dataRule: {
|
||||||
|
materialId: [{ required: true, message: "物料不能为空", trigger: "blur" }],
|
||||||
|
code: [{ required: true, message: "工厂编码不能为空", trigger: "blur" }],
|
||||||
|
name: [{ required: true, message: "工厂名称不能为空", trigger: "blur" }],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getDict()
|
||||||
|
console.log('我看看', this.dataForm)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDict() {
|
||||||
|
// 物料列表
|
||||||
|
const res = await getMaterialList();
|
||||||
|
this.materialList = res.data;
|
||||||
|
},
|
||||||
|
setMaterialCode() {
|
||||||
|
const chooseM = this.materialList.filter(item => {
|
||||||
|
return item.id === this.dataForm.materialId
|
||||||
|
})
|
||||||
|
this.dataForm.materialCode = chooseM[0].code
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
169
src/views/base/materialDate/index.vue
Normal file
169
src/views/base/materialDate/index.vue
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
<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="120"
|
||||||
|
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="50%">
|
||||||
|
<add-or-update
|
||||||
|
ref="addOrUpdate"
|
||||||
|
@refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddOrUpdate from './add-or-updata';
|
||||||
|
import basicPage from '../../core/mixins/basic-page';
|
||||||
|
import { parseTime } from '../../core/mixins/code-filter';
|
||||||
|
import {
|
||||||
|
getMaterDatePage,
|
||||||
|
deleteMaterialDate
|
||||||
|
} from '@/api/base/materialDate';
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: '添加时间',
|
||||||
|
filter: parseTime
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'code',
|
||||||
|
label: '批次号'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: '批次名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'materialCode',
|
||||||
|
label: '物料编码'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'materialName',
|
||||||
|
label: '物料名称'
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicPage],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: getMaterDatePage,
|
||||||
|
deleteURL: deleteMaterialDate,
|
||||||
|
// exportURL: exportFactoryExcel,
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
tableBtn: [
|
||||||
|
this.$auth.hasPermi(`base:material-date:update`)
|
||||||
|
? {
|
||||||
|
type: 'edit',
|
||||||
|
btnName: '编辑',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material-date:delete`)
|
||||||
|
? {
|
||||||
|
type: 'delete',
|
||||||
|
btnName: '删除',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
].filter((v)=>v),
|
||||||
|
tableData: [],
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '批次名',
|
||||||
|
placeholder: '批次名',
|
||||||
|
param: 'name',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '查询',
|
||||||
|
name: 'search',
|
||||||
|
color: 'primary',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: this.$auth.hasPermi('base:material-date:create') ? 'button' : '',
|
||||||
|
btnName: '新增',
|
||||||
|
name: 'add',
|
||||||
|
color: 'success',
|
||||||
|
plain: true
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
AddOrUpdate,
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
methods: {
|
||||||
|
// 获取数据列表
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.urlOptions.getDataListURL(this.listQuery).then(response => {
|
||||||
|
this.tableData = response.data.records;
|
||||||
|
this.listQuery.total = response.data.total;
|
||||||
|
this.dataListLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case 'search':
|
||||||
|
this.listQuery.pageNo = 1;
|
||||||
|
this.listQuery.pageSize = 10;
|
||||||
|
this.listQuery.name = val.name ? val.name : undefined;
|
||||||
|
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>
|
469
src/views/base/materialProductBom/add-or-updata.vue
Normal file
469
src/views/base/materialProductBom/add-or-updata.vue
Normal file
@ -0,0 +1,469 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2021-11-18 14:16:25
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @LastEditTime: 2023-10-27 16:06:44
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-drawer
|
||||||
|
:visible.sync="visible"
|
||||||
|
:show-close="false"
|
||||||
|
:wrapper-closable="false"
|
||||||
|
class="drawer"
|
||||||
|
size="70%">
|
||||||
|
<small-title slot="title" :no-padding="true">
|
||||||
|
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
|
||||||
|
</small-title>
|
||||||
|
<div class="content">
|
||||||
|
<div class="visual-part">
|
||||||
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
ref="dataForm"
|
||||||
|
@keyup.enter.native="dataFormSubmit()"
|
||||||
|
label-width="100px"
|
||||||
|
label-position="top">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="产品名称" prop="productId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.productId"
|
||||||
|
filterable
|
||||||
|
:disabled="isdetail"
|
||||||
|
placeholder="请选择产品">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in productList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="产品BOM编码" prop="code">
|
||||||
|
<el-input v-model="dataForm.code" disabled placeholder="请输入产品Bom编码" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="attr-list" v-if="idAttrShow">
|
||||||
|
<small-title
|
||||||
|
style="margin: 16px 0; padding-left: 8px"
|
||||||
|
:no-padding="true">
|
||||||
|
BOM明细
|
||||||
|
</small-title>
|
||||||
|
|
||||||
|
<!-- <base-table
|
||||||
|
:table-props="tableProps"
|
||||||
|
:page="listQuery.pageNo"
|
||||||
|
:limit="listQuery.pageSize"
|
||||||
|
:add-button-show="isdetail ? null : '添加属性'"
|
||||||
|
@emitButtonClick="addNew()"
|
||||||
|
:table-data="materialAttrList">
|
||||||
|
<method-btn
|
||||||
|
v-if="!isdetail"
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="120"
|
||||||
|
label="操作"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick" />
|
||||||
|
</base-table> -->
|
||||||
|
<el-button v-show="!isdetail" type="success" size="small" style="float: right" @click="addRow()">添加一行</el-button>
|
||||||
|
<el-table
|
||||||
|
:data="tableData"
|
||||||
|
style="width: 100%">
|
||||||
|
<el-table-column type="index" label="序号" />
|
||||||
|
<el-table-column prop="createTime" label="添加时间">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="materialId" label="物料名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select
|
||||||
|
v-model="scope.row.materialId"
|
||||||
|
filterable
|
||||||
|
:disabled="!scope.row.isEdit"
|
||||||
|
placeholder="请选择物料"
|
||||||
|
@change="setCode(scope.row)">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in materialList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="materialCode" label="物料编码" />
|
||||||
|
<el-table-column prop="mUnit" label="单位" />
|
||||||
|
<el-table-column prop="num" label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.num" :disabled="!scope.row.isEdit"></el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="remark" label="备注">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.remark" :disabled="!scope.row.isEdit"></el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-if="!isdetail" label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip v-if="!scope.row.isEdit" placement="top" content="编辑">
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
:style="{color:'#0B58FF'}"
|
||||||
|
size="mini"
|
||||||
|
@click="edit(scope.row)"
|
||||||
|
>
|
||||||
|
<!-- 此处的icon的名字命名为'table_'加上按钮的type -->
|
||||||
|
<svg-icon style="width: 18px; height: 18px" class="item-icon" icon-class="edit" />
|
||||||
|
<!-- <span>{{ item.btnName | i18nFilter }}</span> -->
|
||||||
|
</el-button>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-button v-else type="primary" size="small" @click="saveData(scope.row)">保存</el-button>
|
||||||
|
<el-tooltip placement="top" content="删除">
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
:style="{color:'#FF5454'}"
|
||||||
|
size="mini"
|
||||||
|
@click="deleteDetail(scope.row)"
|
||||||
|
>
|
||||||
|
<!-- 此处的icon的名字命名为'table_'加上按钮的type -->
|
||||||
|
<svg-icon style="width: 18px; height: 18px" class="item-icon" icon-class="table_delete" />
|
||||||
|
<!-- <span>{{ item.btnName | i18nFilter }}</span> -->
|
||||||
|
</el-button>
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="listQuery.total > 0"
|
||||||
|
:total="listQuery.total"
|
||||||
|
:page.sync="listQuery.pageNo"
|
||||||
|
:limit.sync="listQuery.pageSize"
|
||||||
|
:page-sizes="[5, 10, 15]"
|
||||||
|
@pagination="getList" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="drawer-body__footer">
|
||||||
|
<el-button style="" @click="goback()">取消</el-button>
|
||||||
|
<el-button v-if="isdetail" type="primary" @click="goEdit()">
|
||||||
|
编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button v-else type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <attr-add
|
||||||
|
v-if="addOrUpdateVisible"
|
||||||
|
ref="addOrUpdate"
|
||||||
|
:material-id="dataForm.id"
|
||||||
|
@refreshDataList="getList" /> -->
|
||||||
|
</el-drawer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from '../../core/mixins/basic-add';
|
||||||
|
import { createMaterialPB, updateMaterialPB, getMaterialPB, getCode, getProList, getProBomList, createMaterialPBDet, updateMaterialPBDet, deleteMaterialPBDet } from "@/api/base/materialProductBom";
|
||||||
|
import { getMaterialList } from "@/api/base/material";
|
||||||
|
import { listData } from "@/api/system/dict/data";
|
||||||
|
import SmallTitle from '../material/SmallTitle';
|
||||||
|
import { parseTime } from '../../core/mixins/code-filter';
|
||||||
|
// import attrAdd from './attr-add';
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'edit',
|
||||||
|
btnName: '编辑',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'delete',
|
||||||
|
btnName: '删除',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: '添加时间',
|
||||||
|
filter: parseTime,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'attrName',
|
||||||
|
label: '属性名',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'attrValue',
|
||||||
|
label: '属性值',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
components: { SmallTitle },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
tableBtn,
|
||||||
|
tableProps,
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
urlOptions: {
|
||||||
|
isGetCode: true,
|
||||||
|
codeURL: getCode,
|
||||||
|
createURL: createMaterialPB,
|
||||||
|
updateURL: updateMaterialPB,
|
||||||
|
infoURL: getMaterialPB,
|
||||||
|
},
|
||||||
|
listQuery: {
|
||||||
|
pageSize: 10,
|
||||||
|
pageNo: 1,
|
||||||
|
total: 0,
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
id: undefined,
|
||||||
|
code: undefined,
|
||||||
|
productId: '',
|
||||||
|
remark: undefined,
|
||||||
|
},
|
||||||
|
productList: [],
|
||||||
|
materialAttrList: [],
|
||||||
|
materialList: [],
|
||||||
|
tableData: [],
|
||||||
|
unitList: [],
|
||||||
|
visible: false,
|
||||||
|
isdetail: false,
|
||||||
|
idAttrShow: false,
|
||||||
|
dataRule: {
|
||||||
|
productId: [{ required: true, message: "产品不能为空", trigger: "blur" }]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getDict()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDict() {
|
||||||
|
// 产品列表
|
||||||
|
const proRes = await getProList();
|
||||||
|
this.productList = proRes.data;
|
||||||
|
// 物料列表
|
||||||
|
const res = await getMaterialList();
|
||||||
|
this.materialList = res.data;
|
||||||
|
// 物料单位列表
|
||||||
|
const unitRes = await listData({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 99,
|
||||||
|
dictType: 'goods_unit',
|
||||||
|
});
|
||||||
|
this.unitList = unitRes.data.list.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.label,
|
||||||
|
value: Number(item.value)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
// this.materialAttrList.splice(0);
|
||||||
|
this.listQuery.total = 0;
|
||||||
|
},
|
||||||
|
deleteDetail(raw) {
|
||||||
|
this.$confirm(
|
||||||
|
`确定删除关于物料编码为${
|
||||||
|
raw.materialCode}的数据?`,
|
||||||
|
'提示',
|
||||||
|
{
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then(() => {
|
||||||
|
deleteMaterialPBDet(raw.id).then(({ data }) => {
|
||||||
|
this.$message({
|
||||||
|
message: '操作成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
setCode(row) {
|
||||||
|
this.materialList.filter(item => {
|
||||||
|
if (row.materialId === item.id) {
|
||||||
|
row.materialCode = item.code
|
||||||
|
}
|
||||||
|
this.unitList.filter(u => {
|
||||||
|
if (item.unit === u.value) {
|
||||||
|
row.unit = u.value
|
||||||
|
row.mUnit = u.label
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// return row.materialId === item.id
|
||||||
|
})
|
||||||
|
// row.materialCode = tempList[0].code
|
||||||
|
// row.unit = tempList[0].unit
|
||||||
|
console.log('row', row)
|
||||||
|
},
|
||||||
|
edit(row) {
|
||||||
|
row.isEdit = true
|
||||||
|
},
|
||||||
|
saveData(row) {
|
||||||
|
// this.$refs['dataForm'].validate((valid) => {
|
||||||
|
// if (valid) {
|
||||||
|
// 修改的提交
|
||||||
|
if (row.id) {
|
||||||
|
updateMaterialPBDet({
|
||||||
|
...row
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess('修改成功');
|
||||||
|
// this.visible = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 添加的提交
|
||||||
|
createMaterialPBDet({
|
||||||
|
...row
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess('新增成功');
|
||||||
|
// this.visible = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
// 获取产品Bom详细列表
|
||||||
|
getProBomList({
|
||||||
|
...this.listQuery,
|
||||||
|
bomId: this.dataForm.id,
|
||||||
|
createTime: ['2023-10-26 00:00:00', '2023-10-27 12:00:00']
|
||||||
|
}).then((response) => {
|
||||||
|
this.tableData = response.data.records.map(item => {
|
||||||
|
this.unitList.filter(u => {
|
||||||
|
if (item.unit === u.value) {
|
||||||
|
item.mUnit = u.label
|
||||||
|
}
|
||||||
|
})
|
||||||
|
item.isEdit = false
|
||||||
|
return item
|
||||||
|
});
|
||||||
|
this.listQuery.total = response.data.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 构造一行
|
||||||
|
addRow() {
|
||||||
|
const row = {
|
||||||
|
bomId: this.dataForm.id,
|
||||||
|
materialId: '',
|
||||||
|
num: 0,
|
||||||
|
materialCode: undefined,
|
||||||
|
unit: undefined,
|
||||||
|
remark: '',
|
||||||
|
isEdit: true
|
||||||
|
}
|
||||||
|
this.tableData.push(row)
|
||||||
|
},
|
||||||
|
init(id, isdetail) {
|
||||||
|
this.initData();
|
||||||
|
this.isdetail = isdetail || false;
|
||||||
|
this.dataForm.id = id || undefined;
|
||||||
|
this.visible = true;
|
||||||
|
if (id) {
|
||||||
|
this.idAttrShow = true
|
||||||
|
} else {
|
||||||
|
this.idAttrShow = false
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields();
|
||||||
|
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
// 获取物料详情
|
||||||
|
this.urlOptions.infoURL(id).then(response => {
|
||||||
|
this.dataForm = response.data;
|
||||||
|
});
|
||||||
|
// 获取Bom明细
|
||||||
|
this.getList();
|
||||||
|
} else {
|
||||||
|
if (this.urlOptions.isGetCode) {
|
||||||
|
this.getCode()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
goback() {
|
||||||
|
this.$emit('refreshDataList');
|
||||||
|
this.visible = false;
|
||||||
|
// this.initData();
|
||||||
|
},
|
||||||
|
goEdit() {
|
||||||
|
this.isdetail = false;
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.drawer >>> .el-drawer {
|
||||||
|
border-radius: 8px 0 0 8px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawer >>> .el-form-item__label {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawer >>> .content {
|
||||||
|
padding: 30px 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;
|
||||||
|
}
|
||||||
|
</style>
|
187
src/views/base/materialProductBom/index.vue
Normal file
187
src/views/base/materialProductBom/index.vue
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
<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="220"
|
||||||
|
label="操作"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick" />
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
:limit.sync="listQuery.pageSize"
|
||||||
|
:page.sync="listQuery.pageNo"
|
||||||
|
:total="listQuery.total"
|
||||||
|
@pagination="getDataList" />
|
||||||
|
<add-or-update
|
||||||
|
v-if="addOrUpdateVisible"
|
||||||
|
ref="addOrUpdate"
|
||||||
|
@refreshDataList="getDataList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddOrUpdate from './add-or-updata';
|
||||||
|
import basicPage from '../../core/mixins/basic-page';
|
||||||
|
// import { parseTime } from '../../core/mixins/code-filter';
|
||||||
|
import {
|
||||||
|
getMaterialPBPage,
|
||||||
|
deleteMaterialPB
|
||||||
|
} from '@/api/base/materialProductBom';
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'productName',
|
||||||
|
label: '产品名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'code',
|
||||||
|
label: '产品BOM编码'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'remark',
|
||||||
|
label: '备注'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicPage],
|
||||||
|
components: {
|
||||||
|
AddOrUpdate,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: getMaterialPBPage,
|
||||||
|
deleteURL: deleteMaterialPB
|
||||||
|
// exportURL: exportFactoryExcel,
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
tableBtn: [
|
||||||
|
this.$auth.hasPermi(`base:material-product-bom:update`)
|
||||||
|
? {
|
||||||
|
type: 'edit',
|
||||||
|
btnName: '编辑',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material-product-bom:queryMaterial`)
|
||||||
|
? {
|
||||||
|
type: 'search',
|
||||||
|
btnName: '查看物料',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material-product-bom:editMaterial`)
|
||||||
|
? {
|
||||||
|
type: 'editMaterial',
|
||||||
|
btnName: '编辑物料',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material-product-bom:delete`)
|
||||||
|
? {
|
||||||
|
type: 'delete',
|
||||||
|
btnName: '删除',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
].filter((v)=>v),
|
||||||
|
tableData: [],
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '关键字',
|
||||||
|
placeholder: '物料名称',
|
||||||
|
param: 'name',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '关键字',
|
||||||
|
placeholder: '物料编码',
|
||||||
|
param: 'code',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '查询',
|
||||||
|
name: 'search',
|
||||||
|
color: 'primary',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: this.$auth.hasPermi('base:material:create') ? 'button' : '',
|
||||||
|
btnName: '新增',
|
||||||
|
name: 'add',
|
||||||
|
color: 'success',
|
||||||
|
plain: true
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
methods: {
|
||||||
|
otherMethods(val) {
|
||||||
|
if (val.type === 'search') {
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.addOrEditTitle = '详情';
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id, true);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.addOrEditTitle = '编辑';
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取数据列表
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.urlOptions.getDataListURL(this.listQuery).then(response => {
|
||||||
|
this.tableData = response.data.records;
|
||||||
|
this.listQuery.total = response.data.total;
|
||||||
|
this.dataListLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case 'search':
|
||||||
|
this.listQuery.pageNo = 1;
|
||||||
|
this.listQuery.pageSize = 10;
|
||||||
|
this.listQuery.name = val.name ? val.name : undefined;
|
||||||
|
this.listQuery.code = val.code ? val.code : undefined;
|
||||||
|
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>
|
258
src/views/base/materialUseLog/add-or-updata.vue
Normal file
258
src/views/base/materialUseLog/add-or-updata.vue
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2021-11-18 14:16:25
|
||||||
|
* @LastEditors: DY
|
||||||
|
* @LastEditTime: 2023-10-26 09:43:51
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
ref="dataForm"
|
||||||
|
@keyup.enter.native="dataFormSubmit()"
|
||||||
|
label-width="80px">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料名称" prop="materialId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.materialId"
|
||||||
|
placeholder="请选择物料"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
@change="setCode"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in materialList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="物料编码" prop="materialCode">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.materialCode"
|
||||||
|
clearable
|
||||||
|
disabled
|
||||||
|
placeholder="请输入物料编码" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="批次号" prop="materialDateId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.materialDateId"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
placeholder="请选择物料批次"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in materialDateList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.code"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="使用设备" prop="equipmentId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.equipmentId"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
placeholder="请选择使用设备">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in eqList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="使用时间" prop="useTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dataForm.useTime"
|
||||||
|
type="datetime"
|
||||||
|
format='yyyy-MM-dd HH:mm:ss'
|
||||||
|
value-format='timestamp'
|
||||||
|
placeholder="选择日期时间" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="操作员" prop="userNames">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.userNames"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
multiple
|
||||||
|
placeholder="请选择操作员">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in workersList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.name" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="使用数量" prop="num">
|
||||||
|
<el-input-number v-model="dataForm.num" clearable placeholder="请输入使用数量" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="数据来源" prop="source">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.source"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择数据来源">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in this.dataSourceList"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.name"
|
||||||
|
:value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" clearable placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from '../../core/mixins/basic-add';
|
||||||
|
import { createMaterialLog, updateMaterialLog, getMaterialLog, getEqListAll, getworkerAll } from "@/api/base/materialUseLog";
|
||||||
|
import { getMaterialList } from "@/api/base/material"
|
||||||
|
import { getMaterDateList } from "@/api/base/materialDate"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
createURL: createMaterialLog,
|
||||||
|
updateURL: updateMaterialLog,
|
||||||
|
infoURL: getMaterialLog
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
id: undefined,
|
||||||
|
materialId: undefined,
|
||||||
|
materialCode: undefined,
|
||||||
|
materialDateId: undefined,
|
||||||
|
equipmentId: undefined,
|
||||||
|
userName: undefined,
|
||||||
|
userNames: [],
|
||||||
|
useTime: undefined,
|
||||||
|
address: undefined,
|
||||||
|
num: 0,
|
||||||
|
source: undefined,
|
||||||
|
remark: undefined
|
||||||
|
},
|
||||||
|
dataSourceList: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
name: '手动'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
name: '自动'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
materialList: [],
|
||||||
|
materialDateList: [],
|
||||||
|
eqList: [],
|
||||||
|
workersList: [],
|
||||||
|
dataRule: {
|
||||||
|
materialId: [{ required: true, message: "物料不能为空", trigger: "blur" }],
|
||||||
|
materialDateId: [{ required: true, message: "批次号不能为空", trigger: "blur" }],
|
||||||
|
useTime: [{ required: true, message: "使用时间不能为空", trigger: "blur" }],
|
||||||
|
userNames: [{ required: true, message: "操作员不能为空", trigger: "blur" }],
|
||||||
|
num: [{ required: true, message: "使用数量不能为空", trigger: "blur" }]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getDictData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDictData() {
|
||||||
|
const materRes = await getMaterialList()
|
||||||
|
this.materialList = materRes.data
|
||||||
|
console.log('你好', this.materialList)
|
||||||
|
const dateRes = await getMaterDateList()
|
||||||
|
this.materialDateList = dateRes.data
|
||||||
|
const eqRes = await getEqListAll()
|
||||||
|
this.eqList = eqRes.data
|
||||||
|
const workerRes = await getworkerAll()
|
||||||
|
this.workersList = workerRes.data
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.dataForm.userName = this.dataForm.userNames.join(',')
|
||||||
|
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");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || undefined;
|
||||||
|
this.visible = true;
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
this.urlOptions.infoURL(id).then(response => {
|
||||||
|
this.dataForm.id = response.data.id
|
||||||
|
this.dataForm.materialCode = response.data.materialCode
|
||||||
|
this.dataForm.materialId = response.data.materialId
|
||||||
|
this.dataForm.materialDateId = response.data.materialDateId
|
||||||
|
this.dataForm.equipmentId = response.data.equipmentId
|
||||||
|
this.dataForm.useTime = response.data.useTime
|
||||||
|
// this.dataForm.userName = response.data.userName
|
||||||
|
this.dataForm.num = response.data.num
|
||||||
|
this.dataForm.source = response.data.source
|
||||||
|
this.dataForm.remark = response.data.remark
|
||||||
|
this.dataForm.userNames = response.data.userName.split(',')
|
||||||
|
console.log('打印', this.dataForm)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
if (this.urlOptions.isGetCode) {
|
||||||
|
this.getCode()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
setCode() {
|
||||||
|
const tempMaterial = this.materialList.filter(item =>{
|
||||||
|
return item.id === this.dataForm.materialId
|
||||||
|
})
|
||||||
|
this.dataForm.materialCode = tempMaterial[0].code
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
212
src/views/base/materialUseLog/index.vue
Normal file
212
src/views/base/materialUseLog/index.vue
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
<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="120"
|
||||||
|
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="50%">
|
||||||
|
<add-or-update
|
||||||
|
ref="addOrUpdate"
|
||||||
|
@refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddOrUpdate from './add-or-updata';
|
||||||
|
import basicPage from '../../core/mixins/basic-page';
|
||||||
|
import { parseTime } from '../../core/mixins/code-filter';
|
||||||
|
import {
|
||||||
|
getMaterialLogPage,
|
||||||
|
deleteMaterialLog
|
||||||
|
} from '@/api/base/materialUseLog';
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'materialName',
|
||||||
|
label: '物料名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'materialCode',
|
||||||
|
label: '物料编码'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'materialDateId',
|
||||||
|
label: '物料批次'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'equipName',
|
||||||
|
label: '使用设备'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'num',
|
||||||
|
label: '使用数量'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'useTime',
|
||||||
|
label: '使用时间',
|
||||||
|
filter: parseTime
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'userName',
|
||||||
|
label: '操作人'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'source',
|
||||||
|
label: '数据来源',
|
||||||
|
filter: (val) => ['未知', '手动', '自动'][val]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'remark',
|
||||||
|
label: '备注'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicPage],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: getMaterialLogPage,
|
||||||
|
deleteURL: deleteMaterialLog,
|
||||||
|
// exportURL: exportFactoryExcel,
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
tableBtn: [
|
||||||
|
this.$auth.hasPermi(`base:material-use-log:update`)
|
||||||
|
? {
|
||||||
|
type: 'edit',
|
||||||
|
btnName: '编辑',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi(`base:material-use-log:delete`)
|
||||||
|
? {
|
||||||
|
type: 'delete',
|
||||||
|
btnName: '删除',
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
].filter((v)=>v),
|
||||||
|
tableData: [],
|
||||||
|
listQuery: {
|
||||||
|
pageSize: 10,
|
||||||
|
pageNo: 1,
|
||||||
|
total: 1,
|
||||||
|
materialName: undefined,
|
||||||
|
useTime: []
|
||||||
|
},
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '物料名称',
|
||||||
|
placeholder: '物料名称',
|
||||||
|
param: 'name',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'datePicker',
|
||||||
|
label: '使用时间段',
|
||||||
|
dateType: 'datetimerange',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
rangeSeparator: '-',
|
||||||
|
startPlaceholder: '开始时间',
|
||||||
|
endPlaceholder: '结束时间',
|
||||||
|
width: 350,
|
||||||
|
param: 'time',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '查询',
|
||||||
|
name: 'search',
|
||||||
|
color: 'primary'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: this.$auth.hasPermi('base:material-use-log:create') ? 'button' : '',
|
||||||
|
btnName: '新增',
|
||||||
|
name: 'add',
|
||||||
|
color: 'success',
|
||||||
|
plain: true
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
AddOrUpdate,
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
methods: {
|
||||||
|
// 获取数据列表
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.urlOptions.getDataListURL(this.listQuery).then(response => {
|
||||||
|
this.tableData = response.data.records;
|
||||||
|
this.listQuery.total = response.data.total;
|
||||||
|
this.dataListLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case 'search':
|
||||||
|
this.listQuery.pageNo = 1;
|
||||||
|
this.listQuery.pageSize = 10;
|
||||||
|
this.listQuery.materialName = val.name ? val.name : undefined;
|
||||||
|
if (val.time) {
|
||||||
|
this.listQuery.useTime[0] = val.time[0]
|
||||||
|
this.listQuery.useTime[1] = val.time[1]
|
||||||
|
} else {
|
||||||
|
this.listQuery.useTime = []
|
||||||
|
}
|
||||||
|
console.log('222', this.listQuery, val.time)
|
||||||
|
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>
|
@ -96,7 +96,7 @@ const tableProps = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
import { getEnergyTypeListAll } from '@/api/base/energyType'
|
import { getEnergyTypeListAll } from '@/api/base/energyType'
|
||||||
import { orderList, workOrderList } from '@/api/base/orderManage'
|
import { workOrderList } from '@/api/base/orderManage'
|
||||||
import { getWorkOrderMsg, getOrderEnergyData } from '@/api/monitoring/orderEnergy'
|
import { getWorkOrderMsg, getOrderEnergyData } from '@/api/monitoring/orderEnergy'
|
||||||
import BarChart from "./components/barChart"
|
import BarChart from "./components/barChart"
|
||||||
export default {
|
export default {
|
||||||
@ -104,25 +104,21 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: '订单',
|
|
||||||
selectOptions: [],
|
|
||||||
param: 'energyTypeId'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '工单',
|
label: '工单',
|
||||||
selectOptions: [],
|
selectOptions: [],
|
||||||
param: 'energyTypeId1'
|
param: 'workOrderId',
|
||||||
|
clearable: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '能源类型',
|
label: '能源类型',
|
||||||
selectOptions: [],
|
selectOptions: [],
|
||||||
param: 'energyTypeId2',
|
param: 'objType',
|
||||||
filterable: true,
|
filterable: true,
|
||||||
width: 120
|
width: 120,
|
||||||
|
clearable: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
@ -130,8 +126,9 @@ export default {
|
|||||||
selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
|
selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
|
||||||
labelField: 'label',
|
labelField: 'label',
|
||||||
valueField: 'value',
|
valueField: 'value',
|
||||||
param: 'energyTypeId3',
|
param: 'energyTypeId',
|
||||||
width: 100
|
width: 100,
|
||||||
|
clearable: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
@ -145,8 +142,9 @@ export default {
|
|||||||
tableH: this.tableHeight(400),
|
tableH: this.tableHeight(400),
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNo: 1,
|
workOrderId: '',
|
||||||
pageSize: 10000
|
objType: '',
|
||||||
|
energyTypeId: ''
|
||||||
},
|
},
|
||||||
orderMsg: {},
|
orderMsg: {},
|
||||||
chartData: [],
|
chartData: [],
|
||||||
@ -162,34 +160,38 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getListArr() {
|
getListArr() {
|
||||||
getEnergyTypeListAll().then(res => {
|
|
||||||
this.formConfig[2].selectOptions = res.data || []
|
|
||||||
})
|
|
||||||
orderList().then(res => {
|
|
||||||
console.log(res)
|
|
||||||
})
|
|
||||||
workOrderList().then(res => {
|
workOrderList().then(res => {
|
||||||
console.log(res)
|
this.formConfig[0].selectOptions = res.data || []
|
||||||
|
})
|
||||||
|
getEnergyTypeListAll().then(res => {
|
||||||
|
this.formConfig[1].selectOptions = res.data || []
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
buttonClick() {
|
buttonClick(val) {
|
||||||
getWorkOrderMsg({
|
if (!val.workOrderId) {
|
||||||
"workOrderId": 1,
|
this.$modal.msgWarning('工单不能为空')
|
||||||
"objType": "3",
|
return false
|
||||||
"energyTypeId": '1681183397517406210'
|
}
|
||||||
}).then(res => {
|
if (!val.objType) {
|
||||||
console.log(res)
|
this.$modal.msgWarning('能源类型不能为空')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (!val.energyTypeId) {
|
||||||
|
this.$modal.msgWarning('对象维度不能为空')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
this.queryParams.workOrderId = val.workOrderId
|
||||||
|
this.queryParams.objType = val.objType
|
||||||
|
this.queryParams.energyTypeId = val.energyTypeId
|
||||||
|
getWorkOrderMsg({ ...this.queryParams }).then(res => {
|
||||||
this.orderMsg = res.data || {}
|
this.orderMsg = res.data || {}
|
||||||
getOrderEnergyData({
|
getOrderEnergyData({
|
||||||
"workOrderId": 1,
|
...this.queryParams,
|
||||||
"objType": "3",
|
startProduceTime: res.data.startProduceTime || '',
|
||||||
"energyTypeId": '1681183397517406210',
|
finishProduceTime: res.data.finishProduceTime || ''
|
||||||
"startProduceTime": "1694239523000",
|
}).then(result => {
|
||||||
"finishProduceTime": "1694498723000"
|
this.tableData = result.data || []
|
||||||
}).then(res => {
|
this.chartData = result.data || []
|
||||||
console.log(res)
|
|
||||||
this.tableData = res.data || []
|
|
||||||
this.chartData = res.data || []
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<el-drawer title="查看详情" :visible.sync="visible" size="70%">
|
|
||||||
<div class="box">
|
|
||||||
<base-table
|
|
||||||
:table-props="tableProps"
|
|
||||||
:table-data="tableData"
|
|
||||||
:max-height="tableH"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</el-drawer>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import { getByScheduling } from '@/api/monitoring/groupTeamView'
|
|
||||||
export default {
|
|
||||||
name: 'schedulingMonitoringDetail',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
visible: false,
|
|
||||||
tableProps: [],
|
|
||||||
tableData: [],
|
|
||||||
tableH: this.tableHeight(200)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
window.addEventListener('resize', () => {
|
|
||||||
this.tableH = this.tableHeight(200)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
init(id) {
|
|
||||||
this.visible = true
|
|
||||||
console.log(id)
|
|
||||||
getByScheduling({id}).then(res => {
|
|
||||||
console.log(res)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.box {
|
|
||||||
padding: 0 32px;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -64,14 +64,12 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(params) {
|
init(params) {
|
||||||
console.log(params)
|
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.queryParams = params
|
this.queryParams = params
|
||||||
getByTeam({
|
getByTeam({
|
||||||
teamId: this.queryParams.teamId,
|
teamId: this.queryParams.teamId,
|
||||||
workOrderId: this.queryParams.workOrderId
|
workOrderId: this.queryParams.workOrderId
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res)
|
|
||||||
this.tableData = res.data || []
|
this.tableData = res.data || []
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -61,10 +61,11 @@ export default {
|
|||||||
return {
|
return {
|
||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'select',
|
||||||
label: '工单名称',
|
label: '工单',
|
||||||
placeholder: '工单名称',
|
selectOptions: [],
|
||||||
param: 'cnName'
|
param: 'workOrderId',
|
||||||
|
clearable: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
@ -79,7 +80,8 @@ export default {
|
|||||||
pageSize: 1000,
|
pageSize: 1000,
|
||||||
workOrderId: ''
|
workOrderId: ''
|
||||||
},
|
},
|
||||||
workOrderName: '工单名称ddd',
|
workOrderList: [],
|
||||||
|
workOrderName: '',
|
||||||
tableBtn,
|
tableBtn,
|
||||||
tableProps,
|
tableProps,
|
||||||
tableH: this.tableHeight(220),
|
tableH: this.tableHeight(220),
|
||||||
@ -92,33 +94,42 @@ export default {
|
|||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
this.tableH = this.tableHeight(220)
|
this.tableH = this.tableHeight(220)
|
||||||
})
|
})
|
||||||
|
this.getOrderList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 获取工单list
|
// 获取工单list
|
||||||
getOrderList() {
|
getOrderList() {
|
||||||
workOrderList().then(res => {
|
workOrderList().then(res => {
|
||||||
|
console.log(res)
|
||||||
|
this.formConfig[0].selectOptions = res.data || []
|
||||||
|
this.workOrderList = res.data || []
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 查询
|
// 查询
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
// this.queryParams.workOrderId = val.id
|
if (!val.workOrderId) {
|
||||||
this.queryParams.workOrderId = 1
|
this.$modal.msgWarning('工单不能为空')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
this.queryParams.workOrderId = val.workOrderId
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
// 获取table数据
|
// 获取table数据
|
||||||
getList() {
|
getList() {
|
||||||
getByWorkOrder({ id: this.queryParams.workOrderId }).then(res => {
|
getByWorkOrder({ id: this.queryParams.workOrderId }).then(res => {
|
||||||
console.log(res)
|
this.list = res.data || []
|
||||||
this.list = res.data
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
console.log(val)
|
|
||||||
this.paramVisible = true
|
this.paramVisible = true
|
||||||
let params = {}
|
let params = {}
|
||||||
params.teamId = val.data.id
|
params.teamId = val.data.id
|
||||||
params.teamName = val.data.name
|
params.teamName = val.data.name
|
||||||
|
this.workOrderList.map(item => {
|
||||||
|
if (this.queryParams.workOrderId === item.id) {
|
||||||
|
this.workOrderName = item.name
|
||||||
|
}
|
||||||
|
})
|
||||||
params.workOrderId = this.queryParams.workOrderId
|
params.workOrderId = this.queryParams.workOrderId
|
||||||
params.workOrderName = this.workOrderName
|
params.workOrderName = this.workOrderName
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
@ -0,0 +1,162 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-drawer title="查看详情" :visible.sync="visible" size="70%" :wrapperClosable='false' @closed="closeDrawer">
|
||||||
|
<div class="box">
|
||||||
|
<base-table
|
||||||
|
:table-props="tableProps"
|
||||||
|
:table-data="tableData"
|
||||||
|
:max-height="tableH"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</el-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getByScheduling } from '@/api/monitoring/groupTeamView'
|
||||||
|
import { getSchedulingMonitoringRecord } from '@/api/monitoring/teamProduction'
|
||||||
|
export default {
|
||||||
|
name: 'TeamProductionDetail',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
tableProps: [
|
||||||
|
{
|
||||||
|
prop: 'lineName',
|
||||||
|
label: '产线',
|
||||||
|
minWidth: 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'startTime',
|
||||||
|
label: '上班时间',
|
||||||
|
minWidth: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'endTime',
|
||||||
|
label: '下班时间',
|
||||||
|
minWidth: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'workOrderList',
|
||||||
|
label: '生产工单'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
tableH: this.tableHeight(200)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
window.addEventListener('resize', () => {
|
||||||
|
this.tableH = this.tableHeight(200)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(params) {
|
||||||
|
this.visible = true
|
||||||
|
// console.log(params)
|
||||||
|
getByScheduling({id:params.id}).then(res => {
|
||||||
|
let dataList1 = []
|
||||||
|
let dataList2 = []
|
||||||
|
if (res.data.nameData && res.data.nameData.length > 0) {
|
||||||
|
dataList1 = res.data
|
||||||
|
// 下一个接口的参数&&表头
|
||||||
|
let timeArr = []
|
||||||
|
res.data.nameData.map(item => {
|
||||||
|
let tablePropsObj = {
|
||||||
|
prop: '',
|
||||||
|
label: '',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
prop: '',
|
||||||
|
label: '上片数据'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: '',
|
||||||
|
label: '下片数据'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: '',
|
||||||
|
label: '良品面积'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: '',
|
||||||
|
label: '报废数据'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: '',
|
||||||
|
label: '报废比例'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
timeArr.push(this.parseTime(item.name))
|
||||||
|
tablePropsObj.prop = item.name
|
||||||
|
tablePropsObj.label = this.parseTime(item.name)
|
||||||
|
tablePropsObj.children[0].prop = item.name+'sumInput'
|
||||||
|
tablePropsObj.children[1].prop = item.name+'sumOutput'
|
||||||
|
tablePropsObj.children[2].prop = item.name+'goodArea'
|
||||||
|
tablePropsObj.children[3].prop = item.name+'dynamicValue'
|
||||||
|
tablePropsObj.children[4].prop = item.name+'dynamicRatio'
|
||||||
|
this.tableProps.push(tablePropsObj)
|
||||||
|
})
|
||||||
|
getSchedulingMonitoringRecord({
|
||||||
|
checkTime: timeArr
|
||||||
|
}).then(result => {
|
||||||
|
dataList2 = result.data
|
||||||
|
// console.log(dataList1)
|
||||||
|
// console.log(dataList2)
|
||||||
|
for (let i = 0; i < dataList1.data.length; i++) {
|
||||||
|
let obj = {}
|
||||||
|
obj.lineName = dataList1.data[i].lineName
|
||||||
|
obj.startTime = this.parseTime(params.startTime)
|
||||||
|
obj.endTime = this.parseTime(params.endTime)
|
||||||
|
obj.workOrderList = dataList1.data[i].workOrderList
|
||||||
|
let subData1 = dataList1.data[i].data
|
||||||
|
for (let ii = 0; ii < subData1.length; ii++) {
|
||||||
|
obj[subData1[ii].dynamicName+'sumInput'] = subData1[ii].dynamicValue.sumInput
|
||||||
|
obj[subData1[ii].dynamicName+'sumOutput'] = subData1[ii].dynamicValue.sumOutput
|
||||||
|
obj[subData1[ii].dynamicName+'goodArea'] = subData1[ii].dynamicValue.goodArea
|
||||||
|
}
|
||||||
|
for (let j = 0; j < dataList2.data.length; j++) {
|
||||||
|
let subData2 = dataList2.data[j].data
|
||||||
|
for (let jj = 0; jj < subData2.length; jj++) {
|
||||||
|
obj[subData2[jj].dynamicName+'dynamicValue'] = subData2[jj].dynamicValue
|
||||||
|
obj[subData2[jj].dynamicName+'dynamicRatio'] = obj[subData2[jj].dynamicName+'dynamicValue'] / obj[subData2[jj].dynamicName+'sumOutput']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.tableData.push(obj)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
closeDrawer() {
|
||||||
|
this.tableData = []
|
||||||
|
this.tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'lineName',
|
||||||
|
label: '产线',
|
||||||
|
minWidth: 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'startTime',
|
||||||
|
label: '上班时间',
|
||||||
|
minWidth: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'endTime',
|
||||||
|
label: '下班时间',
|
||||||
|
minWidth: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'workOrderList',
|
||||||
|
label: '生产工单'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.box {
|
||||||
|
padding: 0 32px;
|
||||||
|
}
|
||||||
|
</style>
|
@ -30,13 +30,13 @@
|
|||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
<!-- 查看生产情况 -->
|
<!-- 查看生产情况 -->
|
||||||
<scheduling-monitoring-detail v-if='paramVisible' ref='schedulingMonitoringDetail'/>
|
<team-production-detail v-if='paramVisible' ref='schedulingMonitoringDetail'/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { groupTeamSchedulingPage } from '@/api/base/groupTeamScheduling'
|
import { groupTeamSchedulingPage } from '@/api/monitoring/teamProduction'
|
||||||
import { parseTime } from '@/utils/ruoyi'
|
import { parseTime } from '@/utils/ruoyi'
|
||||||
import SchedulingMonitoringDetail from './components/schedulingMonitoringDetail'
|
import TeamProductionDetail from './components/teamProductionDetail'
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
prop: 'createTime',
|
prop: 'createTime',
|
||||||
@ -122,7 +122,7 @@ export default {
|
|||||||
paramVisible: false
|
paramVisible: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: { SchedulingMonitoringDetail },
|
components: { TeamProductionDetail },
|
||||||
mounted() {
|
mounted() {
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
this.tableH = this.tableHeight(220)
|
this.tableH = this.tableHeight(220)
|
||||||
@ -141,12 +141,15 @@ export default {
|
|||||||
this.list = res.data.list || []
|
this.list = res.data.list || []
|
||||||
this.total = res.data.total || 0
|
this.total = res.data.total || 0
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
getGroupClass() {
|
||||||
|
|
||||||
},
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
console.log(val)
|
console.log(val)
|
||||||
this.paramVisible = true
|
this.paramVisible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.schedulingMonitoringDetail.init(val.data.id)
|
this.$refs.schedulingMonitoringDetail.init(val.data)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
289
src/views/order/base/orderManage/components/addWorkOrder.vue
Normal file
289
src/views/order/base/orderManage/components/addWorkOrder.vue
Normal file
@ -0,0 +1,289 @@
|
|||||||
|
<template>
|
||||||
|
<el-form ref="addWorkOrder" :rules="rules" label-width="130px" :model="form">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="工单名称" prop="name" v-if='!isBind'>
|
||||||
|
<el-input v-model="form.name"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="产品名称" prop="orderId" v-if='isBind'>
|
||||||
|
<el-select v-model="form.orderId" placeholder="请选择" style="width: 100%;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in workOrderList"
|
||||||
|
: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="code">
|
||||||
|
<el-input v-model="form.code" disabled></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="产品名称" prop="planProductId">
|
||||||
|
<el-select v-model="form.planProductId" placeholder="请选择" style="width: 100%;" @change="selectProduct">
|
||||||
|
<el-option
|
||||||
|
v-for="item in productList"
|
||||||
|
: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="productSpec">
|
||||||
|
<el-input v-model="form.productSpec" disabled></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="计划开始时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="planStartTime"
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
style="width: 100%;"
|
||||||
|
placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="计划完成时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="planFinishTime"
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
style="width: 100%;"
|
||||||
|
placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="计划投入数量" prop="planAssignQuantity">
|
||||||
|
<el-input-number v-model="form.planAssignQuantity" :min="0" :max="9999999999999" style="width: 100%;"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="计划生产数量" prop="planQuantity">
|
||||||
|
<el-input-number v-model="form.planQuantity" :min="0" :max="9999999999999" style="width: 100%;"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="关联工艺" prop="processFlowId">
|
||||||
|
<el-select v-model="form.processFlowId" placeholder="请选择" style="width: 100%;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in processFlowList"
|
||||||
|
: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="materialMethod">
|
||||||
|
<el-radio-group v-model="form.materialMethod">
|
||||||
|
<el-radio :label="1">产品基础</el-radio>
|
||||||
|
<el-radio :label="2">工艺扩展</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="优先级" prop="priority">
|
||||||
|
<el-select v-model="form.priority" placeholder="请选择" style="width: 100%;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getDictDatas(DICT_TYPE.ORDER_PRIORITY)"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="工单类型" prop="type">
|
||||||
|
<el-select v-model="form.type" placeholder="请选择" style="width: 100%;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in workOrderTypeList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="关联产线" prop="productLineId">
|
||||||
|
<el-select v-model="form.productLineId" placeholder="请选择" multiple style="width: 100%;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in productLineList"
|
||||||
|
: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="workers">
|
||||||
|
<el-input v-model="form.workers"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label="计划分配订单量" prop="planAssignmentQuantity">
|
||||||
|
<el-input-number v-model="form.planAssignmentQuantity" :min="0" :max="9999999999999" style="width: 100%;"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getProductAll } from '@/api/base/product'
|
||||||
|
import { getProcessFlowList, getWorkOrderCode, orderIssue, workOrderList } from '@/api/base/orderManage'
|
||||||
|
import { getLineAll } from '@/api/base/productionLine'
|
||||||
|
export default {
|
||||||
|
name: 'AddWorkOrder',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
workOrderId: '',
|
||||||
|
orderId: '',
|
||||||
|
name: '',
|
||||||
|
code: '',
|
||||||
|
planProductId: '',
|
||||||
|
productSpec: '',
|
||||||
|
planStartTime: '',
|
||||||
|
planFinishTime: '',
|
||||||
|
planAssignQuantity: 0,
|
||||||
|
planQuantity: 0,
|
||||||
|
processFlowId: '',
|
||||||
|
materialMethod: 1,
|
||||||
|
priority: '',
|
||||||
|
productLineId: [],
|
||||||
|
type: '',
|
||||||
|
workers: '',
|
||||||
|
planAssignmentQuantity: ''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
name: [{ required: true, message: "工单名称不能为空", trigger: "blur" }],
|
||||||
|
planProductId: [{ required: true, message: "产品名称不能为空", trigger: "change" }],
|
||||||
|
planAssignQuantity: [{ required: true, message: "计划投入数量不能为空", trigger: "blur" }],
|
||||||
|
planQuantity: [{ required: true, message: "计划生产数量不能为空", trigger: "blur" }],
|
||||||
|
productLineId: [{ required: true, message: "产品不能为空", trigger: "change" }]
|
||||||
|
},
|
||||||
|
productList: [],
|
||||||
|
processFlowList: [],
|
||||||
|
productLineList: [],
|
||||||
|
workOrderTypeList: [
|
||||||
|
{id: 1,name:'标准工单'},
|
||||||
|
{id: 2, name:'特殊工单'}
|
||||||
|
],
|
||||||
|
planStartTime: '',
|
||||||
|
planFinishTime: '',
|
||||||
|
isBind: false,
|
||||||
|
workOrderList: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id, param) {
|
||||||
|
console.log(id)
|
||||||
|
this.form.orderId = id
|
||||||
|
this.getList()
|
||||||
|
if (param === 'add') {
|
||||||
|
this.isBind = false
|
||||||
|
getWorkOrderCode().then(res => {
|
||||||
|
this.form.code = res.data || ''
|
||||||
|
})
|
||||||
|
}else{//绑定
|
||||||
|
this.isBind = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
// 产品
|
||||||
|
getProductAll().then(res => {
|
||||||
|
this.productList = res.data || []
|
||||||
|
})
|
||||||
|
// 产线
|
||||||
|
getLineAll().then(res => {
|
||||||
|
this.productLineList = res.data || []
|
||||||
|
})
|
||||||
|
// 工艺
|
||||||
|
getProcessFlowList().then(res => {
|
||||||
|
this.processFlowList = res.data || []
|
||||||
|
})
|
||||||
|
// 工单list
|
||||||
|
workOrderList({
|
||||||
|
status: 1
|
||||||
|
}).then(res => {
|
||||||
|
this.workOrderList = res.data || []
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选产品带出规格
|
||||||
|
selectProduct(val) {
|
||||||
|
if (val) {
|
||||||
|
this.productList.map(item => {
|
||||||
|
if (val === item.id) {
|
||||||
|
this.form.productSpec = item.specifications
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.form.productSpec = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addWorkOrderSubmit() {
|
||||||
|
this.$refs['addWorkOrder'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.form.planStartTime = this.planStartTime ? new Date(this.planStartTime).valueOf() : ''
|
||||||
|
this.form.planFinishTime = this.planFinishTime ? new Date(this.planFinishTime).valueOf() : ''
|
||||||
|
console.log(this.form)
|
||||||
|
orderIssue({ ...this.form }).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$modal.msgSuccess("操作成功")
|
||||||
|
this.$emit('addWorkOrderSubmit')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// if (this.isEdit) {
|
||||||
|
// //编辑
|
||||||
|
// orderUpdate({ ...this.form }).then((res) => {
|
||||||
|
// if (res.code === 0) {
|
||||||
|
// this.$modal.msgSuccess("操作成功");
|
||||||
|
// this.$emit('successSubmit')
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// } else {
|
||||||
|
// this.form.status = 1
|
||||||
|
// this.form.triggerOrigin = 1
|
||||||
|
// orderCreate({ ...this.form }).then((res) => {
|
||||||
|
// if (res.code === 0) {
|
||||||
|
// this.$modal.msgSuccess("操作成功");
|
||||||
|
// this.$emit('successSubmit')
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
formClear() {
|
||||||
|
this.$refs.addWorkOrder.resetFields()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,11 @@
|
|||||||
|
<template>
|
||||||
|
<div>111</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'BindWorkOrder',
|
||||||
|
data() {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -20,7 +20,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span='12'>
|
<el-col :span='12'>
|
||||||
<el-form-item label="产品名称" prop="planProductId">
|
<el-form-item label="产品名称" prop="planProductId">
|
||||||
<el-select v-model="form.planProductId" placeholder="请选择" style="width: 100%;">
|
<el-select v-model="form.planProductId" placeholder="请选择" style="width: 100%;" @change="selectProduct">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in productList"
|
v-for="item in productList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -49,9 +49,9 @@
|
|||||||
<el-select v-model="form.customerId" placeholder="请选择" style="width: 100%;">
|
<el-select v-model="form.customerId" placeholder="请选择" style="width: 100%;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in customerList"
|
v-for="item in customerList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -72,7 +72,14 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span='12'>
|
<el-col :span='12'>
|
||||||
<el-form-item label="包装规格" prop="packSpec">
|
<el-form-item label="包装规格" prop="packSpec">
|
||||||
<el-input v-model="form.packSpec" disabled></el-input>
|
<el-select v-model="form.packSpec" placeholder="请选择" style="width: 100%;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getDictDatas(DICT_TYPE.PACK_SPEC)"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span='12'>
|
<el-col :span='12'>
|
||||||
@ -86,7 +93,7 @@
|
|||||||
<el-form-item label="关联工艺" prop="processFlowId">
|
<el-form-item label="关联工艺" prop="processFlowId">
|
||||||
<el-select v-model="form.processFlowId" placeholder="请选择" style="width: 100%;">
|
<el-select v-model="form.processFlowId" placeholder="请选择" style="width: 100%;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in customerList"
|
v-for="item in processFlowList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:value="item.id">
|
:value="item.id">
|
||||||
@ -105,20 +112,24 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span='12'>
|
<el-col :span='12'>
|
||||||
<el-form-item label="订单计划开始时间" prop="planStartTime">
|
<el-form-item label="订单计划开始时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.planStartTime"
|
v-model="planStartTime"
|
||||||
type="date"
|
type="date"
|
||||||
|
format='yyyy-MM-dd'
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
placeholder="选择日期">
|
placeholder="选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span='12'>
|
<el-col :span='12'>
|
||||||
<el-form-item label="订单计划完成时间" prop="planFinishTime">
|
<el-form-item label="订单计划完成时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.planFinishTime"
|
v-model="planFinishTime"
|
||||||
type="date"
|
type="date"
|
||||||
|
format='yyyy-MM-dd'
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
placeholder="选择日期">
|
placeholder="选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
@ -142,9 +153,10 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getOrderCode, getOrderById } from '@/api/base/orderManage'
|
import { getOrderCode, getOrderById, getProcessFlowList, orderUpdate, orderCreate } from '@/api/base/orderManage'
|
||||||
import { getProductAll } from '@/api/base/product'
|
import { getProductAll } from '@/api/base/product'
|
||||||
import { getCustomerList } from '@/api/base/customer'
|
import { getCustomerList } from '@/api/base/customer'
|
||||||
|
import moment from 'moment'
|
||||||
export default {
|
export default {
|
||||||
name: 'OrderAdd',
|
name: 'OrderAdd',
|
||||||
data() {
|
data() {
|
||||||
@ -162,12 +174,14 @@ export default {
|
|||||||
packSpec: '',
|
packSpec: '',
|
||||||
workers: '',
|
workers: '',
|
||||||
processFlowId: '',
|
processFlowId: '',
|
||||||
materialMethod: '1',
|
materialMethod: 1,
|
||||||
planStartTime: '',
|
|
||||||
planFinishTime: '',
|
|
||||||
remark: '',
|
remark: '',
|
||||||
description: ''
|
description: '',
|
||||||
|
planStartTime: '',
|
||||||
|
planFinishTime: ''
|
||||||
},
|
},
|
||||||
|
planStartTime: '',
|
||||||
|
planFinishTime: '',
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true, message: "订单名称不能为空", trigger: "blur" }],
|
name: [{ required: true, message: "订单名称不能为空", trigger: "blur" }],
|
||||||
planQuantity: [{ required: true, message: "计划加工数量不能为空", trigger: "blur" }],
|
planQuantity: [{ required: true, message: "计划加工数量不能为空", trigger: "blur" }],
|
||||||
@ -175,6 +189,7 @@ export default {
|
|||||||
},
|
},
|
||||||
productList: [],
|
productList: [],
|
||||||
customerList: [],
|
customerList: [],
|
||||||
|
processFlowList: [],
|
||||||
isEdit: false //是否是编辑
|
isEdit: false //是否是编辑
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -184,10 +199,24 @@ export default {
|
|||||||
if (id) {
|
if (id) {
|
||||||
this.isEdit = true
|
this.isEdit = true
|
||||||
this.form.id = id
|
this.form.id = id
|
||||||
getOrderById(id).then(res => {
|
getOrderById({id: this.form.id}).then(res => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.form = res.data
|
this.form.name = res.data.name
|
||||||
// this.selectLeader()
|
this.form.code = res.data.code
|
||||||
|
this.form.planQuantity = res.data.planQuantity
|
||||||
|
this.form.planProductId = res.data.planProductId
|
||||||
|
this.selectProduct(this.form.planProductId)
|
||||||
|
this.form.price = res.data.price
|
||||||
|
this.form.customerId = res.data.customerId
|
||||||
|
this.form.priority = res.data.priority ? res.data.priority + '' : ''
|
||||||
|
this.planStartTime = res.data.planStartTime ? moment(res.data.planStartTime).format('YYYY-MM-DD') : null
|
||||||
|
this.form.packSpec = res.data.packSpec ? res.data.packSpec+'' : ''
|
||||||
|
this.form.workers = res.data.workers
|
||||||
|
this.form.processFlowId = res.data.processFlowId
|
||||||
|
this.form.materialMethod = res.data.materialMethod
|
||||||
|
this.planFinishTime = res.data.planFinishTime ? moment(res.data.planFinishTime).format('YYYY-MM-DD') : null
|
||||||
|
this.form.remark = res.data.remark
|
||||||
|
this.form.description = res.data.description
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@ -209,20 +238,40 @@ export default {
|
|||||||
this.customerList = res.data || []
|
this.customerList = res.data || []
|
||||||
})
|
})
|
||||||
// 工艺
|
// 工艺
|
||||||
|
getProcessFlowList().then(res => {
|
||||||
|
this.processFlowList = res.data || []
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选产品带出规格
|
||||||
|
selectProduct(val) {
|
||||||
|
if (val) {
|
||||||
|
this.productList.map(item => {
|
||||||
|
if (val === item.id) {
|
||||||
|
this.form.productSpec = item.specifications
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.form.productSpec = ''
|
||||||
|
}
|
||||||
},
|
},
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs['orderAddForm'].validate((valid) => {
|
this.$refs['orderAddForm'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
this.form.planStartTime = this.planStartTime ? new Date(this.planStartTime).valueOf() : ''
|
||||||
|
this.form.planFinishTime = this.planFinishTime ? new Date(this.planFinishTime).valueOf() : ''
|
||||||
|
console.log(this.form)
|
||||||
if (this.isEdit) {
|
if (this.isEdit) {
|
||||||
//编辑
|
//编辑
|
||||||
updateGroupTeam({ ...this.form }).then((res) => {
|
orderUpdate({ ...this.form }).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$modal.msgSuccess("操作成功");
|
this.$modal.msgSuccess("操作成功");
|
||||||
this.$emit('successSubmit')
|
this.$emit('successSubmit')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
createGroupTeam({ ...this.form }).then((res) => {
|
this.form.status = 1
|
||||||
|
this.form.triggerOrigin = 1
|
||||||
|
orderCreate({ ...this.form }).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$modal.msgSuccess("操作成功");
|
this.$modal.msgSuccess("操作成功");
|
||||||
this.$emit('successSubmit')
|
this.$emit('successSubmit')
|
||||||
@ -236,6 +285,13 @@ export default {
|
|||||||
},
|
},
|
||||||
formClear() {
|
formClear() {
|
||||||
this.$refs.orderAddForm.resetFields()
|
this.$refs.orderAddForm.resetFields()
|
||||||
|
this.form.materialMethod = 1
|
||||||
|
this.form.price = 0.00
|
||||||
|
this.form.planQuantity = 0
|
||||||
|
this.planFinishTime = ''
|
||||||
|
this.planStartTime = ''
|
||||||
|
this.form.planFinishTime = ''
|
||||||
|
this.form.planStartTime = ''
|
||||||
this.isEdit = false
|
this.isEdit = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<method-btn
|
<method-btn
|
||||||
v-if="tableBtn.length"
|
v-if="tableBtn.length"
|
||||||
slot="handleBtn"
|
slot="handleBtn"
|
||||||
:width="80"
|
:width="250"
|
||||||
label="操作"
|
label="操作"
|
||||||
:method-list="tableBtn"
|
:method-list="tableBtn"
|
||||||
@clickBtn="handleClick"
|
@clickBtn="handleClick"
|
||||||
@ -41,12 +41,37 @@
|
|||||||
<order-add ref="orderAdd" @successSubmit="successSubmit" />
|
<order-add ref="orderAdd" @successSubmit="successSubmit" />
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
<!-- 查看详情 -->
|
<!-- 查看详情 -->
|
||||||
|
<!-- 新增工单 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="workIssueTitle"
|
||||||
|
:dialogVisible="addWorkOrdervisible"
|
||||||
|
@cancel="addWorkOrderCancel"
|
||||||
|
@confirm="addWorkOrderConfirm"
|
||||||
|
:before-close="addWorkOrderCancel"
|
||||||
|
width='70%'
|
||||||
|
>
|
||||||
|
<add-work-order ref="addWorkOrder" @successSubmit="addWorkOrderSubmit" />
|
||||||
|
</base-dialog>
|
||||||
|
<!-- 绑定工单 -->
|
||||||
|
<!-- <base-dialog
|
||||||
|
dialogTitle="绑定工单"
|
||||||
|
:dialogVisible="bindWorkOrdervisible"
|
||||||
|
@cancel="bindWorkOrderCancel"
|
||||||
|
@confirm="bindWorkOrderConfirm"
|
||||||
|
:before-close="bindWorkOrderCancel"
|
||||||
|
width='70%'
|
||||||
|
>
|
||||||
|
<bind-work-order ref="bindWorkOrder" @successSubmit="bindWorkOrderSubmit" />
|
||||||
|
</base-dialog> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { parseTime } from '@/utils/ruoyi'
|
import { parseTime } from '@/utils/ruoyi'
|
||||||
import { getOrderPage } from '@/api/base/orderManage'
|
import { getOrderPage, orderDelete } from '@/api/base/orderManage'
|
||||||
import OrderAdd from './components/orderAdd.vue'
|
import OrderAdd from './components/orderAdd'
|
||||||
|
import AddWorkOrder from './components/addWorkOrder'
|
||||||
|
import BindWorkOrder from './components/bindWorkOrder'
|
||||||
|
import { publicFormatter } from '@/utils/dict';
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
prop: 'createTime',
|
prop: 'createTime',
|
||||||
@ -61,46 +86,49 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'code',
|
prop: 'code',
|
||||||
label: '订单编码',
|
label: '订单编码',
|
||||||
minWidth: 220
|
minWidth: 180
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'num',
|
prop: 'customerId',
|
||||||
label: '客户'
|
label: '客户(?)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderName',
|
prop: 'triggerOrigin',
|
||||||
label: '来源'
|
label: '来源',
|
||||||
|
filter: publicFormatter('order_Origin')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderName1',
|
prop: 'priority',
|
||||||
label: '优先级'
|
label: '优先级',
|
||||||
|
filter: publicFormatter('order_priority')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderNam1e',
|
prop: 'status',
|
||||||
label: '订单状态'
|
label: '订单状态',
|
||||||
|
filter: publicFormatter('order_status')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderName3',
|
prop: 'planQuantity',
|
||||||
label: '计划加工量'
|
label: '计划加工量'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderName9',
|
prop: 'actualQuantity',
|
||||||
label: '实际加工量'
|
label: '实际加工量'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderN4ame',
|
prop: 'planProductId',
|
||||||
label: '产品'
|
label: '产品(?)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leade2rName',
|
prop: 'unit',
|
||||||
label: '单位'
|
label: '单位(?)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderN11ame',
|
prop: 'price',
|
||||||
label: '单价(元)'
|
label: '单价(元)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'leaderName22',
|
prop: 'workOrderNum',
|
||||||
label: '工单数量'
|
label: '工单数量'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -166,6 +194,24 @@ export default {
|
|||||||
list: [],
|
list: [],
|
||||||
tableH: this.tableHeight(260),
|
tableH: this.tableHeight(260),
|
||||||
tableBtn: [
|
tableBtn: [
|
||||||
|
this.$auth.hasPermi('base:group-team:update')
|
||||||
|
? {
|
||||||
|
type: 'add',
|
||||||
|
btnName: '新增工单'
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi('base:group-team:update')
|
||||||
|
? {
|
||||||
|
type: 'bind',
|
||||||
|
btnName: '绑定工单'
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
|
this.$auth.hasPermi('base:group-team:update')
|
||||||
|
? {
|
||||||
|
type: 'detail',
|
||||||
|
btnName: '详情'
|
||||||
|
}
|
||||||
|
: undefined,
|
||||||
this.$auth.hasPermi('base:group-team:update')
|
this.$auth.hasPermi('base:group-team:update')
|
||||||
? {
|
? {
|
||||||
type: 'edit',
|
type: 'edit',
|
||||||
@ -180,20 +226,29 @@ export default {
|
|||||||
: undefined
|
: undefined
|
||||||
].filter((v) => v),
|
].filter((v) => v),
|
||||||
addOrEditTitle: '',
|
addOrEditTitle: '',
|
||||||
centervisible: false
|
centervisible: false,
|
||||||
|
priorityList: this.getDictDatas(this.DICT_TYPE.ORDER_PRIORITY),
|
||||||
|
workIssueTitle: '',
|
||||||
|
addWorkOrdervisible: false
|
||||||
|
// bindWorkOrdervisible: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: { OrderAdd },
|
components: { OrderAdd, AddWorkOrder, BindWorkOrder },
|
||||||
created() {
|
created() {
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
this.tableH = this.tableHeight(260)
|
this.tableH = this.tableHeight(260)
|
||||||
})
|
})
|
||||||
|
this.getSelectList()
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getSelectList() {
|
||||||
|
console.log(this.getDictDatas(this.DICT_TYPE.ORDER_PRIORITY))
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
getOrderPage({...this.queryParams}).then(res => {
|
getOrderPage({...this.queryParams}).then(res => {
|
||||||
console.log(res)
|
this.list = res.data.records || []
|
||||||
|
this.total = res.data.total || 0
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
@ -211,21 +266,52 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.addOrEditTitle = '新增'
|
this.addOrEditTitle = '新增'
|
||||||
this.centervisible = true
|
this.centervisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.orderAdd.init()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
|
console.log(val)
|
||||||
switch (val.type) {
|
switch (val.type) {
|
||||||
case 'edit':
|
case 'edit':
|
||||||
this.addOrEditTitle = '编辑'
|
this.addOrEditTitle = '编辑'
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.groupList.init(val.data.id)
|
|
||||||
})
|
|
||||||
this.centervisible = true
|
this.centervisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.orderAdd.init(val.data.id)
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case 'delete':
|
||||||
|
this.handleDelete(val.data)
|
||||||
|
break
|
||||||
|
case 'detail':
|
||||||
|
break
|
||||||
|
case 'add':
|
||||||
|
this.workIssueTitle = '新增工单'
|
||||||
|
this.addWorkOrdervisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addWorkOrder.init(val.data.id, 'add')
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case 'bind':
|
||||||
|
this.workIssueTitle = '绑定工单'
|
||||||
|
this.addWorkOrdervisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addWorkOrder.init(val.data.id, 'bind')
|
||||||
|
})
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
this.handleDelete(val.data)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(val) {
|
||||||
|
this.$modal.confirm('是否确认删除"' + val.name + '"的数据项?').then(function() {
|
||||||
|
return orderDelete({ id: val.id })
|
||||||
|
}).then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("操作成功");
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
// 新增
|
// 新增
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.$refs.orderAdd.formClear()
|
this.$refs.orderAdd.formClear()
|
||||||
@ -239,6 +325,29 @@ export default {
|
|||||||
this.handleCancel()
|
this.handleCancel()
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
// 下发新增
|
||||||
|
addWorkOrderCancel() {
|
||||||
|
this.$refs.addWorkOrder.formClear()
|
||||||
|
this.addWorkOrdervisible = false
|
||||||
|
},
|
||||||
|
addWorkOrderConfirm() {
|
||||||
|
this.$refs.addWorkOrder.addWorkOrderSubmit()
|
||||||
|
},
|
||||||
|
addWorkOrderSubmit() {
|
||||||
|
this.addWorkOrderCancel()
|
||||||
|
this.getList()
|
||||||
|
}
|
||||||
|
// bindWorkOrderCancel() {
|
||||||
|
// this.$refs.bindWorkOrder.formClear()
|
||||||
|
// this.bindWorkOrdervisible = false
|
||||||
|
// },
|
||||||
|
// bindWorkOrderConfirm() {
|
||||||
|
// this.$refs.bindWorkOrder.bindWorkOrderSubmit()
|
||||||
|
// },
|
||||||
|
// bindWorkOrderSubmit() {
|
||||||
|
// this.bindWorkOrderCancel()
|
||||||
|
// this.getList()
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
414
yarn.lock
414
yarn.lock
@ -2001,15 +2001,20 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz"
|
"resolved" "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz"
|
||||||
"version" "7.2.0"
|
"version" "7.2.0"
|
||||||
|
|
||||||
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.1", "acorn@^7.4.0":
|
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^6.4.1":
|
||||||
|
"integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-6.4.2.tgz"
|
||||||
|
"version" "6.4.2"
|
||||||
|
|
||||||
|
"acorn@^7.1.1":
|
||||||
"integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
|
"integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
|
||||||
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz"
|
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz"
|
||||||
"version" "7.4.1"
|
"version" "7.4.1"
|
||||||
|
|
||||||
"acorn@^6.4.1":
|
"acorn@^7.4.0":
|
||||||
"integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
|
"integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
|
||||||
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-6.4.2.tgz"
|
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz"
|
||||||
"version" "6.4.2"
|
"version" "7.4.1"
|
||||||
|
|
||||||
"acorn@^8.8.2":
|
"acorn@^8.8.2":
|
||||||
"integrity" "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw=="
|
"integrity" "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw=="
|
||||||
@ -2031,7 +2036,7 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz"
|
"resolved" "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz"
|
||||||
"version" "1.3.1"
|
"version" "1.3.1"
|
||||||
|
|
||||||
"aes-decrypter@^4.0.1", "aes-decrypter@4.0.1":
|
"aes-decrypter@^4.0.1":
|
||||||
"integrity" "sha512-H1nh/P9VZXUf17AA5NQfJML88CFjVBDuGkp5zDHa7oEhYN9TTpNLJknRY1ie0iSKWlDf6JRnJKaZVDSQdPy6Cg=="
|
"integrity" "sha512-H1nh/P9VZXUf17AA5NQfJML88CFjVBDuGkp5zDHa7oEhYN9TTpNLJknRY1ie0iSKWlDf6JRnJKaZVDSQdPy6Cg=="
|
||||||
"resolved" "https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-4.0.1.tgz"
|
"resolved" "https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-4.0.1.tgz"
|
||||||
"version" "4.0.1"
|
"version" "4.0.1"
|
||||||
@ -2058,6 +2063,16 @@
|
|||||||
"global" "^4.4.0"
|
"global" "^4.4.0"
|
||||||
"pkcs7" "^1.0.4"
|
"pkcs7" "^1.0.4"
|
||||||
|
|
||||||
|
"aes-decrypter@4.0.1":
|
||||||
|
"integrity" "sha512-H1nh/P9VZXUf17AA5NQfJML88CFjVBDuGkp5zDHa7oEhYN9TTpNLJknRY1ie0iSKWlDf6JRnJKaZVDSQdPy6Cg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-4.0.1.tgz"
|
||||||
|
"version" "4.0.1"
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.12.5"
|
||||||
|
"@videojs/vhs-utils" "^3.0.5"
|
||||||
|
"global" "^4.4.0"
|
||||||
|
"pkcs7" "^1.0.4"
|
||||||
|
|
||||||
"aggregate-error@^3.0.0":
|
"aggregate-error@^3.0.0":
|
||||||
"integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA=="
|
"integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA=="
|
||||||
"resolved" "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz"
|
"resolved" "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz"
|
||||||
@ -2096,6 +2111,11 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-3.2.4.tgz"
|
"resolved" "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-3.2.4.tgz"
|
||||||
"version" "3.2.4"
|
"version" "3.2.4"
|
||||||
|
|
||||||
|
"ansi-colors@^4.1.1":
|
||||||
|
"integrity" "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz"
|
||||||
|
"version" "4.1.3"
|
||||||
|
|
||||||
"ansi-escapes@^4.2.1", "ansi-escapes@^4.3.0":
|
"ansi-escapes@^4.2.1", "ansi-escapes@^4.3.0":
|
||||||
"integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="
|
"integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
|
"resolved" "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
|
||||||
@ -2133,28 +2153,21 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz"
|
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz"
|
||||||
"version" "2.2.1"
|
"version" "2.2.1"
|
||||||
|
|
||||||
"ansi-styles@^3.1.0":
|
"ansi-styles@^3.1.0", "ansi-styles@^3.2.0", "ansi-styles@^3.2.1":
|
||||||
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
|
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
|
||||||
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz"
|
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz"
|
||||||
"version" "3.2.1"
|
"version" "3.2.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"color-convert" "^1.9.0"
|
"color-convert" "^1.9.0"
|
||||||
|
|
||||||
"ansi-styles@^3.2.0":
|
"ansi-styles@^4.0.0":
|
||||||
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
|
"integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
|
||||||
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz"
|
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz"
|
||||||
"version" "3.2.1"
|
"version" "4.3.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"color-convert" "^1.9.0"
|
"color-convert" "^2.0.1"
|
||||||
|
|
||||||
"ansi-styles@^3.2.1":
|
"ansi-styles@^4.1.0":
|
||||||
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz"
|
|
||||||
"version" "3.2.1"
|
|
||||||
dependencies:
|
|
||||||
"color-convert" "^1.9.0"
|
|
||||||
|
|
||||||
"ansi-styles@^4.0.0", "ansi-styles@^4.1.0":
|
|
||||||
"integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
|
"integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
|
||||||
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz"
|
"resolved" "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz"
|
||||||
"version" "4.3.0"
|
"version" "4.3.0"
|
||||||
@ -2843,28 +2856,7 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz"
|
"resolved" "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz"
|
||||||
"version" "3.1.2"
|
"version" "3.1.2"
|
||||||
|
|
||||||
"cacache@^12.0.2":
|
"cacache@^12.0.2", "cacache@^12.0.3":
|
||||||
"integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/cacache/-/cacache-12.0.4.tgz"
|
|
||||||
"version" "12.0.4"
|
|
||||||
dependencies:
|
|
||||||
"bluebird" "^3.5.5"
|
|
||||||
"chownr" "^1.1.1"
|
|
||||||
"figgy-pudding" "^3.5.1"
|
|
||||||
"glob" "^7.1.4"
|
|
||||||
"graceful-fs" "^4.1.15"
|
|
||||||
"infer-owner" "^1.0.3"
|
|
||||||
"lru-cache" "^5.1.1"
|
|
||||||
"mississippi" "^3.0.0"
|
|
||||||
"mkdirp" "^0.5.1"
|
|
||||||
"move-concurrently" "^1.0.1"
|
|
||||||
"promise-inflight" "^1.0.1"
|
|
||||||
"rimraf" "^2.6.3"
|
|
||||||
"ssri" "^6.0.1"
|
|
||||||
"unique-filename" "^1.1.1"
|
|
||||||
"y18n" "^4.0.0"
|
|
||||||
|
|
||||||
"cacache@^12.0.3":
|
|
||||||
"integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ=="
|
"integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/cacache/-/cacache-12.0.4.tgz"
|
"resolved" "https://registry.npmmirror.com/cacache/-/cacache-12.0.4.tgz"
|
||||||
"version" "12.0.4"
|
"version" "12.0.4"
|
||||||
@ -3357,14 +3349,7 @@
|
|||||||
"map-visit" "^1.0.0"
|
"map-visit" "^1.0.0"
|
||||||
"object-visit" "^1.0.0"
|
"object-visit" "^1.0.0"
|
||||||
|
|
||||||
"color-convert@^1.9.0":
|
"color-convert@^1.9.0", "color-convert@^1.9.3":
|
||||||
"integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz"
|
|
||||||
"version" "1.9.3"
|
|
||||||
dependencies:
|
|
||||||
"color-name" "1.1.3"
|
|
||||||
|
|
||||||
"color-convert@^1.9.3":
|
|
||||||
"integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
|
"integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
|
||||||
"resolved" "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz"
|
"resolved" "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz"
|
||||||
"version" "1.9.3"
|
"version" "1.9.3"
|
||||||
@ -3378,16 +3363,16 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"color-name" "~1.1.4"
|
"color-name" "~1.1.4"
|
||||||
|
|
||||||
"color-name@^1.0.0", "color-name@~1.1.4":
|
"color-name@^1.0.0", "color-name@1.1.3":
|
||||||
"integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
|
|
||||||
"version" "1.1.4"
|
|
||||||
|
|
||||||
"color-name@1.1.3":
|
|
||||||
"integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
"integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
||||||
"resolved" "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
|
"resolved" "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
|
||||||
"version" "1.1.3"
|
"version" "1.1.3"
|
||||||
|
|
||||||
|
"color-name@~1.1.4":
|
||||||
|
"integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
|
||||||
|
"version" "1.1.4"
|
||||||
|
|
||||||
"color-string@^1.6.0":
|
"color-string@^1.6.0":
|
||||||
"integrity" "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="
|
"integrity" "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="
|
||||||
"resolved" "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz"
|
"resolved" "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz"
|
||||||
@ -3416,22 +3401,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"delayed-stream" "~1.0.0"
|
"delayed-stream" "~1.0.0"
|
||||||
|
|
||||||
"commander@*", "commander@2.17.x":
|
"commander@*", "commander@^2.18.0", "commander@^2.19.0", "commander@^2.20.0":
|
||||||
"integrity" "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz"
|
|
||||||
"version" "2.17.1"
|
|
||||||
|
|
||||||
"commander@^2.18.0":
|
|
||||||
"integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz"
|
|
||||||
"version" "2.20.3"
|
|
||||||
|
|
||||||
"commander@^2.19.0":
|
|
||||||
"integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz"
|
|
||||||
"version" "2.20.3"
|
|
||||||
|
|
||||||
"commander@^2.20.0":
|
|
||||||
"integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
|
"integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz"
|
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz"
|
||||||
"version" "2.20.3"
|
"version" "2.20.3"
|
||||||
@ -3446,6 +3416,11 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.19.0.tgz"
|
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.19.0.tgz"
|
||||||
"version" "2.19.0"
|
"version" "2.19.0"
|
||||||
|
|
||||||
|
"commander@2.17.x":
|
||||||
|
"integrity" "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz"
|
||||||
|
"version" "2.17.1"
|
||||||
|
|
||||||
"commondir@^1.0.1":
|
"commondir@^1.0.1":
|
||||||
"integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
|
"integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
|
||||||
"resolved" "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz"
|
"resolved" "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz"
|
||||||
@ -4332,7 +4307,7 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz"
|
"resolved" "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz"
|
||||||
"version" "1.0.8"
|
"version" "1.0.8"
|
||||||
|
|
||||||
"domutils@^1.5.1":
|
"domutils@^1.5.1", "domutils@^1.7.0":
|
||||||
"integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg=="
|
"integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg=="
|
||||||
"resolved" "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz"
|
"resolved" "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz"
|
||||||
"version" "1.7.0"
|
"version" "1.7.0"
|
||||||
@ -4340,15 +4315,16 @@
|
|||||||
"dom-serializer" "0"
|
"dom-serializer" "0"
|
||||||
"domelementtype" "1"
|
"domelementtype" "1"
|
||||||
|
|
||||||
"domutils@^1.7.0":
|
"domutils@^2.5.2":
|
||||||
"integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg=="
|
"integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A=="
|
||||||
"resolved" "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz"
|
"resolved" "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz"
|
||||||
"version" "1.7.0"
|
"version" "2.8.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"dom-serializer" "0"
|
"dom-serializer" "^1.0.1"
|
||||||
"domelementtype" "1"
|
"domelementtype" "^2.2.0"
|
||||||
|
"domhandler" "^4.2.0"
|
||||||
|
|
||||||
"domutils@^2.5.2", "domutils@^2.8.0":
|
"domutils@^2.8.0":
|
||||||
"integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A=="
|
"integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A=="
|
||||||
"resolved" "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz"
|
"resolved" "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz"
|
||||||
"version" "2.8.0"
|
"version" "2.8.0"
|
||||||
@ -4532,6 +4508,14 @@
|
|||||||
"memory-fs" "^0.5.0"
|
"memory-fs" "^0.5.0"
|
||||||
"tapable" "^1.0.0"
|
"tapable" "^1.0.0"
|
||||||
|
|
||||||
|
"enquirer@>= 2.3.0 < 3":
|
||||||
|
"integrity" "sha512-ehu97t6FTYK2I3ZYtnp0BZ9vt0mvEL/cnHBds7Ct6jo9VX1VIkiFhOvVRWh6eblQqd7KOoICIQV+syZ3neXO/Q=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/enquirer/-/enquirer-2.4.0.tgz"
|
||||||
|
"version" "2.4.0"
|
||||||
|
dependencies:
|
||||||
|
"ansi-colors" "^4.1.1"
|
||||||
|
"strip-ansi" "^6.0.1"
|
||||||
|
|
||||||
"entities@^1.1.1":
|
"entities@^1.1.1":
|
||||||
"integrity" "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
|
"integrity" "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
|
||||||
"resolved" "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz"
|
"resolved" "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz"
|
||||||
@ -4563,7 +4547,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"stackframe" "^1.3.4"
|
"stackframe" "^1.3.4"
|
||||||
|
|
||||||
"es-abstract@^1.19.0", "es-abstract@^1.20.4", "es-abstract@^1.21.2":
|
"es-abstract@^1.17.2", "es-abstract@^1.19.0", "es-abstract@^1.20.4", "es-abstract@^1.21.2":
|
||||||
"integrity" "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw=="
|
"integrity" "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw=="
|
||||||
"resolved" "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.22.1.tgz"
|
"resolved" "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.22.1.tgz"
|
||||||
"version" "1.22.1"
|
"version" "1.22.1"
|
||||||
@ -5169,11 +5153,6 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz"
|
"resolved" "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz"
|
||||||
"version" "2.0.5"
|
"version" "2.0.5"
|
||||||
|
|
||||||
"file-uri-to-path@1.0.0":
|
|
||||||
"integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"
|
|
||||||
"version" "1.0.0"
|
|
||||||
|
|
||||||
"filesize@^3.6.1":
|
"filesize@^3.6.1":
|
||||||
"integrity" "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
|
"integrity" "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
|
||||||
"resolved" "https://registry.npmmirror.com/filesize/-/filesize-3.6.1.tgz"
|
"resolved" "https://registry.npmmirror.com/filesize/-/filesize-3.6.1.tgz"
|
||||||
@ -5516,14 +5495,7 @@
|
|||||||
"is-glob" "^3.1.0"
|
"is-glob" "^3.1.0"
|
||||||
"path-dirname" "^1.0.0"
|
"path-dirname" "^1.0.0"
|
||||||
|
|
||||||
"glob-parent@^5.0.0":
|
"glob-parent@^5.0.0", "glob-parent@~5.1.2":
|
||||||
"integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
|
|
||||||
"version" "5.1.2"
|
|
||||||
dependencies:
|
|
||||||
"is-glob" "^4.0.1"
|
|
||||||
|
|
||||||
"glob-parent@~5.1.2":
|
|
||||||
"integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
|
"integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
|
||||||
"resolved" "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
|
"resolved" "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
|
||||||
"version" "5.1.2"
|
"version" "5.1.2"
|
||||||
@ -5726,7 +5698,7 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz"
|
"resolved" "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz"
|
||||||
"version" "1.0.1"
|
"version" "1.0.1"
|
||||||
|
|
||||||
"has-symbols@^1.0.2", "has-symbols@^1.0.3":
|
"has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3":
|
||||||
"integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
"integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||||
"resolved" "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz"
|
"resolved" "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz"
|
||||||
"version" "1.0.3"
|
"version" "1.0.3"
|
||||||
@ -6365,7 +6337,16 @@
|
|||||||
"is-data-descriptor" "^0.1.4"
|
"is-data-descriptor" "^0.1.4"
|
||||||
"kind-of" "^5.0.0"
|
"kind-of" "^5.0.0"
|
||||||
|
|
||||||
"is-descriptor@^1.0.0", "is-descriptor@^1.0.2":
|
"is-descriptor@^1.0.0":
|
||||||
|
"integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz"
|
||||||
|
"version" "1.0.2"
|
||||||
|
dependencies:
|
||||||
|
"is-accessor-descriptor" "^1.0.0"
|
||||||
|
"is-data-descriptor" "^1.0.0"
|
||||||
|
"kind-of" "^6.0.2"
|
||||||
|
|
||||||
|
"is-descriptor@^1.0.2":
|
||||||
"integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="
|
"integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="
|
||||||
"resolved" "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz"
|
"resolved" "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz"
|
||||||
"version" "1.0.2"
|
"version" "1.0.2"
|
||||||
@ -6389,11 +6370,6 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz"
|
"resolved" "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz"
|
||||||
"version" "0.1.1"
|
"version" "0.1.1"
|
||||||
|
|
||||||
"is-extendable@^0.1.1":
|
|
||||||
"integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz"
|
|
||||||
"version" "0.1.1"
|
|
||||||
|
|
||||||
"is-extendable@^1.0.1":
|
"is-extendable@^1.0.1":
|
||||||
"integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA=="
|
"integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA=="
|
||||||
"resolved" "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz"
|
"resolved" "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz"
|
||||||
@ -6595,7 +6571,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"is-docker" "^2.0.0"
|
"is-docker" "^2.0.0"
|
||||||
|
|
||||||
"isarray@^1.0.0":
|
"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0":
|
||||||
"integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
"integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
|
"resolved" "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
|
||||||
"version" "1.0.0"
|
"version" "1.0.0"
|
||||||
@ -6605,16 +6581,6 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz"
|
"resolved" "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz"
|
||||||
"version" "2.0.5"
|
"version" "2.0.5"
|
||||||
|
|
||||||
"isarray@~1.0.0":
|
|
||||||
"integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
|
|
||||||
"version" "1.0.0"
|
|
||||||
|
|
||||||
"isarray@1.0.0":
|
|
||||||
"integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
|
|
||||||
"version" "1.0.0"
|
|
||||||
|
|
||||||
"isexe@^2.0.0":
|
"isexe@^2.0.0":
|
||||||
"integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
"integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
||||||
"resolved" "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz"
|
"resolved" "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz"
|
||||||
@ -6823,7 +6789,14 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/killable/-/killable-1.0.1.tgz"
|
"resolved" "https://registry.npmmirror.com/killable/-/killable-1.0.1.tgz"
|
||||||
"version" "1.0.1"
|
"version" "1.0.1"
|
||||||
|
|
||||||
"kind-of@^3.0.2", "kind-of@^3.0.3":
|
"kind-of@^3.0.2":
|
||||||
|
"integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz"
|
||||||
|
"version" "3.2.2"
|
||||||
|
dependencies:
|
||||||
|
"is-buffer" "^1.1.5"
|
||||||
|
|
||||||
|
"kind-of@^3.0.3":
|
||||||
"integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="
|
"integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz"
|
"resolved" "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz"
|
||||||
"version" "3.2.2"
|
"version" "3.2.2"
|
||||||
@ -7087,23 +7060,7 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz"
|
"resolved" "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz"
|
||||||
"version" "1.1.4"
|
"version" "1.1.4"
|
||||||
|
|
||||||
"lru-cache@^4.0.1":
|
"lru-cache@^4.0.1", "lru-cache@^4.1.2", "lru-cache@^4.1.5":
|
||||||
"integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz"
|
|
||||||
"version" "4.1.5"
|
|
||||||
dependencies:
|
|
||||||
"pseudomap" "^1.0.2"
|
|
||||||
"yallist" "^2.1.2"
|
|
||||||
|
|
||||||
"lru-cache@^4.1.2":
|
|
||||||
"integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz"
|
|
||||||
"version" "4.1.5"
|
|
||||||
dependencies:
|
|
||||||
"pseudomap" "^1.0.2"
|
|
||||||
"yallist" "^2.1.2"
|
|
||||||
|
|
||||||
"lru-cache@^4.1.5":
|
|
||||||
"integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="
|
"integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="
|
||||||
"resolved" "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz"
|
"resolved" "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz"
|
||||||
"version" "4.1.5"
|
"version" "4.1.5"
|
||||||
@ -7422,7 +7379,18 @@
|
|||||||
"component-query" "^0.0.3"
|
"component-query" "^0.0.3"
|
||||||
"domify" "^1.3.1"
|
"domify" "^1.3.1"
|
||||||
|
|
||||||
"min-dom@^3.1.0", "min-dom@^3.1.3":
|
"min-dom@^3.1.0":
|
||||||
|
"integrity" "sha512-v6YCmnDzxk4rRJntWTUiwggLupPw/8ZSRqUq0PDaBwVZEO/wYzCH4SKVBV+KkEvf3u0XaWHly5JEosPtqRATZA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/min-dom/-/min-dom-3.2.1.tgz"
|
||||||
|
"version" "3.2.1"
|
||||||
|
dependencies:
|
||||||
|
"component-event" "^0.1.4"
|
||||||
|
"domify" "^1.3.1"
|
||||||
|
"indexof" "0.0.1"
|
||||||
|
"matches-selector" "^1.2.0"
|
||||||
|
"min-dash" "^3.8.1"
|
||||||
|
|
||||||
|
"min-dom@^3.1.3":
|
||||||
"integrity" "sha512-v6YCmnDzxk4rRJntWTUiwggLupPw/8ZSRqUq0PDaBwVZEO/wYzCH4SKVBV+KkEvf3u0XaWHly5JEosPtqRATZA=="
|
"integrity" "sha512-v6YCmnDzxk4rRJntWTUiwggLupPw/8ZSRqUq0PDaBwVZEO/wYzCH4SKVBV+KkEvf3u0XaWHly5JEosPtqRATZA=="
|
||||||
"resolved" "https://registry.npmmirror.com/min-dom/-/min-dom-3.2.1.tgz"
|
"resolved" "https://registry.npmmirror.com/min-dom/-/min-dom-3.2.1.tgz"
|
||||||
"version" "3.2.1"
|
"version" "3.2.1"
|
||||||
@ -7549,22 +7517,38 @@
|
|||||||
"for-in" "^1.0.2"
|
"for-in" "^1.0.2"
|
||||||
"is-extendable" "^1.0.1"
|
"is-extendable" "^1.0.1"
|
||||||
|
|
||||||
"mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@^0.5.6", "mkdirp@~0.5.1":
|
"mkdirp@^0.5.1":
|
||||||
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
|
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
|
||||||
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
|
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
|
||||||
"version" "0.5.6"
|
"version" "0.5.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
"minimist" "^1.2.6"
|
"minimist" "^1.2.6"
|
||||||
|
|
||||||
"mkdirp@^1.0.3":
|
"mkdirp@^0.5.3":
|
||||||
|
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
|
||||||
|
"version" "0.5.6"
|
||||||
|
dependencies:
|
||||||
|
"minimist" "^1.2.6"
|
||||||
|
|
||||||
|
"mkdirp@^0.5.6":
|
||||||
|
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
|
||||||
|
"version" "0.5.6"
|
||||||
|
dependencies:
|
||||||
|
"minimist" "^1.2.6"
|
||||||
|
|
||||||
|
"mkdirp@^1.0.3", "mkdirp@^1.0.4":
|
||||||
"integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
|
"integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
|
||||||
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz"
|
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz"
|
||||||
"version" "1.0.4"
|
"version" "1.0.4"
|
||||||
|
|
||||||
"mkdirp@^1.0.4":
|
"mkdirp@~0.5.1":
|
||||||
"integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
|
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
|
||||||
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz"
|
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
|
||||||
"version" "1.0.4"
|
"version" "0.5.6"
|
||||||
|
dependencies:
|
||||||
|
"minimist" "^1.2.6"
|
||||||
|
|
||||||
"mockjs@^1.1.0":
|
"mockjs@^1.1.0":
|
||||||
"integrity" "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ=="
|
"integrity" "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ=="
|
||||||
@ -7967,7 +7951,7 @@
|
|||||||
"define-properties" "^1.1.4"
|
"define-properties" "^1.1.4"
|
||||||
"es-abstract" "^1.20.4"
|
"es-abstract" "^1.20.4"
|
||||||
|
|
||||||
"object.getownpropertydescriptors@^2.0.3":
|
"object.getownpropertydescriptors@^2.0.3", "object.getownpropertydescriptors@^2.1.0":
|
||||||
"integrity" "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ=="
|
"integrity" "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz"
|
"resolved" "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz"
|
||||||
"version" "2.1.6"
|
"version" "2.1.6"
|
||||||
@ -8037,7 +8021,14 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"mimic-fn" "^1.0.0"
|
"mimic-fn" "^1.0.0"
|
||||||
|
|
||||||
"onetime@^5.1.0", "onetime@^5.1.2":
|
"onetime@^5.1.0":
|
||||||
|
"integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz"
|
||||||
|
"version" "5.1.2"
|
||||||
|
dependencies:
|
||||||
|
"mimic-fn" "^2.1.0"
|
||||||
|
|
||||||
|
"onetime@^5.1.2":
|
||||||
"integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
|
"integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
|
||||||
"resolved" "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz"
|
"resolved" "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz"
|
||||||
"version" "5.1.2"
|
"version" "5.1.2"
|
||||||
@ -8778,7 +8769,7 @@
|
|||||||
"source-map" "^0.5.6"
|
"source-map" "^0.5.6"
|
||||||
"supports-color" "^3.2.3"
|
"supports-color" "^3.2.3"
|
||||||
|
|
||||||
"postcss@^7.0.0", "postcss@^7.0.1", "postcss@^7.0.14", "postcss@^7.0.27", "postcss@^7.0.32", "postcss@^7.0.36", "postcss@^7.0.5", "postcss@^7.0.6", "postcss@>4 <9":
|
"postcss@^7.0.0":
|
||||||
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
"version" "7.0.39"
|
"version" "7.0.39"
|
||||||
@ -8786,16 +8777,63 @@
|
|||||||
"picocolors" "^0.2.1"
|
"picocolors" "^0.2.1"
|
||||||
"source-map" "^0.6.1"
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
"postcss@^8.1.10":
|
"postcss@^7.0.1":
|
||||||
"integrity" "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ=="
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz"
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
"version" "8.4.27"
|
"version" "7.0.39"
|
||||||
dependencies:
|
dependencies:
|
||||||
"nanoid" "^3.3.6"
|
"picocolors" "^0.2.1"
|
||||||
"picocolors" "^1.0.0"
|
"source-map" "^0.6.1"
|
||||||
"source-map-js" "^1.0.2"
|
|
||||||
|
|
||||||
"postcss@^8.4.14":
|
"postcss@^7.0.14":
|
||||||
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
|
"version" "7.0.39"
|
||||||
|
dependencies:
|
||||||
|
"picocolors" "^0.2.1"
|
||||||
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
|
"postcss@^7.0.27":
|
||||||
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
|
"version" "7.0.39"
|
||||||
|
dependencies:
|
||||||
|
"picocolors" "^0.2.1"
|
||||||
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
|
"postcss@^7.0.32":
|
||||||
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
|
"version" "7.0.39"
|
||||||
|
dependencies:
|
||||||
|
"picocolors" "^0.2.1"
|
||||||
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
|
"postcss@^7.0.36":
|
||||||
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
|
"version" "7.0.39"
|
||||||
|
dependencies:
|
||||||
|
"picocolors" "^0.2.1"
|
||||||
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
|
"postcss@^7.0.5":
|
||||||
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
|
"version" "7.0.39"
|
||||||
|
dependencies:
|
||||||
|
"picocolors" "^0.2.1"
|
||||||
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
|
"postcss@^7.0.6":
|
||||||
|
"integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
|
||||||
|
"version" "7.0.39"
|
||||||
|
dependencies:
|
||||||
|
"picocolors" "^0.2.1"
|
||||||
|
"source-map" "^0.6.1"
|
||||||
|
|
||||||
|
"postcss@^8.1.10", "postcss@^8.4.14", "postcss@>4 <9":
|
||||||
"integrity" "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ=="
|
"integrity" "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ=="
|
||||||
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz"
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz"
|
||||||
"version" "8.4.27"
|
"version" "8.4.27"
|
||||||
@ -9377,21 +9415,7 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz"
|
"resolved" "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz"
|
||||||
"version" "1.0.1"
|
"version" "1.0.1"
|
||||||
|
|
||||||
"rimraf@^2.5.4":
|
"rimraf@^2.5.4", "rimraf@^2.6.1", "rimraf@^2.6.3":
|
||||||
"integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz"
|
|
||||||
"version" "2.7.1"
|
|
||||||
dependencies:
|
|
||||||
"glob" "^7.1.3"
|
|
||||||
|
|
||||||
"rimraf@^2.6.1":
|
|
||||||
"integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz"
|
|
||||||
"version" "2.7.1"
|
|
||||||
dependencies:
|
|
||||||
"glob" "^7.1.3"
|
|
||||||
|
|
||||||
"rimraf@^2.6.3":
|
|
||||||
"integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
|
"integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
|
||||||
"resolved" "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz"
|
"resolved" "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz"
|
||||||
"version" "2.7.1"
|
"version" "2.7.1"
|
||||||
@ -9619,17 +9643,32 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"node-forge" "^0.10.0"
|
"node-forge" "^0.10.0"
|
||||||
|
|
||||||
"semver@^5.5.0":
|
"semver@^5.5.0", "semver@^5.6.0", "semver@2 || 3 || 4 || 5":
|
||||||
"integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
|
"integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
|
||||||
"resolved" "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz"
|
"resolved" "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz"
|
||||||
"version" "5.7.2"
|
"version" "5.7.2"
|
||||||
|
|
||||||
"semver@^5.6.0":
|
"semver@^6.0.0":
|
||||||
"integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
|
"integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
||||||
"resolved" "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz"
|
"resolved" "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
|
||||||
"version" "5.7.2"
|
"version" "6.3.1"
|
||||||
|
|
||||||
"semver@^6.0.0", "semver@^6.1.0", "semver@^6.1.2", "semver@^6.3.0", "semver@^6.3.1":
|
"semver@^6.1.0":
|
||||||
|
"integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
|
||||||
|
"version" "6.3.1"
|
||||||
|
|
||||||
|
"semver@^6.1.2":
|
||||||
|
"integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
|
||||||
|
"version" "6.3.1"
|
||||||
|
|
||||||
|
"semver@^6.3.0":
|
||||||
|
"integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
|
||||||
|
"version" "6.3.1"
|
||||||
|
|
||||||
|
"semver@^6.3.1":
|
||||||
"integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
"integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
||||||
"resolved" "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
|
"resolved" "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
|
||||||
"version" "6.3.1"
|
"version" "6.3.1"
|
||||||
@ -9655,11 +9694,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"lru-cache" "^6.0.0"
|
"lru-cache" "^6.0.0"
|
||||||
|
|
||||||
"semver@2 || 3 || 4 || 5":
|
|
||||||
"integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz"
|
|
||||||
"version" "5.7.2"
|
|
||||||
|
|
||||||
"send@0.18.0":
|
"send@0.18.0":
|
||||||
"integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg=="
|
"integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg=="
|
||||||
"resolved" "https://registry.npmmirror.com/send/-/send-0.18.0.tgz"
|
"resolved" "https://registry.npmmirror.com/send/-/send-0.18.0.tgz"
|
||||||
@ -10337,7 +10371,14 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"has-flag" "^3.0.0"
|
"has-flag" "^3.0.0"
|
||||||
|
|
||||||
"supports-color@^7.0.0", "supports-color@^7.1.0":
|
"supports-color@^7.0.0":
|
||||||
|
"integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz"
|
||||||
|
"version" "7.2.0"
|
||||||
|
dependencies:
|
||||||
|
"has-flag" "^4.0.0"
|
||||||
|
|
||||||
|
"supports-color@^7.1.0":
|
||||||
"integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
|
"integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
|
||||||
"resolved" "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz"
|
"resolved" "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz"
|
||||||
"version" "7.2.0"
|
"version" "7.2.0"
|
||||||
@ -10990,7 +11031,17 @@
|
|||||||
"resolved" "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz"
|
"resolved" "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz"
|
||||||
"version" "1.0.2"
|
"version" "1.0.2"
|
||||||
|
|
||||||
"util.promisify@~1.0.0", "util.promisify@1.0.0":
|
"util.promisify@~1.0.0":
|
||||||
|
"integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz"
|
||||||
|
"version" "1.0.1"
|
||||||
|
dependencies:
|
||||||
|
"define-properties" "^1.1.3"
|
||||||
|
"es-abstract" "^1.17.2"
|
||||||
|
"has-symbols" "^1.0.1"
|
||||||
|
"object.getownpropertydescriptors" "^2.1.0"
|
||||||
|
|
||||||
|
"util.promisify@1.0.0":
|
||||||
"integrity" "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA=="
|
"integrity" "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA=="
|
||||||
"resolved" "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.0.tgz"
|
"resolved" "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.0.tgz"
|
||||||
"version" "1.0.0"
|
"version" "1.0.0"
|
||||||
@ -11516,7 +11567,7 @@
|
|||||||
"source-list-map" "^2.0.0"
|
"source-list-map" "^2.0.0"
|
||||||
"source-map" "~0.6.1"
|
"source-map" "~0.6.1"
|
||||||
|
|
||||||
"webpack@^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.1.0 || ^5.0.0-0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.4.0", "webpack@>=2", "webpack@>=2.0.0 <5.0.0", "webpack@>=4.0.0":
|
"webpack@^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.4.0", "webpack@>=2", "webpack@>=2.0.0 <5.0.0", "webpack@>=4.0.0":
|
||||||
"integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q=="
|
"integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q=="
|
||||||
"resolved" "https://registry.npmmirror.com/webpack/-/webpack-4.46.0.tgz"
|
"resolved" "https://registry.npmmirror.com/webpack/-/webpack-4.46.0.tgz"
|
||||||
"version" "4.46.0"
|
"version" "4.46.0"
|
||||||
@ -11666,14 +11717,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"mkdirp" "^0.5.1"
|
"mkdirp" "^0.5.1"
|
||||||
|
|
||||||
"ws@^6.0.0":
|
"ws@^6.0.0", "ws@^6.2.1":
|
||||||
"integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw=="
|
|
||||||
"resolved" "https://registry.npmmirror.com/ws/-/ws-6.2.2.tgz"
|
|
||||||
"version" "6.2.2"
|
|
||||||
dependencies:
|
|
||||||
"async-limiter" "~1.0.0"
|
|
||||||
|
|
||||||
"ws@^6.2.1":
|
|
||||||
"integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw=="
|
"integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw=="
|
||||||
"resolved" "https://registry.npmmirror.com/ws/-/ws-6.2.2.tgz"
|
"resolved" "https://registry.npmmirror.com/ws/-/ws-6.2.2.tgz"
|
||||||
"version" "6.2.2"
|
"version" "6.2.2"
|
||||||
|
Loading…
Reference in New Issue
Block a user