镀前管理接口联调

dev-scheduling
zhangdi 3 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, 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-entry-dialog>
<!-- 镀前出库 --> <!-- 镀前出库 -->
<before-plating-bound-dialog <before-plating-bound-dialog
:bound-dialog="boundDialog" :show-dialog="boundDialog"
@closeDialog="closeDialog" @closeDialog="closeDialog"
></before-plating-bound-dialog> ></before-plating-bound-dialog>
<!-- 镀后入库 --> <!-- 镀后入库 -->
<after-plating-entry-dialog <after-plating-entry-dialog
:after-bound-dialog="afterBoundDialog" :show-dialog="afterBoundDialog"
@closeDialog="closeDialog" @closeDialog="closeDialog"
></after-plating-entry-dialog> ></after-plating-entry-dialog>
</basic-container> </basic-container>

@ -2,10 +2,11 @@
<el-dialog <el-dialog
title="新增" title="新增"
append-to-body append-to-body
:modelValue="afterBoundDialog" :modelValue="showDialog"
width="90%" width="100%"
@close="closeDialog" @close="closeDialog"
@open="open" @open="open"
fullscreen
> >
<div style="margin-bottom: 20px"> <div style="margin-bottom: 20px">
<el-input <el-input
@ -13,122 +14,76 @@
style="width: 220px; margin-right: 10px" style="width: 220px; margin-right: 10px"
v-model="cardNo" v-model="cardNo"
@keyup.enter="handleEnter" @keyup.enter="handleEnter"
@keydown.enter.prevent
></el-input> ></el-input>
<el-button plain type="danger" @click="handleDelete">删除选择行</el-button> <el-button plain type="danger" @click="handleDelete">删除选择行</el-button>
<!-- <el-button type="primary" @click="handleSave">保存</el-button> --> <!-- <el-button type="primary" @click="handleSave">保存</el-button> -->
</div> </div>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<el-table <!-- 全局错误提示 -->
:data="beforePlatingEntryData" <div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
@selection-change="selectionChangeProject" {{ formError }}
@select="selectChange" </div>
> <el-table
<el-table-column type="selection"></el-table-column> :data="form.beforePlatingEntryData"
<el-table-column label="移交类型" prop="hrTypeBool" width="150" align="center"> @selection-change="selectionChangeProject"
<template #default="scope"> @select="selectChange"
<el-select v-model="scope.row.tsName"> v-loading="tableLoading"
<el-option label="转工" value="true"></el-option> >
<el-option label="入库" value="false"></el-option> <el-table-column type="selection" fixed></el-table-column>
</el-select> <el-table-column label="单号" prop="paCode" align="center"></el-table-column>
</template> <el-table-column label="车间订单" prop="woCode" align="center">
</el-table-column> <template #header>
<el-table-column label="转交部门" prop="useDept" width="200" align="center"> <span><i style="color: red">*</i>车间订单</span>
<template #default="scope"> </template>
<el-input v-model="scope.row.useDept"></el-input> <template #default="scope">
</template> <el-form-item
</el-table-column> :prop="`beforePlatingEntryData[${scope.$index}].woCode`"
<el-table-column label="下级B号" prop="nextRoam" width="150" align="center"> :rules="formRules.woCode"
<template #default="scope"> >
<el-input v-model="scope.row.nextRoam"></el-input> <el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</template> </el-form-item>
</el-table-column> </template>
<el-table-column label="下级B号名称" prop="nextRoamName" width="150" align="center"> </el-table-column>
<template #default="scope"> <el-table-column label="批单号" prop="batchNo" align="center"></el-table-column>
<el-input v-model="scope.row.nextRoamName"></el-input> <el-table-column label="流程卡号" prop="cardNo" align="center"></el-table-column>
</template> <el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center">
</el-table-column> </el-table-column>
<el-table-column label="单号" prop="paCode" width="150" align="center"></el-table-column> <el-table-column label="入库工序号" prop="orders" align="center"> </el-table-column>
<el-table-column label="车间订单" prop="woId" width="150" align="center"> <el-table-column label="入库工序名称" prop="ppsName" align="center"> </el-table-column>
<template #default="scope"> <el-table-column label="下序号" prop="nextOrders" align="center"> </el-table-column>
<el-input v-model="scope.row.woId"></el-input> <el-table-column label="下序名称" prop="nextPpsName" align="center"> </el-table-column>
</template> <el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center">
</el-table-column> </el-table-column>
<el-table-column label="批单号" prop="batchNo" width="150" align="center"></el-table-column> <el-table-column label="入库数量" prop="quantity" align="center"> </el-table-column>
<el-table-column label="入库数量" prop="quantity" width="150" align="center"> <el-table-column label="入库人员" prop="userName" align="center">
<template #default="scope"> <template #header>
<el-input v-model="scope.row.quantity"></el-input> <span><i style="color: red">*</i>入库人员</span>
</template> </template>
</el-table-column> <template #default="scope">
<el-table-column label="重量" prop="weight" width="150" align="center"> <el-form-item
<template #default="scope"> :prop="`beforePlatingEntryData[${scope.$index}].userName`"
<el-input v-model="scope.row.weight"></el-input> :rules="formRules.userName"
</template> >
</el-table-column> <el-input v-model="scope.row.userName"></el-input>
<el-table-column </el-form-item>
label="流转编号" </template>
prop="prWorkOrder.pjYieldOrder.roamNo" </el-table-column>
width="150" <el-table-column label="入库时间" prop="createTime" align="center">
align="center" <template #header>
></el-table-column> <span><i style="color: red">*</i>入库时间</span>
<el-table-column </template>
label="编号名称" <template #default="scope">
prop="prWorkOrder.pjYieldOrder.roamName" <el-form-item
width="150" :prop="`beforePlatingEntryData[${scope.$index}].createTime`"
align="center" :rules="formRules.createTime"
></el-table-column> >
<el-table-column <el-input v-model="scope.row.createTime"></el-input>
label="流程卡号" </el-form-item>
prop="prWorkOrder.cardNo" </template>
width="150" </el-table-column>
align="center" </el-table>
></el-table-column> </el-form>
<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>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
@ -140,35 +95,131 @@
</template> </template>
<script> <script>
import { getAfterPlatCardNo } from '@/api/productionManagement/beforeAndAfterPlating'; import {
getList,
getBeforePlatInCardNo,
savePlateFrontEnter,
} from '@/api/productionManagement/beforeAndAfterPlating';
export default { export default {
props: { props: {
afterBoundDialog: { showDialog: {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
}, },
data() { data() {
return { return {
tableLoading: false,
formError: '',
cardNo: '', 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() {}, mounted() {},
methods: { methods: {
open() { open() {
this.cardNo = ''; this.cardNo = '';
this.beforePlatingEntryData = []; this.form.beforePlatingEntryData = [];
}, },
handleEnter() { handleEnter() {
getAfterPlatCardNo({ cardNo: this.cardNo }).then(res => { this.tableLoading = true;
this.beforePlatingEntryData = res.data.data; 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() { 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() {}, selectionChangeProject() {},
selectChange() {}, selectChange() {},

@ -2,10 +2,11 @@
<el-dialog <el-dialog
title="新增" title="新增"
append-to-body append-to-body
:modelValue="boundDialog" :modelValue="showDialog"
width="90%" width="100%"
@close="closeDialog" @close="closeDialog"
@open="open" @open="open"
fullscreen
> >
<div style="margin-bottom: 20px"> <div style="margin-bottom: 20px">
<el-input <el-input
@ -13,71 +14,90 @@
style="width: 220px; margin-right: 10px" style="width: 220px; margin-right: 10px"
v-model="cardNo" v-model="cardNo"
@keyup.enter="handleEnter" @keyup.enter="handleEnter"
@keydown.enter.prevent
></el-input> ></el-input>
<el-button plain type="danger" @click="handleDelete">删除选择行</el-button> <el-button plain type="danger" @click="handleDelete">删除选择行</el-button>
<!-- <el-button type="primary" @click="handleSave">保存</el-button> --> <!-- <el-button type="primary" @click="handleSave">保存</el-button> -->
</div> </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> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="closeDialog"> </el-button> <el-button @click="closeDialog"> </el-button>
@ -88,35 +108,131 @@
</template> </template>
<script> <script>
import { getBeforePlatOutCardNo } from '@/api/productionManagement/beforeAndAfterPlating'; import {
getList,
getBeforePlatInCardNo,
savePlateFrontEnter,
} from '@/api/productionManagement/beforeAndAfterPlating';
export default { export default {
props: { props: {
boundDialog: { showDialog: {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
}, },
data() { data() {
return { return {
tableLoading: false,
formError: '',
cardNo: '', 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() {}, mounted() {},
methods: { methods: {
open() { open() {
this.cardNo = ''; this.cardNo = '';
this.beforePlatingEntryData = []; this.form.beforePlatingEntryData = [];
}, },
handleEnter() { handleEnter() {
getBeforePlatOutCardNo({ cardNo: this.cardNo }).then(res => { this.tableLoading = true;
this.beforePlatingEntryData = res.data; 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() { 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() {}, selectionChangeProject() {},
selectChange() {}, selectChange() {},

@ -3,9 +3,10 @@
title="新增" title="新增"
append-to-body append-to-body
:modelValue="showDialog" :modelValue="showDialog"
width="90%" width="100%"
@close="closeDialog" @close="closeDialog"
@open="open" @open="open"
fullscreen
> >
<div style="margin-bottom: 20px"> <div style="margin-bottom: 20px">
<el-input <el-input
@ -13,71 +14,76 @@
style="width: 220px; margin-right: 10px" style="width: 220px; margin-right: 10px"
v-model="cardNo" v-model="cardNo"
@keyup.enter="handleEnter" @keyup.enter="handleEnter"
@keydown.enter.prevent
></el-input> ></el-input>
<el-button plain type="danger" @click="handleDelete">删除选择行</el-button> <el-button plain type="danger" @click="handleDelete">删除选择行</el-button>
<!-- <el-button type="primary" @click="handleSave">保存</el-button> --> <!-- <el-button type="primary" @click="handleSave">保存</el-button> -->
</div> </div>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<el-table <!-- 全局错误提示 -->
:data="beforePlatingEntryData" <div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
@selection-change="selectionChangeProject" {{ formError }}
@select="selectChange" </div>
> <el-table
<el-table-column type="selection"></el-table-column> :data="form.beforePlatingEntryData"
<el-table-column label="单号" prop="paCode" width="150" align="center"></el-table-column> @selection-change="selectionChangeProject"
<el-table-column label="车间订单" prop="woCode" width="200" align="center"></el-table-column> @select="selectChange"
<el-table-column label="批单号" prop="batchNo" width="150" align="center"></el-table-column> v-loading="tableLoading"
<el-table-column label="流程卡号" prop="cardNo" width="150" align="center"></el-table-column> >
<el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center"> <el-table-column type="selection" fixed></el-table-column>
<template #default="scope"> <el-table-column label="单号" prop="paCode" align="center"></el-table-column>
<el-select v-model="scope.row.tsName"> <el-table-column label="车间订单" prop="woCode" align="center">
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option> <template #header>
<el-option label="L235" value="L235"></el-option> <span><i style="color: red">*</i>车间订单</span>
</el-select> </template>
</template> <template #default="scope">
</el-table-column> <el-form-item
<el-table-column label="入库工序号" prop="orders" width="200" align="center"> :prop="`beforePlatingEntryData[${scope.$index}].woCode`"
<template #default="scope"> :rules="formRules.woCode"
<el-input v-model="scope.row.orders"></el-input> >
</template> <el-input v-model="scope.row.woCode" placeholder="请输入车间订单"></el-input>
</el-table-column> </el-form-item>
<el-table-column label="入库工序名称" prop="ppsName" width="200" align="center"> </template>
<template #default="scope"> </el-table-column>
<el-input v-model="scope.row.ppsName"></el-input> <el-table-column label="批单号" prop="batchNo" align="center"></el-table-column>
</template> <el-table-column label="流程卡号" prop="cardNo" align="center"></el-table-column>
</el-table-column> <el-table-column label="入库班组/供应商" prop="tsName" width="200" align="center">
<el-table-column label="下序号" prop="nextOrders" width="200" align="center"> </el-table-column>
<template #default="scope"> <el-table-column label="入库工序号" prop="orders" align="center"> </el-table-column>
<el-input v-model="scope.row.nextOrders"></el-input> <el-table-column label="入库工序名称" prop="ppsName" align="center"> </el-table-column>
</template> <el-table-column label="下序号" prop="nextOrders" align="center"> </el-table-column>
</el-table-column> <el-table-column label="下序名称" prop="nextPpsName" align="center"> </el-table-column>
<el-table-column label="下序名称" prop="nextPpsName" width="200" align="center"> <el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center">
<template #default="scope"> </el-table-column>
<el-input v-model="scope.row.nextPpsName"></el-input> <el-table-column label="入库数量" prop="quantity" align="center"> </el-table-column>
</template> <el-table-column label="入库人员" prop="userName" align="center">
</el-table-column> <template #header>
<el-table-column label="下序班组/供应商" prop="nextTsName" width="200" align="center"> <span><i style="color: red">*</i>入库人员</span>
<template #default="scope"> </template>
<el-option label="化学镀镍一班崔胜伟" value="化学镀镍一班崔胜伟"></el-option> <template #default="scope">
<el-option label="L235" value="L235"></el-option> <el-form-item
</template> :prop="`beforePlatingEntryData[${scope.$index}].userName`"
</el-table-column> :rules="formRules.userName"
<el-table-column label="入库数量" prop="quantity" width="200" align="center"> >
<template #default="scope"> <el-input v-model="scope.row.userName"></el-input>
<el-input v-model="scope.row.quantity"></el-input> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入库人员" prop="userName" width="200" align="center"> <el-table-column label="入库时间" prop="createTime" align="center">
<template #default="scope"> <template #header>
<el-input v-model="scope.row.userName"></el-input> <span><i style="color: red">*</i>入库时间</span>
</template> </template>
</el-table-column> <template #default="scope">
<el-table-column label="入库时间" prop="createTime" width="200" align="center"> <el-form-item
<template #default="scope"> :prop="`beforePlatingEntryData[${scope.$index}].createTime`"
<el-input v-model="scope.row.createTime"></el-input> :rules="formRules.createTime"
</template> >
</el-table-column> <el-input v-model="scope.row.createTime"></el-input>
</el-table> </el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
@ -89,7 +95,11 @@
</template> </template>
<script> <script>
import { getList, getBeforePlatInCardNo } from '@/api/productionManagement/beforeAndAfterPlating'; import {
getList,
getBeforePlatInCardNo,
savePlateFrontEnter,
} from '@/api/productionManagement/beforeAndAfterPlating';
export default { export default {
props: { props: {
showDialog: { showDialog: {
@ -99,24 +109,117 @@ export default {
}, },
data() { data() {
return { return {
tableLoading: false,
formError: '',
cardNo: '', 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() {}, mounted() {},
methods: { methods: {
open() { open() {
this.cardNo = ''; this.cardNo = '';
this.beforePlatingEntryData = []; this.form.beforePlatingEntryData = [];
}, },
handleEnter() { handleEnter() {
getBeforePlatInCardNo({ cardNo: this.cardNo }).then(res => { this.tableLoading = true;
this.beforePlatingEntryData = res.data; 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() { 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() {}, selectionChangeProject() {},
selectChange() {}, selectChange() {},

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

Loading…
Cancel
Save