|
@@ -122,6 +122,15 @@
|
|
<el-button v-show="editStatus" type="primary" icon="Plus" @click="handleChoiceFurnaceNoInfo()">
|
|
<el-button v-show="editStatus" type="primary" icon="Plus" @click="handleChoiceFurnaceNoInfo()">
|
|
批量选择炉号
|
|
批量选择炉号
|
|
</el-button>
|
|
</el-button>
|
|
|
|
+ <el-button
|
|
|
|
+ v-show="editStatus"
|
|
|
|
+ :disabled="selections.length === 0"
|
|
|
|
+ type="primary"
|
|
|
|
+ icon="Plus"
|
|
|
|
+ @click="handleShowMultiDialogProcesses"
|
|
|
|
+ >
|
|
|
|
+ 批量选择工序
|
|
|
|
+ </el-button>
|
|
</div>
|
|
</div>
|
|
<div class="el-table-container">
|
|
<div class="el-table-container">
|
|
<div class="el-table-inner-container">
|
|
<div class="el-table-inner-container">
|
|
@@ -131,6 +140,7 @@
|
|
<el-table-column label="行号" type="index" align="center" width="48" />
|
|
<el-table-column label="行号" type="index" align="center" width="48" />
|
|
<el-table-column label="批次号" align="center" prop="lotCode" width="104" />
|
|
<el-table-column label="批次号" align="center" prop="lotCode" width="104" />
|
|
<el-table-column label="产品描述" align="center" prop="productDescription" width="320" />
|
|
<el-table-column label="产品描述" align="center" prop="productDescription" width="320" />
|
|
|
|
+ <el-table-column label="图纸版本" width="80" prop="technologyVersion" align="center" />
|
|
<el-table-column label="产品数" align="center" width="160" prop="productNum">
|
|
<el-table-column label="产品数" align="center" width="160" prop="productNum">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="箱数" align="center" prop="newCarrierCount" width="100">
|
|
<el-table-column label="箱数" align="center" prop="newCarrierCount" width="100">
|
|
@@ -154,6 +164,14 @@
|
|
<span v-else>{{ scope.row.furnaceNoInfo.furnaceNumber }}</span>
|
|
<span v-else>{{ scope.row.furnaceNoInfo.furnaceNumber }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
+ <el-table-column label="标识" width="300" align="center">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-tag v-if="scope.row.isWaste == 1" class="spacing" type="danger">{{ "批废" }}</el-tag>
|
|
|
|
+ <el-tag v-if="scope.row.isAmend == 1" class="spacing" type="danger">{{ "工艺修改" }}</el-tag>
|
|
|
|
+ <el-tag v-if="scope.row.isWasteRecycling == 1" class="spacing" type="primary">{{ "废品回用" }}</el-tag>
|
|
|
|
+ <el-tag v-if="scope.row.isSuperaddition == 1" class="spacing" type="warning">{{ "追增" }}</el-tag>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column label="外协工序" align="center" prop="processNames" width="320">
|
|
<el-table-column label="外协工序" align="center" prop="processNames" width="320">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-input v-if="editStatus && scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.processNames"
|
|
<el-input v-if="editStatus && scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.processNames"
|
|
@@ -165,14 +183,14 @@
|
|
<span v-else>{{ scope.row.processNames }}</span>
|
|
<span v-else>{{ scope.row.processNames }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="备注" align="center" prop="remark">
|
|
|
|
|
|
+ <el-table-column label="备注" align="center" prop="remark" width="300">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-input v-if="editStatus && scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.remark"
|
|
<el-input v-if="editStatus && scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.remark"
|
|
placeholder="备注" />
|
|
placeholder="备注" />
|
|
<span v-else>{{ scope.row.remark }}</span>
|
|
<span v-else>{{ scope.row.remark }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column v-if="editStatus" label="操作" align="center" class-name="small-padding fixed-width"
|
|
|
|
|
|
+ <el-table-column v-if="editStatus" label="操作" align="center" fixed="right" class-name="small-padding fixed-width"
|
|
width="64">
|
|
width="64">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-button circle type="danger" v-if="scope.row.hasReturnReceiptDetailFlag" icon="Delete"
|
|
<el-button circle type="danger" v-if="scope.row.hasReturnReceiptDetailFlag" icon="Delete"
|
|
@@ -191,6 +209,8 @@
|
|
|
|
|
|
<!-- 工序选择 -->
|
|
<!-- 工序选择 -->
|
|
<dialog-processes ref="dialogProcessesRef" :multiple-selected="handleMultipleSelectedProcesses" />
|
|
<dialog-processes ref="dialogProcessesRef" :multiple-selected="handleMultipleSelectedProcesses" />
|
|
|
|
+ <!-- 批量工序选择 -->
|
|
|
|
+ <dialog-multiProcess ref="dialogMultiProcessRef" :multiple-selected="handleMultipleSetProcesses" />
|
|
<!-- 新箱号选择 -->
|
|
<!-- 新箱号选择 -->
|
|
<DialogFurnaceNoInfo ref="dialogFurnaceNoInfoRef" :singleSelected="handleSingleSelectFurnaceNoInfo" />
|
|
<DialogFurnaceNoInfo ref="dialogFurnaceNoInfoRef" :singleSelected="handleSingleSelectFurnaceNoInfo" />
|
|
<!-- 历史记录弹窗 -->
|
|
<!-- 历史记录弹窗 -->
|
|
@@ -216,6 +236,7 @@ import DialogFurnaceNoInfo from "./DialogFurnaceNoInfo";
|
|
import dialogSuppliers from "./DialogSuppliers";
|
|
import dialogSuppliers from "./DialogSuppliers";
|
|
import dialogProducts from "./DialogProducts";
|
|
import dialogProducts from "./DialogProducts";
|
|
import dialogProcesses from "./DialogProcesses";
|
|
import dialogProcesses from "./DialogProcesses";
|
|
|
|
+import dialogMultiProcess from "./multiSingleChangeDialog";
|
|
import dialogOutsourcedRecords from "./DialogOutsourcedRecords";
|
|
import dialogOutsourcedRecords from "./DialogOutsourcedRecords";
|
|
// import FormDetailsRecycling from "./detailsRecyclingForm";
|
|
// import FormDetailsRecycling from "./detailsRecyclingForm";
|
|
const { proxy } = getCurrentInstance();
|
|
const { proxy } = getCurrentInstance();
|
|
@@ -640,6 +661,7 @@ const handleMultipleSelectedProducts = (selection) => {
|
|
supplierId: form.value.supplierId,
|
|
supplierId: form.value.supplierId,
|
|
supplierName: form.value.supplierName,
|
|
supplierName: form.value.supplierName,
|
|
masterId: form.value.id,
|
|
masterId: form.value.id,
|
|
|
|
+
|
|
};
|
|
};
|
|
getLotByProductionPlanSub(requestData).then((res) => {
|
|
getLotByProductionPlanSub(requestData).then((res) => {
|
|
// console.log(res)
|
|
// console.log(res)
|
|
@@ -661,6 +683,48 @@ const handleShowDialogProcesses = (row) => {
|
|
currentDetail.value = row;
|
|
currentDetail.value = row;
|
|
proxy.$refs.dialogProcessesRef.open(row);
|
|
proxy.$refs.dialogProcessesRef.open(row);
|
|
};
|
|
};
|
|
|
|
+function handleShowMultiDialogProcesses (){
|
|
|
|
+ if (selections.value.every((item) => item.isWaste == 1)) {
|
|
|
|
+ proxy.$message.error("批废不能再进行操作");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //判断是否同产品、同计划、同工艺版本
|
|
|
|
+ let isConsistent =
|
|
|
|
+ selections.value.every(
|
|
|
|
+ (item) => item.productionPlanDetailId === selections.value[0].productionPlanDetailId
|
|
|
|
+ ) &&
|
|
|
|
+ selections.value.every(
|
|
|
|
+ (item) => item.technologyVersion === selections.value[0].technologyVersion
|
|
|
|
+ )&&
|
|
|
|
+ selections.value.every(
|
|
|
|
+ (item) => item.productId === selections.value[0].productId
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ if (!isConsistent) {
|
|
|
|
+ proxy.$modal.msgError("请选择同产品、同计划、同工艺版本的数据");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ //判断是否未修改过的批次
|
|
|
|
+ isConsistent =
|
|
|
|
+ selections.value.every((item) => item.isAmend == 0) &&
|
|
|
|
+ selections.value.every((item) => item.isWaste == 0) &&
|
|
|
|
+ selections.value.every((item) => item.isWasteRecycling == 0);
|
|
|
|
+
|
|
|
|
+ if (!isConsistent) {
|
|
|
|
+ proxy.$modal.msgError("只能选择标准工艺的数据进行批量操作");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ console.log(selections.value)
|
|
|
|
+ if (selections.value.filter(
|
|
|
|
+ (item) => !item.hasReturnReceiptDetailFlag
|
|
|
|
+ ).length >0) {
|
|
|
|
+ proxy.$modal.msgError("已经收回审核数据不能进行批量选择工序操作");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ console.log(selections.value)
|
|
|
|
+ proxy.$refs.dialogMultiProcessRef.open(selections.value)
|
|
|
|
+}
|
|
|
|
|
|
// 工序选择带回
|
|
// 工序选择带回
|
|
const handleMultipleSelectedProcesses = (selection) => {
|
|
const handleMultipleSelectedProcesses = (selection) => {
|
|
@@ -698,6 +762,59 @@ const handleMultipleSelectedProcesses = (selection) => {
|
|
currentDetail.value.processes.push(newProcess);
|
|
currentDetail.value.processes.push(newProcess);
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
+const handleMultipleSetProcesses = (selection) => {
|
|
|
|
+ console.log(selections.value)
|
|
|
|
+ console.log(form.value.details)
|
|
|
|
+ for(let i = 0; i < selections.value.length; i++){
|
|
|
|
+ console.log(selections.value[i])
|
|
|
|
+ let currentOriginal = form.value.details.filter(
|
|
|
|
+ (item) => (item.lotId == selections.value[i].lotId)
|
|
|
|
+ );
|
|
|
|
+ console.log(currentOriginal)
|
|
|
|
+ let flag = true;
|
|
|
|
+ if (
|
|
|
|
+ currentOriginal[0].returnReceiptDetailList &&
|
|
|
|
+ currentOriginal[0].returnReceiptDetailList.length > 0
|
|
|
|
+ ) {
|
|
|
|
+ selection.forEach((item) => {
|
|
|
|
+ if (
|
|
|
|
+ currentOriginal[0].processes.findIndex(
|
|
|
|
+ (info) => info.processStepNumber == item.processStepNumber
|
|
|
|
+ ) < 0
|
|
|
|
+ ) {
|
|
|
|
+ flag = false;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ if (flag) {
|
|
|
|
+ const processNames = selection
|
|
|
|
+ .sort((a, b) => a.processStepNumber - b.processStepNumber)
|
|
|
|
+ .map((item) => item.processAlias);
|
|
|
|
+ // 使用join方法将数组转换为以逗号分隔的字符串
|
|
|
|
+ let commaSeparatedString = processNames.join(",");
|
|
|
|
+ currentOriginal.processes = [];
|
|
|
|
+ form.value.details.filter(
|
|
|
|
+ (item) => (item.lotId == selections.value[i].lotId)
|
|
|
|
+ )[0] .processNames = commaSeparatedString;
|
|
|
|
+ selection.forEach((item) => {
|
|
|
|
+ const newProcess = {
|
|
|
|
+ processId: item.processId,
|
|
|
|
+ processCode: item.processCode,
|
|
|
|
+ processAlias: item.processAlias,
|
|
|
|
+ processStepNumber: item.processStepNumber,
|
|
|
|
+ technologicalProcessDetailId: item.id,
|
|
|
|
+ };
|
|
|
|
+ currentOriginal.processes.push(newProcess);
|
|
|
|
+ });
|
|
|
|
+ form.value.details.filter(
|
|
|
|
+ (item) => (item.lotId == selections.value[i].lotId)
|
|
|
|
+ )[0] .processes = currentOriginal.processes;
|
|
|
|
+ console.log(form.value.details)
|
|
|
|
+ } else {
|
|
|
|
+ proxy.$modal.msgError("外协厂/德迈仕已收回,不可添加新工序");
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
|
|
function handleSelectionChange(selection) {
|
|
function handleSelectionChange(selection) {
|
|
selections.value = selection;
|
|
selections.value = selection;
|