Эх сурвалжийг харах

✨ feat: spd消耗单明细加入新需求,按照数量拆单

黄梓星 1 жил өмнө
parent
commit
b8f73ca9da

+ 7 - 0
src/api/expend/expendMx.js

@@ -64,4 +64,11 @@ export function divideDoc(data) {
     method: 'post',
     data: data
   })
+}
+// 取消拆单
+export function cancelDoc(sourceCode) {
+  return request({
+    url: `/pu/doc/regretDividing/${sourceCode}`,
+    method: 'get',
+  })
 }

+ 53 - 2
src/views/expend/expendMxDetail.vue

@@ -248,6 +248,13 @@
           <el-button
             v-if="sonPageStu == 'check'"
             :size="size"
+            :disabled="!(basicForm.isSum == '0' && (basicForm.sumCode == null || basicForm.sumCode == ''))"
+            @click="cancelDisassembly"
+            >取消拆单</el-button
+          >
+          <el-button
+            v-if="sonPageStu == 'check'"
+            :size="size"
             :disabled="!ids.length"
             @click="useDisassembly"
             >拆 单</el-button
@@ -303,7 +310,7 @@
         keep-source
         beautifyTable
         :checkbox-config="{ highlight: true, trigger: 'row' }"
-        :edit-config="{ trigger: 'click', mode: 'row' }"
+        :edit-config="{ trigger: 'click', mode: 'row'}"
       >
         >
         <ux-table-column resizable type="checkbox" width="50px" fixed="left" />
@@ -315,6 +322,25 @@
         />
         <ux-table-column
           resizable
+          title="拆单数量"
+          field="divideNum"
+          align="center"
+          edit-render
+        >
+        <template v-slot:edit="scope">
+          <span @click.stop>
+            <el-input-number
+              :disabled="!ids.length"
+              :min="1"
+              :max="Number(scope.row.qty)"
+              :size="size"
+              v-model="scope.row.divideNum"
+            />
+            </span>
+          </template>
+        </ux-table-column>
+        <ux-table-column
+          resizable
           title="物料编码"
           field="itemCode"
           align="center"
@@ -380,7 +406,7 @@
             <el-input-number
               clearable
               :disabled="sonDisable"
-              :min="0"
+              :min="1"
               :size="size"
               v-model="scope.row.price"
               @input="changeFei(scope.rowIndex, scope.row)"
@@ -411,6 +437,7 @@ import {
   editSaveMx,
   toOAs,
   divideDoc,
+  cancelDoc,
 } from "@/api/expend/expendMx.js";
 export default {
   props: ["pageStu", "row", "disable"],
@@ -503,6 +530,9 @@ export default {
       Mxdetail(row.id).then((res) => {
         if (res.code === 200) {
           this.basicForm = res.data;
+          this.basicForm.itemList.forEach(item => {
+            item.divideNum = Number(item.qty)
+          })
         }
       });
     },
@@ -529,6 +559,18 @@ export default {
       // this.ids = selection.map(item =>{
       //   return item.id
       // })
+      console.log('selection', selection)
+      let lin = selection.map(item => { return item.id })
+      console.log('lin',lin)
+
+      this.basicForm.itemList.forEach(item => {
+        if(!lin.includes(item.id)) {
+          item.divideNum = Number(item.qty)
+        }
+      })
+      // selection.forEach(item => {
+      //   item.divideNum = Number(item.qty)
+      // })
       this.ids = selection;
     },
     editLine() {
@@ -538,6 +580,15 @@ export default {
         this.dialogFormVisible = true;
       }
     },
+    // 取消拆单
+    cancelDisassembly() {
+      cancelDoc(this.basicForm.code).then(res => {
+        if(res.code === 200) {
+          this.$modal.notifySuccess("取消拆单成功");
+          this.back()
+        }
+      })
+    },
     // 拆单
     async useDisassembly() {
       try {