LAPTOP-R6EHHS26\86155 7 months ago
commit 63bdb5e263

@ -183,9 +183,10 @@ export function getMesListEquip(query) {
});
}
//报工按钮
export function reportSap(workorderCode) {
export function reportSap(workorderCode,machineCode) {
const data = {
workorderCode
workorderCode,
machineCode
}
return request({
url: '/mes/reportWork/reportSap',
@ -194,9 +195,10 @@ export function reportSap(workorderCode) {
});
}
//报工撤销按钮
export function reportSapCancel(workorderCode) {
export function reportSapCancel(workorderCode,machineCode) {
const data = {
workorderCode
workorderCode,
machineCode
}
return request({
url: '/mes/reportWork/reportSapCancel',

@ -152,7 +152,7 @@
<el-dialog
title="消息提示"
:visible.sync="dialogVisible"
width="40%"
width="49%"
:before-close="handleClose"
class="messagedialog"
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -9,6 +9,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="点检工单号" prop="orderCode">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入点检工单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="计划编码" prop="planCode">
<el-input
v-model="queryParams.planCode"
@ -17,10 +25,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单号" prop="orderCode">
<el-form-item label="计划名称" prop="planName">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入工单号"
v-model="queryParams.planName"
placeholder="请输入计划名称"
clearable
@keyup.enter.native="handleQuery"
/>
@ -43,16 +51,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
v-model="queryParams.planLoop"
@ -101,7 +100,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="equipmentCode">
<el-form-item label="设备名称" prop="equipmentName">
<el-input
v-model="queryParams.equipmentName"
placeholder="请输入设备名称"
@ -220,6 +219,16 @@
value-format="yyyy-MM-dd"
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label="循环周期" prop="planLoopType">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="循环开始时间" prop="planLoopStart">
<el-date-picker
@ -318,7 +327,7 @@
<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="150" label="计划编码" align="center" prop="planCode" />
<el-table-column width="150" label="计划名称" align="center" prop="planName" />
<el-table-column width="200" label="计划名称" align="center" prop="planName" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column width="150" label="点检单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
@ -331,7 +340,10 @@
</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="200" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="150" label="点检时间" align="center" prop="orderStart"/>
<el-table-column label="点检人" align="center" prop="planPerson" />
<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" >
@ -359,15 +371,12 @@
<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="200" 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"/>
</template>
</el-table-column>
<el-table-column v-if="false" label="工单费用" align="center" prop="orderCost" />
<el-table-column label="点检人" align="center" prop="planPerson" />
<el-table-column v-if="false" label="工单用时" align="center" prop="orderCostTime" />
<el-table-column v-if="false" label="签字" align="center" prop="orderSignPerson" />
<el-table-column v-if="false" label="工厂" align="center" prop="factoryCode" />
@ -624,6 +633,7 @@ export default {
pageSize: 10,
planId: null,
planCode: null,
planName: null,
planType: "spotInspection",
orderCode: null,
planWorkshop: null,

File diff suppressed because it is too large Load Diff

@ -306,6 +306,11 @@
<el-table-column v-if="false" label="主键" align="center" prop="planId"/>
<el-table-column width="150" label="计划编码" align="center" prop="planCode" fixed/>
<el-table-column width="150" label="计划名称" align="center" prop="planName"/>
<el-table-column width="150" label="生成规则" align="center" prop="calculationRule">
<template slot-scope="scope">
{{ scope.row.calculationRule == "0" ? "按照固定周期" : scope.row.one == "1" ? "按照上次保养时间" : "单次" }}
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop"/>
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine"/>
@ -468,6 +473,7 @@
<el-date-picker
v-model="form.planLoopStart"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
@ -1461,7 +1467,7 @@ export default {
// 线
getGroupLine().then(response => {
this.groupLineList = response.data;
this.equipmentQuery.groupLine = response.data[0].equipmentCode;
// this.equipmentQuery.groupLine = response.data[0].equipmentCode;
this.getEquList();
})
@ -1696,6 +1702,10 @@ export default {
return
}
}
if(this.form.calculationRule == "2"){
this.form.planTimeArray = null;
this.form.planLoopEnd = this.form.planLoopStart;
}
this.planLoading = true;
if (this.form.planId != null) {
this.form.personList = this.selectPersonList.map(item => {

@ -11,14 +11,24 @@
<el-form-item label="生产时间" prop="productDateArray">
<el-date-picker
v-model="queryParams.productDateArray"
format="yyyy-MM-dd"
type="daterange"
format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="班次" prop="shiftId">
<el-select v-model="queryParams.shiftId" default-first-option clearable>
<el-option
v-for="item in shiftList"
:key="item.shiftId"
:label="item.shiftDesc"
:value="item.shiftId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="产品编号" prop="productCode">
<el-input
v-model="queryParams.productCode"
@ -111,7 +121,7 @@ export default {
machineProList: [],
//
products: [],
shiftList: [],
//
title: "",
//
@ -125,6 +135,7 @@ export default {
workorderName: null,
parentOrder: null,
orderId: null,
shiftId: null,
orderCode: null,
productId: null,
productCode: null,
@ -140,7 +151,9 @@ export default {
created() {
this.getDate();
this.getList();
getProShifts().then(response => {
this.shiftList = response.data
})
},
methods: {
/**获取默认查询时间段**/
@ -163,10 +176,10 @@ export default {
if (this.queryParams.productDateArray != null) {
this.queryParams.productDateStart = moment(
this.queryParams.productDateArray[0]
).format("YYYY-MM-DD");
).format("YYYY-MM-DD HH:mm:ss");
this.queryParams.productDateEnd = moment(
this.queryParams.productDateArray[1]
).format("YYYY-MM-DD");
).format("YYYY-MM-DD HH:mm:ss");
}
this.loading = true;

@ -377,13 +377,14 @@
@change="handleEdit(scope.$index, scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column label="报工单编号" align="center" prop="reportCode" width="120" />
<el-table-column label="创建时间" align="center" prop="createTime" width="150" />
</el-table>
<div class="demo-input-suffix">
<p>备注</p>
<el-input type="textarea" @blur="addRemarksblur(item.libList, item.remark, index)"
v-model="item.remark" placeholder="请输入内容(300个字内)" maxlength=300 />
v-model="item.remark" placeholder="请输入内容(300个字内)" maxlength=300 >
</el-input>
</div>
</el-tab-pane>
@ -434,6 +435,7 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="报工单编号" align="center" prop="reportCode" width="120" />
<el-table-column label="创建时间" align="center" prop="createTime" width="150" />
<el-table-column fixed="right" label="操作" width="90">
<template slot-scope="scope">
@ -995,6 +997,8 @@ export default {
updateBy: null,
endReport: "0"
};
this.queryParams.workorderCode = "";
this.queryParams.machineCode = "";
this.resetForm("form");
this.libTabs = [];
this.libConsumeTabs = [];
@ -1049,6 +1053,7 @@ export default {
}
this.queryParams.workorderCode = sr.workorderCode;
this.queryParams.machineCode = sr.machineCode;
// this.SAPCD=sr.workorderCodeSap;
//
this.queryParams.parentOrder = "0";
@ -1141,11 +1146,12 @@ export default {
}
const code = sr.workorderCode;
const machineCode = sr.machineCode;
let _this = this;
this.$modal
.confirm('是否确认工单"' + code + '"的数据项向sap报工')
.confirm('是否确认线体'+machineCode+',工单' + code + '的数据项向sap报工')
.then(function () {
reportSap(code).then((response) => {
reportSap(code,machineCode).then((response) => {
if (response != null && response.code == 200) {
_this.$modal.msgSuccess("报工成功");
}
@ -1161,11 +1167,12 @@ export default {
this.loading = true;
let sr = this.selectRow[0];
const code = sr.workorderCode;
const machineCode = sr.machineCode;
let _this = this;
this.$modal
.confirm('是否确认工单"' + code + '"的数据项撤销sap报工')
.then(function () {
reportSapCancel(code).then((response) => {
reportSapCancel(code,machineCode).then((response) => {
if (response != null && response.code == 200) {
_this.$modal.msgSuccess("报工撤销成功");
}
@ -1191,6 +1198,7 @@ export default {
}
this.queryParams.workorderCode = sr.workorderCode;
this.queryParams.machineCode = sr.machineCode;
//
getAllLevelReportList(this.queryParams).then((response) => {
@ -1260,6 +1268,8 @@ export default {
submitReportPS(this.reportRows).then((response) => {
this.$modal.msgSuccess("报工信息修改成功");
this.openReport = false;
this.queryParams.workorderCode = "";
this.queryParams.machineCode = "";
this.getList();
});
},
@ -1298,15 +1308,17 @@ export default {
}
this.queryParams.workorderCode = sr.workorderCode;
this.queryParams.machineCode = sr.machineCode;
//
getAllLevelConsumeList(this.queryParams).then((response) => {
this.libConsumeTabs = response;
this.openConsume = true;
this.titleConsume = "工单报工物料损耗详情";
this.queryParams.workorderCode = "";
this.queryParams.machineCode = "";
});
this.queryParams.workorderCode = sr.workorderCode;
//this.queryParams.workorderCode = sr.workorderCode;
//BOM
//this.queryParams.parentOrder = '0';
//getBomList(this.queryParams).then(response => {

@ -3,10 +3,9 @@
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
width="1000px"
width="1100px"
>
<el-row :gutter="20">
<el-col :span="24" :xs="24">
<el-form :model="queryParams" ref="queryProjectForm" size="small" :inline="true" v-show="showSearch" label-width="105px" align="left">
<el-form-item label="检测项目名称" prop="ruleName">
@ -18,16 +17,13 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检测方案名称" prop="projectType">
<el-select v-model="queryParams.projectType" filterable clearable placeholder="请选择检测方案">
<el-option
v-for="(item,index) in projectTypeOptions"
:key="index"
:label="item.projectTypeName"
:value="item.projectTypeCode">
</el-option>
</el-select>
<el-form-item v-show="false" label="检测项目名称" prop="projectType">
<el-input
v-model="queryParams.projectType"
placeholder="检测方案代码"
clearable
style="width: 240px"
/>
</el-form-item>
<el-form-item>
@ -35,49 +31,65 @@
<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="handleBomSelectionChange" ref="myTable" >
<el-table-column width="50" align="center" type="selection">
</el-table-column>
<!-- 序号 -->
<el-table-column label="检测项目Id" align="left" key="id" prop="id" v-if="false" />
<el-table-column label="检测项目编号" align="left" key="orderNum" prop="orderNum" width="110"/>
<el-table-column label="检测项目名称" align="left" key="ruleName" prop="ruleName" width="250" :show-overflow-tooltip="true" />
<el-table-column label="规则属性" align="left" prop="propertyCode">
<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="left" prop="checkStandard" width="250" :show-overflow-tooltip="true"/>
<el-table-column label="上差值" align="center" prop="upperDiff" width="100">
<template slot-scope="scope">
<el-input type="number" size="small" v-model="scope.row.upperDiff" @change="handleEdit(scope.$index,scope.row)"
:disabled='scope.row.propertyCode=="0"'></el-input>
</template>
</el-table-column>
<el-table-column label="下差值" align="center" prop="downDiff" width="100">
<template slot-scope="scope">
<el-input type="number" size="small" v-model="scope.row.downDiff" @change="handleEdit(scope.$index,scope.row)"
:disabled='scope.row.propertyCode=="0"'
></el-input>
</template>
</el-table-column>
<el-table-column label="测量单位" align="left" prop="unitCode" width="90"/>
<el-table-column label="抽样方案" align="left" prop="samplePlan" width="100" :show-overflow-tooltip="true"/>
<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" :show-overflow-tooltip="true"/>
<el-table-column label="检验工具" align="left" prop="checkTool" width="90"/>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<el-row :gutter="20">
<el-col :span="5" :xs="24">
<el-tabs v-model="editTabsValue" @tab-click="handleClick" :tab-position="'right'" style="height: 600px;">
<el-tab-pane
v-for="(item) in projectTypeOptions"
:key="item.projectTypeCode"
:label="item.projectTypeName"
:name="item.projectTypeCode"
>{{ item.projectTypeName }}</el-tab-pane>
</el-tabs>
</el-col>
<el-col :span="19" :xs="24">
<el-table v-loading="loading" :data="itemList" @selection-change="handleBomSelectionChange" ref="myTable" >
<el-table-column width="50" align="center" type="selection">
</el-table-column>
<!-- 序号 -->
<el-table-column label="检测项目Id" align="left" key="id" prop="id" v-if="false" />
<el-table-column label="检测项目编号" align="left" key="orderNum" prop="orderNum" width="110"/>
<el-table-column label="检测项目名称" align="left" key="ruleName" prop="ruleName" width="250" :show-overflow-tooltip="true" />
<el-table-column label="规则属性" align="left" prop="propertyCode">
<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="left" prop="checkStandard" width="250" :show-overflow-tooltip="true"/>
<el-table-column label="上差值" align="center" prop="upperDiff" width="100">
<template slot-scope="scope">
<el-input type="number" size="small" v-model="scope.row.upperDiff" @change="handleEdit(scope.$index,scope.row)"
:disabled='scope.row.propertyCode=="0"'></el-input>
</template>
</el-table-column>
<el-table-column label="下差值" align="center" prop="downDiff" width="100">
<template slot-scope="scope">
<el-input type="number" size="small" v-model="scope.row.downDiff" @change="handleEdit(scope.$index,scope.row)"
:disabled='scope.row.propertyCode=="0"'
></el-input>
</template>
</el-table-column>
<el-table-column label="测量单位" align="left" prop="unitCode" width="90"/>
<el-table-column label="抽样方案" align="left" prop="samplePlan" width="100" :show-overflow-tooltip="true"/>
<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" :show-overflow-tooltip="true"/>
<el-table-column label="检验工具" align="left" prop="checkTool" width="90"/>
<el-table-column label="检测项分类" align="center" prop="itemType" width="100" :formatter="itemTypeFormat" />
<el-table-column label="合格判定比例" align="center" prop="judgeRate" width="150"/>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
@ -109,6 +121,8 @@ export default {
itemList: null,
ruleName: null,
projectType:null,
editTabsValue: '',
tabIndex: null,
//
bomCode: undefined,
defaultProps: {
@ -120,6 +134,8 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
ruleName: null,
projectType: null,
groupId:null,
materialCode:null,
typeCode:null
@ -132,10 +148,21 @@ export default {
},
methods: {
//
itemTypeFormat(row, column, cellValue) {
if (cellValue != null) {
if(cellValue=='1'){
return '包装';
}else if(cellValue=='0'){
return '内容物';
}
}
},
//
getProjectList() {
getProjectOptions(this.queryParams).then(response => {
this.projectTypeOptions = response;
this.tabIndex = response.length;
});
},
@ -166,13 +193,15 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryProjectForm");
this.queryParams.projectType = '';
this.editTabsValue = '';
this.handleQuery();
},
//
handleBomSelectionChange(selection) {
this.selectionRows = selection
},
handleBomSelectionChange(selection) {
this.selectionRows = selection
},
handleEdit(index, row) {
console.log('row:',index, row);
},
@ -187,6 +216,11 @@ export default {
this.ruleName = '';
this.projectType = '';
},
handleClick(tab,event) {
this.queryParams.projectType = tab.name;
this.getList();
}
}
};
</script>

@ -120,6 +120,8 @@
</el-table-column>
<el-table-column label="抽样方案" align="center" prop="samplePlan" :show-overflow-tooltip="true" width="200"/>
<el-table-column label="合格判定" align="center" prop="judge" :show-overflow-tooltip="true" width="200"/>
<el-table-column label="检测项分类" align="center" prop="itemType" width="100" :formatter="itemTypeFormat" />
<el-table-column label="合格判定比例" align="center" prop="judgeRate" width="150"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope">
<el-button
@ -244,6 +246,21 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="检测项分类" prop="itemType">
<el-radio v-model="form.itemType" label="1"></el-radio>
<el-radio v-model="form.itemType" label="0"></el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="合格判定比例" prop="judgeRate">
<el-input type='number' v-model="form.judgeRate" placeholder="合格判定比例" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
@ -365,6 +382,17 @@ export default {
this.getProjectTypeList();
},
methods: {
//
itemTypeFormat(row, column, cellValue) {
if (cellValue != null) {
if(cellValue=='1'){
return '包装';
}else if(cellValue=='0'){
return '内容物';
}
}
},
/** 查询检验项目维护列表 */
getList() {
this.loading = true;

@ -166,8 +166,8 @@
}}</el-button>
</template>
</el-table-column>
<el-table-column label="批次号" align="center" prop="incomeBatchNo" width="200" :show-overflow-tooltip="true"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<!--<el-table-column label="批次号" align="center" prop="incomeBatchNo" width="200" :show-overflow-tooltip="true"/>-->
<el-table-column label="订单号" align="center" prop="orderNo" width="130"/>
<el-table-column label="物料号" align="center" prop="materialCode" width="170" />
<el-table-column label="物料名称" align="center" prop="materialName" width="250" :show-overflow-tooltip="true"/>
<el-table-column label="数量" align="center" prop="quality" />

Loading…
Cancel
Save