Merge remote-tracking branch 'origin/master'

yangwl
Yangwl 1 year ago
commit 9e6998e3ca

@ -43,3 +43,13 @@ export function delProduce(recordId) {
});
}
export function getProduceReportXJ(orderNo) {
const data = {
orderNo
}
return request({
url: '/quality/qcProduceReport/getProduceReportXJ',
method: 'post',
data: data
});
}

@ -42,3 +42,11 @@ export function delQcSampleRule(id) {
method: 'delete'
});
}
// 根据大节点获取检验节点类型
export function getCheckType(typeCode) {
return request({
url: '/quality/qcSampleRule/getCheckType/' + typeCode,
method: 'get',
})
}

@ -41,3 +41,33 @@ export function getXJCheckTableDetail(query) {
params: query
});
}
export function getXJChartData(query) {
return request({
url: '/quality/staticTable/getXJChartData',
method: 'get',
params: query
});
}
export function getQmsRateTable(query) {
return request({
url: '/quality/staticTable/getQmsRateTable',
method: 'get',
params: query
});
}
export function getCheckTypeList(typeCode) {
return request({
url: '/quality/staticTable/getCheckTypeList/' + typeCode,
method: 'get'
});
}
export function getSupplierList(typeCode) {
return request({
url: '/quality/staticTable/getSupplierList/' + typeCode,
method: 'get'
});
}

@ -114,3 +114,21 @@ export function getAuxiliaryEquipmentList(query) {
params: query
});
}
// 查询维修记录
export function getWXRecordsList(query) {
return request({
url: '/wms/equipment/getWXRecordsList',
method: 'get',
params: query
});
}
// 查询保养记录
export function getBYRecordsList(query) {
return request({
url: '/wms/equipment/getBYRecordsList',
method: 'get',
params: query
});
}

