小小儁爺
2026-01-05 cb59a1ff2e14d892a4b085d8dadbf564073d25a3
pages/zlgl/xjjy.vue
@@ -34,19 +34,21 @@
      </view>
      <u-alert :title="alertTitle" type="info"></u-alert>
      <u-alert :title="'工单数量('+total+')'" type="info"></u-alert>
      <!-- 折叠面板 -->
      <!-- <u-collapse @change="change" @close="close" @open="open"> -->
      <!-- @change="collapseChange" -->
      <u-collapse style="max-height: 590px;overflow: auto;">
      <u-collapse style="max-height: 62vh;overflow: auto;">
         <!-- :value='parseFloat(item.ordergoodqty)+"/"+parseFloat(item.orderqty)' -->
         <scroll-view scroll-y :style="{height: 590 + 'px'}" @scrolltolower="loadMore">
            <u-collapse-item style="position: relative;" :title="item.ordercode" :name='item.ordercode'
               v-if='item.children.length!==0' :value='parseFloat(item.ordergoodqty)+"/"+parseFloat(item.orderqty)'
               :label="item.children.length===0?'未派发':''" :disabled='item.children.length===0'
               v-for="item in collapseArr" :key="item.ordercode">
               v-for="(item,index) in collapseArr" :key="item.ordercode+index">
               <view style="position: absolute;left: 30rpx;top:34px;font-size: 24rpx;color: #999;">
@@ -54,8 +56,8 @@
               </view>
               <!-- <view style="position: absolute;width: 26%;left: 44%;top:16px;"> -->
               <view style="position: absolute;width: 120px;left: 44%;top:16px;color:#0659ff"
                  @click="progressClick(item.ordercode)">
               <view style="position: absolute;width: 120px;left: 44%;top:16px;color:#0659ff">
                  <!-- @click="progressClick(item.ordercode)" -->
                  <!-- {{item.partname}}{{item.partspec}} -->
                  <u-line-progress :percentage="parseFloat((item.ordergoodqty*100/item.orderqty).toFixed(2))"
                     inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
@@ -124,6 +126,14 @@
            </u-collapse-item>
         </scroll-view>
      </u-collapse>
      <view class="uni-pagination-box">
         <uni-pagination show-icon :page-size="pageSize" :current="currentpage" :total="total"
            @change="pageChange" />
      </view>
      <!-- 弹出层 -->
@@ -208,6 +218,10 @@
      <view @click="scan2">
         <drag-ball :x='300' :y="600"></drag-ball>
      </view>
      <scan-code></scan-code>
   </view>
</template>
@@ -216,7 +230,12 @@
   import {
      ProductOrderSearch
   } from '../../config/api.js';
   import scanCode from '@/components/scan-code/scan-code.vue'
   export default {
      components: {
         scanCode
      },
      onLoad(option) {
         const _this = this
         uni.$off('scancodedate') // 每次进来先 移除全局自定义事件监听器
@@ -224,9 +243,6 @@
            console.log("扫描到的内容为:", content)
            _this.getCheckScanDeviceQrCodeData(content)
         })
         console.log(option, 8)
      },
      onPullDownRefresh() {
@@ -295,7 +311,10 @@
               // },
            ], //已选中的产品标签
            order: '', //单号
            placeholder2: '生产订单'
            placeholder2: '生产订单',
            total: 0,
            currentpage: 1, //第几页
            pageSize: 10, //每页显示多少条
         }
      },
