Merge remote-tracking branch 'origin/master'

yangwl
Yangwl
commit 108c28999f

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询故障描述列表
export function listFaultDescription(query) {
return request({
url: '/device/faultDescription/list',
method: 'get',
params: query
});
}
// 查询故障描述详细
export function getFaultDescription(faultId) {
return request({
url: '/device/faultDescription/' + faultId,
method: 'get'
});
}
// 新增故障描述
export function addFaultDescription(data) {
return request({
url: '/device/faultDescription',
method: 'post',
data: data
});
}
// 修改故障描述
export function updateFaultDescription(data) {
return request({
url: '/device/faultDescription',
method: 'put',
data: data
});
}
// 删除故障描述
export function delFaultDescription(faultId) {
return request({
url: '/device/faultDescription/' + faultId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询故障维修措施列表
export function listFaultMeasures(query) {
return request({
url: '/device/faultMeasures/list',
method: 'get',
params: query
});
}
// 查询故障维修措施详细
export function getFaultMeasures(faultId) {
return request({
url: '/device/faultMeasures/' + faultId,
method: 'get'
});
}
// 新增故障维修措施
export function addFaultMeasures(data) {
return request({
url: '/device/faultMeasures',
method: 'post',
data: data
});
}
// 修改故障维修措施
export function updateFaultMeasures(data) {
return request({
url: '/device/faultMeasures',
method: 'put',
data: data
});
}
// 删除故障维修措施
export function delFaultMeasures(faultId) {
return request({
url: '/device/faultMeasures/' + faultId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询故障原因列表
export function listFaultReason(query) {
return request({
url: '/device/faultReason/list',
method: 'get',
params: query
});
}
// 查询故障原因详细
export function getFaultReason(faultId) {
return request({
url: '/device/faultReason/' + faultId,
method: 'get'
});
}
// 新增故障原因
export function addFaultReason(data) {
return request({
url: '/device/faultReason',
method: 'post',
data: data
});
}
// 修改故障原因
export function updateFaultReason(data) {
return request({
url: '/device/faultReason',
method: 'put',
data: data
});
}
// 删除故障原因
export function delFaultReason(faultId) {
return request({
url: '/device/faultReason/' + faultId,
method: 'delete'
});
}

@ -77,3 +77,12 @@ export function getRepairPersonList(query) {
params: query
});
}
// 查询组线列表
export function getGroupLineList(query) {
return request({
url: '/device/faultReport/getGroupLineList',
method: 'get',
params: query
});
}

@ -2,43 +2,43 @@ import request from '@/utils/request'
// 查询故障类型维护列表
export function listFaultType(query) {
return request({
url: '/device/faultType/list',
method: 'get',
params: query
});
return request({
url: '/device/faultType/list',
method: 'get',
params: query
});
}
// 查询故障类型维护详细
export function getFaultType(faultId) {
return request({
url: '/device/faultType/' + faultId,
method: 'get'
});
return request({
url: '/device/faultType/' + faultId,
method: 'get'
});
}
// 新增故障类型维护
export function addFaultType(data) {
return request({
url: '/device/faultType',
method: 'post',
data: data
});
return request({
url: '/device/faultType',
method: 'post',
data: data
});
}
// 修改故障类型维护
export function updateFaultType(data) {
return request({
url: '/device/faultType',
method: 'put',
data: data
});
return request({
url: '/device/faultType',
method: 'put',
data: data
});
}
// 删除故障类型维护
export function delFaultType(faultId) {
return request({
url: '/device/faultType/' + faultId,
method: 'delete'
});
return request({
url: '/device/faultType/' + faultId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询设备运行记录列表
export function listOperation(query) {
return request({
url: '/device/operation/list',
method: 'get',
params: query
});
}
// 查询设备运行记录详细
export function getOperation(id) {
return request({
url: '/device/operation/' + id,
method: 'get'
});
}
// 新增设备运行记录
export function addOperation(data) {
return request({
url: '/device/operation',
method: 'post',
data: data
});
}
// 修改设备运行记录
export function updateOperation(data) {
return request({
url: '/device/operation',
method: 'put',
data: data
});
}
// 删除设备运行记录
export function delOperation(id) {
return request({
url: '/device/operation/' + id,
method: 'delete'
});
}

@ -43,6 +43,14 @@ export function getEquList(equQuery) {
});
}
// 获取设备组线信息
export function getGroupLine() {
return request({
url: '/device/inspectionPlan/getGroupLine',
method: 'get'
});
}
// 查询计划列表
export function listPlan(query) {
return request({

@ -2,7 +2,7 @@ import request from '@/utils/request'
// 获取工厂下拉列表
export function getBoardFactory(data) {
return request({
url: 'http://192.168.202.34:30000/prod-api/mes/wcsInterface/getBoardFactory',
url: '/mes/wcsInterface/getBoardFactory',
method: 'post',
data: data
});

@ -0,0 +1,96 @@
import request from '@/utils/request'
// 获取工厂下拉列表
export function getBoardFactory(data) {
return request({
url: '/mes/wcsInterface/getBoardFactory',
method: 'post',
data: data
});
}
// 获取头部统计维度年月日
export function getDictData(data) {
return request({
url: '/quality/qcInterface/getDictData',
method: 'get',
params: data
});
}
// 来料--订单异常信息
export function getOverallInfo(data) {
return request({
url: '/quality/qcInterface/getOverallInfo',
method: 'post',
data: data,
});
}
// 来料--异常分布 过程检验--当日不良占比类型
export function getCheckProjectsPie(data) {
return request({
url: '/quality/qcInterface/getCheckProjectsPie',
method: 'post',
data: data
});
}
// 来料--供应商产品数量不良TOP5来料--供应商产品批次不良TOP5
export function getSupplierBadTOP5(data) {
return request({
url: '/quality/qcInterface/getSupplierBadTOP5',
method: 'post',
data: data
});
}
// 来料--订单异常详情
export function getSupplierNoOkList(data) {
return request({
url: '/quality/qcInterface/getSupplierNoOkList',
method: 'post',
data: data
});
}
// 来料--供应商来料检验及时性详情 生产过程--检验实时详情
export function getSupplierTaskList(data) {
return request({
url: '/quality/qcInterface/getSupplierTaskList',
method: 'post',
data: data
});
}// 过程检验-检验统计
export function getProduceStaticInfo(data) {
return request({
url: '/quality/qcInterface/getProduceStaticInfo',
method: 'post',
data: data
});
}
// 过程检验--质量异常信息
export function getProduceNoOkList(data) {
return request({
url: '/quality/qcInterface/getProduceNoOkList',
method: 'post',
data: data
});
}
// 过程检验--产品不合格数量对比
export function getProMonthNoOk(data) {
return request({
url: '/quality/qcInterface/getProMonthNoOk',
method: 'post',
data: data
});
}
// 过程检验--产品异常趋势
export function getLineDayNoOk(data) {
return request({
url: '/quality/qcInterface/getLineDayNoOk',
method: 'post',
data: data
});
}
// 过程检验--产品不合格率同期对比
export function getMonthOfYearContrast(data) {
return request({
url: '/quality/qcInterface/getMonthOfYearContrast',
method: 'post',
data: data
});
}

@ -81,6 +81,14 @@ export function getLineChartData() {
method: 'get'
});
}
// 获取组线每月设备故障数
export function getGroupLineEquInfo() {
return request({
url: '/device/deviceInterface/getGroupLineEquInfo',
method: 'get'
});
}
//查询设备小时表头
export function getHourProductionTitle(query) {
return request({
@ -115,7 +123,7 @@ export function getMesListUser(query) {
method: 'get',
params: query
});
}
}
//查询工单列表
export function getMesListWorkOrder(query) {
@ -124,7 +132,7 @@ export function getMesListWorkOrder(query) {
method: 'get',
params: query
});
}
}
//查询线体列表
export function getMesListEquip(query) {
@ -133,7 +141,7 @@ export function getMesListEquip(query) {
method: 'get',
params: query
});
}
}
//报工按钮
export function reportSap(workorderCode) {
const data = {
@ -201,3 +209,10 @@ export function getPrepareList(query) {
});
}
// 获取线体每月生产过程不良率
export function getLineQcData() {
return request({
url: '/quality/qcInterface/getLineQcData',
method: 'get'
});
}

@ -0,0 +1,103 @@
import request from '@/utils/request'
export function getWorkOrders(workorderCode) {
return request({
url:'/plan/bppro/workorder/getWorkOrders/'+workorderCode,
method:'get'
})
}
// 校验工单是否可以修改
export function checkWorkOrder(workorderId){
return request({
url:'/plan/bppro/workorder/checkWorkOrder/'+workorderId,
method:'get'
})
}
// 提交修改工单接口
export function subChangeWorkOrder(data){
return request({
url:'/plan/bppro/workorder/subChangeWorkOrder',
method:'post',
data:data
})
}
// 通过子工单查询父工单对应的批次list
export function getWorkBatchList(data){
return request({
url:'/plan/bppro/workorder/getWorkBatchList',
method:'post',
data: data
})
}
// 通过子工单查询订单信息和工单信息
export function getOrderAndWork(data) {
return request({
url: '/plan/bppro/workorder/getOrderAndWorkInfo',
method: 'post',
data: data
})
}
// 查询生产工单列表
export function listWorkorder(query) {
return request({
url: '/plan/bppro/workorder/list',
method: 'get',
params: query
});
}
// 查询生产工单详细
export function getWorkorder(workorderId) {
return request({
url: '/plan/bppro/workorder/' + workorderId,
method: 'get'
});
}
// 新增生产工单
export function addWorkorder(data) {
return request({
url: '/plan/bppro/workorder',
method: 'post',
data: data
});
}
// 修改生产工单
export function updateWorkorder(data) {
return request({
url: '/plan/bppro/workorder',
method: 'put',
data: data
});
}
// 删除生产工单
export function delWorkorder(workorderId) {
return request({
url: '/plan/bppro/workorder/' + workorderId,
method: 'delete'
});
}
//下发生产工单
export function downWorkorder(workorderId) {
return request({
url: '/plan/bppro/workorder/downWorkorder/' + workorderId,
method: 'post'
});
}
// 提交修改工单接口
export function subChangeWorkOrderM(data){
return request({
url:'/plan/bppro/workorder/subChangeWorkOrderM',
method:'post',
data:data
})
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询白坯手动入库单列表
export function listBPproduct(query) {
return request({
url: '/quality/bPproduct/list',
method: 'get',
params: query
});
}
// 查询白坯手动入库单详细
export function getBPproduct(rawOrderInId) {
return request({
url: '/quality/bPproduct/' + rawOrderInId,
method: 'get'
});
}
// 新增白坯手动入库单
export function addBPproduct(data) {
return request({
url: '/quality/bPproduct',
method: 'post',
data: data
});
}
// 修改白坯手动入库单
export function updateBPproduct(data) {
return request({
url: '/quality/bPproduct',
method: 'put',
data: data
});
}
// 删除白坯手动入库单
export function delBPproduct(rawOrderInId) {
return request({
url: '/quality/bPproduct/' + rawOrderInId,
method: 'delete'
});
}

@ -72,4 +72,12 @@ export function getProjectInfoList(query) {
method: 'get',
params: query
});
}
}
//方案下拉
export function getProjectOptions(query) {
return request({
url: '/quality/checkTypeProject/getProjectOptions',
method: 'get',
params: query
});
}

@ -162,3 +162,11 @@ export function getWorkOrder(query) {
params: query
});
}
// 查询入库订单列表
export function getProductWorkOrder(query) {
return request({
url: '/quality/qcIncome/getProductWorkOrder',
method: 'get',
params: query
});
}

@ -0,0 +1,9 @@
import request from '@/utils/request'
export function getHfChartData(query) {
return request({
url: '/quality/qcProCheck/getHfChartData',
method: 'get',
params: query
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询检验方案维护列表
export function listQcProjectType(query) {
return request({
url: '/quality/qcProjectType/list',
method: 'get',
params: query
});
}
// 查询检验方案维护详细
export function getQcProjectType(id) {
return request({
url: '/quality/qcProjectType/' + id,
method: 'get'
});
}
// 新增检验方案维护
export function addQcProjectType(data) {
return request({
url: '/quality/qcProjectType',
method: 'post',
data: data
});
}
// 修改检验方案维护
export function updateQcProjectType(data) {
return request({
url: '/quality/qcProjectType',
method: 'put',
data: data
});
}
// 删除检验方案维护
export function delQcProjectType(id) {
return request({
url: '/quality/qcProjectType/' + id,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询来料抽样规则列表
export function listQcSampleRule(query) {
return request({
url: '/quality/qcSampleRule/list',
method: 'get',
params: query
});
}
// 查询来料抽样规则详细
export function getQcSampleRule(id) {
return request({
url: '/quality/qcSampleRule/' + id,
method: 'get'
});
}
// 新增来料抽样规则
export function addQcSampleRule(data) {
return request({
url: '/quality/qcSampleRule',
method: 'post',
data: data
});
}
// 修改来料抽样规则
export function updateQcSampleRule(data) {
return request({
url: '/quality/qcSampleRule',
method: 'put',
data: data
});
}
// 删除来料抽样规则
export function delQcSampleRule(id) {
return request({
url: '/quality/qcSampleRule/' + id,
method: 'delete'
});
}

@ -24,4 +24,20 @@ export function getWorkcenterList() {
url: '/quality/staticTable/getWorkcenterList',
method: 'get'
});
}
}
export function getXJCheckTableList(query) {
return request({
url: '/quality/staticTable/getXJCheckTableList',
method: 'get',
params: query
});
}
export function getXJCheckTableDetail(query) {
return request({
url: '/quality/staticTable/getXJCheckTableDetail',
method: 'get',
params: query
});
}

@ -8,7 +8,14 @@ export function listOutorder(query) {
params: query
});
}
// 查询包材出库单列表
export function listOutorderZU(query) {
return request({
url: '/wms/outorder/listZU',
method: 'post',
params: query
});
}
// 查询包材出库单详细
export function getOutorder(ID) {
return request({
@ -25,6 +32,14 @@ export function addOutorder(data) {
data: data
});
}
// 用于出库任务页面--查询
export function getOutorderOUT(data) {
return request({
url: '/wms/order/PurchaseOrderOutboundPda',
method: 'post',
data: data
});
}
// 修改包材出库单
export function updateOutorder(data) {
@ -65,4 +80,12 @@ export function addPurchaseOrderOutbound(data) {
method: 'post',
data: data
});
}
}
// 新增
export function OutboundPostingSAP(data) {
return request({
url: '/wms/order/OutboundPostingSAP',
method: 'post',
data: data
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Before

Width:  |  Height:  |  Size: 568 B

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

@ -179,6 +179,20 @@ export const dynamicRoutes = [
}
]
},
{
path: '/qua/quality/qcProject-data',
component: Layout,
hidden: true,
permissions: ['quality:qcProjectType:edit'],
children: [
{
path: 'index/:projectType(\\w+)',
component: () => import('@/views/quality/qcProjectType/data'),
name: 'ProjectData',
meta: { title: '检验方案详情', activeMenu: '/quality/qcProjectType' }
}
]
},
{
path: '/monitor/job-log',
component: Layout,

@ -16,6 +16,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API,
// baseURL: 'http://192.168.202.34:30000/prod-api',
// 超时
timeout: 10000
})