@ -25,7 +25,14 @@ export function addPut(data) {
data: data
});
}
//过账
export function SAPPut(data) {
return request({
url: '/wms/put/WmsProductPutByWorkOrderConfirmSAPPosting',
method: 'post',
data: data
});
}
// 修改成品生产入库
export function updatePut(data) {
return request({

@ -44,7 +44,7 @@
/>
</el-form-item>
<el-form-item label="工单状态" prop="orderStatus">
<el-select v-model="queryParams.planStatus" placeholder="请选择工单状态" clearable>
<el-select v-model="queryParams.orderStatus" placeholder="请选择工单状态" clearable>
<el-option
v-for="dict in dict.type.device_order_status"
:key="dict.value"

@ -518,13 +518,21 @@
</el-select>
</el-form-item>
<el-form-item label="故障描述" prop="workFaultDesc">
<el-input
<el-select
v-model="form.workFaultDesc"
placeholder="请输入故障描述"
@change="$forceUpdate()"
clearable
filterable
style="width: 280px"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
/>
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in workFaultDescOption"
:key="item.faultCode"
:label="item.faultSubclass"
:value="item.faultSubclass"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -1061,7 +1069,11 @@
</el-col>
<el-col :span="8">
<el-form-item label="维修用时" prop="workCostTime">
<el-input v-model="form.workCostTime" style="width: 250px" disabled>
<el-input
v-model="form.workCostTime"
style="width: 250px"
disabled
>
</el-input>
</el-form-item>
</el-col>
@ -1092,11 +1104,11 @@
<el-select
v-model="form.workReason"
placeholder="请选择故障原因"
@change="$forceUpdate()"
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
@change="$forceUpdate()"
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in workReasonOption"
@ -1112,11 +1124,11 @@
<el-select
v-model="form.repairMeasures"
placeholder="请选择处理措施"
@change="$forceUpdate()"
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
@change="$forceUpdate()"
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in repairMeasuresOption"
@ -1450,12 +1462,12 @@
<el-form-item label="故障原因" prop="workReason">
<el-select
v-model="form.workReason"
@change="$forceUpdate()"
disabled
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
@change="$forceUpdate()"
disabled
clearable
filterable
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in workReasonOption"
@ -1470,12 +1482,12 @@
<el-form-item label="处理措施" prop="repairMeasures">
<el-select
v-model="form.repairMeasures"
@change="$forceUpdate()"
clearable
filterable
disabled
style="width: 250px"
@keyup.enter.native="handleQuery"
@change="$forceUpdate()"
clearable
filterable
disabled
style="width: 250px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in repairMeasuresOption"
@ -1520,6 +1532,7 @@ import {
} from "@/api/device/repairOrder";
import { listFaultReason } from "@/api/device/faultReason";
import { listFaultMeasures } from "@/api/device/faultMeasures";
import { listFaultDescription } from "@/api/device/faultDescription";
import { getMaintenanceTeamList } from "@/api/device/equTeam";
import ItemSelect from "./selectSingleEquipment.vue";
import ItemSelectPerson from "./selectSinglePerson.vue";
@ -1566,8 +1579,10 @@ export default {
"text-align": "center",
width: "250px",
},
//
workFaultDescOption : [],
//
repairMeasuresOption : [],
repairMeasuresOption: [],
//
workReasonOption: [],
//
@ -1723,13 +1738,14 @@ export default {
this.getEquFaultTypeTree();
this.getWorkReason();
this.getRepairMeasures();
this.getOrderDesc();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
// -
// -
listeningTime() {
if (this.form.workEndTime != null && this.form.workStartTime != null) {
var time1 = moment(this.form.workStartTime);
@ -1739,25 +1755,19 @@ export default {
console.log("打印维修时间", _data);
//
this.form.workCostTime =
_data.years +
"年" +
_data.months +
"月" +
_data.days +
"日" +
_data.hours +
"小时" +
_data.minutes +
"分" +
_data.seconds +
"秒";
(
_data.days * 24 +
_data.hours +
_data.minutes / 60 +
_data.seconds / 3600
).toFixed(1) + "小时";
}
},
// -
// listeningDownTime() {
// if (this.form.actualDownEndTime != null && this.form.actualDownStartTime != null) {
// var time1 = moment(this.form.actualDownStartTime);
// var time2 = moment(this.form.actualDownEndTime);
// -
// listeningTime() {
// if (this.form.workEndTime != null && this.form.workStartTime != null) {
// var time1 = moment(this.form.workStartTime);
// var time2 = moment(this.form.workEndTime);
// let duration = moment.duration(time2.diff(time1));
// let { _data } = duration;
// console.log("", _data);
@ -1786,6 +1796,13 @@ export default {
this.loading = false;
});
},
/** 查询故障描述列表 */
getOrderDesc() {
this.loading = true;
listFaultDescription(this.auxiliaryQueryParams).then((response) => {
this.workFaultDescOption = response.rows;
});
},
/** 查询维修原因列表 */
getWorkReason() {
this.loading = true;
@ -1841,8 +1858,7 @@ export default {
},
// -
cancelQueryWriteForm() {
this.openWrite = false;
this.reset();
this.queryWrite = false;
},
//
reset() {

@ -99,6 +99,18 @@
prop="applyPeople"
width="80"
/>
<el-table-column
label="单价"
align="center"
prop="unitPrice"
width="100"
/>
<el-table-column
label="总价"
align="center"
prop="totalPrice"
width="100"
/>
<el-table-column
label="批准人"
align="center"
@ -326,6 +338,8 @@ export default {
spareApplyList.workCode = this.queryParams.workCode;
spareApplyList.storageId = item.storageId;
spareApplyList.amount = item.amount;
spareApplyList.unitPrice = item.unitPrice;
spareApplyList.totalPrice = (item.spareQuantity)*(item.unitPrice);
spareApplyLists.push(spareApplyList);
});
this.form.spareApplyLists = spareApplyLists;

@ -104,6 +104,7 @@
<span>{{ scope.row.amount - scope.row.storageAmount }}</span>
</template>
</el-table-column>
<el-table-column label="单价" align="center" prop="unitPrice" />
<el-table-column label="领用数量" align="center" prop="spareQuantity">
<template slot-scope="scope">
<el-input

@ -205,6 +205,18 @@
width="150"
/>
<el-table-column label="领用数量" align="center" prop="spareQuantity" />
<el-table-column
label="单价"
align="center"
prop="unitPrice"
width="100"
/>
<el-table-column
label="总价"
align="center"
prop="totalPrice"
width="100"
/>
<!-- <el-table-column label="使用组线" align="center" prop="spareGroupLine" /> -->
<el-table-column
label="领用时间"

@ -44,7 +44,7 @@
/>
</el-form-item>
<el-form-item label="工单状态" prop="orderStatus">
<el-select v-model="queryParams.planStatus" placeholder="请选择工单状态" clearable>
<el-select v-model="queryParams.orderStatus" placeholder="请选择工单状态" clearable>
<el-option
v-for="dict in dict.type.device_order_status"
:key="dict.value"
@ -318,6 +318,8 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column width="150" label="计划名称" align="center" prop="planName" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
@ -359,8 +361,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 label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>

@ -43,8 +43,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单状态" prop="planStatus">
<el-select v-model="queryParams.planStatus" placeholder="请选择工单状态" clearable>
<el-form-item label="工单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择工单状态" clearable>
<el-option
v-for="dict in dict.type.device_order_status"
:key="dict.value"

@ -114,7 +114,7 @@
<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="检验规则编码" width="100" 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" />

@ -68,7 +68,7 @@
<el-table-column label="抽样方案" align="left" prop="samplePlan" width="100"/>
<el-table-column label="合格判定" align="left" prop="judge"/ width="100">
<el-table-column label="缺陷等级" align="left" prop="defectLevel" width="90"/>
<el-table-column label="检验方式" align="left" prop="checkMode" width="90"/>
<el-table-column label="检验方式" align="left" prop="checkMode" width="90" :show-overflow-tooltip="true"/>
<el-table-column label="检验工具" align="left" prop="checkTool" width="90"/>
</el-table>
<pagination

@ -120,7 +120,7 @@
/>
<!-- 打印来料检验对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-row>
<el-col :span="20">
<el-button
@ -134,124 +134,111 @@
</el-row>
<!-- 打印整个printFrom区域 -->
<div id="printFrom">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="8">
<el-form-item label="OEM厂名" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请输入OEM厂名" disabled/>
</el-form-item>
<el-col :span="7">
<img src="@/assets/logo/lanjv.png" class="report-logo"/>
</el-col>
<el-col :span="10" class="center-text">
<h1>中山榄菊日化实业有限公司</h1>
</el-col>
</el-row>
<el-row>
<el-col :offset="8" :span="8" class="center-text">
<h2>白坯检验报告</h2>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="来料类别" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入来料类别" disabled/>
<el-input v-model="form.factoryCode" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入来料批号" disabled/>
<el-input v-model="form.incomeBatchNo" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告编号" prop="checkNo">
<el-input v-model="form.checkNo" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<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-input v-model="form.materialName" placeholder="请选择物料名称" disabled />
<el-input v-model="form.materialName" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="供应商编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入供应商编码" disabled/>
<el-col :span="8">
<el-form-item label="物料编码" prop="materialCode">
<el-input v-model="form.materialCode" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="供应单位" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择供应商名称" disabled/>
<el-input v-model="form.supplierName" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="供应编码" prop="supplierCode">
<el-input v-model="form.supplierCode" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="来料数量" prop="quality">
<el-input type="number" v-model="form.quality" placeholder="请输入物料数量" disabled/>
<el-input type="number" v-model="form.quality" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位" prop="unit" >
<el-input v-model="form.unit" placeholder="请输入单位" disabled/>
<el-input v-model="form.unit" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料来源" prop="checkType" >
<el-input v-model="form.checkType" placeholder="物料来源" disabled/>
<!-- <el-select v-model="form.checkType" placeholder="请选择检验类型" style="width: 100%;">
<el-option
v-for="dict in checkTypes"
:key="dict.id"
:label="dict.checkName"
:value="dict.id"
></el-option>
</el-select> -->
<el-input v-model="form.checkType" disabled/>
</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-input v-model="form.sampleQuality" 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>
<el-input v-model="form.createTime" 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">
<el-input v-model="form.checkTime" placeholder="请输入检验日期" disabled>
<el-input v-model="form.checkTime" 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="checkNo">
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="产品提报人" prop="checkManName">
<el-input v-model="form.checkManName" placeholder="请输入OEM产品提报人" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- 检验项目明细 -->
<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" type="index" width="50"/>
<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="sampleNum" />
<el-table-column label="单位" align="center" prop="unitCode" />
<el-table-column label="实测结果" align="center" prop="actualValue" width="200"/>
<el-table-column label="实测结果" align="center" prop="actualValue" width="300"/>
<el-table-column label="判定" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.check_result" :value="scope.row.status"/>
@ -259,7 +246,36 @@
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col>
<el-form-item label="综合检验结论" prop="checkManName" label-width="100px">
<el-col offset="6" span="6">
<el-checkbox disabled>合格</el-checkbox>
</el-col>
<el-col offset="3" span="6">
<el-checkbox disabled>不合格</el-checkbox>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="品管经理/主任:" label-width="120px">
<el-input disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="品质主管:" label-width="100px">
<el-input disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="品管员:" prop="checkManName">
<el-input v-model="form.checkManName" disabled/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
@ -526,9 +542,9 @@ export default {
printJS({
printable: params.printable, // 'printFrom', // id
type: params.type || 'html',
maxWidth: 1500, //
maxWidth: 1600, //
font_size: "",//
header: "来料检验结果报告",//params.header, // '',
//header: "",//params.header, // '',
targetStyles: ['*'],
style: '@page {margin:0 10mm};', // -
ignoreElements: params.ignore || [], // ['no-print']
@ -543,4 +559,12 @@ export default {
margin-bottom: 15px;
margin-left: 10px;
}
.center-text {
text-align: center;
}
.report-logo {
margin-top: 15px;
margin-left: 15px;
height: 38px;
}
</style>

@ -1,18 +1,18 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="任务编号" prop="checkNo">
<el-form-item label="订单编码" prop="orderNo">
<el-input
v-model="queryParams.checkNo"
placeholder="请输入检验任务编号"
v-model="queryParams.orderNo"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-form-item label="物料编码" prop="materialCode">
<el-input
v-model="queryParams.materialName"
placeholder="请输入物料名称"
v-model="queryParams.materialCode"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
@ -56,16 +56,6 @@
</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:qcIncome:add']"
>新增</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="warning"
@ -82,17 +72,19 @@
<el-table v-loading="loading" :data="incomeList" @selection-change="handleSelectionChange">
<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="createTimeStr" width="100"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" 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" />
<el-table-column label="产线名称" align="center" prop="supplierName" width="240"/>
<el-table-column label="产线名称" align="center" prop="supplierName" width="120"/>
<el-table-column label="检验时间" align="center" prop="checkTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="检验节点" align="center" prop="checkName" width="120"/>
<el-table-column label="检验结果" align="center" prop="checkResult">
<template slot-scope="scope">
<dict-tag :options="dict.type.check_result" :value="scope.row.checkResult"/>
@ -106,7 +98,7 @@
icon="el-icon-edit"
@click="handleLook(scope.row)"
v-hasPermi="['quality:qcIncomeReport:edit']"
>查看</el-button>
>查看报告</el-button>
</template>
</el-table-column>
</el-table>
@ -119,8 +111,8 @@
@pagination="getList"
/>
<!-- 添加或修改来料检验对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<!-- 产品巡检报告 -->
<el-dialog :title="title" :visible.sync="open" width="1370px" append-to-body>
<el-row>
<el-col :span="20">
<el-button
@ -133,90 +125,136 @@
</el-col>
</el-row>
<!-- 打印整个printFrom区域 -->
<div id="printFrom">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div id="printForm">
<el-form :ref="formRef" :model="form">
<!-- 表头-工单信息 -->
<el-row>
<el-col :span="8">
<el-form-item label="OEM厂名" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请输入OEM厂名" disabled/>
</el-form-item>
<el-col :offset="7" :span="10" class="center-text">
<span style="font-size: 20px;padding: 13px;">中山榄菊日化实业有限公司</span>
</el-col>
<el-col :span="8">
<el-form-item label="来料类别" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入检验任务编号" disabled/>
</el-form-item>
</el-row>
<el-row>
<el-col :offset="8" :span="8" class="center-text">
<span style="font-size: 18px;padding: 6px;">产品巡检记录表</span>
</el-col>
<el-col :span="8">
<el-form-item label="来料批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入来料批号" disabled/>
</el-form-item>
</el-row>
<!-- 导航栏 -->
<el-row class="my-print-nav">
<el-col :span="3">生成车间:{{form.supplierName}}</el-col>
<el-col :span="3">生成线体:{{form.lineName}}</el-col>
<el-col :span="3">检查日期:{{form.checkTimeStart}}</el-col>
<el-col :span="4">产品名称:{{form.materialName}}</el-col>
<el-col :span="6">批次号:{{form.incomeBatchNo}}</el-col>
<el-col :span="4">生产类型:
<el-checkbox-group v-model="checkList">
<el-checkbox label="正常"></el-checkbox>
<el-checkbox label="返修"></el-checkbox>
<el-checkbox label="试产"></el-checkbox>
</el-checkbox-group>
</el-col>
</el-row>
<!-- 主数据 -->
<el-table
v-if="refreshNewWorkerTable"
v-loading="newWorkerLoading"
class="my-print-table"
:data="form.checkInfos"
border
style="width: 100%">
<el-table-column label="id" align="center" prop="recordId" v-if="false"/>
<el-table-column label="序号" type="index" align="center" :index="indexMethod"/>
<el-table-column label="项目名称" width="155" align="left" prop="ruleName" />
<el-table-column label="上午" align="center" >
<el-table-column prop="column080090" label="8:00-9:00" width="80" align="center"/>
<el-table-column prop="column090100" label="9:00-10:00" width="95" align="center"/>
<el-table-column prop="column100110" label="10:00-11:00" width="95" align="center"/>
<el-table-column prop="column110120" label="11:00-12:00" width="95" align="center"/>
</el-table-column>
<el-table-column label="下午" align="center" >
<el-table-column prop="column123133" label="13:30-14:30" width="95" align="center"/>
<el-table-column prop="column133143" label="14:30-15:30" width="95" align="center"/>
<el-table-column prop="column143153" label="15:30-16:30" width="95" align="center"/>
<el-table-column prop="column153163" label="16:30-17:30" width="95" align="center"/>
</el-table-column>
<el-table-column label="加班" align="center" >
<el-table-column prop="column163173" label="12:30-13:30" width="95" align="center"/>
<el-table-column prop="column180190" label="18:00-19:00" width="95" align="center"/>
<el-table-column prop="column190200" label="19:00-20:00" width="95" align="center"/>
<el-table-column prop="column200210" label="20:00-21:00" width="95" align="center"/>
</el-table-column>
</el-table>
<br/>
<!-- 底部 -->
<el-row class="my-print-foot">
<el-col :offset="1" :span="3">检查人:</el-col>
<el-col :offset="2" :span="3">品质主管:</el-col>
</el-row>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 打印首检对话框 -->
<el-dialog :title="title" :visible.sync="firstReportOpen" width="1000px" append-to-body>
<el-row>
<el-col :span="20">
<el-button
class="print-btn"
size="mini"
type="primary"
icon="el-icon-edit"
@click="handlePrint(form)"
>打印</el-button>
</el-col>
</el-row>
<!-- 打印整个firstReportPrint区域 -->
<div id="firstReportPrint">
<el-form ref="form" :model="form" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="物料编码" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请选择物料编码" disabled />
</el-form-item>
<el-col :offset="7" :span="10" class="center-text">
<h1>中山榄菊日化实业有限公司</h1>
</el-col>
<el-col :span="16">
<el-form-item label="物料名称" prop="materialName">
<el-input v-model="form.materialName" placeholder="请选择物料名称" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="产线编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入产线编码" disabled/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="产线名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择产线名称" disabled/>
</el-form-item>
<el-col :offset="8" :span="8" class="center-text">
<h2>黑蚊香首检确认表</h2>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物料数量" prop="quality">
<el-input type="number" v-model="form.quality" placeholder="请输入物料数量" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位" prop="unit" >
<el-input v-model="form.unit" placeholder="请输入单位" disabled/>
<el-col :offset="16" :span="8">
<el-form-item label="检验标准" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="产品名称" prop="materialName">
<el-input v-model="form.materialName" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料来源" prop="checkType" >
<el-input v-model="form.checkType" placeholder="物料来源" disabled/>
<!-- <el-select v-model="form.checkType" placeholder="请选择检验类型" style="width: 100%;">
<el-option
v-for="dict in checkTypes"
:key="dict.id"
:label="dict.checkName"
:value="dict.id"
></el-option>
</el-select> -->
<el-form-item label="产品编码" prop="materialCode">
<el-input v-model="form.materialCode" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="检验日期" prop="checkTime">
<el-input v-model="form.checkTime" placeholder="请输入检验日期" disabled>
<el-form-item label="首检日期" prop="checkTime">
<el-input v-model="form.checkTime" 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="checkNo">
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品提报人" prop="checkManName">
<el-input v-model="form.checkManName" placeholder="请输入OEM产品提报人" disabled/>
<el-col :span="16">
<el-form-item label="首检原因" >
<el-input disabled/>
</el-form-item>
</el-col>
</el-row>
@ -225,35 +263,65 @@
<!-- 检验项目明细 -->
<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" prop="upperDiff" />
<el-table-column label="下差值" align="center" prop="downDiff" />
<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" 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="propertyCode" width="200">
<template slot-scope="scope">
<dict-tag
:options="dict.type.qc_rule_prop"
:value="scope.row.propertyCode"
/>
</template>
</el-table-column>
<el-table-column label="判定" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.check_result" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-row>
<el-row style="margin-top: 10px;">
<el-col :span="20">
<el-form-item label="备注:" label-width="160px">
<el-input type="textarea" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="综合结论:" label-width="160px">
<el-input type="textarea" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="车间组长/机管员签名" label-width="160px">
<el-input disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="质量管理部品管员签名" prop="checkManName" label-width="160px">
<el-input disabled/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="handleDone"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listProduce, getProduce, delProduce, addProduce, updateIncome} from "@/api/quality/produceReport";
import { listProduce, getProduce, delProduce, addProduce, updateIncome,getProduceReportXJ} from "@/api/quality/produceReport";
import { getCkeckProjectList} from "@/api/quality/incomeReport";
import { getCheckTypes } from "@/api/quality/qcProduce";
import moment from 'moment';
@ -276,9 +344,12 @@ export default {
total: 0,
//
formRef: 'form',
newWorkerLoading: false,
refreshNewWorkerTable:true,
validateRules: [],
checkList: [],
printData: {
printable: 'printFrom',
printable: 'printForm',
ignore: ['no-print'],
workCenter: "暂无数据",
SAPNo: null,
@ -287,7 +358,12 @@ export default {
printDate: null,
factory: null,
productDate: null,
workTable: [],
supplierName:null,
lineName:null,
checkTimeStart:null,
materialName:null,
incomeBatchNo:null,
checkInfos:[]
},
printDialogVisible: false,
//
@ -298,6 +374,7 @@ export default {
title: "",
//
open: false,
firstReportOpen: false,
//
queryParams: {
checkTimeArray: [],
@ -344,6 +421,10 @@ export default {
this.getCheckTypes();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
/****/
getCheckTypes() {
getCheckTypes('material').then(response => {
@ -354,7 +435,7 @@ export default {
getDate() {
let start = this.Fungetdate (0)
let end = this.Fungetdate (1)
this.queryParams.incomeTimeArray.push(start,end)
//this.queryParams.incomeTimeArray.push(start,end)
this.queryParams.checkTimeArray.push(start,end)
},
Fungetdate (num) {
@ -447,15 +528,33 @@ export default {
handleLook(row) {
this.reset();
const recordId = row.recordId || this.ids
this.queryParams.recordId = recordId;
getProduce(recordId).then(response => {
this.form = response.data;
this.form.printable = 'printFrom'; //
this.form.ignore = ['no-print'];//
this.open = true;
this.title = "查看来料报告";
});
this.getCheckedProjectList();
if(row.checkType =='checkTypeSC') {
getProduce(recordId).then(response => {
this.form = response.data;
//
this.form.printable = 'firstReportPrint'; //
this.form.ignore = ['no-print'];//
this.firstReportOpen = true;
this.title = "首检检验报告";
})
this.queryParams.recordId = recordId;
this.getCheckedProjectList();
}else {
const orderNo = row.orderNo;
getProduceReportXJ(orderNo).then(response => {
this.form = response;
//
this.form.printable = 'printForm'; //
this.form.ignore = ['no-print'];//
this.open = true;
this.title = "巡检检验报告";
this.refreshNewWorkerTable = true // refreshProTabletrue
this.newWorkerLoading = false // false
})
}
},
/** 提交按钮 */
submitForm() {
@ -504,19 +603,23 @@ export default {
},
// -
handlePrint(params) {
console.log(this.form);
printJS({
printable: params.printable, // 'printFrom', // id
printable: params.printable, // id
type: params.type || 'html',
maxWidth: 1500, //
font_size: "",//
header: "生产过程检验结果报告",//params.header, // '',
//header: "",//params.header, // '',
targetStyles: ['*'],
style: '@page {margin:0 10mm};', // -
ignoreElements: params.ignore || [], // ['no-print']
properties: params.properties || null
})
},
handleDone() {
this.firstReportOpen = false;
this.reset();
},
}
};
</script>
@ -525,4 +628,11 @@ export default {
margin-bottom: 15px;
margin-left: 10px;
}
.center-text {
text-align: center;
}
.my-print-nav {
margin-top: 15px;
margin-bottom: 15px;
}
</style>

@ -56,16 +56,6 @@
</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:qcIncome:add']"
>新增</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="warning"
@ -120,7 +110,7 @@
/>
<!-- 打印成品检验对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-row>
<el-col :span="20">
<el-button
@ -136,85 +126,61 @@
<div id="printFrom">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="OEM厂名" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请输入OEM厂名" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="来料类别" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入检验任务编号" disabled/>
</el-form-item>
<el-col :span="7">
<img src="@/assets/logo/lanjv.png" class="report-logo"/>
</el-col>
<el-col :span="8">
<el-form-item label="生产批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入生产批号" disabled/>
</el-form-item>
<el-col :span="10" class="center-text">
<h1>中山榄菊日化实业有限公司</h1>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="产品编码" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请选择物料编码" disabled />
</el-form-item>
<el-col :offset="8" :span="8" class="center-text">
<h2>成品检验报告</h2>
</el-col>
<el-col :span="16">
<el-form-item label="产品名称" prop="materialName">
<el-input v-model="form.materialName" placeholder="请选择物料名称" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="仓库编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入仓库编码" disabled/>
<el-col :span="16">
<el-form-item label="产品名称" prop="materialName">
<el-input v-model="form.materialName" disabled />
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="仓库名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择仓库名称" disabled/>
<el-col :span="8">
<el-form-item label="产品编码" prop="materialCode">
<el-input v-model="form.materialCode" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="生产数量" prop="quality">
<el-input type="number" v-model="form.quality" placeholder="请输入物料数量" disabled/>
<el-input type="number" v-model="form.quality" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位" prop="unit" >
<el-input v-model="form.unit" placeholder="请输入单位" disabled/>
<el-input v-model="form.unit" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料来源" prop="checkType" >
<el-input v-model="form.checkType" placeholder="物料来源" disabled/>
<!-- <el-select v-model="form.checkType" placeholder="请选择检验类型" style="width: 100%;">
<el-option
v-for="dict in checkTypes"
:key="dict.id"
:label="dict.checkName"
:value="dict.id"
></el-option>
</el-select> -->
<el-form-item label="检验编号" prop="checkNo">
<el-input v-model="form.checkNo" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样地点" prop="checkLoc">
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
<el-form-item label="生产批号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" 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 label="抽样地点" prop="checkLoc">
<el-input v-model="form.checkLoc" 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 label="检验依据" prop="standardNo">
<el-input v-model="form.standardNo" disabled/>
</el-form-item>
</el-col>
</el-row>
@ -247,8 +213,6 @@
<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" width="200"/>
@ -259,7 +223,38 @@
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col>
<el-form-item label="综合检验结论" prop="checkManName" label-width="100px">
<el-col offset="6" span="6">
<el-checkbox disabled>合格</el-checkbox>
</el-col>
<el-col offset="3" span="6">
<el-checkbox disabled>不合格</el-checkbox>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="备注:" label-width="120px">
<el-input type="textarea" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="品检主管:" label-width="100px">
<el-input disabled/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="品管员:" >
<el-input disabled/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
@ -505,6 +500,7 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
@ -529,7 +525,7 @@ export default {
type: params.type || 'html',
maxWidth: 1500, //
font_size: "",//
header: "成品入库检验结果报告",//params.header, // '',
//header: "",//params.header, // '',
targetStyles: ['*'],
style: '@page {margin:0 10mm};', // -
ignoreElements: params.ignore || [], // ['no-print']
@ -544,4 +540,12 @@ export default {
margin-bottom: 15px;
margin-left: 10px;
}
.center-text {
text-align: center;
}
.report-logo {
margin-top: 15px;
margin-left: 15px;
height: 38px;
}
</style>

@ -193,6 +193,7 @@
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="检验节点" align="center" prop="checkName" />
<el-table-column label="检验结果" align="center" prop="checkResult" />
<el-table-column label="是否启用" align="center" width="100">
<template slot-scope="scope">

@ -0,0 +1,358 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px" class="edit-el-form">
<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="批次编码" prop="incomeBatchNo">
<el-input
v-model="queryParams.incomeBatchNo"
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="typeCode">
<el-select v-model="queryParams.typeCode" clearable placeholder="请选择检验类型" @change="getCheckTypeList">
<el-option
v-for="dict in dict.type.check_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="统计单位" prop="supplierCode">
<el-select v-model="queryParams.supplierCode" clearable placeholder="请选择统计单位" filterable clearable>
<el-option
v-for="dict in workCenterList"
:key="dict.supplierCode"
:label="dict.supplierName"
:value="dict.supplierCode"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="检验节点" prop="checkType">
<el-select v-model="queryParams.checkType" clearable placeholder="请选择检验节点">
<el-option
v-for="dict in checkTypeList"
:key="dict.checkType"
:label="dict.checkName"
:value="dict.checkType"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="生产时间" prop="incomeTimeArray">
<el-date-picker
v-model="queryParams.incomeTimeArray"
format="yyyy-MM-dd"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</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="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['mes:prepare:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="单位编码" align="center" prop="supplierCode" width="80"/>
<el-table-column prop="supplierName" label="单位名称" width="100" align="center"/>
<el-table-column prop="orderNo" label="订单编码" width="160" align="center"/>
<el-table-column prop="incomeBatchNo" label="批次" width="220" align="center"/>
<el-table-column prop="materialName" label="产品名称"align="center" width="180" :show-overflow-tooltip="true"/>
<el-table-column prop="materialCode" label="产品编码" width="130" align="center"
:formatter="productCodeFormate"/>
<el-table-column prop="quality" label="数量" width="80" align="center"/>
<el-table-column prop="unit" label="单位" width="80" align="center"/>
<el-table-column prop="sampleQuality" label="抽样数量" width="80" align="center"/>
<el-table-column prop="noOkNums" label="不良数量" width="80" align="center"/>
<el-table-column prop="noOkNumRate" label="不良率(%)" width="80" align="center"/>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { getQmsRateTable,getWorkcenterList,getCheckTypeList,getSupplierList} from "@/api/quality/qcTable";
import moment from "moment/moment";
export default {
name: "qcAnalysis",
dicts: ["check_type"],
data() {
return {
newWorkerLoading: false,
refreshNewWorkerTable:true,
//
selectPrepare:[],
//
formRef: 'form',
validateRules: [],
printDialogVisible: false,
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
tableList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
checkNo: null,
typeCode:null,
checkType:null,
orderNo: null,
productId: null,
materialCode: null,
prodType: null,
materialName: null,
productSpc: null,
wetDetailPlanId: null,
incomeTime: null,
incomeBatchNo:null,
incomeTimeArray: [],
ymArrayStart:null,
ymArrayEnd:null
},
workCenterList:[],
checkTypeList:[],
//
form: {},
//
rules: {},
openReport : false,
titleReport : "工单报工详情"
};
},
created() {
this.getWorkCenterList();
this.getDate();
this.getList();
},
methods: {
/**获取默认查询时间段**/
getDate() {
let start = this.Fungetdate (0);
let end = this.Fungetdate (1);
this.queryParams.incomeTimeArray.push(start,end);
},
Fungetdate (num) {
var dd = new Date();
dd.setDate(dd.getDate() + num);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;//
var d = dd.getDate();
return y + "-" + m + "-" + d;
},
/**获取车间数据**/
getWorkCenterList(){
getWorkcenterList(this.queryParams).then(response => {
this.workCenterList = response
})
},
getCheckTypeList(val){
//
getCheckTypeList(val).then(response => {
this.checkTypeList = response
});
//
getSupplierList(val).then(response => {
this.workCenterList = response
});
},
indexMethod(index){
return index+1 ;
},
/** 查询备料单列表 */
getList() {
this.loading = true;
if(this.queryParams.incomeTimeArray.length>0){
this.queryParams.ymArrayStart = moment(this.queryParams.incomeTimeArray[0]).format('YYYY-MM-DD');
this.queryParams.ymArrayEnd = moment(this.queryParams.incomeTimeArray[1]).format('YYYY-MM-DD');
}
getQmsRateTable(this.queryParams).then(response => {
this.tableList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.openReport = false;
this.reset();
},
//
reset() {
this.form = {
prepareId: null,
checkNo: null,
workorderName: null,
parentOrder: null,
orderId: null,
orderNo: null,
productId: null,
materialCode: null,
prodType: null,
materialName: null,
productSpc: null,
wetDetailPlanId: null,
incomeTime: null,
incomeBatchNo:null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
factoryCode: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.getDate();
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.prepareId)
this.single = selection.length!==1
this.multiple = !selection.length
this.selectPrepare = selection
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加备料单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const prepareId = row.prepareId || this.ids
getPrepare(prepareId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改备料单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.prepareId != null) {
updatePrepare(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPrepare(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
//
productCodeFormate(row, column, cellValue){
return cellValue.slice(7,18); //
},
/** 报工详情按钮操作 */
handleDetail(row) {
this.reset();
let sr = row;
this.queryParams.orderNo = sr.orderNo;
getXJCheckTableDetail(this.queryParams).then(response => {
this.pOrderTableList = response;
this.openReport = true;
this.titleReport = "过程巡检详情";
});
},
/** 导出按钮操作 */
handleExport() {
this.download('quality/staticTable/exportProduceAnalysis', {
...this.queryParams
}, `noOkRate_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<style>
.my-print-head {
margin-top: 20px;
font-weight: bold;
}
.my-print-nav {
margin-top: 15px;
margin-bottom: 15px;
}
.my-print-table {
}
.my-print-foot {
margin-top: 20px;
}
</style>

@ -80,6 +80,8 @@
</router-link>
</template>
</el-table-column>
<el-table-column label="检验标准编码" align="center" prop="standardNo" />
<el-table-column label="版本" align="center" prop="version" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -117,6 +119,12 @@
<el-form-item label="检测项方案名称" prop="projectTypeName">
<el-input v-model="form.projectTypeName" placeholder="请输入检测项方案名称" />
</el-form-item>
<el-form-item label="检测标准编号" prop="standardNo">
<el-input v-model="form.standardNo" placeholder="请输入检测标准编号" />
</el-form-item>
<el-form-item label="版本" prop="version">
<el-input v-model="form.version" placeholder="请输入版本" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="70px">
<el-form-item label="开始值" prop="startValue">
<el-input
v-model="queryParams.startValue"
@ -26,7 +26,7 @@
/>
</el-form-item>
<el-form-item label="检验类型" prop="typeCode">
<el-select v-model="form.typeCode" placeholder="请选择检验类型" clearable style="width:100%">
<el-select v-model="queryParams.typeCode" placeholder="请选择检验类型" clearable style="width:100%">
<el-option
v-for="dict in dict.type.check_type"
:key="dict.value"
@ -35,16 +35,6 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="检验类型子项目" prop="checkType">
<el-select v-model="form.checkType" placeholder="请选择检验类型子项目" clearable style="width:100%">
<el-option
v-for="item in checkTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></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>
@ -143,16 +133,17 @@
<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="startValue">
<el-input v-model="form.startValue" placeholder="请输入开始值" />
<el-input v-model="form.startValue" placeholder="请输入数字" />
</el-form-item>
<el-form-item label="结束值" prop="endValue">
<el-input v-model="form.endValue" placeholder="请输入检测项方案名称" />
<el-input v-model="form.endValue" placeholder="请输入数字" />
</el-form-item>
<el-form-item label="抽样数量" prop="sampleQuality">
<el-input v-model="form.sampleQuality" placeholder="请输入抽样数量" />
</el-form-item>
<el-form-item label="检验类型" prop="typeCode">
<el-select v-model="form.typeCode" placeholder="请选择检验类型" style="width:100%">
<el-select v-model="form.typeCode" placeholder="请选择检验类型"
@change="handleGetCheckType" clearable style="width:100%">
<el-option
v-for="dict in dict.type.check_type"
:key="dict.value"
@ -162,12 +153,12 @@
</el-select>
</el-form-item>
<el-form-item label="检验类型子项目" prop="checkType">
<el-select v-model="form.checkType" placeholder="请选择检验类型子项目" style="width:100%">
<el-select v-model="form.checkType" placeholder="请先选择检验类型" :disabled="!(form.typeCode)" style="width:100%">
<el-option
v-for="item in checkTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in addCheckTypeList"
:key="item.id"
:label="item.checkName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
@ -181,8 +172,8 @@
</template>
<script>
import { listQcSampleRule, getQcSampleRule, delQcSampleRule, addQcSampleRule, updateQcSampleRule } from "@/api/quality/qcSampleRule";
import { listQcSampleRule, getQcSampleRule, delQcSampleRule, addQcSampleRule, updateQcSampleRule, getCheckType } from "@/api/quality/qcSampleRule";
import { listCheckType,} from "@/api/quality/checkType";
export default {
name: "QcSampleRule",
dicts: ["check_type"],
@ -206,24 +197,8 @@ export default {
title: "",
//
open: false,
checkTypeList: [
{
value: 'checkTypeCP',
label: '成品入库检验',
},
{
value: 'checkTypeLL',
label: '来料检验',
},
{
value: 'checkTypeSC',
label: '首件检验',
},
{
value: 'checkTypeSCXJ',
label: '过程巡检',
},
],
checkTypeList: [],
addCheckTypeList: [],
//
queryParams: {
pageNum: 1,
@ -240,14 +215,31 @@ export default {
form: {},
//
rules: {
factoryCode: [
{ required: true, message: "工厂编码不能为空", trigger: "blur" }
startValue: [
{ required: true, message: "开始值不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*$/, message: "请输入正整数,且开头不能为0", trigger: "blur"}
],
endValue: [
{ required: true, message: "结束值不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*$/, message: "请输入正整数,且开头不能为0", trigger: "blur"}
],
sampleQuality: [
{ required: true, message: "抽样数量不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*$/, message: "请输入正整数,且开头不能为0", trigger: "blur"}
],
typeCode: [
{ required: true, message: "检验类型不能为空", trigger: "blur" }
],
checkType: [
{ required: true, message: "检验类型子项目不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
this.getCheckTypeList();
},
methods: {
/** 查询来料抽样规则列表 */
@ -259,6 +251,11 @@ export default {
this.loading = false;
});
},
getCheckTypeList() {
listCheckType().then(response => {
this.checkTypeList = response.rows
});
},
//
cancel() {
this.open = false;
@ -313,6 +310,7 @@ export default {
this.form = response.data;
this.open = true;
this.title = "修改来料抽样规则";
this.handleGetCheckType(this.form.typeCode);
});
},
/** 提交按钮 */
@ -352,9 +350,15 @@ export default {
}, `qcSampleRule_${new Date().getTime()}.xlsx`)
},
formatCheckType(checkType) {
const checkTypeBody = this.checkTypeList.find((item) => item.value === checkType);
return checkTypeBody ? checkTypeBody.label : '——';
}
const checkTypeBody = this.checkTypeList.find((item) => item.id === checkType);
return checkTypeBody ? checkTypeBody.checkName : '';
},
handleGetCheckType(value) {
this.form.checkType = '';
getCheckType(value).then(response => {
this.addCheckTypeList = response.rows
});
},
}
};
</script>

@ -17,14 +17,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批次编码" prop="incomeBatchNo">
<el-input
v-model="queryParams.incomeBatchNo"
placeholder="请输入批次编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单生产日期" prop="incomeTime">
<el-date-picker clearable
v-model="queryParams.incomeTime"
@ -35,18 +27,6 @@
>
</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-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>
@ -69,15 +49,15 @@
<el-table v-loading="loading" :data="prepareList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column prop="orderNo" label="订单编码" width="130" align="center"/>
<el-table-column label="订单批次" align="center" prop="incomeBatchNo" width="180">
<el-table-column label="订单编码" align="center" prop="orderNo" width="180">
<template slot-scope="scope">
<el-button
type="text"
@click="handleDetail(scope.row)"
>{{scope.row.incomeBatchNo}}</el-button>
>{{scope.row.orderNo}}</el-button>
</template>
</el-table-column>
<el-table-column prop="incomeBatchNo" label="批次" width="300" align="center"/>
<el-table-column prop="incomeTime" label="生产日期" width="100" align="center"/>
<el-table-column prop="materialName" label="产品名称"align="center"/>
<el-table-column prop="materialCode" label="产品编码" width="150" align="center"
@ -294,6 +274,7 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.getDate();
this.handleQuery();
},
//
@ -348,7 +329,7 @@ export default {
this.reset();
let sr = row;
this.queryParams.incomeBatchNo = sr.incomeBatchNo;
this.queryParams.orderNo = sr.orderNo;
getXJCheckTableDetail(this.queryParams).then(response => {
this.pOrderTableList = response;
this.openReport = true;

@ -0,0 +1,198 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px" style="margin-bottom: 0px;">
<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="产品编号" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入产品编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单生产日期" prop="ymdms">
<el-date-picker clearable
v-model="queryParams.ymdms"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择工单生产日期"
style="width:205px"
>
</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="20">
<el-col :sm="24" :lg="24">
<span style="font-size: 20px;margin: 40%;color: cadetblue;">{{title}}</span>
</el-col>
</el-row>
<el-row :gutter="20">
<div style="border: 1px solid #cfdee4;">
<div id="orderline" style="width:100%;height:500px"></div>
</div>
</el-row>
</div>
</template>
<script>
import * as echarts from 'echarts'
require('echarts/theme/macarons')
import { getXJChartData} from "@/api/quality/qcTable";
import moment from "moment/moment";
export default {
name: "XJChart",
components: {},
data() {
return {
title:"巡检小时不良率折线图",
//
queryParams: {
ymdms: null,
workorderCode: null,
workorderName: null,
parentOrder: null,
orderId: null,
orderCode: null,
productId: null,
productCode: null,
prodType: null,
productName: null,
productSpc: null,
productDate: null,
createTimeStart:null,
createTimeEnd:null
}
}
},
mounted(){
this.getDate();
this.getList();
},
methods: {
/**获取默认查询时间段**/
getDate() {
let start = this.Fungetdate (0)
this.queryParams.ymdms =start
},
Fungetdate (num) {
var dd = new Date();
dd.setDate(dd.getDate() + num);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;//
var d = dd.getDate();
return y + "-" + m +"-"+d;
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.getDate();
this.handleQuery();
},
getList() {
let myChart = this.$echarts.init(document.getElementById('orderline'))
getXJChartData(this.queryParams).then(data => {
if(data == ''){
return
}
let seriesResult = data.series;
seriesResult.forEach(se => {
se.type = 'line';//bar//line
});
myChart.setOption({
tooltip: {
trigger: 'axis'
},
legend: {
data: data.legendData
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: data.xAxisData
},
yAxis: {
type: 'value',
axisLabel: {
formatter: '{value} %'
}
},
series: seriesResult
},
true
)
})
}
}
};
</script>
<style lang="scss" scoped>
.tagbox {
display: flex;
/* overflow: scroll; */
position: relative;
width: 80%;
padding-left: 26px;
margin-bottom: 15px;
.tagboxlabel{
width: 100px;
text-align: right;
vertical-align: middle;
font-size: 14px;
color: black;
line-height: 40px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin-right: 12px;
}
.tag {
width: 720px;
border: 1px #DCDFE6 solid;
height: 60px;
padding: 5px 15px;
overflow-y: scroll;
.tagitem{
margin-left: 5px;
}
}
.button1{
width: 37px;
height: 37px;
position: absolute;
right: -39px;
top: 2px;
}
}
</style>

@ -110,7 +110,7 @@ export default {
pageNum: 1,
pageSize: 10,
datasourceId: undefined,
userName: undefined,
userName: null,
phonenumber: undefined
}
};
@ -180,4 +180,4 @@ export default {
}
}
};
</script>
</script>

@ -221,6 +221,13 @@
/>
</template>
</el-table-column>
<el-table-column
label="备注"
align="center"
prop="remark"
width="100"
>
</el-table-column>
<el-table-column
label="设备类型编码"
align="center"
@ -774,6 +781,7 @@
<el-button v-if="this.repairRecordSteps < 3 && this.form.equipmentCategory == '0' " @click="stepNext"
>下一步</el-button
>
<el-button v-if="this.repairRecordSteps < 3 && this.form.equipmentCategory == null " disabled>下一步</el-button>
<el-button
v-if=" this.repairRecordSteps == 4 && this.form.equipmentCategory == '1' "
type="primary"
@ -907,6 +915,18 @@
:equipmentCode="form.equipmentCode"
></ItemEquipment>
</el-tab-pane>
<el-tab-pane label="维修记录" >
<ItemWXRecords
:optType="optType"
:equipmentCode="form.equipmentCode"
></ItemWXRecords>
</el-tab-pane>
<el-tab-pane label="保养记录" >
<ItemBYRecords
:optType="optType"
:equipmentCode="form.equipmentCode"
></ItemBYRecords>
</el-tab-pane>
<el-tab-pane label="设备相关图片">
<el-descriptions
:column="1"
@ -1037,6 +1057,8 @@ import { Message } from "element-ui";
import { getToken } from "@/utils/auth";
import ItemSelectPerson from "./itemPerson.vue";
import ItemEquipment from "./itemEquipment.vue";
import ItemWXRecords from "./itemWXRecords.vue";
import ItemBYRecords from "./itemBYRecords.vue";
export default {
name: "Equipment",
@ -1046,7 +1068,7 @@ export default {
"equipment_status",
"equipment_category",
],
components: { ItemSelectPerson, ItemEquipment },
components: { ItemSelectPerson, ItemEquipment , ItemWXRecords , ItemBYRecords},
data() {
return {
CS: {
@ -1288,9 +1310,10 @@ export default {
// 穿
this.leftList.push({
key: response.rows[i].materialCode,
label: response.rows[i].materialDesc,
label: response.rows[i].materialCode + response.rows[i].materialDesc,
});
}
console.log(this.auxiliaryEquipmentRightList)
for (let i in response.selected) {
this.rightList.push(response.selected[i].key);
this.form.rightData = this.rightList;
@ -1426,7 +1449,7 @@ export default {
// 穿
this.auxiliaryEquipmentLeftList.push({
key: response.rows[i].equipmentCode,
label: response.rows[i].equipmentName,
label: response.rows[i].equipmentCode + response.rows[i].equipmentName + response.rows[i].remark,
});
}
});
@ -1438,26 +1461,27 @@ export default {
handleUpdate(row) {
this.reset();
const equipmentId = row.equipmentId || this.ids;
getWorkCenterList().then((response) => {
this.options1 = response.rows;
});
this.queryAuxiliaryEquipmentParams.equipmentCategory = '0';
listEquipment(this.queryAuxiliaryEquipmentParams).then((response) => {
console.log("listEquipment")
this.auxiliaryEquipmentLeftList = [];
this.auxiliaryEquipmentRightList = [];
for (let i in response.rows) {
// 穿
this.auxiliaryEquipmentLeftList.push({
key: response.rows[i].equipmentCode,
label: response.rows[i].equipmentName,
label: response.rows[i].equipmentCode + response.rows[i].equipmentName + response.rows[i].remark,
});
}
for (let i in response.selected) {
this.auxiliaryEquipmentRightList.push(response.selected[i].key);
this.form.auxiliaryEquipmentRightData = this.auxiliaryEquipmentRightList;
}
console.log(this.auxiliaryEquipmentRightList)
});
getEquipment(equipmentId).then((response) => {
console.log("getEquipment")
this.form = response.data;
this.rightList = [];
for (let i in response.data.selectedData) {
@ -1465,12 +1489,14 @@ export default {
this.rightList.push(response.data.selectedData[i].spareCode);
}
this.auxiliaryEquipmentRightList = [];
console.log(this.auxiliaryEquipmentRightList)
for (let i in response.data.selectedEquipmentData) {
// 穿
this.auxiliaryEquipmentRightList.push(
response.data.selectedEquipmentData[i].auxiliaryEquipmentCode
);
}
console.log(this.auxiliaryEquipmentRightList)
if (response.data.imageFiles != null) {
var newFiles = [];

@ -0,0 +1,168 @@
<template>
<div class="app-container">
<el-table
:data="itemList"
>
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
fixed
/>
<el-table-column
label="单号"
align="center"
width="200"
prop="orderCode"
fixed
/>
<el-table-column
label="循环周期"
align="center"
prop="planLoop"
width="80"
/>
<el-table-column
label="实际开始时间"
align="center"
prop="orderStart"
width="200"
/>
<el-table-column
label="实际结束时间"
align="center"
prop="orderEnd"
width="200"
/>
<el-table-column
label="工单状态"
align="center"
prop="orderStatus"
width="100"
>
<template slot-scope="scope">
{{
scope.row.orderStatus == 0
? "待处理"
: scope.row.orderStatus == 1
? "已完成"
: scope.row.orderStatus == 2
? "已逾期"
: scope.row.orderStatus == 3
? "进行中"
: ""
}}
</template>
</el-table-column>
<el-table-column
label="工单费用"
align="center"
prop="orderCost"
width="100"
/>
<el-table-column
label="责任人"
align="center"
prop="planPerson"
width="100"
/>
<el-table-column
label="工单用时"
align="center"
prop="orderCostTime"
width="100"
/>
<el-table-column
label="签字"
align="center"
prop="orderSignPerson"
width="100"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { getBYRecordsList } from "@/api/wms/equipment";
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
dicts: ["equipment_status"],
data() {
return {
itemList :[],
showFlag: false,
//
selectedItemId: undefined,
selectedRows: undefined,
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
queryParams: {
pageNum: 1,
pageSize: 10,
equipmentCode: this.equipmentCode,
},
};
},
props: {
equipmentCode: undefined,
optType: undefined,
},
created() {
this.getList();
},
methods: {
//
cancel() {
this.showFlag = false;
this.reset();
},
//
reset() {
this.form = {
itemId: null,
itemCode: this.processId,
itemType: null,
};
this.resetForm("form");
},
//
indexMethod(index) {
return index + 1;
},
/** 查询设备编码列表*/
getList() {
getBYRecordsList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
});
},
},
};
</script>

@ -16,6 +16,7 @@
<el-table-column
label="设备编码"
align="center"
width="120"
prop="equipmentCode"
fixed
/>
@ -27,6 +28,7 @@
<el-table-column
label="设备状态"
align="center"
width="150"
prop="equipmentStatus"
>
<template slot-scope="scope">
@ -58,6 +60,7 @@ export default {
dicts: ["equipment_status"],
data() {
return {
itemList :[],
showFlag: false,
//
selectedItemId: undefined,

@ -0,0 +1,161 @@
<template>
<div class="app-container">
<el-table
:data="itemList"
>
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
fixed
/>
<el-table-column
label="维修单号"
align="center"
prop="workCode"
fixed
width="200"
/>
<el-table-column
label="维修人员"
align="center"
prop="workPerson"
width="100"
/>
<el-table-column
label="维修班组"
align="center"
prop="workTeam"
width="100"
/>
<el-table-column
label="故障描述"
align="center"
prop="workFaultDesc"
width="150"
/>
<el-table-column
label="原因分析"
align="center"
prop="workReason"
width="150"
/>
<el-table-column
label="维修措施"
align="center"
prop="repairMeasures"
width="150"
/>
<el-table-column
label="维修开始时间"
align="center"
prop="workStartTime"
width="150"
/>
<el-table-column
label="维修结束时间"
align="center"
prop="workEndTime"
width="150"
/>
<el-table-column
label="维修状态"
align="center"
prop="workStatus"
width="100"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.device_repair_status"
:value="scope.row.workStatus"
/>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { getWXRecordsList } from "@/api/wms/equipment";
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
dicts: ["device_repair_status"],
data() {
return {
itemList :[],
showFlag: false,
//
selectedItemId: undefined,
selectedRows: undefined,
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
queryParams: {
pageNum: 1,
pageSize: 10,
equipmentCode: this.equipmentCode,
},
};
},
props: {
equipmentCode: undefined,
optType: undefined,
},
created() {
this.getList();
},
methods: {
//
cancel() {
this.showFlag = false;
this.reset();
},
//
reset() {
this.form = {
itemId: null,
itemCode: this.processId,
itemType: null,
};
this.resetForm("form");
},
//
indexMethod(index) {
return index + 1;
},
/** 查询设备编码列表*/
getList() {
getWXRecordsList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
});
},
},
};
</script>

@ -67,6 +67,14 @@
>
<el-table-column label="组织名称" align="center" prop="factoryName" width="350"/>
<el-table-column label="组织编码" align="center" prop="factoryCode" />
<el-table-column prop="ftype" label="工厂建模类型" width="100" align="center">
<template slot-scope="scope">
<dict-tag
:options="dict.type.f_type"
:value="scope.row.ftype"
/>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column prop="status" label="是否启用" align="center" >
@ -103,30 +111,45 @@
<!-- 添加或修改工厂模型对话框 -->
<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="parentId" style="width:430px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="父组织名" prop="parentId" style="width:350px">
<treeselect v-model="form.parentId" :options="factoryOptions" :normalizer="normalizer" placeholder="请选择父组织id" />
</el-form-item>
<el-form-item label="组织名称" prop="factoryName" style="width:430px">
<el-form-item label="组织名称" prop="factoryName" style="width:350px">
<el-input v-model="form.factoryName" placeholder="请输入组织名称" />
</el-form-item>
<el-form-item label="组织编码" prop="factoryCode" style="width:430px">
<el-input v-model="form.factoryCode" placeholder="请输入组织编码" />
</el-form-item>
<el-form-item label="负责人" prop="leader" style="width:430px">
<el-form-item label="组织编码" prop="factoryCode" style="width:350px">
<el-input v-model="form.factoryCode" placeholder="请输入组织编码" />
</el-form-item>
<el-form-item label="工厂建模分类" prop="ftype">
<el-select
v-model="form.ftype"
placeholder="请选择设备类型"
filterable
style="width: 230px"
>
<el-option
v-for="dict in dict.type.f_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="负责人" prop="leader" style="width:350px">
<el-input v-model="form.leader" placeholder="请输入负责人" />
</el-form-item>
<el-form-item label="联系电话" prop="phone" style="width:430px">
<el-form-item label="联系电话" prop="phone" style="width:350px">
<el-input v-model="form.phone" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="邮箱" prop="email" style="width:430px">
<el-form-item label="邮箱" prop="email" style="width:350px">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="是否启用" prop="status" >
<el-select v-model="form.status" placeholder="请选择是否启用" @change="$forceUpdate()" clearable style="width:350px">
<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="form.status" placeholder="请选择是否启用" @change="$forceUpdate()" clearable style="width:230px">
<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>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -143,6 +166,9 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Factory",
dicts: [
"f_type",
],
components: {
Treeselect
},
@ -185,7 +211,6 @@ export default {
//
form: {},
//
//
rules: {
factoryCode: [
{ required: true, message: "组织编码不能为空", trigger: "blur" }

@ -58,7 +58,7 @@
<el-table-column label="单位" align="center" prop="unit" v-if="false" />
<el-table-column label="计划数量" align="center" prop="planNumber" />
<el-table-column label="出库数量" align="center" prop="outNumber" />
<el-table-column label="托盘号" align="center" prop="userDefined2" />
<!-- <el-table-column label="托盘号" align="center" prop="userDefined2" /> -->
<el-table-column label="仓库编号" align="center" prop="locCode" />
<el-table-column label="库位名称" align="center" prop="locDesc" v-if="false" />
<el-table-column label="产线名称" align="center" prop="productionLineDesc" v-if="false" />
@ -357,36 +357,36 @@ export default {
Optionlistck: [],
Packagingline: [
{
stationNo: 'LJ1',
stationname: '榄菊1',
stationNo: 'XL01',
stationname: '包装线01',
},
{
stationNo: 'LJ2',
stationname: '榄菊2',
stationNo: 'XL02',
stationname: '包装线02',
},
{
stationNo: 'LJ3',
stationname: '榄菊3',
stationNo: 'XL03',
stationname: '包装线03',
},
{
stationNo: 'LJ4',
stationname: '榄菊4',
stationNo: 'XL04',
stationname: '包装线04',
},
{
stationNo: 'LJ5',
stationname: '榄菊5',
stationNo: 'XL05',
stationname: '包装线05',
},
{
stationNo: 'LJ6',
stationname: '榄菊6',
stationNo: 'XL06',
stationname: '包装线06',
},
{
stationNo: 'LJ7',
stationname: '榄菊7',
stationNo: 'XL07',
stationname: '包装线07',
},
{
stationNo: 'LJ8',
stationname: '榄菊8',
stationNo: 'XL08',
stationname: '包装线08',
},
],

@ -232,10 +232,10 @@
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
:disabled="multiple"
@click="handleUpdate"
v-hasPermi="['wms:put:edit']"
>修改</el-button>
>过账</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -261,29 +261,41 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="putList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="putList" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="报工单号" align="center" prop="workOrder" />
<el-table-column label="ID" align="center" prop="id" v-if="false"/>
<el-table-column label="报工单号" align="center" prop="workOrder" width="200px"/>
<!-- <el-table-column label="工厂编码" align="center" prop="factoryCode" />-->
<el-table-column label="生产工单号" align="center" prop="productOrder" />
<el-table-column label="生产工单号" align="center" prop="productOrder" width="200px"/>
<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="productName" />-->
<el-table-column label="库区编码" align="center" prop="waCode" v-if="false"/>
<el-table-column label="库位编码" align="center" prop="wlCode" v-if="false"/>
<el-table-column label="产品名称" align="center" prop="productName" width="200px"/>
<el-table-column label="产品编码" align="center" prop="productCode" />
<el-table-column label="产品分类" align="center" prop="productSort" />
<el-table-column label="产品分类" align="center" prop="productSort" v-if="false"/>
<!-- <el-table-column label="规格型号" align="center" prop="specification" />-->
<!-- <el-table-column label="单位" align="center" prop="unitOfMeasure" />-->
<el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="计划入库数量" align="center" prop="planQuantity" />
<el-table-column label="入库数量" align="center" prop="putQuantity" />
<el-table-column label="入库状态" align="center" prop="status" />
<el-table-column label="过账SAP状态" align="center" prop="sapStatus" />
<el-table-column label="过账SAP凭证" align="center" prop="sapProof" />
<el-table-column label="过账SAP返回信息" align="center" prop="sapMessage" />
<el-table-column label="入库时间" align="center" prop="putDate" width="180">
<!-- <el-table-column label="入库状态" align="center" prop="status" />-->
<el-table-column label="入库状态" align="center" prop="status">
<template slot-scope="scope">
<span v-if="scope.row.status === '0'"></span>
<span v-else-if="scope.row.status === '1'">完成</span>
</template>
</el-table-column>
<el-table-column label="过账SAP状态" align="center" prop="sapStatus" width="200px">
<template slot-scope="scope">
<span v-if="scope.row.sapStatus === '0'"></span>
<span v-else-if="scope.row.sapStatus === '2'">过账失败</span>
<span v-else-if="scope.row.sapStatus === '1'">过账成功</span>
</template>
</el-table-column>
<el-table-column label="过账SAP凭证" align="center" prop="sapProof" width="200px"/>
<el-table-column label="过账SAP返回信息" align="center" prop="sapMessage" width="200px" />
<el-table-column label="入库时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.putDate, '{y}-{m}-{d}') }}</span>
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="预留字段1" align="center" prop="attr1" />-->
@ -420,7 +432,7 @@
</template>
<script>
import { listPut, getPut, delPut, addPut, updatePut } from "@/api/wms/put";
import { listPut, getPut, delPut, addPut, updatePut ,SAPPut} from "@/api/wms/put";
export default {
name: "Put",
@ -568,13 +580,15 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getPut(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改成品生产入库";
});
const ids = row.id || this.ids;
let postData = this.ids.map(id => ({ id: id }));
console.log(postData)
this.$modal.confirm('是否进行过账').then(function() {
return SAPPut(JSON.stringify(postData));
}).then(() => {
this.getList();
this.$modal.msgSuccess("过账完成");
}).catch(() => {});
},
/** 提交按钮 */
submitForm() {

Loading…
Cancel
Save