|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <workOrderInfo :orederMessage="info" /> | 
|---|
|  |  |  | <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 class="content"> | 
|---|
|  |  |  | <workOrderInfo :orederMessage="info" /> | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <div v-if="typeView==0" 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')"> | 
|---|
|  |  |  | <div class="bg_list_item_h"> | 
|---|
|  |  |  | <view class="plr30 bg_w"> | 
|---|
|  |  |  | <view > | 
|---|
|  |  |  | <div v-for="(item, index) in feedingData" :key="index" 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 ? ` | ${item.procedureName}` : '' | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | <div class="bg_list_item_num_item_wl_lx"> | 
|---|
|  |  |  | <span class="green" v-if="item.qualityType == 0">合格 / </span> | 
|---|
|  |  |  | <span class="orange" v-if="item.qualityType == 1">不良 / </span> | 
|---|
|  |  |  | <span class="red" v-if="item.qualityType == 2">报废 / </span> | 
|---|
|  |  |  | <span class="green" v-if="item.qualityType == 0">合格<text class="c6" decode>{{ split }}</text></span> | 
|---|
|  |  |  | <span class="orange" v-if="item.qualityType == 1">不良<text class="c6" decode>{{ split }}</text></span> | 
|---|
|  |  |  | <span class="red" v-if="item.qualityType == 2">报废<text class="c6" decode>{{ split }}</text></span> | 
|---|
|  |  |  | <span>{{ item.locationName }}</span> | 
|---|
|  |  |  | <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span> | 
|---|
|  |  |  | <span v-if="item.batch"><text class="c6" decode>{{ split }}</text>{{ item.batch }}</span> | 
|---|
|  |  |  | </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="cY"> | 
|---|
|  |  |  | <view class="mr10">{{ item.num }}</view> | 
|---|
|  |  |  | <span>{{ item.unitName }}</span> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </u-swipe-action-item> | 
|---|
|  |  |  | </u-swipe-action> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <template v-else> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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="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 plr30"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </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 plr30"> | 
|---|
|  |  |  | <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_top"> | 
|---|
|  |  |  | <div class="bg_list_item_top_left"> | 
|---|
|  |  |  | <div class="bg_list_item_top_left_x bg_m"></div> | 
|---|
|  |  |  | <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="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> | 
|---|
|  |  |  | <div class="bg_list_item_h mb40 "> | 
|---|
|  |  |  | <div class="bg_list_item_num plr30" style="display: block;"> | 
|---|
|  |  |  | <div class="bX ptb15"> | 
|---|
|  |  |  | <div class="f30 c2">预计工资</div> | 
|---|
|  |  |  | <div class="f28" style="color:#4275FC">{{ (performance.salary / 10 / 10).toFixed(2) }}元</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="f24 c6"> | 
|---|
|  |  |  | {{ performance.salaryType == 0 ? '计件' : '计时' }} | | 
|---|
|  |  |  | {{ (performance.salaryPrice / 10 / 10).toFixed(2) }}元/{{ performance.salaryType == | 
|---|
|  |  |  | 0 ? '件' : '时' }} | | 
|---|
|  |  |  | 达标率:{{ complianceRate }}% | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <span>{{ item.attrName }}:{{ item.val }}</span> | 
|---|
|  |  |  | <span>{{ item.userName }} {{ item.createTime }}</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </u-swipe-action-item> | 
|---|
|  |  |  | </u-swipe-action> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bl_list_item_right"> | 
|---|
|  |  |  | <input type="number" @click.stop v-model="item.num" placeholder="0" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="flex ap tc bottom-view"> | 
|---|
|  |  |  | <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">确定</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </u-popup> | 
|---|
|  |  |  | <div v-else class="bg_list"> | 
|---|
|  |  |  | <template v-if="djData && djData.length > 0"> | 
|---|
|  |  |  | <div class="details_dj"> | 
|---|
|  |  |  | <div class="details_dj_list"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </scroll-view> --> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <template v-else> | 
|---|
|  |  |  | <div class="kong"> | 
|---|
|  |  |  | <span>暂无数据</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import workOrderInfo from '@/components/workOrderInfo.vue' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getBarcodeContent, | 
|---|
|  |  |  | queryById, | 
|---|
|  |  |  | getOrocessRecord, | 
|---|
|  |  |  | deleteCT, | 
|---|
|  |  |  | updateById, | 
|---|
|  |  |  | comfirmDone, | 
|---|
|  |  |  | comfirmDoneStandard, | 
|---|
|  |  |  | getListByCondition, | 
|---|
|  |  |  | allForStandard, | 
|---|
|  |  |  | pageDJ, | 
|---|
|  |  |  | deletedj, | 
|---|
|  |  |  | dealWorkorderRecordStandard, | 
|---|
|  |  |  | getWorkorderRecordListStandard, | 
|---|
|  |  |  | createMaterial, | 
|---|
|  |  |  | createMaterialStandard | 
|---|
|  |  |  | } from '@/util/api/WorkOrderAPI' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | categoryExtList, | 
|---|
|  |  |  | queryOne, | 
|---|
|  |  |  | queryList | 
|---|
|  |  |  | } from '@/util/api/PlanningAPI' | 
|---|
|  |  |  | import { REGULAR } from '@/util/utils' | 
|---|
|  |  |  | import workOrderInfo from '@/components/workOrderInfo.vue' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getBarcodeContent, | 
|---|
|  |  |  | queryById, | 
|---|
|  |  |  | getOrocessRecord, | 
|---|
|  |  |  | deleteCT, | 
|---|
|  |  |  | updateById, | 
|---|
|  |  |  | comfirmDone, | 
|---|
|  |  |  | comfirmDoneStandard, | 
|---|
|  |  |  | getListByCondition, | 
|---|
|  |  |  | allForStandard, | 
|---|
|  |  |  | pageDJ, | 
|---|
|  |  |  | deletedj, | 
|---|
|  |  |  | dealWorkorderRecordStandard, | 
|---|
|  |  |  | getWorkorderRecordListStandard, | 
|---|
|  |  |  | createMaterial, | 
|---|
|  |  |  | createMaterialStandard | 
|---|
|  |  |  | } from '@/util/api/WorkOrderAPI' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | categoryExtList, | 
|---|
|  |  |  | queryOne, | 
|---|
|  |  |  | queryList | 
|---|
|  |  |  | } from '@/util/api/PlanningAPI' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | REGULAR | 
|---|
|  |  |  | } from '@/util/utils' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | components: { | 
|---|
|  |  |  | workOrderInfo | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | cate: [{ | 
|---|
|  |  |  | name: '生产' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: '点检' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | split: ' / ', | 
|---|
|  |  |  | workorderId: '', | 
|---|
|  |  |  | cate: [{ | 
|---|
|  |  |  | name: '生产' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: '点检' | 
|---|
|  |  |  | }], | 
|---|
|  |  |  | form: { | 
|---|
|  |  |  | time: '', | 
|---|
|  |  |  | efective: [], | 
|---|
|  |  |  | 
|---|
|  |  |  | duration: 0, | 
|---|
|  |  |  | type: 0, | 
|---|
|  |  |  | index: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | info: {}, | 
|---|
|  |  |  | TimeShow: false, | 
|---|
|  |  |  | badShow: false, | 
|---|
|  |  |  | 
|---|
|  |  |  | qualified: '', // 合格 | 
|---|
|  |  |  | undesirableId: '', | 
|---|
|  |  |  | undesirable: 5 // 不良 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | pages: { | 
|---|
|  |  |  | capacity: 10, | 
|---|
|  |  |  | page: 1, | 
|---|
|  |  |  | total: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | djData: [], | 
|---|
|  |  |  | cateList: [], | 
|---|
|  |  |  | finished: true, | 
|---|
|  |  |  | cateList: [], | 
|---|
|  |  |  | finished: true, | 
|---|
|  |  |  | performance: {} | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(obj) { | 
|---|
|  |  |  | this.workorderId = obj.id | 
|---|
|  |  |  | this.queryByIds() | 
|---|
|  |  |  | this.getOrocessRecords() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(obj) { | 
|---|
|  |  |  | this.workorderId = obj.id | 
|---|
|  |  |  | this.queryByIds() | 
|---|
|  |  |  | this.getOrocessRecords() | 
|---|
|  |  |  | this.getData() | 
|---|
|  |  |  | uni.$on('spotAdd', () => { | 
|---|
|  |  |  | if (this.typeView == 1) { | 
|---|
|  |  |  | this.pages.page = 1 | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | this.getOrocessRecordCC() | 
|---|
|  |  |  | uni.$on('spotAdd', () => { | 
|---|
|  |  |  | if (this.typeView == 1) { | 
|---|
|  |  |  | this.pages.page = 1 | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | expectedSalary() { | 
|---|
|  |  |  | if (this.arrType.length === 0) return 0; | 
|---|
|  |  |  | // 按件计算 | 
|---|
|  |  |  | if (this.arrType[this.form.index].type == 0) { | 
|---|
|  |  |  | if (!this.produceFrom.qualified) return 0 | 
|---|
|  |  |  | if (this.arrType[this.form.index].unqualified == 1) { // 是否计入不良品 | 
|---|
|  |  |  | let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable) | 
|---|
|  |  |  | return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0 | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed( | 
|---|
|  |  |  | 2) || 0 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | if (!this.form.duration) return 0; | 
|---|
|  |  |  | let h = (this.form.duration / 60 / 60).toFixed(2) | 
|---|
|  |  |  | return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | complianceRate() { | 
|---|
|  |  |  | 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 (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) | 
|---|
|  |  |  | complianceRate() { | 
|---|
|  |  |  | if (!this.performance) return 0; | 
|---|
|  |  |  | let {duration, salaryNum, salaryTimes, qualifiedNum, unqualifiedNum, salaryUnqualified} = this.performance | 
|---|
|  |  |  | // 报工时长 | 
|---|
|  |  |  | if (!duration) return 0; | 
|---|
|  |  |  | // 报工数量 | 
|---|
|  |  |  | if (!qualifiedNum && !unqualifiedNum) return 0; | 
|---|
|  |  |  | // 标准数量、时长 | 
|---|
|  |  |  | if (!salaryNum || !salaryTimes) return 0 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (salaryUnqualified == 1) { // 是否计入不良品 | 
|---|
|  |  |  | let a = ((Number(qualifiedNum) + Number(unqualifiedNum)) / (duration / 3600)).toFixed(2) | 
|---|
|  |  |  | let b = (salaryNum / (salaryTimes / 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) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | let a = (qualifiedNum / (duration / 3600)).toFixed(2) | 
|---|
|  |  |  | let b = (salaryNum / (salaryTimes / 3600)).toFixed(2) | 
|---|
|  |  |  | return ((Number(a) / Number(b)) * 100).toFixed(2) | 
|---|
|  |  |  | // return Number(from.qualified) * infoBox.value.salary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | getData() { | 
|---|
|  |  |  | categoryExtList({ | 
|---|
|  |  |  | cateType: "3" | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | res.data.forEach(item => { | 
|---|
|  |  |  | item.active = false | 
|---|
|  |  |  | item.num = '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.cateList = res.data | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | getData() { | 
|---|
|  |  |  | categoryExtList({ | 
|---|
|  |  |  | cateType: "3" | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | res.data.forEach(item => { | 
|---|
|  |  |  | item.active = false | 
|---|
|  |  |  | item.num = '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.cateList = res.data | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | clickIten(index) { | 
|---|
|  |  |  | this.typeView = index | 
|---|
|  |  |  | if (this.typeView == 1) { | 
|---|
|  |  |  | this.pages.page = 1 | 
|---|
|  |  |  | this.finished = true | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | this.typeView = index | 
|---|
|  |  |  | if (this.typeView == 1) { | 
|---|
|  |  |  | this.pages.page = 1 | 
|---|
|  |  |  | this.finished = true | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getLists() { | 
|---|
|  |  |  | if (!this.finished) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.finished = false | 
|---|
|  |  |  | this.pages.page += 1 | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | if (!this.finished) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.finished = false | 
|---|
|  |  |  | this.pages.page += 1 | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | timeConfirm({ | 
|---|
|  |  |  | value | 
|---|
|  |  |  | 
|---|
|  |  |  | if (type === 'T') { | 
|---|
|  |  |  | if (unitAttribute == 0 && num != '') { | 
|---|
|  |  |  | if (!REGULAR.positiveInteger.test(num)) { | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | uni.$u.toast('只能输入正整数') | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (unitAttribute == 1 && num != '') { | 
|---|
|  |  |  | if (!REGULAR.number.test(num)) { | 
|---|
|  |  |  | if (!REGULAR.number.test(num)) { | 
|---|
|  |  |  | uni.$u.toast('只能输入正整数或小数(最多四位)') | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (num > maxNum) { | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | uni.$u.toast('超出工装总数') | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (type === 'C' && num > info.value.planNum) { | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | obj.num = obj.ynum | 
|---|
|  |  |  | uni.$u.toast('产出数量不能超过计划数量') | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | clickPerformanceType(item, index) { | 
|---|
|  |  |  | this.form.index = index | 
|---|
|  |  |  | this.form.type = item.type | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | submit() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | submit() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | jumpdj() { | 
|---|
|  |  |  | jumpdj() { | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | proRecord() { | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}` | 
|---|
|  |  |  | url: `/pages_inspect/pages/InspectionRecords/InspectionRecords?id=${this.workorderId}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | pageDJs() { | 
|---|
|  |  |  | pageDJ({ | 
|---|
|  |  |  | capacity: this.pages.capacity, | 
|---|
|  |  |  | page: this.pages.page, | 
|---|
|  |  |  | model: { | 
|---|
|  |  |  | workorderId: this.workorderId | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | let {data} = res | 
|---|
|  |  |  | if (data.page == 1) { | 
|---|
|  |  |  | this.djData = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.djData.push(...data.records) | 
|---|
|  |  |  | // loading.value = false | 
|---|
|  |  |  | }).catch(err => { | 
|---|
|  |  |  | // loading.value = false | 
|---|
|  |  |  | // finished.value = true | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .finally(() => { | 
|---|
|  |  |  | this.finished = true | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | pageDJ({ | 
|---|
|  |  |  | capacity: this.pages.capacity, | 
|---|
|  |  |  | page: this.pages.page, | 
|---|
|  |  |  | model: { | 
|---|
|  |  |  | workorderId: this.workorderId | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | let { | 
|---|
|  |  |  | data | 
|---|
|  |  |  | } = res | 
|---|
|  |  |  | if (data.page == 1) { | 
|---|
|  |  |  | this.djData = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.djData.push(...data.records) | 
|---|
|  |  |  | // loading.value = false | 
|---|
|  |  |  | }).catch(err => { | 
|---|
|  |  |  | // loading.value = false | 
|---|
|  |  |  | // finished.value = true | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .finally(() => { | 
|---|
|  |  |  | this.finished = true | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | dele(id) { | 
|---|
|  |  |  | deletedj(id) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | this.finished = false | 
|---|
|  |  |  | this.pages.page = 1 | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | this.finished = false | 
|---|
|  |  |  | this.pages.page = 1 | 
|---|
|  |  |  | this.pageDJs() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | confirm() { | 
|---|
|  |  |  | let isOpen = false | 
|---|
|  |  |  | this.cateList.forEach((item, index) => { | 
|---|
|  |  |  | if (item.active) { | 
|---|
|  |  |  | isOpen = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (!isOpen) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '请选择不良项', | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let arr = [] | 
|---|
|  |  |  | let total = 0 | 
|---|
|  |  |  | let name = '' | 
|---|
|  |  |  | this.cateList.forEach((item, index) => { | 
|---|
|  |  |  | if (item.active) { | 
|---|
|  |  |  | if (item.num <= 0) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '不良数量必须大于0', | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | total = total += item.num | 
|---|
|  |  |  | arr.push(item) | 
|---|
|  |  |  | name += item.name + item.num + ';' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (total != Number(this.produceFrom.undesirable)) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '不良数必须等于产出不良数', | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.form.defective = arr | 
|---|
|  |  |  | confirm() { | 
|---|
|  |  |  | let isOpen = false | 
|---|
|  |  |  | this.cateList.forEach((item, index) => { | 
|---|
|  |  |  | if (item.active) { | 
|---|
|  |  |  | isOpen = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (!isOpen) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '请选择不良项', | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let arr = [] | 
|---|
|  |  |  | let total = 0 | 
|---|
|  |  |  | let name = '' | 
|---|
|  |  |  | this.cateList.forEach((item, index) => { | 
|---|
|  |  |  | if (item.active) { | 
|---|
|  |  |  | if (item.num <= 0) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '不良数量必须大于0', | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | total = total += item.num | 
|---|
|  |  |  | arr.push(item) | 
|---|
|  |  |  | name += item.name + item.num + ';' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (total != Number(this.produceFrom.undesirable)) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '不良数必须等于产出不良数', | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.form.defective = arr | 
|---|
|  |  |  | this.form.defectiveName = name | 
|---|
|  |  |  | this.badShow = false | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeChecked(i) { | 
|---|
|  |  |  | this.cateList[i].active = !this.cateList[i].active | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | queryByIds() { | 
|---|
|  |  |  | queryById(this.workorderId) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | queryByIds() { | 
|---|
|  |  |  | queryById(this.workorderId) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | this.info = res.data | 
|---|
|  |  |  | queryList({ | 
|---|
|  |  |  | deleted: 0, | 
|---|
|  |  |  | departId: res.data.factoryId, | 
|---|
|  |  |  | materialId: res.data.materialId, | 
|---|
|  |  |  | procedureId: res.data.procedureId | 
|---|
|  |  |  | }).then(result => { | 
|---|
|  |  |  | if (result.code === 200) { | 
|---|
|  |  |  | if (result.data && result.data.length > 0) { | 
|---|
|  |  |  | result.data.forEach((item, index) => { | 
|---|
|  |  |  | item.name = item.type == 0 ? '计件' : '计时' | 
|---|
|  |  |  | item.id = item.type | 
|---|
|  |  |  | item.active = index == 0 | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.arrType = result.data | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.arrType = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getOrocessRecords() { | 
|---|
|  |  |  | this.feedingData = [] | 
|---|
|  |  |  | allForStandard({ | 
|---|
|  |  |  | workorderId: this.workorderId, | 
|---|
|  |  |  | type: 0 | 
|---|
|  |  |  | this.info = res.data | 
|---|
|  |  |  | queryList({ | 
|---|
|  |  |  | deleted: 0, | 
|---|
|  |  |  | departId: res.data.factoryId, | 
|---|
|  |  |  | materialId: res.data.materialId, | 
|---|
|  |  |  | procedureId: res.data.procedureId | 
|---|
|  |  |  | }).then(result => { | 
|---|
|  |  |  | if (result.code === 200) { | 
|---|
|  |  |  | if (result.data && result.data.length > 0) { | 
|---|
|  |  |  | result.data.forEach((item, index) => { | 
|---|
|  |  |  | item.name = item.type == 0 ? '计件' : '计时' | 
|---|
|  |  |  | item.id = item.type | 
|---|
|  |  |  | item.active = index == 0 | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.arrType = result.data | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.arrType = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getOrocessRecords() { | 
|---|
|  |  |  | this.feedingData = [] | 
|---|
|  |  |  | allForStandard({ | 
|---|
|  |  |  | workorderId: this.workorderId, | 
|---|
|  |  |  | type: 0 | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | this.feedingData = res.data | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getOrocessRecordCC() { | 
|---|
|  |  |  | getWorkorderRecordListStandard({ | 
|---|
|  |  |  | workorderId: this.workorderId | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | this.feedingData = res.data | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | jumpTL() { | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | // url: '' | 
|---|
|  |  |  | url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | debugger | 
|---|
|  |  |  | // console.log(res.data[0]); | 
|---|
|  |  |  | if (res.data.length > 0) { | 
|---|
|  |  |  | this.produceFrom.qualified = res.data[0].qualifiedNum | 
|---|
|  |  |  | this.produceFrom.undesirable = res.data[0].unqualifiedNum | 
|---|
|  |  |  | this.performance = res.data[0] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | jumpTL() { | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | // url: '' | 
|---|
|  |  |  | url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | height: 100vh; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg_cate { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | background: #FFFFFF; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // border-top: 20rpx solid #f7f7f7; | 
|---|
|  |  |  | .active { | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | color: #305ED5 !important; | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | margin-top: 30rpx; | 
|---|
|  |  |  | // margin-top: 30rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg_list_item { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | // margin-bottom: 40rpx; | 
|---|
|  |  |  | border-bottom: 40rpx #f7f7f7 solid; | 
|---|
|  |  |  | // border-bottom: 40rpx #f7f7f7 solid; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .kong { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  | background: #ffffff; | 
|---|
|  |  |  | font-size: 25rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | color: #474747; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg_list_item_top { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | padding-left: 30rpx; | 
|---|
|  |  |  | padding-right: 30rpx; | 
|---|
|  |  |  | margin-bottom: 30rpx; | 
|---|
|  |  |  | padding: 30rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg_list_item_top_left { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg_list_item_h { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | padding: 0 30rpx; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background: white; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | border-bottom: 1rpx solid #E5E5E5; | 
|---|
|  |  |  | padding: 15rpx 0; | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | border: none !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg_list_item_num { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | min-height: 98rpx; | 
|---|
|  |  |  | background: white; | 
|---|
|  |  |  | background: white; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | border-bottom: 1rpx solid #E5E5E5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | border: none !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .kong { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | font-size: 25rpx; | 
|---|
|  |  |  | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | // height: 118rpx; | 
|---|
|  |  |  | padding: 15rpx 0; | 
|---|
|  |  |  | // padding: 15rpx 0; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | border-bottom: 1rpx solid #E5E5E5; | 
|---|
|  |  |  | // border-bottom: 3rpx solid #111; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | border: none; | 
|---|
|  |  |  | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: flex-end; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | .color1 { | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | font-family: PingFangSC-Regular, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .kong { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  | // background: #ffffff; | 
|---|
|  |  |  | font-size: 25rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | color: #474747; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|