@ -0,0 +1,102 @@
<template>
<div>
<div ref="chart" style="width:90%;height:300px"></div>
</div>
</template>
<script>
import {getGroupLineEquInfo} from "@/api/mes/reportWork";
export default {
data() {
return{
}
},
mounted() {
this.getGroupLineEquInfo();
this.getEchartData();
},
methods: {
getGroupLineEquInfo(){
getGroupLineEquInfo().then(response => {
var info = response.data;
var groupLineNames = [];
for (let i = 0; i < info.length; i++) {
// 线
groupLineNames.push(info[i].name);
info[i].type = 'line';
info[i].smooth = true;
info[i].stack = 'Total';
}
//
var monthTemp = ['一月', '二月', '三月', '四月', '五月', '六月', '七月','八月','九月','十月','十一月','十二月']
monthTemp.splice(new Date().getMonth()+1)
const chart = this.$refs.chart
if (chart) {
const myChart = this.$echarts.init(chart)
const option = {
title: {
text: ''
},
tooltip: {
trigger: 'axis'
},
legend: {
data: groupLineNames
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
/**
toolbox: {
feature: {
saveAsImage: {}
}
},**/
xAxis: {
type: 'category',
boundaryGap: false,
data: monthTemp
},
yAxis: {
type: 'value'
},
series: info
}
myChart.setOption(option)
window.addEventListener("resize", function() {
myChart.resize()
})
}
this.$on('hook:destroyed',()=>{
window.removeEventListener("resize", function() {
myChart.resize();
});
})
});
},
getEchartData() {
},
},
watch: {},
created() {
}
}
</script>

@ -18,7 +18,7 @@
},
width: {
type: String,
default: '100%'
default: '99%'
},
height: {
type: String,
@ -41,10 +41,6 @@
watch: {
chartData: {
deep: true,
//handler(val) {
//debugger
//this.setOptions(val)
//}
handler(newValue,oldValue){
this.chart.dispose();
this.chartData=newValue;
@ -108,6 +104,7 @@
series:seriesDatas,
toolbox:{
show: true,
bottom:'-2%',
feature: {
dataZoom: {
yAxisIndex: 'none'

@ -0,0 +1,124 @@
<template>
<div>
<div ref="chart" style="width:90%;height:300px"></div>
</div>
</template>
<script>
import * as echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from './mixins/resize'
import {getLineQcData} from '@/api/mes/reportWork'
export default {
mixins: [resize],
props: {
className: {
type: String,
default: 'chart'
},
width: {
type: String,
default: '99%'
},
height: {
type: String,
default: '260px'
},
autoResize: {
type: Boolean,
default: true
},
chartData: {
type: Object,
required: true
}
},
data() {
return {
chart: null
}
},
mounted() {
this.getLineQcInfo();
},
methods: {
getLineQcInfo(){
getLineQcData().then(returnData => {
const chart = this.$refs.chart
if (chart) {
const myChart = this.$echarts.init(chart)
const option = {
tooltip: {
trigger: 'axis'
},
legend: {
data: returnData.seriesNames
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
/**
toolbox: {
feature: {
saveAsImage: {}
}
},**/
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
},
formatter: function (params) {
let result="";
for (let i = 0; i < params.length; i++) {
if(params[i].data!=0){
result+=params[i].marker + params[i].seriesName + '' + params[i].data + '%<br>'
}
}
return params[0].name + '<br/>'
+ result
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: returnData.xAxisDatas
},
yAxis: {
type: 'value',
axisLabel: {
formatter: '{value} %'
}
},
series: returnData.seriesDatas
}
myChart.setOption(option)
window.addEventListener("resize", function() {
myChart.resize()
})
}
this.$on('hook:destroyed',()=>{
window.removeEventListener("resize", function() {
myChart.resize();
});
})
});
}
}
}
</script>

@ -0,0 +1,112 @@
<template>
<el-tabs type="border-card">
<el-tab-pane label="故障类型" >
<ItemFaultType></ItemFaultType>
</el-tab-pane>
<el-tab-pane label="故障描述" >
<ItemFaultDescription></ItemFaultDescription>
</el-tab-pane>
<el-tab-pane label="故障原因" >
<ItemFaultReason></ItemFaultReason>
</el-tab-pane>
<el-tab-pane label="维修措施" >
<ItemFaultMeasures></ItemFaultMeasures>
</el-tab-pane>
</el-tabs>
</template>
<script>
import ItemFaultType from "./itemFaultType.vue";
import ItemFaultReason from "./itemFaultReason.vue";
import ItemFaultDescription from "./itemFaultDescription.vue";
import ItemFaultMeasures from "./itemFaultMeasures.vue";
export default {
name: "FaultInformation",
components: { ItemFaultType , ItemFaultReason , ItemFaultDescription , ItemFaultMeasures },
data() {
return {
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
faultTypeList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createTimeArray: [],
updateTimeArray: [],
},
//
form: {},
//
rules: {
}
};
},
created() {
},
methods: {
}
};
</script>

@ -0,0 +1,444 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label-width="100px" label="故障描述编码" prop="faultCode">
<el-input
v-model="queryParams.faultCode"
placeholder="请输入故障描述编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="故障描述类型" prop="faultType">
<el-select v-model="queryParams.faultType" placeholder="请选择故障描述类型" clearable>
<el-option
v-for="dict in dict.type.device_fault_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="故障描述" prop="faultSubclass">
<el-input
v-model="queryParams.faultSubclass"
placeholder="请输入故障描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-input
class="my-select-input"
v-model="queryParams.createBy"
placeholder="请输入创建人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-input
class="my-select-input"
v-model="queryParams.updateBy"
placeholder="请输入更新人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="queryParams.updateTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['device:faultDescription:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:faultDescription:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:faultDescriptionn:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['device:faultDescription:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="faultList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column width="60" align="center" label="序号" type="index"></el-table-column>
<el-table-column v-if="false" label="主键" align="center" prop="faultId" />
<el-table-column width="150" label="故障描述编码" align="center" prop="faultCode" />
<el-table-column width="150" label="故障描述类型" align="center" prop="faultType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_fault_type" :value="scope.row.faultType"/>
</template>
</el-table-column>
<el-table-column width="150" label="故障描述" align="center" prop="faultSubclass" />
<el-table-column width="180" label="备注" align="center" prop="faultRemark" />
<el-table-column width="100" label="创建人" align="center" prop="createBy" />
<el-table-column width="180" label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="100" label="更新人" align="center" prop="updateBy" />
<el-table-column width="180" label="更新时间" align="center" prop="updateTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="180" label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:faultDescription:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:faultDescription:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改故障描述维护对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item v-if="false" label="故障描述编码" prop="faultCode">
<el-input v-model="form.faultCode" placeholder="请输入故障描述编码" style="width: 300px"/>
</el-form-item>
<el-form-item label="故障描述" prop="faultType">
<el-select v-model="form.faultType" placeholder="请选择故障描述" clearable style="width: 300px">
<el-option
v-for="dict in dict.type.device_fault_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="故障子类" prop="faultSubclass">
<el-input v-model="form.faultSubclass" placeholder="请输入故障子类" style="width: 300px"/>
</el-form-item>
<el-form-item label="备注" prop="faultRemark">
<el-input v-model="form.faultRemark" placeholder="请输入备注" style="width: 300px"/>
</el-form-item>
<el-form-item v-if="false" label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item v-if="false" label="备用字段1" prop="attr1">
<el-input v-model="form.attr1" placeholder="请输入备用字段1" />
</el-form-item>
<el-form-item v-if="false" label="备用字段2" prop="attr2">
<el-input v-model="form.attr2" placeholder="请输入备用字段2" />
</el-form-item>
<el-form-item v-if="false" label="备用字段3" prop="attr3">
<el-input v-model="form.attr3" placeholder="请输入备用字段3" />
</el-form-item>
<el-form-item v-if="false" label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFaultDescription, getFaultDescription, delFaultDescription, addFaultDescription, updateFaultDescription } from "@/api/device/faultDescription";
export default {
name: "FaultType",
dicts: ['device_fault_description'],
data() {
return {
//
faultCategory : null,
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
faultList: [],
//
title: "",
//
open: false,
//
queryParams: {
//
faultCategory: null,
pageNum: 1,
pageSize: 10,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createTimeArray: [],
updateTimeArray: [],
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询故障描述维护列表 */
getList() {
this.loading = true;
this.queryParams.faultCategory = "des";
listFaultDescription(this.queryParams).then(response => {
this.faultList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
faultId: null,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
//
this.queryParams.createTimeArray = [];
this.queryParams.updateTimeArray = [];
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.faultId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加故障描述维护";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const faultId = row.faultId || this.ids
getFaultDescription(faultId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改故障描述维护";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.faultId != null) {
updateFaultDescription(this.form).then(response => {
if (response.code != 500) {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addFaultDescription(this.form).then(response => {
if (response.code != 500) {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const faultIds = row.faultId || this.ids;
var faultCodes = '';
//
for (let i = 0; i < this.faultList.length; i++) {
for (let j = 0; j < faultIds.length; j++) {
if (faultIds[j] == this.faultList[i].faultId) {
faultCodes = faultCodes + this.faultList[i].faultCode + ',';
}
}
}
if (faultCodes == '') {
for (let i = 0; i < this.faultList.length; i++) {
if (faultIds == this.faultList[i].faultId) {
faultCodes = this.faultList[i].faultCode;
}
}
}
this.$modal.confirm('是否确认删除故障描述维护编号为"' + faultCodes + '"的数据项?').then(function() {
return delFaultDescription(faultIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('device/faultDescription/export', {
...this.queryParams
}, `faultType_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,430 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label-width="100px" label="故障措施编码" prop="faultCode">
<el-input
v-model="queryParams.faultCode"
placeholder="请输入故障措施编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="故障措施类型" prop="faultType">
<el-select v-model="queryParams.faultType" placeholder="请选择故障措施类型" clearable>
<el-option
v-for="dict in dict.type.device_fault_measures"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="故障措施" prop="faultSubclass">
<el-input
v-model="queryParams.faultSubclass"
placeholder="请输入故障措施"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-input
class="my-select-input"
v-model="queryParams.updateBy"
placeholder="请输入更新人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="queryParams.updateTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['device:faultMeasures:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:faultMeasures:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:faultMeasures:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['device:faultMeasures:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="faultList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column width="60" align="center" label="序号" type="index"></el-table-column>
<el-table-column v-if="false" label="主键" align="center" prop="faultId" />
<el-table-column width="150" label="故障措施编码" align="center" prop="faultCode" />
<el-table-column width="150" label="故障措施类型" align="center" prop="faultType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_fault_measures" :value="scope.row.faultType"/>
</template>
</el-table-column>
<el-table-column width="150" label="故障措施" align="center" prop="faultSubclass" />
<el-table-column width="180" label="备注" align="center" prop="faultRemark" />
<el-table-column width="100" label="创建人" align="center" prop="createBy" />
<el-table-column width="180" label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="100" label="更新人" align="center" prop="updateBy" />
<el-table-column width="180" label="更新时间" align="center" prop="updateTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="180" label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:faultMeasures:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:faultMeasures:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改故障措施维护对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item v-if="false" label="故障措施编码" prop="faultCode">
<el-input v-model="form.faultCode" placeholder="请输入故障措施编码" style="width: 300px"/>
</el-form-item>
<el-form-item label="故障措施" prop="faultType">
<el-select v-model="form.faultType" placeholder="请选择故障措施" clearable style="width: 300px">
<el-option
v-for="dict in dict.type.device_fault_measures"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="故障子类" prop="faultSubclass">
<el-input v-model="form.faultSubclass" placeholder="请输入故障子类" style="width: 300px"/>
</el-form-item>
<el-form-item label="备注" prop="faultRemark">
<el-input v-model="form.faultRemark" placeholder="请输入备注" style="width: 300px"/>
</el-form-item>
<el-form-item v-if="false" label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item v-if="false" label="备用字段1" prop="attr1">
<el-input v-model="form.attr1" placeholder="请输入备用字段1" />
</el-form-item>
<el-form-item v-if="false" label="备用字段2" prop="attr2">
<el-input v-model="form.attr2" placeholder="请输入备用字段2" />
</el-form-item>
<el-form-item v-if="false" label="备用字段3" prop="attr3">
<el-input v-model="form.attr3" placeholder="请输入备用字段3" />
</el-form-item>
<el-form-item v-if="false" label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFaultMeasures, getFaultMeasures, delFaultMeasures, addFaultMeasures, updateFaultMeasures } from "@/api/device/faultMeasures";
export default {
name: "FaultType",
dicts: ['device_fault_measures'],
data() {
return {
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
faultList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createTimeArray: [],
updateTimeArray: [],
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询故障措施维护列表 */
getList() {
this.loading = true;
listFaultMeasures(this.queryParams).then(response => {
this.faultList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
faultId: null,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
//
this.queryParams.createTimeArray = [];
this.queryParams.updateTimeArray = [];
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.faultId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加故障措施维护";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const faultId = row.faultId || this.ids
getFaultMeasures(faultId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改故障措施维护";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.faultId != null) {
updateFaultMeasures(this.form).then(response => {
if (response.code != 500) {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addFaultMeasures(this.form).then(response => {
if (response.code != 500) {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const faultIds = row.faultId || this.ids;
var faultCodes = '';
//
for (let i = 0; i < this.faultList.length; i++) {
for (let j = 0; j < faultIds.length; j++) {
if (faultIds[j] == this.faultList[i].faultId) {
faultCodes = faultCodes + this.faultList[i].faultCode + ',';
}
}
}
if (faultCodes == '') {
for (let i = 0; i < this.faultList.length; i++) {
if (faultIds == this.faultList[i].faultId) {
faultCodes = this.faultList[i].faultCode;
}
}
}
this.$modal.confirm('是否确认删除故障措施维护编号为"' + faultCodes + '"的数据项?').then(function() {
return delFaultMeasures(faultIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('device/faultMeasures/export', {
...this.queryParams
}, `faultType_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,444 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="故障原因编码" prop="faultCode">
<el-input
style="width: 150px"
v-model="queryParams.faultCode"
placeholder="请输入编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="故障原因类型" prop="faultType">
<el-select v-model="queryParams.faultType" placeholder="请选择原因类型" clearable style="width: 150px">
<el-option
v-for="dict in dict.type.device_fault_reason"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="故障原因" prop="faultSubclass" >
<el-input
v-model="queryParams.faultSubclass"
placeholder="请输入故障原因"
clearable
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy" >
<el-input
class="my-select-input"
v-model="queryParams.createBy"
placeholder="请输入创建人"
clearable
style="width: 130px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-input
class="my-select-input"
v-model="queryParams.updateBy"
placeholder="请输入更新人"
clearable
style="width: 130px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="queryParams.updateTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['device:faultReason:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:faultReason:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:faultReason:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['device:faultReason:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="faultList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column width="60" align="center" label="序号" type="index"></el-table-column>
<el-table-column v-if="false" label="主键" align="center" prop="faultId" />
<el-table-column width="150" label="故障原因编码" align="center" prop="faultCode" />
<el-table-column width="150" label="故障原因类型" align="center" prop="faultType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_fault_reason" :value="scope.row.faultType"/>
</template>
</el-table-column>
<el-table-column width="200" label="故障原因" align="center" prop="faultSubclass" />
<el-table-column width="180" label="备注" align="center" prop="faultRemark" />
<el-table-column v-if="false" label="删除标志" align="center" prop="delFlag" />
<el-table-column width="100" label="创建人" align="center" prop="createBy" />
<el-table-column width="180" label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="100" label="更新人" align="center" prop="updateBy" />
<el-table-column width="180" label="更新时间" align="center" prop="updateTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="180" label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:faultReason:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:faultReason:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改故障原因维护对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item v-if="false" label="故障原因编码" prop="faultCode">
<el-input v-model="form.faultCode" placeholder="请输入故障原因编码" style="width: 300px"/>
</el-form-item>
<el-form-item label="故障原因" prop="faultType">
<el-select v-model="form.faultType" placeholder="请选择故障原因" clearable style="width: 300px">
<el-option
v-for="dict in dict.type.device_fault_reason"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="故障子类" prop="faultSubclass">
<el-input v-model="form.faultSubclass" placeholder="请输入故障子类" style="width: 300px"/>
</el-form-item>
<el-form-item label="备注" prop="faultRemark">
<el-input v-model="form.faultRemark" placeholder="请输入备注" style="width: 300px"/>
</el-form-item>
<el-form-item v-if="false" label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item v-if="false" label="备用字段1" prop="attr1">
<el-input v-model="form.attr1" placeholder="请输入备用字段1" />
</el-form-item>
<el-form-item v-if="false" label="备用字段2" prop="attr2">
<el-input v-model="form.attr2" placeholder="请输入备用字段2" />
</el-form-item>
<el-form-item v-if="false" label="备用字段3" prop="attr3">
<el-input v-model="form.attr3" placeholder="请输入备用字段3" />
</el-form-item>
<el-form-item v-if="false" label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFaultReason, getFaultReason, delFaultReason, addFaultReason, updateFaultReason } from "@/api/device/faultReason";
export default {
name: "FaultType",
dicts: ['device_fault_reason'],
data() {
return {
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
faultList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createTimeArray: [],
updateTimeArray: [],
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询故障原因维护列表 */
getList() {
this.loading = true;
listFaultReason(this.queryParams).then(response => {
this.faultList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
faultId: null,
faultCode: null,
faultType: null,
faultSubclass: null,
faultRemark: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
//
this.queryParams.createTimeArray = [];
this.queryParams.updateTimeArray = [];
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.faultId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加故障原因维护";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const faultId = row.faultId || this.ids
getFaultReason(faultId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改故障原因维护";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.faultId != null) {
updateFaultReason(this.form).then(response => {
if (response.code != 500) {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addFaultReason(this.form).then(response => {
if (response.code != 500) {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const faultIds = row.faultId || this.ids;
var faultCodes = '';
//
for (let i = 0; i < this.faultList.length; i++) {
for (let j = 0; j < faultIds.length; j++) {
if (faultIds[j] == this.faultList[i].faultId) {
faultCodes = faultCodes + this.faultList[i].faultCode + ',';
}
}
}
if (faultCodes == '') {
for (let i = 0; i < this.faultList.length; i++) {
if (faultIds == this.faultList[i].faultId) {
faultCodes = this.faultList[i].faultCode;
}
}
}
this.$modal.confirm('是否确认删除故障原因维护编号为"' + faultCodes + '"的数据项?').then(function() {
return delFaultReason(faultIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('device/faultReason/export', {
...this.queryParams
}, `faultType_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -5,12 +5,13 @@
<el-input
v-model="queryParams.faultCode"
placeholder="请输入故障类型编码"
style="width: 180px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="故障类型" prop="faultType">
<el-select v-model="queryParams.faultType" placeholder="请选择故障类型" clearable>
<el-select v-model="queryParams.faultType" placeholder="请选择故障类型" clearable style="width: 180px">
<el-option
v-for="dict in dict.type.device_fault_type"
:key="dict.value"
@ -24,6 +25,7 @@
v-model="queryParams.faultSubclass"
placeholder="请输入故障子类"
clearable
style="width: 180px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -82,6 +84,17 @@
placeholder="请输入创建人"
clearable
@keyup.enter.native="handleQuery"
style="width: 140px"
/>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-input
class="my-select-input"
v-model="queryParams.updateBy"
placeholder="请输入更新人"
clearable
@keyup.enter.native="handleQuery"
style="width: 140px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
@ -97,15 +110,6 @@
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-input
class="my-select-input"
v-model="queryParams.updateBy"
placeholder="请输入更新人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="queryParams.updateTimeArray"
@ -171,7 +175,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="faultTypeList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="faultList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column width="60" align="center" label="序号" type="index"></el-table-column>
<el-table-column v-if="false" label="主键" align="center" prop="faultId" />
@ -231,11 +235,11 @@
<!-- 添加或修改故障类型维护对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item v-if="false" label="故障类型编码" prop="faultCode">
<el-form-item v-if="false" label="故障类型编码" prop="faultCode" style="width: 300px">
<el-input v-model="form.faultCode" placeholder="请输入故障类型编码" />
</el-form-item>
<el-form-item label="故障类型" prop="faultType">
<el-select v-model="form.faultType" placeholder="请选择故障类型" clearable>
<el-select v-model="form.faultType" placeholder="请选择故障类型" clearable style="width: 300px">
<el-option
v-for="dict in dict.type.device_fault_type"
:key="dict.value"
@ -245,10 +249,10 @@
</el-select>
</el-form-item>
<el-form-item label="故障子类" prop="faultSubclass">
<el-input v-model="form.faultSubclass" placeholder="请输入故障子类" />
<el-input v-model="form.faultSubclass" placeholder="请输入故障子类" style="width: 300px"/>
</el-form-item>
<el-form-item label="备注" prop="faultRemark">
<el-input v-model="form.faultRemark" placeholder="请输入备注" />
<el-input v-model="form.faultRemark" placeholder="请输入备注" style="width: 300px"/>
</el-form-item>
<el-form-item v-if="false" label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
@ -323,7 +327,7 @@ export default {
//
total: 0,
//
faultTypeList: [],
faultList: [],
//
title: "",
//
@ -363,7 +367,7 @@ export default {
getList() {
this.loading = true;
listFaultType(this.queryParams).then(response => {
this.faultTypeList = response.rows;
this.faultList = response.rows;
this.total = response.total;
this.loading = false;
});
@ -458,18 +462,18 @@ export default {
var faultCodes = '';
//
for (let i = 0; i < this.faultTypeList.length; i++) {
for (let i = 0; i < this.faultList.length; i++) {
for (let j = 0; j < faultIds.length; j++) {
if (faultIds[j] == this.faultTypeList[i].faultId) {
faultCodes = faultCodes + this.faultTypeList[i].faultCode + ',';
if (faultIds[j] == this.faultList[i].faultId) {
faultCodes = faultCodes + this.faultList[i].faultCode + ',';
}
}
}
if (faultCodes == '') {
for (let i = 0; i < this.faultTypeList.length; i++) {
if (faultIds == this.faultTypeList[i].faultId) {
faultCodes = this.faultTypeList[i].faultCode;
for (let i = 0; i < this.faultList.length; i++) {
if (faultIds == this.faultList[i].faultId) {
faultCodes = this.faultList[i].faultCode;
}
}
}

@ -0,0 +1,333 @@
<template>
<el-dialog
title="设备选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="1200px"
center
:before-close="cancelEquipmentForm"
>
<el-row :gutter="20">
<!--分类数据-->
<el-col :span="5" :xs="24">
<el-card>
<span>请选择设备类型</span>
<div class="head-container" style="text-align: center">
<el-tree
:data="treeData"
:props="{ id: 'equipmentTypeCode', label: 'equipmentTypeName' }"
node-key="id"
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
default-expand-all
@node-click="handleNodeClick"
/>
</div>
</el-card>
</el-col>
<!--设备数据-->
<el-col :span="19" :xs="24">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="设备编码" prop="itemCode">
<el-input
v-model="queryParams.itemCode"
placeholder="请输入设备编码"
clearable
style="width: 160px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="itemName">
<el-input
v-model="queryParams.itemName"
placeholder="请输入设备名称"
clearable
style="width: 160px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="组线" prop="groupLine">
<template>
<el-select
v-model="queryParams.groupLine"
filterable
placeholder="请选择组线"
style="width: 160px"
>
<el-option
v-for="item in options"
:key="item.equipmentCode"
:label="item.equipmentName"
:value="item.equipmentCode"
>
</el-option>
</el-select>
</template>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="itemList"
@selection-change="handleEquipmentSelectionChange"
ref="myTable"
>
<el-table-column width="50" align="center" type="selection">
<!-- <template v-slot="scope">
<el-radio v-model="selectedItemId" :label="scope.row.itemId" @change="handleRowChange(scope.row)">{{""}}</el-radio>
</template> -->
</el-table-column>
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
></el-table-column>
<el-table-column
label="设备编码"
align="center"
key="itemCode"
prop="equipmentCode"
v-if="columns[0].visible"
>
</el-table-column>
<el-table-column
label="设备类型编码"
align="center"
key="itemTypeCode"
prop="equipmentTypeCode"
v-if="columns[2].visible"
>
</el-table-column>
<el-table-column
label="设备名称"
align="left"
key="itemName"
prop="equipmentName"
v-if="columns[1].visible"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitEquipmentForm"> </el-button>
<el-button @click="cancelEquipmentForm"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
getEquipmentList,
getEquipmentTypeList,
getGroupLineList,
} from "@/api/device/faultReport";
import {getEquList} from "@/api/device/plan";
import { treeselect } from "@/api/wms/equipment";
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
data() {
return {
treeData: [],
showFlag: false,
//
selectedItemId: undefined,
selectedRows: undefined,
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
itemList: null,
//
itemTypeOptions: undefined,
//
equipmentTypeCode: undefined,
//
queryParams: {
pageNum: 1,
pageSize: 10,
itemName: undefined,
equipmentTypeCode: undefined,
itemTypeId: 0,
itemCodeGet: "",
itemCode: undefined,
equipmentCode: null,
equipmentName: null,
groupLine: null,
},
//
columns: [
{ key: 0, label: `设备编码`, visible: true },
{ key: 1, label: `设备名称`, visible: true },
{ key: 2, label: `设备类型`, visible: true },
],
};
},
created() {
this.getList();
this.getEquipmentType();
},
methods: {
//
reset() {
this.form = {
itemId: null,
itemCode: null,
itemType: null,
groupLine :null,
};
this.resetForm("form");
},
handleEquipmentSelectionChange(val) {
this.itemList = val;
},
//
indexMethod(index) {
return index + 1;
},
/** 查询设备编码列表*/
getList() {
this.loading = true;
this.queryParams.equipmentCode = this.queryParams.itemCode;
this.queryParams.equipmentName = this.queryParams.itemName;
getEquipmentList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
//线
getGroupLineList().then((response) => {
this.options = response.rows;
});
},
//
getEquList() {
this.loading = true;
this.queryParams.equipmentCode = this.queryParams.itemCode;
this.queryParams.equipmentName = this.queryParams.itemName;
getEquList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 查询分类下拉树结构 */
getEquipmentType() {
getEquipmentTypeList().then((response) => {
this.treeData = response.rows;
});
},
//
filterNode(value, data) {
console.log(value, data);
if (!value) return true;
return data.label.indexOf(value) !== -1;
},
//
handleNodeClick(data) {
this.queryParams.equipmentTypeCode = data.equipmentTypeCode;
console.log(this.queryParams.equipmentTypeCode);
this.queryParams.pageNum = 1;
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getEquList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.equipmentTypeCode = null;
this.resetForm("queryForm");
this.queryParams.pageNum = 1;
this.getList()
},
//
handleEquipmentSelectionChange(selection) {
this.ids = selection.map((item) => item.equipmentCode);
this.single = selection.length !== 1;
this.multiple = !selection.length;
console.log("多选框", this.ids);
},
submitEquipmentForm() {
const data = this.ids;
if (data.length > 1) {
Message.warning("只能选择一个报修机器,请勿选择多个!");
} else {
const equipmentCode = data.toString();
if (this.queryParams.itemCodeGet == "") {
this.queryParams.itemCodeGet = equipmentCode;
} else {
this.queryParams.itemCodeGet =
this.queryParams.itemCodeGet + "," + equipmentCode;
}
this.selectedRows = this.queryParams.itemCodeGet;
this.$emit("onSelected", this.selectedRows);
this.queryParams.equipmentTypeCode = null;
this.getList();
this.showFlag = false;
this.queryParams.itemCodeGet = "";
}
},
cancelEquipmentForm() {
this.queryParams.equipmentTypeCode = null;
this.getList();
this.showFlag = false;
},
},
};
</script>

@ -0,0 +1,229 @@
<template>
<el-dialog
title="人员选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="800px"
center
:before-close="cancel"
>
<el-row :gutter="20">
<!--人员数据-->
<el-col :span="24">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="人员编码" prop="itemCode">
<el-input
v-model="queryParams.itemCode"
placeholder="请输入人员编码"
clearable
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="人员名称" prop="itemName">
<el-input
v-model="queryParams.itemName"
placeholder="请输入人员名称"
clearable
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="itemList"
@selection-change="handleSelectionChange"
ref="multipleTable"
>
<el-table-column
width="50"
align="center"
type="selection"
></el-table-column>
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
></el-table-column>
<el-table-column
label="人员编码"
align="center"
key="itemCode"
prop="userName"
v-if="columns[0].visible"
>
</el-table-column>
<el-table-column
label="人员名称"
align="left"
key="itemName"
prop="nickName"
v-if="columns[1].visible"
:show-overflow-tooltip="true"
/>
<el-table-column
label="人员联系方式"
align="left"
prop="phonenumber"
v-if="columns[2].visible"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="multiple"
> </el-button
>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getRepairPersonList } from "@/api/device/faultReport";
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
data() {
return {
treeData1: [],
showFlag: false,
//
selectedItemId: undefined,
selectedRows: undefined,
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
itemList: null,
//
queryParams: {
pageNum: 1,
pageSize: 10,
itemName: null,
itemCodeGet: "",
itemCode: null,
nickName: null,
userName: null,
},
//
columns: [
{ key: 0, label: `人员编码`, visible: true },
{ key: 1, label: `人员名称`, visible: true },
{ key: 1, label: `联系方式`, visible: true },
],
};
},
created() {
this.getList();
},
methods: {
//
cancel() {
this.showFlag = false;
this.reset();
},
//
reset() {
this.form = {
itemId: null,
itemCode: this.processId,
itemType: null,
};
this.resetForm("form");
},
handleSelectionChange(val) {
this.itemList = val;
},
//
indexMethod(index) {
return index + 1;
},
/** 查询设备编码列表*/
getList() {
this.loading = true;
this.queryParams.userName = this.queryParams.itemCode;
this.queryParams.nickName = this.queryParams.itemName;
getRepairPersonList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.equipmentTypeCode = null;
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.userId);
this.userCodes = selection.map((item) => item.userName);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
submitForm() {
if (this.$refs.multipleTable.selection.length > 1) {
Message.warning("只能选择一个报修人,请勿选择多个!");
} else {
this.$emit("onSelected", this.$refs.multipleTable.selection);
this.showFlag = false;
this.getList();
}
},
},
};
</script>

@ -965,16 +965,25 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item label="故障描述" prop="orderDesc">
<el-input
v-model="form.orderDesc"
placeholder="请输入故障描述"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
/>
</el-form-item>
<el-col :span="8">
<el-form-item label="故障描述" prop="orderDesc">
<el-select
v-model="form.orderDesc"
@change="$forceUpdate()"
clearable
filterable
style="width: 200px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in orderDescOption"
:key="item.faultCode"
:label="item.faultSubclass"
:value="item.faultSubclass"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
@ -1122,6 +1131,7 @@ import ItemSelect from "./selectSingleEquipment.vue";
import ItemSelectPerson from "./selectSinglePerson.vue";
import { Message } from "element-ui";
import { getMaintenanceTeamList } from "@/api/device/equTeam";
import { listFaultDescription } from "@/api/device/faultDescription";
export default {
name: "FaultReport",
@ -1144,6 +1154,12 @@ export default {
"text-align": "center",
width: "120px",
},
auxiliaryQueryParams: {
pageNum: 1,
pageSize: 1000,
},
//
orderDescOption : [],
teamOption: [],
//
fileList: [],
@ -1282,6 +1298,7 @@ export default {
},
created() {
this.getList();
this.getOrderDesc();
},
methods: {
//
@ -1316,6 +1333,13 @@ export default {
console.log(nowDate(time));
this.form.workPlanTime = nowDate(time);
},
/** 查询维修措施列表 */
getOrderDesc() {
this.loading = true;
listFaultDescription(this.auxiliaryQueryParams).then((response) => {
this.orderDescOption = response.rows;
});
},
//
handleSelectEquipment() {
this.$refs.itemSelect.showFlag = true;

@ -4,7 +4,7 @@
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="1100px"
width="1200px"
center
:before-close="cancelEquipmentForm"
>
@ -15,7 +15,7 @@
<span>请选择设备类型</span>
<div class="head-container" style="text-align: center">
<el-tree
:data="treeData1"
:data="treeData"
:props="{ id: 'equipmentTypeCode', label: 'equipmentTypeName' }"
node-key="id"
:expand-on-click-node="false"
@ -43,7 +43,7 @@
v-model="queryParams.itemCode"
placeholder="请输入设备编码"
clearable
style="width: 240px"
style="width: 160px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -52,10 +52,28 @@
v-model="queryParams.itemName"
placeholder="请输入设备名称"
clearable
style="width: 240px"
style="width: 160px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="组线" prop="groupLine">
<template>
<el-select
v-model="queryParams.groupLine"
filterable
placeholder="请选择组线"
style="width: 160px"
>
<el-option
v-for="item in options"
:key="item.equipmentCode"
:label="item.equipmentName"
:value="item.equipmentCode"
>
</el-option>
</el-select>
</template>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -134,15 +152,18 @@
import {
getEquipmentList,
getEquipmentTypeList,
getGroupLineList,
} from "@/api/device/faultReport";
import {getEquList} from "@/api/device/plan";
import { treeselect } from "@/api/wms/equipment";
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
// components: { Treeselect },
data() {
return {
treeData1: [],
treeData: [],
showFlag: false,
//
selectedItemId: undefined,
@ -165,13 +186,14 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
itemName: null,
equipmentTypeCode: null,
itemName: undefined,
equipmentTypeCode: undefined,
itemTypeId: 0,
itemCodeGet: "",
itemCode: null,
itemCode: undefined,
equipmentCode: null,
equipmentName: null,
groupLine: null,
},
//
columns: [
@ -191,8 +213,9 @@ export default {
reset() {
this.form = {
itemId: null,
itemCode: this.processId,
itemCode: null,
itemType: null,
groupLine :null,
};
this.resetForm("form");
},
@ -216,14 +239,29 @@ export default {
this.total = response.total;
this.loading = false;
});
//线
getGroupLineList().then((response) => {
this.options = response.rows;
});
},
//
getEquList() {
this.loading = true;
this.queryParams.equipmentCode = this.queryParams.itemCode;
this.queryParams.equipmentName = this.queryParams.itemName;
getEquList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 查询分类下拉树结构 */
getEquipmentType() {
getEquipmentTypeList().then((response) => {
console.log(response.rows);
this.treeData1 = response.rows;
console.log(this.treeData1);
this.treeData = response.rows;
});
},
@ -236,23 +274,24 @@ export default {
//
handleNodeClick(data) {
console.log("id", data.id);
this.queryParams.equipmentTypeCode = data.equipmentTypeCode;
console.log(this.equipmentTypeCode);
this.handleQuery();
console.log(this.queryParams.equipmentTypeCode);
this.queryParams.pageNum = 1;
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.getEquList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.equipmentTypeCode = null;
this.resetForm("queryForm");
this.handleQuery();
this.queryParams.pageNum = 1;
this.getList()
},
//
@ -279,7 +318,6 @@ export default {
this.$emit("onSelected", this.selectedRows);
this.queryParams.equipmentTypeCode = null;
this.getList();
console.log("111111", this.queryParams.equipmentTypeCode);
this.showFlag = false;
this.queryParams.itemCodeGet = "";
}
@ -288,7 +326,6 @@ export default {
cancelEquipmentForm() {
this.queryParams.equipmentTypeCode = null;
this.getList();
console.log("111111", this.queryParams.equipmentTypeCode);
this.showFlag = false;
},
},

@ -457,7 +457,6 @@
:data="form.equipmentItem"
stripe
style="width: 100%">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="equipmentCode"
label="设备编码"
@ -539,11 +538,21 @@
<el-dialog
title="选择设备"
:visible.sync="selectEqu"
width="50%"
width="1100px"
append-to-body
>
<el-form :model="equipmentQuery" ref="queryBPForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="组线" prop="groupLine">
<el-select v-model="equipmentQuery.groupLine" placeholder="请选择组线">
<el-option
v-for="group in groupLineList"
:key="group.equipmentCode"
:label="group.equipmentName"
:value="group.equipmentCode"
/>
</el-select>
</el-form-item>
<el-form-item label="设备编码">
<el-input
v-model="equipmentQuery.equipmentCode"
@ -645,7 +654,7 @@ import {
updatePlan,
getEquList,
formatEquItem,
getPersonList, getWorkCenter, initUpdatePlanInfo
getPersonList, getWorkCenter, initUpdatePlanInfo, getGroupLine
} from "@/api/device/plan";
import plan from "@/views/plan/plan/index.vue";
@ -654,6 +663,8 @@ export default {
dicts: ['device_loop_type', 'sys_normal_disable'],
data() {
return {
// 线
groupLineList:[],
//
planLoading:false,
// list
@ -678,6 +689,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
},
@ -903,7 +915,21 @@ export default {
},
//
selectEquBtn() {
this.getEquList();
this.equipmentQuery = {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
};
// 线
getGroupLine().then(response => {
this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList();
})
this.selectEqu = true;
},
//
@ -1032,6 +1058,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:this.groupLineList[0].equipmentCode,
pageNum: 1,
pageSize: 10,
};

@ -0,0 +1,547 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="车间" prop="workshop">
<el-input
v-model="queryParams.workshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="组线" prop="groupLine">
<el-input
v-model="queryParams.groupLine"
placeholder="请输入组线"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备" prop="equipmentName">
<el-input
v-model="queryParams.equipmentName"
placeholder="请输入设备"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备编码" prop="equipmentCode">
<el-input
v-model="queryParams.equipmentCode"
placeholder="请输入设备编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="故障时间" prop="faultTime">
<el-input
v-model="queryParams.faultTime"
placeholder="请输入故障时间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="实际运行时间;运行时间-故障时间" prop="actualOperationTime">
<el-input
v-model="queryParams.actualOperationTime"
placeholder="请输入实际运行时间;运行时间-故障时间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="运行时间" prop="operationTime">
<el-input
v-model="queryParams.operationTime"
placeholder="请输入运行时间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="故障率" prop="failureRate">
<el-input
v-model="queryParams.failureRate"
placeholder="请输入故障率"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="故障描述" prop="failureDescription">
<el-input
v-model="queryParams.failureDescription"
placeholder="请输入故障描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="原因分析" prop="reasonAnalyze">
<el-input
v-model="queryParams.reasonAnalyze"
placeholder="请输入原因分析"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="处理方式" prop="handlingMethod">
<el-input
v-model="queryParams.handlingMethod"
placeholder="请输入处理方式"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="维修人" prop="repairPerson">
<el-input
v-model="queryParams.repairPerson"
placeholder="请输入维修人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="设备状态描述" prop="equStatusDes">
<el-input
v-model="queryParams.equStatusDes"
placeholder="请输入设备状态描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="更换备件" prop="replaceSpare">
<el-input
v-model="queryParams.replaceSpare"
placeholder="请输入更换备件"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="工厂" prop="factoryCode">
<el-input
v-model="queryParams.factoryCode"
placeholder="请输入工厂"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="备用字段1" prop="attr1">
<el-input
v-model="queryParams.attr1"
placeholder="请输入备用字段1"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="备用字段2" prop="attr2">
<el-input
v-model="queryParams.attr2"
placeholder="请输入备用字段2"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="备用字段3" prop="attr3">
<el-input
v-model="queryParams.attr3"
placeholder="请输入备用字段3"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="日期" prop="createTime">
<el-date-picker
v-model="queryParams.createTimeArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row v-if="false" :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['device:operation:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:operation:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:operation:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['device:operation:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="operationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column v-if="false" label="主键" align="center" prop="id" />
<el-table-column width="60" align="center" label="序号" type="index"></el-table-column>
<el-table-column v-if="false" width="100" label="工厂" align="center" prop="factoryCode" />
<el-table-column width="120" label="日期" align="center" prop="createTime" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="车间" align="center" prop="workshop" />
<el-table-column width="120" label="组线" align="center" prop="groupLine" />
<el-table-column width="300" label="设备" align="center" prop="equipmentName" />
<el-table-column width="120" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="100" label="故障时间" align="center" prop="faultTime" />
<el-table-column width="100" label="实际运行时间" align="center" prop="actualOperationTime" />
<el-table-column width="100" label="运行时间" align="center" prop="operationTime" />
<el-table-column width="100" label="故障率" align="center" prop="failureRate" />
<el-table-column width="200" label="故障描述" align="center" prop="failureDescription" />
<el-table-column width="200" label="原因分析" align="center" prop="reasonAnalyze" />
<el-table-column width="200" label="设备状态描述" align="center" prop="equStatusDes" />
<el-table-column width="200" label="处理方式" align="center" prop="handlingMethod" />
<el-table-column width="200" label="更换备件" align="center" prop="replaceSpare" />
<el-table-column width="100" label="维修人" align="center" prop="repairPerson" />
<el-table-column v-if="false" label="备用字段1" align="center" prop="attr1" />
<el-table-column v-if="false" label="备用字段2" align="center" prop="attr2" />
<el-table-column v-if="false" label="备用字段3" align="center" prop="attr3" />
<el-table-column width="120" label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:operation:edit']"
>修改</el-button>
<el-button
v-if="false"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:operation:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改设备运行记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item v-if="false" label="车间" prop="workshop">
<el-input v-model="form.workshop" placeholder="请输入车间" />
</el-form-item>
<el-form-item v-if="false" label="组线" prop="groupLine">
<el-input v-model="form.groupLine" placeholder="请输入组线" />
</el-form-item>
<el-form-item label="设备" prop="equipmentName">
<el-input v-model="form.equipmentName" placeholder="请输入设备" :disabled="true"/>
</el-form-item>
<el-form-item v-if="false" label="设备编码" prop="equipmentCode">
<el-input v-model="form.equipmentCode" placeholder="请输入设备编码" />
</el-form-item>
<el-form-item label="故障时间" prop="faultTime">
<el-input v-model="form.faultTime" placeholder="请输入故障时间" />
</el-form-item>
<el-form-item label="实际运行时间" prop="actualOperationTime">
<el-input v-model="form.actualOperationTime" placeholder="请输入实际运行时间;运行时间-故障时间" />
</el-form-item>
<el-form-item label="运行时间" prop="operationTime">
<el-input v-model="form.operationTime" placeholder="请输入运行时间" />
</el-form-item>
<el-form-item v-if="false" label="故障率" prop="failureRate">
<el-input v-model="form.failureRate" placeholder="请输入故障率" :disabled="true"/>
</el-form-item>
<el-form-item label="故障描述" prop="failureDescription">
<el-input v-model="form.failureDescription" placeholder="请输入故障描述" :disabled="true"/>
</el-form-item>
<el-form-item label="原因分析" prop="reasonAnalyze">
<el-input v-model="form.reasonAnalyze" placeholder="请输入原因分析" :disabled="true"/>
</el-form-item>
<el-form-item label="处理方式" prop="handlingMethod">
<el-input v-model="form.handlingMethod" placeholder="请输入处理方式" :disabled="true"/>
</el-form-item>
<el-form-item label="维修人" prop="repairPerson">
<el-input v-model="form.repairPerson" placeholder="请输入维修人" :disabled="true"/>
</el-form-item>
<el-form-item label="设备状态描述" prop="equStatusDes">
<el-input v-model="form.equStatusDes" placeholder="请输入设备状态描述" :disabled="true"/>
</el-form-item>
<el-form-item label="更换备件" prop="replaceSpare">
<el-input v-model="form.replaceSpare" placeholder="请输入更换备件" :disabled="true"/>
</el-form-item>
<el-form-item v-if="false" label="工厂" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂" />
</el-form-item>
<el-form-item v-if="false" label="备用字段1" prop="attr1">
<el-input v-model="form.attr1" placeholder="请输入备用字段1" />
</el-form-item>
<el-form-item v-if="false" label="备用字段2" prop="attr2">
<el-input v-model="form.attr2" placeholder="请输入备用字段2" />
</el-form-item>
<el-form-item v-if="false" label="备用字段3" prop="attr3">
<el-input v-model="form.attr3" placeholder="请输入备用字段3" />
</el-form-item>
<el-form-item v-if="false" label="删除标识" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标识" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listOperation, getOperation, delOperation, addOperation, updateOperation } from "@/api/device/operation";
import {parseTime} from "../../../utils/ruoyi";
export default {
name: "Operation",
data() {
return {
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
operationList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
workshop: null,
groupLine: null,
equipmentName: null,
equipmentCode: null,
faultTime: null,
actualOperationTime: null,
operationTime: null,
failureRate: null,
failureDescription: null,
reasonAnalyze: null,
handlingMethod: null,
repairPerson: null,
equStatusDes: null,
replaceSpare: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
createTimeArray: [],
},
//
form: {},
//
rules: {
delFlag: [
{ required: true, message: "删除标识不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
parseTime,
/** 查询设备运行记录列表 */
getList() {
this.loading = true;
listOperation(this.queryParams).then(response => {
this.operationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
workshop: null,
groupLine: null,
equipmentName: null,
equipmentCode: null,
faultTime: null,
actualOperationTime: null,
operationTime: null,
failureRate: null,
failureDescription: null,
reasonAnalyze: null,
handlingMethod: null,
repairPerson: null,
equStatusDes: null,
replaceSpare: null,
factoryCode: null,
attr1: null,
attr2: null,
attr3: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
//
this.queryParams.createTimeArray = [];
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加设备运行记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getOperation(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改设备运行记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateOperation(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOperation(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除设备运行记录编号为"' + ids + '"的数据项?').then(function() {
return delOperation(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('device/operation/export', {
...this.queryParams
}, `operation_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -343,6 +343,12 @@
prop="workReason"
width="300"
/>
<el-table-column
label="维修处理措施"
align="center"
prop="repairMeasures"
width="300"
/>
<el-table-column
label="维修开始时间"
align="center"
@ -983,7 +989,7 @@
<el-input
v-model="form.workPerson"
placeholder="请选择维修人"
style="width: 195px"
style="width: 250px"
>
<el-button
slot="append"
@ -1003,7 +1009,7 @@
<el-select
v-model="form.workStatus"
placeholder="请选择维修状态"
style="width: 195px"
style="width: 250px"
>
<el-option
v-for="dict in dict.type.device_repair_status"
@ -1020,7 +1026,7 @@
:min="0"
:step="1"
v-model="form.workCost"
style="width: 175px"
style="width: 250px"
/>
<span> </span>
</el-form-item>
@ -1033,9 +1039,9 @@
clearable
v-model="form.workStartTime"
type="datetime"
style="width: 195px"
style="width: 250px"
value-format="yyyy-MM-dd HH:mm:ss"
@change="listening"
@change="listeningTime"
placeholder="请输入开始时间"
></el-date-picker>
</el-form-item>
@ -1046,7 +1052,7 @@
clearable
v-model="form.workEndTime"
type="datetime"
style="width: 195px"
style="width: 250px"
@change="listeningTime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请输入结束时间"
@ -1055,7 +1061,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="维修用时" prop="workCostTime">
<el-input v-model="form.workCostTime" style="width: 195px" disabled>
<el-input v-model="form.workCostTime" style="width: 250px" disabled>
</el-input>
</el-form-item>
</el-col>
@ -1074,22 +1080,51 @@
<el-cascader
:options="faultTypeOption"
v-model="form.faultType"
style="width: 195px"
style="width: 250px"
clearable
></el-cascader>
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="24">
<el-form-item label="原因分析" prop="workReason">
<el-input
<el-col :span="8">
<el-form-item label="故障原因" prop="workReason">
<el-select
v-model="form.workReason"
placeholder="请输入原因分析"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 940px"
/>
placeholder="请选择故障原因"
@change="$forceUpdate()"
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in workReasonOption"
:key="item.faultCode"
:label="item.faultSubclass"
:value="item.faultSubclass"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处理措施" prop="repairMeasures">
<el-select
v-model="form.repairMeasures"
placeholder="请选择处理措施"
@change="$forceUpdate()"
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in repairMeasuresOption"
:key="item.faultCode"
:label="item.faultSubclass"
:value="item.faultSubclass"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -1360,7 +1395,7 @@
type="datetime"
style="width: 195px"
value-format="yyyy-MM-dd HH:mm:ss"
@change="listening"
@change="listeningTime"
disabled
></el-date-picker>
</el-form-item>
@ -1411,15 +1446,44 @@
</el-col> -->
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="24">
<el-form-item label="原因分析" prop="workReason">
<el-input
disabled
<el-col :span="8">
<el-form-item label="故障原因" prop="workReason">
<el-select
v-model="form.workReason"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 940px"
/>
@change="$forceUpdate()"
disabled
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in workReasonOption"
:key="item.faultCode"
:label="item.faultSubclass"
:value="item.faultCode"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处理措施" prop="repairMeasures">
<el-select
v-model="form.repairMeasures"
@change="$forceUpdate()"
clearable
filterable
disabled
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in repairMeasuresOption"
:key="item.faultCode"
:label="item.faultSubclass"
:value="item.faultCode"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -1454,6 +1518,8 @@ import {
writeRepairOrder,
queryEquFaultTypeTree,
} from "@/api/device/repairOrder";
import { listFaultReason } from "@/api/device/faultReason";
import { listFaultMeasures } from "@/api/device/faultMeasures";
import { getMaintenanceTeamList } from "@/api/device/equTeam";
import ItemSelect from "./selectSingleEquipment.vue";
import ItemSelectPerson from "./selectSinglePerson.vue";
@ -1500,6 +1566,10 @@ export default {
"text-align": "center",
width: "250px",
},
//
repairMeasuresOption : [],
//
workReasonOption: [],
//
detailList: [],
//
@ -1569,6 +1639,10 @@ export default {
workPlanTimeArray: [],
workPlanDownTimeArray: [],
},
auxiliaryQueryParams: {
pageNum: 1,
pageSize: 1000,
},
//
workOutsourceOption: [
{
@ -1647,6 +1721,8 @@ export default {
this.getList();
this.getTeamList();
this.getEquFaultTypeTree();
this.getWorkReason();
this.getRepairMeasures();
},
methods: {
//
@ -1710,11 +1786,24 @@ export default {
this.loading = false;
});
},
/** 查询维修工单列表 */
/** 查询维修原因列表 */
getWorkReason() {
this.loading = true;
listFaultReason(this.auxiliaryQueryParams).then((response) => {
this.workReasonOption = response.rows;
});
},
/** 查询维修措施列表 */
getRepairMeasures() {
this.loading = true;
listFaultMeasures(this.auxiliaryQueryParams).then((response) => {
this.repairMeasuresOption = response.rows;
});
},
/** 查询维修班组列表 */
getTeamList() {
this.loading = true;
getMaintenanceTeamList(this.queryParams).then((response) => {
console.log(response.rows);
this.teamOption = response.rows;
});
},

@ -4,7 +4,7 @@
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="1100px"
width="1200px"
center
:before-close="cancelEquipmentForm"
>
@ -15,7 +15,7 @@
<span>请选择设备类型</span>
<div class="head-container" style="text-align: center">
<el-tree
:data="treeData1"
:data="treeData"
:props="{ id: 'equipmentTypeCode', label: 'equipmentTypeName' }"
node-key="id"
:expand-on-click-node="false"
@ -43,7 +43,7 @@
v-model="queryParams.itemCode"
placeholder="请输入设备编码"
clearable
style="width: 240px"
style="width: 160px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -52,10 +52,28 @@
v-model="queryParams.itemName"
placeholder="请输入设备名称"
clearable
style="width: 240px"
style="width: 160px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="组线" prop="groupLine">
<template>
<el-select
v-model="queryParams.groupLine"
filterable
placeholder="请选择组线"
style="width: 160px"
>
<el-option
v-for="item in options"
:key="item.equipmentCode"
:label="item.equipmentName"
:value="item.equipmentCode"
>
</el-option>
</el-select>
</template>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -134,16 +152,18 @@
import {
getEquipmentList,
getEquipmentTypeList,
getGroupLineList,
} from "@/api/device/faultReport";
import {getEquList} from "@/api/device/plan";
import { treeselect } from "@/api/wms/equipment";
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
// components: { Treeselect },
data() {
return {
treeData1: [],
treeData: [],
showFlag: false,
//
selectedItemId: undefined,
@ -173,6 +193,7 @@ export default {
itemCode: undefined,
equipmentCode: null,
equipmentName: null,
groupLine: null,
},
//
columns: [
@ -192,8 +213,9 @@ export default {
reset() {
this.form = {
itemId: null,
itemCode: this.processId,
itemCode: null,
itemType: null,
groupLine :null,
};
this.resetForm("form");
},
@ -217,14 +239,29 @@ export default {
this.total = response.total;
this.loading = false;
});
//线
getGroupLineList().then((response) => {
this.options = response.rows;
});
},
//
getEquList() {
this.loading = true;
this.queryParams.equipmentCode = this.queryParams.itemCode;
this.queryParams.equipmentName = this.queryParams.itemName;
getEquList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 查询分类下拉树结构 */
getEquipmentType() {
getEquipmentTypeList().then((response) => {
console.log(response.rows);
this.treeData1 = response.rows;
console.log(this.treeData1);
this.treeData = response.rows;
});
},
@ -237,23 +274,24 @@ export default {
//
handleNodeClick(data) {
console.log("id", data.id);
this.queryParams.equipmentTypeCode = data.equipmentTypeCode;
console.log(this.equipmentTypeCode);
this.handleQuery();
console.log(this.queryParams.equipmentTypeCode);
this.queryParams.pageNum = 1;
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.getEquList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.equipmentTypeCode = null;
this.resetForm("queryForm");
this.handleQuery();
this.queryParams.pageNum = 1;
this.getList()
},
//
@ -267,7 +305,7 @@ export default {
submitEquipmentForm() {
const data = this.ids;
if (data.length > 1) {
Message.warning("只能选择一个修机器,请勿选择多个!");
Message.warning("只能选择一个修机器,请勿选择多个!");
} else {
const equipmentCode = data.toString();
if (this.queryParams.itemCodeGet == "") {
@ -280,7 +318,6 @@ export default {
this.$emit("onSelected", this.selectedRows);
this.queryParams.equipmentTypeCode = null;
this.getList();
console.log("111111", this.queryParams.equipmentTypeCode);
this.showFlag = false;
this.queryParams.itemCodeGet = "";
}
@ -289,7 +326,6 @@ export default {
cancelEquipmentForm() {
this.queryParams.equipmentTypeCode = null;
this.getList();
console.log("111111", this.queryParams.equipmentTypeCode);
this.showFlag = false;
},
},

@ -6,7 +6,7 @@
:modal="false"
width="1100px"
center
:before-close="cancel"
:before-close = "cancel"
>
<el-form
:model="queryParams"
@ -247,6 +247,8 @@ export default {
},
/** 查询备品备件台账管理列表 */
getList() {
this.sparePartsLedgerList = null;
this.total = 0;
this.loading = true;
listSparePartsLedger(this.queryParams).then((response) => {
this.sparePartsLedgerList = response.rows;

@ -306,15 +306,15 @@
<el-form-item label="备品备件名称" prop="spareName">
<el-input
v-model="form.spareName"
placeholder="请选择备品备件名称"
style="width: 280px"
disabled
/>
</el-form-item>
<el-form-item label="规格型号" prop="spareModel">
<el-input
v-model="form.spareModel"
placeholder="请选择规格型号"
style="width: 280px"
disabled
/>
</el-form-item>
<el-form-item label="库存总数量" prop="amount">
@ -334,6 +334,12 @@
disabled
/>
</el-form-item>
<el-form-item label="关联单号" prop="workCode">
<el-input
v-model="form.workCode"
style="width: 280px"
/>
</el-form-item>
<el-form-item label="数量" prop="spareQuantity">
<el-input
v-model="form.spareQuantity"
@ -486,9 +492,6 @@ export default {
spareName: [
{ required: true, message: "备品备件名称不能为空", trigger: "blur" },
],
spareModel: [
{ required: true, message: "规格型号不能为空", trigger: "blur" },
],
spareQuantity: [
{ required: true, message: "数量不能为空", trigger: "blur" },
],
@ -517,6 +520,7 @@ export default {
this.form.amount = obj[0].amount;
this.form.storageAmount = obj[0].storageAmount;
this.form.availableQuantity = obj[0].amount - obj[0].storageAmount;
this.form.spareQuantity = obj[0].spareQuantity;
},
//
handleSelectEquipment() {

@ -84,18 +84,6 @@
v-if="columns[1].visible"
:show-overflow-tooltip="true"
/>
<el-table-column
label="部门编码"
align="center"
prop="postCode"
v-if="columns[2].visible"
></el-table-column>
<el-table-column
label="部门名称"
align="center"
prop="postName"
v-if="columns[3].visible"
></el-table-column>
</el-table>
<pagination
@ -149,8 +137,6 @@ export default {
columns: [
{ key: 0, label: `人员编码`, visible: true },
{ key: 1, label: `人员名称`, visible: true },
{ key: 2, label: `部门编码`, visible: true },
{ key: 3, label: `部门名称`, visible: true },
],
};
},

@ -55,13 +55,6 @@
>
</el-form-item>
<el-row :gutter="10" class="mb8">
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="sparePartsLedgerList"
@ -136,7 +129,7 @@
</div>
</el-dialog>
</template>
<script>
import {
listSparePartsLedger,
@ -252,6 +245,8 @@ export default {
},
/** 查询备品备件台账管理列表 */
getList() {
this.sparePartsLedgerList = null;
this.total = 0;
this.loading = true;
listSparePartsLedger(this.queryParams).then((response) => {
this.sparePartsLedgerList = response.rows;
@ -340,22 +335,12 @@ export default {
message: "请勿选择多种备件!",
type: "warning",
});
// const number =
// this.$refs.multipleTable.selection.amount -
// this.$refs.multipleTable.selection.storageAmount;
// console.log("number", number);
// if (this.$refs.multipleTable.selection.spareQuantity > number) {
// this.$message({
// message: "",
// type: "warning",
// });
// }
} else {
this.$emit("onSelected", this.$refs.multipleTable.selection);
this.showFlag = false;
this.getList();
}
},
},
};
</script>

@ -476,7 +476,6 @@
:data="form.equipmentItem"
stripe
style="width: 100%">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="equipmentCode"
label="设备编码"
@ -567,11 +566,21 @@
border
title="选择设备"
:visible.sync="selectEqu"
width="50%"
width="1100px"
append-to-body
>
<el-form :model="equipmentQuery" ref="queryBPForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="组线" prop="groupLine">
<el-select v-model="equipmentQuery.groupLine" placeholder="请选择组线">
<el-option
v-for="group in groupLineList"
:key="group.equipmentCode"
:label="group.equipmentName"
:value="group.equipmentCode"
/>
</el-select>
</el-form-item>
<el-form-item label="设备编码">
<el-input
v-model="equipmentQuery.equipmentCode"
@ -676,7 +685,7 @@ import {
import {
addPlan,
delPlan,
getEquList,
getEquList, getGroupLine,
getPersonList,
getWorkCenter,
initUpdatePlanInfo, listPlan,
@ -688,6 +697,8 @@ export default {
dicts: ['device_loop_type', 'sys_normal_disable','device_yes_no'],
data() {
return {
// 线
groupLineList:[],
//
rules: {},
//
@ -742,6 +753,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
},
@ -948,7 +960,21 @@ export default {
},
//
selectEquBtn() {
this.getEquList();
this.equipmentQuery = {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
};
// 线
getGroupLine().then(response => {
this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList();
})
this.selectEqu = true;
},
//
@ -1077,6 +1103,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:this.groupLineList[0].equipmentCode,
pageNum: 1,
pageSize: 10,
};

@ -76,7 +76,7 @@
<el-table-column prop="standardName" label="标准名称" width="500">
</el-table-column>
<el-table-column prop="itemLoop" label="次" width="55"> </el-table-column>
<el-table-column prop="itemLoopType" label="周期" width="55">
<el-table-column prop="itemLoopType" label="周期" width="60">
</el-table-column>
<el-table-column prop="head" label="责任人" width="70"> </el-table-column>
<el-table-column prop="one" label="1" width="40">

@ -368,6 +368,8 @@
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
@ -395,8 +397,6 @@
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="80" label="保养类型" align="center" prop="upkeep" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_upkeep_type" :value="scope.row.upkeep"/>
@ -617,11 +617,21 @@
<el-dialog
title="选择设备"
:visible.sync="selectEqu"
width="800px"
width="1100px"
append-to-body
>
<el-form :model="equipmentQuery" ref="queryBPForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="组线" prop="groupLine">
<el-select v-model="equipmentQuery.groupLine" placeholder="请选择组线">
<el-option
v-for="group in groupLineList"
:key="group.equipmentCode"
:label="group.equipmentName"
:value="group.equipmentCode"
/>
</el-select>
</el-form-item>
<el-form-item label="设备编码">
<el-input
v-model="equipmentQuery.equipmentCode"
@ -1170,7 +1180,7 @@ import {
updateUpkeepOrder, subInspect
} from "@/api/device/upkeepOrder";
import {formatEquItem, formatEquItemNoCondition, querySpareList} from "@/api/device/upkeepPlan";
import {getEquList, getPersonList, getWorkCenter} from "@/api/device/plan";
import {getEquList, getGroupLine, getPersonList, getWorkCenter} from "@/api/device/plan";
import {delDeviceOrder, getDeviceOrder, listDeviceOrder, updateDeviceOrder} from "@/api/device/deviceOrder";
import {getInspectionWork, updateInspectionWork} from "@/api/device/inspectionWork";
@ -1179,6 +1189,8 @@ export default {
dicts: ['device_order_status', 'device_loop_type','device_reach_standard','device_upkeep_type','device_inspect_status'],
data() {
return {
// 线
groupLineList:[],
// list
spareOnList:[],
//
@ -1291,6 +1303,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
},
@ -1414,6 +1427,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:this.groupLineList[0].equipmentCode,
pageNum: 1,
pageSize: 10,
};
@ -1663,7 +1677,21 @@ export default {
},
//
selectEquBtn() {
this.getEquList();
this.equipmentQuery = {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
};
// 线
getGroupLine().then(response => {
this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList();
})
this.selectEqu = true;
},
//

@ -507,7 +507,6 @@
:data="form.equipmentItem"
stripe
style="width: 100%">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="equipmentCode"
label="设备编码"
@ -597,11 +596,21 @@
<el-dialog
title="选择设备"
:visible.sync="selectEqu"
width="50%"
width="1100px"
append-to-body
>
<el-form :model="equipmentQuery" ref="queryBPForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="组线" prop="groupLine">
<el-select v-model="equipmentQuery.groupLine" placeholder="请选择组线">
<el-option
v-for="group in groupLineList"
:key="group.equipmentCode"
:label="group.equipmentName"
:value="group.equipmentCode"
/>
</el-select>
</el-form-item>
<el-form-item label="设备编码">
<el-input
v-model="equipmentQuery.equipmentCode"
@ -878,7 +887,7 @@ import {
import {
addPlan,
delPlan,
getEquList,
getEquList, getGroupLine,
getPersonList,
getWorkCenter,
initUpdatePlanInfo,
@ -890,6 +899,8 @@ export default {
dicts: ['device_loop_type', 'sys_normal_disable','device_upkeep_type'],
data() {
return {
// 线
groupLineList:[],
// list
spareOnList:[],
//
@ -969,6 +980,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
},
@ -1438,7 +1450,21 @@ export default {
},
//
selectEquBtn() {
this.getEquList();
this.equipmentQuery = {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:null,
pageNum: 1,
pageSize: 10,
};
// 线
getGroupLine().then(response => {
this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList();
})
this.selectEqu = true;
},
//
@ -1561,6 +1587,7 @@ export default {
equipmentCode: null,
equipmentName: null,
workshopCode: null,
groupLine:this.groupLineList[0].equipmentCode,
pageNum: 1,
pageSize: 10,
};

@ -12,6 +12,7 @@
</div>
</el-col>
</el-row>
<!--
<el-row :gutter="20">
<el-col :span="12">
<pie-chart ref="pieChart"/>
@ -19,9 +20,22 @@
<el-col :span="12">
<pie-chart ref="pieChart2"/>
</el-col>
</el-row>-->
<el-row :gutter="20">
<el-col :span="12">
<span style="font-size: 18px;padding: 1% 39%;color: cadetblue;">各线体设备月故障数</span>
</el-col>
<el-col :span="12">
<span style="font-size: 18px;padding: 1% 39%;color: cadetblue;">各车间生产不良率</span>
</el-col>
</el-row>
<el-divider />
<el-row :gutter="20">
<el-col :span="12">
<DeviceChartLine :chart-data="deviceChartLineData" ref="DeviceChartLine"/>
</el-col>
<el-col :span="12">
<QcChartLine :chart-data="qcChartLineData" ref="QcChartLine"/>
</el-col>
</el-row>
</div>
</template>
@ -30,10 +44,14 @@
import LineChart from './dashboard/LineChart';
import PieChart from './dashboard/PieChart';
import PieChart2 from './dashboard/PieChart2';
import {getLineChartData} from '@/api/mes/reportWork'
import {getGroupLineEquInfo, getLineChartData,getLineQcData} from '@/api/mes/reportWork'
import DeviceChartLine from "./dashboard/DeviceChartLine";
import QcChartLine from "./dashboard/QcChartLine";
export default {
name: "Index",
components: {
DeviceChartLine,
QcChartLine,
LineChart//,PieChart,PieChart2
},
data() {
@ -41,11 +59,14 @@ export default {
//
version: "1.0.0",
lineChartData: null,
deviceChartLineData:null,
qcChartLineData:null,
title:"本月工厂产量"
};
},
created() {
this.getLineChartData();
},
methods: {
goTarget(href) {
@ -55,7 +76,14 @@ export default {
getLineChartData().then(data => {
this.lineChartData = data;
});
}
},
/**
getGroupLineEquInfo(){
getGroupLineEquInfo().then(response => {
this.deviceChartLineData = response.data;
});
},
**/
},
};
</script>

@ -184,6 +184,9 @@ import {
getMesBoardEquProductionToday,
getBoardShifts,
} from "@/api/kanban/dailyoutput";
import {
getDeviceRefreshTime,
} from "@/api/kanban/equipment";
import * as echarts from "echarts";
import moment from "moment";
import Echarts3D from "./echarts3d.vue";
@ -223,6 +226,7 @@ export default {
colorlist: ["#005aff", "#f8b551"],
datetime: null,
time1: null,
RefreshTime:null,
};
},
created() {},
@ -262,14 +266,24 @@ export default {
_this.classesList = response.data;
_this.selectxtclasses = _this.classesList[0].shiftId;
_this.initChart1();
_this.time1 = setInterval(() => {
_this.initChart1();
}, 1000 * 60 * 1);
_this.getDeviceRefreshTime()
}
});
}
});
},
getDeviceRefreshTime() {
const _this = this;
getDeviceRefreshTime().then((response) => {
if (response.data) {
console.log(response.data)
this.RefreshTime = response.data
this.time1 = setInterval(() => {
_this.initChart1();
}, 1000*60*this.RefreshTime);
}
});
},
initChart1() {
const _this = this;
var myChart1 = echarts.init(document.querySelector("#echart1"));

@ -58,12 +58,12 @@
<tbody>
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px" :key="index"
v-for="(n, index) in equipmentlist">
<td style="width: 8%;">{{index+1}}</td>
<td style="width: 18%;">{{n.equipmentName}}</td>
<td style="width: 20%;">{{n.department}}</td>
<td style="width: 10%;">{{n.equipmentStatus}}</td>
<td style="width: 12%;">{{n.failureRate !=null ?n.failureRate.toFix(2)+'%':'--'}}</td>
<td style="width: 12%;">{{n.utilizationRatio !=null?n.utilizationRatio.toFix(2)+'%':'--'}}</td>
<td style="width: 8%;">{{ index + 1 }}</td>
<td style="width: 18%;">{{ n.equipmentName }}</td>
<td style="width: 20%;">{{ n.department }}</td>
<td style="width: 10%;">{{ n.equipmentStatus }}</td>
<td style="width: 12%;">{{ n.failureRate != null ? n.failureRate + '%' : '--' }}</td>
<td style="width: 12%;">{{ n.utilizationRatio != null ? n.utilizationRatio + '%' : '--' }}</td>
</tr>
</tbody>
</table>
@ -95,14 +95,14 @@
<tbody>
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px" :key="index"
v-for="(n, index) in repairlist">
<td style="width: 8%;">{{index+1}}</td>
<td style="width: 12%;">{{n.equipmentName}}</td>
<td style="width: 12%;">{{n.equipmentCode}}</td>
<td style="width: 12%;">{{n.equipmentLocation}}</td>
<td style="width: 12%;">{{n.workFaultDesc}}</td>
<td style="width: 12%;">{{n.teamName}}</td>
<td style="width: 10%;">{{n.workHandle}}</td>
<td style="width: 18%;">{{n.workPlanTime}}</td>
<td style="width: 8%;">{{ index + 1 }}</td>
<td style="width: 12%;">{{ n.equipmentName }}</td>
<td style="width: 12%;">{{ n.equipmentCode }}</td>
<td style="width: 12%;">{{ n.equipmentLocation }}</td>
<td style="width: 12%;">{{ n.workFaultDesc }}</td>
<td style="width: 12%;">{{ n.teamName }}</td>
<td style="width: 10%;">{{ n.workHandle }}</td>
<td style="width: 18%;">{{ n.workPlanTime }}</td>
</tr>
</tbody>
</table>
@ -121,7 +121,7 @@
<div class="box">
<div class="number">
<span class="number1">
{{equipmentinfo.totalEquipment}}
{{ equipmentinfo.totalEquipment }}
</span>
<span class="name1">
@ -134,7 +134,7 @@
<div class="box">
<div class="number">
<span class="number1" style="color: #FF4D4F;">
{{equipmentinfo.faultEquipment}}
{{ equipmentinfo.faultEquipment }}
</span>
<span class="name1">
@ -195,9 +195,9 @@
<tbody>
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px" :key="index"
v-for="(n, index) in equipmentstabilizelist">
<td style="width: 8%;">{{index+1}}</td>
<td style="width: 12%;">{{n.equipmentCode}}</td>
<td style="width: 12%;">{{n.mtbf !=null ?n.mtbf+'%':'--'}}</td>
<td style="width: 8%;">{{ index + 1 }}</td>
<td style="width: 12%;">{{ n.equipmentCode }}</td>
<td style="width: 12%;">{{ n.mtbf != null ? n.mtbf + 'h' : '--' }}</td>
</tr>
</tbody>
</table>
@ -224,9 +224,9 @@
<tbody>
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px" :key="index"
v-for="(n, index) in equipmentrepairlist">
<td style="width: 8%;">{{index+1}}</td>
<td style="width: 12%;">{{n.equipmentName}}</td>
<td style="width: 12%;">{{n.rapairQuantity !=null ?n.rapairQuantity+'%':'--'}}</td>
<td style="width: 8%;">{{ index + 1 }}</td>
<td style="width: 12%;">{{ n.equipmentName }}</td>
<td style="width: 12%;">{{ n.rapairQuantity != null ? n.rapairQuantity + '%' : '--' }}</td>
</tr>
</tbody>
</table>
@ -251,6 +251,7 @@ import {
getRepairQuantity,
equipmentIntactRate,
equipmentStability,
getDeviceRefreshTime,
} from "@/api/kanban/equipment";
import * as echarts from "echarts";
import moment from "moment";
@ -311,189 +312,11 @@ export default {
equipmentrepairlist: [],
equipmentstabilizelist: [],
equipmentinfo: [],
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "999",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1000",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1001",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1010",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "(OEM)",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1011",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1020",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "西",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1030",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1040",
// "children": []
// },
// {
// "createBy": null,
// "createTime": null,
// "updateBy": null,
// "updateTime": null,
// "remark": null,
// "poolName": null,
// "deptId": null,
// "parentId": null,
// "ancestors": null,
// "deptName": "(OEM)",
// "orderNum": null,
// "leader": null,
// "phone": null,
// "email": null,
// "status": null,
// "delFlag": null,
// "parentName": "1041",
// "children": []
// },
RefreshTime:null,
};
},
created() { },
created() {
},
destroyed() {
clearInterval(this.time1);
this.time1 = null;
@ -501,7 +324,7 @@ export default {
mounted() {
// this.datetime = moment().subtract(2, "day").format("yyyy-MM-DD");
//console.log('zhuanhuahou',this.dateRangeone)
// this.getdatalist(this.selectxt)
this.selectFactorylist();
this.gettime();
},
@ -520,10 +343,24 @@ export default {
getBoardFactory({
factory: null,
}).then((response) => {
if (response.data) {
if (response) {
_this.getLineList = response.data;
_this.selectxt = _this.getLineList[0].parentName;
_this.getdatalist(_this.selectxt)
_this.getDeviceRefreshTime()
}
});
},
getDeviceRefreshTime() {
const _this = this;
getDeviceRefreshTime().then((response) => {
if (response.data) {
console.log(response.data)
this.RefreshTime = response.data
this.RefreshTime = 1
this.time1 = setInterval(() => {
_this.getdatalist(_this.selectxt)
}, 1000*60*this.RefreshTime);
}
});
},
@ -533,7 +370,7 @@ export default {
getRepairWorkOrder({
poolName: poolName,
}).then((response) => {
if(response.data){
if (response.data) {
response.data.forEach((item) => {
item.workPlanTime = moment(item.workPlanTime).format('YYYY-MM-DD HH:mm:ss')
});
@ -543,21 +380,29 @@ export default {
getEquipmentInfo({
poolName: poolName,
}).then((response) => {
if(response.data){
if (response.data) {
_this.equipmentlist = response.data
_this.equipmentlist.forEach((item) => {
if (item.failureRate) {
item.failureRate = item.failureRate.toFix(2)
}
if (item.utilizationRatio) {
item.utilizationRatio = item.utilizationRatio.toFix(2)
}
});
}
});
getRepairQuantity({
poolName: poolName,
}).then((response) => {
if(response.data){
if (response.data) {
_this.equipmentrepairlist = response.data
}
});
});
equipmentIntactRate({
poolName: poolName,
}).then((response) => {
if(response.data){
if (response.data) {
_this.equipmentinfo = response.data
_this.initChart1()
}
@ -565,7 +410,7 @@ export default {
equipmentStability({
poolName: poolName,
}).then((response) => {
if(response.data){
if (response.data) {
_this.equipmentstabilizelist = response.data
}
});
@ -574,10 +419,12 @@ export default {
const _this = this
let intactRate = 0
let numberAngle = 180
if(_this.equipmentinfo.intactRate){
console.log(_this.equipmentinfo.intactRate)
if (_this.equipmentinfo.intactRate) {
intactRate = _this.equipmentinfo.intactRate
numberAngle = parseInt(_this.equipmentinfo.intactRate)*1.8 - 180
numberAngle = parseInt(180 -_this.equipmentinfo.intactRate * 1.8)
}
console.log(numberAngle)
var myChart1 = echarts.init(document.querySelector("#echart1"));
var option1 = {
//
@ -1375,4 +1222,5 @@ export default {
border-radius: 8px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: #0091ff;
}</style>
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,653 @@
<template>
<v-scale-screen width="1920" height="1080" :fullScreen="false">
<div class="app-container home" style="">
<div class="head">
<div class="head-content">
<div class="title">榄菊质量管理平台</div>
</div>
<div class="head-logo">
<img src="../../../assets/images/logo.png" alt="" />
</div>
<div class="back">
<el-button @click="back()" type="primary" icon="el-icon-s-home"></el-button>
</div>
</div>
<div class="content-top">
<div class="factoryCode">
<div class="selectborder">
<select v-model="selectxt" class="select1" @change="selectline(selectxt)">
<option :key="index" :value="x.parentName" v-for="(x, index) in getLineList">
{{ x.deptName }}
</option>
<!-- <option :key="index" :value="x.seriesName" v-for="(x, index) in ceshib">{{ x.seriesName }}</option> -->
</select>
</div>
</div>
<div class="timebox">
<div class="time">
{{ gettimedata }}
</div>
</div>
</div>
<div class="content">
<div class="itembottom">
<div class="item-table item-table1">
<div class="titlebox2" style="margin-bottom: 14px;">
<div class="titlename">检验及时性详情</div>
</div>
<table class="table-thead" border="0" cellpadding="0" cellspacing="0">
<thead>
<tr style="height: 44px;">
<td style="width: 8%;">序号</td>
<td style="width: 8%;">检验编号</td>
<td style="width: 8%;">检验阶段</td>
<td style="width: 8%;">检验时间</td>
<td style="width: 8%;">物料来源</td>
<td style="width: 8%;">物料名称</td>
<td style="width: 8%;">检验人</td>
<td style="width: 8%;">检验状态</td>
</tr>
</thead>
</table>
<div class="table-tbody">
<!-- <vue-seamless-scroll :data="Inspectiondetails" :class-option="classOption" class="wrapscroll"> -->
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px" :key="index"
v-for="(n, index) in Inspectiondetails">
<td style="width: 8%;">{{ index + 1 }}</td>
<td style="width: 8%;">{{ n.checkNo }}</td>
<td style="width: 8%;">{{ n.checkName }}</td>
<td style="width: 8%;">{{ n.incomeTime }}</td>
<td style="width: 8%;">{{ n.supplierName }}</td>
<td style="width: 8%;">{{ n.materialName }}</td>
<td style="width: 8%;">{{ n.checkManName }}</td>
<td style="width: 8%;" :class="[n.checkStatus == 1 ? 'color1' : 'color2']">{{
n.checkStatus }}</td>
</tr>
</tbody>
</table>
<!-- </vue-seamless-scroll> -->
</div>
</div>
<div class="item-table item-table1">
<div class="titlebox2" style="margin-bottom: 14px;">
<div class="titlename">检验实时详情</div>
</div>
<table class="table-thead" border="0" cellpadding="0" cellspacing="0">
<thead>
<tr style="height: 44px;">
<td style="width: 8%;">序号</td>
<td style="width: 8%;">检验编号</td>
<td style="width: 8%;">检验阶段</td>
<td style="width: 8%;">检验时间</td>
<td style="width: 8%;">物料来源</td>
<td style="width: 8%;">物料名称</td>
<td style="width: 8%;">检验人</td>
<td style="width: 8%;">检验状态</td>
</tr>
</thead>
</table>
<div class="table-tbody">
<!-- <vue-seamless-scroll :data="Inspectiondetails" :class-option="classOption" class="wrapscroll"> -->
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr :class="[index % 2 == 1 ? 'active1' : 'active2']" style="height:48px" :key="index"
v-for="(n, index) in Inspectiondetails1">
<td style="width: 8%;">{{ index + 1 }}</td>
<td style="width: 8%;">{{ n.checkNo }}</td>
<td style="width: 8%;">{{ n.checkName }}</td>
<td style="width: 8%;">{{ n.incomeTime }}</td>
<td style="width: 8%;">{{ n.supplierName }}</td>
<td style="width: 8%;">{{ n.materialName }}</td>
<td style="width: 8%;">{{ n.checkManName }}</td>
<td style="width: 8%;" :class="[n.checkStatus == 1 ? 'color1' : 'color2']">{{
n.checkStatus }}</td>
</tr>
</tbody>
</table>
<!-- </vue-seamless-scroll> -->
</div>
</div>
</div>
</div>
<!-- <div class="item"></div> -->
<!-- <div class="item"></div> -->
</div>
</v-scale-screen>
</template>
<script>
import {
getBoardFactory,
getSupplierTaskList,
getDictData,
} from "@/api/kanban/quality";;
import {
getDeviceRefreshTime,
} from "@/api/kanban/equipment";
import * as echarts from "echarts";
import moment from "moment";
// import Echarts3D from "./echarts3d.vue";
// import Echarts3D2 from "./echarts3d2.vue";
export default {
name: "Index",
components: {
},
data() {
return {
gettimedata: "",
selectxt: null,
selectxtclasses: null,
getLineList: [],
classesList: [],
number1: 0,
number2: 0,
number3: 0,
number4: 0,
nameList: [
"成型机一",
"成型机二",
"成型机三",
"成型机四",
"成型机五",
"成型机六",
"成型机五",
"成型机六",
],
valueList: [1639, 1422, 1306, 1131, 1040, 732, 1040, 732],
optionDatalist1: [],
optionDatalist2: [],
optionDatalist3: [],
optionDatalist4: [],
colorlist: ["#005aff", "#f8b551"],
datetime: null,
time1: null,
repairlist: [],
Inspectiondetails: [],
Inspectiondetails1: [],
equipmentrepairlist: [],
equipmentstabilizelist: [],
equipmentinfo: [],
RefreshTime: null,
dictDatatype: [],
};
},
created() { },
destroyed() {
clearInterval(this.time1);
this.time1 = null;
},
mounted() {
// this.datetime = moment().subtract(2, "day").format("yyyy-MM-DD");
//console.log('zhuanhuahou',this.dateRangeone)
// this.getdatalist(this.selectxt)
this.selectfactoryCodelist();
this.gettime();
},
methods: {
back() {
this.$router.push({ path: "/index" });
},
gettime() {
this.gettimedata = moment().format("YYYY-MM-DD HH:mm:ss ");
setInterval(() => {
this.gettimedata = moment().format("YYYY-MM-DD HH:mm:ss ");
}, 1000);
},
selectfactoryCodelist() {
const _this = this;
getBoardFactory({
factory: null,
}).then((response) => {
if (response.data) {
_this.getLineList = response.data;
_this.selectxt = _this.getLineList[0].parentName;
_this.getDictData()
}
});
},
getDictData() {
const _this = this;
getDictData(
{
dictType: 'static_dims',
}
).then((response) => {
if (response) {
console.log(response)
this.dictDatatype = response
_this.selectxtclasses = _this.dictDatatype[0].ymdType;
_this.getSupplierTaskList(_this.selectxt)
_this.getDeviceRefreshTime()
}
});
},
getDeviceRefreshTime() {
const _this = this;
getDeviceRefreshTime().then((response) => {
if (response.data) {
console.log(response.data)
this.RefreshTime = response.data
this.time1 = setInterval(() => {
_this.getSupplierTaskList(_this.selectxt)
}, 1000 * 60 * this.RefreshTime);
}
});
},
getSupplierTaskList() {
const _this = this;
this.Inspectiondetails = []
getSupplierTaskList({
ymdType: moment().format(_this.selectxtclasses),
typeCode: 'material',
factoryCode: 'ds_' + _this.selectxt,
}).then((response) => {
if (response) {
this.Inspectiondetails = response
this.Inspectiondetails.forEach((item) => {
item.incomeTime = moment(item.incomeTime).format('YYYY-MM-DD HH:mm:ss')
});
}
});
getSupplierTaskList({
ymdType: moment().format(_this.selectxtclasses),
typeCode: 'produce',
factoryCode: 'ds_' + _this.selectxt,
}).then((response) => {
if (response) {
this.Inspectiondetails1 = response
}
});
},
initChart1() { },
selectline() {
const _this = this;
this.optionDatalist1 = [];
this.optionDatalist2 = [];
this.optionDatalist3 = [];
this.optionDatalist4 = [];
_this.getSupplierTaskList(_this.selectxt)
},
selectline2() {
const _this = this;
this.optionDatalist1 = [];
this.optionDatalist2 = [];
this.optionDatalist3 = [];
this.optionDatalist4 = [];
_this.getSupplierTaskList(_this.selectxt)
},
//
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px 24px;
}
.home {
width: 100%;
height: 100vh;
background: url("../../../assets/images/bg-body.png") no-repeat;
background-size: 100% 100%;
background-color: #050711;
.head {
width: 100%;
height: 74px;
position: relative;
.head-content {
height: 74px;
background-image: url("../../../assets/images/bg-head.png");
background-repeat: no-repeat;
background-size: 100% 100%;
text-align: center;
.title {
font-size: 42px;
font-weight: 400;
color: #ffffff;
}
}
.head-logo {
position: absolute;
left: 0px;
top: 1px;
img {
height: 38px;
// width: ;
}
}
.back {
position: absolute;
right: 0px;
top: 5px;
}
}
.content-top {
display: flex;
justify-content: space-between;
position: relative;
.factoryCode {
width: 540px;
height: 60px;
background: url("../../../assets/images/bg- border1.png") no-repeat;
background-size: 100% 100%;
text-align: center;
position: absolute;
top: -17px;
left: 0px;
}
.timebox {
width: 480px;
height: 60px;
background: url("../../../assets/images/bg-border2.png") no-repeat;
background-size: 100% 100%;
text-align: center;
position: absolute;
top: -17px;
right: 0px;
.time {
font-size: 30px;
font-weight: 400;
color: #ffffff;
line-height: 71px;
}
}
}
.content {
margin-top: 63px;
.itembottom {
margin-top: 19px;
.item-table {
width: 1877px;
height: 50%;
background: url('../../../assets/images/equipment/bg-border1.png') no-repeat;
background-size: 100% 100%;
padding: 27px 21px 30px 25px;
box-sizing: border-box;
box-sizing: border-box;
.table-thead {
width: 100%;
height: 44px;
margin: auto;
background: #0A1A33;
td {
font-size: 19px;
font-family: NotoSansHans-Medium, NotoSansHans;
font-weight: 500;
color: #159AFF;
text-align: center;
white-space: nowrap;
}
}
.table-tbody {
height: 192px;
// width: 1775px;
margin: auto;
overflow-y: scroll;
table {
width: 100%;
tbody {
width: 100%;
td {
font-size: 19px;
font-family: NotoSansHans-Medium, NotoSansHans;
font-weight: 500;
color: #FFFFFF;
text-align: center;
border-bottom: 1px dashed #6C8097
}
}
}
}
}
.item-table1:first-child {
margin-right: 10px;
}
.item-table1 {
flex: 1;
margin-top: 20px;
padding-top: 19px;
// .table-thead {
// width: 565.01px;
// }
.table-tbody {
height: 300px;
}
}
}
}
}
.titlebox {
width: 431px;
height: 38px;
background: url("../../../assets/images/bg-title.png") no-repeat;
background-size: 100% 100%;
// text-align: center;
font-size: 20px;
font-weight: bold;
color: #ffffff;
line-height: 38px;
letter-spacing: 2px;
text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
padding-left: 60px;
// .titlename{
// position: relative;
// left: 24px;
// }
}
.titlebox2 {
margin: auto;
width: 542px;
height: 41px;
background: url("../../../assets/images/quality/bg-border2title.png") no-repeat;
background-size: 100% 100%;
text-align: center;
font-size: 20px;
font-weight: bold;
color: #ffffff;
line-height: 41px;
letter-spacing: 2px;
text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
// .titlename{
// position: relative;
// left: 24px;
// }
}
.factoryCode {
display: flex;
// justify-content: space-around;
}
.selectborder {
background-color: transparent;
border-radius: 4px;
// border: 2px solid #27408c;
position: relative;
display: flex;
align-items: center;
justify-content: space-around;
width: 350px;
margin-left: 50px;
}
.selectborder1 {
background-color: transparent;
border-radius: 4px;
// border: 2px solid #27408c;
position: relative;
display: flex;
align-items: center;
justify-content: space-around;
width: 88px;
margin-left: 25px;
}
.selectborder select {
/*清除select的边框样式*/
border: none;
/*清除select聚焦时候的边框颜色*/
outline: none;
background-color: transparent;
/*将select的宽高等于div的宽高*/
width: 100%;
height: 50px;
/*隐藏select的下拉图标*/
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-size: 25px;
font-weight: 400;
color: #ffffff;
line-height: 42px;
}
.selectborder option {
/*清除select的边框样式*/
border: none;
/*清除select聚焦时候的边框颜色*/
outline: none;
background-color: transparent;
/*将select的宽高等于div的宽高*/
width: 100%;
height: 50px;
/*隐藏select的下拉图标*/
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding-left: 20px;
font-size: 25px;
font-weight: 500;
color: #3fa2ff;
border-radius: 0%;
}
.selectborder1 option {
/*清除select的边框样式*/
border: none;
/*清除select聚焦时候的边框颜色*/
outline: none;
background-color: transparent;
/*将select的宽高等于div的宽高*/
width: 200px;
height: 50px;
/*隐藏select的下拉图标*/
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding-left: 20px;
font-size: 25px;
font-weight: 500;
color: #3fa2ff;
border-radius: 0%;
}
.selectborder:after {
content: "";
width: 24px;
height: 24px;
background: url(../../../assets/images/xiala.png) no-repeat center;
/*通过定位将图标放在合适的位置*/
position: absolute;
right: 0px;
top: 25%;
/*给自定义的图标实现点击下来功能*/
pointer-events: none;
}
.selectborder1:after {
content: "";
width: 24px;
height: 24px;
background: url(../../../assets/images/xiala.png) no-repeat center;
/*通过定位将图标放在合适的位置*/
position: absolute;
right: 0px;
top: 25%;
/*给自定义的图标实现点击下来功能*/
pointer-events: none;
}
::v-deep .el-button--primary {
color: #ffffff;
background-color: #325e82;
border-color: #0a0f19;
}
.active1 {
background: url('../../../assets/images/quality/bgtable.png');
}
.active2 {}
::-webkit-scrollbar {
width: 3px;
height: 0px;
background-color: #0c0642;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 8px;
background-color: #07356a;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
border-radius: 8px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: #0091ff;
// opacity: 0.1;
}
.progress {
width: 100px;
background-color: rgba(15, 182, 217, 0.3);
border-radius: 10px;
.bar {
background: linear-gradient(90deg, rgba(15, 182, 217, 1), rgba(1, 255, 255, 1));
border-radius: 10px;
}
}
.color1 {
color: #F1D34C;
}
.color2 {
clear: #FF4D4F;
}
.color3 {
color: #66FFFF;
}
</style>

@ -3,7 +3,7 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item size="small" label="工单日期: ">
<el-date-picker
v-model="queryParams.productDate"
v-model="queryParams.productDateStr"
value-format="yyyy-MM-dd"
type="date"
placeholder="工单日期"

@ -9,9 +9,9 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单编码" prop="orderCode">
<el-form-item label="订单编码" prop="workorderCodeSap">
<el-input
v-model="queryParams.orderCode"
v-model="queryParams.workorderCodeSap"
placeholder="请输入订单编码"
clearable
@keyup.enter.native="handleQuery"
@ -51,17 +51,18 @@
>
</el-date-picker>
</el-form-item>
<!--
<el-form-item label="单据状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="请选择单据状态"
@change="$forceUpdate()"
clearable
style="width:205px"
@keyup.enter.native="handleQuery">
<el-option v-for="item in options" :key="item.status" :label="item.label" :value="item.status"></el-option>
</el-select>
</el-form-item>
<el-select
v-model="queryParams.status"
placeholder="请选择单据状态"
@change="$forceUpdate()"
clearable
style="width:205px"
@keyup.enter.native="handleQuery">
<el-option v-for="item in options" :key="item.status" :label="item.label" :value="item.status"></el-option>
</el-select>
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" >搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -128,41 +129,24 @@
<el-table v-loading="loading" :data="prepareList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column type="index" align="center" :index="indexMethod" label="序号" fixed/>
<el-table-column label="工单编码" align="center" prop="workorderCode" width="220" fixed/>
<!-- <el-table-column label="父工单" align="center" prop="parentOrder" /> -->
<el-table-column label="订单编码" align="center" prop="orderCode" width="220"/>
<el-table-column type="index" align="center" :index="indexMethod" label="序号" fixed/>
<el-table-column label="工单编码" align="center" prop="workorderCode" width="200" fixed/>
<el-table-column label="订单编码" align="center" prop="workorderCodeSap" width="200" fixed/>
<el-table-column label="产品编号" align="center" prop="productCode" width="180"/>
<!-- <el-table-column label="产品类型" align="center" prop="prodType" /> -->
<el-table-column label="产品名称" align="center" prop="productName" width="180"/>
<!-- <el-table-column label="规格型号" align="center" prop="productSpc" /> -->
<el-table-column label="产品名称" align="center" prop="productName" width="180" :show-overflow-tooltip="true"/>
<el-table-column label="工单生产日期" align="center" prop="productDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.productDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="班次" align="center" prop="shiftId" /> -->
<!--
<el-table-column label="单据状态" align="center" prop="status">
<template slot-scope="scope">
{{ scope.row.status == "L0" ? "待确认" : "已确认" }}
</template>
</el-table-column>
<el-table-column label="物料编号" align="center" prop="materialCode" width="180"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="250"/>
<el-table-column label="物料规格型号" align="center" prop="materialSpc" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="生产数量" align="center" prop="quantity" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="handlePrepareDetail(scope.row)"
v-hasPermi="['mes:prepareDetail:list']"
>查看备料单</el-button>
<Detail ref="detail"> </Detail>
{{ scope.row.status == "L0" ? "待确认" : "已确认" }}
</template>
</el-table-column> -->
</el-table-column>-->
<el-table-column label="生产数量" align="center" prop="quantity" />
<el-table-column label="单位" align="center" prop="unit" />
</el-table>
<pagination
@ -263,19 +247,21 @@
<el-table-column
prop="materialCode"
label="料号"
width="180">
width="170">
</el-table-column>
<el-table-column
prop="materailName"
prop="materialName"
label="物料描述"
width="300">
width="240">
</el-table-column>
<el-table-column
prop="unit"
width="50"
label="单位">
</el-table-column>
<el-table-column
prop="orderCode"
prop="workorderCode"
width="120"
label="生产订单">
</el-table-column>
<el-table-column
@ -288,7 +274,12 @@
</el-table-column>
<el-table-column
prop="routeCode"
width="80"
label="实发数量">
</el-table-column>
<el-table-column
prop="recoil"
label="反冲物料">
</el-table-column>
</el-table>
@ -454,7 +445,7 @@ export default {
printPrepareByCode(this.selectPrepare[0].workorderCode).then(response => {
console.log(response.data)
this.printData.factory = response.data.mesPrepareDetailList[0].factoryCode
this.printData.productDate = response.data.mesPrepare.productDate
this.printData.productDate = response.data.mesPrepareDetailList[0].productDate
this.printData.printDate = moment(new Date()).format('YYYY-MM-DD')
this.printData.workTable = response.data.mesPrepareDetailList
this.refreshNewWorkerTable = true // refreshProTabletrue

@ -87,9 +87,9 @@
<el-table-column label="车间名称" align="center" prop="carName" />
<el-table-column label="机台编码" align="center" prop="machineCode" />
<el-table-column label="机台名称" align="center" prop="machineName" />
<el-table-column label="产品编码" align="center" prop="productCode" width="120"/>
<el-table-column label="产品名称" align="center" prop="productName" width="150"/>
<el-table-column label="规格型号" align="center" prop="productSpc" />
<el-table-column label="产品编码" align="center" prop="productCode" width="180" :show-overflow-tooltip="true"/>
<el-table-column label="产品名称" align="center" prop="productName" width="200" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="productSpc" v-if="false"/>
<el-table-column label="派工数量" align="center" prop="quantity" />
<el-table-column label="报工数量" align="center" prop="quantityFeedback" />
<el-table-column label="单位" align="center" prop="unit" />

@ -92,7 +92,7 @@
@click="handleDelete"
v-hasPermi="['mes:reportWork:remove']"
>删除</el-button>
</el-col>-->
</el-col>
<el-col :span="1.5">
<el-button
type="success"
@ -103,7 +103,7 @@
@click="handleReportHz"
v-hasPermi="['mes:reportWork:report']"
>报工详情</el-button>
</el-col>
</el-col>-->
<el-col :span="1.5">
<el-button
type="danger"
@ -643,7 +643,8 @@ export default {
attr3: null,
attr4: null,
workorderCode: null,
parentOrder:null
parentOrder:null,
uploadStatus:"0"
},
//
form: {
@ -935,20 +936,21 @@ export default {
return reportSap(code);
}).then(() => {
this.getList();
this.$modal.msgSuccess("报工成功");
//this.$modal.msgSuccess("");
}).catch(() => {});
},
/** 报工详情按钮操作 */
handleReportHz(row) {
this.reset();
let sr = this.selectRow[0];
let sr = row;
if(sr.uploadStatus =='sap报工成功'){
this.optType = 'view'
}else{
this.optType = ''
}
this.queryParams.workorderCode = sr.workorderCode;
//
this.queryParams.parentOrder = '0';
@ -964,7 +966,7 @@ export default {
this.sOrderTableList = response;
this.openReport = true;
this.titleReport = "工单报工详情";
this.queryParams.workorderCode = '';
});
},
handleEdit(index, row) {
@ -993,7 +995,7 @@ export default {
/** 报工损耗按钮操作 */
handleConsumeHz(row) {
this.reset();
let sr = this.selectRow[0];
let sr = row;
if(sr.uploadStatus =='sap报工成功'){
this.optType = 'view'
@ -1016,6 +1018,8 @@ export default {
this.sConsumeTableList = response;
this.openConsume = true;
this.titleConsume = "工单报工物料损耗详情";
this.queryParams.workorderCode = '';
});
},
//

@ -130,7 +130,7 @@
>
<el-table-column width="150" label="订单号" align="center" prop="orderCode"/>
<el-table-column width="180" label="物料号" align="center" prop="prodCode"
<el-table-column width="130" label="物料号" align="center" prop="prodCode"
:formatter="productCodeFormate"
/>
<el-table-column width="200" label="物料名称" align="center" prop="prodDesc"/>
@ -863,6 +863,7 @@ export default {
//
getProRoutes(row.prodCode).then(response => {
this.routes = response.data
this.splitForm.routeCode = response.data[0]
})
var ymd = moment(this.splitForm.productDate).format('YYYY-MM-DD')

@ -121,8 +121,8 @@
>
<el-table-column width="100" label="计划工厂编码" prop="factoryCode"/>
<el-table-column width="" label="订单类型" align="center" prop="orderType" v-if="false"/>
<el-table-column width="200" label="订单号" align="center" prop="orderCode"/>
<el-table-column width="180" label="物料号" align="center" prop="prodCode"/>
<el-table-column width="130" label="订单号" align="center" prop="orderCode"/>
<el-table-column width="130" label="物料号" align="center" prop="prodCode"/>
<el-table-column width="200" label="物料名称" align="center" prop="prodDesc"/>
<el-table-column width="90" label="订单数量" align="center" prop="quantity"/>
<el-table-column width="90" label="已拆分数量" align="center" prop="quantitySplit"/>

@ -32,10 +32,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-form-item label="产品编码" prop="productCode">
<el-input
v-model="queryParams.productName"
placeholder="请输入产品名称"
v-model="queryParams.productCode"
placeholder="请输入子单产品编码"
clearable
@keyup.enter.native="handleQuery"
/>
@ -181,14 +181,18 @@
</el-table-column>
<el-table-column label="工单ID" align="center" prop="workorderId" v-if="false"/>
<el-table-column width="150" label="子工单编号" align="center" prop="workorderCode"/>
<el-table-column width="130" label="母订单新编码" align="center" prop="pworkorderCodeSap"/>
<el-table-column width="130" label="母产品编码" align="center" prop="pproductCode" :formatter="productCodeFormate"/>
<el-table-column width="300" label="母产品名称" align="center" prop="pproductName" :show-overflow-tooltip="true"/>
<el-table-column width="130" label="子工单编号" align="center" prop="workorderCode"/>
<el-table-column label="订单id" align="center" prop="orderId" v-if="false"/>
<el-table-column width="150" label="子订单编码" align="center" prop="orderCode"/>
<el-table-column width="130" label="子订单旧编码" align="center" prop="orderCode"/>
<el-table-column width="130" label="子订单新编码" align="center" prop="workorderCodeSap"/>
<el-table-column label="产品ID" align="center" prop="productId" v-if="false"/>
<el-table-column width="180" label="产品编码" align="center" prop="productCode"
<el-table-column width="130" label="子产品编码" align="center" prop="productCode"
:formatter="productCodeFormate"
/>
<el-table-column width="300" label="产品名称" align="center" prop="productName"/>
<el-table-column width="300" label="产品名称" align="center" prop="productName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="productSpc" v-if="false"/>
<el-table-column width="50" label="单位" align="center" prop="unit"/>
<!--
@ -223,7 +227,7 @@
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" prop="remark" />-->
<el-table-column label="产品类型" align="center" prop="prodType">
<el-table-column label="产品类型" align="center" prop="prodType" v-if="false">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.prodType"/>
</template>
@ -267,8 +271,13 @@
</el-table-column>
<el-table-column
prop="workorderCode"
label="工单号"
width="180">
label="生产工单"
width="150">
</el-table-column>
<el-table-column
prop="workorderCodeSap"
width="150"
label="生产订单">
</el-table-column>
<el-table-column
prop="productName"
@ -279,10 +288,6 @@
prop="unit"
label="单位">
</el-table-column>
<el-table-column
prop="orderCode"
label="生产订单">
</el-table-column>
<el-table-column
prop="quantityProduced"
label="已生产数量">

File diff suppressed because it is too large Load Diff

@ -0,0 +1,939 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="工厂编码" prop="factoryCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.factoryCode"-->
<!-- placeholder="请输入工厂编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="仓库编码" prop="whCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.whCode"-->
<!-- placeholder="请输入仓库编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="库区编码" prop="waCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.waCode"-->
<!-- placeholder="请输入库区编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="库位编码" prop="wlCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.wlCode"-->
<!-- placeholder="请输入库位编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="入库单号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入入库单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="DN单号" prop="dnNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.dnNo"-->
<!-- placeholder="请输入DN单号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="采购订单号" prop="poNo">
<el-input
v-model="queryParams.poNo"
placeholder="请输入采购订单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="采购订单行号" prop="poLine">-->
<!-- <el-input-->
<!-- v-model="queryParams.poLine"-->
<!-- placeholder="请输入采购订单行号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="物料号" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入物料号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="物料描述" prop="materialDesc">-->
<!-- <el-input-->
<!-- v-model="queryParams.materialDesc"-->
<!-- placeholder="请输入物料描述"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="单位" prop="unit">-->
<!-- <el-input-->
<!-- v-model="queryParams.unit"-->
<!-- placeholder="请输入单位"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="采购组" prop="buyerGroup">-->
<!-- <el-input-->
<!-- v-model="queryParams.buyerGroup"-->
<!-- placeholder="请输入采购组"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="供应商编码" prop="supplyCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.supplyCode"-->
<!-- placeholder="请输入供应商编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="工厂" prop="sapFactoryCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.sapFactoryCode"-->
<!-- placeholder="请输入工厂"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="交货地点" prop="sendSpot">-->
<!-- <el-input-->
<!-- v-model="queryParams.sendSpot"-->
<!-- placeholder="请输入交货地点"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="需求数量" prop="requestAmount">-->
<!-- <el-input-->
<!-- v-model="queryParams.requestAmount"-->
<!-- placeholder="请输入需求数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货数量" prop="receiptAmount">-->
<!-- <el-input-->
<!-- v-model="queryParams.receiptAmount"-->
<!-- placeholder="请输入收货数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备品数量" prop="shelvesAmount">-->
<!-- <el-input-->
<!-- v-model="queryParams.shelvesAmount"-->
<!-- placeholder="请输入备品数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="库存地点" prop="location">-->
<!-- <el-input-->
<!-- v-model="queryParams.location"-->
<!-- placeholder="请输入库存地点"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="需求时间" prop="requestTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.requestTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择需求时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货操作人" prop="receiptOperator">-->
<!-- <el-input-->
<!-- v-model="queryParams.receiptOperator"-->
<!-- placeholder="请输入收货操作人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货时间" prop="receiptTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.receiptTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择收货时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="上架操作人" prop="shelvesOperator">-->
<!-- <el-input-->
<!-- v-model="queryParams.shelvesOperator"-->
<!-- placeholder="请输入上架操作人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退货数量" prop="returnAmount">-->
<!-- <el-input-->
<!-- v-model="queryParams.returnAmount"-->
<!-- placeholder="请输入退货数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退料人" prop="returnName">-->
<!-- <el-input-->
<!-- v-model="queryParams.returnName"-->
<!-- placeholder="请输入退料人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退货过账时间" prop="returnTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.returnTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择退货过账时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="上架时间" prop="shelvesTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.shelvesTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择上架时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退货过账信息" prop="returnMessage">-->
<!-- <el-input-->
<!-- v-model="queryParams.returnMessage"-->
<!-- placeholder="请输入退货过账信息"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货过账时间" prop="accountingTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.accountingTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择收货过账时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货过账信息" prop="accountingMessage">-->
<!-- <el-input-->
<!-- v-model="queryParams.accountingMessage"-->
<!-- placeholder="请输入收货过账信息"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined1">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined1"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined2">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined2"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined3">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined3"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined4">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined4"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined5">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined5"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined6">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined6"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined7">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined7"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined8">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined8"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用9" prop="userDefined9">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined9"-->
<!-- placeholder="请输入备用9"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用10" prop="userDefined10">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined10"-->
<!-- placeholder="请输入备用10"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建时间" prop="gmtCreate">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.gmtCreate"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择创建时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最后更新人" prop="lastModifiedBy">-->
<!-- <el-input-->
<!-- v-model="queryParams.lastModifiedBy"-->
<!-- placeholder="请输入最后更新人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最后更新时间" prop="gmtModified">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.gmtModified"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择最后更新时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="有效标记" prop="activeFlag">-->
<!-- <el-input-->
<!-- v-model="queryParams.activeFlag"-->
<!-- placeholder="请输入有效标记"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['quality:bPproduct:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['quality:bPproduct:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['quality:bPproduct:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['quality:bPproduct:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="bPproductList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="唯一序列号" align="center" prop="rawOrderInId" />-->
<el-table-column label="工厂编码" align="center" prop="factoryCode" />
<el-table-column label="仓库编码" align="center" prop="whCode" />
<el-table-column label="库区编码" align="center" prop="waCode" />
<el-table-column label="库位编码" align="center" prop="wlCode" />
<el-table-column label="入库单类型" align="center" prop="orderInType" />
<el-table-column label="入库单号" align="center" prop="orderNo" />
<!-- <el-table-column label="DN单号" align="center" prop="dnNo" />-->
<!-- <el-table-column label="采购订单号" align="center" prop="poNo" />-->
<!-- <el-table-column label="采购订单行号" align="center" prop="poLine" />-->
<!-- <el-table-column label="采购订单类型" align="center" prop="poType" />-->
<el-table-column label="物料号" align="center" prop="materialCode" />
<el-table-column label="物料描述" align="center" prop="materialDesc" />
<el-table-column label="单位" align="center" prop="unit" />
<!-- <el-table-column label="采购组" align="center" prop="buyerGroup" />-->
<el-table-column label="供应商编码" align="center" prop="supplyCode" />
<el-table-column label="工厂" align="center" prop="sapFactoryCode" />
<el-table-column label="交货地点" align="center" prop="sendSpot" />
<el-table-column label="需求数量" align="center" prop="requestAmount" />
<el-table-column label="收货数量" align="center" prop="receiptAmount" />
<el-table-column label="备品数量" align="center" prop="shelvesAmount" />
<!-- <el-table-column label="库存地点" align="center" prop="location" />-->
<el-table-column label="需求时间" align="center" prop="requestTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.requestTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="质检状态默认0待检,1合格2不合格3免检," align="center" prop="qualityStatus" />-->
<!-- <el-table-column label="0创建1拒收2收货完成3上架完成4入库完成" align="center" prop="orderStatus" />-->
<!-- <el-table-column label="收货操作人" align="center" prop="receiptOperator" />-->
<!-- <el-table-column label="收货时间" align="center" prop="receiptTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.receiptTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="上架操作人" align="center" prop="shelvesOperator" />-->
<!-- <el-table-column label="退货数量" align="center" prop="returnAmount" />-->
<!-- <el-table-column label="退料人" align="center" prop="returnName" />-->
<!-- <el-table-column label="退货过账时间" align="center" prop="returnTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.returnTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label=":-->
<!--0未退货-->
<!--1用户拒绝-->
<!--2退货完成-->
<!--3SAP正在处理-->
<!--4SAP拒绝" align="center" prop="returnStatus" />-->
<!-- <el-table-column label="上架时间" align="center" prop="shelvesTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.shelvesTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="退货过账信息" align="center" prop="returnMessage" />-->
<!-- <el-table-column label=":-->
<!--0未收货-->
<!--1用户拒绝-->
<!--2收货完成-->
<!--3SAP正在处理-->
<!--4SAP拒绝" align="center" prop="accountingStatus" />-->
<!-- <el-table-column label="收货过账时间" align="center" prop="accountingTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.accountingTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="收货过账信息" align="center" prop="accountingMessage" />-->
<el-table-column label="批次号" align="center" prop="userDefined1" />
<!-- <el-table-column label="备用" align="center" prop="userDefined2" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined3" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined4" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined5" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined6" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined7" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined8" />-->
<!-- <el-table-column label="备用9" align="center" prop="userDefined9" />-->
<!-- <el-table-column label="备用10" align="center" prop="userDefined10" />-->
<!-- <el-table-column label="创建时间" align="center" prop="gmtCreate" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.gmtCreate, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="最后更新人" align="center" prop="lastModifiedBy" />-->
<!-- <el-table-column label="最后更新时间" align="center" prop="gmtModified" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.gmtModified, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="有效标记" align="center" prop="activeFlag" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['quality:bPproduct:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['quality:bPproduct:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改白坯手动入库单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="工厂编码" prop="factoryCode">-->
<!-- <el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="仓库编码" prop="whCode">-->
<!-- <el-input v-model="form.whCode" placeholder="请输入仓库编码" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="库区编码" prop="waCode">-->
<!-- <el-input v-model="form.waCode" placeholder="请输入库区编码" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="库位编码" prop="wlCode">-->
<!-- <el-input v-model="form.wlCode" placeholder="请输入库位编码" />-->
<!-- </el-form-item>-->
<el-form-item label="入库单号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入入库单号" />
</el-form-item>
<!-- <el-form-item label="DN单号" prop="dnNo">-->
<!-- <el-input v-model="form.dnNo" placeholder="请输入DN单号" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="采购订单号" prop="poNo">-->
<!-- <el-input v-model="form.poNo" placeholder="请输入采购订单号" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="采购订单行号" prop="poLine">-->
<!-- <el-input v-model="form.poLine" placeholder="请输入采购订单行号" />-->
<!-- </el-form-item>-->
<el-form-item label="物料号" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请输入物料号" />
</el-form-item>
<el-form-item label="物料描述" prop="materialDesc">
<el-input v-model="form.materialDesc" placeholder="请输入物料描述" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
<!-- <el-form-item label="采购组" prop="buyerGroup">-->
<!-- <el-input v-model="form.buyerGroup" placeholder="请输入采购组" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="供应商编码" prop="supplyCode">-->
<!-- <el-input v-model="form.supplyCode" placeholder="请输入供应商编码" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="工厂" prop="sapFactoryCode">-->
<!-- <el-input v-model="form.sapFactoryCode" placeholder="请输入工厂" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="交货地点" prop="sendSpot">-->
<!-- <el-input v-model="form.sendSpot" placeholder="请输入交货地点" />-->
<!-- </el-form-item>-->
<el-form-item label="需求数量" prop="requestAmount">
<el-input v-model="form.requestAmount" placeholder="请输入需求数量" />
</el-form-item>
<el-form-item label="收货数量" prop="receiptAmount">
<el-input v-model="form.receiptAmount" placeholder="请输入收货数量" />
</el-form-item>
<el-form-item label="备品数量" prop="shelvesAmount">
<el-input v-model="form.shelvesAmount" placeholder="请输入备品数量" />
</el-form-item>
<!-- <el-form-item label="库存地点" prop="location">-->
<!-- <el-input v-model="form.location" placeholder="请输入库存地点" />-->
<!-- </el-form-item>-->
<el-form-item label="需求时间" prop="requestTime">
<el-date-picker clearable
v-model="form.requestTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择需求时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="收货操作人" prop="receiptOperator">-->
<!-- <el-input v-model="form.receiptOperator" placeholder="请输入收货操作人" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货时间" prop="receiptTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.receiptTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择收货时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="上架操作人" prop="shelvesOperator">-->
<!-- <el-input v-model="form.shelvesOperator" placeholder="请输入上架操作人" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退货数量" prop="returnAmount">-->
<!-- <el-input v-model="form.returnAmount" placeholder="请输入退货数量" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退料人" prop="returnName">-->
<!-- <el-input v-model="form.returnName" placeholder="请输入退料人" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退货过账时间" prop="returnTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.returnTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择退货过账时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="上架时间" prop="shelvesTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.shelvesTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择上架时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="退货过账信息" prop="returnMessage">-->
<!-- <el-input v-model="form.returnMessage" placeholder="请输入退货过账信息" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货过账时间" prop="accountingTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.accountingTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择收货过账时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收货过账信息" prop="accountingMessage">-->
<!-- <el-input v-model="form.accountingMessage" placeholder="请输入收货过账信息" />-->
<!-- </el-form-item>-->
<el-form-item label="批次号" prop="userDefined1">
<el-input v-model="form.userDefined1" placeholder="请输入批次号" />
</el-form-item>
<!-- <el-form-item label="备用" prop="userDefined2">-->
<!-- <el-input v-model="form.userDefined2" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined3">-->
<!-- <el-input v-model="form.userDefined3" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined4">-->
<!-- <el-input v-model="form.userDefined4" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined5">-->
<!-- <el-input v-model="form.userDefined5" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined6">-->
<!-- <el-input v-model="form.userDefined6" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined7">-->
<!-- <el-input v-model="form.userDefined7" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined8">-->
<!-- <el-input v-model="form.userDefined8" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用9" prop="userDefined9">-->
<!-- <el-input v-model="form.userDefined9" placeholder="请输入备用9" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用10" prop="userDefined10">-->
<!-- <el-input v-model="form.userDefined10" placeholder="请输入备用10" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建时间" prop="gmtCreate">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.gmtCreate"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择创建时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最后更新人" prop="lastModifiedBy">-->
<!-- <el-input v-model="form.lastModifiedBy" placeholder="请输入最后更新人" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最后更新时间" prop="gmtModified">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.gmtModified"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择最后更新时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="有效标记" prop="activeFlag">-->
<!-- <el-input v-model="form.activeFlag" placeholder="请输入有效标记" />-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBPproduct, getBPproduct, delBPproduct, addBPproduct, updateBPproduct } from "@/api/quality/bPproduct";
export default {
name: "BPproduct",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
bPproductList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
factoryCode: null,
whCode: null,
waCode: null,
wlCode: null,
orderInType: null,
orderNo: null,
dnNo: null,
poNo: null,
poLine: null,
poType: null,
materialCode: null,
materialDesc: null,
unit: null,
buyerGroup: null,
supplyCode: null,
sapFactoryCode: null,
sendSpot: null,
requestAmount: null,
receiptAmount: null,
shelvesAmount: null,
location: null,
requestTime: null,
qualityStatus: null,
orderStatus: null,
receiptOperator: null,
receiptTime: null,
shelvesOperator: null,
returnAmount: null,
returnName: null,
returnTime: null,
returnStatus: null,
shelvesTime: null,
returnMessage: null,
accountingStatus: null,
accountingTime: null,
accountingMessage: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
gmtCreate: null,
lastModifiedBy: null,
gmtModified: null,
activeFlag: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询白坯手动入库单列表 */
getList() {
this.loading = true;
listBPproduct(this.queryParams).then(response => {
this.bPproductList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
rawOrderInId: null,
factoryCode: null,
whCode: null,
waCode: null,
wlCode: null,
orderInType: null,
orderNo: null,
dnNo: null,
poNo: null,
poLine: null,
poType: null,
materialCode: null,
materialDesc: null,
unit: null,
buyerGroup: null,
supplyCode: null,
sapFactoryCode: null,
sendSpot: null,
requestAmount: null,
receiptAmount: null,
shelvesAmount: null,
location: null,
requestTime: null,
qualityStatus: null,
orderStatus: null,
receiptOperator: null,
receiptTime: null,
shelvesOperator: null,
returnAmount: null,
returnName: null,
returnTime: null,
returnStatus: null,
shelvesTime: null,
returnMessage: null,
accountingStatus: null,
accountingTime: null,
accountingMessage: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
createBy: null,
gmtCreate: null,
lastModifiedBy: null,
gmtModified: null,
activeFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.rawOrderInId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加白坯手动入库单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const rawOrderInId = row.rawOrderInId || this.ids
getBPproduct(rawOrderInId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改白坯手动入库单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.rawOrderInId != null) {
updateBPproduct(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBPproduct(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const rawOrderInIds = row.rawOrderInId || this.ids;
this.$modal.confirm('是否确认删除白坯手动入库单编号为"' + rawOrderInIds + '"的数据项?').then(function() {
return delBPproduct(rawOrderInIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('quality/bPproduct/export', {
...this.queryParams
}, `bPproduct_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -2,7 +2,7 @@
<div class="app-container">
<el-row :gutter="20">
<MaterialGroupAdd ref="MaterialGroupAdd" @onNodeClick="onNodeClick" @child-event="getCheckTypeList"></MaterialGroupAdd>
<el-col :span="20" :xs="24">
<el-col :span="20" :xs="24">
<el-row :gutter="10" class="mb8">
<el-col :span="23" :xs="24">
<el-tabs v-model="editableTabsValue" type="card" @tab-click="handleClick">
@ -105,7 +105,17 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="检验规则名称" align="center" prop="ruleName" :show-overflow-tooltip="true" width="250"/>
<el-table-column
label="序号"
type="index"
width="50"
align="center">
<template scope="scope">
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="检验规则编码" align="center" prop="projectNo" />
<el-table-column label="检验规则名称" align="left" prop="ruleName" :show-overflow-tooltip="true" width="250"/>
<el-table-column label="标准值" align="left" prop="standardValue" :show-overflow-tooltip="true" width="250"/>
<el-table-column label="上差值" align="left" prop="upperDiff" />
<el-table-column label="下差值" align="left" prop="downDiff" />
@ -125,7 +135,7 @@
@change="handleStatusChange(scope.row)"
></el-switch>
</template>
</el-table-column>
</el-table-column>
<el-table-column
label="操作"
align="center"
@ -331,7 +341,7 @@ export default {
});
},
/**初始化表格信息 */
//
cancel() {
this.open = false;
@ -367,6 +377,9 @@ export default {
},
/**物料树点击 */
onNodeClick(obj) {
console.log("数据在这里")
console.log(obj)
console.log(12312312312321)
if(obj.level == 1) {
this.queryParams.groupId = obj.id;
this.groupId = obj.id;
@ -421,8 +434,8 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
if(this.groupId==null||this.materialCode){
if(this.groupId==null&&this.materialCode==null){
this.$modal.msgError("请点击左侧节点");
return
};
@ -459,7 +472,7 @@ export default {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
}
}
});
@ -512,7 +525,7 @@ export default {
}
});
}
this.editableTabsValue = activeName;
this.editableTabs = tabs.filter(tab => tab.name !== targetName);
}
@ -541,14 +554,14 @@ export default {
onSelectProjects(objs) {
let _this = this;
objs.forEach(function(item,index,arr){
item.projectId = item.id;
item.projectId = item.id;
item.projectNo = item.orderNum;
item.unit = item.unitCode;
item.standardValue = item.checkStandard;
item.typeId = _this.queryParams.typeId;
item.groupId = _this.groupId;
item.materialCode = _this.materialCode;
});
submitProjects(objs).then(response => {
this.$modal.msgSuccess("提交成功");

@ -18,6 +18,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检测方案名称">
<el-select v-model="queryParams.projectType" filterable placeholder="请选择检测方案">
<el-option
v-for="item in projectTypeOptions"
:key="item.projectTypeCode"
:label="item.projectTypeName"
:value="item.projectTypeCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -76,7 +88,7 @@
</template>
<script>
import { getProjectInfoList } from "@/api/quality/checkTypeProject";
import { getProjectInfoList,getProjectOptions } from "@/api/quality/checkTypeProject";
export default {
name: "itemSelectUser",
dicts: ["qc_rule_prop"],
@ -107,25 +119,32 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
groupId:null,
materialCode:null,
typeCode:null
}
groupId:null,
materialCode:null,
typeCode:null
},
projectTypeOptions:[]
};
},
created() {
//this.getList();
this.getProjectList();
},
methods: {
//
getProjectList() {
getProjectOptions(this.queryParams).then(response => {
this.projectTypeOptions = response;
});
},
init(groupId,materialCode,typeId){
this.queryParams.groupId = groupId;
this.queryParams.materialCode = materialCode;
this.queryParams.typeCode = typeId;
this.queryParams.groupId = groupId;
this.queryParams.materialCode = materialCode;
this.queryParams.typeCode = typeId;
this.getList();
},
this.getList();
},
/** 查询表格列表*/
getList() {
this.loading = true;

@ -83,7 +83,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="150"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
@ -119,7 +119,7 @@
@pagination="getList"
/>
<!-- 添加或修改来料检验对话框 -->
<!-- 打印来料检验对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-row>
<el-col :span="20">
@ -143,18 +143,18 @@
</el-col>
<el-col :span="8">
<el-form-item label="来料类别" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入检验任务编号" disabled/>
<el-input v-model="form.factoryCode" placeholder="请输入来料类别" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="来料批号" prop="incomeBatchNo">
<el-form-item label="生产批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入来料批号" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物料编码" prop="materialCode">
<el-form-item label="物料编码" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请选择物料编码" disabled />
</el-form-item>
</el-col>
@ -171,14 +171,14 @@
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="供应商名称" prop="supplierName">
<el-form-item label="供应单位" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择供应商名称" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="料数量" prop="quality">
<el-form-item label="料数量" prop="quality">
<el-input type="number" v-model="form.quality" placeholder="请输入物料数量" disabled/>
</el-form-item>
</el-col>
@ -201,6 +201,25 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽检数量" prop="sampleQuality">
<el-input v-model="form.sampleQuality" placeholder="请选择抽样数量" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告编号" prop="checkNo">
<el-input v-model="form.checkNo" placeholder="请选择报告编号" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报检日期" prop="createTime">
<el-input v-model="form.createTime" placeholder="请输入报检日期" disabled>
{{ parseTime(form.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="检验日期" prop="checkTime">
@ -209,11 +228,11 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="检验编号" prop="checkNo">
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="8">
<el-form-item label="产品提报人" prop="checkManName">
<el-input v-model="form.checkManName" placeholder="请输入OEM产品提报人" disabled/>
@ -225,14 +244,15 @@
<!-- 检验项目明细 -->
<el-table v-loading="loading" :data="checkProjectList" >
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="检验规则编号" align="center" type="index" width="100"/>
<el-table-column label="检验规则名称" align="center" prop="ruleName" />
<el-table-column label="标准" align="center" prop="checkStandard" />
<el-table-column label="号" align="center" type="index" width="100"/>
<el-table-column label="检验项目" align="center" prop="ruleName" />
<el-table-column label="标准要求" align="center" prop="checkStandard" width="200"/>
<el-table-column label="上差值" align="center" prop="upperDiff" />
<el-table-column label="下差值" align="center" prop="downDiff" />
<el-table-column label="抽检数量" align="center" prop="sampleNum" />
<el-table-column label="单位" align="center" prop="unitCode" />
<el-table-column label="检验值" align="center" prop="actualValue" />
<el-table-column label="结果" align="center" prop="status" >
<el-table-column label="实测结果" align="center" prop="actualValue" width="200"/>
<el-table-column label="判定" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.check_result" :value="scope.row.status"/>
</template>

@ -40,7 +40,7 @@
<!-- 列表数据 -->
<el-table v-loading="loading" :data="materialList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="员工编号" align="center" prop="userId" />
<el-table-column label="员工编号" align="center" prop="userCode" />
<el-table-column label="姓名" align="center" prop="userName" />
<el-table-column label="联系方式" align="center" prop="phonenumber" />
<el-table-column label="邮箱" align="center" prop="email" />
@ -84,7 +84,12 @@
</el-form>
<el-tabs type="border-card" v-if="form.userCodes != null">
<el-tab-pane label="关联物料">
<UserBind v-if="form.userCodes != null" :optType="optType" :userCodes="form.userCodes"></UserBind>
<UserBind v-if="form.userCodes != null"
:optType="optType"
:userCodes="form.userCodes"
:userNames="form.userNames"
>
</UserBind>
</el-tab-pane>
</el-tabs>
<div slot="footer" class="dialog-footer">
@ -129,6 +134,7 @@ export default {
userCode: null,
userName: null,
userCodes: null,
userNames: null,
materialCode: null,
materialName: null,
materialNames: null,
@ -174,6 +180,7 @@ export default {
userCode: null,
userName: null,
userCodes: null,
userNames: null,
materialCode: null,
materialName: null,
materialNames: null,
@ -215,8 +222,10 @@ export default {
/** 绑定按钮操作 */
handleUpdate(row) {
this.reset();
const userCodes = row.userCode || this.ids
const userCodes = row.userCode || this.ids;
const userNames = row.userName;
this.form.userCodes = userCodes;
this.form.userNames = userNames;
this.open = true;
this.title = "修改人员物料绑定";
this.optType = "edit";

@ -136,7 +136,8 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
userCodes: this.userCodes,
userCode: this.userCodes,
userName: this.userNames,
itemId: null,
itemCode: null,
materialName: null,
@ -164,7 +165,8 @@ export default {
leftLength: null,
leftQueryParams: {
materialName: null,
userCodes: this.userCodes,
userCode: this.userCodes,
userName: this.userNames,
pageNum: 1,
pageSize: 20,
},
@ -177,14 +179,16 @@ export default {
RNextPage: null,
rightQueryParams: {
materialName: null,
userCodes: this.userCodes,
userCode: this.userCodes,
userName: this.userNames,
pageNum: 1,
pageSize: 20,
},
};
},
props: {
userCodes: undefined,
userCodes: undefined,
userNames: undefined,
optType: undefined,
},
created() {
@ -269,7 +273,8 @@ export default {
reset() {
this.form = {
recordId: null,
userCodes: this. userCodes,
userCode: this.userCodes,
userName: this.userNames,
itemId: null,
itemCode: null,
materialName: null,
@ -288,7 +293,7 @@ export default {
/** 提交按钮 */
handleChange(value, direction, movedKeys) {
if (this.queryParams. userCodes != null) {
if (this.queryParams.userCode != null) {
this.queryParams.selectedValues = value;
addProduct(this.queryParams).then((response) => {
this.$modal.msgSuccess("关联成功");

@ -83,7 +83,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="150"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />

@ -83,7 +83,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="150"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
@ -119,7 +119,7 @@
@pagination="getList"
/>
<!-- 添加或修改来料检验对话框 -->
<!-- 打印成品检验对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-row>
<el-col :span="20">
@ -147,19 +147,19 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="来料批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入来料批号" disabled/>
<el-form-item label="生产批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入生产批号" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物料编码" prop="materialCode">
<el-form-item label="产品编码" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请选择物料编码" disabled />
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="物料名称" prop="materialName">
<el-form-item label="产品名称" prop="materialName">
<el-input v-model="form.materialName" placeholder="请选择物料名称" disabled />
</el-form-item>
</el-col>
@ -178,7 +178,7 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物料数量" prop="quality">
<el-form-item label="生产数量" prop="quality">
<el-input type="number" v-model="form.quality" placeholder="请输入物料数量" disabled/>
</el-form-item>
</el-col>
@ -203,10 +203,13 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="检验日期" prop="checkTime">
<el-input v-model="form.checkTime" placeholder="请输入检验日期" disabled>
{{ parseTime(form.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-input>
<el-form-item label="抽样地点" prop="checkLoc">
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验依据" prop="checkNo">
<el-input v-model="form.checkManName" placeholder="请输入检验依据" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
@ -214,6 +217,22 @@
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="报检日期" prop="createTime">
<el-input v-model="form.checkTime" placeholder="请输入报检日期" disabled>
{{ parseTime(form.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验日期" prop="checkTime">
<el-input v-model="form.checkTime" placeholder="请输入检验日期" disabled>
{{ parseTime(form.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品提报人" prop="checkManName">
<el-input v-model="form.checkManName" placeholder="请输入OEM产品提报人" disabled/>
@ -225,14 +244,15 @@
<!-- 检验项目明细 -->
<el-table v-loading="loading" :data="checkProjectList" >
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="检验规则编号" align="center" type="index" width="100"/>
<el-table-column label="检验规则名称" align="center" prop="ruleName" />
<el-table-column label="标准" align="center" prop="checkStandard" />
<el-table-column label="号" align="center" type="index" width="100"/>
<el-table-column label="检验项目" align="center" prop="ruleName" />
<el-table-column label="标准要求" align="center" prop="checkStandard" width="200"/>
<el-table-column label="上差值" align="center" prop="upperDiff" />
<el-table-column label="下差值" align="center" prop="downDiff" />
<el-table-column label="抽检数量" align="center" prop="sampleNum" />
<el-table-column label="单位" align="center" prop="unitCode" />
<el-table-column label="检验值" align="center" prop="actualValue" />
<el-table-column label="结果" align="center" prop="status" >
<el-table-column label="实测结果" align="center" prop="actualValue" width="200"/>
<el-table-column label="判定" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.check_result" :value="scope.row.status"/>
</template>

@ -38,6 +38,19 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检验方案" prop="projectType">
<el-select
v-model="queryParams.projectType"
placeholder="请选择检验方案"
clearable >
<el-option
v-for="item in ProjectTypeList"
:key="item.projectTypeCode"
:label="item.projectTypeName"
:value="item.projectTypeCode"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -87,6 +100,15 @@
v-hasPermi="['quality:project:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-document-copy"
size="mini"
@click="handleProjectType"
>检验方案</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -141,6 +163,20 @@
<!-- 添加或修改检验项目维护对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px" >
<el-row>
<el-col>
<el-form-item label="检验方案" prop="projectType">
<el-select v-model="form.projectType" placeholder="请选择检验方案" style="width:100%">
<el-option
v-for="item in ProjectTypeList"
:key="item.projectTypeCode"
:label="item.projectTypeName"
:value="item.projectTypeCode"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="检验规则名称" prop="ruleName">
@ -227,14 +263,19 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!--检验方案维护弹窗-->
<ItemProjectType ref="itemProjectType" @get-projectType-list = "getProjectTypeList"></ItemProjectType>
</div>
</template>
<script>
import { listProject, getProject, delProject, addProject, updateProject } from "@/api/quality/project";
import ItemProjectType from "./projectType.vue";
import { listQcProjectType} from "@/api/quality/qcProjectType.js"
export default {
name: "Project",
components: {ItemProjectType},
dicts: ["qc_rule_prop","unit"],
data() {
return {
@ -256,6 +297,8 @@ export default {
title: "",
//
open: false,
//
ProjectTypeList: {},
//
queryParams: {
pageNum: 1,
@ -282,6 +325,7 @@ export default {
},
created() {
this.getList();
this.getProjectTypeList();
},
methods: {
/** 查询检验项目维护列表 */
@ -293,6 +337,11 @@ export default {
this.loading = false;
});
},
getProjectTypeList() {
listQcProjectType().then(response => {
this.ProjectTypeList = response.rows;
});
},
//
cancel() {
this.open = false;
@ -315,7 +364,8 @@ export default {
updateBy: null,
updateTime: null,
factoryCode: null,
delFlag: null
delFlag: null,
projectType: null
};
this.resetForm("form");
},
@ -386,6 +436,9 @@ export default {
this.download('quality/project/export', {
...this.queryParams
}, `project_${new Date().getTime()}.xlsx`)
},
handleProjectType() {
this.$refs.itemProjectType.showFlag = true;
}
}
};

@ -0,0 +1,346 @@
<template>
<el-dialog
title="检验方案维护"
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="1000px"
>
<el-row :gutter="10">
<el-col :span="24" :xs="24">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="120px"
align="left"
>
<el-form-item label="检验方案编码">
<el-input
v-model="queryParams.projectTypeCode"
placeholder="检验方案编码"
clearable
style="width: 180px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检测项方案名称">
<el-input
v-model="queryParams.projectTypeName"
placeholder="检测项方案名称"
clearable
style="width: 180px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['quality:qcProjectType:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="multiple"
@click="handleUpdate"
v-hasPermi="['quality:qcProjectType:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['quality:qcProjectType:remove']"
>删除</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="itemList"
@selection-change="handleSelectionChange"
ref="myTable"
>
<el-table-column width="50" align="center" type="selection">
</el-table-column>
<!-- 序号 -->
<el-table-column label="序号" align="left" type="index" width="100" />
<el-table-column
label="检测项方案编码"
align="left"
key="projectTypeCode"
prop="projectTypeCode"
:show-overflow-tooltip="true"
/>
<el-table-column
label="检测项方案名称"
align="left"
key="projectTypeName"
prop="projectTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['quality:project:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['quality:project:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<!-- 添加或修改检验方案对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="20">
<el-form-item label="检验方案编码" prop="projectTypeCode" >
<el-input
v-model="form.projectTypeCode"
placeholder="请输入检验方案编码"
:disabled = "editFlag"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="检验方案名称" prop="projectTypeName" >
<el-input
v-model="form.projectTypeName"
placeholder="请输入检验方案名称"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleDone"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
listQcProjectType,
getQcProjectType,
addQcProjectType,
updateQcProjectType,
delQcProjectType,
} from "@/api/quality/qcProjectType.js";
export default {
name: "itemProjectType",
data() {
return {
showFlag: false,
//
selectedRows: {},
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
// BOM
itemList: [],
open: false,
title: "",
editFlag: false,
//
bomCode: undefined,
defaultProps: {
id: "id",
label: "label",
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
projectTypeCode: "",
projectTypeName: "",
},
//
form: {},
//
rules: {
projectTypeCode: [
{ required: true, message: "检验方案编码不能为空", trigger: "blur" }
],
projectTypeName: [
{ required: true, message: "检验方案名称不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询表格列表*/
getList() {
this.loading = true;
listQcProjectType(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
projectTypeCode: null,
projectTypeName: null,
attr1: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
factoryCode: null,
delFlag: null,
};
this.resetForm("form");
this.editFlag = false;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加检验方案维护";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getQcProjectType(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改检验方案维护";
this.editFlag = true;
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateQcProjectType(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addQcProjectType(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除检验方案维护编号为"' + ids + '"的数据项?')
.then(function () {
return delQcProjectType(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
handleDone() {
this.showFlag = false;
this.$emit('get-projectType-list');
}
},
};
</script>

@ -253,17 +253,22 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="收货数量" prop="quality">
<el-input type="number" v-model="form.quality" placeholder="请输入收货数量" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="抽样数量" prop="sampleQuality">
<el-input type="number" v-model="form.sampleQuality" placeholder="请输入抽样数量" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不合格数量" prop="noOkQuality">
<el-input type="number" v-model="form.noOkQuality" placeholder="请输入不合格数量" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="单位" prop="unit" >
<el-select v-model="form.unit" placeholder="请选择单位" style="width: 100%;">
<el-option

@ -27,6 +27,7 @@
<el-table-column width="50" align="center" type="selection"/>
<el-table-column label="id" align="left" prop="recordId" width="100" v-if="false"/>
<el-table-column label="入库单号" align="left" prop="orderNo" width="180"/>
<el-table-column label="质检状态" align="left" prop="qualityStatus" width="100"/>
<el-table-column label="批次号" align="left" prop="incomeBatchNo" width="120"/>
<el-table-column label="产品编码" align="left" prop="materialCode" width="180" />
<el-table-column label="产品名称" align="left" prop="materialName" width="180"/>

@ -126,12 +126,15 @@ export default {
//
handleBomSelectionChange(selection) {
if(selection.length>1){
/* if(selection.length>1){
this.$modal.msgSuccess("只能选一个");
}
} */
this.ids = selection[0].userCode;
this.idsName = selection[0].userName;
/* this.ids = selection[0].userCode;
this.idsName = selection[0].userName; */
this.ids = selection.map(item => item.userCode).join(',');
this.idsName = selection.map(item => item.userName).join(',');
},

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save