镀前管理接口联调

dev-scheduling
zhangdi 2 months ago
parent 4cd8e9bbc5
commit 32d1906137
  1. 10
      src/api/productionManagement/beforeAndAfterPlating.js
  2. 4
      src/views/productionManagement/beforeAndAfterPlating.vue
  3. 299
      src/views/productionManagement/components/afterPlatingEntryDialog.vue
  4. 260
      src/views/productionManagement/components/beforePlatingBoundDialog.vue
  5. 243
      src/views/productionManagement/components/beforePlatingEntryDialog.vue
  6. 9
      src/views/productionManagement/js/platingColumnData.js

@ -65,3 +65,13 @@ export const loadPlateAround = (params) => {
params: params,
});
};
// 镀前入库、镀前出库、镀后入库保存
export const savePlateFrontEnter = (params) => {
return request({
url: '/blade-desk/plateAround/savePlateAround',
method: 'post',
data: params,
});
};

@ -34,12 +34,12 @@
></before-plating-entry-dialog>
<!-- 镀前出库 -->
<before-plating-bound-dialog
:bound-dialog="boundDialog"
:show-dialog="boundDialog"
@closeDialog="closeDialog"
></before-plating-bound-dialog>
<!-- 镀后入库 -->
<after-plating-entry-dialog
:after-bound-dialog="afterBoundDialog"
:show-dialog="afterBoundDialog"
@closeDialog="closeDialog"
></after-plating-entry-dialog>
</basic-container>

