Explorar o código

fix:修改bom复选,修改字段

lupeng hai 9 meses
pai
achega
0296eae6bd

+ 61 - 30
src/views/base/bom/index.vue

@@ -51,12 +51,12 @@
         </div>
       </template>
 
-      <CommonTable
+    <!--  <CommonTable
         ref="ctableRef"
         tableTitle="物料选择"
         tableType="BOM"
         @selected-sure="onSelectedFinish"
-      />
+      />-->
       <template #footer>
         <div class="detail-footer">
           <el-button type="primary" @click="onSelected"> 保存 </el-button>
@@ -86,6 +86,7 @@
     <CommonTable
       ref="ctableRef"
       tableTitle="BOM添加"
+      :multipleRow="multipleRow"
       tableType="MARTERIAL"
       @selected-sure="onSelectedFinish"
     />
@@ -123,6 +124,7 @@ const test = () => {
   isShowTable.value = true;
   tableType.value = tableType.value == 1 ? 2 : 1;
 };
+const multipleRow = ref(true);
 const openMaterial = () => {
   if (
     version.value.value === 0 ||
@@ -136,6 +138,7 @@ const openMaterial = () => {
     return;
   }
   if (ctableRef.value) {
+    startCreat();
     ctableRef.value.startSelect();
   }
 };
@@ -153,17 +156,24 @@ const dataBomLists = () => {
   dataNoPageList();
 };
 
-const ctableRef = ref(null);
+const ctableRef = ref({});
 const dialog = reactive({
   title: "BOM版本",
   visible: false,
 });
+//defineExpose({ startCreat });
 const material = ref(null);
 const binding = (row) => {
   if (ctableRef.value) {
     ctableRef.value.startSelect();
   }
 };
+const startCreat = () =>{
+  ctableRef.value?.mergeOption({
+    selection: true,
+    reserveSelection : true,
+  });
+}
 const onSelected = () => {
   for (var i = 0; i < data.value.length; i++) {
     if (data.value[i].bomMaterialNumber <= 0) {
@@ -256,7 +266,7 @@ const importExcelData = () => {
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
-  selection: true,
+  selection: false,
   addBtn: false,
   viewBtn: false,
   editBtn: false,
@@ -312,40 +322,61 @@ option.value = Object.assign(option.value, {
 const routeBack = () => {
   router.back();
 };
-const onSelectedFinish = (selectedValue) => {
-  if (selectedValue.materialCode == dataDetail.value.materialCode) {
+const onSelectedFinish = (selectedValueList) => {
+  if (Object.keys(selectedValueList).length === 0 || selectedValueList == undefined || selectedValueList == null || selectedValueList.length <= 0) {
     ElMessage({
-      message: selectedValue.materialCode + "自己不能添加自己为BOM",
+      message: "没有选择任何物料",
       type: "error",
     });
-    return;
+    return false;
   }
-  for (var i = 0; i < data.value.length; i++) {
-    if (data.value[i].bomMaterialCode === selectedValue.materialCode) {
-      ElMessage({
-        message: data.value[i].bomMaterialName + "已经添加过了",
-        type: "error",
-      });
-      return;
+  const flag = ref(true);
+  selectedValueList?.forEach((selectedValue, index) => {
+      if (selectedValue.materialCode == dataDetail.value.materialCode) {
+        ElMessage({
+          message: selectedValue.materialCode + "自己不能添加自己为BOM",
+          type: "error",
+        });
+        flag.value=false;
+        return;
+      }
+      for (var i = 0; i < data.value.length; i++) {
+        if (data.value[i].bomMaterialCode === selectedValue.materialCode) {
+          ElMessage({
+            message: selectedValue.materialCode + "的" + data.value[i].bomMaterialName + "已经添加过了",
+            type: "error",
+          });
+          flag.value=false;
+          return;
+        }
+      }
+      if (version.value.value === 0 || version.value.value === null) {
+        ElMessage({
+          message: "没有选择BOM版本",
+          type: "error",
+        });
+        flag.value=false;
+        return;
+      }
+
     }
-  }
-  if (version.value.value === 0 || version.value.value === null) {
-    ElMessage({
-      message: "没有选择BOM版本",
-      type: "error",
-    });
+  );
+  if(!flag.value){
     return;
   }
-  const bom = ref({
-    materialCode: route.params.materialCode,
-    bomMaterialCode: selectedValue.materialCode,
-    bomMaterialName: selectedValue.materialName,
-    bomVersion: version.value.value,
-    bomMaterialAttribute: selectedValue.attributeDictValue,
-    bomMaterialNumber: 0,
-    $cellEdit: true,
+  selectedValueList?.forEach((selectedValue, index) => {
+    const bom = ref({
+      materialCode: route.params.materialCode,
+      bomMaterialCode: selectedValue.materialCode,
+      bomMaterialName: selectedValue.materialName,
+      bomVersion: version.value.value,
+      bomMaterialAttribute: selectedValue.attributeDictValue,
+      bomMaterialNumber: 0,
+      $cellEdit: true,
+    });
+    data.value.push(bom.value);
   });
-  data.value.push(bom.value);
+
 };
 const queryMaterialDetail = () => {
   getMaterialDetails(route.params.materialCode).then(({ data }) => {

+ 1 - 1
src/views/plan/finishProduct/index.vue

@@ -141,7 +141,7 @@ option.value = Object.assign(option.value, {
       overHidden: true,
 
     },
-    { label: "产品编码", prop: "materialCode", width: 140,overHidden: true,search: true
+    { label: "物料编码", prop: "materialCode", width: 140,overHidden: true,search: true
     },
     {
       label: "订单编码",

+ 1 - 1
src/views/plan/prepare/index.vue

@@ -203,7 +203,7 @@ option.value = Object.assign(option.value, {
       }
     },
     {
-      label: "产品编码",
+      label: "物料编码",
       prop: "materialCode",
       search: true,
       width: 130,

+ 1 - 1
src/views/plan/schedule/index.vue

@@ -178,7 +178,7 @@ option.value = Object.assign(option.value, {
       editDisabled: true,
     },
     {
-      label: "物料编",
+      label: "物料编",
       prop: "materialCode",
       search: true,
       editDisabled: true,