Explorar o código

出库新增修改

wengyuwen %!s(int64=4) %!d(string=hai) anos
pai
achega
21ea1212b9
Modificáronse 1 ficheiros con 272 adicións e 82 borrados
  1. 272 82
      src/views/warehouseBusiness/outStock/index.vue

+ 272 - 82
src/views/warehouseBusiness/outStock/index.vue

@@ -252,6 +252,11 @@
       <el-table-column label="出库件数" align="center" prop="fQty" />
       <el-table-column label="出库毛重" align="center" prop="fGrossweight" />
       <el-table-column label="出库净重" align="center" prop="fNetweight" />
+      <el-table-column label="车号" align="center" prop="fTruckno" />
+      <el-table-column label="司机" align="center" prop="fDriverName" />
+      <el-table-column label="司机电话" align="center" prop="fDriverTel" />
+      <el-table-column label="司机身份证" align="center" prop="fDriverIdCar" />
+      <el-table-column label="业务类别" align="center" prop="fBusinessType" />
       <el-table-column
         width="100"
         label="出库状态"
@@ -565,6 +570,48 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
+            <el-form-item label="车号" prop="fTruckno">
+              <el-input
+                v-model="form.fTruckno"
+                :disabled="browseStatus || formBrowseStatus"
+                style="width: 80%"
+                placeholder="请输货车车号"
+                @change="changeInformation(whgenlegList)"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="司机" prop="fDriverName">
+              <el-input
+                v-model="form.fDriverName"
+                :disabled="browseStatus || formBrowseStatus"
+                style="width: 80%"
+                placeholder="请输司机姓名"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="司机电话" prop="fDriverTel">
+              <el-input
+                oninput='this.value=this.value.replace(/[^\-?\d]/g,"")'
+                v-model="form.fDriverTel"
+                :disabled="browseStatus || formBrowseStatus"
+                style="width: 80%"
+                placeholder="请输司机电话"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="司机身份证" prop="fDriverIdCar">
+              <el-input
+                v-model="form.fDriverIdCar"
+                :disabled="browseStatus || formBrowseStatus"
+                style="width: 80%"
+                placeholder="请输司机身份证"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
             <el-form-item label="品牌" prop="fMarks">
               <el-input
                 v-model="form.fMarks"
@@ -725,6 +772,18 @@
             :disabled="browseStatus"
           >请核</el-button
           >
+          <el-select
+            v-model="form.fBusinessType"
+            filterable
+            :disabled="browseStatus"
+          >
+            <el-option
+              v-for="(dict, index) in businessTypeOption"
+              :key="index.name"
+              :label="dict.name"
+              :value="dict.name"
+            ></el-option>
+          </el-select>
         </div>
         <div style="font-size: 18px">出库明细</div>
         <!--点击展开-->
@@ -759,6 +818,51 @@
         >
         </el-table-column>
         <el-table-column
+          prop="fBusinessType"
+          header-align="center"
+          width="140px"
+          align="center"
+          label="*业务类型"
+        >
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.fBusinessType"
+              filterable
+              :disabled="browseStatus || scope.row.fBillstatus === 20 || scope.row.fBillstatus === 30 || scope.row.fBillstatus === 40"
+              :remote-method="kqhouseRemoteMethod"
+              placeholder="请选择库区"
+            >
+              <el-option
+                v-for="(dict, index) in fStorageTypeOptions"
+                :key="index.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              />
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fMarks"
+          header-align="center"
+          align="center"
+          width="140px"
+          label="*业务详情"
+        >
+          <template slot-scope="scope">
+            <el-input
+              v-model="scope.row.fMarks"
+              placeholder="业务详情"
+              :disabled="
+                browseStatus ||
+                scope.row.fBillstatus === 20 ||
+                scope.row.fBillstatus === 30 ||
+                scope.row.fBillstatus === 40
+              "
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+
+        <el-table-column
           prop="fMarks"
           header-align="center"
           align="center"
@@ -773,6 +877,25 @@
           align="center"
           label="*库区"
         >