@ -2,10 +2,11 @@
<el-dialog
title="新增"
append-to-body
:modelValue="afterBoundDialog"
width="90%"
:modelValue="showDialog"
width="100%"
@close="closeDialog"
@open="open"
fullscreen
>
<div style="margin-bottom: 20px">
<el-input
@ -13,122 +14,76 @@
style="width: 220px; margin-right: 10px"
v-model="cardNo"
@keyup.enter="handleEnter"
@keydown.enter.prevent
></el-input>
<el-button plain type="danger" @click="handleDelete">删除选择行</el-button>
<!-- <el-button type="primary" @click="handleSave">保存</el-button> -->
</div>
<el-table
:data="beforePlatingEntryData"
@selection-change="selectionChangeProject"
@select="selectChange"
>
<el-table-column type="selection"></el-table-column>
<el-table-column label="移交类型" prop="hrTypeBool" width="150" align="center">
<template #default="scope">
<el-select v-model="scope.row.tsName">
<el-option label="转工" value="true"></el-option>
<el-option label="入库" value="false"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="转交部门" prop="useDept" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.useDept"></el-input>
</template>
</el-table-column>
<el-table-column label="下级B号" prop="nextRoam" width="150" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextRoam"></el-input>
</template>
</el-table-column>
<el-table-column label="下级B号名称" prop="nextRoamName" width="150" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextRoamName"></el-input>
</template>
</el-table-column>
<el-table-column label="单号" prop="paCode" width="150" align="center"></el-table-column>
<el-table-column label="车间订单" prop="woId" width="150" align="center">
<template #default="scope">
<el-input v-model="scope.row.woId"></el-input>
</template>
</el-table-column>
<el-table-column label="批单号" prop="batchNo" width="150" align="center"></el-table-column>
<el-table-column label="入库数量" prop="quantity" width="150" align="center">
<template #default="scope">
<el-input v-model="scope.row.quantity"></el-input>
</template>
</el-table-column>
<el-table-column label="重量" prop="weight" width="150" align="center">
<template #default="scope">
<el-input v-model="scope.row.weight"></el-input>
</template>
</el-table-column>
<el-table-column
label="流转编号"
prop="prWorkOrder.pjYieldOrder.roamNo"
width="150"
align="center"
></el-table-column>
<el-table-column
label="编号名称"
prop="prWorkOrder.pjYieldOrder.roamName"
width="150"
align="center"
></el-table-column>
<el-table-column
label="流程卡号"
prop="prWorkOrder.cardNo"
width="150"
align="center"
></el-table-column>
<el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center">
<template #default="scope">
<el-select v-model="scope.row.tsName">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option>
<el-option label="L235" value="L235"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="入库工序号" prop="orders" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.orders"></el-input>
</template>
</el-table-column>
<el-table-column label="入库工序名称" prop="ppsName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.ppsName"></el-input>
</template>
</el-table-column>
<el-table-column label="上序号" prop="nextOrders" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextOrders"></el-input>
</template>
</el-table-column>
<el-table-column label="上序名称" prop="nextPpsName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextPpsName"></el-input>
</template>
</el-table-column>
<el-table-column label="上序班组/供应商" prop="nextTsName" width="200" align="center">
<template #default="scope">
<el-select v-model="scope.row.nextTsName">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option>
<el-option label="L235" value="L235"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="入库人员" prop="userName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.userName"></el-input>
</template>
</el-table-column>
<el-table-column label="入库时间" prop="createTime" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.createTime"></el-input>
</template>
</el-table-column>
</el-table>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<!-- 全局错误提示 -->
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
{{ formError }}
</div>
<el-table
:data="form.beforePlatingEntryData"
@selection-change="selectionChangeProject"
@select="selectChange"
v-loading="tableLoading"
>
<el-table-column type="selection" fixed></el-table-column>
<el-table-column label="单号" prop="paCode" align="center"></el-table-column>
<el-table-column label="车间订单" prop="woCode" align="center">
<template #header>
<span><i style="color: red">*</i>车间订单</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].woCode`"
:rules="formRules.woCode"
>
<el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="批单号" prop="batchNo" align="center"></el-table-column>
<el-table-column label="流程卡号" prop="cardNo" align="center"></el-table-column>
<el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center">
</el-table-column>
<el-table-column label="入库工序号" prop="orders" align="center"> </el-table-column>
<el-table-column label="入库工序名称" prop="ppsName" align="center"> </el-table-column>
<el-table-column label="下序号" prop="nextOrders" align="center"> </el-table-column>
<el-table-column label="下序名称" prop="nextPpsName" align="center"> </el-table-column>
<el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center">
</el-table-column>
<el-table-column label="入库数量" prop="quantity" align="center"> </el-table-column>
<el-table-column label="入库人员" prop="userName" align="center">
<template #header>
<span><i style="color: red">*</i>入库人员</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].userName`"
:rules="formRules.userName"
>
<el-input v-model="scope.row.userName"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="入库时间" prop="createTime" align="center">
<template #header>
<span><i style="color: red">*</i>入库时间</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].createTime`"
:rules="formRules.createTime"
>
<el-input v-model="scope.row.createTime"></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
<template #footer>
<span class="dialog-footer">
@ -140,35 +95,131 @@
</template>
<script>
import { getAfterPlatCardNo } from '@/api/productionManagement/beforeAndAfterPlating';
import {
getList,
getBeforePlatInCardNo,
savePlateFrontEnter,
} from '@/api/productionManagement/beforeAndAfterPlating';
export default {
props: {
afterBoundDialog: {
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
tableLoading: false,
formError: '',
cardNo: '',
beforePlatingEntryData: [],
form: {
beforePlatingEntryData: [],
},
formRules: {
beforePlatingEntryData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array', //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
trigger: 'submit',
},
],
woCode: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
userName: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
createTime: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
},
};
},
mounted() {},
methods: {
open() {
this.cardNo = '';
this.beforePlatingEntryData = [];
this.form.beforePlatingEntryData = [];
},
handleEnter() {
getAfterPlatCardNo({ cardNo: this.cardNo }).then(res => {
this.beforePlatingEntryData = res.data.data;
});
this.tableLoading = true;
getBeforePlatInCardNo({ cardNo: this.cardNo })
.then(res => {
this.form.beforePlatingEntryData = res.data;
})
.catch(err => {
this.tableLoading = false;
});
},
handleDelete() {
this.form.beforePlatingEntryData = this.form.beforePlatingEntryData.filter(
row => !row._select
);
},
handleDelete() {},
handleSave() {
this.closeDialog();
this.formError = '';
// Form
this.$refs.tableForm.validate((isValid, invalidFields) => {
if (!isValid) {
//
this.formError = '存在未完善的字段,请检查表格中的红色提示';
this.$nextTick(() => {
//
const firstError = document.querySelector('.el-form-item.is-error');
if (firstError) {
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
return;
}
//
const submitData = this.form.tableData.map(row => {
const { _select, ...validData } = row; //
return validData;
});
//
try {
savePlateFrontEnter({ plateArounds: this.form.beforePlatingEntryData, paType: 3 }).then(
res => {
this.$message.success('提交成功');
this.closeDialog();
this.$emit('submitSuccess', submitData);
}
);
//
} catch (err) {
this.$message.error('网络错误,请稍后重试');
console.error('提交失败:', err);
}
});
},
selectionChangeProject() {},
selectChange() {},

@ -2,10 +2,11 @@
<el-dialog
title="新增"
append-to-body
:modelValue="boundDialog"
width="90%"
:modelValue="showDialog"
width="100%"
@close="closeDialog"
@open="open"
fullscreen
>
<div style="margin-bottom: 20px">
<el-input
@ -13,71 +14,90 @@
style="width: 220px; margin-right: 10px"
v-model="cardNo"
@keyup.enter="handleEnter"
@keydown.enter.prevent
></el-input>
<el-button plain type="danger" @click="handleDelete">删除选择行</el-button>
<!-- <el-button type="primary" @click="handleSave">保存</el-button> -->
</div>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<!-- 全局错误提示 -->
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
{{ formError }}
</div>
<el-table
:data="form.beforePlatingEntryData"
@selection-change="selectionChangeProject"
@select="selectChange"
v-loading="tableLoading"
height="500px"
>
<el-table-column type="selection" fixed></el-table-column>
<el-table-column label="移交类型" prop="paCode" align="center">
<template #default="scope">
<el-input v-model="scope.row.woCode" placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="转交部门" prop="paCode" align="center" width="100">
<template #header>
<span><i style="color: red">*</i>转交部门</span>
</template>
</el-table-column>
<el-table-column label="下级B号" prop="paCode" align="center"> </el-table-column>
<el-table-column label="下级B号名称" prop="paCode" align="center" width="120"> </el-table-column>
<el-table-column label="单号" prop="paCode" align="center"> </el-table-column>
<el-table-column label="车间订单" prop="woCode" align="center" width="100">
<template #header>
<span><i style="color: red">*</i>车间订单</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].woCode`"
:rules="formRules.woCode"
>
<el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="批单号" prop="batchNo" align="center"></el-table-column>
<el-table-column label="流程卡号" prop="cardNo" align="center"></el-table-column>
<el-table-column label="出库班组/供应商" prop="tsName" width="200" align="center">
</el-table-column>
<el-table-column label="出库工序号" prop="orders" align="center" width="100"> </el-table-column>
<el-table-column label="出库工序名称" prop="ppsName" align="center" width="120"> </el-table-column>
<el-table-column label="下序号" prop="nextOrders" align="center"> </el-table-column>
<el-table-column label="下序名称" prop="nextPpsName" align="center"> </el-table-column>
<el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center">
</el-table-column>
<el-table-column label="出库数量" prop="quantity" align="center" > </el-table-column>
<el-table-column label="出库人员" prop="userName" align="center" width="100">
<template #header>
<span><i style="color: red">*</i>出库人员</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].userName`"
:rules="formRules.userName"
>
<el-input v-model="scope.row.userName"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="出库时间" prop="createTime" align="center" width="100">
<template #header>
<span><i style="color: red">*</i>出库时间</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].createTime`"
:rules="formRules.createTime"
>
<el-input v-model="scope.row.createTime"></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
<el-table
:data="beforePlatingEntryData"
@selection-change="selectionChangeProject"
@select="selectChange"
>
<el-table-column type="selection"></el-table-column>
<el-table-column label="单号" prop="paCode" width="150" align="center"></el-table-column>
<el-table-column label="车间订单" prop="woCode" width="200" align="center"></el-table-column>
<el-table-column label="批单号" prop="batchNo" width="150" align="center"></el-table-column>
<el-table-column label="流程卡号" prop="cardNo" width="150" align="center"></el-table-column>
<el-table-column label="出库班组/供应商" prop="tsName" width="200" align="center">
<template #default="scope">
<el-select v-model="scope.row.tsName">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option>
<el-option label="L235" value="L235"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="出库工序号" prop="orders" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.orders"></el-input>
</template>
</el-table-column>
<el-table-column label="出库工序名称" prop="ppsName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.ppsName"></el-input>
</template>
</el-table-column>
<el-table-column label="上序号" prop="nextOrders" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextOrders"></el-input>
</template>
</el-table-column>
<el-table-column label="上序名称" prop="nextPpsName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextPpsName"></el-input>
</template>
</el-table-column>
<el-table-column label="上序班组/供应商" prop="nextTsName" width="200" align="center">
<template #default="scope">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option>
<el-option label="L235" value="L235"></el-option>
</template>
</el-table-column>
<el-table-column label="出库数量" prop="quantity" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.quantity"></el-input>
</template>
</el-table-column>
<el-table-column label="出库人员" prop="userName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.userName"></el-input>
</template>
</el-table-column>
<el-table-column label="出库时间" prop="createTime" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.createTime"></el-input>
</template>
</el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
@ -88,35 +108,131 @@
</template>
<script>
import { getBeforePlatOutCardNo } from '@/api/productionManagement/beforeAndAfterPlating';
import {
getList,
getBeforePlatInCardNo,
savePlateFrontEnter,
} from '@/api/productionManagement/beforeAndAfterPlating';
export default {
props: {
boundDialog: {
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
tableLoading: false,
formError: '',
cardNo: '',
beforePlatingEntryData: [],
form: {
beforePlatingEntryData: [],
},
formRules: {
beforePlatingEntryData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array', //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
trigger: 'submit',
},
],
woCode: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
userName: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
createTime: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
},
};
},
mounted() {},
methods: {
open() {
this.cardNo = '';
this.beforePlatingEntryData = [];
this.form.beforePlatingEntryData = [];
},
handleEnter() {
getBeforePlatOutCardNo({ cardNo: this.cardNo }).then(res => {
this.beforePlatingEntryData = res.data;
});
this.tableLoading = true;
getBeforePlatInCardNo({ cardNo: this.cardNo })
.then(res => {
this.form.beforePlatingEntryData = res.data;
})
.catch(err => {
this.tableLoading = false;
});
},
handleDelete() {
this.form.beforePlatingEntryData = this.form.beforePlatingEntryData.filter(
row => !row._select
);
},
handleDelete() {},
handleSave() {
this.closeDialog();
this.formError = '';
// Form
this.$refs.tableForm.validate((isValid, invalidFields) => {
if (!isValid) {
//
this.formError = '存在未完善的字段,请检查表格中的红色提示';
this.$nextTick(() => {
//
const firstError = document.querySelector('.el-form-item.is-error');
if (firstError) {
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
return;
}
//
const submitData = this.form.tableData.map(row => {
const { _select, ...validData } = row; //
return validData;
});
//
try {
savePlateFrontEnter({ plateArounds: this.form.beforePlatingEntryData, paType: 2 }).then(
res => {
this.$message.success('提交成功');
this.closeDialog();
this.$emit('submitSuccess', submitData);
}
);
//
} catch (err) {
this.$message.error('网络错误,请稍后重试');
console.error('提交失败:', err);
}
});
},
selectionChangeProject() {},
selectChange() {},

@ -3,9 +3,10 @@
title="新增"
append-to-body
:modelValue="showDialog"
width="90%"
width="100%"
@close="closeDialog"
@open="open"
fullscreen
>
<div style="margin-bottom: 20px">
<el-input
@ -13,71 +14,76 @@
style="width: 220px; margin-right: 10px"
v-model="cardNo"
@keyup.enter="handleEnter"
@keydown.enter.prevent
></el-input>
<el-button plain type="danger" @click="handleDelete">删除选择行</el-button>
<!-- <el-button type="primary" @click="handleSave">保存</el-button> -->
</div>
<el-table
:data="beforePlatingEntryData"
@selection-change="selectionChangeProject"
@select="selectChange"
>
<el-table-column type="selection"></el-table-column>
<el-table-column label="单号" prop="paCode" width="150" align="center"></el-table-column>
<el-table-column label="车间订单" prop="woCode" width="200" align="center"></el-table-column>
<el-table-column label="批单号" prop="batchNo" width="150" align="center"></el-table-column>
<el-table-column label="流程卡号" prop="cardNo" width="150" align="center"></el-table-column>
<el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center">
<template #default="scope">
<el-select v-model="scope.row.tsName">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option>
<el-option label="L235" value="L235"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="入库工序号" prop="orders" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.orders"></el-input>
</template>
</el-table-column>
<el-table-column label="入库工序名称" prop="ppsName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.ppsName"></el-input>
</template>
</el-table-column>
<el-table-column label="下序号" prop="nextOrders" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextOrders"></el-input>
</template>
</el-table-column>
<el-table-column label="下序名称" prop="nextPpsName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.nextPpsName"></el-input>
</template>
</el-table-column>
<el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center">
<template #default="scope">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option>
<el-option label="L235" value="L235"></el-option>
</template>
</el-table-column>
<el-table-column label="入库数量" prop="quantity" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.quantity"></el-input>
</template>
</el-table-column>
<el-table-column label="入库人员" prop="userName" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.userName"></el-input>
</template>
</el-table-column>
<el-table-column label="入库时间" prop="createTime" width="200" align="center">
<template #default="scope">
<el-input v-model="scope.row.createTime"></el-input>
</template>
</el-table-column>
</el-table>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<!-- 全局错误提示 -->
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
{{ formError }}
</div>
<el-table
:data="form.beforePlatingEntryData"
@selection-change="selectionChangeProject"
@select="selectChange"
v-loading="tableLoading"
>
<el-table-column type="selection" fixed></el-table-column>
<el-table-column label="单号" prop="paCode" align="center"></el-table-column>
<el-table-column label="车间订单" prop="woCode" align="center">
<template #header>
<span><i style="color: red">*</i>车间订单</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].woCode`"
:rules="formRules.woCode"
>
<el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="批单号" prop="batchNo" align="center"></el-table-column>
<el-table-column label="流程卡号" prop="cardNo" align="center"></el-table-column>
<el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center">
</el-table-column>
<el-table-column label="入库工序号" prop="orders" align="center"> </el-table-column>
<el-table-column label="入库工序名称" prop="ppsName" align="center"> </el-table-column>
<el-table-column label="下序号" prop="nextOrders" align="center"> </el-table-column>
<el-table-column label="下序名称" prop="nextPpsName" align="center"> </el-table-column>
<el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center">
</el-table-column>
<el-table-column label="入库数量" prop="quantity" align="center"> </el-table-column>
<el-table-column label="入库人员" prop="userName" align="center">
<template #header>
<span><i style="color: red">*</i>入库人员</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].userName`"
:rules="formRules.userName"
>
<el-input v-model="scope.row.userName"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="入库时间" prop="createTime" align="center">
<template #header>
<span><i style="color: red">*</i>入库时间</span>
</template>
<template #default="scope">
<el-form-item
:prop="`beforePlatingEntryData[${scope.$index}].createTime`"
:rules="formRules.createTime"
>
<el-input v-model="scope.row.createTime"></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
<template #footer>
<span class="dialog-footer">
@ -89,7 +95,11 @@
</template>
<script>
import { getList, getBeforePlatInCardNo } from '@/api/productionManagement/beforeAndAfterPlating';
import {
getList,
getBeforePlatInCardNo,
savePlateFrontEnter,
} from '@/api/productionManagement/beforeAndAfterPlating';
export default {
props: {
showDialog: {
@ -99,24 +109,117 @@ export default {
},
data() {
return {
tableLoading: false,
formError: '',
cardNo: '',
beforePlatingEntryData: [],
form: {
beforePlatingEntryData: [],
},
formRules: {
beforePlatingEntryData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array', //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
trigger: 'submit',
},
],
woCode: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
userName: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
createTime: [
{
required: true,
message: '请输入',
trigger: 'blur',
},
],
},
};
},
mounted() {},
methods: {
open() {
this.cardNo = '';
this.beforePlatingEntryData = [];
this.form.beforePlatingEntryData = [];
},
handleEnter() {
getBeforePlatInCardNo({ cardNo: this.cardNo }).then(res => {
this.beforePlatingEntryData = res.data;
});
this.tableLoading = true;
getBeforePlatInCardNo({ cardNo: this.cardNo })
.then(res => {
this.form.beforePlatingEntryData = res.data;
})
.catch(err => {
this.tableLoading = false;
});
},
handleDelete() {
this.form.beforePlatingEntryData = this.form.beforePlatingEntryData.filter(
row => !row._select
);
},
handleDelete() {},
handleSave() {
this.closeDialog();
this.formError = '';
// Form
this.$refs.tableForm.validate((isValid, invalidFields) => {
if (!isValid) {
//
this.formError = '存在未完善的字段,请检查表格中的红色提示';
this.$nextTick(() => {
//
const firstError = document.querySelector('.el-form-item.is-error');
if (firstError) {
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
return;
}
//
const submitData = this.form.tableData.map(row => {
const { _select, ...validData } = row; //
return validData;
});
//
try {
savePlateFrontEnter({ plateArounds: this.form.beforePlatingEntryData, paType: 1 }).then(
res => {
this.$message.success('提交成功');
this.closeDialog();
this.$emit('submitSuccess', submitData);
}
);
//
} catch (err) {
this.$message.error('网络错误,请稍后重试');
console.error('提交失败:', err);
}
});
},
selectionChangeProject() {},
selectChange() {},

@ -23,6 +23,7 @@ export default {
span: 24,
width: 200,
search: true,
searchLabelWidth:100,
},
{
@ -80,6 +81,7 @@ export default {
span: 24,
width: 120,
search: true,
searchLabelWidth:100,
},
{
@ -88,6 +90,7 @@ export default {
span: 24,
search: true,
width: 150,
searchLabelWidth:100,
},
{
@ -135,6 +138,7 @@ export default {
width: 200,
span: 24,
search: true,
searchLabelWidth:100,
},
{
@ -183,6 +187,7 @@ export default {
width: 120,
span: 24,
search: true,
searchLabelWidth:100,
},
{
@ -191,6 +196,7 @@ export default {
width: 150,
span: 24,
search: true,
searchLabelWidth:100,
},
{
@ -238,6 +244,7 @@ export default {
width: 200,
span: 24,
search: true,
searchLabelWidth:100,
},
{
@ -312,6 +319,7 @@ export default {
span: 24,
width: 120,
search: true,
searchLabelWidth:100,
},
{
@ -320,6 +328,7 @@ export default {
width: 150,
span: 24,
search: true,
searchLabelWidth:100,
},
{

Loading…
Cancel
Save