ezhizao_zx 11 月之前
父节点
当前提交
e20d009956
共有 1 个文件被更改,包括 46 次插入119 次删除
  1. 46 119
      src/views/business/returnReceipt/form.vue

+ 46 - 119
src/views/business/returnReceipt/form.vue

@@ -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);
+  }
 }
 
 /** 暴露给父组件的方法 */