wangxinhui
2 天以前 e1dd1dc9ba7135e3d64a65587d6c1be2c3e18c5a
´úÂë¹ÜÀí/»´°²PDA/pages/stash/TakeStock.vue
@@ -8,78 +8,23 @@
               <uni-forms label-width="120">
                  <uni-forms-item label="托盘条码">
                     <uni-easyinput type="text" :focus="!istrue" v-model="barcode" placeholder="请扫描托盘条码"
                        ref='midInput' @input="inputChangebarcode()" />
                        ref='midInput' @confirm="inputChangebarcode()" />
                  </uni-forms-item>
                  <uni-forms-item label="内箱标签">
                     <uni-easyinput type="text" @input="inputChange()" v-model="materialsns"
                        placeholder="请扫描内箱标签" ref='midInput' :focus="istrue" />
                  </uni-forms-item>
                  <uni-forms-item label="出库数量">
                     <uni-easyinput type="number" v-model="num" placeholder="请输入出库数量" ref='midInput' />
                  </uni-forms-item>
                  <uni-forms-item>
                     <label style="margin-left: 0%;">总数量:{{totalNum}}</label>
                     <label style="margin-left: 30%;">出库数量:{{pickNum}}</label>
                  </uni-forms-item>
                  <uni-forms-item>
                     <label style="margin-left: 0%;">工单总数量:{{orderTotalNum}}</label>
                     <label style="margin-left: 21%;">累计出库数量:{{orderPickNum}}</label>
                  </uni-forms-item>
                  <uni-forms-item>
                     <label style="margin-left: 0%;">工单号:{{orderNo}}</label>
                  </uni-forms-item>
                  <uni-forms-item>
                     <checkbox :checked="isPicking" @click="checkedClick">是否拣选</checkbox>
                  <uni-forms-item label="实盘数量">
                     <uni-easyinput type="number" v-model="num" placeholder="请输入实盘数量" ref='midInput' />
                  </uni-forms-item>
                  <uni-forms-item>
                     <button @click="picking" type="primary" style="margin-left: 0px;">盘点完成</button>
                  </uni-forms-item>
               </uni-forms>
               <uni-list>
                  <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
                     <template v-slot:body>
                        <view class="uni-list-box">
                           <view class="uni-content">
                              <view class="uni-title-sub uni-ellipsis-2">物料编码:{{item.matCode}}</view>
                              <view class="uni-title-sub uni-ellipsis-2">数量:{{item.matQuantity}}</view>
               <view class="uni-content" v-if="takeStockObj">
                  <view class="uni-title-sub uni-ellipsis-2">盘点单号:{{orderNo}}</view>
                  <view class="uni-note">物料编码:{{takeStockObj.materielCode}}</view>
                  <view class="uni-note">物料批次:{{takeStockObj.batchNo}}</view>
                  <view class="uni-note">物料名称:{{takeStockObj.materielName}}</view>
                  <view class="uni-note">物料规格:{{takeStockObj.materielSpec}}</view>
                  <view class="uni-note">账面数量:{{takeStockObj.sysQty}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item>
                  <uni-list-item direction="column" v-for="item in boxBarcodes" :key="item.sn">
                     <template v-slot:body>
                        <view class="uni-list-box">
                           <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
                              @click="deleteList(item.sn)">
                           </uni-icons>
                           <view class="uni-content">
                              <view class="uni-title-sub uni-ellipsis-2">订单号:{{item.orderNo}}</view>
                              <view class="uni-note">物料编码:{{item.matCode}}</view>
                              <view class="uni-note">生产日期:{{item.matProductionDate}}</view>
                              <view class="uni-note">数量:{{item.matQty}}</view>
                              <view class="uni-note">是否拣选:{{item.isPicking}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item>
               </uni-list>
            </view>
         </view>
         <view v-if="current === 2" class="headerstyle">
            <view class="itemstyle">
               <uni-forms label-width="120">
                  <uni-forms-item label="托盘条码">
                     <uni-easyinput type="text" :focus="!istrue2" v-model="barcode2" placeholder="请扫描托盘条码"
                        ref='midInput' @input="inputChangebarcode2()" />
                  </uni-forms-item>
                  <uni-forms-item label="内箱标签">
                     <uni-easyinput type="text" @input="inputChange2()" v-model="innerboxcode"
                        placeholder="请扫描内箱标签" ref='midInput' :focus="istrue2" />
                  </uni-forms-item>
                  <uni-forms-item>
                     <button @click="submit" type="primary" size="default" style="margin-top: 2%;">组盘</button>
                  </uni-forms-item>
               </uni-forms>
            </view>
         </view>
         <view v-if="current === 1" class="headerstyle">
@@ -87,7 +32,7 @@
               <uni-forms label-width="120">
                  <uni-forms-item label="托盘条码">
                     <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
                        placeholder="请扫描托盘条码" ref='midInput' @input="inputChangebarcode3" />
                        placeholder="请扫描托盘条码" ref='midInput' @confirm="inputChangebarcode3" />
                  </uni-forms-item>
                  <uni-forms-item label="地址条码">
                     <uni-easyinput type="text" v-model="address" :disabled="addressdisabled" placeholder="请扫描地址条码" ref='midInput'
@@ -97,6 +42,33 @@
                     <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">入库确认</button>
                  </uni-forms-item>
               </uni-forms>
            </view>
            <view>
               <uni-list>
                  <uni-list-item direction="column" v-if="inboundBarcode">
                     <template v-slot:body>
                        <view class="uni-list-box">
                           <view class="uni-content">
                              <view class="uni-title-sub uni-ellipsis-2">组盘总数量:{{Summmary}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item>
                  <uni-list-item direction="column" v-for="(item,index) in stockInfoDetail" :key="index">
                     <template v-slot:body>
                        <view class="uni-list-box">
                           <view class="uni-content">
                              <view class="uni-title-sub uni-ellipsis-2">物料编号:{{item.materielCode}}</view>
                              <view class="uni-note">物料名称:{{item.materielName}}</view>
                              <view class="uni-note">物料批次:{{item.batchNo}}</view>
                              <view class="uni-note">组盘数量:{{item.stockQuantity}}</view>
                              <view class="uni-note">生产日期:{{item.productionDate}}</view>
                              <view class="uni-note">有 æ•ˆ æœŸï¼š{{item.effectiveDate}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item>
               </uni-list>
            </view>
         </view>
      </view>
@@ -120,28 +92,32 @@
            barcodefocus: true,
            totalNum: 0,
            pickNum: 0,
            num: 0,
            num: null,
            orderTotalNum: 0,
            orderPickNum: 0,
            orderNo: "",
            matTotal: [],
            istrue2: false,
            barcode2: '',
            Summmary:0,
            innerboxcode: "",
            takeStockObj:null,
            sns2: [],
            barcodefocus: true,
            addressFocus: false,
            inboundBarcode: "",
            address: "",
            addressdisabled: true,
            warehouseId:""
            addressdisabled: false,
            warehouseId:"",
            stockInfoDetail:[]
         }
      },
      onLoad(res) {
         this.barcodefocus = false;
         this.istrue = false;
         this.warehouseId = res.warehouseId;
         if (this.warehouseId == 3) { //辅料仓库区ID
         this.orderNo=res.orderNo;
         if (this.warehouseId == 3) { //板料仓库区ID
            this.address = "1011";
            this.addressdisabled = true;
         }
@@ -158,14 +134,23 @@
            var postData = {
               MainData: {
                  "barcode": this.inboundBarcode,
                  "startPoint": this.address
                  "startPoint": this.address,
                  "warehouseId": this.warehouseId
               }
            }
            this.$u.post('/api/Inbound/RequestInbound', postData).then(res => {
            this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
               if (res.status) {
                  uni.$showMsg(res.message);
                  this.inboundBarcode = "";
                  if (this.warehouseId !== 3) //板料仓库区ID
                  {
                  this.address = "";
                  }
                  this.Summmary=0;
                  this.stockInfoDetail=[];
                  this.$refs.uToast.show({
                     title: "成功",
                     type: "success"
                  })
               } else {
                  this.$refs.uToast.show({
                     title: res.message,
@@ -186,6 +171,35 @@
                  this.addressFocus = true;
               }
            })
            this.$nextTick(function(x) {
                           if (this.inboundBarcode != '') {
                              var postData = {
                                 MainData: {
                                    "barcode": this.inboundBarcode,
                                    "warehouseId": this.warehouseId,
                                 }
                              };
                              this.$u.post('/api/StockInfo/StockQueryData', postData).then(res => {
                                 // this.stockInfo = [];
                                 this.stockInfoDetail = [];
                                 this.Summmary=0;
                                 if (res.status) {
                                    // this.stockInfo = res.data,
                                    this.stockInfoDetail = res.data.details
                                    //获取总数量
                                    this.stockInfoDetail.forEach(item => {
                                       this.Summmary += item.stockQuantity;
                                    });
                                 } else {
                                    this.$refs.uToast.show({
                                       // title: "未找到托盘信息",
                                       title: res.message,
                                       type: "error"
                                    })
                                 }
                              })
                           }
                        })
         },
         picking() {
            if (this.barcode == "") {
@@ -195,28 +209,35 @@
               })
               return;
            }
            if (this.sns.length == 0) {
            if(this.num==null || this.num==undefined){
               this.$refs.uToast.show({
                  title: "请扫描内箱标签",
                  title: "盘点数量不能为空(可填0—有效数字值)",
                  type: "error"
               })
               return;
            }
            if(this.takeStockObj==null){
               this.$refs.uToast.show({
                  title: "盘点信息为空",
                  type: "error"
               })
               return;
            }
            var params = {
               MainData: {
                  "barcode": this.barcode,
                  "num": this.num,
                  "pickNum": this.pickNum
               },
               DetailData: this.sns
                  "id": this.takeStockObj.id
            }
            this.$u.post('/api/StockOperate/MatPicking', params).then(res => {
            }
            this.$u.post('/api/TakeStockOrder/MatPicking', params).then(res => {
               if (res.status) {
                  uni.$showMsg('盘点成功!')
                  this.barcode = "";
                  this.boxBarcodes = [];
                  this.sns = [];
                  this.materialsns = "";
                  this.takeStockObj=null;
                  this.num=null;
                  this.$refs.uToast.show({
                     title: "盘点成功",
                     type: "success"
                  })
               } else {
                  this.$refs.uToast.show({
                     title: res.message,
@@ -288,45 +309,25 @@
            }
         },
         inputChangebarcode() {
            this.boxBarcodes = [];
            this.istrue = false;
            this.$nextTick(function(x) {
               if (this.barcode != '') {
                  var postData = {
                     MainData: {
                        "barcode": this.barcode
                        "orderNo": this.orderNo,
                        "takePalletCode": this.barcode
                     }
                  };
                  this.$u.post('/api/StockInfo/GetStockOutboundOrder', postData).then(res => {
                  this.$u.post('/api/TakeStockOrder/GetTakeDetailInfo', postData).then(res => {
                     if (res.status) {
                        if (res.data.totalNum == res.data.pickNum) {
                           res.data.innerBoxCode.forEach(x => {
                              var matInfo = x.split('|');
                              if (matInfo.length > 6) {
                                 var matObj = {
                                    matCode: matInfo[1],
                                    matProductionDate: matInfo[3],
                                    matQty: matInfo[5],
                                    orderNo: matInfo[6],
                                    sn: this.materialsns,
                                    isPicking: this.isPicking
                                 }
                                 this.sns.push({
                                    innerboxcode: this.materialsns,
                                    isSplit: this.isPicking
                                 });
                                 if (!this.boxBarcodes.find(x => x.orderNo == matObj
                                       .orderNo)) {
                                    this.boxBarcodes.push(matObj);
                                 }
                              }
                        this.takeStockObj=null;
                        this.takeStockObj= res.data;
                     } else {
                        this.barcode="";
                        this.$refs.uToast.show({
                           title: res.message,
                           type: "error"
                           })
                        }
                        this.totalNum = res.data.totalNum;
                        this.pickNum = res.data.pickNum;
                        this.orderPickNum = res.data.orderPickNum;
                        this.orderTotalNum = res.data.orderTotalNum;
                        this.orderNo = res.data.orderNo;
                     }
                  })
                  this.istrue = true;