Mr.Zhang
2023-09-18 ca2200ba53b236e8902b706c444375408c782f07
minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
@@ -1,4 +1,5 @@
<template>
   <page-meta :page-style="(badShow||statistics) ?'overflow: hidden;': ''"/>
   <view>
      <view class="tips-label">当前任务需要质检;产出后,请耐心等待质检员检验,并根据检验结果调整产出数据后再报工。</view>
      <workOrderInfo :orederMessage="info" />
@@ -125,7 +126,8 @@
               <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
            </div>
         </div>
         <div class="bg_list_item" v-if="form.duration && arrType && arrType.length > 0">
         <!-- form.duration &&  -->
         <div class="bg_list_item" v-if="arrType && arrType.length > 0">
            <div class="bg_list_item_top">
               <div class="bg_list_item_top_left">
                  <div class="bg_list_item_top_left_x bg_m"></div>
@@ -176,7 +178,6 @@
      <div class="details_dj" v-if="typeView === 1">
         <div class="details_dj_list">
            <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists">
               <u-swipe-action v-for="(item, index) in djData" :key="index">
                  <u-swipe-action-item :options="options" @click="dele(item.id)">
                     <div class="details_dj_list_item">
@@ -185,21 +186,29 @@
                     </div>
                  </u-swipe-action-item>
               </u-swipe-action>
            </scroll-view>
         </div>
      </div>
      <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
      <template v-if="info.status === 2 || info.procedureNeedcheck === 1">
      <!-- status 0已创建、1已备料、2已完工、3已检验、4已报工、5已入库、6已取消、7生产中 -->
      <!-- procedureNeedcheck 工序是否需要检验才能报工 0是 1否 -->
      <template v-if="typeView == 0 &&( info.status === 2 || info.procedureNeedcheck === 1 )">
         <div class="bh_zw"></div>
         <div class="bg_footer bg_f7">
            <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">确认报工</div>
            <!-- proxy.$auth('h5:workorder:processRecord') &&  -->
         </div>
      </template>
      <template v-if="typeView == 1 && info.status !== 4 && info.procedureNeedcheck !== 5 && info.procedureNeedcheck !== 6">
         <div class="bh_zw"></div>
         <div class="bg_footer bg_f7">
            <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
               <image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
               <span>新增点检</span>
            </div>
         </div>
      </template>
      <u-safe-bottom></u-safe-bottom>
      <u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
         mode="time"></u-datetime-picker>
      <u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
@@ -376,22 +385,23 @@
            }
         },
         complianceRate() {
            let { index, duration } = this.form
            let { qualified, undesirable } = this.produceFrom
            if (this.arrType.length === 0) return 0;
            if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0;
            if (!this.form.duration) return 0;
            if (!this.arrType[this.form.index].num) return 0;
            if (!qualified && !undesirable) return 0;
            if (!duration) return 0;
            if (!this.arrType[index].num) return 0;
            // 按件计算
            // if (infoBox.value.type == 0) {
            if (this.arrType[this.form.index].unqualified == 1) { // 是否计入不良品
               let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form
                  .duration / 3600)).toFixed(2)
               let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2)
            if (this.arrType[index].unqualified == 1) { // 是否计入不良品
               let a = ((Number(qualified) + Number(undesirable)) / (duration / 3600)).toFixed(2)
               let b = (this.arrType[index].num / (this.arrType[index].times / 3600)).toFixed(2)
               return ((Number(a) / Number(b)) * 100).toFixed(2)
               // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
               // return total * infoBox.value.salary;
            } else {
               let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2)
               let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2)
               let a = (qualified / (duration / 3600)).toFixed(2)
               let b = (this.arrType[index].num / (this.arrType[index].times / 3600)).toFixed(2)
               return ((Number(a) / Number(b)) * 100).toFixed(2)
               // return Number(from.qualified) * infoBox.value.salary;
            }
@@ -461,7 +471,6 @@
         timeConfirm({
            value
         }) {
            console.log(value)
            let h = Number(value.substring(0, 2))
            let m = Number(value.substring(3, 5))
            let s = 0
@@ -876,7 +885,7 @@
                     })
                     return
                  }
                  total = total += item.num
                  total += Number(item.num)
                  arr.push(item)
                  name += item.name + item.num + ';'
               }
@@ -1048,7 +1057,11 @@
            padding: 0 30rpx;
            box-sizing: border-box;
            background: white;
            &:last-child {
               .bg_list_item_num{
                  border: none !important;
               }
            }
            .bg_list_item_num {
               width: 100%;
               min-height: 98rpx;
@@ -1057,11 +1070,6 @@
               justify-content: center;
               align-items: center;
               border-bottom: 1rpx solid #E5E5E5;
               &:last-child {
                  border: none !important;
               }
               .kong {
                  text-align: center;
                  font-size: 25rpx;
@@ -1142,9 +1150,9 @@
                  span {
                     flex-shrink: 0;
                     overflow: hidden;
                     text-overflow: ellipsis;
                     white-space: nowrap;
                     // overflow: hidden;
                     // text-overflow: ellipsis;
                     // white-space: nowrap;
                     b {
                        font-size: 30rpx;
@@ -1209,9 +1217,9 @@
                     .wulll {
                        width: 400rpx;
                        text-align: right;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                        // overflow: hidden;
                        // white-space: nowrap;
                        // text-overflow: ellipsis;
                     }
                     span {
@@ -1233,7 +1241,7 @@
      padding: 30rpx;
      box-sizing: border-box;
      background: #FFFFFF;
      margin-bottom: 40rpx;
      // margin-bottom: 40rpx;
      display: flex;
      align-items: center;
      justify-content: space-between;