1
huangxiaoqiang
2025-10-23 82149871f30f4564d84272649352496a2ab0a38e
ÏîÄ¿´úÂë/PDA/pages/Order/Outorderboxing.vue
@@ -3,94 +3,98 @@
      </uni-segmented-control>
      <view class="content">
         <view v-if="current === 0" class="headerstyle">
            <u-sticky>
               <view style="background-color: #ffffff;">
                  <!-- <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar> -->
            <div style="padding: 30px;">
               <view class="flex-row">
                  <view class="label">单号:</view>
                  <view class="value">{{orderDetail.orderNo}}</view>
               </view>
            </u-sticky>
            <uni-list-item direction="column" v-for="(item) in orderDetail" :key="item.id">
               <template v-slot:body>
                  <view class="uni-list-box">
                     <checkbox @click="click(item)" style="margin-right: 20px;"></checkbox>
                     <view class="uni-content">
                        <view style="font-size: 18px;">单据编号:{{orderNo}}</view>
                        <view style="font-size: 18px;">物料编码:{{item.materielCode}}</view>
                        <view style="font-size: 18px;">物料名称:{{item.materielName}}</view>
                        <view style="font-size: 18px;">单据数量:{{item.orderQuantity}}</view>
                        <view style="font-size: 18px;">出库数量:{{item.overOutQuantity}}</view>
                        <view style="font-size: 18px;">锁定数量:{{item.lockQuantity}}</view>
                     </view>
                  </view>
               </template>
            </uni-list-item>
            <button @click="OutBound" type="primary" size="default" style="margin-top: 2%;">出库</button>
            <u-toast ref="uToast" />
         </view>
         <view v-if="current === 1" class="headerstyle">
            <u-sticky>
               <view style="background-color: #ffffff;">
                  <!-- <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar> -->
               <view class="flex-row">
                  <view class="label">上游单号:</view>
                  <view class="value">{{orderDetail.upperOrderNo}}</view>
               </view>
            </u-sticky>
            <uni-list :border="true">
               <uni-list-item direction="column" clickable @click="groupClick(item.materielCode,item.id)" link
            :to="page+materielCode+'&id='+item.id" v-for="item in orderDetail" :key="item.materielCode">
                  <template v-slot:body>
                     <uni-group margin-top="20">
                        <view style="font-size: 18px;">单据编号:{{orderNo}}</view>
                        <view style="font-size: 18px;">物料编码:{{item.materielCode}}</view>
                        <view style="font-size: 18px;">物料名称:{{item.materielName}}</view>
                        <view style="font-size: 18px;">单据数量:{{item.orderQuantity}}</view>
                        <view style="font-size: 18px;">出库数量:{{item.overOutQuantity}}</view>
                        <view style="font-size: 18px;">锁定数量:{{item.lockQuantity}}</view>
                     </uni-group>
                  </template>
               </uni-list-item>
            </uni-list>
               <view class="flex-row">
                  <view class="label">物料编码:</view>
                  <view class="value">{{orderDetail.materielCode}}</view>
               </view>
               <view class="flex-row">
                  <view class="label">单据数量:</view>
                  <view class="value">{{orderDetail.orderQuantity}}</view>
               </view>
               <view class="flex-row">
                  <view class="label">已出库数量:</view>
                  <view class="value">{{orderDetail.overOutQuantity}}</view>
               </view>
               </div>
               <view style="padding: 5%;">
                  <uni-forms label-width="120">
                     <uni-forms-item label="终 ç‚¹ åŒº åŸŸ">
                        <uni-data-select :focus="!istrue" v-model="AreaId" :localdata="range"
                           placeholder="请输选择入库终点区域"></uni-data-select>
                     </uni-forms-item>
                  </uni-forms>
                  <button @click="OutBound" type="primary" size="default" style="margin-top: 2%;">出库</button>
               </view>
            <u-toast ref="uToast" />
         </view>
      </view>
   </view>
   </view>
</template>
<script>
   import {
      config
   } from '../../common/config';
   const innerAudioContext = uni.createInnerAudioContext();
   export default {
      data() {
         return {
            page: "/pages/materielGroup/OutOrderDetail?materielCode=",
            items: ['直接出库', '指定出库'],
            items: ['直接出库'],
            current: 0,
            orderNo: "",
            Id: 0,
            AreaId:"",
            orderIds:[],
            label: "",
            orderDetail: [],
            range: [],
            orderDetail: {
               // id: "",
               // orderNo: "",
               // upperOrderNo: "",
               // materielCode: "",
               // materielName: "",
               // orderQuantity: "",
               // overOutQuantity: "",
            },
            focus: false,
            orderDetailId: [],
            key:[],
            materielCode:"",
            key: [],
            materielCode: "",
         }
      },
      onShow() {},
      onLoad(res) {
         console.log(res);
         this.focus = false;
         this.addressFocus = false;
         this.orderNo = res.orderNo;
         this.label = "单据编号:" + this.orderNo;
         this.Id = res.Id;
         this.range = config.AreaId;
         this.getData();
      },
      methods: {
         groupClick(materielCode,id){
            window.location="/pages/materielGroup/OutOrderDetail?materielCode="+materielCode+"&id="+id;
            console.log(materielCode,id)
         groupClick(materielCode, id) {
            // window.location="/pages/materielGroup/OutOrderDetail?materielCode="+materielCode+"&id="+id;
            // console.log(materielCode,id)
         },
         getData() {
            var postData = this.orderNo
            this.$u.post('/api/OutboundOrder/GetOutboundOrderDetail', postData).then((res) => {
            var postData = this.Id;
            this.$u.post('/api/OutboundOrder/GetOutboundOrderDetail?id=' + postData, "").then((res) => {
               if (res.status) {
                  this.orderDetail = res.data;
                  if (this.orderDetail.length > 3) {
                     this.loadVisible = true;
                  }
                  // if (this.orderDetail.length > 3) {
                  //    this.loadVisible = true;
                  // }
               }
            })
         },
@@ -105,8 +109,12 @@
            }
         },
         OutBound() {
            var postData = this.key;
            this.$u.post('/api/Task/GenerateOutboundTasks', postData).then(res => {
            this.orderIds.push(this.Id);
            var postData = {
               AreaId:this.AreaId,
               orderIds:this.orderIds
            };
            this.$u.post('/api/StockInfo/GenerateOutboundTask', postData).then(res => {
               if (res.status) {
                  this.items = [];
                  uni.$showMsg(res.message);
@@ -144,22 +152,26 @@
<style lang="scss">
   @import '@/common/uni-ui.scss';
   .content {
   .flex-row {
      display: flex;
      height: 150px;
      justify-content: space-between;
      /* å·¦å³å¯¹é½ */
      align-items: center;
      /* åž‚直居中 */
      padding: 10rpx 0;
   }
   .content-text {
      font-size: 14px;
   .label {
      color: #666;
      width: 200rpx;
      /* å›ºå®šæ ‡ç­¾å®½åº¦ */
      text-align: left;
   }
   .itemstyle {
      margin-top: 30px;
      margin-left: 5%;
   }
   .headerstyle {
      width: 90%;
   .value {
      flex: 1;
      text-align: right;
      color: #333;
      font-weight: bold;
   }
</style>