小小儁爺
2026-01-06 22fd33c839969a5c14de0d994701876407385d7f
pages/scgl/scbg.vue
@@ -34,7 +34,7 @@
      </view>
      <u-alert :title="alertTitle" type="info"></u-alert>
      <u-alert :title="'工单数量('+total+')'" type="info"></u-alert>
      <!-- 折叠面板 -->
@@ -44,26 +44,28 @@
      <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">
         <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.orderngqty)+parseFloat(item.orderlaborbadqty)+parseFloat(item.ordermaterielbadqty)+"/"+parseFloat(item.orderqty)'
               :label="item.children.length===0?'未派发':''" :disabled='item.children.length===0'
               v-for="(item,index) in collapseArr" :key="item.ordercode+index">
            <view style="position: absolute;left: 30rpx;top:34px;font-size: 24rpx;color: #999;">
               {{item.partname}} {{item.partspec}}
            </view>
               <view style="position: absolute;left: 30rpx;top:34px;font-size: 24rpx;color: #999;">
                  {{item.partname}} {{item.partspec}}
               </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)">
               <!-- {{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>
            </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)" -->
                  <!-- {{item.partname}}{{item.partspec}} -->
                  <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>
            <!--          <view style="position: absolute;width: 100px;right: 33px;  top:13px; ">
               <!--          <view style="position: absolute;width: 100px;right: 33px;  top:13px; ">
               <view class="" style="display: flex;justify-content: flex-end;">
                  <view style="color: #0659ff;">
                     {{parseFloat(item.ordergoodqty)}}
@@ -76,55 +78,59 @@
 -->
            <view v-if="radiovalue==='生产工单'" style="margin:0 0  5px">
               <view class="flex_column">
                  <view style="display:flex">
                     <view class="titleFont" style="font-size: 14px;">产品编码:</view>
                     <view class="contentFont" style="font-size: 14px;">{{item.partcode}}</view>
                  </view>
                  <view style="display:flex">
                     <view class="titleFont" style="font-size: 14px;">产品名称:</view>
                     <view class="contentFont" style="font-size: 14px;">{{item.partname}}</view>
                  </view>
                  <view style="display:flex">
                     <view class="titleFont" style="font-size: 14px;">产品规格:</view>
                     <view class="contentFont" style="font-size: 14px;">{{item.partspec?item.partspec:'/'}}
               <view v-if="radiovalue==='生产工单'" style="margin:0 0  5px">
                  <view class="flex_column">
                     <view style="display:flex">
                        <view class="titleFont" style="font-size: 14px;">产品编码:</view>
                        <view class="contentFont" style="font-size: 14px;">{{item.partcode}}</view>
                     </view>
                  </view>
               </view>
            </view>
            <!-- {{item.children}} -->
            <!-- <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;">
                  <!-- <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))"
                        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>
                           /{{ parseFloat(it.planqty)}}
                     <view style="display:flex">
                        <view class="titleFont" style="font-size: 14px;">产品名称:</view>
                        <view class="contentFont" style="font-size: 14px;">{{item.partname}}</view>
                     </view>
                     <view style="display:flex">
                        <view class="titleFont" style="font-size: 14px;">产品规格:</view>
                        <view class="contentFont" style="font-size: 14px;">{{item.partspec?item.partspec:'/'}}
                        </view>
                     </view>
                  </view>
               </view>
            </u-steps>
            <!-- </u--text> -->
               <!-- {{item.children}} -->
               <!-- <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,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(((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)}}
                           </view>
                        </view>
                     </view>
                  </view>
               </u-steps>
               <!-- </u--text> -->
         </u-collapse-item>
         <!-- </scroll-view> -->
            </u-collapse-item>
         </scroll-view>
      </u-collapse>
@@ -215,9 +221,9 @@
      <!-- 悬浮球 -->
      <view @click="scan2">
      <!--    <view @click="scan2">
         <drag-ball :x='300' :y="600"></drag-ball>
      </view>
      </view> -->
      <scan-code></scan-code>
@@ -241,11 +247,8 @@
         uni.$off('scancodedate') // 每次进来先 移除全局自定义事件监听器
         uni.$on('scancodedate', function(content) {
            console.log("扫描到的内容为:", content)
            // _this.getCheckScanDeviceQrCodeData(content)
            _this.getCheckScanDeviceQrCodeData(content)
         })
         console.log(option, 8)
      },
      onPullDownRefresh() {
@@ -315,7 +318,7 @@
            ], //已选中的产品标签
            order: '', //单号
            placeholder2: '生产订单',
            total: 10,
            total: 0,
            currentpage: 1, //第几页
            pageSize: 10, //每页显示多少条
@@ -349,7 +352,13 @@
         init() {
            uni.stopPullDownRefresh();
         },
         gotoPage(p1, p2) {
         gotoPage(p1, p2, it) {
            if (parseFloat(it.goodqty) + parseFloat(it.ngqty) + parseFloat(it.laborbadqty) + parseFloat(it
                  .materielbadqty) === parseFloat(it.planqty)) {
               return uni.$u.toast('当前工序无可报数量!')
            }
            let orderstep = null
            if (p1) {
@@ -360,7 +369,7 @@
            uni.navigateTo({
               url: './scbg2?orderstep=' + orderstep
               url: './scbg2?orderstep=' + orderstep + '&currentpage=' + this.currentpage
            })
         },
@@ -386,20 +395,20 @@
            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
            }
@@ -424,8 +433,8 @@
            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() {
@@ -434,22 +443,25 @@
         //输入框回车确认事件
         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
            // }