jiangping
2023-09-11 4fa0cbae96cde47e4878e16c87da294903a457ae
minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
@@ -1,34 +1,25 @@
<template>
   <view>
      <workOrderInfo :orederMessage="info" />
      <view class="bg_cate">
      <!-- <view class="bg_cate">
         <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
            v-for="(item, index) in cate" :key="index">{{ item.name }}</view>
      </view>
      <div class="bg_list" v-if="typeView === 0">
      </view> -->
      <div class="bg_list">
         <div class="bg_list_item">
            <div class="bg_list_item_top">
               <div class="bg_list_item_top_left">
                  <div class="bg_list_item_top_left_x bg_m"></div>
                  <span>投料明细</span>
               </div>
               <div class="bg_list_item_top_right" @click="jumpTL">
                  <!-- v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)" -->
                  <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
                  <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
                  <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
                  <span class="cm">新增投料</span>
               </div>
            </div>
            <template v-if="feedingData && feedingData.length > 0">
               <u-swipe-action>
                  <u-swipe-action-item v-for="(item, index) in feedingData" :key="index" :options="options"
                     @click="deleItem(item.id, 'T')">
               <view>
                  <view v-for="(item, index) in feedingData" :key="index">
                     <div class="bg_list_item_h">
                        <div class="bg_list_item_num">
                           <div class="bg_list_item_num_item">
                              <!-- <span>{{item.code}}</span> -->
                              <div class="bg_list_item_num_item_wl">
                                 <span> {{ item.materialName || '墙体砖' }}{{ item.procedureName ? `&nbsp;|&nbsp;${item.procedureName}` : ''
                                 }}</span>
@@ -41,25 +32,17 @@
                                 </div>
                              </div>
                              <div class="bg_list_item_num_item_sr">
                                 <!-- :disabled="!proxy.$auth('h5:workorderinput:update')" -->
                                 <!-- <view class="cY">
                                    <span>{{item.num}}{{ item.unitName }}</span>
                                    <image src="../../../static/ic_edit@2x.png" class="img48" mode=""></image>
                                    <span class="red">删除</span>
                                 </view> -->
                                 <view class="cY">
                                    <input v-model="item.num"
                                       @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)"
                                       type="number" />
                                    <span class="cm">保存</span>
                                    <view class="mr10">{{ item.num }}</view>
                                    <span v-if="info.umodel">{{ info.umodel.name }}</span>
                                 </view>
                                 
                              </div>
                           </div>
                        </div>
                     </div>
                  </u-swipe-action-item>
               </u-swipe-action>
                  </view>
               </view>
            </template>
            <template v-else>