@@ -304,7 +323,7 @@
         let that = this
         uni.startPullDownRefresh({
            success() {
               that.getProductOrderSearch()
               that.getProductOrderSearch(that.currentpage)
               uni.showToast({
                  title: "下拉刷新",
                  icon: 'none'
@@ -321,7 +340,7 @@
      mounted() {
         this.init()
         this.getProductOrderSearch()
         this.getProductOrderSearch(1)
      },
      methods: {
         init() {
@@ -353,25 +372,31 @@
            })
         },
         // 页数改变时  分页触发
         pageChange(e) {
            this.currentpage = e.current
            this.getProductOrderSearch(e.current)
         },
         // 接口获取
         async getProductOrderSearch() {
         async getProductOrderSearch(current) {
            let ordertype = '' // SO:销售订单  MO:生产订单  PO:生产工单
            switch (this.radiovalue) {
               case '生产工单':
                  this.alertTitle = '工单数量(共/个)'
                  this.placeholder = '请输入工单信息'
                  // this.alertTitle = '工单数量(共/个)'
                  // this.placeholder = '请输入工单信息'
                  ordertype = 'PO'
                  break
               case '生产订单':
                  // this.alertTitle = '生产订单数量(共/个)'
                  this.alertTitle = '工单数量(共/个)'
                  this.placeholder = '请输入生产订单信息'
                  // this.alertTitle = '工单数量(共/个)'
                  // this.placeholder = '请输入生产订单信息'
                  ordertype = 'MO'
                  break
               case '销售订单':
                  // this.alertTitle = '销售订单数量(共/个)'
                  this.alertTitle = '工单数量(共/个)'
                  this.placeholder = '请输入销售订单信息'
                  // this.alertTitle = '工单数量(共/个)'
                  // this.placeholder = '请输入销售订单信息'
                  ordertype = 'SO'
                  break
            }
@@ -384,15 +409,20 @@
               Ratetime: '',
               // Ratetime: this.calendarRange,
            }
            const {
               data: res
            } = await ProductOrderSearch(data)
               page: current,
               rows: this.pageSize,
               prop: 'lm_date',
               sortorder: 'desc'
            this.collapseArr = res
            this.collapseArrAll = res
            this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
               1]
            }
            const res = await ProductOrderSearch(data)
            this.total = res.count
            this.collapseArr = res.data
            this.collapseArrAll = res.data
            // this.alertTitle = this.alertTitle.split('/')[0] + this.total + this.alertTitle.split('/')[
            //    1]
         },
         loadMore() {
@@ -401,26 +431,30 @@
         //输入框回车确认事件
         confirmInputBoxValue(val) {
            this.collapseArr = this.collapseArrAll.filter((p) => {
               return p.ordercode.indexOf(val) !== -1
            })
            this.order = val
            this.currentpage = 1
            this.getProductOrderSearch(1)
            // this.collapseArr = this.collapseArrAll.filter((p) => {
            //    return p.ordercode.indexOf(val) !== -1
            // })
            switch (this.radiovalue) {
               case '生产工单':
                  this.alertTitle = '工单数量(共/个)'
                  break
               case '生产订单':
                  this.alertTitle = '工单数量(共/个)'
                  // this.alertTitle = '生产订单数量(共/个)'
                  break
               case '销售订单':
                  this.alertTitle = '工单数量(共/个)'
                  // this.alertTitle = '销售订单数量(共/个)'
                  break
            }
            this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
               1]
            // switch (this.radiovalue) {
            //    case '生产工单':
            //       this.alertTitle = '工单数量(共' + this.total + '个)'
            //       break
            //    case '生产订单':
            //       this.alertTitle = '工单数量(共' + this.total + '个)'
            //       break
            //    case '销售订单':
            //       this.alertTitle = '工单数量(共' + this.total + '个)'
            //       break
            // }
            // this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
            //    1]
         },
@@ -468,7 +502,7 @@
                  // that.scanContent = res.result;
                  uni.navigateTo({
                     url: './scbg2?orderstep=' + res.result
                     url: './xjjy1?orderstep=' + res.result
                  })
               },
@@ -491,7 +525,7 @@
         // 弹出层收起
         popupClose() {
            this.getProductOrderSearch()
            this.getProductOrderSearch(1)
            this.popupShow = false
         },
@@ -669,4 +703,14 @@
   ::v-deep .u-cell__body {
      padding-bottom: 40rpx;
   }
   .uni-pagination-box {
      height: 4vh;
      margin: 1vh 0;
      display: flex;
      align-items: center;
      justify-content: center;
      // background-color: #fff;
   }
</style>