小小儁爺
2026-01-06 22fd33c839969a5c14de0d994701876407385d7f
pages/zlgl/wgjy.vue
@@ -34,19 +34,22 @@
      </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: 65vh;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)'
               v-if='item.children.length!==0'
               :value='parseFloat(item.ordergoodqty)+parseFloat(item.orderngqty)+parseFloat(item.orderlaborbadqty)+parseFloat(item.ordermaterielbadqty)+"/"+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,10 +57,11 @@
               </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))"
                  <u-line-progress
                     :percentage="parseFloat(((parseFloat(item.ordergoodqty)+parseFloat(item.orderngqty)+parseFloat(item.orderlaborbadqty)+parseFloat(item.ordermaterielbadqty))*100/item.orderqty).toFixed(2))"
                     inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
               </view>
@@ -97,18 +101,22 @@
               <!-- <u--text class="u-collapse-content"> -->
               <u-steps :current="-1" inactiveColor='#0659FF' direction="column">
                  <view v-for="(it,ind) in item.children" :key="item.ordercode+it.name+ind"
                     @click="gotoPage(item.ordercode,it.code)" style="display: flex;align-items: center;">
                     @click="gotoPage(item.ordercode,it.code,it)" style="display: flex;align-items: center;">
                     <!-- <u-steps-item :title="it.code+'/'+it.name+it.spec"></u-steps-item> -->
                     <u-steps-item :title="it.code+'/'+it.name"></u-steps-item>
                     <view class="" style="width: 100px;">
                        <u-line-progress :percentage="parseFloat((it.goodqty*100/it.planqty).toFixed(2))"
                        <u-line-progress
                           :percentage="parseFloat(((parseFloat(it.goodqty)+parseFloat(it.ngqty)+parseFloat(it.laborbadqty)+parseFloat(it.materielbadqty))*100/it.planqty).toFixed(2))"
                           inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
                     </view>
                     <view style="width: 30%;text-align: right;">
                        <view class="" style="display: flex;justify-content: flex-end;">
                           <view style="color: #0659ff;">
                              {{parseFloat(it.goodqty)}}
                           </view>
                           <view style="color: #ff0000;">
                              +{{parseFloat(it.ngqty)+parseFloat(it.laborbadqty)+parseFloat(it.materielbadqty)}}
                           </view>
                           <view>
                              /{{ parseFloat(it.planqty)}}
@@ -125,10 +133,15 @@
         </scroll-view>
      </u-collapse>
      <view class="uni-pagination-box">
         <uni-pagination show-icon :page-size="pageSize" :current="currentpage" :total="total"
            @change="pageChange" />
      </view>
      <!-- 弹出层 -->
      <!-- closeIconPos='top-left' closeOnClickOverlay  closeable='true' -->
@@ -209,9 +222,13 @@
      <!-- 悬浮球 -->
      <view @click="scan2">
      <!-- <view @click="scan2">
         <drag-ball :x='300' :y="600"></drag-ball>
      </view>
      </view> -->
      <scan-code></scan-code>
   </view>
</template>
@@ -220,7 +237,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') // 每次进来先 移除全局自定义事件监听器
@@ -228,9 +250,6 @@
            console.log("扫描到的内容为:", content)
            _this.getCheckScanDeviceQrCodeData(content)
         })
         console.log(option, 8)
      },
      onPullDownRefresh() {
@@ -300,7 +319,7 @@
            ], //已选中的产品标签
            order: '', //单号
            placeholder2: '生产订单',
            total: 10,
            total: 0,
            currentpage: 1, //第几页
            pageSize: 10, //每页显示多少条
@@ -311,7 +330,7 @@
         let that = this
         uni.startPullDownRefresh({
            success() {
               that.getProductOrderSearch()
               that.getProductOrderSearch(that.currentpage)
               uni.showToast({
                  title: "下拉刷新",
                  icon: 'none'
@@ -334,10 +353,6 @@
         init() {
            uni.stopPullDownRefresh();
         },
         // 页数改变时  分页触发
         pageChange(e) {
            this.getProductOrderSearch(e.current)
         },
         gotoPage(p1, p2) {
            let orderstep = null
@@ -349,7 +364,7 @@
            uni.navigateTo({
               url: './wgjy1?orderstep=' + orderstep
               url: './wgjy1?orderstep=' + orderstep + '&currentpage=' + this.currentpage
            })
         },
@@ -364,25 +379,31 @@
            })
         },
         // 页数改变时  分页触发
         pageChange(e) {
            this.currentpage = e.current
            this.getProductOrderSearch(e.current)
         },
         // 接口获取
         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
            }
@@ -394,17 +415,21 @@
               ordercode: this.order,
               Ratetime: '',
               // Ratetime: this.calendarRange,
               page: current,
               rows: this.pageSize,
               prop: 'lm_date',
               sortorder: 'desc'
            }
            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]
            // this.alertTitle = this.alertTitle.split('/')[0] + this.total + this.alertTitle.split('/')[
            //    1]
         },
         loadMore() {
@@ -413,21 +438,27 @@
         //输入框回车确认事件
         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 = '工单数量(共' + this.total + '个)'
                  break
               case '生产订单':
                  this.alertTitle = '工单数量(共' + this.total + '个)'
                  break
               case '销售订单':
                  this.alertTitle = '工单数量(共' + this.total + '个)'
                  break
            }
            // 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]
@@ -679,7 +710,6 @@
   ::v-deep .u-cell__body {
      padding-bottom: 40rpx;
   }
   .uni-pagination-box {
      height: 4vh;