@@ -74,17 +57,17 @@
                  <div class="bg_list_item_top_left_x bg_m"></div>
                  <span>产出明细</span>
               </div>
               <div class="bg_list_item_top_right" @click="proRecord">
                  <span style="color: #4275FC;">查看检验记录</span>
                  <u-icon name="arrow-right" color="#4275FC" />
               </div>
            </div>
            <div class="bg_list_item_h">
               <div class="bg_list_item_num">
                  <div class="bg_list_item_num_item">
                     <span>良品数{{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
                     <div class="bg_list_item_num_item_sr">
                        <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
                        <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
                        <input type="number" v-model="produceFrom.qualified"
                           @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)"
                           placeholder="请输入" />
                        <view class="mr10">{{ produceFrom.qualified }}</view>
                        <span v-if="info.umodel">{{ info.umodel.name }}</span>
                     </div>
                  </div>
@@ -92,152 +75,46 @@
            </div>
            <div class="bg_list_item_h">
               <div class="bg_list_item_num">
                  <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
                  <div class="bg_list_item_num_item">
                     <span>不良数{{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
                     <div class="bg_list_item_num_item_sr">
                        <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
                        <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
                        <input type="number" v-model="produceFrom.undesirable"
                           @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)"
                           placeholder="请输入" />
                        <view class="mr10">{{ produceFrom.undesirable }}</view>
                        <span v-if="info.umodel">{{ info.umodel.name }}</span>
                     </div>
                  </div>
               </div>
            </div>
            <div class="bg_list_item_h" v-if="produceFrom.undesirable > 0">
               <div class="bg_list_item_num">
                  <div class="bg_list_item_num_item" @click="badShow = true">
                     <span>不良项</span>
                     <div class="bg_list_item_num_item_sr">
                        <span class="wulll" :style="{ color: form.defectiveName ? '#305ED5' : '' }">{{ form.defectiveName ?
                          form.defectiveName : '设置' }}</span>
                        <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
                     </div>
                  </div>
               </div>
            </div>
         </div>
         <div class="bg_plan" @click="TimeShow = true">
            <div class="bg_plan_label">
               <span>报工时长</span>
            </div>
            <div class="bg_plan_label_val">
               <span
                  :style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '请选择' }}</span>
               <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
            </div>
         </div>
         <div class="bg_list_item" v-if="arrType && arrType.length > 0">
         <div class="bg_list_item">
            <div class="bg_list_item_top">
               <div class="bg_list_item_top_left">
                  <div class="bg_list_item_top_left_x bg_m"></div>
                  <span>工资绩效</span>
                  <span>生产点检</span>
               </div>
            </div>
            <div class="bg_list_item_h">
               <div class="bg_list_item_num">
                  <div class="bg_list_item_num_item">
                     <span>计件方式</span>
                     <div class="bg_list_item_num_item_list">
                        <div :class="form.index == index ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
                           v-for="(item, index) in arrType" :key="index"
                           @click="clickPerformanceType(item, index)">
                           {{ item.name }}
                        </div>
                     </div>
                  </div>
               </div>
               <div class="bg_list_item_num">
                  <div class="bg_list_item_num_item">
                     <span>工资单价</span>
                     <div class="bg_list_item_num_item_sr">
                        <span class="color1">{{ (arrType[form.index].salary / 10 / 10).toFixed(2) }}元/{{ arrType[form.index].type ==
                        0 ? '件' : '时' }}</span>
                     </div>
                  </div>
               </div>
               <div class="bg_list_item_num">
                  <div class="bg_list_item_num_item">
                     <span>预计工资</span>
                     <div class="bg_list_item_num_item_sr">
                        <span class="color1">{{ expectedSalary }}元</span>
                     </div>
                  </div>
               </div>
               <div class="bg_list_item_num">
                  <div class="bg_list_item_num_item">
                     <span>达标率</span>
                     <div class="bg_list_item_num_item_sr">
                        <span class="color1">{{ complianceRate }}%</span>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>
      <div class="details_dj" v-if="typeView === 1">
            <template v-if="djData && djData.length > 0">
               <div class="details_dj">
         <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)">
                        <view v-for="(item, index) in djData" :key="index">
                     <div class="details_dj_list_item">
                        <span>{{ item.attrName }}:{{ item.val }}</span>
                        <span>{{ item.userName }} {{ item.createTime }}</span>
                     </div>
                  </u-swipe-action-item>
               </u-swipe-action>
                        </view>
            </scroll-view>
            <!-- <u-swipe-action>
               <u-swipe-action-item v-for="(item, index) in djData" :key="index" :options="options"
                  @click="dele(item.id)">
                  <div class="details_dj_list_item">
                     <span>{{ item.attrName }}:{{ item.val }}</span>
                     <span>{{ item.userName }} {{ item.createTime }}</span>
                  </div>
               </u-swipe-action-item>
            </u-swipe-action> -->
         </div>
      </div>
      <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
      <template>
         <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 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-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">
         <view class="rp p40 contanir">
            <view class="c2 b tc">不良项</view>
            <view class="content bl_list">
               <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
                  <div class="bl_list_item_left">
                     <u-checkbox-group>
                        <u-checkbox :checked="item.active" :label="item.name"
                           :name="item.name">
                        </u-checkbox>
                     </u-checkbox-group>
            <template v-else>
               <div class="kong">
                  <span>暂无数据</span>
                  </div>
                  <div class="bl_list_item_right">
                     <input type="number" @click.stop v-model="item.num" placeholder="0" />
            </template>
                  </div>
               </div>
            </view>
            <view class="flex ap tc bottom-view">
               <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">确定</view>
            </view>
         </view>
      </u-popup>
   </view>
</template>
@@ -265,7 +142,9 @@
      queryOne,
      queryList
   } from '@/util/api/PlanningAPI'
   import { REGULAR } from '@/util/utils'
   import {
      REGULAR
   } from '@/util/utils'
   export default {
      components: {
         workOrderInfo
@@ -278,7 +157,8 @@
               },
               {
                  name: '点检'
               }],
               }
            ],
            form: {
               time: '',
               efective: [],
@@ -317,6 +197,7 @@
         this.queryByIds()
         this.getOrocessRecords()
         this.getData()
         this.getOrocessRecordCC()
         uni.$on('spotAdd', () => {
            if (this.typeView == 1) {
               this.pages.page = 1
@@ -457,6 +338,11 @@
               url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
            })
         },
         proRecord() {
            uni.navigateTo({
               url: `/pages_inspect/pages/InspectionRecords/InspectionRecords?id=${this.workorderId}`
            })
         },
         pageDJs() {
            pageDJ({
               capacity: this.pages.capacity,
@@ -465,7 +351,9 @@
                  workorderId: this.workorderId
               }
            }).then(res => {
               let {data} = res
                  let {
                     data
                  } = res
               if (data.page == 1) {
                  this.djData = []
               }
@@ -570,6 +458,16 @@
            }).then(res => {
               if (res.code === 200) {
                  this.feedingData = res.data
               }
            })
         },
         getOrocessRecordCC() {
            getWorkorderRecordListStandard({
               workorderId: this.workorderId
            }).then(res => {
               if (res.data.length > 0) {
                  this.produceFrom.qualified = res.data[0].qualifiedNum
                  this.produceFrom.undesirable = res.data[0].unqualifiedNum
               }
            })
         },
@@ -838,9 +736,9 @@
                     display: flex;
                     align-items: center;
                     justify-content: flex-end;
                     .color1 {
                        font-size: 28rpx;
                     .color1 {
                        font-family: PingFangSC-Regular, PingFang SC;
                        font-weight: 400;
                        color: #333333;