+          <template slot-scope="scope">
+            <el-select
+              v-model="scope.row.fWarehouselocids"
+              filterable
+              remote
+              :disabled="
+                browseStatus ||
+                scope.row.fBillstatus === 40"
+              :remote-method="kqhouseRemoteMethod"
+              placeholder="请选择库区"
+            >
+              <el-option
+                v-for="(dict, index) in kqhouseOptions"
+                :key="index.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </template>
         </el-table-column>
         <el-table-column
           prop="fPlanqty"
@@ -810,7 +933,7 @@
               oninput='this.value=this.value.replace(/[^\-?\d]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "")'
               @change="qtyChange(scope.row)"
               v-model="scope.row.fQty"
-              :disabled="browseStatus || scope.row.fBillstatus === 20 || scope.row.fBillstatus === 30 || scope.row.fBillstatus === 40"
+              :disabled="browseStatus || scope.row.fBillstatus === 40"
               placeholder="出库件数"
               show-word-limit
             />
@@ -825,7 +948,7 @@
         >
           <template slot-scope="scope">
             <el-input
-              :disabled="browseStatus || scope.row.fBillstatus === 20 || scope.row.fBillstatus === 30 || scope.row.fBillstatus === 40"
+              :disabled="browseStatus || scope.row.fBillstatus === 40"
               oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
               v-model="scope.row.fGrossweight"
               @change="changeOutStock(scope.row)"
@@ -845,7 +968,7 @@
             <el-input
               oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
               v-model="scope.row.fNetweight"
-              :disabled="browseStatus || scope.row.fBillstatus === 20 || scope.row.fBillstatus === 30 || scope.row.fBillstatus === 40"
+              :disabled="browseStatus || scope.row.fBillstatus === 40"
               @change="changeOutStock(scope.row)"
               placeholder="出库净重"
               show-word-limit
@@ -979,6 +1102,7 @@
         >
           <template slot-scope="scope">
             <el-input
+              oninput='this.value=this.value.replace(/[^\-?\d]/g,"")'
               v-model="scope.row.fDriverTel"
               placeholder="司机电话"
               :disabled="browseStatus || scope.row.fBillstatus === 20 || scope.row.fBillstatus === 30 || scope.row.fBillstatus === 40"
@@ -2170,7 +2294,7 @@
             <td width="200">{{ item.fTruckno }}</td>
             <td width="200">货物品名</td>
             <td width="200">{{ item.fGoodsids }}</td>
-            <td width="200">品牌</td>
+            <td width="200">{{item.fBusinessTypes}}</td>
             <td width="200">{{item.fMarks}}</td>
           </tr>
           <tr>
