|
@@ -1,34 +1,21 @@
|
|
|
<template>
|
|
|
- <el-drawer
|
|
|
- title="外协单信息"
|
|
|
- :with-header="false"
|
|
|
- v-model="visible"
|
|
|
- direction="rtl"
|
|
|
- size="100%"
|
|
|
- >
|
|
|
+ <el-drawer title="外协单信息" :with-header="false" v-model="visible" direction="rtl" size="100%">
|
|
|
<div class="form-container column-container">
|
|
|
<div class="form-btns-container">
|
|
|
<span class="title-label">
|
|
|
- <el-icon><Document /></el-icon>
|
|
|
+ <el-icon>
|
|
|
+ <Document />
|
|
|
+ </el-icon>
|
|
|
<span>收回单信息</span>
|
|
|
</span>
|
|
|
<el-button-group>
|
|
|
- <el-button v-if="editStatus&& submitStatus" type="success" @click="saveForm">
|
|
|
+ <el-button v-if="editStatus && submitStatus" type="success" @click="saveForm">
|
|
|
保存
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-if="editStatus && submitStatus"
|
|
|
- type="primary"
|
|
|
- @click="submitForm"
|
|
|
- >
|
|
|
+ <el-button v-if="editStatus && submitStatus" type="primary" @click="submitForm">
|
|
|
提交
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-if="!editStatus"
|
|
|
- type="primary"
|
|
|
- icon="Finished"
|
|
|
- @click="cancel"
|
|
|
- >
|
|
|
+ <el-button v-if="!editStatus" type="primary" icon="Finished" @click="cancel">
|
|
|
确定
|
|
|
</el-button>
|
|
|
</el-button-group>
|
|
@@ -38,13 +25,7 @@
|
|
|
<!-- <span>关闭</span> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-form
|
|
|
- ref="formRef"
|
|
|
- class="master-container"
|
|
|
- :model="form"
|
|
|
- v-loading="loading"
|
|
|
- label-width="120px"
|
|
|
- >
|
|
|
+ <el-form ref="formRef" class="master-container" :model="form" v-loading="loading" label-width="120px">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="单据号" prop="formCode">
|
|
@@ -53,20 +34,15 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="表单日期" prop="formDate">
|
|
|
- <el-date-picker
|
|
|
- v-if="editStatus && submitStatus"
|
|
|
- v-model="form.formDate"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-date-picker v-if="editStatus && submitStatus" v-model="form.formDate" type="date"
|
|
|
+ value-format="YYYY-MM-DD" style="width: 100%">
|
|
|
</el-date-picker>
|
|
|
<el-input v-model="form.formDate" v-else readonly />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
- <el-input v-model.trim="form.remark" v-if="editStatus&& submitStatus" />
|
|
|
+ <el-input v-model.trim="form.remark" v-if="editStatus && submitStatus" />
|
|
|
<el-input v-model="form.remark" v-else readonly />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -74,86 +50,31 @@
|
|
|
</el-form>
|
|
|
<!-- 渲染数据区 -->
|
|
|
<div class="form-details-btns-container">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="Plus"
|
|
|
- v-if="editStatus && submitStatus"
|
|
|
- @click="handleShowDialogOutSourceDetails"
|
|
|
- >
|
|
|
+ <el-button type="primary" icon="Plus" v-if="editStatus && submitStatus"
|
|
|
+ @click="handleShowDialogOutSourceDetails">
|
|
|
添加收回明细
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="el-table-container">
|
|
|
<div class="el-table-inner-container">
|
|
|
- <el-table
|
|
|
- v-loading="loading"
|
|
|
- :data="form.details"
|
|
|
- size="small"
|
|
|
- border
|
|
|
- height="100%"
|
|
|
- >
|
|
|
- <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="productDescription"
|
|
|
- width="320"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="产品数量"
|
|
|
- align="center"
|
|
|
- prop="productNum"
|
|
|
- width="96"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="箱号"
|
|
|
- align="center"
|
|
|
- prop="newCarrier"
|
|
|
- width="320"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="外协工序"
|
|
|
- align="center"
|
|
|
- prop="processAlias"
|
|
|
- width="320"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="收回数量"
|
|
|
- align="center"
|
|
|
- prop="receiptNum"
|
|
|
- width="104"
|
|
|
- />
|
|
|
+ <el-table v-loading="loading" :data="form.details" size="small" border height="100%">
|
|
|
+ <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="productDescription" width="320" />
|
|
|
+ <el-table-column label="产品数量" align="center" prop="productNum" width="96" />
|
|
|
+ <el-table-column label="箱号" align="center" prop="newCarrier" width="320" />
|
|
|
+ <el-table-column label="外协工序" align="center" prop="processAlias" width="320" />
|
|
|
+ <el-table-column label="收回数量" align="center" prop="receiptNum" width="104" />
|
|
|
<el-table-column label="备注" align="center" prop="remark">
|
|
|
<template #default="scope">
|
|
|
- <el-input v-model.trim="scope.row.remark" v-if="editStatus&& submitStatus" />
|
|
|
+ <el-input v-model.trim="scope.row.remark" v-if="editStatus && submitStatus" />
|
|
|
<el-input v-model="scope.row.remark" v-else readonly />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="操作"
|
|
|
- align="center"
|
|
|
- class-name="small-padding fixed-width"
|
|
|
- width="64"
|
|
|
- >
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="64">
|
|
|
<template #default="scope">
|
|
|
- <el-button
|
|
|
- v-if="editStatus && submitStatus"
|
|
|
- link
|
|
|
- type="danger"
|
|
|
- icon="Delete"
|
|
|
- @click="handleDeletedDetails(scope.row)"
|
|
|
- >
|
|
|
+ <el-button v-if="editStatus && submitStatus" link type="danger" icon="Delete"
|
|
|
+ @click="handleDeletedDetails(scope.row)">
|
|
|
删除
|
|
|
</el-button>
|
|
|
</template>
|
|
@@ -164,10 +85,8 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 外协商选择 -->
|
|
|
- <dialog-outsource-details
|
|
|
- ref="dialogOutsourceDetailsRef"
|
|
|
- :multiple-selected="handleMultipleSelectedOutsourceDetails"
|
|
|
- />
|
|
|
+ <dialog-outsource-details ref="dialogOutsourceDetailsRef"
|
|
|
+ :multiple-selected="handleMultipleSelectedOutsourceDetails" />
|
|
|
</el-drawer>
|
|
|
</template>
|
|
|
<script setup>
|
|
@@ -305,6 +224,10 @@ function submitForm() {
|
|
|
flag = false;
|
|
|
proxy.$modal.msgError("收回明细不能为空");
|
|
|
}
|
|
|
+ if (form.value.details.findIndex(v => v.newCarrier == null || v.newCarrier == '') >= 0) {
|
|
|
+ flag = false
|
|
|
+ proxy.$modal.msgError("收回明细中载具箱号不能为空")
|
|
|
+ }
|
|
|
// for (let i = 0; i < form.value.details.length; i++) {
|
|
|
// if (form.value.details[i].receiptNum <= 0) {
|
|
|
// flag = false;
|
|
@@ -341,6 +264,10 @@ function saveForm() {
|
|
|
flag = false;
|
|
|
proxy.$modal.msgError("收回明细不能为空");
|
|
|
}
|
|
|
+ if (form.value.details.findIndex(v => v.newCarrier == null || v.newCarrier == '') >= 0) {
|
|
|
+ flag = false
|
|
|
+ proxy.$modal.msgError("收回明细中载具箱号不能为空")
|
|
|
+ }
|
|
|
if (flag) {
|
|
|
form.value.isSubmit = 0;
|
|
|
handleChangeRemark();
|
|
@@ -374,17 +301,17 @@ function handleChangeRemark() {
|
|
|
|
|
|
//删除收回明细
|
|
|
function handleDeletedDetails(row) {
|
|
|
- //前端同时操作form.value的两个集合
|
|
|
- form.value.details.splice(form.value.details.indexOf(row), 1);
|
|
|
- var index = []
|
|
|
- for(let i = 0;i<form.value.detailInfo.length;i++) {
|
|
|
- if(form.value.detailInfo[i].lotCode == row.lotCode){
|
|
|
- index.push(i)
|
|
|
- }
|
|
|
- }
|
|
|
- for (let i = index.length - 1; i >= 0; i--) {
|
|
|
- form.value.detailInfo.splice(index[i], 1);
|
|
|
-}
|
|
|
+ //前端同时操作form.value的两个集合
|
|
|
+ form.value.details.splice(form.value.details.indexOf(row), 1);
|
|
|
+ var index = []
|
|
|
+ for (let i = 0; i < form.value.detailInfo.length; i++) {
|
|
|
+ if (form.value.detailInfo[i].lotCode == row.lotCode) {
|
|
|
+ index.push(i)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (let i = index.length - 1; i >= 0; i--) {
|
|
|
+ form.value.detailInfo.splice(index[i], 1);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/** 暴露给父组件的方法 */
|