功能升级

master
zhaoxiaolin 8 months ago
parent e179d3835d
commit 26acad94f3

@ -111,6 +111,14 @@ export function delWorkorder(workorderId) {
});
}
// 生产工单更新领料单
export function updateWorkOrderBom(workorderCode) {
return request({
url: '/plan/pro/workorder/updateWorkOrderBom/' + workorderCode,
method: 'post'
});
}
//下发生产工单
export function downWorkorder(workorderId) {
return request({

@ -136,8 +136,11 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="prepareList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table v-loading="loading" :data="prepareList"
highlight-current-row
@current-change="handleCurrentChange"
>
<!-- 序号 -->
<el-table-column type="index" align="center" :index="indexMethod" label="序号" fixed/>
<el-table-column label="工单编码" align="center" prop="workorderCode" width="150" fixed/>
@ -592,12 +595,20 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
/**单选**/
handleCurrentChange(selection) {
this.ids = selection.prepareId
this.single = selection==null
this.selectPrepare = []
this.selectPrepare.push(selection)
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.prepareId)
this.single = selection.length!==1
this.multiple = !selection.length
this.selectPrepare = selection
this.selectPrepare = selection
},
/** 新增按钮操作 */
handleAdd() {

@ -82,16 +82,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="['mes:pro:workorder:add']"
>上传SAP生产</el-button>
</el-col>-->
<el-col :span="1.5">
<el-button
type="success"
@ -199,6 +189,30 @@
>打印标识卡
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-refresh"
size="mini"
@click="handleSyncBom"
:disabled="single"
v-hasPermi="['mes:pro:workorder:edit']"
>更新领料单</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-date"
size="mini"
@click="handlePOWExport"
v-hasPermi="['mes:pro:workorder:powExport']"
>导出排产计划
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -740,7 +754,7 @@
import {
getWorkOrders,
listWorkorder,listWorkorderLevel0,getNextLevelWorkOrderList,
delWorkorder,
delWorkorder,updateWorkOrderBom,
downWorkorder,
getOrderAndWork,getProSortNo,
getWorkBatchList,
@ -1502,6 +1516,13 @@ export default {
...this.queryParams
}, `workorder_${new Date().getTime()}.xlsx`)
},
// -
handlePOWExport(){
this.download('plan/pro/workorder/powExport', {
...this.queryParams
}, `workorderPlan_${new Date().getTime()}.xlsx`)
},
// -
handlePrint(params) {
printJS({
@ -2003,6 +2024,29 @@ export default {
this.form.userName = obj.code;
this.form.nickName = obj.name;
},
//
handleSyncBom(row) {
var statusesArray = this.statuses;
for (var i = 0; i < statusesArray.length; i++) {
if (!statusesArray[i] == 'w1') {
this.$modal.msgError("工单只有派发后才可进行领料单更新!");
return
}
}
const workorderIds = row.workorderId || this.ids;
const workorderCodes = row.workorderCode || this.codes;
this.$modal.confirm('是否确认更新生产工单编号为"' + workorderCodes + '"的领料单数据?').then(function () {
return updateWorkOrderBom(workorderCodes[0]);
}).then(() => {
this.getList();
this.$modal.msgSuccess("更新成功");
}).catch(() => {
});
},
}
};
</script>

@ -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"

@ -95,7 +95,8 @@
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
<el-table-column label="任务日期" align="center" prop="createTimeStr" width="100" fixed/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120" fixed/>
<el-table-column label="订单号" align="center" prop="orderNo" width="150" fixed/>
<el-table-column label="工单号" align="center" prop="orderNo" width="130" fixed/>
<el-table-column label="订单号" align="center" prop="workorderCodeSap" width="100" fixed :formatter="orderCodeFormate"/>
<el-table-column label="产品名称" align="center" prop="materialName" width="200" fixed :show-overflow-tooltip="true"/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
@ -583,12 +584,13 @@
</el-col>
</el-row>
<el-row>
<!--
<el-col :offset="8" :span="8">
<el-form-item label="检验标准" :prop="this.standardNo">
<span>{{ this.standardNo }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col>-->
<el-col :span="8" :offset="8">
<el-form-item label="编码" :prop="form.fileNo">
<span>{{ form.fileNo }}</span>
</el-form-item>
@ -838,6 +840,19 @@ export default {
this.getCheckTypes();
},
methods: {
//
productCodeFormate(row, column, cellValue){
if(cellValue !=null){
return cellValue.slice(7,18); //
}
},
//
orderCodeFormate(row, column, cellValue){
if(cellValue !=null){
return cellValue.slice(3,18); //
}
},
//
checkStatusFormate(row, column, cellValue){
if(cellValue == 'Y'){

@ -72,8 +72,9 @@
<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="checkNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="150"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120" fixed />
<el-table-column label="工单号" align="center" prop="orderNo" width="150" fixed/>
<el-table-column label="订单号" align="center" prop="workorderCodeSap" width="100" fixed :formatter="orderCodeFormate"/>
<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" />
@ -151,7 +152,7 @@
<el-descriptions-item label="报检日期" class="my-description-item3">{{form.createTime}}</el-descriptions-item>
<el-descriptions-item label="生产批号" class="my-description-item1">{{form.incomeBatchNo}}</el-descriptions-item>
<el-descriptions-item label="检验依据" class="my-description-item2">{{form.fileNo}}</el-descriptions-item>
<el-descriptions-item label="检验依据" class="my-description-item2">09JS08S-048B</el-descriptions-item><!--{{form.standardNo}}-->
<el-descriptions-item label="检验日期" class="my-description-item3">{{form.checkTime}}</el-descriptions-item>
</el-descriptions>
<el-row class="border-row">
@ -362,6 +363,13 @@ export default {
this.getDefectType();
},
methods: {
//
orderCodeFormate(row, column, cellValue){
if(cellValue !=null){
return cellValue.slice(3,18); //
}
},
/****/
getCheckTypes() {
getCheckTypes('material').then(response => {

@ -27,9 +27,9 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单号" prop="orderNo">
<el-form-item label="订单号" prop="workorderCodeSap">
<el-input
v-model="queryParams.orderNo"
v-model="queryParams.workorderCodeSap"
placeholder="请输入订单号"
clearable
@keyup.enter.native="handleQuery"
@ -51,6 +51,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="车间名称" prop="supplierName">
<el-input
v-model="queryParams.supplierName"
@ -59,6 +60,20 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
-->
<el-form-item label="CPK品类" prop="cpkType">
<el-select
v-model="queryParams.cpkType"
placeholder="请选择品类"
>
<el-option
v-for="dict in dict.type.qms_category"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="检验结果" prop="checkResult">
<el-select
@ -177,24 +192,30 @@
}}</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="130"/>
<el-table-column label="产品号" align="center" prop="materialCode" width="130"
<el-table-column label="批次号" align="center" prop="incomeBatchNo" width="220" :show-overflow-tooltip="true" />
<el-table-column label="订单号" align="center" prop="workorderCodeSap" width="110"/>
<el-table-column label="工单号" align="center" prop="orderNo" width="130"/>
<el-table-column label="产品号" align="center" prop="materialCode" width="120"
:formatter="productCodeFormate"
/>
<el-table-column label="产品名称" align="center" prop="materialName" width="300" :show-overflow-tooltip="true" />
<el-table-column label="数量" align="center" prop="quality" />
<el-table-column label="抽样数量" align="center" prop="sampleQuality" />
<el-table-column label="不合格数量" align="center" prop="noOkQuality" width="120"/>
<el-table-column label="CPK品类" align="center" prop="cpkType" width="80">
<template slot-scope="scope">
<dict-tag :options="dict.type.qms_category" :value="scope.row.cpkType"/>
</template>
</el-table-column>
<el-table-column label="数量" align="center" prop="quality" width="80"/>
<el-table-column label="抽样数量" align="center" prop="sampleQuality" width="80"/>
<el-table-column label="不合格数量" align="center" prop="noOkQuality" width="90"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="车间编码" align="center" prop="supplierCode" width="120"/>
<el-table-column label="车间名称" align="center" prop="supplierName" width="170"/>
<el-table-column label="生产时间" align="center" prop="incomeTime" width="150">
<!--<el-table-column label="车间编码" align="center" prop="supplierCode" width="120"/>-->
<el-table-column label="车间名称" align="center" prop="supplierName" width="100"/>
<el-table-column label="生产时间" align="center" prop="incomeTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.incomeTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="检测地点" align="center" prop="checkLoc" width="120"/>
<el-table-column label="检测地点" align="center" prop="checkLoc" width="90"/>
<el-table-column label="检测状态" align="center" prop="checkStatus" >
<template slot-scope="scope">
<dict-tag
@ -204,7 +225,7 @@
</template>
</el-table-column>
<el-table-column label="检测人工号" align="center" prop="checkManCode" width="100" />
<el-table-column label="检测人姓名" align="center" prop="checkManName" width="100"/>
<el-table-column label="检测人姓名" align="center" prop="checkManName" width="90"/>
<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>
@ -459,7 +480,7 @@ import { getDefectTypeListByDefectType } from "@/api/quality/defectType.js";
export default {
name: "QcProduce",
components: { ItemSelectWorkCenter,ItemSelectUser,ItemSelectProject,ItemSelectWorkOrder,ItemSelectConfirmUser},
dicts: ["unit","check_status","check_result"],
dicts: ["unit","check_status","check_result","qms_category"],
data() {
return {
showFlag:false,

@ -30,15 +30,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="订单号" prop="orderNo">
<el-form-item label="订单号" prop="workorderCodeSap">
<el-input
v-model="queryParams.orderNo"
v-model="queryParams.workorderCodeSap"
placeholder="请输入订单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
</el-form-item>
<el-form-item label="物料号" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
@ -178,14 +178,15 @@
}}</el-button>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="orderNo" width="130"/>
<el-table-column label="批次号" align="center" prop="incomeBatchNo" width="200" :show-overflow-tooltip="true"/>
<el-table-column label="检验节点" align="center" prop="checkName" />
<el-table-column label="物料号" align="center" prop="materialCode" width="170" />
<el-table-column label="订单号" align="center" prop="workorderCodeSap" width="130"/>
<el-table-column label="工单号" align="center" prop="orderNo" width="130"/>
<el-table-column label="批次号" align="center" prop="incomeBatchNo" width="220" :show-overflow-tooltip="true"/>
<el-table-column label="检验节点" align="center" prop="checkName" width="110"/>
<el-table-column label="物料号" align="center" prop="materialCode" width="130" :formatter="productCodeFormate"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="250" :show-overflow-tooltip="true"/>
<el-table-column label="数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="车间编码" align="center" prop="supplierCode" width="120"/>
<!--<el-table-column label="车间编码" align="center" prop="supplierCode" width="120"/>-->
<el-table-column label="车间名称" align="center" prop="supplierName" width="120"/>
<el-table-column label="任务时间" align="center" prop="incomeTime" width="180">
<template slot-scope="scope">
@ -579,6 +580,12 @@ export default {
this.open = false;
this.reset();
},
//
productCodeFormate(row, column, cellValue){
if(cellValue != null){
return cellValue.slice(7,18); //
}
},
//
reset() {
this.form = {

Loading…
Cancel
Save