@@ -2275,6 +2399,7 @@ export default {
   },
   data() {
     return {
+      WarehouseInformation:[],
       addOrUpdateVisible: false,
       addOrUpdateVisib: false,
       fFeeUnitid: null,
@@ -2364,6 +2489,12 @@ export default {
       goodsOptions: [],
       // 制单部门
       deptOptions: [],
+      // 主表状态
+      businessTypeOption: [{
+        name: '场地直装'
+      }, {
+        name: '常规入账'
+      }],
       // 仓库(仓库数据)
       warehouseOptions: [],
       // 库存明细入账数组
@@ -2371,6 +2502,8 @@ export default {
       // 库存明细撤回入账数组
       dataWithdrawList: [],
       kqhouseOptions: [],
+      // 仓储类型 入库时选择 产地 规格 品牌 所用,对应storage_type 字典
+      fStorageTypeOptions: [],
       // 贸易方式(数据字典),对应t_trademodels 字典
       fTrademodeidOptions: [],
       // 是否放行
@@ -2445,6 +2578,7 @@ export default {
         fGoodsid: null,
         fCntrtype: null,
         fCntqty: null,
+        fBusinessType: '常规入账',
       },
       // 库存总账参数
       whgenlegParams: {
@@ -2453,6 +2587,7 @@ export default {
         fMblno: null,
         fCorpid: null,
         fWarehouseid: null,
+        fTruckno:null
       },
       // 表单参数
       form: {
@@ -2503,6 +2638,9 @@ export default {
   },
   created() {
     this.getList();
+    this.getDicts("storage_type").then((response) => {
+      this.fStorageTypeOptions = response.data;
+    });
     this.getDicts("data_trademodes").then((response) => {
       this.fTrademodeidOptions = response.data;
     });
@@ -2921,11 +3059,13 @@ export default {
           this.whgenlegTotal = 0;
           this.whgenlegVisible = true;
           this.getWhgenlegList();
+          // this.changeInformation()
         }
       })
     },
     // 库存总账导出数据
     whgenlegData() {
+
       if (this.dialogWhgenlegList.length === 0) {
         this.$message({ message: "未勾选信息", type: "warning" });
         return false;
@@ -2934,6 +3074,7 @@ export default {
         if (!this.form.fMblno || this.form.fMblno === "") {
           this.$set(this.form, "fMblno", this.dialogWhgenlegList[whgen].fMblno);
         }
+        this.changeInformation()
         this.dataList.push({
           fId: null,
           fMblno: this.dialogWhgenlegList[whgen].fMblno,
@@ -2960,9 +3101,12 @@ export default {
           fWarehouselocids: this.dialogWhgenlegList[whgen].fWarehouseLocationids,
           fCntrno: this.dialogWhgenlegList[whgen].fCntrno,
           fGoodsval: null,
-          fTruckno: null,
+          fTruckno: this.whgenlegList.fTruckno,
           remark: null,
-          fIsPass: 'F'
+          fIsPass: 'F',
+          fDriverName:this.whgenlegList.fDriverName,
+          fDriverTel:this.whgenlegList.fDriverTel,
+          fDriverIdCar:this.whgenlegList.fDriverIdCar
         });
       }
       this.whgenlegVisible = false;
@@ -2998,71 +3142,87 @@ export default {
       //   this.$message.error("请勾选收款信息!");
       //   return false;
       // }
-      for (let fee in this.feelDrSelection) {
-        if (!this.feelDrSelection[fee].fCorpid) {
-          this.$message.error("请维护收款费用客户名称!");
-          return false;
-        }
-        if (!this.feelDrSelection[fee].fFeeid) {
-          this.$message.error("请维护收款费用费用信息!");
-          return false;
-        }
-      }
-      for (let li in this.printinglist) {
-        if(!this.printinglist[li].fId) {
-          this.$message.error("请先保存!");
-          return false;
-        }
-      }
-      let fTruckno = this.printinglist[0].fTruckno
-      let fDriverName = this.printinglist[0].fDriverName
-      for (let warehouseCr in this.printinglist) {
-        if (!this.printinglist[warehouseCr].fTruckno || this.printinglist[warehouseCr].fTruckno !== fTruckno) {
-          this.$message.error('请填写车号或选择车相同车号')
-          return false
-        } else if (!this.printinglist[warehouseCr].fDriverName || this.printinglist[warehouseCr].fDriverName !== fDriverName) {
-          this.$message.error('请填写司机姓名选择相同司机姓名')
-          return false
-        } else if (!this.printinglist[warehouseCr].fGrossweight) {
-          this.$message.error('请选择出库毛重')
-          return false
-        } else if (!this.printinglist[warehouseCr].fDriverTel) {
-          this.$message.error('请选填写司机电话')
-          return false
-        } else if (!this.printinglist[warehouseCr].fDriverIdCar) {
-          this.$message.error('请选填写司机身份证')
-          return false
-        } else if (!this.printinglist[warehouseCr].fNetweight) {
-          this.$message.error('请选择出库净重')
-          return false
-        } else if (!this.printinglist[warehouseCr].fQty) {
-          this.$message.error('请选择出库件数')
-          return false
-        } else if (!this.printinglist[warehouseCr].fDriverName) {
-          this.$message.error('请输入司机姓名')
-          return false
-        } else if (!this.printinglist[warehouseCr].fDriverTel) {
-          this.$message.error('请输入司机电话')
-          return false
+      if(this.printinglist.length > 0) {
+        for (let fee in this.feelDrSelection) {
+          if (!this.feelDrSelection[fee].fCorpid) {
+            this.$message.error("请维护收款费用客户名称!");
+            return false;
+          }
+          if (!this.feelDrSelection[fee].fFeeid) {
+            this.$message.error("请维护收款费用费用信息!");
+            return false;
+          }
         }
-      }
-      // 获取业务日期
-      var date = new Date(this.form.fBsdate)
-      var Y = date.getFullYear() + '-'
-      var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
-      var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
-      this.fBsdate = Y + M + D
-      for (let dr in this.feelDrSelection) {
-        for (let opt in this.fWbuOptions) {
-          if (this.fWbuOptions[opt].fId === this.feelDrSelection[dr].fFeeid) {
-            this.$set(this.feelDrSelection[dr], 'fFeeName', this.fWbuOptions[opt].fName)
-            break
+        for (let li in this.printinglist) {
+          for (let list in this.fStorageTypeOptions) {
+            if (this.printinglist[li].fBusinessType === this.fStorageTypeOptions[list].dictValue) {
+              this.$set(this.printinglist[li], 'fBusinessTypes', this.fStorageTypeOptions[list].dictLabel)
+              break
+            }
           }
+          if (!this.printinglist[li].fId) {
+            this.$message.error("请先保存!");
+            return false;
+          }
+          if (!this.printinglist[li].fBusinessType) {
+            this.$message.error('请先维护业务类型!')
+            return false
+          }
+          if (!this.printinglist[li].fMarks) {
+            this.$message.error('请先维护业务详情!')
+            return false
+          }
+          let fTruckno = this.printinglist[0].fTruckno
+          let fDriverName = this.printinglist[0].fDriverName
+          for (let warehouseCr in this.printinglist) {
+            if (!this.printinglist[warehouseCr].fTruckno || this.printinglist[warehouseCr].fTruckno !== fTruckno) {
+              this.$message.error('请填写车号或选择车相同车号')
+              return false
+            } else if (!this.printinglist[warehouseCr].fDriverName || this.printinglist[warehouseCr].fDriverName !== fDriverName) {
+              this.$message.error('请填写司机姓名选择相同司机姓名')
+              return false
+              // } else if (!this.printinglist[warehouseCr].fGrossweight) {
+              //   this.$message.error('请选择出库毛重')
+              //   return false
+            } else if (!this.printinglist[warehouseCr].fDriverTel) {
+              this.$message.error('请选填写司机电话')
+              return false
+            } else if (!this.printinglist[warehouseCr].fDriverIdCar) {
+              this.$message.error('请选填写司机身份证')
+              return false
+              // } else if (!this.printinglist[warehouseCr].fNetweight) {
+              //   this.$message.error('请选择出库净重')
+              //   return false
+              // } else if (!this.printinglist[warehouseCr].fQty) {
+              //   this.$message.error('请选择出库件数')
+              //   return false
+            } else if (!this.printinglist[warehouseCr].fDriverName) {
+              this.$message.error('请输入司机姓名')
+              return false
+            } else if (!this.printinglist[warehouseCr].fDriverTel) {
+              this.$message.error('请输入司机电话')
+              return false
+            }
+          }
+          // 获取业务日期
+          var date = new Date(this.form.fBsdate)
+          var Y = date.getFullYear() + '-'
+          var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
+          var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
+          this.fBsdate = Y + M + D
+          for (let dr in this.feelDrSelection) {
+            for (let opt in this.fWbuOptions) {
+              if (this.fWbuOptions[opt].fId === this.feelDrSelection[dr].fFeeid) {
+                this.$set(this.feelDrSelection[dr], 'fFeeName', this.fWbuOptions[opt].fName)
+                break
+              }
+            }
+          }
+          setTimeout(() => {
+            this.openPrintJobSheet = true
+          }, 200);
         }
       }
-      setTimeout(() => {
-        this.openPrintJobSheet = true
-      }, 200);
     },
     showEditDialog_ss() {
       if (this.printinglist.length > 0) {
@@ -3317,8 +3477,10 @@ export default {
         if (response.data.warehouseBillsItem) {
           this.dataList = response.data.warehouseBillsItem;
           for (let list in this.dataList) {
+            this.$set(this.dataList[list], 'fBusinessType', this.dataList[list].fBusinessType + '')
             if (this.dataList[list].fBillstatus > 10) {
               this.formBrowseStatus = true;
+              this.$set(this.dataList[list], "fBusinessType", this.dataList[list].fBusinessType + '')
             }
           }
         }
@@ -3432,6 +3594,22 @@ export default {
         }
       }
     },
+
+    //change司机信息
+    changeInformation(){
+          if(this.form.fTruckno !== null){
+            this.$set(this.whgenlegList, 'fTruckno', this.form.fTruckno)
+          }
+          if(this.form.fDriverName !== null){
+            this.$set(this.whgenlegList, 'fDriverName', this.form.fDriverName)
+          }
+          if(this.form.fDriverTel !== null){
+            this.$set(this.whgenlegList, 'fDriverTel', this.form.fDriverTel)
+          }
+          if(this.form.fDriverIdCar !== null){
+            this.$set(this.whgenlegList, 'fDriverIdCar', this.form.fDriverIdCar)
+          }
+    },
     // 选择按钮
     collectionoptions(selection) {
       this.feelDrSelection = selection
@@ -3586,6 +3764,12 @@ export default {
           } else if (this.dataListSelection[warehouseCr].fBillstatus === 20) {
             this.$message.error("请先卸货");
             return false;
+          } else if (!this.dataListSelection[warehouseCr].fBusinessType) {
+            this.$message.error('请维护业务类型')
+            return false
+          }else if (!this.dataListSelection[warehouseCr].fMarks) {
+              this.$message.error('请维护业务详情')
+              return false
           } else if (!this.dataListSelection[warehouseCr].fGrossweight) {
             this.$message.error("请选择入库毛重");
             return false;
@@ -3807,21 +3991,21 @@ export default {
           this.$message.error('请添加库存明细!')
           return false
         }
-        for (let list in this.dataList) {
-          this.changeOutStock(this.dataList[list])
-          if (!this.dataList[list].fQty || Number(this.dataList[list].fQty) === 0) {
-            this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库件数!')
-            return false
-          }
-          if (!this.dataList[list].fGrossweight || Number(this.dataList[list].fGrossweight) === 0) {
-            this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库毛重!')
-            return false
-          }
-          if (!this.dataList[list].fNetweight || Number(this.dataList[list].fNetweight) === 0) {
-            this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库净重!')
-            return false
-          }
-        }
+        // for (let list in this.dataList) {
+        //   this.changeOutStock(this.dataList[list])
+          // if (!this.dataList[list].fQty || Number(this.dataList[list].fQty) === 0) {
+          //   this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库件数!')
+          //   return false
+          // }
+        //   if (!this.dataList[list].fGrossweight || Number(this.dataList[list].fGrossweight) === 0) {
+        //     this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库毛重!')
+        //     return false
+        //   }
+        //   if (!this.dataList[list].fNetweight || Number(this.dataList[list].fNetweight) === 0) {
+        //     this.$message.error('请维护序号为' + (Number(list) + 1) + '的出库净重!')
+        //     return false
+        //   }
+        // }
         if (valid) {
           setTimeout(() => {
             this.form.fBillstatus = 2
@@ -3842,6 +4026,12 @@ export default {
               this.$set(this.form, 'createTime', Date.parse(this.form.createTime))
               this.$set(this.form, 'fChargedate', Date.parse(this.form.fChargedate))
               this.dataList = response.data.warehousebillsitems
+              for (let list in this.dataList) {
+
+                // this.$set(this.dataList[list], "fBsdate", Date.parse(this.dataList[list].fBsdate));
+                this.$set(this.dataList[list], "fBusinessType", this.dataList[list].fBusinessType + '');
+                console.log(this.dataList)
+              }
             })
           }, 200);
         }