瀏覽代碼

发货单发货数量控制

qymljy 2 年之前
父節點
當前提交
d65e421b33
共有 2 個文件被更改,包括 24 次插入29 次删除
  1. 22 28
      src/HDrpManagement/dispatch/modules/productlist.vue
  2. 2 1
      src/components/table/index5.vue

+ 22 - 28
src/HDrpManagement/dispatch/modules/productlist.vue

@@ -9,11 +9,11 @@
         <tableLayout :layout="tablecols" checkbox="true"  :data="tableData" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true" fixedName="offerPrice amount" @selectionChange="handleSelectionChange">
           <template v-slot:customcol="scope">
             <p v-if="scope.column.columnname == 'qty'">
-              <el-input-number :controls="true" controls-position='right' v-if="data.STATUS === '新建'" size="mini" v-model="scope.column.data.qty" label="输入数量" @change="rowChange(scope.column.data,scope.column.data.$index,scope.column.data)" :precision="2"></el-input-number>
+              <el-input-number :controls="true" controls-position='right' v-if="data.STATUS === '新建'" size="mini" v-model="scope.column.data.qty" label="输入数量" @change="rowChange(scope.column.data,scope.column.index)" :precision="2"></el-input-number>
               <span v-else>{{scope.column.data.qty}}</span>
             </p>
             <p v-else-if="scope.column.columnname == 'batchno'">
-              <el-select :disabled="data.STATUS !== '新建'" v-if="scope.column.data.batchcontrol == 1" v-model="scope.column.data.batchno" placeholder="请选择" @visible-change="visibleChange(scope.column.data)" size="mini" @change="rowChange(scope.column.data,scope.column.data.$index)">
+              <el-select :disabled="data.STATUS !== '新建'" v-if="scope.column.data.batchcontrol == 1" v-model="scope.column.data.batchno" placeholder="请选择" @visible-change="visibleChange(scope.column.data)" size="mini" @change="rowChange(scope.column.data,scope.column.index)">
                 <el-option
                     v-for="item in options"
                     :key="item.fbatchno"
@@ -24,7 +24,7 @@
               <span v-else>{{scope.column.data.batchno}}</span>
             </p>
             <p v-else-if="scope.column.columnname == 'remarks'">
-              <el-input v-if="data.STATUS === '新建'" v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @change="rowChange(scope.column.data,scope.column.data.$index)"></el-input>
+              <el-input v-if="data.STATUS === '新建'" v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @change="rowChange(scope.column.data,scope.column.index)"></el-input>
               <span v-else>{{scope.column.data.remarks}}</span>
             </p>
             <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
@@ -100,13 +100,9 @@ export default {
   },
   methods:{
     async listData () {
+      this.tableData = []
       this.param.content.sa_dispatchid = this.$route.query.id
       const res = await this.$api.requested(this.param)
-      res.data.forEach(item=>{
-        if (item.qty > item.undeliqty){
-          item.qty = item.undeliqty
-        }
-      })
       this.tableData = res.data
       this.total = res.total
       this.currentPage = res.pageNumber
@@ -207,29 +203,27 @@ export default {
         this.$emit('onSuccess')
       })
     },
-    rowChange(val,index,data){
+    rowChange(val,index){
       let that = this
-      if (val > data.undeliqty) {
-        val = data.undeliqty
+      if (val.qty > val.undeliqty) {
+        val.qty = val.undeliqty
       }
-      this.$set(this.tableData,index,val)
+      console.log(val,index)
+      // this.$nextTick(()=>{
+      //   this.$set(this.tableData,index,val)
+      // })
       // // 防抖
-      if(this.time !== null){
-        clearTimeout(this.time);
-      }
-      this.time = setTimeout(() => {
-        that.updateOrder({
-          "sa_dispatchid": this.$route.query.id, //订单ID
-          "iteminfos": [{
-            "sa_dispatch_itemsid": val.sa_dispatch_itemsid,//0表示新增
-            "qty": val.qty, //数量
-            "remarks":val.remarks,
-            "batchno":val.batchno
-          }]
-        },()=>{
-          this.listData()
-        })
-      },500)
+      that.updateOrder({
+        "sa_dispatchid": this.$route.query.id, //订单ID
+        "iteminfos": [{
+          "sa_dispatch_itemsid": val.sa_dispatch_itemsid,//0表示新增
+          "qty": val.qty, //数量
+          "remarks":val.remarks,
+          "batchno":val.batchno
+        }]
+      },()=>{
+        this.listData()
+      })
     },
     async updateOrder (val,fn) {
       const res  = await this.$api.requested({

+ 2 - 1
src/components/table/index5.vue

@@ -11,7 +11,7 @@
         <template slot-scope="scope">
           <div class="table-panel">
             <!-- 自定义表格显示内容 -->
-            <slot v-if="custom" name="customcol" :column="{data:scope.row,columnname:col.columnname}"></slot>
+            <slot v-if="custom" name="customcol" :column="{data:scope.row,columnname:col.columnname,index:scope.$index}"></slot>
             <!-- 否则就是默认 -->
             <span v-else>{{scope.row[col.columnname]}}</span>
             <!-- 操作结构内容 -->
@@ -46,6 +46,7 @@ export default {
   methods:{
     rowClick (row) {
       this.$emit('rowClick',row)
+      this.$refs.table.doLayout()
     },
     tableClassName ({row,rowIndex}) {
       row.index = rowIndex